我正在尝试在长文本上运行pycorenlp并获得CoreNLP请求超时.您的文档可能太长错误消息.怎么解决?有没有办法增加Stanford CoreNLP的超时时间?
我不想将文本分成较小的文本.
这是我使用的代码:
'''
From https://github.com/smilli/py-corenlp/blob/master/example.py
'''
from pycorenlp import StanfordCoreNLP
import pprint
if __name__ == '__main__':
nlp = StanfordCoreNLP('http://localhost:9000')
fp = open("long_text.txt")
text = fp.read()
output = nlp.annotate(text, properties={
'annotators': 'tokenize,ssplit,pos,depparse,parse',
'outputFormat': 'json'
})
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(output)
Stanford Core NLP Server使用以下方式启动:
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer 9000
解决方法:
您可以在属性字典中添加’timeout’:’50000′(单位为ms):
output = nlp.annotate(text, properties={
'timeout': '50000',
'annotators': 'tokenize,ssplit,pos,depparse,parse',
'outputFormat': 'json'
})
否则,您可以启动指定超时的Stanford Core NLP服务器:
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 50000
(documentation没有提到超时参数,也许他们忘了添加它,它至少出现在stanford-corenlp-full-2015-12-09, a.k.a. 3.6.0.,这是最新的公开发布)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。