4.1 引言

优质
小牛编辑
110浏览
2023-12-01

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

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

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

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

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