自然语言处理

词性标注(part-of-speech tagging)

/ PART-uv-SPEECH TAG-ing /

词性标注是这样一桩苦差事:给句子里的每个词都贴上它的语法角色标签——名词、动词、形容词等等——正是你上学时学着分析句子成分的那回事。拿「Time flies like an arrow」来说:标注器会把「Time」标成名词,「flies」标成动词,「like」标成介词,如此种种。它是语言处理里最古老、最基础的工作之一,常常位于许多更大流水线的底层。

它之所以比听上去更难,是因为同一个词会因周围的伙伴不同而扮演不同的角色。「Book」在「read a book」里是名词,在「book a flight」里却是动词。「Flies」在「time flies」里是动词,在「fruit flies are pests」里却是名词。一个好的标注器不能光背字典;它必须掂量上下文里的词。现代标注器从大量已由人标好正确标签的文本中学习这一点,再推广到新句子上——这是序列标注的一个经典例子,即每个词都根据语境得到自己的标签。

费这个劲图什么?知道词性能帮机器理清「谁对谁做了什么」、挑出关键短语、消解歧义,并把更干净的信号喂给翻译、搜索和文语转换(好让朗读者知道「read」该读现在时还是过去时)。在编辑良好的英文上,标注器如今准确率超过97%——但最后那几个百分点,藏的正是那些真正有歧义的情形,而在非正式文本、新俚语或研究不足的语言上,表现可能会下滑。

「I can fish in a can.」标注:I(代词)、can(情态动词)、fish(动词)、in(介词)、a(限定词)、can(名词)。同样拼成「can」——两个截然不同的标签,全凭上下文裁定。

同一个词「can」,因在句中角色不同而得到不同标签。

标注不是查字典——同一个词会随上下文改变词性,这正是它之所以成为一个学习问题的原因。漂亮的总体准确率,掩盖了那些真正棘手、含糊的情形。

又称
POS tagginggrammatical tagging词性标注词类标注