2016-03-17 2 views
0

Версия

  • Windows 7
  • Python 2.7.10
  • NLTK 3,1
  • Stanford ЧПО 3,6 (2015-12-09)

Выпуск

Я обучено пользовательскую модель NER со Стэнфордом NER и получила сериализованную модель. Затем я попытался использовать модель для выполнения NER на невидимом корпусе через Python API, предоставляемый NLTK.Как использовать Python API для Stanford NER?

В соответствии с documentation, я должен указать путь к модели и путь к stanford-ner.jar. Однако мне нужно указать как путь к stanford-ner.jar, так и путь к slf4j-api.jar, потому что Стэнфордский НЭР требует модуля регистрации.

Я не мог понять, как указать два пути в API NLTK. Конструктор принимает два аргумента, где первый - 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, похоже, вам просто нужно запустить StanfordNERTagger с моделью и по пути к JAR-серверу stanford-ner, и регистратор автоматически добавится в путь к классам.

Это то, что делает метод __init__() от суперкласса StanfordTagger сразу после установки модели и двигателя. Он ищет регистратора JAR внутри родительской папки пути JAR Стэнфорд-нер вы предоставляете, и добавляет его в путь неявно путем вызова find_jars_within_path() из nltk.internals, что под капотом прилагая папку os.path

 Смежные вопросы

  • Нет связанных вопросов^_^