16,821
个编辑
更改
无编辑摘要
从原理上来说,要度量两个短文本之间的相关性,需要对短文本进行深层的语义分析,在获取短文本深层语义的基础上来计算短文本之间的语义相关度。但是目前自然语言语义分析的技术水平还难以满足要求。我们认为,在目前的技术条件下,引入文本浅层分析技术,从语形相似性和组元相关性两个方面来综合度量两个短文本之间的语义相关性是合理、可行的。所谓语形相似性是指两个短文本在结构上、在词语构成上的共同之处。组元相关性指两个短文本包含的组成单元( 如词语和组块) 在语义方面的相关性。基于以上分析,本文引入常见的词形词序法[21]度量短文本之间的语形相似性。同时由于现有大部分研究将文本相似度作为文本相关度,而词形词序法是有代表性的文本相似度计算方法,因此本文将词形词序法作为一种传统的文本相关度计算方法,与本文方法进行实验比较。本文提出的两种方法以我们已有的基于 Wikipedia 的词语相关度计算方法[20]为基础,通过计算短文本之间的组元相关度( 词语相关度和组块相关度) ,并综合语形相似度和组元相关度来计算短文本之间的相关度。具体来说,语形相似度计算结合词语相关度计算构成最大词语关联法,语形相似度计算结合组块相关度计算得到动态组块法。 <br>
'''2. 2 词形词序法'''<br>
词形词序法是一种衡量句子相似度的常见方法[21]。短文本一般只包含 1 ~ 2 句子,甚至只包含几个词语,我们引入词形词序法来计算短文本之间的语形相似度。设 sameWC( A,B) 为短文本 A 和 B 中相同词语的个数,当同一词语在 A 和 B 中出现的次数不同时,以出现次数少的计数,则短文本 A 和 B 的词形相似度可由式( 1) 计算: <br>[[文件:Wikipedia公式1.png]]<br>WordSim( A,B) = 2 × samewc( A,B) len( A) + len( B) ( 1)<br>可以证明,0≤WordSim( A,B) ≤1。 设 OnceWS( A,B) 表示 A 和 B 中都出现且只出现一次的词语集合。Pfirst( A,B) 表示 OnceWS( A,B) 的词语在 A 中的位置序号构成的向量。Psecond( A,B) 表示 Pfirst( A,B) 中的分量按对应词语在 B 中的词序排列生成的向量。RevOrd( A,B) 表示Psecond( A,B) 各相邻分量的逆序数。则 A 和 B 的词序相似度可由式( 2) 计算: <br>[[文件:Wikipedia公式2.png]] <br>OrdSim( A,B) = 1 - RevOrd( A,B) OnceWS( A,B) -1 OnceWS( A,B) >1 1 OnceWS( A,B) =1 0 OnceWS( A,B) { =0 ( 2)<br>易证,0≤OrdSim( A,B) ≤1。综合考察词形相似度和词序相似度,短文本 A 和 B 的语形相似度可由式( 3) 计算: <br>Simword ( A,B) = λ1 × WordSim( A,B) + λ2 × OrdSim( A,B) ( 3)其中 λ1和 λ2为常数,并且满足 λ1 + λ2 = 1,因此 0≤Simword ( A, B) ≤1。由于词形相似度起主要作用,词序相似度起次要作用,因此一般有 λ1 > λ2。 <br>2. 3 最大词语关联法两个短文本包含的词语最大词语关联法<br>两个短文本包含的词语( 特别是名词) 之间的语义相关性是这两个短文本之间相关性的重要反映。设 A 和 B 是两个待84 计算机应用与软件 2015 年比较的短文本,经过分词和词性过滤后,得到两个短文本的特征词向量 A' = { a1,a2,…,am } 和 B' = { b1,b2,…,bn } ,不失一般性,
可令 n≥m。构建两个短文本的词语特征相关矩阵,见式( 4) :<br>
<br>
[[文件:Wikipedia公式4.png]]
<br>
S = s11 s12 … s1j … s1n s21 s22 … s2j … s2n<br>
<br>
已有的基于 Wikipedia 的词语相关度计算方法计算得到[20]。矩 阵 S 第 i 行中的最大值是短文本 A 中词语 ai与短文本 B 中词语
相关度最大的词语的相关度值。取 S 中每一行具有最大值的元
素,构成短文本 A 和 B 的最大词语关联序列: <br>[[文件:Wikipedia公式5.png]]<br>maxL = { s1,x1,s2,x2,…,sm,xm } ( 5)<br>
然后,由式( 6) 计算 A 和 B 之间的词语相关度: Simsem ( A,B) = ∑mi = 1 ( si,xi ×槡wi × wxi ) m ( 6)
其中,wi和 wxi