Instantiating and using StanfordTagger within NLTK

Прошу прощения за новичковую природу этого вопроса - я пытался разобраться в упаковке Python и пространствах имен, но более тонкие моменты, кажется, ускользают от меня. В частности, я хочу использовать Python-обертку для Stanford part-of-speech tagger. Я без труда нашел документацию здесь, где приведен пример использования:

st = StanfordTagger('bidirectional-distsim-wsj-0-18.tagger')
st.tag('What is the airspeed of an unladen swallow ?'.split())
    [('What', 'WP'), ('is', 'VBZ'), ('the', 'DT'), ('airspeed', 'NN'), ('of', 'IN'), ('an', 'DT'), ('unladen', 'JJ'), ('swallow', 'VB'), ('?', '.')]

Это выглядит отлично, но я не могу заставить нужные пространства имен отображаться в моей локальной установке Python + NLTK (у меня последняя версия NLTK, и я пробовал нижеприведенное в Python 2.6.x, а также 2.7. x):

>>> import nltk
>>> from nltk import *
>>> from nltk.tag import stanford 
Traceback (most recent call last):
File "", line 1, in 
ImportError: cannot import name stanford

Я также попробовал этот оператор импорта, с тем же результатом:

>>> from nltk.tag.stanford import StanfordTagger
Traceback (most recent call last):
File "", line 1, in 
ImportError: No module named stanford

Поискав здесь на SO, я нашел этот вопрос, где автор, похоже, испытывает точно такую же проблему, но смог обойти шаг с пространством имен:

Проблема в том, что моя библиотека nltk lib не содержит модуль stanford. Поэтому я скопировал его в соответствующую папку и скомпилировал.

Похоже, что это действительно та же проблема, только я не могу найти документацию о том, как добавлять модули в NLTK. Все, что я читал на сайте NLTK, говорит о том, что модуль Stanford уже должен быть упакован в базовую установку. Итак, вопрос из двух частей:

  1. (Конкретный) Любые предложения по преодолению этой конкретной проблемы и начать использовать StanfordTagger из Python? Я знаю, что могу легко вызвать jar напрямую и затем интерпретировать вывод в Python - это все, что делает обертка Python в любом случае - но я хотел бы заставить это работать из принципа, если не более того.
  2. (Общий) Каков хороший питонический подход к исследованию

7
задан Community 23 May 2017 в 11:53
поделиться