zoukankan      html  css  js  c++  java
  • 记stanford-corenlp的使用

    本文主要参考https://zhuanlan.zhihu.com/p/42200126解决了我的问题。

    首先一定要下载正确包,我之前下载的是stanford-parser-full-2016-10-31这个,虽然也可以做依存句法分析,但不是我要的内容(害,就是想修改数据集,复现论文发现不行)。困了两天,发现正确的包应该是stanford-corenlp-full-2016-10-31。然后再将中文包下载好放到前面corenlp那个包中,就可以啦。

    存在的问题是,用之前的parser包,下面的代码一直在运行(几个小时),但也不报错,修改了corenlp.py中的post端口也不行。使用命令行 java -mx1g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9011 -timeout 1500也不行,报错找不到加载主类。

    from stanfordcorenlp import StanfordCoreNLP
    
    #nlp = StanfordCoreNLP(r'./stanford-parser/', lang='zh')  ##之前搞错的
    nlp = StanfordCoreNLP(r'./stanford-corenlp/', lang='zh')
    
    sent = "哈尔滨是黑龙江的省会"
    
    #print(nlp.parse(sent))
    print(nlp.ner(sent))
    print(nlp.dependency_parse(sent))
    nlp.close()

    一定要安装正确的包!!!

    然后就出现了一个小问题---无法显示中文,如[(' ', 'DATE'), (' ', 'O')]。

    解决方法:找到安装的stanford CoreNLP包下的corenlp.py文件,找到对应的方法ner();word_tokenize();pos_tag() 将方法中出现的token['originalText']改为token['word']

  • 相关阅读:
    学习笔记
    .net $&替换正则查找到的内容
    sql 常用日期函数
    2010学习计划
    优化存储过程
    sql server 标量值函数
    job88数据库操作
    .net 调用有返回值的存储过程
    GridView 18种操作
    SQLite的局限性
  • 原文地址:https://www.cnblogs.com/harbin-ho/p/13713284.html
Copyright © 2011-2022 走看看