第4章 词性标注

本章将介绍以下内容。

  • 默认标注。
  • 训练一元组词性标注器。
  • 回退标注的组合标注器。
  • 训练和组合N元标注器。
  • 创建似然单词标签模型。
  • 使用正则表达式标注。
  • 词缀标签。
  • 训练布里尔标注器。
  • 训练TnT标注器。
  • 使用WordNet进行标注。
  • 标注专有名词。
  • 基于分类器的标注。
  • 使用NLTK训练器训练标注器。

词性(Part-of-speech)标注是将句子(按照单词列表的形式组织的)变换为元组列表的过程,其中,元组的形式为(word,tag)。标注(tag)为词性标注,表示出单词是名词、形容词,还是动词。

该模块第5章会介绍词性标注是组块前的必要步骤。没有词性标注,组块器不可能知道如何从句子中提取短语。然而,使用词性标注,基于标注模式,就可以告诉组块器如何识别短语。

也可以使用词性标注进行语法分析和词义消歧。例如,单词duck可以指鸟,也可以是表示向下运动的动词。如果没有额外的信息(如词性标注),计算机不可能知道单词表示的不同意思。关于词义消歧的更多信息,请参阅维基百科网站。

这里介绍的大多数标注器是可训练的。它们使用已标注词性的句子列表作为训练数据,比如,从TaggedCorpusReader类的tagged_sents()中所得到句子(请参阅该模块3.4节,获得更多信息)。使用这些用于训练的句子,标注器生成了内部模型,该模块告诉标注器如何标注单词。其他标注器使用外部数据源或匹配的单词模式,为单词选择标签。

NLTK中的所有标注器都在nltk.tag包中,是从TaggerI基类继承而来的。TaggerI要求所有子类实现tag()方法,这个方法接受单词列表作为输入,返回已标注词性的单词列表,作为输出。TaggerI还提供了evaluate()方法,来评估标注器的准确率(下一节结尾会介绍)。我们将许多标注器组合成回退链(backoff ...

Get Python和NLTK实现自然语言处理 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.