统计学自然语言处理(语义消歧)

概述

本书本章描述自然语言处理中消除歧义的问题,并介绍几种重要的语义消歧算法,描述他们的资源需求和算法性能。消歧我们应该能直观的想象到就是一句话可能有几个意思。但是落实到具体细节中,我认为主要分以下几种:
1.分词的消歧,这是很常见的一个例子(南京 市 长 江大桥) 
2.多义词的具体词义
3.词性的判断
对于词性的判断可以看做一个词性标注的问题词性标注的话,我们通常考虑邻近上下文。相反,如果是词义判决的话,可能会有相隔很远的词语来决定他的词性。因此大部分的词性标注模型简单地使用当前上下文,而语义消歧模型通常使用规模广泛一些的上下文中的实词。本章将会介绍3个方法:基于标注训练集的有监督消歧,基于词典的消歧,无监督消歧。

性能上下界

性能上界:相同情况下人工标注的性能,这里一定要强调相同判断情况,实际判决中,人往往会将该系统没有利用的特性加入进来,这里有几个思考:
1.系统的性能是有上界的,我们判决时应该使用系统的视角来看待问题。不要全局来看,这样能意识到系统本身的缺陷。
2.正是因为系统有了明显的上界缺陷,才使得我们有改进的方向,比如我们知道利用前后一个词不能判断语义,那么我们考虑的方向就变成了,看一句话我们能否进行这样的判断呢?我们做的是需要不断挖掘我们本能考虑但是系统没有考虑的内容和信息,讲其模型化。

基于贝叶斯分类的语义消歧

原理是,考虑一个上下文窗口中歧义词周围词的信息。通常我们这里使用一个特殊的分类器,即朴素贝叶斯分类器,这里使用朴素贝叶斯有两个假设:
1.第一个是上下文中的所有结构和词语顺序都可以被忽略。
2.可有重复的单词集中出现的词独立于其他词。
虽然这两个假设不太成立,但是朴素贝叶斯能在这个任务中取得一定的效果。
这里写图片描述
以下给出书中该方法得出的靠前的两个结果:
这里写图片描述

一种基于信息论的方法

贝叶斯采取的是利用上下文中所有的词来帮助消歧决策,而且事先还做了一个不太真是的独立假设。现在利用信息论的方法可以得到一个比较不同的策略。试图寻找一个单一的上下文特征,用来指示哪一种语义应该被使用。方法如下:(该方法适用于2语义词,多语义请看书中文献扩展)
我们划分出语义集P1,P2,然后划分出指示集Q1,Q2,书中利用了一种叫flip-flop的方法来计算最大化的互信息量I(P;Q)。该方法是一个有效的线性时间算法,比暴力搜索效果要好。这里重点在于提出了指示器的集合,然后我们可以根据这个集合来判断我们想要的语义如何划分。下面给出书中集合结果:
统计学自然语言处理(语义消歧)_第1张图片

基于词典的消歧

书中提供了一系列词典消歧的方法,准确率都不太高,而且思路也比较通俗,比如说利用语义不同定义里面的一些统计特性来区分,还有基于主题的分类。没有太多想细致去看的,大家有兴趣自己去看吧!

无监督消歧

书中仅仅提了一下无监督做法思路,模型与贝叶斯相似,随机初始化参数P(vj | sk),然后EM算法重新估计,确认参数后利用贝叶斯判别规则决策。这里聚类我暂时不太清楚,以后补上~

自己的体会

这里插一下自己的想法,本章主要介绍了英文的语义消歧,这里语义更多的是在说词义。对于中文而言,词语不是硬性划分的。那么我们首先会存在的一个问题就是如何去划分词语。”南京市 长江大桥”,”南京 市长 江大桥”。在英文中是存在这个歧义的。所以以下介绍的内容,对于中文处理者来说仅仅提供一些基础方案吧。估计不太适用!

你可能感兴趣的:(自然语言处理,NLP)