自然语言处理技术的三个里程碑Word文件下载.docx
《自然语言处理技术的三个里程碑Word文件下载.docx》由会员分享,可在线阅读,更多相关《自然语言处理技术的三个里程碑Word文件下载.docx(14页珍藏版)》请在冰点文库上搜索。
进而,判断每个短语的句法功能,如主语、谓语、宾语等,及其语义角色,最终得到句子的意义表示,如逻辑语义表达式。
这就是一个句法分析的全过程。
本文要提到的第一个事实是:
短语结构语法(PhraseStructureGrammar,简称PSG)不能有效地描写自然语言。
PSG在Chomsky的语言学理论中占有重要地位,并且在自然语言的句法描写中担当着举足轻重的角色。
但是它有一些根本性的弱点,主要表现为它使用的是像词类和短语类那样的单一标记,因此不能有效地指明和解释自然语言中的结构歧义问题。
让我们先来看一看汉语中“V+N”组合。
假如我们把“打击,委托,调查”等词指派为动词(V);
把“力度,方式,盗版,甲方”等词视为名词(N)。
而且同意“打击力度”、“委托方式”是名词短语(NP),“打击盗版”、“委托甲方”是动词短语(VP)。
那么就会产生如下两条
有歧义的句法规则:
(1)NP→VN
(2)VP→VN
换句话讲,当计算机观察到文本中相邻出现的“V+N”词类序列时,仍不能确定它们组成的究竟是NP还是VP。
我们把这样的歧义叫做“短语类型歧义”。
例如:
?
该公司正在招聘[销售V人员N]NP。
地球在不断[改变V形状N]VP。
下面再来看“N+V”的组合,也同样会产生带有短语类型歧义的规则对,如:
(3)NP→NV例:
市场调查;
政治影响。
(4)S→NV例:
价格攀升;
局势稳定。
其中标记S代表小句。
不仅如此,有时当机器观察到相邻出现的“N+V”词类序列时,甚至不能判断它们是不是在同一个短语中。
也就是说,“N+V”词类序列可能组成名词短语NP或小句S,也有可能根本就不在同一个短语里。
后面这种歧义称为“短语边界歧义”。
下面是两个相关的例句:
中国的[铁路N建设V]NP发展很快。
[中国的铁路N]NP建设V得很快。
前一个例句中,“铁路建设”组成一个NP;
而在后一个例句中,这两个相邻的词却分属于两个不同的短语。
这足以说明,基于单一标记的PSG不能充分地描述自然语言中的句法歧义现象。
下面让我们再来看一些这样的例子。
(5)NP→VN1deN2
(6)VP→VN1deN2
其中de代表结构助词“的”。
例如,“[削苹果]VP的刀”是NP;
而“削[苹果的皮]NP”则是VP。
这里既有短语类型歧义,又有短语边界歧义。
比如,“削V苹果N”这两个相邻的词,可能构成一个VP,也可能分处于两个相邻的短语中。
(7)NP→PN1deN2
(8)PP→PN1deN2
规则中P和PP分别表示介词和介词短语。
例如,“[对上海]PP的印象”是NP;
而“对[上海的学生]NP”则是PP。
相邻词“对P上海N”可能组成一个PP,也可能分处于两个短语中。
(9)NP→NumPN1deN2
其中NumP表示数量短语。
规则(9)虽然表示的是一个NP,但可分别代表两种结构意义:
(9a)NumP[N1deN2]NP如:
五个[公司的职员]NP
(9b)[NumPN1]NPdeN2如:
[五个公司]NP的职员
(10)NP→N1N2N3
规则(10)表示的也是一个NP,但“N1+N2”先结合,还是“N2+N3”先结合,会出现两种不同的结构方式和意义,即:
(10a)[N1N2]NPN3如:
[现代汉语]NP词典
(10b)N1[N2N3]NP如:
新版[汉语词典]NP
以上讨论的第一个事实说明:
!
由于约束力不够,单一标记的PSG规则不能充分消解短语类型和短语边界的歧义。
用数学的语言来讲,PSG规则是必要的,却不是充分的。
因此机器仅仅根据规则右边的一个词类序列来判断它是不是一个短语,或者是什么短语,其实都有某种不确定性。
采用复杂特征集和词汇主义方法来重建自然语言的语法系统,是近二十年来全球语言学界就此作出的最重要的努力。
2.2事实之二
通过大规模语料的调查,人们发现一种语言的短语规则的分布也符合所谓的齐夫率(Zipf’sLaw)。
Zipf是一个统计学家和语言学家。
他提出,如果对某个语言单位(不论是英语的字母或词)进行统计,把这个语言单位在一个语料库里出现的频度(frequency)记作F,而且根据频度的降序对每个单元指派一个整数的阶次(rank)R。
结果发现R和F的乘积近似为一个常数。
即
F*R≈const(常数)
或者说,被观察的语言单元的阶次R与其频度F成反比关系。
在词频的统计方面齐夫律显示,不管被考察的语料仅仅是一本长篇小说,还是一个大规模的语料库,最常出现的100个词的出现次数就会占到语料库总词次数(tokens)的近一半。
假如语料库的规模是100万词次,那么其中频度最高的100个词的累计出现次数大概是50万词次。
如果整个语料库含有5万词型(types),那么其中的一半(也就是2.5万条左右)在该语料库中只出现过一次。
即使把语料库的规模加大十倍,变成1000万词次,统计规律大体不变。
有趣的是,80年代英国人Sampson对英语语料库中的PSG规则进行统计,发现它们的分布同样是扭曲的,大体表现为齐夫率[1]。
也就是说,一方面经常遇到的语法规则只有几十条左右,它们的出现频度非常非常高;
另一方面,规则库中大约一半左右的规则在语料库中只出现过一次。
随着语料库规模的扩大,新的规则仍不断呈现。
Chomsky曾提出过这样的假设,认为对一种自然语言来说,其语法规则的数目总是有限的,但据此生成的句子数目却是无限的。
但语料库调查的结果不是这个样子。
这个发现至少说明,单纯依靠语言学家的语感来编写语法规则不可能胜任大规模真实文本处理的需求,我们必须寻找可以从语料库中直接获取大规模语言知识的新方法。
几十年来,NLP学界曾发表过许多灿烂成果,有词法学、语法学、语义学的,有句法分析算法的,还有众多著名的自然语言应用系统。
那么究竟什么是对该领域影响最大的、里程碑式的成果呢?
3.三个里程碑
3.1里程碑之一一:
复杂特征集
复杂特征集(complexfeatureset)又叫做多重属性(multiplefeatures)描写。
在语言学里,这种描写方法最早出现在语音学中。
后来被Chomsky学派采用来扩展PSG的描写能力。
现在无论是在语言学界还是计算语言学界,几乎没有哪个语法系统在词汇层的描写中不采用复杂特征集,并且利用这些属性来强化句法规则的约束力。
一个复杂特征集F包含任意多个特征名fi和特征值vi对。
其形式如:
F={…,fi=vi,…},i=1,…,n特征值vi既可以是一个简单的数字或符号,也可以是另外一个复杂特征集。
这种递归式的定义使复杂特征集获得了强大的表现能力。
举例来说,北京大学俞士汶开发的《现代汉语语法信息词典》[2],对一个动词定义了约40项属性描写,对一个名词定义了约27项属性描写。
一条含有词汇和短语属性约束的句法规则具有如下的一般形式:
:
<
属性约束>
属性传递>
一般来说,PSG规则包括右部(条件:
符号序列的匹配模式)和左部(动作:
短语归并结果)。
词语的“属性约束”直接来自系统的词库,而短语的“属性约束”则是在自底向上的短语归并过程中从其构成成分的中心语(head)那里继承过来的。
在Chomsky的理论中这叫做X-bar理论。
X-bar代表某个词类X所构成的、仍具有该词类属性的一个成分。
如果X=N,就是一个具有名词特性的N-bar。
当一条PSG规则的右部匹配成功,且“属性约束”部分得到满足,这条规则才能被执行。
此时,规则左部所命名的的短语被生成,该短语的复杂特征集通过“属性传递”部分动态生成。
80年代末、90年代初学术界提出了一系列新的语法,如广义短语结构语法(GPSG)、中心语驱动的短语结构语法(HPSG)、词汇功能语法(LFG)等等。
这些形式语法其实都是在词汇和短语的复杂特征集描写背景下产生的。
合一(unification)算法则是针对复杂特征集的运算而提出来的。
“合一”是实现属性匹配和赋值的一种算法,所以上述这些新语法又统称为“基于合一的语法”。
3.2里程碑之二二:
词汇主义
在NLP领域中,第二个里程碑式的贡献叫词汇主义(lexicalism)。
语言学家Hudson曾宣称词汇主义是当今语言学理论发展的头号倾向[3]。
其出现原因也同前面所观察的两个事实有关。
词汇主义方法不仅提出了一种颗粒度更细的语言知识表示形式,而且体现了一种语言知识递增式开发和积累的新思路。
这里首先要解释一下这样一个矛盾。
一方面,语言学界一向认为,不划分词类就无法讲语法,如前面介绍的短语结构语法。
也就是说,语法“不可能”根据一个个个别的词来写规则。
但是另一方面,人们近来又注意到,任何归类其实都会丢失个体的某些重要信息。
所以从前文提到的第一个事实出发,要想强化语法约束能力,词汇的描写应当深入到比词类更细微的词语本身上来。
换句话讲,语言学呼唤在词汇层采用颗粒度更小的描写单元。
从本质上来说,词汇主义倾向反映了语言描写的主体已经从句法层转移到了词汇层;
这也就是所谓的“小语法,大词库”的思想。
下面让我们来看与词汇主义有关的一些工作。
3.2.1词汇语法法(Lexicon-grammar)
法国巴黎大学Gross教授在60年代就创立了一个研究中心叫做LADL,并提出了词汇语法的概念(http:
//www.ladl.jussieu.fr/)。
把12,000个主要动词分成50个子类。
每个动词都有一个特定的论元集。
每一类动词都有一个特定的矩阵,其中每个动词都用400个不同句式来逐一描写(“+”代表可进入该句式;
“-”表示不能)。
已开发英、法、德、西等欧洲语言的大规模描写。
INTEX是一个适用于大规模语料分析的工具,已先后被世界五十多个研究中心采用。
3.2.2框架语义学(FrameSemantics)
Fillmore是格语法(CaseGrammar)的创始人,他前几年主持了美国自然科学基金的一个名为框架语义学的项目(http:
//www.icsi.berkeley.edu/~framenet)。
该项目从WordNet上选取了2000个动词,从中得到75个语义框架。
例如,动词”categorize”的框架被定义为:
一个人(Cognizer)把某个对象(Item)视为某个类(Category)。
同原先的格框架相比,原来一般化的动作主体被具体化为认知者Cognizer,动作客体被具体化为事物Item,并根据特定体动词的性质增加了一个作为分类结果的语义角色Category。
项目组还从英国国家语料库中挑出50,000个相关句子,通过人工给每个句子标注了相应的语义角色。
例句:
Kimcategorizedthebookasfiction.
(Cog)(Itm)(Cat)
3.2.3WordNet
WordNet是一个描写英语词汇层语义关系的词库。
1990年由普林斯顿大学Miller开发
(http:
//www.cogsci.princeton.edu:
80/~wn/)。
到现在已有很多个版本,全部公布在因特网上,供研究人员自由下载。
欧洲有一个Euro-WordNet,以类似的格式来表现各种欧洲语言的词汇层语义关系。
WordNet刻意描写的是词语之间的各种语义关系,如同义关系(synonymy)、反义关系(antonymy)、上下位关系(hyponymy),部分-整体关系(part-of)等等。
这种词汇语义学又叫做关系语义学。
这一学派同传统的语义场理论和和语义属性描写理论相比,其最大的优势在于第一次在一种语言的整个词汇表上实现了词汇层的语义描写。
这是其他学派从来没有做到的。
其他理论迄今仅仅停留在教科书或某些学术论文中,从来就没有得到工程规模的应用。
下面是WordNet的概况:
95,600条实词词型(动词、名词、形容词)
被划分成70,100个同义词集(synsets)
3.2.4知网网(How-Net)
知网是董振东和董强[4]设计的一个汉语语义知识网()。
自下而上地依据概念对汉语实词进行了穷尽的分类。
15,000个动词被划分成810类。
定义了300个名词类,100个形容词类。
全部概念用400个语义元语来定义。
知网的特点是既有WordNet所描写的同一类词之间的语义关系(如:
同义、反义、上下位、部分-整体等),又描写了不同类词之间的论旨关系和语义角色。
3.2.5MindNet
MindNet是微软研究院NLP组设计的(DictionaryofContemporaryEnglish,AmericanHeritageDictionary)和一部百科全书(Encarta)中的全部句子进行分析,获得每个句子的逻辑语义表示(logicalform,简称LF)。
而LF本来就是由三元组构成的,如(W1,V-Obj,W2)表示:
W1是一个动词,W2是其宾语中的中心词,因此W2从属于W1,它们之间的关系是V-Obj。
比如(play,V-Obj,basketball)便是一个具体的三元组。
.又如(W1,H-Mod,W2),W1代表一个偏正短语中的中心词(headword),W2是其修饰语(modifier),因此W2从属于W1,它们之间的关系是H-Mod。
这种资源是完全自动做出来的,所得的三元组不可能没有错误。
但是那些出现频度很高的三元组一般来说是正确的。
MindNet已经应用到像语法检查、句法结构排歧、词义排歧、机器翻译等许多场合。
3.3里程碑之三三:
统计语言模型
第三个贡献就是语料库方法,或者叫做统计语言模型。
如果用变量W代表一个文本中顺序排列的n个词,即W=w1w2…wn,则统计语言模型的任务是给出任意一个词序列W在文本中出现的概率P(W)。
利用概率的乘积公式,P(W)可展开为:
P(W)=P(w1)P(w2/w1)P(w3/w1w2)…P(wn/w1w2…wn-1)
(1)
式中P(w1)表示第一个词w1的出现概率,P(w2/w1)表示在w1出现的情况下第二个词w2出现的条件概率,依此类推。
不难看出,为了预测词wn的出现概率,必须已知它前面所有词的出现概率。
从计算上来看,这太复杂了。
如果近似认为任意一个词wi的出现概率只同它紧邻的前一个词有关,那么计算就得以大大简化。
这就是所谓的二元模型(bigram),由
(1)式得:
P(W)≈P(w1)∏i=2,…,nP(wi/wi-1)
(2)
式中∏i=2,…,nP(wi/wi-1)表示多个概率的连乘。
需要着重指出的是:
这些概率参数都可以通过大规模语料库来估值。
比如二元概率
P(wi/wi-1)≈count(wi-1wi)/count(wi-1)(3)
式中count(…)表示一个特定词序列在整个语料库中出现的累计次数。
若语料库的总词次数为N,则任意词wi在该语料库中的出现概率可估计如下:
P(wi)≈count(wi)/N(4)
同理,如果近似认为任意词wi的出现只同它紧邻的前两个词有关,就得到一个三元模型
(trigram):
P(W)≈P(w1)P(w2/w1)∏i=3,…,nP(wi/wi-2w-1)(5)
统计语言模型的方法有点像天气预报。
用来估计概率参数的大规模语料库好比是一个地区历年积累起来的气象记录,而用三元模型来做天气预报,就像是根据前两天的天气情况来
预测当天的天气。
天气预报当然不可能百分之百正确。
这也算是概率统计方法的一个特点。
3.3.1语音识别
语音识别作为计算机汉字键盘输入的一种图代方式,越来越受到信息界人士的青睐。
所谓听写机就是这样的商品。
据报道中国的移动电话用户已超过一亿,随着移动电话和个人数字助理(PDA)的普及,尤其是当这些随身携带的器件都可以无线上网的时候,广大用户更迫切期望通过语音识别或手写板而不是小键盘来输入简短的文字信息。
其实,语音识别任务可视为计算以下条件概率的极大值问题:
W*=argmaxWP(W/speechsignal)
=argmaxWP(speechsignal/W)P(W)/P(speechsignal)
=argmaxWP(speechsignal/W)P(W)(6)
式中数学符号argmaxW表示对不同的候选词序列W计算条件概率P(W/speechsignal)的值,从而使W*成为其中条件概率值最大的那个词序列,这也就是计算机选定的识别结果。
换句话讲,通过式(6)的计算,计算机找到了最适合当前输入语音信号speechsignal的词串W*。
式(6)第二行是利用贝叶斯定律转写的结果,因为条件概率P(speechsignal/W)比较容易估值。
公式的分母P(speechsigna)对给定的语音信号是一个常数,不影响极大值的计算,故可以从公式中删除。
在第三行所示的结果中,P(W)就是前面所讲得统计语言模型,一般采用式(5)所示的三元模型;
P(speechsignal/W)叫做声学模型。
讲到这儿,细心的读者可能已经明白,汉语拼音输入法中的拼音-汉字转换任务其实也是用同样方法实现的,而且两者所用的汉语语言模型(即二元或三元模型)是同一个模型。
据笔者所知,目前市场上的听写机产品和微软拼音输入法(3.0版)都是用词的三元模型实现的,几乎完全不用句法-语义分析手段。
为什么会出现这样的局面呢?
这是优胜劣汰的客观规律所决定的。
可比的评测结果表明,用三元模型实现的拼音-汉字转换系统,其出错率比其它产品减少约50%。
3.3.2词性标注
一个词库中大约14%的词型具有不只一个词性。
而在一个语料库中,占总词次数约30%的词具有不止一个词性。
所以对一个文本中的每一个词进行词性标注,就是通过上下文的约束,实现词性歧义的消解。
历史上曾经先后出现过两个自动词性标注系统。
一个采用上下文相关的规则,叫做TAGGIT(1971),另一个应用词类的二元模型,叫做CLAWS(1987)[5]。
两个系统都分别对100万词次的英语非受限文本实施了词性标注。
结果显示,采用统计语言模型的CLAWS系统的标注正确率大大高于基于规则方法的TAGGIT系统。
请看下表的对比:
系统名TAGGIT(1971)CLAWS(1987)
标记数86133
方法3000条CSG规则隐马尔科夫模型
标注精度77%96%
测试语料布朗LOB
令C和W分别代表词类标记序列和词序列,则词性标注问题可视为计算以下条件概率的极大值:
C*=argmaxCP(C/W)
=argmaxCP(W/C)P(C)/P(W)
≈argmaxC∏i=1,…,nP(wi/ci)P(ci/ci-1)(7)
式中P(C/W)是已知输入词序列W的情况下,出现词类标记序列C的条件概率。
数学符号argmaxC表示通过考察不同的候选词类标记序列C,来寻找使条件概率取最大值的那个词类标记序列C*。
后者应当就是对W的词性标注结果。
公式第二行是利用贝叶斯定律转写的结果,由于分母P(W)对给定的W是一个常数,不影响极大值的计算,可以从公式中删除。
接着对公式进行近似。
首先,引入独立性假设,认为任意一个词wi的出现概率近似只同当前词的词类标记ci有关,而与周围(上下文)的词类标记无关。
于是词汇概率可计算如下:
P(W/C)≈∏i=1,…,nP(wi/ci)(8)
其次,采用二元假设,即近似认为任意一个词类标记ci的出现概率只同它紧邻的前一个词
类标记ci-1有关。
有
P(C)≈P(c1)∏i=2,…,nP(ci/ci-1)(9)
P(ci/ci-1)是词类标记的转移概率,也叫做基于词类的二元模型。
上述这两个概率参数都可以通过带词性标记的语料库来分别估计:
P(wi/ci)≈count(wi,ci)/count(ci)(10)
P(ci/ci-1)≈count(ci-1ci)/count(ci-1)(11)
据文献报道,采用统计语言模型方法汉语和英语的次性标注正确率都可以达到96%左右[6]。
5.3介词短语PP的依附歧义
在英语中,介词短语究竟依附于前面的名词还是前面的动词,是句法分析中一种常见的结构歧义问题。
下面通过一个例子看看,怎样用语料库方法来解决这个问题,以及这种方法究竟能达到多高的正确率。
。
PierreVinken,61yearsold,joinedtheboardasanonexecutivedirector.
令A=1表示名词依附,A=0为动词依附,则上述例句的PP依附问题可表为:
(A=0,V=joined,N1=board,P=as,N2=director)
令V,N1,N2分别代表句中动词短语、宾语短语、介宾短语的中心词,并在一个带有句
法标注的语料库(又称树库)中统计如下四元组的概率Pr:
Pr=(A=1/V=v,