5 CCD词典的相似度算法及识别实验
计算词语的相似度,目前主要技术就是利用现有的语义资源,通过计算概念之间的语义距离来获得词语的相似度。Li Sujian[9]利用《知网》和《同义词词林》提出了一种词语语义相似度的计算方法,加权合并了《同义词词林》的词义相似度、《知网》语义表达式的义原相似度和义原关联度。刘群[10]基于《知网》的词汇语义相似度计算,提出更为细致的计算方法,其不仅考虑了第一独立义原的描写方式,同时也考虑了其他独立义原、关系义原、符号义原等多方面的因素,词语相似度最好效果为0.833。
国外学者利用WordNet资源也进行了大量相似度算法实验。例如,Leacock & Chodorow[11]相似度的计算基于如下的假设:两个概念的距离越短,它们的相似度越高。
这里simndist表示名词的相似度,W1, W2的相似度通过两个词语的语义距离来衡量,表示两个概念的最短距离。MAX表示分类的最大深度。Wu & Palmer[12]利用WordNet分类体系中两个概念的深度来计算词语的相似度。公式如下:
这里depth(LCS)表示两个概念的最小共同包含深度。
5.1 隐喻相似度的算法实现
隐喻相似度计算的最终目标就是建立隐喻的相关推理。即通过一个隐喻表达“鲜花的海洋”可以推断出“玫瑰的海洋”也是隐喻。如果能够推断“鲜花”和“玫瑰”的概念距离最短,就可以进行隐喻推理。
对于两个词语W1和W2,如果W1在CCD中有n个概念:C11, C12, …, C1n, W2在CCD中有m个概念:C21, C22, …, C2m,可以把两个词语之间的相似度问题归结为两个概念之间的相似度问题。W1和W2的相似度等于这两个词语各个概念的相似度的最大值,公式表示如下:
当然,这里考虑的是孤立的两个词语的相似度。不过本文的计算利用了经过机器+人工排歧的CCD词典,每个词语对应一个语义类(这里同一个语义类的概念节点,本文不做区分,只选择最上位的节点作为最后的概念),然后再对概念计算相似度。公式转换成:
这样隐喻推理完全可以利用CCD概念节点的距离关系来进行,由于CCD词典兼容了WordNet的设计思想,因此上面的Leacock & Chodorow和Wu &Palmer相似度算法同样适用于汉语概念的相似度计算。本文选择Leacock &Chodorow的算法来计算隐喻相似度。本文设定W1, W2的相似度如果大于一定的阈值T,就认为其相似。
根据Leacock & Chodorow相似度算法,词语的相似度计算可以通过两个词语的语义距离来衡量:
由公式得到的算法是:
(1)预测时,判断源域前的名词是否在模型中出现,若不出现则需要对该名词进行相似度推理。
(2)找到需要进行推理的名词N0,对于模型中所有的同源域的名词Ni(i=1,2, …, m),要一一计算该名词N0与模型中名词Ni之间的距离。若N0与Ni的距离小于某一定值dist(如:距离小于3),则用模型中的名词Ni代替N0来进行隐喻识别。
(3)所有的Ni与N0的距离都大于上述定值dist,则保持原来的结果。
同时也增加附加规则:
(1)推理以测试语料的出现与否为标准。
通过词汇特征推理同义词隐喻,一般来说,同义词集合中隐喻表达相对少,所以对于隐喻的情况要严格限定。例如:
训练语料中有“食粮,精神食粮”为 隐喻m
测试语料中有“粮食、食物、养料 ”
其同义词集合为:03_00011575
【粮食 食品 食物 伙食 养分 养料 食粮 饭食 营养物 营养素 主食】
虽然“食粮”和“ 粮食 食品 食物 伙食 养分 养料 饭食 营养物 营养素主食”来自一个同义词集合,但是并不是所有的词都能进入n+n隐喻表达。例如:
A B C
精神食粮 *精神粮食 × 精神主食
精神养料 *精神食物 × 精神食用品
精神食品 *精神养分 × 精神伙食
A式“精神食粮、精神养料”在语料中经常见到,C式中“精神主食、精神食用品”一般不能说,B式“精神粮食、精神食物”介于两者之间,是否有隐喻用法还须具体分析。有些词语现在虽然没有隐喻,但随着语言的发展,特别是当“精神食粮”类似的隐喻出现之后,其同义词就有隐喻的可能。关于“食物”隐喻的用法还有很多,例如“快餐”是改革开放后的新名词,现在出现了“文化快餐、情感快餐、新闻快餐”之说,因此推断是否为隐喻要以语料为依据。如果没有类似说法就判定为非隐喻。
在训练语料中出现“精神食粮”,在测试语料中出现了“精神养料”,根据n2“食粮、养料”来自一个同义词集合,n1又完全相同,因此判断隐喻。“粮食”在测试语料中也出现,不过没有隐喻表达“精神粮食”的类似说法,因此判定为非隐喻。
(2)n2的推理不能单独进行,需要和n1的推理相互配合。有时训练语料中n2是隐喻,但是其同义词是字面意义。例如:
训练语料中有:“旗帜 教育的旗帜”为隐喻m
测试语料中有:旗帜的同义词“国旗”,“中华人民共和国/ns的/u国旗/n no-m”
其同义词集合为:06_02472674【国旗 旗帜】
训练语料中有隐喻表达“教育的旗帜”,测试语料中又出现了“国旗”。“旗帜”和“国旗”来自一个同义词集合,具备n2推理的条件,“旗帜”和“国旗”可以进行替换,替换之后,用“旗帜”的上下文特征和辅助特征来预测“国旗”的隐喻情况,由于它们的上下文环境“教育”和“中华人民共和国”有很大不同,因此是否为隐喻还需要n1的推理才能作出最后判断。
5.2 隐喻相似度实验
根据上述相似度算法和辅助规则的设计,本文在wang[7]最大熵模型+辅助特征实验的基础上,又增加了隐喻相似度推理的实验。为了检验实验效果,本文也在识别实验的过程中,建立了汉语隐喻知识库,利用知识库部分信息进行对比实验。训练语料抽取了1998年(1—4月)标注语料中“n+的+n、n+n”的全部隐喻用例。测试语料抽测了2001年《人民日报》2000个句子(包含95个源域词语)。最后的实验结果如表5所示:
表5 隐喻相似度推理+隐喻知识库测试结果
通过隐喻知识库识别实验,可以看出,完全利用隐喻知识库表进行的识别效果不理想。后两次实验均以最大熵模型为基础,同时连接CCD进行相似度推理,不同之处在于是否使用隐喻知识库。通过三次实验可以看出,利用最大熵模型连接CCD的识别实验提高效果最明显,召回率和F值达到了70.00%和74.67%。这说明最大熵模型中特征和相似度计算方法对隐喻识别起到了关键作用。最后的实验连接了名词隐喻知识库,实验结果又验证了名词隐喻知识库的有效性。