小编lin*_*ina的帖子

在python中保存依赖图

我在python3中使用stanford依赖解析器来解析一个句子,它返回一个依赖图.

import pickle
from nltk.parse.stanford import StanfordDependencyParser

parser = StanfordDependencyParser('stanford-parser-full-2015-12-09/stanford-parser.jar', 'stanford-parser-full-2015-12-09/stanford-parser-3.6.0-models.jar')
sentences = ["I am going there","I am asking a question"]
with open("save.p","wb") as f:
      pickle.dump(parser.raw_parse_sents(sentences),f)
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误:

AttributeError: Can't pickle local object 'DependencyGraph.__init__.<locals>.<lambda>'
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以使用或不使用pickle保存依赖图.

python pickle nltk dependency-graph

7
推荐指数
1
解决办法
1049
查看次数

nltk stanford依赖解析器抛出断言错误

我使用python3和nltk与stanford依赖解析器来解析句子列表.然后用句子收集所有节点信息.以下是我的代码,它在python3和一个名为.python的virtualenv环境中执行:

from nltk.parse.stanford import StanfordDependencyParser
parser = StanfordDependencyParser('stanford-parser-full-2015-12-09/stanford-parser.jar', 'stanford-parser-full-2015-12-09/stanford-parser-3.6.0-models.jar');
graph_nodes = sum([[dep_graph.nodes for dep_graph in dep_graphs] for dep_graphs in parser.raw_parse_sents(sentences)], []);
Run Code Online (Sandbox Code Playgroud)

我发现stanford依赖解析器不断在某些句子中抛出断言错误.这是我得到的错误:

    graph_nodes = sum([[dep_graph.nodes for dep_graph in dep_graphs] for dep_graphs in self.parser.raw_parse_sents(sentences)], []);
    File "/Users/user/sent_code/.python/lib/python3.5/site-packages/nltk/parse/stanford.py", line 150, in raw_parse_sents
return self._parse_trees_output(self._execute(cmd, '\n'.join(sentences), verbose))
    File "/Users/user/sent_code/.python/lib/python3.5/site-packages/nltk/parse/stanford.py", line 91, in _parse_trees_output
res.append(iter([self._make_tree('\n'.join(cur_lines))]))
    File "/Users/user/sent_code/.python/lib/python3.5/site-packages/nltk/parse/stanford.py", line 339, in _make_tree
return DependencyGraph(result, top_relation_label='root')
    File "/Users/user/sent_code/.python/lib/python3.5/site-packages/nltk/parse/dependencygraph.py", line 84, in __init__
top_relation_label=top_relation_label,
    File "/Users/user/sent_code/.python/lib/python3.5/site-packages/nltk/parse/dependencygraph.py", line 328, in _parse
assert cell_number == len(cells)
AssertionError
Run Code Online (Sandbox Code Playgroud)

然后我发现导致这个错误的句子.它是 : …

python nltk stanford-nlp dependency-parsing

6
推荐指数
0
解决办法
502
查看次数

tensorflow加载模型给出了不同的预测

我的代码是预测句子的情绪.我训练了一个CNN模型并保存了它.当我加载我的模型并尝试预测句子的情绪时,我对同一个句子有不同的预测.我的代码如下,当我尝试通过调用底部的函数predict_cnn_word2vec来预测sentene时,问题就出现了:

import logging;
import numpy as np; 
import tensorflow as tf;
import sklearn as sk
import re; 
import json
import string;
import math
import os
from sklearn.metrics import recall_score, f1_score, precision_score;



class CNN(object):
def __init__(self,logger):
    self.logger = logger; 


def _weight_variable(self,shape):
    initial = tf.truncated_normal(shape, stddev = 0.1); 
    return tf.Variable(initial);

def _bias_variable(self,shape):
    initial = tf.constant(0.1, shape = shape); 
    return tf.Variable(initial);

def _conv2d(self,x, W, b, strides=1):
    # convolve and relu activation
    x = tf.nn.conv2d(x, W, strides=[1, strides, strides, 1], padding='SAME');
    x = tf.nn.bias_add(x, …
Run Code Online (Sandbox Code Playgroud)

machine-learning sentiment-analysis conv-neural-network tensorflow

0
推荐指数
1
解决办法
1335
查看次数