gpt4 book ai didi

python - 斯坦福依赖解析器设置和 NLTK

转载 作者:太空狗 更新时间:2023-10-30 01:00:36 24 4
gpt4 key购买 nike

因此,由于 danger89 对上一篇文章 Stanford Parser and NLTK 的回答,我得到了“标准”斯坦福解析器。 .

但是,我现在正在尝试让依赖项解析器工作,但似乎上一个链接中突出显示的方法不再有效。这是我的代码:

import nltk
import os
java_path = "C:\\Program Files\\Java\\jre1.8.0_51\\bin\\java.exe"
os.environ['JAVAHOME'] = java_path


from nltk.parse import stanford
os.environ['STANFORD_PARSER'] = 'path/jar'
os.environ['STANFORD_MODELS'] = 'path/jar'
parser = stanford.StanfordDependencyParser(model_path="path/jar/englishPCFG.ser.gz")

sentences = parser.raw_parse_sents(nltk.sent_tokenize("The iPod is expensive but pretty."))

我收到以下错误:“模块”对象没有属性“StanfordDependencyParser”

我唯一改变的是“StanfordParser”中的“StanfordDependencyParser”。我有什么想法可以让它发挥作用吗?

我还通过导入它尝试了斯坦福神经依赖解析器,如此处的文档所示:http://www.nltk.org/_modules/nltk/parse/stanford.html

这个也没用。

NLTK 的新手。在此先感谢您提供任何有用的意见。

最佳答案

StanfordDependencyParser API 是自 NLTK 3.1 版以来创建的新类对象。

确保您通过 pip 获得最新的 NLTK

pip install -U nltk

或通过您的 linux 包管理器,例如:

sudo apt-get python-nltk

或在 Windows 中,下载 https://pypi.python.org/pypi/nltk并安装,它应该会覆盖您以前的 NLTK 版本。

然后您可以使用文档中显示的 API:

from nltk.parse.stanford import StanfordDependencyParser
dep_parser=StanfordDependencyParser(model_path="edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz")
print [parse.tree() for parse in dep_parser.raw_parse("The quick brown fox jumps over the lazy dog.")]

[输出]:

[Tree('jumps', [Tree('fox', ['The', 'quick', 'brown']), Tree('dog', ['over', 'the', 'lazy'])])]

(注意:确保你的 jar 和 os.environ 路径正确,在 Windows 中,它是 something\\something\\some\\path,在unix 是 something/something/some/path)

另见 https://github.com/nltk/nltk/wiki/Installing-Third-Party-Software#stanford-tagger-ner-tokenizer-and-parser当您需要 TL;DR 解决方案时,请参阅 https://github.com/alvations/nltk_cli

关于python - 斯坦福依赖解析器设置和 NLTK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34053021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com