- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有更快的方法来实现 CoreNLPParser
或者我应该通过另一个库与 API 交互吗? 或者我应该翻阅 Java 书籍吗?
我有一个包含 6500 个句子的语料库,我正在通过 nltk.parse.corenlp
中的 CoreNLPParser
方法运行。我已将我正在做的所有其他事情从我的主项目中分离出来,以测试我之前编写的 tree_height
函数。但是,速度是一样的——事实上,这个过程需要15分钟以上才能完成。
这是我的 tree_height
函数:
from nltk.parse.corenlp import CoreNLPParser
Parser = CoreNLPParser(url='http://localhost:9000')
def tree_height(tokenized_sent):
ddep = Parser.raw_parse(tokenized_sent)
for i in ddep:
sent_height = i.height()
return sent_height
我正在解析西类牙语句子并且之前使用以下命令启动了 CoreNLP 服务器:
java -mx10g -cp "*"edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties StanfordCoreNLP-spanish.properties -port 9000 -timeout 15000
我也尝试过将 mx3g
部分更改为 mx5g
,这似乎没有太大区别。
我看过 this discussion on GitHub并且正在运行最新版本的 StanfordCoreNLP。
---更新---
我担心我的脚本执行缓慢的原因是效率低下或代码编写不当——所以我试图通过以下方式找出我的代码的低效之处:
tree_height
函数,发现速度没有差异(花费的时间与就像我开始隔离代码之前一样)。最佳答案
好的,下面是我们正在开发的 Python 接口(interface)的描述。要获得最新版本,您必须从 GitHub 下载并按照安装说明进行操作(很容易理解!!)
转到 GitHub 并克隆 Python 接口(interface)存储库:
https://github.com/stanfordnlp/python-stanford-corenlp
cd 进入目录并输入 python setup.py install
(很快我们将使用 conda
和 pip
等进行设置...,但目前它仍在开发中...您可以获得旧版本现在在 pip 上)
在单独的终端窗口中,启动 Java 服务器:
java -Xmx4g edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties StanfordCoreNLP-spanish.properties -port 9000 -timeout 15000
注意:确保在您的 CLASSPATH
中包含所有必需的 jar,或者使用 -cp "*"
选项从包含所有适当 jar 的目录中运行.
运行这段 Python 代码:
import corenlp
client = corenlp.CoreNLPClient(start_server=False, annotators=["tokenize", "ssplit", "pos", "depparse"])
# there are other options for "output_format" such as "json"
# "conllu", "xml" and "serialized"
ann = client.annotate(u"...", output_format="text")
ann
将包含最终注释信息(包括依赖项解析)...这应该比您报告的内容快得多...请尝试一下并告诉我。
关于python - 在 Python 中加速 Stanford 依赖解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51366811/
我和我的 friend 正在使用 turtle 开发 Python 游戏。我们的问题在定义 turtle 的部分。我们正在尝试加快每只 turtle 的速度,但当我们这样做时,默认速度运行。为什么会出
我是一名优秀的程序员,十分优秀!