NLTK CoreNLPDependencyParser:无法建立连接

时间:2017-12-01 00:15:13

标签: python nlp nltk stanford-nlp

我正在尝试通过NLTK使用Stanford Parser,遵循示例here

我按照示例的前两行(带有必要的导入)

from nltk.parse.corenlp import CoreNLPDependencyParser
dep_parser = CoreNLPDependencyParser(url='http://localhost:9000')
parse, = dep_parser.raw_parse('The quick brown fox jumps over the lazy dog.')

但我收到错误说:

[...] Failed to establish a new connection: [Errno 61] Connection refused"

我意识到尝试连接到作为构造函数输入的url一定是个问题。

dep_parser = CoreNLPDependencyParser(url='http://localhost:9000')

如果不是这个,我应该连接什么网址?如果这是正确的,那么问题是什么?

1 个答案:

答案 0 :(得分:2)

您需要先在java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000 下载并运行CoreNLP服务器。

1)在https://stanfordnlp.github.io/CoreNLP/download.html下载CoreNLP 2)将文件解压缩到某个目录,然后在该目录中运行以下命令以启动服务器

>>> print(parse.to_conll(4))
The DT  4   det
quick   JJ  4   amod
brown   JJ  4   amod
fox NN  5   nsubj
jumps   VBZ 0   ROOT
over    IN  9   case
the DT  9   det
lazy    JJ  9   amod
dog NN  5   nmod
.   .   5   punct

参考:https://stanfordnlp.github.io/CoreNLP/corenlp-server.html

上面代码的结果就像

CORENLP_HOME

您也可以通过NLTK API启动服务器(首先需要配置os.environ["CORENLP_HOME"] = "dir" client = corenlp.CoreNLPClient() # do something client.stop() 环境变量)

.panel-grid.panel-no-style {
    display: flex;
    -ms-flex-wrap: wrap; // this 
    flex-wrap: nowrap; // And this line do the same but have different values
    -ms-justify-content: space-between;
    justify-content: space-between;
}