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

时间:2015-05-19 10:44:38

标签: python tags nltk pos-tagger

当我尝试导入时,

  

来自nltk.tag.brill导入SymmetricProximateTokensTemplate,ProximateTokensTemplate   来自nltk.tag.brill导入ProximateTagsRule,ProximateWordsRule

Python引发导入错误,

  

ImportError:无法导入名称' SymmetricProximateTokensTemplate'

问题是什么?

但这有效

  

来自nltk.tag import brill

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

我正在使用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)

我希望它有所帮助。