查找原因
在跑sirfank关键词抽取代码时遇到了这个问题,定位原因出在“self.tokens_tagged = model.pos_tag(text)
”这句代码中,而本来“model = StanfordCoreNLP(r'../stanford-corenlp-4.5.4',quiet=True)
”,所以可以知道是 stanfordcorenlp这个文件处有问题。
在网络上搜索,问题大致可以分为两类:
- 有些文本可以跑,有些不可以跑——基本上可以肯定是句子长度的问题,有些输入过长,在处理的时候会超时,可以通过更改文件corenlp.py文件参数properties解决。【参考博客】
- 都不可以跑——有可能是编码问题(解决方案:在py文件最上方采用utf-8编码
-*- coding: utf-8 -*-
;或参考博客)?但是绝大多数都是新版本stanford-corenlp-4.5.4的问题,需要更换旧版本stanford-corenlp。
解决方案
试了一下文本长度,无论长短都不能运行,因此可以锁定我的问题主要就出在stanford的版本问题,之前是standford-4.5.4,然后改成了stanford-corenlp-full-2018-02-27,能够正常运行:
现在将压缩包分享出来,有需要的同学自取~
stanford-corenlp-full-2018-02-27 【链接: https://pan.baidu.com/s/1bmyGNUpMyuWoOISD8MkD7Q?pwd=5g8y 提取码: 5g8y】
最后记得将代码model = StanfordCoreNLP('stanford-corenlp-full-2018-02-27的路径',quiet=True)
改一下~