李双红,李 茹,钟立军,郭伟昱
(山西大学 计算机与信息技术学院,山西 太原 030006)
对一个句子进行完全语义分析是自然语言处理领域追求的目标之一,但是目前进行完全的语义分析还不现实。基于汉语框架网,对一个句子只针对一个目标词进行语义角色标注,并在此基础上建立框架语义依存图是进行浅层语义分析的一种有效途径。在框架语义依存图中的框架元素中,不同的词对理解这个语义角色的重要性是不同的。提取一个框架元素的语义核心词对基于核心依存图的语义计算具有十分重要的意义。
关于自动提取短语型框架元素语义核心词的研究在国内外尚未见到,但是已经有一些对短语中心词和短语结构等的相关研究。吴云芳在文献[1]中基于中文概念词典CCD, 提出了并列结构中心语的概念,并对并列成分中心语的语义相似性进行了定量考察。周强和俞士汶在文献[2]中对短语的结构和功能做了详细的划分说明。赵军、黄昌宁在文献[3]中提出了用词语潜在依存关系分析汉语baseNP结构的模型。除此之外,对短语的研究主要集中在短语的自动识别上,其中主要研究有张昱琪、周强应用基于实例的MBL (Memory-Based Learning) 学习方法,对汉语中较常见的9种基本短语的边界及类别进行识别,并利用短语内部构成结构和词汇信息对边界歧义和短语类型歧义进行了排歧处理[4]。赵军、黄昌宁从语言学的角度提出了汉语基本名词短语的概念,并在此基础上设计了一种基于转换的基本名词短语识别模型[5]。周雅倩、郭以昆等使用了基于最大熵的方法识别中文基本名词短语,在Chinese TreeBank上得到了较高的查全率和准确率[6]。干俊伟、黄德根运用规则和统计相结合的方法构造了一个介词短语识别算法,准确率和召回率都达到了80%以上[7]。
本文首先研究了框架元素语义核心词的内在机理,并给出了形式化的说明。在考察了多词块技术在提取短语型框架元素核心词上的独特优势后,给出了处理多词块和框架元素这两种体系的融合策略,并建立了在CFN标注和多词块序列标注的基础上提取短语型框架元素语义核心词的规则集,最后通过实验分析了提取效率、可行性及存在的问题。
汉语框架网(Chinese FrameNet,简称CFN) 由框架库,词元库和句子库组成[8]。每个框架包括核心框架元素和非核心框架元素以及若干词元[8]。CFN句子标注,是以框架库为基础,针对一个句子,确定一个词元和该词元所属框架,并给框架元素所在的成分标记框架元素、短语类型和句法功能三种信息。CFN句子标注实例如下:
例1:
tgt 是目标词标记,所谓目标词就是所标注的句子的框架语义结构中对各框架元素起支配作用的谓词(Predicate),它所援引(Invoke)的框架被选作标注的目标框架,它是在实际句子里被实现了的词元。在例1中,目标词“换”属于“替换”框架;reason (原因)等是框架元素标记;np (名词短语)等是短语类型标记;subj (主语)等是句法功能标记。
框架核心依存图(Frame Kernel Dependency Graph,FKDG)来源于一个句子,它是对这个句子基于一个目标词和依存于这个目标词的各个框架元素的语义依存关系的图形化表示。它由目标词、依存于目标词的框架元素的语义核心成分组成。从给定句子中抽取的核心依存图,可以看作是这个句子深层语义及其各个体现它的语义的核心成分关系的图形化表示[9]。
框架依存图(Frame Dependency Graph,FDG)是框架核心依存图的简化。它与框架核心依存图唯一不同的是其中的每个依存项是一个没有提取语义核心词的框架元素。
例1的依存图和核心依存图分别如图1和图2所示。
图1 框架依存图
图2 框架核心依存图
本文所做的工作就是要提取框架依存图中每个框架元素的语义核心词,从而把框架依存图转换为框架核心依存图,为以后的基于框架核心依存图的语义计算奠定基础。
对一个短语来说,无论是英语中的HPSG理论[10]还是汉语的多词块理论[11]都认为语法上的核心词只有一个。但我们认为一个框架元素语义上的核心词可以有一个或多个。在框架元素中,语义上的核心词汇指的是通过这些词可以理解一个框架元素所承担的语义角色的内容,并且没有冗余词汇。换句话说,一个框架元素中的词汇可以分成两部分:一部分是核心词汇,这些词汇对理解这个框架元素的语义是必要的;另一部分是修饰核心词汇的词语以及各种功能词,如:叹词、语气词、助词、标点符号等。
框架元素本质上是语义块。语义块是与激起它的谓词联系在一起的,在一个句子中,语义块更多的是为了对外显示一种语义功能。而短语是一种自完备结构,也就是说,短语是根据其语法结构的内聚性定义的,它更注重内在词语之间的语法合理性;而框架元素是根据其语义功能定义的,它更在意对句子中其他成分的功能性影响。
一个框架元素一般由一个或多个短语构成,框架元素也可以是一个句子。从形式上讲,无论简单类型的短语还是复合类型的短语都可以充当框架元素,甚至不在短语范围内的句子也能充当框架元素。但是一般不会有一个框架元素是一个简单类型短语的一部分,除非是省略的情况。例如:我的她不喜欢。这个句子是有歧义的,如果按 我的/她不喜欢,即:她不喜欢我的。在这个意思下,“我的”充当了一个框架元素,即语义块,形式上是一个形容词短语充当了一个实在的语义,但事实上是省略了“我的”后面的中心语。
为了更好的阐明框架语义核心词,我们先按语义功能把框架元素分为如下三类。
(1) 体词性框架元素。这些框架元素一般以句子中的名词、时间词、处所词和量词为中心,分别描述“实体”、“时间”、“空间”和“数量”等基本信息单元[11]。这样,体词性框架元素可进一步细分为名词性框架元素,时间性框架元素,空间性框架元素和数量性框架元素。
(2) 修饰性框架元素。主要包括形容词性框架元素、副词性框架元素和介词性框架元素。这些短语主要描述事物的形态性质以及谓语的状态、程度和方式等。
(3) 谓词性框架元素。主要包括动词性框架元素和形容词性框架元素。这些短语一般以句子中的动词、形容词和状态词为中心,分别描述“动作”、“状态”等基本信息单元。
按结构划分,框架元素语义核心词可形式化说明如下:
(1) 并列模式。包括并列体词性框架元素、并列修饰性框架元素和连谓结构框架元素。并列模式的框架元素语义核心词是它对应的短语中除虚词之外的每一个并列词语。
(2) 偏正模式。包括体词性框架元素中的偏正结构,如“美丽的花朵”;修饰性和谓词性框架元素中的状中结构和述补结构如“好得很”;体词性和修饰性框架元素中的附加结构,如“同志们”。偏正模式的框架元素的语义核心词是它对应的短语的语法上的中心词。
(3) 述宾模式。包括谓词性框架元素中的述宾结构、修饰性框架元素中的介宾结构。述宾模式的框架元素的语义核心词是它对应的短语语法上的中心词和充当这个中心词宾语的短语的中心词。
(4) 框架模式。包括形如“介词+常见短语+方位词| 助词”的修饰性框架元素和某些固定搭配,如“对/他/来说”。框架模式的框架元素语义核心词包括右边上的方位词或固定搭配右边界上的词和中间短语的语义核心词。如“在/水房/里”语义核心词是“水房里”。
由于时间短语tp和数量性短语mp代表精确的事物,所以整个短语都是核心词。这样,本文只研究np, vp, pp, sp, ap和dp这六种短语型框架元素语义核心词的提取技术。根据3.2节给出的框架元素语义核心词说明,我们在此对框架元素语义核心词具体地形式化定义如下。
1) 由基本短语块构成的框架元素语义核心词
(1) 名词短语框架元素
定中结构x+“的”+n:取“的”后面的名词;并列结构n+{n}* +[c]+n:除连词外的所有名词;c是如“和,与,同”等连词;同位结构n+n/r或r+m/n/r:当名词和代词组合在一起时,取名词为核心词,如果其他词与代词组合在一起则取代词为核心词;链式结构n+n+...+n:取最后一个名词;准名词性短语n+“们”:只提取前面的名词。
(2) 动词短语框架元素
述宾结构v+x:取动词和后面宾语核心词;述补结构v+pp,v+“得”+a/v:之取动词;状中结构dp/pp/tp/sp+v:只取后面的动词;连动结构v+v:同时提取两个动词;重叠式v +“了”+v/v +“一”+v:提取第一个动词;附加结构v +“了、着、过”:提取其中的动词。
(3) 形容词短语框架元素
状中结构d/dp+a/ap:提取后面的形容词;述宾结构,提取前面的形容词和后面的宾语;并列结构a+{a}* [+c+a]:按顺序提取所有并列的形容词;附加结构a+“着,了,过”:提取前面的一个形容词;重叠结构abab:只提前面的第一个重叠成分;述补结构,只提取形容词而不提取补语部分。
(4) 介词短语框架元素
介词短语分两种情况:对于p+n /r和p+vp,提取介词后面的名词或代词或短语的核心词,对于结构p+np+f(方位词)/比较词,提取方位词和中间短语的核心词。
(5) 处所短语框架元素
定中结构d+f/ n+s:提取后面的方位词或处所词;方位结构n /r/np+f:提取前面的名词或代词或名词短语的核心词和后面的方位词。
(6) 副词短语框架元素
“地”字结构ap/mp/vp +“地”:省略“地”;状中结构d+d/r:提取后面的d/r;并列结构dp+{dp}* [+c+dp]:提取连词以外的短语核心词。
2) 由复合短语块构成的框架元素语义核心词
复合型短语的框架元素核心词是:先以短语中的动词、介词和某些助词和方位词把短语分割成基本短语,然后提取每个基本短语的核心词,最后按原来顺序组合成整个复合型短语的核心词汇。这个策略的出发点是:被动词分割开的部分相互独立,没有依存和被依存的关系[12]。
对于诸如复合名词短语的定中结构xp +“的”+n/np以及并列结构np+{np}*+c+np,比较直观,不再讨论。主要讨论如下两种情况:
(1) 连动短语:连谓结构v/vp +vp以及并列结构vp+{vp}* [+c+vp]:以其中的每个动词为分割点,分成基本短语再运用1)中的方法识别,最后按顺序组合起来。
(2) 复合介词短语, p+np/sp/tp:提取介词后面基本短语的核心词;复合动词短语, v+np/sp/tp:提取动词和后面基本短语的核心词。
(3) 框式结构,p+np/sp/tp+f/s/t:分三部分,分别提取介词p、中间短语的核心词和后面的方位词或时间词。
其他复合类型短语的分割方法与此相似,不再赘述。
汉语多词块(MWC)[11]作为组块体系的重要组成部分,是由两个或两个以上的词语按照一定的关联关系组合形成的信息描述单位。MWC是以名词、动词、形容词等实词为中心聚合形成具有特定语义内容的词语序列。
MWC的主要特点是块内部的各个词语按照一定的句法关系聚合到一个句法语义中心词上,可以通过这个中心词体现整个多词块的外部功能。其描述核心是以下三种基本拓扑结构:左角中心结构(LCC)、右角中心结构(RCC)和链式关联结构(CHC)[11]。这三种结构又被细化为八种关系:ZX(右角中心结构),LN(链式关联结构),LH(并列关系CHC),PO(述宾关系LCC),SB(述补关系LCC),AD(附加关系LCC),JB(介宾关系LCC),CD(重叠关系)。
对于每个多词块使用了三个块标记:句法标记、关系标记和序列标记组合。如:在多词块“[vp-AD-HI 作出/v 了/u ]”中,句法标记是vp,关系标记是AD,序列标记组合是HI。vp体现了MWC的外部句法功能是动词短语,AD体现了MWC的内部词汇关联是附加结构,HI是序列标记,它与块内每个词建立起一一对应的关系,能更具体、详细地体现出三种重要的基本拓扑结构。
框架元素本质上是语义块,并且这些语义块是与框架语义学和具体的框架相关的。框架元素更多的类似于周强提出的功能块概念[13],但是还不完全一样,因为框架元素的本质是语义描述单元,而功能块是从句法的角度定义的语法描述单位。框架元素和功能块的相同之处在于都是由一个或多个多词块构成的语言描述单元。
在CFN标注中,框架元素的短语类型是广义的,既指由两个或两个以上词语组成的结构,也包括由一个词语构成的句法单位。多词块的句法标记也没有严格的定义,它也是一种广义上的句法结构,所以从句法标记上讲,框架元素和多词块是一致的。
当一个框架元素标注了词性和短语类型后,我们能够知道它的整体语法结构和内部各个词的独立语言信息,但是不知道内部各个词之间的依存关系。多词块的关系标注给出了这个短语结构整体的依存特性,序列标注具体给出了内部各个成分在这个依存结构中所承担的角色[14]。要找到一个框架元素中的核心词本质上就是要分析这个短语的语义依存关系,同时充分考虑不同词对理解这个短语语义的重要性,从而提取非修饰性的词汇。
对CFN语料库统计表明,长度在1~3的框架元素占71.64%,长度在1~5的占85.38%。而在清华大学的多词块语料库中,多词块长度为1~3的占91.87%,长度为1~5的占98.47%。从上面看出,CFN中框架元素比普通的多词块普遍要长。经过对比分析发现,一个框架元素可以包含一个或多个多词块。
为了解决一个框架元素含有多个多词块的标注问题,我们可以先对这些框架元素识别出其中的每个多词块,然后对每个单独的多词块进行关系标注和序列标注,并提取其核心词,最后按先后顺序组合起来。但是这样会增加算法的复杂性,更重要的是,多词块的识别效率并不是很高,会降低整个系统的性能。我们采用典型边界词把框架元素“打散”为类多词块的策略,来代替在框架元素内部自动识别多词块。具体策略是:对于复合名词短语的框架元素,以“的”、并列连词和顿号等表示并列结构的标点符号为分割,把复合短语型框架元素分割成简单的短语;对于复合动词和介词短语,以动词和介词为标志分割成基本短语片段;对于处所短语,以介词和后面的方位词为界进行分割成基本片段。然后对分割出来的每个基本短语进行多词块标注。
下面给出以关系标记为类别并结合3.3节中的形式化定义,在多词块序列标注基础上提取不同短语型框架元素语义核心词的规则集。
1) 一般规则
(1) ZX:包括np的定中结构,vp的状中结构,sp的定中结构,ap的状中结构,dp的状中结构。提取序列标记中的R。
(2) LN:包括np的链式结构,sp的方位结构。提取标记为H的词,当序列中无H时提取所有标记为J的词。
(3) LH:包括np的并列结构,np的同位结构,vp的连动结构,ap的并列结构,dp的并列结构。按顺序提取所有标记为J的词。
(4) PO:包括vp的述宾结构,ap的述宾结构。①如果有两个或两个以上动词,则以每个动词为界对整个短语对于进行分割处理:除动词之外的每个成分依赖于它前面的一个动词,如果前面没有动词则依赖于它后面的动词;②动词后面有以序列标记I分割的O序列时,只考虑I后面的O序列;③当有两个或两个以上连续的O时,则先识别最后一个O的词性是否为“f/s/t/q”之一,如果是则提取最后的两个标记为O的词,否则只提取最后一个标记为O的词;④当没有O时,提取标记为H和J的词。
(5) SB:包括vp的述补结构,ap的述补结构。提取第一个序列标记为P的词。
(6) AD:包括准名词性短语,dp的“地”结构,ap的“的”结构,vp和ap的附加结构。只提取标记为H的词。
(7) JB:包括pp的介宾结构。提取规则与PO类似,唯一不同的是介词不进入核心词集内。
(8) CD:包括vp和ap的重叠结构。如果里面含有诸如“不,了,一”的重叠结构,提取这些词前面的词;否则提取除I和M的所有实词,然后删除里面重复的词。
2) 不同短语类型不相容的特殊规则
(1) 在任何短语型的序列标记中出现的S都要提取,因为它是从句的主语。
(2) 对于处所短语,如果关系标记为ZX, 并且序列标记为R的词的词性为f或s, 则提取标记为R和R前面离R最近的且序列标记不是I的一个词。
(3) 对于处所短语,如果关系标记为LN,提取序列标记为H和K的词。
(4) 在PO和JB中,如果标记为I的词是诸如“和,与,或,连同,及其”等表示并列性质的词,则当作P处理,因为这样就可防止在并列性质的宾语中只抽取最后的并列成分。
(5) 如果附加结构AD中没有H, 则提取除I之外的其他成分。
本文的实验语料来自于山西大学CFN句子库。对6 771个框架元素按2∶1分成两部分:第一部分为规则抽取集,第二部分为规则测试集。对规则抽取集,先对每个框架元素人工标注多词块的关系标记和序列标记,然后根据3.3节中的形式化定义总结出如第5章的规则集,并对规则进行一致性校对。对规则测试集,先直接人工标注语义核心词,并存放在文件1中;然后对这些语料(未标注核心词)人工标注多词块的关系标记和序列标记,并运用从规则抽取集中总结出的规则提取语义核心词,把它们存在文件2中。最后通过对比文件1和文件2中每对框架元素对应的核心词,从而统计规则集的正确率和覆盖率。
我们采用正确率和覆盖率来对结果进行评测。考虑到本文的特殊性,传统的正确率不能细致地对实验做出评价,所以本文给出了一种改进的正确率计算方法。
设一个框架元素中所有的词组成集合M, 大小为m;它的语义核心词组成集合K,大小为n;在多词块基础上提取到的语义核心词组成集合T,大小为t,其中含有集合K中的k个词,那么规则集对这个框架元素的语义核心词提取正确率为:
这个公式的直观解释是,正确率意味着提取到正确的核心词的个数占全部正确的核心词的比例,即k/n,但是在最终提取的核心词中,虽然正确的核心词都是k个,如果提取到的错误的核心词(t-k)越大则说明性能越不好,所以在上面的公式中加了一个惩罚,即-(t-k)/t.
有意思的是,我们发现这个正确率其实是传统的正确率和召回率的算术平均。
其中l为测试集中属于该类别的框架元素个数。
6.2.1 实验结果
实验结果由表1~表3示出。
表1 不同关系标记的短语型框架元素实验结果
表2 不同短语类型的框架元素实验结果
表3 相同短语类型的不同长度实验结果对比
6.2.2 结果分析
从实验结果我们看到,名词短语的框架元素和副词及形容词短语的准确率比较高。其主要原因是:名词短语的框架元素比较规则,从表3看出,长度的影响不大;副词和形容词短语的框架元素大多数是由两个词构成的,并且以附加结构居多,从表2中看到,附加结构的正确率也是比较高的。
动词和介词短语框架元素,特别是长度大于5的动词和介词短语框架元素,许多含有两个或两个以上动词或介词,并且作宾语的短语结构较为复杂,从而降低了正确率。虽然针对这种情况,我们采取了如4.3节中所述的打散处理策略,但是由于打散过程中并不一定会分割正确;并且对框架元素进行打散处理之后,分割出的基本短语的短语类型识别又会造成一定的错误积累。
6.2.3 错误分析
在以上的四种错误见表4中,除前面的两种人工标注错误外,主要错误来源有两个:一是本文所定的规则对某些特殊的短语是无效的,即虽然有所考虑到了,但是对这些特殊情况不能完全适用。这种情况主要来自于动词和介词短语框架元素。第二是一些特殊的语言现象没考虑到,从而造成的规则缺失。例如:类似于“np-obj-ZX-MJIMJMMR 公益/n 林业/n 和/c 商品/n 林业/n 两/m 大/a 类/n ”的框架元素,如果按ZX的规则,则核心词为标记为R的“类”,但事实上语义上的核心应该为标记J的“林业”。所以诸如“……类”、“……方面”等偏正结构的名词性短语,提取的是“类”、“方面”等词前面成分的核心词。
表4 错误分类统计
本文立足于框架核心依存图,在研究了短语型框架元素的结构及其语义核心词的基础上,利用多词块标注体系对短语型框架元素人工进行序列标注和关系标注,从而建立了一套根据短语的多词块序列标注提取框架元素核心词的规则体系。最后通过实验初步验证了通过多词块标注提取短语核心词的可行性和有效性。
根据本文中出现的问题,下一步将重点展开以下方面的研究:一是如果对多词进行自动标注,然后提取框架元素核心词,效果会如何。二是根据一些特殊的长短语,探索它们的打散处理策略,以期制定出更加有效的复合短语框架元素的分割方法。三是研究怎样让机器自动地从多词块标注的基础上学习到本文所给出的规则集及其扩展集, 从而实现框架元素的自动识别,克服规则缺失问题。由于框架元素的语义角色和句法功能对核心词提取应该有一定的启示作用,所以最后将尝试避开多词块标注,运用CRF模型直接进行短语型框架元素核心词自动识别的研究。
[1] 吴云芳. 并列成分中心语语义相似性考察[J]. 当代语言学, 2005, 7(4):305-315.
[2] 周强, 俞士汶. 汉语短语标注标记集的确定[J]. 中文信息学报, 1996, 10(4):1-11.
[3] 赵军, 黄昌宁. 汉语基本名词短语结构分析模型[J]. 计算机学报, 1999, 22(2):141-146.
[4] 张昱琪, 周强. 汉语基本短语的自动识别[J]. 中文信息学报,2002,16(6):1-8.
[5] 赵军, 黄昌宁. 基于转换的汉语基本名词短语识别模型[J]. 中文信息学报, 1998, 12(2):1- 8.
[6] 周雅倩, 郭以昆, 黄萱菁, 吴立德. 基于最大熵方法的中英文基本名词短语识别[J]. 计算机研究与发展, 2003, 40(3):440-446.
[7] 干俊伟, 黄德根. 汉语介词短语的自动识别[J]. 中文信息学报, 2005, 19(4):17-23.
[8] 郝晓燕, 刘伟, 李茹, 刘开瑛. 汉语框架语义知识库及软件描述体系[J]. 中文信息学报, 2007, 21(5):96-100.
[9] Charles J. Fillmore, Josef Ruppenhofer, Collin F. 框架网络与语义、句法联系的表征[M].俞士汶, 黄居仁. 计算语言学前瞻. 北京:商务印书馆,2005: 21-74.
[10] Carl Pollard and Ivan A. Sag. Head-Driven Phrase Structure Grammar[M]. Chicago: University of Chicago Press, 1994.
[11] 周强. 汉语基本块描述体系[J]. 中文信息学报, 2007, 21(3): 21-27.
[12] 刘海涛. 依存语法和机器翻译[J]. 语言文字应用,1997, 3:89-93.
[13] 周强,赵颖泽. 汉语功能块自动分析[J]. 中文信息学报, 2007, 21(5):18-24.
[14] 党政法, 周强. 短语树到依存树的自动转换研究[J]. 中文信息学报, 2005, 19(3):21-27.