Max*_*Max 5 python nlp nltk stanford-nlp
所以我得到了"标准"斯坦福分析师的工作,感谢危险89对前一篇文章斯坦福分析师和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."))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:'module'对象没有属性'StanfordDependencyParser'
我唯一改变的是"StanfordParser"中的"StanfordDependencyParser".任何想法我怎么能让这个工作?
我还尝试了Stanford Neural Dependency解析器,如下面的文档中所示:http://www.nltk.org/_modules/nltk/parse/stanford.html
这个也不起作用.
非常新的NLTK.提前感谢任何有用的输入.
该StanfordDependencyParser
API是自NLTK 3.1版中创建一个新的类对象.
确保您通过pip获得最新的NLTK
pip install -U nltk
Run Code Online (Sandbox Code Playgroud)
或者通过你的linux包管理器,例如:
sudo apt-get python-nltk
Run Code Online (Sandbox Code Playgroud)
或者在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.")]
Run Code Online (Sandbox Code Playgroud)
[OUT]:
[Tree('jumps', [Tree('fox', ['The', 'quick', 'brown']), Tree('dog', ['over', 'the', 'lazy'])])]
Run Code Online (Sandbox Code Playgroud)
(注意:确保你获得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
如果您唯一更改的是“StanfordDependencyParser”并且错误指出:module' object has no attribute 'StanfordDependencyParser'
我认为将StanfordDependencyParser
其更改为错误的内容。您是否逐字复制了链接到的所有代码?
归档时间: |
|
查看次数: |
8088 次 |
最近记录: |