发明内容
本发明的目的在于提供一种文本间的文本相似度计算方法和系统,文本中的词汇间的词义相似度计算方法和系统,以及其应用系统,其能够显著提高现有的文本相关的,特别是有关短文本的信息检索技术的性能。
为实现本发明目的而提供的一种文本相似度计算方法,包括下列步骤:
步骤A,根据词汇数据库进行初始化,得到词汇间的初始词义相似度,并根据初始词义相似度计算文本集中文本间的初始语义相似度;
步骤B,根据所述初始化得到的词义相似度和文本间的初始语义相似度,交替迭代计算文本集中的各个文本间的语义相似度和词汇间的词义相似度,直至收敛;根据迭代计算的收敛结果,以最终词义相似度构造所有词汇间的最终词义相似矩阵;
步骤C,根据所述最终词义相似矩阵,将原始文本的文本词频向量变换为新的文本词频向量,计算出所述文本集的文本相似度。
所述的文本相似度计算方法,还可以包括下列步骤:
步骤D,当新文本加入到所述文本集时,利用所述的最终词义相似矩阵将所述新文本的文本词频向量变换为新的词频向量,并以此计算所述新文本和所述文本集的文本相似度。
所述步骤D还包括下列步骤
将所述新文本加入到所述文本集中,重复步骤B~C,得到更新的词义相似矩阵,重新计算新的文本词频向量。
所述步骤A中所述根据词汇数据库进行初始化,得到词汇间的初始词义相似度,并根据初始词义相似度计算文本间的初始语义相似度,包括下列步骤:
步骤A1,给词汇数据库中的边赋予权重;
步骤A2,根据词汇间的基于所述权重的最短路径长度计算词汇间的初始词义相似度;
步骤A3,根据步骤A2得到的词汇间的初始词义相似度计算文本集中文本的初始语义相似度。
所述步骤A1中,给词汇数据库中的边赋予权重,包括下列步骤:
如果两个词的概念中具有一个或多个相同的词义,那么在这两个词的概念之间添加一条边,并给该边赋予权重;和/或,
如果两个词的概念之间具有局部-整体关系,那么在它们之间添加一条边,并给该边赋予权重;
所述边的权重是根据边的深度计算得到的。
所述步骤A2中,计算词汇间的词义相似度,是通过下列公式来计算词汇间的词义相似度:
其中w1,w2表示两个词,γ是一个大于0的阈值,length(w1,w2)为词汇w1,w2间的基于所述权重的最短路径长度。
所述步骤A3中,计算得到文本间的语义相似度,是通过下列公式计算得到:
其中,
Pik表示了词汇wi和wk之间的词义相似度,分母的作用是用同义词进行规范化。
所述步骤B中,交替迭代计算文本间的语义相似度和词汇间的词义相似度,直至收敛,包括下列步骤:
步骤B1,对衰减因子λ赋予初值,设定收敛条件;
步骤B2,根据文本间的语义相似度计算词汇间的词义相似度;
步骤B3,根据步骤B2计算得到的词义相似度,计算得到文本间的语义相似度;
步骤B4,减小衰减因子λ,判断是否满足收敛条件,如果是,则迭代计算结束;否则,转步骤B2。
所述步骤B2中,计算词汇间的词义相似度,是通过下式计算得到的:
所述步骤B3中,计算文本间的语义相似度,是通过下式计算得到的:
其中,λ是一个在0,1之间取值的衰减因子。
所述步骤B中,所述最终词义相似矩阵为:
其中,
每个元素Pjk表示了词wj和wk之间的词义相似度,分母的作用是用同义词进行规范化。
所述步骤B还包括下列步骤:
根据计算收敛后得到的所有文本间的语义相似度的所有元素组成的最终语义相似矩阵:
其中,
每个元素Qjk表示了文本词频向量dj和dk之间的语义相似度,分母的作用是在相似文本之间进行规范化。
所述步骤C中,根据所述最终词义相似矩阵,将原始文本的文本词频向量变换为新的文本词频向量,为:
利用下式,通过最终词义相似矩阵P和文本词频矩阵D将文本集中的所有的文本映射到新的文本词频矩阵
所述步骤C中,计算出所述文本集的文本相似度,具体包括如下步骤:
根据新的文本词频矩阵
计算得到文本集中文本间的文本相似矩阵S:
其中,S
i,j是标号为i和标号为j的短文本之间的相似度,
为
的转置,S
i,j为两个文本i,j向量的点积。
所述步骤C中,计算出所述文本集的文本相似度,是使用向量余弦模型计算文本相似度。
所述步骤B中,在计算收敛得到所述词汇间的词义相似度矩阵之后,还包括下列步骤:
对新的文本词频矩阵进行降维,使得能够用相对较低的维数来表示新的空间;同时获得降维后的最终词义相似矩阵。
通过下式,使用PCA降维方法进行降维:
其中, 是经过转换过后的具有k列的新的文本词频矩阵,W是转换矩阵,它的每一列是 的协方差矩阵的前k个特征向量之一;此时 为降维后的最终词义相似矩阵;
其中k<N。
所述步骤D,当新文本加入到所述文本集时,利用所述的词义相似矩阵将所述新文本的文本词频向量变换为新的词频向量,并以此计算所述新文本和所述文本集的文本相似度,为:
用最终词义相似矩阵或降维后的最终词义相似矩阵把所述新文本的文本词频向量映射变换到新的文本词频向量,计算所述新文本和已有文本之间的语义相似度。
所述计算新文本和已有文本之间的语义相似度,是通过下式计算:
sim(dnew,di)=dnewPP′d′i;
其中,dnew是新加入的文本的词频向量,di是标号为i的文本的词频向量,P′和d′为相应的矩阵和向量的转置,文本相似度为两个向量的点积。
为实现本发明目的还一种文本相似度计算系统,包括词汇数据库模块和文本集模块,词汇数据库模块包括至少一词汇数据库,文本集模块包括至少一文本集,还包括初始化模块,迭代计算模块,最终相似度计算模块,其中:
所述初始化模块,用于根据词汇数据库进行初始化,计算得到词汇间的初始词义相似度,并根据初始词义相似度计算文本间的初始语义相似度;
所述迭代计算模块,用于根据初始化得到的词汇间的词义相似度和文本间的初始语义相似度,进行交替迭代计算所述文本集中的各个文本间的语义相似度和词汇间的词义相似度直至收敛;根据迭代计算的收敛结果,以最终词义相似度构造所有词汇间的最终词义相似矩阵;
所述最终相似度计算模块,用于根据所述最终词义相似矩阵,将原始文本的文本词频向量变换为新的文本词频向量,计算出所述文本集的文本相似度。
所述最终相似度计算模块中计算出所述文本集的文本相似度是使用向量的点积或余弦模型计算文本相似度。
所述最终相似度计算模块,还用于当新文本加入到所述文本集时,利用所述的最终词义相似矩阵将新文本集中的文本词频向量变换为新的词频向量,然后计算所述新文本和所述文本集中的文本相似度。
所述最终相似度计算模块将所述新文本加入到所述文本集中,再次调用系统,得到更新的最终词义相似矩阵,重新计算新的文本词频向量。
所述迭代计算模块,还用于通过最终词义相似矩阵和文本词频矩阵将文本集中的所有的文本映射到新的文本词频矩阵并通过对新的文本词频矩阵进行降维来获得降维后的最终词义相似矩阵,降维后的最终词义相似矩阵只保留该矩阵中每个词与那些最有代表性的词的词义相似度元素。
为实现本发明目的进一步提供一种词义相似度计算方法,包括下列步骤:
步骤A′,根据词汇数据库进行初始化,得到词汇间的初始词义相似度,并根据初始词义相似度计算文本间的初始语义相似度;
步骤B′,根据所述初始化得到的词义相似度和文本间的初始语义相似度,进行交替迭代计算文本集中的各个文本间的语义相似度和词汇间的词义相似度,直至收敛;根据迭代计算的收敛结果,以最终词义相似度构造所有词汇间的最终词义相似矩阵。
所述步骤B′还包括下列步骤:
通过最终词义相似矩阵和文本词频矩阵将文本集中的所有的文本映射到新的文本词频矩阵并通过对新的文本词频矩阵进行降维来获得降维后的最终词义相似矩阵,降维后的最终词义相似矩阵只保留该矩阵中每个词与那些最有代表性的词的词义相似度元素。
所述步骤A′中所述根据词汇数据库进行初始化,得到词汇间的初始词义相似度,并根据初始词义相似度计算文本间的初始语义相似度,包括下列步骤:
步骤A1′,给词汇数据库中的边赋予权重;
步骤A2′,根据词汇间的基于所述权重的最短路径长度计算词汇间的词义相似度;
步骤A3′,根据步骤A2′得到的词汇间的初始词义相似度计算文本集中文本的初始语义相似度。
所述步骤A1′中,给词汇数据库中的边赋予权重,包括下列步骤:
如果两个词的概念中具有一个或多个相同的词义,那么在这两个词的概念之间添加一条边,并给该边赋予权重;
和/或,
如果两个词的概念之间具有局部-整体关系,那么在它们之间添加一条边,并给该边赋予权重;
所述边的权重是根据边的深度计算得到的。
所述步骤A2′中,计算词汇间的词义相似度,是通过下列公式来计算词汇间的词义相似度:
其中w1,w2表示两个词,γ是一个大于0的阈值,Length(w1,w2)为词汇w1,w2间的基于所述权重的最短路径长度。
所述步骤A3′中,计算得到文本间的语义相似度,是通过下列公式计算得到:
其中,
Pik表示了词汇wi和wk之间的词义相似度,分母的作用是用同义词进行规范化。
所述步骤B′,交替迭代计算所述文本集中的各个文本间的语义相似度和词汇间的词义相似度直至收敛,包括下列步骤:
步骤B1′,对衰减因子λ赋予初值,设定收敛条件;
步骤B2′,根据文本间的语义相似度计算词汇间的词义相似度;
步骤B3′,根据步骤B2′计算得到的词义相似度,计算得到文本间的语义相似度;
步骤B3′,减小衰减因子λ,判断是否满足收敛条件,如果是,则迭代计算结束;否则,转步骤B2′。
所述步骤B2′中,计算词汇间的词义相似度,是通过下式计算得到的:
所述步骤B3′中,计算文本间的语义相似度,是通过下式计算得到的:
其中,λ是一个在0,1之间取值的衰减因子。
为实现本发明目的还提供一种词义相似度计算系统,包括词汇数据库模块和短文本集模块,所述词汇数据库模块包括至少一词汇数据库,所述短文本集模块包括至少一短文本集,其特征在于,还包括初始化模块,词义迭代计算模块,其中:
所述初始化模块,用于根据词汇数据库进行初始化,计算得到词汇数据库中词汇间的初始词义相似度,并根据初始词义相似度计算文本间的初始语义相似度;
所述词义迭代计算模块,根据初始化得到的词汇间的词义相似度和文本间的初始语义相似度,交替迭代计算所述短文本集中的各个短文本间的语义相似度和词汇间的词义相似度直至收敛,根据迭代计算的收敛结果,以最终词义相似度构造所有词汇间的最终词义相似矩阵。
所述词义迭代计算模块,还用于通过最终词义相似矩阵和文本词频矩阵将文本集中的所有的文本映射到新的文本词频矩阵并通过对新的文本词频矩阵进行降维来获得降维后的最终词义相似矩阵,降维后的最终词义相似矩阵只保留该矩阵中每个词与那些最有代表性的词的词义相似度元素。
为实现本发明目的而提供一种词义相似度排列表装置,所述装置包括一芯片,其特征在于,所述芯片中存储有一词义相似度矩阵表,所述词义相似度矩阵表中的每个元素为词义相似度,该词义相似度是通过词义相似度计算系统计算得到;
所述词义相似度计算系统包括词汇数据库模块和短文本集模块,所述词汇数据库模块包括至少一词汇数据库,所述短文本集模块包括至少一短文本集;
所述的词义相似度计算系统,还包括初始化模块,词义迭代计算模块,其中:
所述初始化模块,用于根据词汇数据库进行初始化,计算得到词汇数据库中词汇间的初始词义相似度,并根据初始词义相似度计算文本间的初始语义相似度;
所述词义迭代计算模块,根据初始化得到的词汇间的词义相似度和文本间的初始语义相似度,交替迭代计算所述短文本集中的各个短文本间的语义相似 度和词汇间的词义相似度直至收敛,根据迭代计算的收敛结果,以最终词义相似度构造所有词汇间的最终词义相似矩阵。
所述词义迭代计算模块,还用于通过最终词义相似矩阵和文本词频矩阵将文本集中的所有的文本映射到新的文本词频矩阵并通过对新的文本词频矩阵进行降维来获得降维后的最终词义相似矩阵,降维后的最终词义相似矩阵只保留该矩阵中每个词与那些最有代表性的词的词义相似度元素。
所述文本集为短文本集。
所述词汇数据库或者是英文的WordNet词汇数据库,或者是中文的HowNet词汇数据库或同义词词林,或者他们的组合。
本发明还提供一种问答系统,包括一文本相似度计算系统,所述文本相似度计算系统,包括词汇数据库模块和文本集模块,词汇数据库模块包括至少一词汇数据库,文本集模块包括至少一文本集,其特征在于,还包括初始化模块,迭代计算模块,最终相似度计算模块,其中:
所述初始化模块,用于根据词汇数据库进行初始化,计算得到词汇间的初始词义相似度,并根据初始词义相似度计算文本间的初始语义相似度;
所述迭代计算模块,用于根据所述初始化得到的词汇间的词义相似度和文本间的初始语义相似度,交替迭代计算所述文本集中的各个文本间的语义相似度和词汇间的词义相似度直至收敛,根据迭代计算的收敛结果,以最终词义相似度构造所有词汇间的最终词义相似矩阵;
所述最终相似度计算模块,用于根据所述最终词义相似矩阵,将原始文本的文本词频向量变换为新的文本词频向量,计算出所述文本集的文本相似度。
所述的问答系统,所述最终相似度计算模块中计算出所述文本集的文本相似度是使用向量的点积或余弦模型计算文本相似度。
所述的问答系统的最终相似度计算模块,还用于当新文本加入到所述文本集时,利用所述的最终词义相似矩阵将新文本集中的文本词频向量变换为新的词频向量,然后计算所述新文本和所述文本集中的文本相似度。
所述的问答系统中,所述最终相似度计算模块将所述新文本加入到所述文本集中,再次调用系统,得到更新的最终词义相似矩阵,重新计算新的文本词频向量。
所述的问答系统中,所述迭代计算模块,还用于通过最终词义相似矩阵和文本词频矩阵将文本集中的所有的文本映射到新的文本词频矩阵并通过对新的文本词频矩阵进行降维来获得降维后的最终词义相似矩阵,降维后的最终词义相似矩阵只保留该矩阵中每个词与那些最有代表性的词的词义相似度元素。
本发明进一步提供一种图像检索系统,包括一文本相似度计算系统,所述文本相似度计算系统,包括词汇数据库模块和文本集模块,词汇数据库模块包括至少一词汇数据库,文本集模块包括至少一文本集,其特征在于,还包括初始化模块,迭代计算模块,最终相似度计算模块,其中:
所述初始化模块,用于根据词汇数据库进行初始化,计算得到词汇间的初始词义相似度,并根据初始词义相似度计算文本间的初始语义相似度;
所述迭代计算模块,用于根据初始化得到的词汇间的词义相似度和文本间的初始语义相似度,进行交替迭代计算所述文本集中的各个文本间的语义相似度和词汇间的词义相似度直至收敛,根据迭代计算的收敛结果,以最终词义相似度构造所有词汇间的最终词义相似矩阵;
所述最终相似度计算模块,用于根据所述最终词义相似矩阵,将原始文本的文本词频向量变换为新的文本词频向量,计算出所述文本集的文本相似度。
所述的图像检索系统中,所述最终相似度计算模块中计算出所述文本集的文本相似度是使用向量的点积或余弦模型计算文本相似度。
所述的图像检索系统中,所述最终相似度计算模块,还用于当新文本加入到所述文本集时,利用所述的最终词义相似矩阵将新文本集中的文本词频向量变换为新的词频向量,然后计算所述新文本和所述文本集中的文本相似度。
所述的图像检索系统中,所述最终相似度计算模块将所述新文本加入到所述文本集中,再次调用系统,得到更新的最终词义相似矩阵,重新计算新的文本词频向量。
所述的图像检索系统中,所述迭代计算模块,还用于通过最终词义相似矩阵和文本词频矩阵将文本集中的所有的文本映射到新的文本词频矩阵并通过对新的文本词频矩阵进行降维来获得降维后的最终词义相似矩阵,降维后的最终词义相似矩阵只保留该矩阵中每个词与那些最有代表性的词的词义相似度元素。
本发明的有益效果是:本发明提出的词义相似度、文本相似度计算方法和系统,在计算词汇间词义相似度前,给词汇数据库中的边赋予权重;然后利用交替迭代计算文本间语义相似度和词汇间词义相似度直至收敛;根据迭代收敛结果构造包括文本中所有词汇的词义相似矩阵,并根据此词义相似矩阵把原始文本的词频向量转化为新的空间中的新的词频向量表达,然后根据新的词频向量计算文本相似度。实验表明本发明的词义相似度计算方法比现有方法的更接近人类对词义相似度的判断;本发明的文本相似度计算方法可以显著地提高文本相关信息检索技术的性能。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种文本相似度、词义相似度计算方法和系统及应用系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例特别是针对短文本的文本相似度、词义相似度计算方法和系统及应用系统,其中,所述短文本可以为一个很小的文本段落,可能仅由几个词汇或者句子构成。但是,特别需要说明的是,本发明的文本相似度计算方法同样适用于其他的文本,特别是长文本的文本相似度计算方法。因为长文本也是由短文本组成,所以,本发明只针对短文本的文本相似度计算方法进行陈述,但这并不是对本发明的限制。
本发明的文本相似度、词义相似度计算方法和系统,根据词汇数据库获得所有词汇的初始词义信息,进行词汇间的词义相似度初始化得到初始词义相似度,并根据初始词义相似度计算文本集中的文本间的初始语义相似度,然后交替迭代计算文本集中的文本间的语义相似度和词汇间的词义相似度直至收敛,然后根据迭代计算的收敛结果,构造所有词汇的词义相似矩阵(Term ProximityMatrix,TPM),并根据所述词义相似矩阵把原始文本集的文本词频向量转化为新的文本词频向量(新的词频相当于包括了同义词的词频),计算得到该文本集中的文本相似度。
如图1所示,下面进一步详细说明本发明的文本相似度、词义相似度计算方法:
在本发明的文本相似度、词义相似度计算方法中,将词汇数据库中获得的词义信息和所涉及的文本集中蕴含的词义统计信息这两种信息以非线性的方式组合在一起,从而计算得到文本集中文本相似度和词义相似度。
所述的文本相似度、词义相似度计算方法首先进行词汇间词义相似度的初始化,得到所有词汇间的初始词义相似度,并根据初始词义相似度计算文本集中的文本间的初始语义相似度,然后对文本集进行短文本间的语义相似度和词汇间词义相似度的迭代计算直至收敛,最后根据迭代计算的收敛结果,得到最终词义相似度,构造最终词义相似矩阵(TPM),其后用该词义相似矩阵将原始短文本的文本词频向量变换为新的文本词频向量,计算得到最终文本语义相似度。包括以下四个步骤:
步骤S1,根据词汇数据库进行初始化,得到所有词汇间的初始词义相似度,并根据初始词义相似度计算文本集中文本间的初始语义相似度;
较佳地,在计算各个词间的初始词义相似度前,用一个深度函数给词汇数据库中的词之间的边赋予权重。
步骤S2,根据初始化得到的词汇间的初始词义相似度和文本间的初始语义相似度,对文本集进行交替迭代计算所述短文本集中的各个短文本间的语义相似度和词汇间的词义相似度直至收敛,即,对文本集,根据每一轮新得到的文本间的语义相似度重新计算词汇间的词义相似度,并根据每一轮新得到的词义相似度重新计算文本间的语义相似度,这样交替迭代进行直至收敛,最终得到包含词汇数据库中词汇的初始词义信息以及所述短文本集(语料库)所蕴含的词汇的词义信息的最终词义相似度,根据迭代计算的收敛结果,以最终词义相似度构造所有词汇间的最终词义相似矩阵;
所述文本集可以是给定的未经处理的短文本集(语料库),也可以是已经过处理的,或逐渐积累的短文本集。
同时,基于该最终词义相似度,可以计算得到所述特定短文本集中的短文本间的最终语义相似度。
较佳地,在这一步骤中,还通过降低维度的方法,如主成分分析法(PrincipleComponents Analysis,PCA),独立分量分析法(Independent ComponentAnalysis,ICA)对文本矩阵进行降维,使得能够用相对较低的维数(即只用一些最有代表性的词)来存储表示新的空间中的文本,从而达到节省存储空间的目的,此做法的效果同时可以使词义相似矩阵得到简化处理,即只保留该矩阵中每个词与那些最有代表性的词的词义相似度元素。
步骤S3,用所述最终词义相似矩阵将原始短文本的文本词频向量变换为新的文本词频向量,计算得到所述短文本集的文本相似度。
步骤S4,当新短文本加入到所述短文本集时,利用所述的最终词义相似矩阵将所述新短文本的文本词频向量变换为新的词频向量,并以此计算所述新短文本和所述短文本集的文本相似度。
进一步地,将所述新短文本加入到所述短文本集中,当新加入的新短文本的数量达到一定量时,或认为有必要时,重复步骤S2~S3,得到更新的最终词义相似度,重新计算新的文本词频向量及文本相似度。
下面首先以WordNet词汇数据库为例,详细描述步骤S1根据词汇数据库进行初始化,计算得到词汇间的初始词义相似度,并根据初始词义相似度计算文本集中的文本间的初始语义相似度的过程。
在本发明的文本相似度计算方法中,在迭代计算文本间语义相似度和词汇间的词义相似度前,首先对词汇间的词义相似度及文本间的初始语义相似度进行初始化。
现有技术中,许多现有的词汇数据库在计算语言学相关应用中取得了成功,因此,本发明的文本相似度计算方法,以及词义相似度计算方法,利用基于词汇数据库的方法来初始化词汇间的相似度。
一般地,在词汇数据库中,每一个词汇关联着一些概念。这些概念被“isa”(ISA)关系所连接起来,可以用两个词汇间路径长度代表词汇之间关系,本发明文本相似度计算方法,以及词义相似度计算方法,利用基于词汇数据库的方法,利用两个词汇间路径长度来初始化计算词汇间的词义相似度。
然而,单纯利用词汇间路径长度代表词汇之间关系的方法在一般情况下存在着缺陷,例如,在WordNet词汇数据库中,“boy”(男孩)和“animal”(动物)之间的最短路径长度是4,少于“boy”和“teacher”(老师)之间的最短路径长度6,但是并不能说“boy”与“animal”比“boy”与“teacher”更相似。因此,本发明实施例还使用层次深度来表示着词汇之间的关联。
其中,层次深度代表着词义信息的丰富程度,层次深度越深的代表词汇涵义越大,所涵盖的具体含义越多。处于上层(层次深度较小)的词汇概念具有更一般的词义信息,因此它们之间的词义相似度相对较小;反之,处于下层(层次深度较大)的概念具有更具体的词义信息,因此它们之间的词义相似度相对较大。
关于词汇层次深度的描述,也可以参见Li等人撰写的关于词汇层次深度的描述,(见Y.H.Li,Z.Bandar,and D.McLean.“An Approach for MeasuringSemantic Similarity Using Multiple Information Sources,”IEEE Transactions onKnowledge and Data Engineering,vol.15,no.4,pp.871-882,2003),本发明实施例中引用其中关于词汇层次深度的描述,不再一一详细描述。
因此,如图2所示为从WordNet词汇数据库中摘取的层次结构词法数据库的部分词汇连接关系示例图。在本发明文本相似度计算方法中,根据词汇数据库初始化计算词汇之间的词义相似度的时候,不仅包括词汇之间的最短路径距离,还包括词汇的层次深度信息,将深度信息在初始化计算词义相似度的时候也考虑进去,共同初始化计算得到词汇之间的词义相似度。
具体地,所述根据词汇数据库初始化计算词汇之间的词义相似度及根据初始词义相似度计算文本集中的文本间的初始语义相似度,如图3所示,包括下列三个步骤:
步骤S11,给词汇数据库中的边赋予权重;
边的权重是指在计算两个词汇之间的词义距离时该边的贡献,与其对词义相似度的贡献相反,距离越远,此时对词义相似度的贡献就越小。
本发明实施例中,边的权重的设置与该边在该词汇数据库中的层次深度有关,通过给词汇数据库中的各个层次深度之间的边赋予权重,使得较上层的词汇间的词义相似度相对较小,下层词汇间的词义相似度相对较大。该词汇数据库中现有的边的权重可由边的深度到边的权重的转换计算得出,如式(1)所示。
边的层次深度可以通过计算从它的双亲概念节点到根节点的层数而得到。第0层的边的权重设为1,因为这层的词之间的词义距离最大(词义相似度最小)。当边的层次逐渐增大直至无穷时,边的权重单调递减至0,即对词义距离贡献最小或对词义相似度贡献最大。
本发明实施例用一个非线性的函数如式(1)所示,表示由边的深度到其权重Weight(edge)的转换:
Weight(edge)=f(h)=e-αh (1)
其中h表示边edge的深度,a是一个取值在0到1之间的平滑因子。
其中h可以通过计算从较上层的概念到根的层次深度数得到。如果两个概念处于同一层,则用其中任意一个即可。
需要说明的是,由边的深度到其权重的转换并不限于式(1),也可以用其他单调递减的函数进行计算转换,其也在本发明所保护的范围之内,在本发明实施例中并不对转换进行限定。
在初始化计算词义相似度之前,首先还要往词汇数据库的层次中加入一些边。这些边可以分为以下两类:
(1)如果两个词的概念中具有一个或多个相同的词义,那么在这两个词的概念之间添加一条边。该类边的深度和权重的计算方法与词汇数据库中现有的边的深度和权重的计算方法相同,即由式(1)算出。
所述加入新边的做法是基于以下的考虑:如果两个概念具有相同的词,那么它们很可能相似。例如概念“boy”(男孩)和概念“girl”(女孩)具有相同的词“child”(小孩)。
和/或:
(2)如果两个词的概念之间具有“part-of”(局部-整体)关系,那么在它们之间添加一条边,通过该边的深度计算得到该边的权重。
该类边的权重可由公式(1)乘以一个常数β得到(β·e-αh)。这是因为具有“part-of”关系两个概念之间往往具有一定的相似性,如“chest”(胸膛)和“body”(人体)。
步骤S12,根据词汇间的基于所述权重的最短路径长度计算词汇间的词义相似度。
在词汇数据库添加边并计算出边的权重后,就可以用任意两个词之间的最短路径及其上所有边的权重计算它们之间的词义相似距离(或长度)length(即该最短路径上的所有边的权重的和),从而得到每两个词w1,w2间的词义相似度sim(w1,w2)。
用式(2)来计算词汇间的词义相似度:
其中w1,w2表示任意两个词,γ是一个大于0的阈值,length(w1,w2)是词汇w1,w2间的基于所述权重的最短路径长度。
因为词义相似度在0到1之间取值,而最短路径距离在0到无穷之间取值,所以本发明实施例通过利用转换函数式(2)来计算词汇之间的词义相似度,使得当两个词之间的距离为0的时候(处于同一个概念中),其词义相似度为1;当两个词之间的距离逐渐增大至无穷时,其相似度单调递减至0。转换函数式(2)也可以用其他根据length单调递减的函数,在此不作为对本发明的限定。
步骤S13,根据步骤S12得到的词汇间的初始词义相似度计算文本集中文本的初始语义相似度。
为了说明这一步骤,首先对文本集中的词频统计信息进行说明。
在信息检索领域,一般地,文本可以用它包含的词汇的词频来表示,一个标号为i的文本可以用文本词频向量di来表示:
di={tfi1,tfi2,tfi3,...,tfiN)∈RN
其中,tfij是词wj在第i个文本中出现的频率。N是向量矩阵的维数,表示所有词汇的数量。通常,在进行处理之前,将文本向量di进行L2规范化处理。
其中,L2规范化是向量规范化方面现有公知的常用技术,其做法是每一个向量元素除以该向量的欧氏空间长度,即L2距离,使得用规范化处理后的文本向量的长度都是1,因此计算得到的相似度具有可比性。
词频统计是本领域的公知常识,因此在本发明实施例中不再一一详细描述。
本发明的实施例中,计算文本词频向量时不但考虑文本中所出现的词的词频,还将这些词的词频乘以其相似度记入与其相似的词的词频。因此,步骤S13根据步骤S12得到的词汇间的初始词义相似度,通过式(3)计算得到文本集中每两个短文本间文本词频向量d1和d2的语义相似度sim(d1,d2):
其中,
其中,Pik表示词汇wi和wk之间的词义相似度,分母的作用是用同义词进行规范化,由所有Pik组成的矩阵叫做词义相似矩阵P。
式(3)中文本相似度计算方法的意义在于先把文本词频向量di用词义相似矩阵P变换、转化为新的词频向量 然后计算两个新向量的相似度。在式(3)中,相当于把每个词的出现频率分布到了它所有的同义词当中,使两个短文本词频向量享有更多的非零元素。
例如,给定两个句子"WordNet stores relationship between words',和“Alexical database is an organized description of the lexemes",如果用传统的文本相似度计算方法计算语义相似度,得到的结果是0,因为这两个句子中不具有相同的词。
如果利用词汇之间的词义相似度,考虑到"WordNet'’和“database',以及“word'’和“lexeme"之间的关系,并且用式(3)计算这两个句子之间的语义相似度,则将得到一个更合理的结果0.34。
因此,正是由于短文本之间很少具有相同词这一特性使得传统用于计算长文本相似度的方法不适用于短文本,这也是本发明实施例在式(3)中引入Pik的原因。
其次,详细说明在步骤S2根据初始的词义相似度和初始的文本语义相似度,交替迭代计算所述文本集中的各个文本间的语义相似度和各个词汇间的词义相似度直至收敛,根据迭代计算的收敛结果,以最终词义相似度构造所有词汇间的最终词义相似矩阵的过程。
为了说明这一步骤,首先对迭代过程中如何根据文本集中的文本相似度计算词汇间的词义相似度以及如何根据词义相似度计算文本相似度的原理进行说明:
本发明实施例中,根据已经得到的短文本间的语义相似度,通过式(4)重新计算每两个词w1和w2之间的词义相似度sim(w1,w2):
其中,
Qjk为文本集中文本词频向量dj和dk之间的语义相似度,分母的作用是在相似文本之间进行规范化,由所有Qik组成的矩阵叫做文本语义相似矩阵Q。
其中,M是短文本集中短文本的数量。
式(4)表示如果两个词同时出现在大量的文本中或者相似的文本中,它们很可能具有共同或者相近/相关的程度。
虽然像WordNet这样的词汇数据库中包含大量的词以及词之间的词义关系,但是仍然有一些词不被包含在其中,通过利用词频统计信息,结合文本的语义相似度,便可以准确地得出文本集中的短文本的中出现的词汇的词义相似度。例如,“Wikipedia”是一个非常常用的免费的网上百科全书,但是WordNet里面却没有这个词。因此,用基于词典的方法很难计算“Wikipedia”和“encyclopedia”之间的词义相似度。但是,通过公式(4)分析这两个词在大量Web文本中的出现情况可以得出它们相似/相关的结论,因为几乎每个Wikipedia的页面中都有“encyclopedia”这个词出现。同时,由于一个词在词典中可能有多个意思,利用式(4)也可以获得这个词在上下文中更准确的意思。因此,式(4)特别对短文本有更加显著的意义。
我们可以继续通过式(3)根据得到的词义相似度计算得到文本的语义相似度。从式(3)和(4)中,可以看到短文本间的语义相似度和词汇间的词义相似度是相互依赖并且循环的。
本发明实施例中,为了使迭代循环的计算结果尽快收敛,在每一次循环中,采用只更新一部分相似度的方式,即保留一部分老的相似度,因此,用式(5)和式(6)所示的交替迭代计算的方法对它们进行计算,直至收敛。
其中,λ是一个在0,1之间取值的衰减因子。
需要说明的是,式(5)和式(6)也可以用其他形式实现,如式(5’)和式(6’),但并不影响本发明的实现,不作为对本发明的限制。
如图4所示,步骤S2中,交替迭代计算所述文本集中的各个文本间的语义相似度和各个词汇间的词义相似度直至收敛,具体包括如下步骤:
步骤S21,对衰减因子λ赋予初值,设定收敛条件;
在本发明实施例中,所述初值为0.5,设定收敛条件为当λ小于或者等于0.01,表示收敛,设定衰减机制为λ每循环一次衰减20%,即λ=0.8*λ。
需要说明的是,对λ进行初始化这一过程,也可以在步骤S1中实现,但并不影响本发明的实现。
步骤S22,利用式(5)计算词汇间的词义相似度;
步骤S23,利用式(6),根据式(5)计算得到的词义相似度计算得到文本间的语义相似度;
步骤S24,按照设定的衰减机制减小衰减因子λ,判断是否满足收敛条件,如果是,则迭代计算结束;否则,转步骤S22,利用新的衰减因子λ的值和新的文本语义相似度,重新计算词义相似度。
所述步骤S22和步骤S23中,所述式(5)和式(6)也可以利用式(5’)和式(6’)代替,其同样能够实现本发明。
衰减因子λ是设定一初始值,按照设定的衰减机制衰减,例如,设定初始值为0.5,每循环一次衰减20%。当衰减后衰减因子λ的值满足设定条件,例 如衰减因子λ的值小于或者等于设定值时,表示收敛,例如,设定条件为衰减因子λ的值小于或者等于设定值0.01时,表示收敛,迭代循环结束。
也可以用现有的各种迭代计算方法,根据语义相似度和词义相似度的值,计算衰减因子λ的衰减值,逐渐减小衰减因子λ,直至满足收敛条件。这样的迭代计算方法,也应当在本发明的保护范围之内。
式(5)和(6)计算迭代计算收敛后得到所有词汇wi和wk之间的词义相似度Pik。
作为一种可实施的方式,所述迭代过程的算法实现可以为:
λ=0.5;
While(λ>0.01)
{
λ=λ*0.8;(orλ=λ-0.1);
}
特别需要说明的是,本发明的文本间的语义相似度计算(式(6)或式(6’))和词汇间的词义相似度计算(式(5)或式(5’)),其迭代开始的顺序可以互换而不影响本发明的实现。
下面详细描述步骤S2中根据迭代计算的收敛结果构造得到词汇间的最终词义相似矩阵:
根据迭代计算的收敛结果得到的词汇间的词义相似度,构造得到最终词义相似矩阵(Term Proximity Matrix,TPM),即P,其中,
其中的每个元素Pjk表示了词wj和wk之间的词义相似度,分母的作用是用同义词进行规范化。
所有元素组成最终词义相似矩阵P:
进一步地,同时,得到的文本集中文本词频向量dj和dk之间的语义相似度Qjk的所有元素组成的最终语义相似矩阵Q。
其中的每个元素Qjk表示了文本词频向量dj和dk之间的语义相似度,分母的作用是用相似文本进行规范化。
所有元素组成最终词义相似矩阵Q:
因此,最后的结果,短文本间的语义相似度和词汇间的词义相似度既包含了从词汇数据库中获得的词汇信息,又包含了从文本集中获取的统计信息(蕴含的词义信息)。
用得到的词义相似矩阵P可以将原始短文本的文本词频向量di变换、转化为新的词频向量 然后用新向量计算文本相似度,得到所述短文本集的文本相似度。
原始短文本的所有短文本的词频向量di组成文本词频矩阵D(di,k=tfi,k):
根据式(7)得到新的文本词频矩阵,即通过最终词义相似矩阵P和文本词频矩阵D将短文本集中的所有的文本映射到新的文本词频矩阵
该新的词频向量表达还可以被任一现有的信息检索技术作进一步的处理,如,计算得到文本相似度。
需要说明的是,也可以利用现有的一些矩阵优化方法,对文本词频矩阵进行降维,对词义相似矩阵进行优化,使其更准确地表述文本集中蕴含的词义相似度。
较佳地,短文本中的每个词汇的频率被分布在与其相似的词当中,在新的空间中,相似词所在的维度(即表示dij(或tfij)的词j,的维度,如,“女孩“的维度或“男孩“的维度)的矩阵向量可能具有较高的相关性。因此,可以用一些降维方法,诸如PCA,ICA降维方法来对新的文本词频矩阵进行降维使得能够用相对较低的维数来表示新的空间,即只用那些极具代表性的词来描述文本,从而达到节省存储空间的目的。在本发明实施例中,使用PCA降维,如式(8)所示:
其中,是经过转换过后的具有k(k<N)列的新的文本词频矩阵,W是转换矩阵,它的每一列是的协方差矩阵(Covariance Matrix,CM)的前k个特征向量之一。
同时,利用转换矩阵W也可以得到一个新的降维后的词义相似矩阵
它可以由原来的相似矩阵P乘以转换矩阵W得到,如式(9)所示:
这个新的词义相似矩阵
将所有短文本D映射到一个较低维的特征空间(
只有k个词汇)中,使得能够被有效的使用来解决本发明中文本相似度计算的问题。
在步骤S3中,用所述词义相似矩阵将原始短文本的词频向量变换为新的词频向量表示,计算得到所述短文本集的文本相似度的过程。
根据所得的所述词义相似矩阵,如降维后的
将原始短文本的词频向量变换为新的词频向量表示(如,
)后,可直接使用任一现有的相似度模型计算文本的相似度,如使用向量的点积或余弦(Cosine)模型(即用两个向量的夹角的余玄值代表两个向量的相似度)计算文本相似度。
作为本发明实施例中计算文本相似度的一种可实施方式,根据新的文本词频矩阵
计算得到短文本集(语料库)中文本间的文本相似矩阵S,如式(10)所示:
其中,S
i,j是标号为i和标号为j的短文本之间的相似度,
为
的转置,S
i,j为两个文本i,j向量的点积。
下面详细描述步骤S4当新短文本加入到所述短文本集时,利用所述的词义相似矩阵将所述新短文本的文本词频向量变换为新的词频向量,并以此计算所述新短文本和所述短文本集的文本相似度的过程:
当一个新的短文本加入到文本集的时候,就可以用最终词义相似矩阵P或
(取决于是否降维)把所述新短文本的文本词频向量d
new映射变换到新的文本词频向量d
newP,使用向量的点积或余弦(Cosine)模型来计算它和其它已有短文本(也需映射到新的文本词频向量d
iP)之间的语义相似度,如式(11)所示:
sim(dnew,di)=dnewPP′d′i(11)
其中,dnew是新加入的短文本的文本词频向量,di是标号为i的短文本的文本词频向量,P′和d′为相应的矩阵和向量的转置,文本相似度为两个向量的点积。
进一步地,在文本相似度计算方法的步骤S4中,将所述新短文本加入到所述短文本集中,当新加入的新短文本的数量达到一定量时,或认为有必要时,重复步骤S2~S3,得到新的词义相似矩阵,重新计算新的文本词频向量,并进一步计算出文本相似度。
相应地,根据文本相似度计算方法,如图5所示,本发明还提供一种文本相似度计算系统61:
在本发明的文本相似度计算系统61中,包括词汇数据库模块62和短文本集模块63(或称语料库模块),所述词汇数据库模块62包括至少一词汇数据库,所述短文本集模块63包括至少一短文本集(语料库);
所述的文本相似度计算系统61,还包括初始化模块64,迭代计算模块65,最终相似度计算模块66。其中:
所述初始化模块64,用于根据词汇数据库进行初始化,计算得到词汇数据库中词汇间的初始词义相似度,并根据初始词义相似度计算短文本集模块63中的文本间的初始语义相似度。
所述迭代计算模块65,交替迭代计算所述短文本集中的各个短文本间的语义相似度和词汇间的词义相似度直至收敛,即,根据每一轮新得到的文本间的语义相似度重新计算词汇间的词义相似度并根据每一轮新得到的词义相似度重新计算文本间的语义相似度,这样交替迭代进行直至收敛,最终得到包含词汇数据库中词汇的初始词义信息以及所述短文本集(语料库)所蕴含的词汇的词义信息的最终词义相似度,根据迭代计算的收敛结果,以最终词义相似度构造所有词汇间的最终词义相似矩阵。
较佳地,作为本发明实施例的一种较佳的实施方式,所述迭代计算模块65,还用于对所述最终词义相似矩阵进行降维简化处理,即只保留该矩阵中每个词与那些最有代表性的词的词义相似度元素。
作为本发明可选择的一种实施例,可以对该词义相似矩阵进行进一步处理,只保留每个词与那些最有代表性的词的词义相似度,相当于对由所有文本 的新词频向量组成的文本词频矩阵(Document-Term Matrix,DTM或简称为文本矩阵)进行降维处理,即只用那些最有代表性的词来表示每一文本。
所述文本集可以是给定的未经处理的短文本集(语料库),也可以是已经过处理的,或逐渐积累的短文本集。
所述最终相似度计算模块66,用于根据所述最终词义相似矩阵,将原始短文本的文本词频向量变换为新的文本词频向量,计算得到所述短文本集的文本相似度。
其中,新的文本词频包括了同义词的词频。
该新的词频向量表达可以被任一现有的信息检索技术或者优化处理方法作进一步的处理,再计算得到文本相似度;也可直接计算文本的相似度,如使用向量的点积或余弦(Cosine)模型(即用两个向量的夹角的余玄值代表两个向量的相似度)计算文本相似度。
较佳地,所述最终相似度计算模块66,还用于当新短文本加入到所述短文本集时,利用所述的词义相似矩阵将新短文本集中的文本词频向量变换为新的词频向量,然后计算所述新短文本和所述短文本集中的文本相似度。
进一步地,将所述新短文本加入到所述短文本集中,当新加入的新短文本的数量达到一定量时,或系统认为有必要时,可以重新调用系统,得到新的词义相似矩阵或再次对其作降维处理,重新计算新的文本词频向量。
所述词汇数据库可以是任何现有的或将来出现的,如英文的WordNet词汇数据库,中文的HowNet词汇数据库或同义词词林,或者他们的组合,或其他语言的相应结构的词汇数据库等,或者是他们的组合,在此不作为对本发明的限定。
WordNet词汇数据库,这一数据库是现有技术,如见C.Fellbaum.WordNet:An Electronic Lexical Database,MIT Press,1998中所描述WordNet词汇数据库。它是一个包含语汇词汇之间的词义关系的被广泛应用的词典。
所述的短文本集,也叫语料库,包括但不限于,可以是由计算机操作人员从各种现有的字典、词典中,通过手工收集或者通过计算机自动随机收集的短文本集,各种问答系统中的累积的问题和/或答案数据库,各论坛或公告系统累积的评论或帖子数据库,也可以是现有的已经收集好的短文本集,如CMU 新闻组(CMU newsgroup),它是一个包含20000条信息,专门用于测试短文本聚类的短文本数据集。
如图5所示,本发明的文本相似度计算系统61,首先初始化模块64根据词汇数据库模块62中的词汇数据库进行初始化,得到词汇间的词义相似度并根据初始词义相似度计算短文本集模块63中的文本间的初始语义相似度;然后,迭代计算模块65根据初始词义相似度和初始文本相似度,交替迭代计算所述短文本集中的各个短文本间的语义相似度和词汇间的词义相似度,直至收敛,得到包含所述词汇数据库中词汇的初始词义信息和所述短文本集中蕴含的词义信息的词汇间的最终词义相似度,根据迭代计算的收敛结果构造得到词汇间的最终词义相似矩阵或对其进行降维处理;其后,最终相似度计算模块66根据最终词义相似矩阵将原始短文本的文本词频向量变换成新的文本词频向量,计算得到所述短文本集的文本相似度;最后,当新短文本加入到所述短文本集时,最终相似度计算模块66利用所述的最终词义相似矩阵将所述新短文本的文本词频向量变换为新的词频向量,计算其与所述短文本集中的文本的相似度;进一步地,在需要时将所述新短文本加入到所述短文本集中,重新调用系统中的迭代计算模块,得到新的最终词义相似矩阵。
本发明文本相似度计算系统61工作过程与本发明文本相似度计算方法工作过程一致,因此,对本发明文本相似度计算系统61的工作过程不再一一详细描述。
如图6所示,本发明还提供一种词义相似度计算系统71,其用于根据词汇数据库得到初始的词义相似度,然后通过对文本集中的文本进行语义相似度和词义相似度交替迭代计算,直至收敛,得到词汇的最终词义相似度。其包括词汇数据库模块62和短文本集模块63(或称语料库模块),所述词汇数据库模块62包括至少一词汇数据库,所述短文本集模块63包括至少一短文本集(语料库);
所述的词义相似度计算系统71,还包括初始化模块64,词义迭代计算模块72。
所述初始化模块64,用于根据词汇数据库进行初始化,计算得到词汇数据库中词汇间的初始词义相似度,并根据初始词义相似度计算短文本集模块63中的文本间的初始语义相似度。
所述词义迭代计算模块72,交替迭代计算所述短文本集中的各个短文本间的语义相似度和词汇间的词义相似度直至收敛,即,根据每一轮新得到的词义相似度重新计算文本间的语义相似度,并根据每一轮新得到的文本间的语义相似度重新计算词汇间的词义相似度,这样交替迭代进行直至收敛,最终得到包含词汇数据库中词汇的初始词义信息以及所述短文本集(语料库)所蕴含的词汇的词义信息的最终词义相似度。
本发明的词义相似度计算系统71,首先初始化模块64根据词汇数据库模块62中的词汇数据库进行初始化,得到词汇间的初始词义相似度并根据初始词义相似度计算短文本集模块63中的文本间的初始语义相似度;然后,词义迭代计算模块72根据已有的词义相似度和语义相似度,进行交替迭代计算所述短文本集中的各个短文本间的语义相似度和词汇间的词义相似度,直至收敛,得到包含所述词汇数据库中词汇的初始词义信息和所述短文本集中蕴含的词义信息的词汇间的最终词义相似度,构造最终词义相似矩阵,并在需要时对其进行降维处理。
本发明词义相似度计算系统71工作过程与本发明文本相似度计算系统中对词义相似度计算工作过程一致,因此,对本发明词义相似度计算系统71的工作过程不再一一详细描述。
相应于本发明的词义相似度计算系统71,本发明还提供一种词义相似度排列表装置,所述装置包括一芯片,所述芯片中存储有一词义相似度矩阵表,用户可以通过查找、调用芯片中的词义相似度矩阵表中的相关词汇的词义相似度,进行文本相似度计算及文本信息检索等应用,所述词义相似度矩阵表中的每个元素为词义相似度,该词义相似度是通过词义相似度计算系统71计算得到,所述词义相似度计算系统71包括词汇数据库模块62和短文本集模块63,所述词汇数据库模块62包括至少一词汇数据库,所述短文本集模块63包括至少一短文本集;
所述的词义相似度计算系统71,还包括初始化模块64,词义迭代计算模块72。
如图7所示,本发明还提供一种应用本发明的文本相似度计算系统的问答系统81。该问答系统81包括一文本相似度计算系统61,所述文本相似度计算系统61,包括词汇数据库模块62和短文本集模块63,所述词汇数据库模块62包括至少一词汇数据库,所述短文本集模块63包括至少一短文本集,即问题集合(或问题数据库);
所述的文本相似度计算系统61,还包括初始化模块64,迭代计算模块65,最终相似度计算模块66。其中:
所述初始化模块64,用于根据词汇数据库进行初始化,计算得到词汇间的初始词义相似度并根据初始词义相似度计算短文本集模块63中的文本间的初始语义相似度。
所述迭代计算模块65,用于交替迭代计算所述短文本集中的各个短文本间的语义相似度和词汇间的词义相似度直至收敛,即,根据每一轮新得到的文本间的语义相似度重新计算词汇间的词义相似度并根据每一轮新得到的词义相似度重新计算文本间的语义相似度,这样交替迭代进行直至收敛,最终得到包含词汇数据库中词汇的初始词义信息以及所述短文本集所蕴含的词汇的词义信息的最终词义相似度,根据迭代计算的收敛结果,以最终词义相似度构造所有词汇间的最终词义相似矩阵。
迭代计算模块65,还用于对所述最终词义相似矩阵进行降维简化处理,即只保留该矩阵中每个词与那些最有代表性的词的词义相似度元素。
所述最终相似度计算模块66,用于根据所述最终词义相似矩阵,将原始短文本的文本词频向量变换为新的文本词频向量,计算得到所述短文本集的文本相似度。
所述最终相似度计算模块66,还用于当新短文本(即新问题)加入到所述短文本集时,利用所述的词义相似矩阵将新短文本的文本词频向量变换为新的词频向量,然后计算所述新短文本和所述短文本集中的文本相似度。
进一步地,将所述新短文本加入到所述短文本集中,当新加入的新短文本的数量达到一定量时,或系统认为有必要时,可以重新调用系统,得到新的词义相似矩阵,重新计算新的文本词频向量。
本发明问答系统81中的文本相似度计算系统61,以与本发明实施例所述的文本相似度计算系统61相同的工作过程进行工作,因此不再一一详细描述。
本发明的文本相似度计算系统61,可以应用在问答系统81中,在问答系统81的问题语义相似度的计算、自动回答、问题分类,答案聚类、答案质量自动评估等需要计算(短)文本相似度的过程中。
文本相似度计算系统61在问答系统81中具有十分重要的应用。在问答系统81中,一些常见的被问频率较高的问题往往被存在问题数据库中。当用户提出一个新的问题,首先可以在这些常见问题数据库中查找,看有没有相同或者非常相似的问题。如果有,就可以将对应的答案自动直接返回给用户,这样就可以提高系统的效率。而一般地,用户所提出的问题往往是一些较短的句子,属于短文本的范畴。可以应用本发明所提供的文本相似度计算系统61,解决问答系统81中的关于文本相似度计算问题。
将每个问题(或答案)用一个词频向量表示。每个向量都经过L2规范化处理。同时,基于WordNet或HowNet等同义词林构造初始词义相似度并根据初始词义相似度用公式(3)计算初始文本语义相似度。然后,用公式(5)和(6)交替迭代计算文本的语义相似度和词汇的词义相似度直至收敛,得到了词义相似矩阵。当用户提出一个新的问题时,就可以用公式(11)计算此问题和常见问题集中的所有问题的语义相似度,找出与用户问题最相似的问题。如果得到的相似度大于事先设定的阈值,就可以将此最相似问题对应的答案返回给用户。也可以定期更新常见问题集,并在每次更新的时候继续迭代计算更新的文本相似矩阵和词义相似矩阵。
类似地,可以用一些关键词来代表每一个问题类(如问题版面),每个问题类都可以用一个短文本向量表示。每个新问题也可以用一个短文本向量表示,因此可以用本发明的方法计算新问题与每个问题类的语义相似度,并把新问题归到最相似的问题类之中。同时,当用户把很多问题归为一类时,可以从这些问题中统计词频,并用这些词频组成的向量代表该问题类,并用本发明的迭代方法更新修正代表该问题类的词频向量。
同样地,在问答系统81中,在对每个问题的所有答案聚类时,也要计算各答案之间的语义相似度,以便把相似的答案聚成一类,把所有关于某个问题的所有答案聚成几个类别供用户快速浏览。每个答案一般都是很短的文本。
另外,在问答系统81中,在答案质量自动评估时,要自动计算每个答案是否与问题相关,也可使用本发明的文本相似度计算系统61。与问题不相关的答案自然质量不高。
如图8所示,本发明还提供一种应用本发明的文本相似度计算系统61的图像检索系统91。该图像检索系统91包括一文本相似度计算系统61,所述文本相似度计算系统61,包括词汇数据库模块62和短文本集模块63,所述词汇数据库模块62包括至少一词汇数据库,所述短文本集模块63包括至少一短文本集,即用于描述图像内容的文本的集合;
所述的文本相似度计算系统61,还包括初始化模块64,迭代计算模块65,最终相似度计算模块66。
本发明的图像检索系统91中的文本相似度计算系统61,以与问答系统81中的文本相似度计算系统61相同的工作过程进行工作。因此在本发明的图像检索系统91中不再一一详细描述。
在基于内容的图像检索中,图像的检索往往是利用该图像的标注或图像周围的文本段落来检索与该图像内容相关的图像,而这些标注也是很短的文本信息,图像周围的文本段落也是很短的文本信息,可以用本发明的文本相似度计算系统来完成检索。
本发明的文本相似度计算系统61,还可以应用于文本检索、文本概括、文本分类、机器翻译系统等等中,这些系统都包括一文本相似度计算系统61,该文本相似度计算系统61以与问答系统81、图像检索系统91中的文本相似度计算系统61相同的工作过程工作,因此在本发明实施例中不再一一详细描述。
为了说明本发明的有益效果,本发明通过单词之间词义相似度的计算,文本分类和文本聚类等3组实验结果,并将实验结果和用其他方法所得的结果进行比较进行说明。
在实验中,词汇数据库是WordNet,短文本集的数据集是CMU newsgroup,它是一个包含20000条信息,专门用于测试短文本聚类的数据集。
实验一:单词词义相似度的计算
为了对单词相似度的计算进行评估,可以将结果和人为判断的结果进行对比,计算二者之间的相关度,相关度越高,说明方法越有效。
Rubenstein和Goodenough做了一组实验(见Rubenstein and J.B.Goodenough.“Contextual Correlates of Synonymy,”Communications of the ACM,vol.8,pp.627-633,1965),他让51个人对65对单词的词义相似度进行判断,并将相似度的值定在0到4之间。Miller和Charles(1991)从这65对单词中选出了30对(其中不相关的,有一定相似的和非常相似的各有10对),并找了38个人做了相同的实验。另外,Resnik(1995)也做了和Miller,Charles相同的实验。
由于Miller和Charles所采用的数据集更加平衡,在实验中,本发明利用他们所用的数据集来测量单词间的词义相似度。此外,还将本发明和Li等人提出的方法(见Y.H.Li,Z.Bandar,and D.McLean.“An Approach for MeasuringSemantic Similarity Using Multiple Information Sources,”IEEE Transactions onKnowledge and Data Engineering,vol.15,no.4,pp.871-882,2003)进行比较(其中去掉了信息量的部分,因为在他们的实验中,加入信息量后结果更差)。如图9所示,为词义相似度计算的结果对比表。
在本发明中,最佳的参数设定为α=0.05,,γ=3.23,此时,本发明所提出的方法与Miller和Charles所作的结果的相关度为0.8503,比Li等人提出的方法与Miller和Charles所作的结果的相关度为0.8178要好,如图10所示。由于Li等人宣称他们的方法比其他的一些方法要好,所以本发明提出的方法自然也比其他的方法要好。
实验二:短文本分类
在这个实验中,用K-nearest neighbor算法(见B.V.Dasarathy,editor.Nearest Neighbor(NN)Norms:NN Pattern Classification Techniques,LosAlamitos:IEEE Computer Society Press,1990)对来自CMU newsgroup的分别描述不同领域知识3个数据子集(CompNews,SciNews和DiffNews)进行分类。参数设置同实验一,每个结果都是经过至少10次的运行才得出的平均结果。
用本发明和简单的基于词频的方法(一个文本用它所包含的词的词频来表示)进行比较,如图11、图12和图13所示,显示了实验的结果,其中,粗线表示“本发明方法”,细线表示“基于词频的方法”。
实验结果表明在绝大多数情况下,本发明得到的结果更好,特别是当训练数据集(如,初始的短文本集)占总的数据集的比例较小时,效果尤为明显。这说明当训练的数据集不足时,本发明十分有效。
实验三:短文本聚类
在这个实验中,用K-means算法(见I.S.Dhillon and D.S.Modha.“ConceptDecompositions for Large Sparse Text Data Using Clustering,”Machine Learning,vol.42,no.1,pp.143-175,2001)和hard mo-VMF算法(见A.Banerjee,I.S.Dhillon,J.Ghosh,and S.Sra.“Clustering on the Unit Hypersphere Using VonMises-Fisher Distributions,”Journal of Machine Learning Research,vol.6,pp.1345-1382,2005)对CompNews,SciNews,和DiffNews中的数据进行聚类,参数设置实验一。采用规范化的共同信息(NMI)作为评判标准(见A.Strehland J.Ghosh.“Cluster Ensembles-a Knowledge Reuse Framework forCombining Partitions,”Joumal of Machine Learning Research,vol.3,pp.583-617,2002)。
本发明和基于词频的方法以及tf-idf进行比较,图14列出了实验结果。从试验结果可以看出,本发明要好于其他两种方法(只有一种情况例外)。
本发明的文本相似度计算方法,在计算初始词汇间词义相似度前,用一个深度的函数给词汇数据库中的边赋予权重;同时提出了一个交替迭代的方法用来交替迭代计算短文本间语义相似度和词汇间词义相似度,实验表明本发明的文本相似度计算方法可以显著地提高文本相关(特别是短文本)的信息检索技术的性能。
以上通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。