汉语句子相似度计算方法~
节选自: 河南大学硕士学位论文
《汉语句子相似度计算方法及其应用的研究》
周 舫 2005年5月
定义3-1
句子相似度指两个句子在语义上的匹配符合程度,值为[0,1]之间的
实数,值越大表明两个句子越相似。当取值为1时,表明两个句子在语义上完全相
同;值越小则表明两个句子相似度越低,当取值为0时,表明两个句子在语义上完
全不同。
在句子相似度计算中,按照对语句的分析深度来看,主要存在两种类型的方
法:1.基于向量空间模型的方法。该方法把句子看成词的线性序列,不对语句进行
语法结构分析,相应的语句相似度衡量机制只能利用句子的表层信息,即组成句
子的词的词频、词性等信息。由于不加任何结构分析,该方法在计算语句之间的
相似度时不能考虑句子整体结构的相似性。2.对语句进行完全的句法与语义分析,
这是一种深层结构分析法,对被比较的两个句子进行深层的句法分析,找出依存
关系,并在依存分析结果的基础上进行相似度计算。
3.1.3 基于语义依存的相似度计算方法
依存句法是由法国语言学家L.Tesniere
在其著作《结构句法基础》(1959年)
中提出,对语言学的发展产生了深远的影响,特别是在计算语言学界备受推崇。
依存语法通过分析语言单位内成分之间的依存关系揭示其句法结构,主张句子中
动词是支配其他成分的中心成分,而它本身却不受其他任何成分的支配,所有受
支配成分都以某种依存关系从属于支配者。二十世纪七十年代,Robinson
提出依
存语法中关于依存关系的四条公理,在处理中文信息的研究中,中国学者提出了
依存关系的第五条公理[25]:
1. 一个句子中只有一个成分是独立的;
2. 其它成分直接依存于某一成分;
3.
任何一个成分都不能依存于两个或两个以上的成分;
4.
如果A成分直接依存于B成分,而C成分在句中位于A和B之间,那么C或者直接依
存于B,或者直接依存处于A和B之间的某一成分。
5. 中心成分左右两边的其它成分相互不发生关系。
句子成份间相互支配与被支配、依存与被依存的现象普遍存在于汉语的词汇
(合成词)、短语、单句、复句直到句群的各级能够独立运用的语言单位之中,
这一特点称之为依存关系的普遍性。依存句法分析可以反映出句子中各成分之间
的语义修饰关系,它可以获得长距离的搭配,并跟句子成分的物理位置无关[27]。
利用依存结构计算句子间的相似度,关键的一步是如何获得句子各成分间的
依存关系信息。目前国内,哈尔滨工业大学计算机科学与技术学院智能内容管理
实验室开发了依存句法分析器,该分析器的准确率能达到86%以上。可以通过该依
存句法分析器的分析,获得句子各成分之间的依存关系。
在利用依存结构进行相似度计算时,只考虑那些有效搭配对之间的相似程度。
所谓有效搭配对是指全句核心词和直接依存于它的有效词组成的搭配对,这里有
效词定义为动词、名词以及形容词,它是由分词后的词性标注决定的。
相似度计算公式如下:
3.2 相似度计算模型
3.2.1 相似度
Dekang
Lin曾从信息论的角度给出了一个统一的、与应用领域无关的相似度的
非形式化定义[2]。他认为,A与B之间的相似度一方面与它们的共性相关,共性越
多,相似度越高;另一方面与它们的区别相关,区别越大,相似度越低;当A与B
完全相同时,相似度达到最大值。因此,要根据系统的具体实现去寻找合适的定
义。
实际上,在不同的具体应用中,相似度的含义也有所不同。例如,在基于实例
的机器翻译中,相似度主要用于衡量文本中词语的可替换程度;在信息检索中,
相似度更多的是反映文本与用户查询在意义上的符合程度;在自动问答中,相似
度反映的是句子之间语义上的匹配程度;而在多文档文摘系统中,相似度可以反
映出局部主题信息的拟合程度。
虽然没有通用的相似度定义方法,但是在实践中也形成了一些划分方法。
1.根据相似度在相似算法中的级别不同,相似度可以分为:局部相似度和整
体相似度。
句子的相似度是以局部相似度为基础的,层层递进,即句子的相似度以词语
的相似度为基础,而词语的相似度又可以看作以义原为基础。针对本文的研究对
象来说整体相似度也就是句子级的相似度。一旦句子的局部相似度计算出来以后,
系统就可以在此基础之上,计算出两个句子之间的整体相似度。
2、知识对于相似度的定义和评估起着重要的作用。根据相似度所体现的知识
含量的不同,相似度大体可分为表层的基于句法的相似度和深层的语义相似度。
表层的基于句法的相似度属于知识贫乏型相似度,根据句子的表层句法等属
性进行相似度的计算。
深层的语义相似度属于知识密集型相似度,要对句子进行较深层的语义分析,
同时要有大量的知识比如语义词典等来进行语义分析,从而计算出语义相似度。
3.2.2 相似算法
相似算法常常表现为相似度计算的公式或者模型。相似度算法应具有的四个
性质:
1.自反性:词语、句子等与其本身是相似的。
2.单调性:相似度应该连续的增加或者减少。
3.对称性:如果 A 和 B 相似,则 B 和 A 也是相似的。
4.传递性:如果 A 和 B 相似,B 和 C 相似,则 A 和 C
相似。
但是通常情况下,相似算法并不具有传递性。如果 A
和 B 相似,B 和 C 相似,
则无法判定 A 和 C 相似。这是因为计算 A 和 B
相似度的子项与计算 A 和 C 相似度
的子项是不同的。
定义 3-2 相似元
如果对 A 和 B 进行相似分析和比较,将系统 A 和 B
具有相
同属性或特性两两对应组成相似元,相似元用ui =
(ai,bi) 表示,当系统 A,B 间存在
着 n 个相似元: u1,u2,u3,...,un 时,则将这 n
个相似元以集合μ表示为:
{u1,u2,u3,...,un}。
其中,ui = (ai,bi) ,0≤ui ≤1
当ui =0
表示两系统对应元素既不相同也不相似;
当 0当ui =1
表示两系统对应元素完全相同。