python 调用 Stanford NLP 的问题
2016-12-12 22:04
417 查看
参考资料:http://www.it165.net/pro/html/201611/76661.html
说明操作的环境:系统是Ubuntu 16.04, IDE 采用Pycharm
1. 英语句子的词性标记
需要的操作步骤:在stanford NLP网页下载 stanford-postagger-2015-12-09.zip 抽取(解压)后文件夹为stanford-postagger-2015-12-09, 在主文件夹下新建nlpTools/stanfordNLTK文件夹, 将stanford-postagger-2015-12-09 下文件models和stanford-postagger-3.6.0.jar放到文件夹stanfordNLTK下, 运行代码:
2. 英语句子的依存分析(解析的结果错误百出,还不太明白原因)
下载的stanford-parser-full-2015-12-09.zip 抽取 (解压)stanford-parser-full-2015-12-09, 进入该文件夹,将slf4j-api.jar,stanford-parser.jar 和 stanford-parser-3.6.0-models.jar 放到文件夹 stanfordNLTK 下, 在stanford-parser-full-2015-12-09 下解压(抽取)stanford-parser-3.6.0-models.jar 文件
为stanford-parser-3.6.0-models, 路径为stanford-parser-3.6.0-models/edu/stanford/nlp/odels/lexparser, 将该文件下的englishPCFG.ser.gz 放到 stanfordNLTK文件夹下, 运行代码:
运行的结果有错误:
我将此句子放到:http://nlp.stanford.edu:8080/corenlp/process
仔细观察可得,两个结果是不一致的,都是斯坦福的工具解析的结果,我不太明白错误在哪儿?
待明确后补充
说明操作的环境:系统是Ubuntu 16.04, IDE 采用Pycharm
1. 英语句子的词性标记
需要的操作步骤:在stanford NLP网页下载 stanford-postagger-2015-12-09.zip 抽取(解压)后文件夹为stanford-postagger-2015-12-09, 在主文件夹下新建nlpTools/stanfordNLTK文件夹, 将stanford-postagger-2015-12-09 下文件models和stanford-postagger-3.6.0.jar放到文件夹stanfordNLTK下, 运行代码:
from nltk.tag import StanfordPOSTagger model_filename='/home/ubuntu/nlpTools/stanfordNLTk/models/english-bidirectional-distsim.tagger' path_to_jar='/home/ubuntu/nlpTools/stanfordNLTk/stanford-postagger.jar' def getPos(sent): eng_tagger = StanfordPOSTagger(model_filename, path_to_jar) print(eng_tagger.tag(sent.split())) if __name__ == '__main__': getPos('I am a student.')
2. 英语句子的依存分析(解析的结果错误百出,还不太明白原因)
下载的stanford-parser-full-2015-12-09.zip 抽取 (解压)stanford-parser-full-2015-12-09, 进入该文件夹,将slf4j-api.jar,stanford-parser.jar 和 stanford-parser-3.6.0-models.jar 放到文件夹 stanfordNLTK 下, 在stanford-parser-full-2015-12-09 下解压(抽取)stanford-parser-3.6.0-models.jar 文件
为stanford-parser-3.6.0-models, 路径为stanford-parser-3.6.0-models/edu/stanford/nlp/odels/lexparser, 将该文件下的englishPCFG.ser.gz 放到 stanfordNLTK文件夹下, 运行代码:
from nltk.parse.stanford import StanfordDependencyParser eng_parser = StanfordDependencyParser('/home/ubuntu/nlpTools/stanfordNLTk/stanford-parser.jar','/home/ubuntu/nlpTools/stanfordNLTk/stanford-parser-3.6.0-models.jar','/home/ubuntu/nlpTools/stanfordNLTk/englishPCFG.ser.gz') res = list(eng_parser.parse('the quick brown fox jumps over the lazy dog'.split())) for row in res[0].triples(): print(row)
运行的结果有错误:
我将此句子放到:http://nlp.stanford.edu:8080/corenlp/process
仔细观察可得,两个结果是不一致的,都是斯坦福的工具解析的结果,我不太明白错误在哪儿?
待明确后补充
相关文章推荐
- 尝试在PYTHON中调用StanfordNLP,具体代码如下
- windows python调用Stanford nlp tools经验
- Python调用DLL问题请教
- Python for .net脚本调用dotnet框架(ref和out参数问题)
- shell脚本调用python脚本的路径问题
- RPC利器——PHPRPC(解决PHP调用python问题)
- Python调用MySQLdb插入中文乱码的问题
- 非常恶心的一个python 调用webservice问题
- Python下调用json.dumps中文显示问题解决办法
- python中使用list作为默认参数且调用时不给其赋值的问题
- C++调用python时 debug链接错误python_d.lib无法解析的问题
- c++调用python链接问题及解决
- Python调用DLL问题请教
- python模块包调用问题
- C++调用python的debug版本编译问题
- shell脚本调用python脚本的路径问题
- windows下使用gcc调用python的问题
- windows下使用gcc调用python的问题
- 有关python调用dll的问题,指针传递的问题
- python 调用smtplib输出重定向问题