2016-03-17 35 views
0

版本

  • Windows 7的
  • 的Python 2.7.10
  • NLTK 3.1
  • 斯坦福NER 3.6(2015年12月9日)

問題

我訓練了自定義NER模型與斯坦福NER並獲得序列化模型。然後,我嘗試使用該模型通過NLTK提供的Python API在未看到的語料庫上執行NER。如何使用斯坦福NER的Python API?

根據documentation,我應該指定模型的路徑和路徑stanford-ner.jar。但是,我需要指定到stanford-ner.jar的路徑和到slf4j-api.jar的路徑,因爲斯坦福NER需要日誌記錄模塊。

我想不出如何在NLTK API中指定兩條路徑。構造函數有兩個參數,第一個參數是path/to/model,第二個參數是path/to/jar。我嘗試連接兩個jar路徑,把它們放在一個列表和一個元組中,但沒有一個方法工作。

如何告訴NLTK爲了調用預測而找到兩個罐子?

+1

看到的是https其添加到路徑:// gist.github.com/alvations/0ed8641d7d2e1941b9f9 – alvas

回答

1

你能提供你試過的任何代碼嗎?通過查看source code from the nltk.tag.stanford module,您似乎只需使用模型和Stanford-ner JAR的路徑啓動StanfordNagagger,並將記錄器自動添加到類路徑中。

這就是StanfordTagger超類中的__init__()方法在設置模型和引擎後正確執行的操作。它看起來爲您提供斯坦福NER JAR路徑的父文件夾中的記錄JAR和隱式調用find_jars_within_path()nltk.internals,其中發動機蓋下的文件夾追加到os.path