pos_tag和nltk中的UnigramTagger和BigramTagger有什么区别?

what's the difference between pos_tag and UnigramTagger and BigramTagger in nltk?

我正试图在 nltk 上动手。我指的是 http://victoria.lviv.ua/../NaturalLanguageProcessingWithPython.pdf。它指出 nltk.pos_tag 函数将词性分配给单词列表中的每个单词,作为参数传递给它。

继续前进,我发现还有 nltk.DefaultTaggernltk.RegexpTaggernltk.UnigramTaggernltk.BigramTagger

我很困惑,为什么我们需要这些标注器,因为 nltk.pos_tag 在标注词性方面做得很好。此外,哪个标注器 nltk.pos_tag 在内部用于标注。

提前致谢。

默认nltk.pos_tag

  • 预训练的 PerceptronTagger 模型
  • 接受过 OntoNotes 5 的《华尔街日报》第 00-18 节的培训。

可以在以下位置找到数据和演练文档:


UnigramTaggerBigramTagger 是 class 对象,不包含预训练模型。

NLTK 书的第 5 章介绍了可用的 POS Tagger http://www.nltk.org/book/ch05.html:

  • DefaultTagger:第 5 章,第 4.1 节
  • RegexpTagger:第 5 章,第 4.2 节
  • NgramTagger:第 5 章,第 5.3 节