是否可以在NLTK中使用Stanford Parser?(我不是在谈论斯坦福POS.)
有这个:
text = word_tokenize("The quick brown fox jumps over the lazy dog")
Run Code Online (Sandbox Code Playgroud)
并运行:
nltk.pos_tag(text)
Run Code Online (Sandbox Code Playgroud)
我明白了:
[('The', 'DT'), ('quick', 'NN'), ('brown', 'NN'), ('fox', 'NN'), ('jumps', 'NNS'), ('over', 'IN'), ('the', 'DT'), ('lazy', 'NN'), ('dog', 'NN')]
Run Code Online (Sandbox Code Playgroud)
这是不正确的.quick brown lazy句子中的标签应为:
('quick', 'JJ'), ('brown', 'JJ') , ('lazy', 'JJ')
Run Code Online (Sandbox Code Playgroud)
我无法在NLTK中导入NER Stanford Tagger.这就是我所做的:
从这里下载了java代码,
并添加了一个环境变量STANFORD_MODELS,其中包含存储java代码的文件夹的路径.
根据NLTK网站上提供的信息,这应该足够了.它说:
"Tagger模型需要从http://nlp.stanford.edu/software和STANFORD_MODELS环境变量集(以冒号分隔的路径列表)下载."
请问有人帮助我吗?
编辑:下载的文件夹位于/ Users/-----------/Documents/JavaJuno/stanford-ner-2015-04-20并包含以下文件:
LICENSE.txt lib ner.sh stanford-ner-3.5.2-javadoc.jar
NERDemo.java ner-gui.bat sample-conll-file.txt stanford-ner-3.5.2-sources.jar
README.txt ner-gui.command sample-w-time.txt stanford-ner-3.5.2.jar
build.xml ner-gui.sh sample.ner.txt stanford-ner.jar
classifiers ner.bat sample.txt
Run Code Online (Sandbox Code Playgroud)
然后我添加了一个环境变量STANFORD_MODELS:
os.environ["STANFORD_MODELS"] = "/Users/-----------/Documents/JavaJuno/stanford-ner-2015-04-20"
Run Code Online (Sandbox Code Playgroud)
从nltk.tag导入调用StanfordNERTagger会产生错误:
ImportError Traceback (most recent call last)
<ipython-input-356-f4287e573edc> in <module>()
----> 1 from nltk.tag import StanfordNERTagger
ImportError: cannot import name StanfordNERTagger
Run Code Online (Sandbox Code Playgroud)
如果这可能是相关的,这就是我的nltk.tag文件夹中的内容:
__init__.py api.pyc crf.py hmm.pyc senna.py sequential.pyc stanford.py tnt.pyc
__init__.pyc brill.py crf.pyc hunpos.py senna.pyc simplify.py stanford.pyc util.py
api.py brill.pyc hmm.py …Run Code Online (Sandbox Code Playgroud) 我在Ubuntu 13.10中安装了python(2.7.5)和python-nltk软件包.运行apt-cache policy python-nltk回报:
python-nltk:
Installed: 2.0~b9-0ubuntu4
Run Code Online (Sandbox Code Playgroud)
根据斯坦福大学的网站,2.0 +应该有stanford模块.然而,当我尝试导入它时,我收到一个错误:
>>> import nltk.tag.stanford
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named stanford
Run Code Online (Sandbox Code Playgroud)
我如何获得stanford模块?(最好通过通常的存储库,因为我不喜欢在Ubuntu包管理器之外安装软件.)