Python NLTK Brill Tagger 没有 SymmetricProximateTokensTemplate、ProximateTokensTemplate、ProximateTagsRule、ProximateWordsRule

Python NLTK Brill Tagger does not have SymmetricProximateTokensTemplate, ProximateTokensTemplate, ProximateTagsRule, ProximateWordsRule

当我尝试导入时,

from nltk.tag.brill import SymmetricProximateTokensTemplate, ProximateTokensTemplate from nltk.tag.brill import ProximateTagsRule, ProximateWordsRule

Python 引发导入错误,

ImportError: cannot import name 'SymmetricProximateTokensTemplate'

有什么问题?

但这行得通

from nltk.tag import brill

NLTK 的 Brill 部分已在 NLTK 3 中重新设计。因此您尝试导入的所有 类 都不再存在。
参见 https://github.com/nltk/nltk/pull/549

我正在寻找如何使用 Brill Tagger 的示例,但直到现在,我还没有找到任何东西。

我正在使用 nltk.tag.brill 中的模板。
有四种方法

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

第return套模板。我的评价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)

希望对您有所帮助。