基于FrameNet的线上词典修辞搜索优化
2018-09-11李璠
李 璠
(西藏民族大学外语学院 陕西咸阳 712082)
一、引 言
在修辞过程中,修辞者通过使用修辞策略阐释知识的来源并标明其态度和评估,从而构建知识,将知识碎片化重新包装,进而对被修辞者产生影响。而词典编纂者与用户之间的关系就是修辞与被修辞的关系。词典的修辞过程,即传播知识和学科。[1]在传播学科过程中,学科边界的划分受知识发展的影响,而知识受世界构建影响,因此学科边界是动态的。受后现代影响,知识的碎片化导致学科权威的瓦解。词典几乎包含了所有学科,是学科之间的大熔炉,随着知识的碎片化,学科权威的瓦解,修辞者,即词典编纂者如何引导用户搜索词汇也是需要革新的。
本文主要研究线上词典,参考FrameNet的框架语义学理论,通过设置动态和静态系数,提出一套基于词典学、修辞学、语义学的线上词典搜索方法。词典搜索方式的流程为:(1)接受用户输入的修辞描述,对其进行特征提取;(2)根据(1)中得到的关键词集在词典中进行匹配,找出匹配度超出某一阈值的词集;(3)分析输入句中的语义角色并计算相似度。有的搜索引擎技术多是完成词形的匹配,用户输入想要查找的关键词,根据词语形态的匹配算法,显示包含相关词的文本,即采用用户输入词与网页中文本关键词精确匹配的方式返回用户搜索的结果,而没有分析单词或其他更基本的成分的结构关系和语义关系。本文构建的语义修辞词典检索优化方法能够很好地解决这个问题:根据词和句子的语义来计算文档与查询内容的相关度。因为在词典的内部,词汇是通过属性范畴和动态描述来表达的。动态描述就是一个语义框架,在这个框架中包含了所有的情境,而属性范畴详细地剖分了词汇的静态特征。利用语义修辞词典搜索方法进行情境搜索,其实就是动态特征和静态特征的匹配过程。[1]
二、文献综述
对机器词典FrameNet的研究这些年备受关注,它已经是自然语言处理系统的一个重要方面。[2]1986年日本建设了电子词典研究所并开发和构建了10部词典,其中包括分类词典和概念描写词典,这在一定程度上满足了自然语言处理和知识信息处理的需要。[3]
国内学者对机器词典的研究也可以追溯到1990年代,包括北京大学七五期间构建的“现代汉语语法信息库”,八五期间构建的“现代汉语语法电子词典”。1994年构建了为机器翻译服务的“现代汉语语义词典”,这是北京大学计算机语言学研究所与中科院计算所联合开发“汉英机器翻译模型系统”的过程中得出的。1996-1998年,“现代汉语语义词典”对4.9万名词、动词、形容词进行了语义分类,并对其语义搭配限制进行了简单描述,取得了阶段性进展,同时也能够帮助消解词和句法的歧义。[4]
现有研发的各种词典如WordNet、FrameNet、VerbNet等,不仅可以计算词和词之间的相似度,还可以获取词的各种语义信息等,通过使用蕴含规则的形式对各种知识进行表达,即可将这些知识用于文本酝酿和识别推理。[5]尽管,经过这几年的积累,英文的文本酝酿已经有了相当规模的知识库。但是由于知识的不足和利用不充分,加上已标注的文本蕴含对训练语料的规模限制等,导致文本识别性不高。
许多文献是将知识资源FrameNet用于文本蕴含识别的方法,但也仅仅使用了FrameNet框架词元的语义信息,未对FrameNet中的框架关系进行使用。Roni Ben Aharon、IdanSzpektor和 Ido Dagan提出了一种利用FrameNet框架及其框架关系与真实语料相结合构建文本蕴含规则知识库的方法,并构建了知识库“FRED”。
董振东曾指出“属性与属性值严格对应。不同的属性类型对应不同的属性值,世界上不存在属性没有属性值,也不存在不从属于任何属性的属性值。”[6]董振东所指的属性值是对属性具体情况的统称,他设定的属性值是性质形容词和数词。用描述性形容词组成的“属性值”概念来表示具体的属性情况也同样适用于WordNet。
刘春卉通过结合HowNet和WordNet,提出属性的具体情况包含属性值和属性特征—“属性值是对具体属性情况的定性或测量,一般用数量短语、名词和动词来表示,属性特征是指对属性具体情况的特征描述或评价”。[7](P43-44)
三、理论框架
(一)FrameNet简介
伯克利FrameNet项目对几千个英语词汇项的框架语义进行描述,并用当代英语语料库的语义注释证明来备份这些描述。[5]这些描述都是基于从大型文本语料库中提取的例句手动标注的语义注释及由词典编纂者和语言学家对其语义模式的系统分析。因此,项目的重点是人类以机器可读的形式进行编码语义知识。
FrameNet涵盖的语义领域是:健康护理,感觉-交流,交易,时间-空间,身体(身体的部分和功能),运动,生活,阶段,社会责任。[2]
项目的结果是(a)词汇资源,称为FrameNet数据库3;和(b)相关的软件工具。数据库有三个主要组成部分(详细描述如下):
其一,词汇包含条目,其中包括:(a)一些常规的字典类型的数据,主要是为了读者;(b)公式捕捉语义框架的元素可以在单词周围的短语或句子中实现的形式化方式;(c)与语义连接的已标注的例句,其中说明了公式中标识的每个潜在实现模式;(d)链接到FRAME DATABASE和其他机器可读资源(如WordNet和COMLEX)。其二,框架数据库包含每个框架的基本概念结构的描述,并为参与这些结构的元素提供名称和描述。其三,注释标示例句,标示为词汇项的语义和形态特征。这些句子为框架数据库和词典中提供的词典分析提供经验支持。这三个组成部分形成了高度相关性和紧密结合的整体:每个元素可指向另外两个元素。数据库还将包含对义项相对频率的预测和通过对比手动标注的示例与BNC语料库而计算出的完整模式(pattern)。[2]
FrameNet的工作在某些方面类似于在案例角色或角色角度描述词汇项的参数结构,但在FrameNet中,角色名称(称为框架元素或FE)对特定概念结构是本地的(框架);其中一些是相当普遍的,而另一些则是针对一小部分词汇项。在运动领域内的运输框架提供了运动者,运输方式和路径。[5]例如,DRIVING框架指定DRIVER(主要MOVER),VEHICLE(MEANS元素的具体化),以及作为次级移动器的CARGO或RIDER。在此框架中,Driver启动并控制车辆的移动。对于这个框架中的大多数动词,DRIVER或VEHICLE可以被实现为主体;车辆,船只或货物可以作为直接物体出现;PATH和VEHICLE可以作为间接补充。
FrameNet项目的计算方面旨在有效地将人类视野引入语义结构。所涉及的大部分工作是用文本标签标记文本,再次指定要处理的框架的结构,并根据注释的结果和先验描述写入字典样式的条目。除了例句提取部分之外,所有软件模块都具有高度交互性,并具有很大的用户界面要求。大部分功能由基于WWW的程序以PERL语言编写。
需要四个处理步骤产生框架语义表示的FrameNet数据库:(a)生成用于语料库查询和注释(“准备”)的语义和句法模式的初始描述;(b)提取好的例句(“子语料库提取”);(c)手工标记(“注释”);(d)基于注释和其他数据(“条目写作”)构建词汇语义表示数据库。Ruppenhofer J,Ellsworth M和Petruck MR在《FrameNet Theory and Practice》中给每一种关系定义了对应的上下位框架名称,如表1所示。
表1:FrameNet中上下位框架名称
(二)属性值元素
除了词语中的属性的所有者需要确认,具体情况也需要进行确认。例如,具体名词和抽象名词的属性字段不同,因为他们属于不同的词类。具体名词的属性字段一般包括色彩、形状、大小、构成成分、外观、是否可数、用途、如何生成等,因为这些属性是真实而存在的,是可见可触摸的。而抽象名词明显不能完全继承这些属性字段。这就要求词典的构建者在设计的过程中从实际出发,深入剖析,尽可能全面的挖掘词语的属性。
(三)静态属性和动态属性
本文将词语概念的属性分为静态属性和动态属性。静态属性用名词、性质形容词和数词,是词固有的属性。动态属性需要一系列的属性特征值来表述,是在特定的情境结构下词语所表现出来的属性。
1、动态属性
本文把词语的动态属性的概念和它的角色类别联系起来,它的属性特征描述写在其情境框架中,并且使用题元角色分析(thematic role analysis)和格角色分析(case role analysis)法表现。[8]
2、静态属性
词语必有的两个静态属性是语义特征属性和词语的关系属性。[7]
a.语义特征属性
在本文构建的语义词典中,词语的语义特征属性表征一个概念性词语所属的概念语义,是指词汇本身表层概念所表现意义语义。例如:“路由器”对应的语义特征“计算机,网络,硬件”;两岸会谈对应的语义特征值为“台湾问题,政治”。
b.词语间的关系属性
关系的定义和种类多种多样,作者认为概念和概念之间存在的所有联系都可以称其为关系。本文借鉴WordNet中词汇间的直接关系,并加入了近形关系,即与目标概念集形似的概念集。[9]
四、修辞搜索优化
现有的搜索引擎技术多是完成词形的匹配,用户输入想要查找的关键词,根据词语形态的匹配算法,显示包含相关词的文本,即采用用户输入词与网页中文本关键词精确匹配的方式返回用户搜索的结果,而没有分析单词或其他更基本的成分的结构关系和语义关系。搜索引擎的目标是尽量提供用户感兴趣的网页,减少用户不感兴趣的网页,提高查询的精度。因为计算机处理语言,用来解决人类生活中的实际问题。在很多情况下,存在用户不知道如何准确的表述词汇,而只能够把自己的想法描述出来,那么搜索引擎如何智能化地感知人类想要表达的内容,并显示我们所想要得到的关键词呢?本文构建的语义修辞词典搜索方法能够很好地解决这个问题:根据词和句子的语义来计算文档与查询内容的相关度。因为在词典的内部,词汇是通过属性范畴和动态描述来表达的。动态描述就是一个语义框架,在这个框架中包含了所有的情境,而属性范畴详细的剖分了词汇的静态特征。利用语义修辞词典进行情境搜索,其实就是动态特征和静态特征的匹配过程。
修辞搜索工作流程为:
(1)接收用户输入的修辞描述,对其进行特征提取,提取出关键词集X;
(2)根据(1)中得到的关键词集X在词典中进行匹配,找出匹配度超出某一阈值的词,组成词集Y;
(3)分析输入句中的语义角色,并与词集Y中的每一个词进行相似度计算,将X与Y进行语义相似性对比研究。
(一)计算机语义相似度
静态特征就是词的属性范畴,这里要进行的就是词的属性范畴相似度计算。我们不是把属性范畴的每一个条目进行相似度计算,而是挑选出最能决定修辞描述范畴的属性条目计算相似度。这里选择的是“语义特征”,进行核心词汇的语义特征匹配。
由于用户的表述是随意的,且因为用户的表达能力不同,极有可能一个修辞描述中存在着的多个核心词。设关键词集X{x1,x2,...,xn},其中包含有输入修辞描述中的核心词,这里用XCore表示,需要注意XCore也是一个词集,那么输入描述的语义特征INPUT →Domain=X→Domain=U(XCore→ Domain)。设词典中的词集Z{z1,z2,...,zt}定义SimDom(INPUT→Domain,Zzj→Domain)为输入的修辞描述和词典中的词zj的语义相似度。
给出计算语义相似度的算法:这个算法是一个循环算法。
SimDom(INPUT→Domain,Zzj→Domain)=0//设初值
设初值就是第一次循环开始前设定语义相似度等于0,如果是按0为完全不相似,那么第一次循环开始之前语义完全不相似。
for词集Z中的词:for是循环结构,也就是说不断重复进行下面这一句的动作,即不断重复判断语义相似度是否大于等于设定的阈值α,直到算法结束,即词集Z中的词全部比对完。
if(SimDom(INPUT→Domain,Zzj→Domain)〉= 阈值α)则把zj放入集合Y中,并记作ym(1≤m≤t 1):if是判断结构,括号里面是需要判断的条件,即判断语义相似度是否大于等于设定的这个阈值α。如果大于这个数值的话,就把zj放入集合Y中,并记作ym(1≤m≤t 1)。如果不大于就进行下一次判断,因为我们上面说这是一个循环结构,要不断重复直到算法结束。
当算法结束时,我们获得了词典中语义特征相同或相似的词集Y{y1,y2,...ym}
(二)动态特征匹配
动态特征匹配计算就是输入语句和词典中词语的语义描述框架相似度计算。定义Sim(INPUT→frame,yj→frame)用来表示输入语句描述的语义框架与词集Y中词汇Yj的语义框架相似度。定义
Sim(INPUT→frame,yj→frame)=Sim(INPUT→框架元素p,Yj→框架元素p)*
Sim(INPUT→框架元素q,Yj→框架元素q)*…*Sim(INPUT→框架元素w,yj→框架元素w)(其中p,q,...,w是输入描述与词典中词语yj对应的所有框架元素(题元角色)
当Sim(INPUT→frame,yj→frame)≥阈值β时,显示Yj
如果输入描述中的题元角色与词语Yj动态语义框架中对应的题元角色具有上下义关系,则它们之间的相似度
Sim(INPUT→框架元素p,Yj→框架元素q)=,其中表示上下义树中两个概念间的
路径长度,表示贯穿这两个概念的树结构层次。上文词典的结构设计中提到了,词汇与词汇之间有上下义关系,这种关系组成了词汇间的树结构,所以概念就是树中的结点,概念间的路径长度就是树中一个结点到另一个结点之间的分支数目。而树结构层次就是树的路径长度即从树根到叶子结点的分支总和。
算法中依据下面四个步骤来确定输入语句的题元角色:
步骤1:先找到用户输入语句中的动词。
步骤2:应用规则1和规则2寻找句子的主语和宾语。主要题元角色的确定所依据的原则:
1、主动句和陈述句中,动作动词主语一般是施事,状态动词和过程动词主语一般是受事(与格和客体格)。先于动词的名词短语是有生命的,则认定它是施事者;如果先于动词的名词短语是无生命的,则主动句中主语题元角色是工具。
2、紧跟在动词后面的未标志的名词短语认定为宾语。如果存在两个未标志的名词短语跟在动词后,那么第一个是间接宾语-受益者,第二个是接宾语-主题;如果只有一个未标志的名词短语则认定其为主题。
步骤3:其他题元角色的确定。依据原则:施事、主题、体验者、外力、结果、内容和动词的搭配关系为“及物性关系”;受益、工具、目标、起点、手段、依据与动词的搭配关系为“状语性关系”。
规则1:确定主语。如果句子最右边的题元角色是必要的,那么它一定是主语。若是可选择的,则可以忽略掉,规则可重新用到剩余的部分中。
规则2:确定宾语。从句子的左边出发,不论是必要的,还是任选的每个名词格都可当宾语,直到所有适当的宾语位置都被填满。
通过上述三个步骤就将用户输入语句进行深层角色分解。主要依据的原理是:句型和句子成分的变化不会对句中名动词间的语义关系(格)造成影响。通过步骤1到步骤3,从用户输入语句的表层句法结构探究出句子的深层语义结构。将得到的语义结构与词典中的词条进行查找匹配。
五、总 结
本文从修辞与知识关系的角度出发,在修辞过程中,修辞者通过使用修辞策略阐释知识的来源并标明其态度和评估,从而构建知识,将知识碎片化重新包装,从而对被修辞者产生影响。而词典编纂者与用户之间的关系就是修辞与被修辞的关系。学科和知识一样,是被构建的;因此学科不是固定的,是可以改变甚至被破坏的,所以学科边界也是逐渐模糊的。在传播学科过程中,学科边界的划分受知识发展的影响,而知识受世界的构建,因此学科边界是动态的。人脑在认识概念的时候,既从概念的静态特征出发,也要结合具体的语言环境(动态特征)来理解。根据认知心理学的研究,大脑中意义的心智表达是一个概念网络,调用一个词语的意义可以激活网络上相关的一大片语义节点。[3]所以本文提出了语义词典检索优化方法的构造就是一张语义范围内的知识网。
作者把构建的语义词典检索优化方法用来解决搜索中遇到的问题,从而提出了修辞搜索的概念。修辞搜索即搜索引擎的使用者希望通过对固定修辞的描述来得到某一具体词汇。因为语义词典对词的特征进行了详细的分解,所以通过一系列的相似度匹配算法能够很好的解决这个问题。