我使用CoreNLPParser逐句解析中文文本,但得到了 requests.exceptions.HTTPError 。当遇到长句子时。
我注意到官方文件说:长句子耗尽了处理时间和记忆力。这就是为什么request.exceptions.HTTPError升高的原因?
我想解析这些长句子时该怎么办?
我的代码是:
from nltk.parse import CoreNLPParser
parser = CoreNLPParser('http://localhost:9001')
for seg_sent in sentences:
tree = parser.raw_parse(seg_sent)
句子很长时,例如:
例如,,从一棵大柳树上剪下几根枝条插进土里里,枝条就会长成一株株活泼可爱的小柳树;许多新鲜的马铃薯;把仙人掌切成几块,每块落地不久就会会生根,长成新的仙人掌……因此,有些植物还可以通过压条或嫁接培育培育后代。
或
为了人类能够生活在一个“和而不同”的世界上,从现在开始就必须提倡在审美的,人文的基础上,在人们的社会活动中树立起一个“美美与共”的文化文化态,这是人们思想观念上的一个领域深刻的大转变,它可能与当前世界上很多人的习惯的思维模式和行为方式相抵触。。
错误将引发:
File "Parser.py", line 222, in BuildTree
tree = parser.raw_parse(seg_sent)
File "/usr/local/lib/python3.5/dist-packages/nltk/parse/corenlp.py", line 229, in raw_parse
[sentence], properties=default_properties, *args, **kwargs
File "/usr/local/lib/python3.5/dist-packages/nltk/parse/corenlp.py", line 284, in raw_parse_sents
parsed_data = self.api_call('\n'.join(sentences), properties=default_properties)
File "/usr/local/lib/python3.5/dist-packages/nltk/parse/corenlp.py", line 250, in api_call
response.raise_for_status()
File "/usr/lib/python3/dist-packages/requests/models.py", line 840, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://localhost:9001/?properties=%7B%22annotators%22%3A+%22tokenize%2Cpo2Clemma%2Cssplit%2Cparse%22%2C+%22ssplit.ssplit.eolonly%22%3A+%22true%22%2C+%22outputFormat%22%3A+%22json%22%2C+%22tokenize.whitespace%22%3A+%22false%22%
我是编程新手,所以请以一种简单的方式说明原因。非常感谢您的回复。谢谢〜