文本相似度计算方法及装置制造方法及图纸

技术编号:10509492 阅读:139 留言:0更新日期:2014-10-08 12:16
本发明专利技术实施例公开了文本相似度计算方法及装置。该文本相似度计算方法包括:通过比较两个文本的节点,计算两个文本的增删距离与替换距离,其中所述增删距离与所述替换距离的和为所述两个文本的编辑距离;根据增删距离与替换距离,计算两个文本的相似度。本发明专利技术实施例提供的技术方案,能够采用一种不依赖于词典、切词以及模型训练的算法,来实现文本之间的相似度的计算,从而可以提高相似度的计算速度。

【技术实现步骤摘要】
文本相似度计算方法及装置
本专利技术实施例涉及计算机
,尤其涉及一种文本相似度计算方法及装置。
技术介绍
目前,由多个字符所组成的文本已成为一种十分重要的信息载体。其文本间相似 度的计算,作为一种文档处理中所经常使用的方法,通常被应用于文本聚类、文本检索、数 据挖掘、系统自动问答等诸多应用场合。 在现有技术中,一种文本相似度的计算方式是:先分别对两个长文本基于词典进 行切词,并计算每个文本中切词得到的各个分词的词频,然后根据词典确定两文本中各分 词间的相似度,进而根据所得到的相似度以及词频计算两文本的整体相似度;另一种文本 相似度的计算方式是:预先通过机器学习方式,训练得到一文本相似度计算模型,然后根据 该模型确定文本间的相似度。 然而,上述现有技术所存在的技术缺陷在于:对于第一种文本相似度的计算方式 而言,其依赖于词典,需要对文本进行切词,其实现算法比较复杂且不利于改进;对于第二 种文本相似度的计算方式而言,其需要预先训练得到一文本相似度计算模型,其实现算法 也比较复杂。因此,这两种方式均会导致文本相似度的计算速度很低。
技术实现思路
本专利技术实施例提供一种文本相似度计算方法及装置,以采用一种不依赖于词典、 切词以及模型训练的算法,来实现文本之间的相似度的计算,从而提高相似度的计算速度。 第一方面,本专利技术实施例提供了一种文本相似度计算方法,该方法包括: 通过比较两个文本的节点,计算所述两个文本的增删距离与替换距离,其中所述 增删距离与所述替换距离的和为所述两个文本的编辑距离; 根据所述增删距离与替换距离,计算所述两个文本的相似度。 第二方面,本专利技术实施例还提供了一种文本相似度计算装置,该装置包括: 文本距离计算单元,用于通过比较两个文本的节点,计算所述两个文本的增删距 离与替换距离,其中所述增删距离与所述替换距离的和为所述两个文本的编辑距离; 文本相似度计算单元,用于根据所述增删距离与替换距离,计算所述两个文本的 相似度。 本专利技术实施例提出的技术方案,是根据两个文本的增删距离和替换距离,来计算 文本之间的相似度,该计算过程不依赖于词典、切词,也无需预先构造文本相似度计算模 型,且实现算法简单,因而能够很好的提高文本相似度的计算速度。 【附图说明】 图1是本专利技术实施例一提供的一种文本相似度计算方法的流程示意图; 图2是本专利技术实施例二提供的一种文本相似度计算方法的流程示意图; 图3是本专利技术实施例三提供的一种文本相似度计算方法的流程示意图; 图4是本专利技术实施例四提供的一种文本相似度计算装置的结构示意图。 【具体实施方式】 下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描 述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便 于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。 实施例一 图1是本专利技术实施例一提供的一种文本相似度计算方法的流程示意图。本实施例 可适用于对获取到的任意两文本进行相似度计算的情况。该方法可以由文本相似度计算装 置来执行,所述装置可由软件和/或硬件执行,例如所述装置配置于具有存储器、处理器以 及通信接口的终端设备或服务器。其中,存储器用于存储该文本相似度计算方法的程序指 令,处理器用于执行存储器存储的程序指令,通信接口用于与外界其他设备进行数据通信。 参见图1,该方法具体包括如下操作: 110、通过比较两个文本的节点,计算两个文本的增删距离与替换距离,其中增删 距离与替换距离的和为两个文本的编辑距离; 120、根据所述增删距离与替换距离,计算两个文本的相似度。 在本实施例中,所述文本是用来计算相似度的两个文本,可由多个字符组成。每个 字符可以是中文字符、英文字符或者其他特殊字符(例如? 等)。这两个文本 可以是根据不同用户输入指令生成的,也可以是从其他装置获取得到的。例如,用来计算相 似度的第一文本为:第一用户A针对微博平台发布的主题Q所输入的回复信息;用来计算 相似度的第二文本为:第二用户B针对微博平台发布的主题Q所输入的回复信息。 所谓节点,指的是对组成两文本的内容进行比较的比较单位。在本实施例中,可设 定每个字符为一个节点;也可先按照设定的编码格式,预先将两个文本中的每个字符转换 为相应的二进制序列,该二进制序列以字节为容量单位,在此种情况下,可设定每个字符对 应的一个字节长度的二进制序列为一个节点。 所谓两个文本的编辑距离,指的是:由两个文本中的一个文本转换成另一个文本 所需的最少编辑操作次数。其中,编辑操作包括将一个节点替换成另一个节点,插入一个节 点,删除一个节点。两个文本的增删距离,指的是:所需的最少编辑操作次数中的插入次数 和删除次数之和。两个文本的替换距离,指的是:所需的最少编辑操作次数中的替换次数。 两个文本的增删距离与替换距离之和为编辑距离。 在本实施例的一个优选的实施方式中,可基于动态规划算法求解编辑距离的思 想,通过比较两个文本的节点,计算两个文本的增删距离与替换距离。该过程具体包括: 如果 Min(i,j) = 0,则 Disl (Ap B」)=Max(i,j),Dis2 (Ap B」)=0 ;如果 Min(i, j) ! = 〇,则 X^j = DisKA^, BJ)+Dis2(Ai_1, Bj)+1, Yy = Disl%,BjJ+Dis〗%,BjJ+l, Zi,』=Disl (Ah,Bj-D+Dis2 (Ah,Bj-D+const, 如果 Ρ(Χμ,Yi j,Zi j) = Xy,则 DisKA^Bj) = DisKA^, Bj)+1, Dis2(Ai,Bj) = Dis2(Ai_1, Bj); 如果 F(Xi J,Yi J,Zi J) = Yi J,则 DisKA^Bj) = DisKAj, Β^)+1, Dis2(Ai,Bj) = Dis2 (Aj, Bj^); 如果 Ρ(Χμ,Yi j,Zi j) = Zi J,则 Disl (Ap Bj) = Disl (Ah,Bj-), Dis2 (A Bj) = Dis2 (Ah,Bj-)+const ; 其中,0彡i彡I,0彡j彡J,I为两个文本中第一文本的节点个数,J为两个文本 中第二文本的节点个数; Disl (Ai,Bj)为两个文本中第一文本的前i个节点与第二文本的前j个节点的增 删距离,Dis2(Ai,Bp为两个文本中第一文本的前i个节点与第二文本的前j个节点的替换 距离; DisUAi+Bj)为两个文本中第一文本的前(i-1)个节点与第二文本的前j个节点 的增删距离,0?82(ΑΗ,Bj)为两个文本中第一文本的前(i-1)个节点与第二文本的前j个 节点的替换距离; Disl (ApBjJ为两个文本中第一文本的前i个节点与第二文本的前(j-Ι)个节点 的增删距离,Dis2(Ai,为两个文本中第一文本的前i个节点与第二文本的前(j-Ι)个 节点的替换距离; DisUAg,Bj为两个文本中第一文本的前(i-1)个节点与第二文本的前本文档来自技高网...
文本相似度计算方法及装置

【技术保护点】
一种文本相似度计算方法,其特征在于,包括:通过比较两个文本的节点,计算所述两个文本的增删距离与替换距离,其中所述增删距离与所述替换距离的和为所述两个文本的编辑距离;根据所述增删距离与替换距离,计算所述两个文本的相似度。

【技术特征摘要】
1. 一种文本相似度计算方法,其特征在于,包括: 通过比较两个文本的节点,计算所述两个文本的增删距离与替换距离,其中所述增删 距离与所述替换距离的和为所述两个文本的编辑距离; 根据所述增删距离与替换距离,计算所述两个文本的相似度。2. 根据权利要求1所述的文本相似度计算方法,其特征在于,根据所述增删距离与替 换距离,计算所述两个文本的相似度,包括: 按照公式计算所述两个文本的相似度; 其中,所述S为所述两个文本的相似度,L1为所述两个文本中第一文本的节点个数,L2 为所述两个文本中第二文本的节点个数,D1为所述增删距离,D2为所述替换距离,N为设定 的第一权重,Μ为设定的第二权重。3. 根据权利要求2所述的文本相似度计算方法,其特征在于,如果所述两个文本中的 每个文本均是由中文字符组成,则所述第一权重Ν大于所述第二权重Μ ; 如果所述两个文本中的每个文本均是由英文字符组成,则所述第一权重Ν小于所述第 二权重Μ。4. 根据权利要求1所述的文本相似度计算方法,其特征在于,所述两个文本中的每个 文本由至少两个字符组成,则在计算所述两个文本的增删距离与替换距离之前,还包括: 按照设定的编码方式,将所述两个文本中的字符转换为以字节为节点单位的二进制序 列。5. 根据权利要求1所述的文本相似度计算方法,其特征在于,所述两个文本中至少一 个文本的字符长度小于1024。6. 根据权利要求1所述的文本相似度计算方法,其特征在于,通过比较两个文本的节 点,计算所述两个文本的增删距离与替换距离,包括: 如果 Min(i,j) =0,则 Disl(Ai,Bj) =0;如果 Min(i,j) ! =0,则 X^j = Disl(Ai_1,BJ)+Dis2(Ai_ 1,BJ)+l, Y^j = Disl(Ai,BJ_1)+Dis2(Ai,B J_1)+l, Zi,』=Disl (Ah, Bj-)+Dis2 (Ah, Bj-)+const, 如果?(1」,1,」,21」)=\,』,则 DisKA^Bj) = DisKA^, Bj)+1, Dis2(Ai,BJ) = Dis2(Ai_1, Bj); 如果?(1」,1,」,21」)=1,』,则 DisKA^Bj) = DisKAj, Bj^+l, Dis2(Ai,Bj) = Dis2(Ai,Brl); DisKA^Bj) = DisKA^, BjJ, Dis2(Ai,Bj) = Dis2(Ai_1, B^^+const ; 其中,0彡i彡I,0彡j彡J,I为所述两个文本中第一文本的节点个数,J为所述两个 文本中第二文本的节点个数; Disl (Ap Bp为所述两个文本中第一文本的前i个节点与第二文本的前j个节点的增 删距离,Dis2(Ai,Bp为所述两个文本中第一文本的前i个节点与第二文本的前j个节点的 替换距离; DisUA^Bj为所述两个文本中第一文本的前(i-1)个节点与第二文本的前j个节点 的增删距离,0?82(ΑΗ,Βρ为所述两个文本中第一文本的前(i-1)个节点与第二文本的前 j个节点的替换距离; DisUApB^)为所述两个文本中第一文本的前i个节点与第二文本的前(j-Ι)个节点 的增删距离,DisZMpBh)为所述两个文本中第一文本的前i个节点与第二文本的前(j-1) 个节点的替换距离; DisUAg,Bj_)为所述两个文本中第一文本的前(i-1)个节点与第二文本的前(j-1) 个节点的增删距离,为所述两个文本中第一文本的前(i-1)个节点与第二文 本的前(j-Ι)个节点的替换距离; 如果所述第一文本的第i个节点与所述第二文本的第j个节点不相同,则const = 1, 否则 const = 0 ; Xi,j为所述两个文本中第一文本的前i个节点与第二文本的前j个节点的第一编辑距 离,Yq为所述两个文本中第一文本的前i个节点与第二文本的前j个节点的第二编辑距 离,Zq为所述两个文本中第一文本的前i个节点与第二文本的前j个节点的第三编辑距 离,F(Xi,j,1,」,Zi,」)为根据设定规则从I,」和Zi,」中选取的值最小的一个。7. 根据权利要求6所述的文本相似度计算方法,其特征在于,所述设定规则为: 如果在Χμ_、Υμ和Zy各自对应的值中至少有两个值相等,且相等值为Χμ、Υμ和Zi, 』各自对应的值中的最小值,则F (Xy,Yy,Zi, p为Xy、Yy和Zy中值为最小的且所对应 的增删距离最大的一个,否则F(Xi,j,1,』,Zm) = Mib(Xi,j,1,』,Zm);或者 如果在Χμ_、Υμ和Zy各自对应的值中至少有两个值相等,且相等值为Xm、Ym和Zi, 』各自对应的值中的最小值,则F (Xy,Yy,Zi, p为Xy、Yy和Zy中值为最小的且所对应 的替换距离最大的一个,否则F(Xi,」,1,」,Zi,」)=Min%,」,八」,Zy)。8. -种文本相似度计...

【专利技术属性】
技术研发人员:李阳林永峰罗灿
申请(专利权)人:安一恒通北京科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1