如何使用Stanford NER的Python API?

时间:2016-03-17 11:20:03

标签: python jar nltk stanford-nlp

  • Windows 7
  • Python 2.7.10
  • NLTK 3.1
  • Stanford NER 3.6(2015-12-09)

问题

我使用斯坦福NER培训了一个定制的NER模型并得到了一个序列化模型。然后我尝试使用该模型通过NLTK提供的Python API在看不见的语料库上执行NER。

根据documentation,我应该指定模型的路径和stanford-ner.jar的路径。但是,我需要指定stanford-ner.jar的路径和slf4j-api.jar的路径,因为Stanford NER需要记录模块。

我无法弄清楚如何在NLTK API中指定两个路径。构造函数有两个参数,第一个是path/to/model,第二个是path/to/jar。我尝试连接两个jar路径,将它们放在一个列表和一个元组中,但没有一个方法有效。

如何告诉NLTK找到两个罐子以调用预测?

1 个答案:

答案 0 :(得分:1)

你能提供你试过的任何代码吗?通过查看source code from the nltk.tag.stanford module看起来你只需要使用模型和stanford-ner JAR的路径启动StanfordNERTagger,并且记录器会自动添加到类路径中。

这是StanfordTagger超类在设置模型和引擎后立即执行的__init__()方法。它在您提供的stanford-ner JAR路径的父文件夹中查找记录器JAR,并通过从find_jars_within_path()调用nltk.internals隐式地将其添加到路径中,后者将文件夹附加到{ {1}}

相关问题