美文网首页
NLP第八篇-词性标注

NLP第八篇-词性标注

作者: 吕不韦 | 来源:发表于2018-01-17 12:21 被阅读3883次

    词性(part-of-speech)是词汇基本的语法属性,通常也称为词类。词性标注就是在给定句子中判定每个词的语法范畴,确定其词性并加以标注的过程,是中文信息处理面临的重要基础性问题。

    基于统计模型的词性标注方法

    我们可以基于HMM去实现词性标注方法,实现基于HMM的词性标注方法中,模型的参数估计是其中的关键问题,也就是HMM的第三个问题,当时我们讲可以随机地初始化HMM的所有参数,但是,这将使词性标注问题过于缺乏限制。

    因此,通常利用词典信息约束模型的参数。假设输出符号表由单词构成(即词序列为HMM的观察序列),如果某个对应的『词汇-词性标记』没有被包含在词典中,那该词汇被标记为该词性标记的概率就为0;如果存在,那该词汇被标记为某词汇标记的概率为其所有可能被标记的所有词性个数的倒数:

    然后我们根据训练语料给定词性标记生成词的概率,我们思考一下,如何根据训练语料来合理的估计模型概率,对于某词性标记j生成词wl的概率,分子我们用词wl出现的次数乘以该词汇被标记为该词汇标记的概率,分母是在训练语料范围内,所有词被标记为该词汇标记的概率乘以该词出现的次数。某词性标记j生成词wl的概率,也即下式:

    不仅考虑词出现次数的原因,个人理解,一是考虑到前面说过的,有些词是不能由特定词性标记输出的,所以其乘积为0,累加时就会被忽略;二是在估计模型参数时考虑到词本身所可能对应的词性标记的个数,在计算特定词性标记的生成概率时,给予对应词性标记少的词汇一定的优待,给予其一定的概率倾斜。

    另外,还有一种方法是采用将词汇划分成若干等价类的策略,以类为单位进行参数统计,进而避免了为每个单词单独调整参数,大大减少了参数的总个数。

    一旦初始化完成后,就可以按照HMM的前向后向算法进行训练。

    还有一点要注意的是,由于不同领域语料的概率有所差异,HMM的参数也应随着语料的变化而变化。

    这就涉及到一个问题,在对原有的训练语料增加新的语料以后,模型的参数就需要重新调整了。而根据经典HMM的理论,也就是上篇讲的HMM,已经训练过的语料就难以再发挥作用了,所以这里希望当有新语料进来时,新旧语料能够同时发挥作用。

    只需要对HMM的前向后向算法做一些微调即可,我们还记得,前向后向算法需要根据初始化好的模型去计算转移概率的期望值,再根据期望值去估计模型参数,也即π、aij、bj(k),最终收敛,我们得到了训练完毕的π、aij、bj(k),但是这里我们不只保存π、aij、bj(k),我们还要保存前一步的结果,也就是那些期望值,这样,当新的语料引入时,我们将原来模型中保存的期望值与新语料训练的期望值相加,即得到了反映新旧语料期望值变量的值,通过计算即可得到新的模型。这样也就解决了旧语料的利用问题。

    基于规则的词性标注方法

    基于规则的词性标注方法是人们提出较早的一种词性标注方法,其基本思想是按兼类词(拥有多种可能词性的词)搭配关系和上下文语境建造词类消歧规则,早期的规则一般由人编写。

    然而随着语料库规模的逐步增大,以人工提取规则的方式显然是不现实的,于是人们提出了基于机器学习的规则自动提取方法。如下图所示:

    基于规则的错误驱动的机器学习方法的基本思想是,首先运用初始状态标注器标识未标注的文本,由此产生已标注的文本。文本一旦被标注以后,将其与正确的标注文本进行比较,学习器可以从错误中学到一些规则,从而形成一个排序的规则集,使其能够修正已标注的文本,使标注结果更接近于参考答案。

    这样,在所有学习到的可能的规则中,搜索那些使已标注文本中的错误数减少最多的规则加入到规则集,并将该规则用于调整已标注的文本,然后对已标注的语料重新打分(统计错误数)。不断重复该过程,直到没有新的规则能够使已标注的语料错误数减少。最终的规则集就是学习到的规则结果。

    这种方法的标注速度要快于人工,但仍然存在着学习时间过长的问题,改进方法是,在算法的每次迭代过程中,只调整受到影响的小部分规则,而不需要搜索所有的转换规则。因为每当一条获取的规则对训练语料实施标注后,语料中只有少数词性会发生改变,而只有在词性发生改变的地方,才影响与该位置相关的规则的得分。

    统计方法与规则方法相结合的词性标注方法

    有人提出了这样一种词性标注方法,其基本思想是,对汉语句子的初始词性标注结果,先经过规则排歧,排除汉语中那些最常见的、语言现象比较明显的歧义现象,然后再通过统计排歧,处理那些剩余的多类词并进行未登录词的词性推断,最后再进行人工校对,得到正确的标注结果。人工校对时可以发现系统中的问题,并进行改进。

    但是上面这种方法存在一个很大的问题就是统计的可信度,我们不知道统计结果的可信度,总是需要人工校对所有的统计排歧结果,所以有人又提出了一种新的统计方法与规则方法相结合的词性标注方法。

    新的方法通过计算词被标注为所有词性的概率,来对统计标注的结果给出一个可信度,这样对于所有的语料,先经过统计标注,然后对那些可信度小于阈值,或者说错误可能性高于阈值的统计标注结果,才进行人工校对和采用规则方法进行歧义消解。

    词性标注的一致性检查与自动校对

    在语料库建设中,词性标注的一致性检查和自动校对是不可缺少的重要环节。

    一般情况下,语料库中出现的词性标注不一致现象主要由两种,一种情况是,词汇在词表中本来是非兼类词,只有一种词性标记,在语料中却被标注了不同的词性标记;另一种情况是,词汇在词表中本来就是兼类词,允许不同的词性标注,可在标注语料语境相同时出现了不同的词性标注。

    第一种现象比较好解决,第二种现象可以采用基于聚类和分类的词性标注一致性检查方法,其基本观点是,同一个词在相似的上下文中应该具有相同的词性。所以,根据训练语料,可以对每个兼类词分别计算出词性标注相同时期上下文语境向量的平均值VA,然后计算该兼类词被标注成每个可能的词性符号时所在的上下文语境向量与相应的VA之间的关系,如果

    与VA之间的距离大于了某个阈值H,则认为其可能出现了词性标注不一致。

    然后是词性标注的自动校对方法,在计算机自动实现词性标注的语料中,错误情况一般分为两种,一种是,对于同样的情况,如果一个地方出错则通篇有错,一错到底。而另一种情况是,只有部分出错,这也就是前面的一致性问题之一,已经给出了解决方法。

    而对于一错到底的情况,处理方法的基本思路实际上也相似,其基本思路是通过机器学习,从大规模训练语料中抽取每个兼类词在特定上下文语境中被标注的词性信息,形成一个词性校对决策表。这里用的不再是平均值了,对于被校对的标注语料,首先检测每个兼类词的上下文语境与决策表中的对应语境是否匹配,若匹配,则认为该校对语料中的兼类词的语境与决策表中的条件一直,那其兼类词的词性也应该一致。

    相关文章

      网友评论

          本文标题:NLP第八篇-词性标注

          本文链接:https://www.haomeiwen.com/subject/cpoyoxtx.html