本节课我们将学习 词性标注(part of speech tagging)。
什么是词性(Part-of-Speech, POS)? 词性(POS) 又称 词类(word classes)、形态类别(morphological classes) 或者 句法类别(syntactic categories)。 例如:名词(noun)、动词(verb)、形容词(adjective)等。 我们为什么关心词性?因为词性在很大程度上告诉了我们一个词的句法功能以及它周围可能出现的词: 名词(noun)通常出现在限定词(determiner,例如:$ extit{the}$、$ extit{a}$ )后面。 动词(verb)通常出现在名词(noun)后面。 并且,一个词的发音可能会根据词性不同而改变。例如:对于 $ extit{content}$ 这个单词,当其作为名词(noun)时,重音在前,读作 $ extit{CONtent}$;而当其作为形容词(adjective)时,重音在后,读作 $ extit{conTENT}$。这里是一些典型的应用场景:
作者身份重新审查(Authorship Attribution Revisited)在之前的文本分类中,我们介绍过 作者身份识别(Authorship attribution) 任务,其目的是试图找出某段文本的作者。假设现在我们有如下训练数据: 训练数据: $ extit{“The lawyer convinced the jury.”} o extit{Sam}$ $ extit{“Ruby travelled around Australia.”} o extit{Sam}$ $ extit{“The hospital was cleaned by the janitor.”} o extit{Max}$ $ extit{“Lunch was served at 12pm.”} o extit{Max}$这里,我们有 $4$ 个句子,前两个作者是 $ extit{Sam}$,后两个来自 $ extit{Max}$。通过观察可以发现他们在使用句子时存在不同的模式,$ extit{Sam}$ 倾向于使用 主动语态(active voice),$ extit{Max}$ 倾向于使用 被动语态(passive voice)。
测试数据:$ extit{“The bookstore was opened by the manager.”} o ext{?}$ 我们可以很容易判断它很可能来自 $ extit{Max}$,因为它们具有相似的 结构(被动语态) 作为人类,我们可以很容易捕获这种句子模式。 但是,简单的 词袋表示(BOW representation) 无法捕获这种句子结构层面的差异。因为在词袋模型中,句子单词之间的顺序信息被直接丢弃掉了。 如何确保计算机能够知道/学习这种结构层面的信息?词性信息可能会有帮助。 信息提取(Information Extraction)另一个涉及单词词性的场景是信息提取,其目的是试图从语料库中提取到关系信息。 给定如下的语料库: $ extit{“Brasilia, the Brazilian capital, was founded in 1960.”}$ 我们希望从上面的句子中提取某些关系: $ extit{capital (Brazil, Brasilia)}$ $ extit{founded (Brasilia, 1960)}$ 这其中涉及到很多步骤,但是首先我们需要知道词性信息,例如: 名词:$ extit{Brasilia, capital}$ 形容词:$ extit{Brazilian}$ 动词:$ extit{founded}$ 数字:$ extit{1960}$本节课程大纲
词性 标注集 自动标注1. 词性1.1 词性的分类通常来说,词性(POS)可以分为两类:开放类(open classes)和 封闭类(closed classes)。这种分类的衡量标准是接受新单词的可能性的大小。
开放类包含名词、动词、形容词和副词这几种典型词性,通常这几种词性接受新单词的可能性较大:人们总是在创造新的名词、动词等等。这些词性的词汇表会随着时间而增长。
封闭类则相反,包含介词、连词、限定词等,它们通常不会随着时间而增长。
1.2 开放类(英语) 名词(Nouns) 专有名词(proper noun)vs. 一般名词(common noun)例如:$ extit{Australia}$ (澳大利亚) vs. $ extit{wombat}$ (毛鼻袋熊) 不可数名词(mass noun)vs. 可数名词(count noun)例如:$ extit{rice}$ (大米) vs. $ extit{bowls}$ (碗) 动词(Verbs) 丰富的形态变化(rich inflection)例如:$ extit{go/goes/going/gone/went}$ 助动词(auxiliary verbs)例如:英语中的 $ extit{be, have, do}$ 及物性(transitivity)后面可以带不同数量的参数。例如:$ extit{wait }$ vs. $ extit{hit }$ vs. $ extit{give}$$ extit{Alice waits.}$$ extit{Alice hits Bob.}$$ extit{Alice gives Bob a book.}$ 形容词(Adjectives) 可分级的(gradable):可以有不同的程度例如:$ extit{happy} o extit{a bit happy, very happy, not very happy}$ 不可分级的(non-gradable):通常只有正反两种例如:$ extit{computational}quad$ vs. $quad extit{noncomputational}$ 副词(Adverbs) 表方式(manner)例如:$ extit{slowly}$ 表位置(locative)例如:$ extit{here}$ 表程度(degree)例如:$ extit{really}$ 表时态(temporal)例如:$ extit{yesterday}$注意,$ extit{yesterday}$ 是一个很有趣的例子,它的词性可以是名词或者副词,具体情况取决于其在句子中扮演的角色。事实上,大部分单词都具有不止一种词性。另外,以上四种词性在英语以及很多其他语言中都很常见,但是不是所有的语言都具有全部这四种词性,有些语言中没有形容词,有些语言中没有副词。因此,词性并不存在一个适用于所有语言的统一标准,不同的语言具有不同的词性标准。
1.3 封闭类(英语)封闭类的词性通常不会随着时间而增长。但是,封闭类往往模糊性(Ambiguity)更强,它们有时根据不同的解释可以具有不同的词性。
介词(Prepositions)通常用来在两个事物之间建立某种联系。 $ extit{in, on, with, for, of, over, dots}$例如:$ extit{an apple on the table}$ 小品词(Particles)通常是介词里的一些单词,但是用法上存在一些区别,经常用在动词后面,构成一些词组。 例如:$ extit{brushed himself off}$从表意上看,$ extit{brush}$(刷) 和 $ extit{brush off}$(刷掉) 有一些差别。在英语中,小品词与动词一起使用通常代表了一些约定俗成的规则用法。 限定词(Determiners) 冠词(articles)例如:$ extit{a, an, the}$ 指示代词(Demonstratives)例如:$ extit{this, that, these, those}$ 量词(Quantifiers)例如:$ extit{each, every, some, two, dots}$ 代词(Pronouns) 人称(Personal)例如:$ extit{I, me, she, dots}$ 所有格(Possessive)例如:$ extit{my, our, dots}$ 疑问(Interrogative 或者 $ extit{Wh-}$)例如:$ extit{who, what, dots}$ 连接词(Conjunctions)连接两个分句(clauses)。 并列(Coordinating)例如:$ extit{and, or, but}$ 从属(Subordinating)例如:$ extit{if, although, that, dots}$ 情态动词(Modal verbs) 表能力(Ability)例如:$ extit{can, could}$ 表许可(Permission)例如:$ extit{can, may}$ 表可能性(Possibility)例如:$ extit{may, might, could, will}$ 表必要性(Necessity)例如:$ extit{must}$ 还有很多其他词性 否定(negatives)、礼貌标记语(politeness markers)等等。 1.4 模糊性现在我们将讨论词性标记中的 模糊性(Ambiguity):很多单词可以属于多种词性类别。
让我们来看一个例子,请比较下面两个句子: $ extit{Time flies like an arrow}$ (光阴似箭) $ extit{Fruit flies like a banana}$ (果蝇喜欢香蕉) $ extit{Time}$ $ extit{flies}$ $ extit{like}$ $ extit{an}$ $ extit{arrow}$ noun verb preposition determiner noun $ extit{Fruit}$ $ extit{flies}$ $ extit{like}$ $ extit{a}$ $ extit{banana}$ noun noun verb determiner noun 接下来,让我们来看一下新闻标题中的词性模糊性:$ extit{British Left Waffles on Falkland Islands}$第一眼单纯从字面意思上来看,我们可能会理解为:[$ extit{British}$] [$ extit{Left}$] [$ extit{Waffles}$] [$ extit{on}$] [$ extit{Falkland Islands}$]英国人在福克兰群岛上留下了一些华夫饼但是如果你是英国人,你就会知道 “$ extit{waffle}$” 除了 “华夫饼” 之外,还可以表示 “尚未决定” 的含义,同时 “$ extit{left}$” 除了 “留下来” 之外,还有 “左派” 的含义。所以,结合语境,这个新闻标题实际想表达的含义是:[$ extit{British Left}$] [$ extit{Waffles}$] [$ extit{on}$] [$ extit{Falkland Islands}$]英国左派党尚未确定(对于)福克兰群岛(的政策)
$ extit{Juvenile Court to Try Shooting Defendant}$同样,第一眼看标题,我们可能会理解为:[$ extit{Juvenile Court}$] [$ extit{to}$] [$ extit{Try}$] [$ extit{Shooting}$] [$ extit{Defendant}$]少年法庭试图射杀被告但事实上,这里唯一的动词只有 “$ extit{try}$”,它除了 “尝试” 之外,还有 “审判” 的意思。而后面的 “$ extit{shooting defendant}$” 整体作为一个宾语,表示 “枪击案被告”。所以,这个标题实际想表达的含义是:[$ extit{Juvenile Court}$] [$ extit{to}$] [$ extit{Try}$] [$ extit{Shooting Defendant}$]少年法庭将审判枪击案被告
$ extit{Teachers Strike Idle Kids}$同样,第一眼看标题,我们可能会理解为:[$ extit{Teachers}$] [$ extit{Strike}$] [$ extit{Idle}$] [$ extit{Kids}$]教师殴打懒散的孩子这在过去可能还能够理解,但是如今这个句子实际上表达的是另外一层意思。“$ extit{Strike}$” 除了 “殴打”,还有 “罢工” 的意思。实际上,句子中并不存在动词。 “$ extit{Teachers strike}$” 整体作为原因,后面的 “$ extit{idle kids}$” 整体作为结果:[$ extit{Teachers Strike}$] [$ extit{Idle Kids}$]教师罢工(导致)孩子们比较闲散
$ extit{Eye Drops Off Shelf}$同样,第一眼看标题,我们可能会理解为:[$ extit{Eye}$] [$ extit{Drops}$] [$ extit{Off}$] [$ extit{Shelf}$]眼睛从架子上掉下来了但显然,这种解释并不符合常理。“$ extit{Eye drops}$” 在这里作为一个整体,表示 “滴眼液”。而 “$ extit{off shelf}$” 也作为一个整体,表示 “下架”。所以句子实际意思为:[$ extit{Eye Drops}$] [$ extit{Off Shelf}$]滴眼液下架了
所以,假如我们能够知道这些句子的词性,那么就能更好地帮助计算机理解它们实际想表达的意思。
2. 标注集现在,我们将了解实际的 标注集(tagsets),它们是由语言学家在对某个特定的语料库进行标注时所定义的一些词性标注。
作为词性(POS)信息的一种紧凑表示: 通常长度 $le 4$ 个大写字母 一个大类下面可能包含好几个子类:通常包含对于形态变化的区分。 几种主要英语标注集: Brown (87 tags) Penn Treebank (45 tags) CLAWS/BNC (61 tags) “Universal” (12 tags)最后一种 “Universal Treebank” 之所以只有 12 种 tags 是因为该标注集是基于一个跨语言标注的项目:它试图发现一些独立于语言之外的结构和关系,所以它只涵盖了 12 种适用于大部分语言的 tags。
对于所有的主流语言,都至少有一个标注集。2.1 主要的 Penn Treebank Tags Tag 词性 Tag 词性 NN noun(名词) VB verb(动词) JJ adjective(形容词) RB adverb(副词) DT determiner(限定词) CD cardinal number(基数词) IN preposition(介词) PRP personal pronoun(人称代词) MD modal(情态动词) CC coordinating conjunction(并列连词) RP particle(小品词) WH wh-pronoun(wh 代词) TO $ extit{to}$在本课程和 workshop 中,我们默认采用这种标注规则。
2.2 Penn Treebank 的衍生 Tags NN(名词): NNS(plural,复数):$ extit{wombats}$ NNP(proper,专有):$ extit{Australia}$ NNPS(proper plural,专有复数):$ extit{Australians}$ VB(动词): VB(infinitive,不定式):$ extit{eat}$ VBP(1st / 2nd person present,第一、第二人称):$ extit{eat}$ VBZ(3rd person singular,第三人称单数):$ extit{eats}$ VBD(past tense,过去时):$ extit{ate}$ VBG(gerund,动名词):$ extit{eating}$ VBN(past participle,过去分词):$ extit{eaten}$ JJ(形容词): JJR(comparative,比较级):$ extit{nicer}$ JJS(superlative,最高级):$ extit{nicest}$ RB(副词): RBR(comparative,比较级):$ extit{faster}$ RBS(superlative,最高级):$ extit{fastest}$ PRP(人称代词): PRP(possessive,所有格):$ extit{my}$ WH(疑问代词): WH(possessive,所有格):$ extit{whose}$ WDT(wh-determiner,wh 限定词):$ extit{who}$ WRB(wh-adverb,wh 副词):$ extit{where}$ 2.3 标注文本例子$ extit{The}$/DT $ extit{limits}$/NNS $ extit{to}$/TO $ extit{legal}$/JJ $ extit{absurdity}$/NN $ extit{stretched}$/VBD $ extit{another}$/DT $ extit{notch}$/NN $ extit{this}$/DT $ extit{week}$/NN $ extit{when}$/WRB $ extit{the}$/DT $ extit{Supreme}$/NNP $ extit{Court}$/NNP $ extit{refused}$/VBD $ extit{to}$/TO $ extit{hear}$/VB $ extit{an}$/DT $ extit{appeal}$/VB $ extit{from}$/IN $ extit{a}$/DT $ extit{case}$/NN $ extit{that}$/WDT $ extit{says}$/VBZ $ extit{corporate}$/JJ $ extit{defendants}$/NNS $ extit{must}$/MD $ extit{pay}$/VB $ extit{damages}$/NNS $ extit{even}$/RB $ extit{after}$/IN $ extit{proving}$/VBG $ extit{that}$/IN $ extit{they}$/PRP $ extit{could}$/MD $ extit{not}$/RB $ extit{possibly}$/RB $ extit{have}$/VB $ extit{caused}$/VBN $ extit{the}$/DT $ extit{harm}$/NN ./.
上面是一段经过词性标注的文本,黑色斜体代表原始文本,红色代表标注词性。语言学家们对语料库中的单词进行逐一标注。当然,在此之前,通常需要先进行分词,并且可能需要根据情况进行二次分词(例如:$ extit{haven’t} o extit{have not}$)。所以,标注这样的语料库往往需要耗费很多时间和金钱,但是一旦完成,它们将成为非常有用的语言学资源。
另外,在 Penn Treebank 规则中,标点符号会被标注为 “.” 的形式。
3. 自动标注为什么需要自动词性标注(automatically POS tag)?
对于形态学分析(morphological analysis)非常重要。 例如:词形还原(lemmatisation)。 对于某些应用,我们希望关注某些特定的 POS。 例如:名词对于信息提取非常重要,而形容词对于情感分析非常重要。所以在处理某些任务时,需要思考词性标注如何能够潜在地帮助我们更好地完成任务。 对于特定的分类任务可能是非常有用的特征。 例如:流派分类(genre classification)。 POS 可以帮助单词消除歧义(disambiguation) 例如:$ extit{cross}$/NN $quad$ vs. $quad$ $ extit{cross}$/VB $quad$ vs. $quad$ $ extit{cross}$/JJ 可以利用它们创建更大的结构(句法分析)因此,POS 标注通常是进行很多下游任务之前的第一步。
自动标注器(Automatic Taggers)我们已经了解了词性标注的重要性,并且我们并不能找到一群语言学家对每段任务文本都进行人工词性标注。所以,我们希望可以将已有的标注文本作为训练集,并从中学习一些自动标注的方法,以便我们能够对