【读书笔记】自然语言处理综述 -- 第五章 -- 词类标注

第五章 词类标注

词类(Part-of-Speech, POS),能够提供关于单词及其近邻成分的大量有用信息。

词类标注的方法:手写规则(基于规则标注),统计方法(隐式马尔科夫模型标注HMM,最大熵标注,基于转换的标注,基于记忆的标注)。

5.1 英语词的分类

词类是根据单词的句法功能和形态功能来定义的。分为两大类:封闭类开放类。前者是单词成员相对固定的词类,又称虚词,如介词,一般很短,在语法中表示结构关系。后者如名词、动词,这类词总会有新词被创造出来,或者从别的语言借用过来。

开放词有四大类,名词,动词,形容词,副词。

名词一般与限定词同时出现,可以受主有代词修饰,可以有复数形式。可分为专有名词,普通名词。专有名词前一般没有冠词,且首字母大写。普通名词又分为可数名词和物质名词,物质名词前无冠词,可数单数名词前有冠词。

动词有若干个形态:非第三人称单数,第三人称单数,进行时,过去分词等等,还有个次类:助动词。有些语言不区分名词、动词。

形容词包含很多描写性质或质量的词。有些语言没有形容词,如韩语。

副词通常修饰动词,也可以修饰其他副词,或动词短语。有地点副词,程度副词,方式副词,时间副词。这一类词有异质的特性,所以在有些词类标注方法中,也被标注为名词。

封闭类如介词,限定词,代词,连接词,助动词,小品词,数词等。

介词出现在名词短语之前,表示空间或时间上的关系,无论是字面的,还是比喻的(如 on time)。

小品词与介词、副词类似,经常与动词结合起来使用。不过意义与介词不同。如 turn over中的over。动词与小品词的组合,称为动词短语。这种短语的意思不能从构成它的词推测出来。

限定词如this, that, 有一个小次类是冠词, the, a, an。

连接词如并列连接词,从属连接词,如that,又称标补语(补足语)。

代词如人称代词(包括主有代词my, your等),Wh代词(疑问代词,或标补语xxx, who married yyy)。

助动词是动词的一个次类,标志主要动词的某些语义特征:时态,情态等。如系动词,do,have,情态动词。

一些只有一种功能的词,如叹词,否定词,礼貌标志词,问候语,表示存在的词(there)。根据标记的目的,可以都指派一个特定的名字,或者合为叹词,或者副词等。

5.2 标记集

标记集如Brown语料库(87个),Penn Treebank(45个)等。

有一些词,如介词,小品词,副词,无论人或机器都难以区分。需要更精细的句法知识,可以用标注手册,根据特定的上下文判断。

Penn Treebank的标记集在一些高水平的自然语言处理中用处不大,但广泛用于标注算法的评测中。

5.3 词类标注

词类标注的目的是消解歧义(排歧)。大部分单词是没有歧义的,但常用词很多有歧义。

大多数标注算法可以归结为两类,基于规则标注,概率或随机标注。基于转换的标注算法(Brill算法)具有两者的特点,基于规则判断歧义,但规则可由机器学习推导出来。

5.4 基于规则的词类标注

早期的(1960s)词类自动标注算法,第一步是用一部词典给每一个单词指派一个潜在的词类表,第二步是用手工书写的排歧规则筛选潜在词类表。

现代的词典,及规则集比60年代大的多,使用最全面的是约束语法的方法。EngCG方法就是建立在此方法基础上的。

5.5 基于隐式马尔可夫模型的词类标注

把隐式马尔可夫模型应用于词类标注是贝叶斯推理的一个特殊情况。

对于一个单词序列(句子),最可能的标记序列为:

(hat{t}_1^n = {argmax}_{t_1^n} P(t_1^n | w_1^n))

(w_1^n)是观察序列,从所有长度为n的标记序列中选择特定的标记序列(t_1^n),使得右式最大化。根据贝叶斯定理,上式简化为:

(hat{t}_1^n = {argmax}_{t_1^n} P(w_1^n | t_1^n) P(t_1^n))

(P(t_1^n))是先验概率,(P(w_1^n|t_1^n))是似然度。

由此,我们把每一个标记序列的这两个概率相乘,然后选取最大的作为结果。

假设一:单词出现的概率只与本身的词类标记有关,独立于周围其他单词,(P(w_1^t | t_1^n) approx prod_{i=1}^n P(w_i | t_i))

假设二:标记的出现概率只与它前面的一个标记有关,即二元语法,则:(P(t_1^n) approx prod_{i=1}^n P(t_i | t_{i-1}))

标记的转移概率(P(t_i|t_{i-1})),可以计算最大似然估计MLE。

5.5.2 隐式马尔可夫标注算法的形式化

一个有限状态自动机由状态集和转移集确定,加权有限自动机其中的每一个弧与一个概率相关,从一个结点所引出的所有弧的概率之和为1。马尔可夫链是加权有限自动机的一个特例,在输入序列中唯一确定了自动机要通过哪个状态。所以不能表示歧义问题。

隐式马尔可夫模型使得我们既可以讨论如在输入中看到的单词这样观察的事件,又可以讨论如词类标记这样的隐藏的事件。

HMM包括以下组成部分:
(Q = q_1, q_2, ... q_N),N个状态集合;
(A = a_{11}, a_{12}, ... a_{nn}),状态转移矩阵,(a_ij)表示从状态i到状态j的转移概率;
(O = o_1, o_2, ... o_T),T个观察的序列,每个观察来自词汇表(V = v_1, v_2, ..., v_v)
(B = b_i(o_t)),观察似然度的序列,即发射概率,表示从状态i生成观察值(o_t)的概率;
(q_0, q_r),开始状态,终极(最后)状态。

5.5.3 使用Viterbi算法来进行HMM标注

对于HMM这种包含隐藏变量的模型,确定哪一个变量序列隐藏在某个观察序列之下的源变量这样的工作称为解码。Viterbi算法是HMM最常用的解码算法。Viterbi是动态规划算法的应用。

(v_t(j) = {max}_{t=1}^N v_{t-1}(i) a_{ij} b_j (o_t))
其中(v_{t-1}(i))是前一时刻的路径概率,(a_{ij})是从(q_i)(q_j)的转移概率,(b_j (o_t))是给定状态j的观察符号(o_t)状态观察似然度。

5.5.4 HHM扩充到三元语法

直接应用之前的公式会出现数据稀疏的问题。使用线性插值法,可以用一元语法,二元语法,三元语法的加权来估计三元条件概率。即:

$P(t_i|t_{i-1}t_{i-2}) = lambda_3 hat{P}(t_i|t_{i-1}t_{i-2}) +lambda_2 hat{P}(t_i|t_{i-1}) + lambda_1 hat{P}(t_i) $, 其中 (lambda_1 + lambda_2 + lambda_3 = 1)

5.6 基于转换的标注

TBL是一种监督学习技术。先用比较宽的规则来标注,这些规则在大多数场合都适用,然后再用稍微特殊的规则修改某些标记。然后再用更加特殊的标记修改某些已修改过的标记。

5.7 评测和错误分析

交叉验证,随机的方式多次划分训练集和测试集。

正确率,下界底线,上界顶线,确定顶线的方法是看人能做到什么程度。

错误分析可以打印混淆矩阵(列联表)。

原文地址:https://www.cnblogs.com/yanqiang/p/11821253.html