计算语言学基础.docx
《计算语言学基础.docx》由会员分享,可在线阅读,更多相关《计算语言学基础.docx(37页珍藏版)》请在冰豆网上搜索。
计算语言学基础
第七章若干重要的自然语言处理的理论
第一节概述
本章将介绍若干重要的自然语言处理的理论,主要内容如下:
--语言串分析法
--短语结构语法
--递归转移网络和扩充转移网络
--通用句法生成器和线图分析法
--范畴语法
--链语法
--依存语法和配价语法
--管辖和约束理论
--词汇功能语法
--功能合一语法
--中文信息MMT模型
--蒙太谷语法
--广义短语结构语法
--中心语驱动的短语结构语法
--定子句语法
--格语法
--优选语义学
--概念依存理论
第二节语言串分析法
美国结构主义语言学的代表人物海里斯(ZelligHarris)是乔姆斯基(NoamChomsky)的老师,他在1964年发表的《句子结构的串分析》(StringAnalysisofSentenceStructure)中,提出了语言串理论(linguisticstringtheory),并在这种理论的基础上提出了“语言串分析法”(linguisticstringanalysis)。
这是海里斯为计算机进行英语句法分析而专门研究的分析法。
在海里斯的著作中,在不致引起误解的情况下,“串”(string)这个术语既可以用来表示词串(wordsequence),也可以用来表示串式(stringformula)。
所谓词串是指任何一个句子或其组成部分中按线性顺序排列的一个或多个词。
例如,
客厅里坐着两位客人
(1)
这个句子是由8个词顺序排列而成的一个词串。
其中,“客厅”、“里”、“坐”、“着”、“两”、“位”、“客人”分别是句子的组成部分,因而也是词串。
所谓串式是指用词类或其次类替换词串中的具体得出单词而形成的符号串。
例如,句子
(1)的串式是:
(2)
其中,表示名词,表示方位词,表示动词,表示助词,表示数词,表示量词。
而“客厅”、“里”、“坐”、“着”、“两”、“位”、“客人”等词串对应的串式分别是:
、、、、、、。
词串和串式实际上都是符号按线性排列而成的符号串,它们之间的区别仅在于这些符号在词串中是词,在串式中是词类。
在运用语言串分析法来分析句子时,我们将采用词串和串式这样的术语来被分析的句子或它们的某个组成部分。
在语言串分析法中,每一个句子都可以看成是由若干个基本串通过附加、连接和替换等方式组合而成的。
在组成句子的这些基本串中至少有一个是中心串(centerstring),中心串代表着这个句子的基干。
例如,句子
(1)中的中心串是:
客厅坐客人(3)
(4)
一般地说,中心串代表了一种语言中的基本句式。
除了中心串之外,基本串还包括附加串(adjunctstring)、连接串(conjunctstring)和替换串(replacementstring)。
每一个句子都由一个中心串加上零个或多个基本附加成分(elementaryadjuncts)组成,这些附加成分是具有特殊结构的词串,它们本身不是句子,它们直接邻接于中心串或附加成分的前后,或者邻接于中心串或附加成分内部的某个组成部分的前后,从而可以生成任意复杂的句子。
例如,句子
(1)可以看成是在中心串(3)的基础上,通过下列操作而构成的:
1.中心串内部的名词“客厅”后面邻接上方位词“里”;
2.中心串内部的动词“坐”后面邻接上助词“着”;
3.中心串内部的名词“客人”前面邻接上数词和量词“两”和“位”,接受“两”和“位”的修饰。
这样,从中心串出发,通过逐渐扩展的方式,就可以生成语言中无限的句子来。
用语言串分析法可以总结出句法规则,其步骤如下:
1.用相应的词类符号将词串替换成串式。
例如,将
(1)中的词串
客厅里坐着两位客人
(1)
替换成串式:
(2)
2.逐步切除词串中的附加串,以获取中心串。
例如,对于句子
(1)来说,要做如下的切除:
--切除“客厅”后面的附加串“里”;
--切除“坐”后面的附加串“着”;
--切除“客人”前面的数-量附加串“两”和“位”。
这样,便获得了中心串及其串式:
客厅坐客人(3)
(4)
4.写出针对上述分析的句法规则。
例如,对于
(1)
(2)(3)(4)来说,可以得到如下句法规则:
R1:
<中心串>→
R2:
→
R3:
→
R4:
→
以上4条规则仅仅是根据一个例句分析归纳出来的。
不过,这些句法规则已经具有了一定的抽象性,它们不仅可以描述这一个句子,而且还可以描述一类在结构上与这个句子相似的一类句子。
例如,下面的句子都可以用上述4条规则来描述:
桌子上放着五个苹果
天空中出现了一朵朵云彩
墙上挂着一幅山水画
招待所里来了三位旅客
花瓶里插着一束鲜花
广场上耸立着一座纪念碑
这些句子对应的串式都是:
如果我们针对更丰富的语言事实,对上述句法规则稍加扩充,便可以得到更多的句法规则;如果我们用这样的语言串分析法来系统地剖析现代汉语的各种类型的句子,就有可能归纳出具有较广的覆盖面的汉语语法规则。
海里斯用这样的方法,对英语的各类句子进行了语言串分析。
随后,美国纽约州立大学的研究人员采用语言串分析法成功地开发了一些实用的英语句法分析程序。
其中比较著名的系统有两个:
一个是塞杰尔(N.Sager)在80年代研制的语言串分析器LSP(LinguisticStringparser),它包括大约250条上下文无关的句法规则和200条限制,词典收词近万条。
LSP已经应用于美国的医学信息管理系统,在医院的病历和医学文献的语言信息处理方面获得了相当大的成功。
另一个是斯特扎尔考斯基(T.Strzalkowski)开发的英语句法分析器TTP(TaggedTextParser)。
TTP的机器词典是根据〈牛津现代高级英语词典〉开发的,语法分析主要采用语言串分析法,TTP接受的是带有词性标记的英语句子,已完成了对5000万词次的英语语料库的快速句法分析,每秒钟可分析两句。
第三节短语结构语法
短语结构语法是美国语言学家乔姆斯基(N.Chomsky)在50年代根据公理化方法提出的一种语言的形式描述理论。
乔姆斯基在《语言描写的三个模型》(Threemodelsforthedescription,1956)《句法结构》(SyntacticStructure,1957)《有限状态语言》(Finite-statelanguage,1958)《论语法的某些形式特性》(Oncerttaiformalpropertiesofgrammars,1959)《语法的形式特性》(Formalpropertiesofgrammars,1963)等论著中,提出了形式语言理论,这种理论基本上是从语言生成的角度来进行研究的。
短语结构语法是形式语言理论的主要内容。
在形式语言理论中,乔姆斯基提出了不同于传统语法的“形式文法”的定义。
我们要了解短语结构语法,首先必须了解乔姆斯基的形式文法究竟是什么。
乔姆斯基把形式文法理解为数目有限的规则的集合,这些规则可以生成语言中的合格句子,并排除语言中的不合格句子。
形式文法的符号用G表示,用文法G所生成的形式语言用L(G)表示。
形式语言是一种外延极为广泛的语言,它既可以指自然语言,也可以指各种用符号构成的语言(例如,计算机使用的程序设计语言)。
乔姆斯基把自然语言和各种符号语言放在一个统一的平面上进行研究,因而,他的理论就更加具有概括性。
为了与传统语言学所用的术语“语法”相区别。
我们把上述意义上的语法叫做“文法”。
乔姆斯基把形式文法G定义为四个项目的组合:
G=(Vn,Vt,S,P)
其中,Vn是非终极符号,不能处于生成过程的终点,Vt是终极符号,只能处于生成过程的终点;Vn与Vt不相交,没有公共元素;S是Vn中的初始符号;P是重写规则,其一般形式为:
φ→ψ
这里,φ和ψ都是符号串。
如果用符号#来表示符号串中的界限,那么,可以从初始符号串#S#开始,应用重写规则#S#→#φ1#,从#S#构成新的符号串#φ1#,再利用重写规则#φ1#→#φ2#,从#φ1#构成新的符号串#φ2#,……,一直到得出不能再继续重写的符号串#φn#为止,这样得出的终极符号串#φn#,显然就是形式语言L(G)中合格的句子。
可以采用这种形式文法来生成自然语言。
例如,对于汉语而言,我们写出如下的、最为简单的形式文法:
G=(Vn,Vt,S,P)
Vn={NP,VP,N}
Vt={编写,研究,大学,教授,物理,教材,……}
S=S
P:
①S→NPVP
②NP→NN
③VP→VNP
④N→{大学,教授,物理,教材,…}
⑤V→{编写,研究,…}
这里,初始符号S表示句子,NP表示名词短语,VP表示动词短语,N表示名词。
利用这些重写规则,可以从初始符号S开始,生成汉语句子“大学教授编写物理教材”,“大学教授研究物理教材”等。
“大学教授编写物理教材”这个句子的生成过程可写成如下形式(后面注明所用规则的号码):
S
NPVP①
NPVNP③
NNVNP②
NNVNN②
大学NVNN④
大学教授VNN④
大学教授编写NN⑤
大学教授编写物理N④
大学教授编写物理教材④
这样写出来的生成过程,叫做推导史。
乔姆斯基根据重写规则的形式,把形式文法分为4类:
1.0型文法:
重写规则为φ→ψ,并且要求φ不是空符号串。
2.上下文有关文法:
重写规则为φ1Aφ2→φ1ωφ2,在上下文φ1-φ2中,单个的非终极符号A被重写为符号串ω,所以,这种文法对上下文敏感,是上下文有关的。
上下文有关文法又叫做1型文法。
3.上下文无关文法:
重写规则为A→ω,当A重写为ω时,没有上下文的限制,所以,这种文法对上下文自由,是上下文无关的。
上下文无关文法又叫做2型文法。
把上下文无关文法应用于自然语言的形式分析中,就形成了“短语结构语法”(phrasestructuregrammar)
4.有限状态文法:
重写规则为A→aQ或A→a。
其中,A和Q是非终极符号,a是终极符号,而A→a只不过是A→aQ这个重写规则中当Q为空符号时的一种特殊情况。
如果把A和Q看成不同的状态,那么,由重写规则可知,由状态A转入状态Q时,可生成一个终极符号a,因此,这种文法叫做有限状态文法。
有限状态文法又叫做3型文法。
每一个有限状态文法的都是上下文无关的,每一个上下文无关文法都是上下文有关的,而每一个上下文有关文法都是0型的,乔姆斯基把由0型文法生成的语言叫0型语言,把由上下文有关文法、上下文无关文法、有限状态文法生成的语言分别叫做上下文有关语言、上下文无关语言、有限状态语言。
有限状态语言包含于上下文无关语言之中,上下文无关语言包含于上下文有关语言之中,上下文有关语言包含于0型语言之中。
在自然语言处理中,我们最感兴趣的是上下文无关语法和上下文无关语言,它们是短语结构语法理论的主要研究对象。
乔姆斯基认为,根据这样的形式语言理论,可以采用有限的规则来描述形式上是潜在地无限的句子,达到以简驭繁的目的。
他在我国黑龙江大学出版的《乔姆斯基语言理论简介》一书的序言中说:
“一个人的语言知识是以某种方式体现在人脑这个有限的机体之中的,因此,语言知识就是一个由某种规则和原则构成的有限系统。
但是一个会说话的人却能讲出并理解他从未听到过的句子以及和我们听到的不十分相似的句子。
而且,这种能力是无限的。
如果不受时间和记忆力的限制,那么一个人所获得的知识系统规定了特定形式、结构和意义的句子的数目也将是无限的。
不难看到这种能力在正常的人类生活中得到自由的运用。
我们在日常生活中所使用和理解的句子范围是极大的,无论就其实际情况而言还是为了理论描写上的需要,我们完全有理由认为人们使用和理解的句子范围都是无限的。
”早在19世纪之初,德国杰出的语言学家和人文学者洪堡德(W.V.Humboldt,1767-1835)就观察到“语言是有限手段的无限运用”。
洪堡德在《论人类语言结构的差异及其对人类精神发展的影响》(1836年单独印行)一书的第十二章“对语言方法的详细分析”中说,“语言面对着一个无限的、无边无际的领域,即一切可思维对象的总和,因此,语言必须无限地运用有限的手段,而思维力量和语言创造力量的同一性确保了语言能够做到这一点。
”(见中译本,第114页,商务印书馆,1997年)。
但是,由于当时尚未找到揭示这种理解所包含的本质内容的技术工具和方法,洪堡德的论断还是不成熟的。
乔姆斯基发展了洪堡德的理论,并从数学上作了严格的论证,这样,我们就可以根据形式语言理论来揭示“语言是有限手段的无限运用”这个论断本质内容了。
乔姆斯基的形式语言理论是当代计算机科学的基础理论之一,在算法分析、编译技术、图象识别、人工智能等领域中得到广泛的应用。
在自然语言处理中,我们应该着重研究其中的短语结构语法。
为了一览形式语言理论的全貌,下面我们对这4种类型的文法加以进一步的说明,重点介绍上下文无关文法(即短语结构语法)。
1.有限状态文法
由有限状态文法重写规则可知,当从状态A转入状态Q时,可生成一个终极符号a。
这样,我们便可以把有限状态文法想象成一种生成装置,这种装置每次能够生成一个终极符号,而每一个终极符号都与一个确定的状态相联系。
我们改用小写字母q来表示状态,如果这种生成装置原先处于状态qi,那么,生成一个终极符号之后,就转到状态qj;在状态qj再生成一个终极符号后,就转到状态qk,……等等。
这种情况,可用状态图(statediagram)来表示。
例如,如果这种生成装置原先处于某一状态q0,生成一个终极符号a后,转到状态q1,那么,其状态图为:
a
q0q1
它生成的语言是a。
如果这种生成装置原先处于状态q0,生成终极符号a后,转入状态q1,在状态q1再生成终极符号b后,转入状态q2,那么,其状态图为:
ab
q0q1q2
它生成的语言是ab。
如果这种生成装置处于状态q0,生成终极符号a后,又回到qo,那么,其状态图为:
q0a
这种状态图叫做“圈”(loop),它生成的语言是a,aa,aaa,aaaa,……等等,可简写为{an},其中,a≥0。
如果这种生成装置处于状态q0,生成终极符号a后转入状态q1,在状态q1,或者生成终极符号b后再回到q1,或者生成终极符号c后转入状态q2,在状态q2,或者生成终极符号b后再回到q2,或者生成终极符号a后转入状态q3,那么,其状态图为:
bb
q0aq1cq2aq3
它生成的语言是aca,abca,abcba,abbcba,abcbba,……等等,可简写为{abncbma},其中,n≥0,m≥0。
这种生成装置在生成了若干个终极符号后,还可以转回到前面的状态,构成一个大的封闭圈。
例如,下面的状态图:
e
a
cd
q0q1q2q3
b
#
它可以生成如acde#,abacdee#,ababacdeee#,……等终极符号串,这里,“#”表示符号串的终点。
但是,它还可以进入初始状态q0后继续生成新的符号串。
在这种情况下,q0既是初始状态,又是最后状态。
这个状态图生成的语言,可简写为{a(ba)ncdem},其中,n≥0,m≥0。
可见,给出一个状态图,我们就可能从初始状态出发,按着状态图中的路,始终顺着箭头所指的方向来生成语言。
当达到图中某一个状态时,可以沿着从这一状态引出的任何一条路前进,不管这条路在前面的生成过程中是否已经走过;在从一个状态到另一个状态时,可以容许若干种走法;状态图中还可以容许任意有限长度的、任意有限数目的圈。
这样的生成装置,在数学上叫做“有限状态马尔可夫过程”(finitestateMarkovprocess)。
状态图是有限状态文法的形象表示法,因此,根据状态图,我们可以轻而易举地写出其相应的有限状态文法。
例如,与上面那个状态图相对应的有限状态文法如下:
G=(Vn,Vt,S,P)
Vn={q0,q1,q2,q3}
Vt={a,b,c,d,e,#}
S=q0
P:
q0→aq1
q1→bq0
q1→cq2
q2→dq3
q3→eq3
q3→#q0
在这个文法中,q0,q1,q2,q3表示状态,它们都是非终极符号。
不难看出,文法重写规则P中的各条规则都符合于有限状态文法重写规则的形式。
用这种有限状态文法,我们可以画出能生成本章第二节中的“客厅里坐着两位客人”等句子的状态图:
q0q1q2q3q4q5q6qf
其中,q0初始状态,qf是最后状态。
由于状态图中使用了词类符号,,,……等,这样的有限状态文法不仅可以描述一个句子,而且可以描述一类句子。
这类句子就是汉语的存现句,它的基本格式是:
表示处所、时间的词或词组--表示存在、出现或消失的动词--助词–表示存在、出现或消失的某人、某事物
由此可见,有限状态文法有一定的描述自然语言句子的能力。
但是,由于真实的自然语言句子中常常有套迭、递归等结构,有限状态语法对这些结构的处理能力不强。
因此,在自然语言的计算机处理中,人们喜欢用有限状态文法来进行黏着语和屈折语的形态分析。
黏着语的词内有专门表示语法意义的附加成分,一个附加成分表达一种语法意义,一种语法意义也基本上由一个附加成分来表达,词根和词干的结合不紧密。
日语是一种黏着语,日语的词可以分为独立词和附属词两大类。
独立词在句子中能单独地使用,如名词、代词、数词、动词、形容词、形容动词、连体词、副词、连词、叹词等;附属词在句子中不能单独使用,只能附加在独立词之后起一定的语法作用,如助词、助动词等。
除了叹词和连词之外,独立词在句子中的地位和语法功能都由助词或助动词表示,因此,助词和助动词在日语中起着特别重要的作用。
动词、形容词和形容动词有屈折变化,其变化以后面的黏着成分为转移。
如果我们把日语中具有屈折变化的词以及它们后面附加的助词或助动词看成是由若干个不同的语素连接而成的符号串,则可以用有限状态文法对它们进行切分,在切分过程中,把词干的词汇意义和各种附加成分表示的语法意义记录在屈折变化词上,就可以得到关于这个屈折变化词的词汇信息和语法信息,达到形态分析的目的。
为此,我们可以建立一部机器词典。
在机器词典中,对于每一个词标出它的形式、它的形态信息、句法信息、语义信息、它可能接续的附属词等等。
在利用有限状态文法来切分屈折变化词的过程中,就可以将构成这个屈折变化词的每个语素在机器词典中记录的有关信息,转移到这个屈折变化词上,从而得到关于这个屈折变化此的各种信息,实现对日语的形态分析。
例如,我们可以建立如下的状态图来分析日语短语“みじかくなります”(变短了)。
q0みじかくq1なりq2ますqf
我们建立如下的词典:
みじかく:
形容词みじかしい(短的)的连用形;
なり:
动词なる的连用形;
ます:
表敬体的动词ます的终止形。
在上面的状态图中,从初始状态开始,沿着箭头所指的方向遍历这个状态图,同时把词典中有关的信息记录在“みじかくなります”上,便实现了这个短语的形态分析。
屈折语用屈折词尾表示语法意义,词可以由词根、词缀和词尾构成,词根和词缀可以组成词干,词根也可以单独成为词干,因此,我们用状态图来表示屈折语单词的形态分析过程。
在一种语言里,词缀的数量是有限的,根据词缀相对于词根(或词干)的位置,可以分为前缀、后缀和中缀三类。
前缀附加于词根(或词干)之前。
如英语中的un-往往使原词意义变成相反:
lucky(幸运的)-unlucky(倒霉的)。
后缀附加于词根(或词干)之后。
如英语中的-ness常常把形容词变成名词:
straight(平直的)--straightness(平直度)。
中缀附加于词根(或词干)之中。
如他加禄语(Tagalog)中的-um-往往表过去时:
sulat(写)--sumulat(写过了)。
屈折语中一般没有中缀,因此,我们在为屈折语形态分析设计状态图时,只考虑前缀和后缀。
在屈折语的一个单词中,前缀、词干、后缀和词尾的关系有如下几种情况:
--单词只有词干。
例如,英语的form(形式)。
--单词由前缀和词干组成。
例如,英语的reform(改革,re-是前缀,form是词干)。
--单词由词根和后缀组成。
例如,英语的formation(形成,form是词根,-ation是后缀)。
--单词由前缀、词根和后缀组成。
例如,英语的reformation(革新,re-是前缀,form是词根,-ation是后缀)。
--单词由词干和词尾组成。
例如,英语的forms(“形式”一词的复数,form是词干,-s是词尾)。
--单词由词根、后缀和词尾组成。
例如,英语的formations(“形成”一词的复数,form是词根,-ation是后缀,-s是词尾)。
--单词由前缀、词根、后缀和词尾组成。
例如,英语的reformations(“革新”的复数,re-是前缀,form是词根,-ation是后缀,-s是词尾)。
因此,我们设计如下的状态图来进行英语名词的各种变化形式的形态分析。
词干
词干
q0词根q1后缀q2词尾qf
后缀
前缀
可见采用状态图可以非常清楚地描述屈折语单词的形态分析过程。
在词根与后缀相连时,有时会发生音变。
例如,英语的词根decide与后缀–ion连接成decision时,-de-变为-s-,decide中的元音i读为[ai],在decision中变为[i]。
对于这些问题,在用状态图来进行形态分析时,应该建立相应的音变规则来处理。
可见,有限状态文法是形态分析的有力工具。
然而,由于有限状态文法的重写规则的形式限制较严,它存在着如下的缺陷:
第一,一些由非常简单的符号串构成的形式语言,不能由有限状态文法生成。
乔姆斯基举出了如下三种形式语言:
①ab,aabb,aaabbb,……,它们的全部句子都是由若干个a后面跟着同样数目的b组成的,这种形式语言可表示为L