Python NLTK Brill Tagger не имеет SymmetricProximateTokensTemplate, ProximateTokensTemplate, ProximateTagsRule, ProximateWordsRule

Когда я пытаюсь импортировать,

из nltk.tag.brill импортировать SymmetricProximateTokensTemplate, ProximateTokensTemplate из nltk.tag.brill импортировать ProximateTagsRule, ProximateWordsRule

Ошибка импорта в Python,

Import Error: невозможно импортировать имя 'SymmetricProximateTokensTemplate'

В чем проблема?

но это работает

с nltk.tag импортный брилл

2 ответа

Решение

Часть Brill в NLTK была переработана в NLTK 3. Поэтому все те классы, которые вы пытаетесь импортировать, больше не существуют.
См. https://github.com/nltk/nltk/pull/549

Я ищу пример, как использовать Brill Tagger, но до сих пор я ничего не нашел.

Я использую шаблоны из nltk.tag.brill,
Есть четыре метода

  • nltkdemo18()
  • nltkdemo18plus()
  • fntbl37()
  • brill24()

которые возвращают наборы шаблонов. Из моей оценки fntbl37() самый лучший

Вот некоторый код:

Template._cleartemplates()
templates = fntbl37()
self._tagger = UnigramTagger(tagged_sents)
self._tagger = BrillTaggerTrainer(self._tagger, templates, trace=3)
self._tagger = self._tagger.train(tagged_sents, max_rules=250)

Я надеюсь, что это помогает.

Другие вопросы по тегам