使用nltk + Stanford parser生成句法树

在自然语言处理中,句法树是比较有用的特征,特别是生成最短依赖路径SDP。

  1. 首先我们要去官网下载jar包。有多种语言可选,也可以下载完整版。
  2. 我们下好了之后,解压stanford-parser-full-2018-02-27.zip文件,我们需要其中的如下几个文件:
    • stanford-parser-3.9.1-models.jar
    • stanford-parser.jar
    • 解压stanford-parser-3.9.1-models.jar,找到里面你的edu/stanford/nlp/models/lexparser/chinesePCFG.ser.gz
  3. 因为这里使用了jar包,需要java1.8环境,如果没有这个环境去安装下。

找到着3个关键文件,就可以解析了。

from nltk.parse import stanford

full_path = u"" #那三个文件的系统全路径目录
self.parser = stanford.StanfordParser( # 加载解析器,注意:一定要是全路径,从系统根路径开始,不然找不到
path_to_jar=full_path + u"/stanford-parser.jar",
path_to_models_jar=full_path +u"/stanford-parser-3.9.1-models.jar",
model_path=full_path +u'/chinesePCFG.ser.gz')

# sentence是分词后的句子,当然它也支持输入未分词的句子,但是一般情况下,我会自己分词
res = list(self.parser.parse(sentence))

你可能感兴趣的:(NLP)