相似性确定方法、装置及终端的制作方法

文档序号:9687418阅读:217来源:国知局
相似性确定方法、装置及终端的制作方法
【技术领域】
[0001]本公开涉及自然语言处理领域,特别涉及一种相似性确定方法、装置及终端。
【背景技术】
[0002]在自然语言处理领域,字符串之间的相似性确定方法是一个基本问题,其可以被应用于很多场景,如文本聚类、信息检索等。因此,如何确定字符串之间的相似性,受到研究人员的广泛关注。
[0003]相关技术在确定字符串之间的相似性时,可以通过计算两个之间的编辑距离来实现。具体地,可以分别将这两个字符串分词为各个字符;然后,通过对一个字符串中的字符进行删除操作、插入操作或替换操作,从而将一个字符串变换为另一个字符串;接下来,计算由一个字符串变换为另一个字符串需要的最小操作次数,将该最小操作次数作为这两个字符串之间的编辑距离;最后,根据编辑距离计算这两个字符串之间的相似性。

【发明内容】

[0004]本公开提供一种相似性确定方法、装置及终端。
[0005]根据本公开实施例的第一方面,提供一种相似性确定方法,所述方法包括:
[0006]分别对第一字符串和第二字符串进行分词,得到第一序列和第二序列,所述第一序列和所述第二序列分别包括至少一个词;
[0007]根据预先定义的编辑距离算法及所述第一序列和所述第二序列,确定所述第一字符串和所述第二字符串之间的编辑距尚;
[0008]根据所述编辑距离及由所述第一序列向所述第二序列变换所做的各操作的信息,确定所述第一字符串与所述第二字符串之间的相似性。
[0009]根据本公开的第二方面,提供一种相似性确定装置,所述装置包括:
[0010]分词模块,用于分别对第一字符串和第二字符串进行分词,得到第一序列和第二序列,所述第一序列和所述第二序列分别包括至少一个词;
[0011]第一确定模块,用于根据预先定义的编辑距离算法及所述第一序列和所述第二序列,确定所述第一字符串和所述第二字符串之间的编辑距离;
[0012]第二确定模块,用于根据所述编辑距离及由所述第一序列向所述第二序列变换所做的各操作的信息,确定所述第一字符串与所述第二字符串之间的相似性。
[0013]根据本公开的第三方面,提供一种终端,所述终端包括:
[0014]处理器;
[0015]用于存储处理器可执行指令的存储器;
[0016]其中,所述处理器被配置为:
[0017]分别对第一字符串和第二字符串进行分词,得到第一序列和第二序列,所述第一序列和所述第二序列分别包括至少一个词;
[0018]根据预先定义的编辑距离算法及所述第一序列和所述第二序列,确定所述第一字符串和所述第二字符串之间的编辑距1? ;
[0019]根据所述编辑距离及由所述第一序列向所述第二序列变换所做的各操作的信息,确定所述第一字符串与所述第二字符串之间的相似性。
[0020]本公开的实施例提供的技术方案可以包括以下有益效果:
[0021]通过分别将第一字符串和第二字符串分词为第一序列和第二序列,使得在确定由第一字符串变换为第二字符串时的编辑距离时,是基于第一序列及第二序列中的各个词实现的,而并非基于第一字符串和第二字符串中的各个字符实现的,而字符串中的各个词可能包括至少一个字符,从而使得根据编辑距离确定的相似性结合了字符串中各个字符之间的相关性,使得确定的相似性更加准确。
[0022]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0023]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0024]图1是根据一示例性实施例示出的一种相似性确定方法的流程图。
[0025]图2是根据一示例性实施例示出的一种相似性确定方法的流程图。
[0026]图3是根据一示例性实施例示出的一种相似性确定装置的框图。
[0027]图4是根据一示例性实施例示出的一种第二确定模块的框图。
[0028]图5是根据一示例性实施例示出的一种第二确定单元的框图。
[0029]图6是根据一示例性实施例示出的一种第二确定单元的框图。
[0030]图7是根据一示例性实施例示出的一种相似性确定装置的框图。
[0031 ]图8是根据一示例性实施例示出的一种相似性确定装置的框图。
[0032]图9是根据一示例性实施例示出的一种相似性确定装置的框图。
[0033]图10是根据一示例性实施例示出的一种终端的框图。
[0034]图11是根据一示例性实施例示出的一种服务器的框图。
【具体实施方式】
[0035]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0036]在自然语言处理领域,字符串之间的相似性确定方法是一个基本问题,其可以被应用于很多场景,如文本聚类、信息检索等。为了使得确定的两个字符串之间的相似性更加准确,本公开实施例提供了一种相似性确定方法。图1是根据一示例性实施例示出的一种相似性确定方法的流程图,本公开实施例提供的相似性确定方法可以用于终端中。如图1所示,本公开实施例提供的相似性确定方法包括以下步骤。
[0037]在步骤S101中,分别对第一字符串和第二字符串进行分词,得到第一序列和第二序列,其中,第一序列和第二序列分别包括至少一个词。
[0038]在步骤S102中,根据预先定义的编辑距离算法及第一序列和第二序列,确定第一字符串和第二字符串之间的编辑距离。
[0039]在步骤S103中,根据编辑距离及由第一序列向第二序列变换所做的各操作的信息,确定第一字符串与第二字符串之间的相似性。
[0040]本公开实施例提供的方法,通过分别将第一字符串和第二字符串分词为第一序列和第二序列,使得在确定由第一字符串变换为第二字符串时的编辑距离时,是基于第一序列及第二序列中的各个词实现,而并非基于第一字符串和第二字符串中的各个字符实现的,而字符串中的各个词可能包括至少一个字符,从而使得根据编辑距离确定的相似性结合了字符串中各个字符之间的相关性,使得确定的相似性更加准确。
[0041]在另一个实施例中,根据编辑距离及由第一序列向第二序列变换所做的各操作的信息,确定第一字符串与第二字符串之间的相似性,包括:
[0042]获取由第一序列向第二序列变换时所进行的各操作信息中的替换操作信息;
[0043]根据各替换操作信息确定配对数,其中,配对数是指同时存在于第一序列和第二序列中的两个词的个数;
[0044]根据编辑距离、配对数及各操作的操作代价、第一序列中的词个数、第二序列中的词个数,确定第一字符串与第二字符串之间的相似性。
[0045]在另一个实施例中,根据编辑距离、配对数及各操作的操作代价、第一序列中的词个数、第二序列中的词个数,确定第一字符串与第二字符串之间的相似性,各操作包括替换操作、交换操作,包括:
[0046]根据编辑距离、配对数及替换操作的操作代价、交换操作的操作代价,确定第一字符串与第二字符串之间的最小语义编辑距离;
[0047]对最小语义编辑距离进行归一化,得到归一化结果;
[0048]根据归一化结果确定第一字符串与第二字符串之间的相似性。
[0049]在另一个实施例中,根据编辑距离、配对数及各操作的操作代价、第一序列中的词个数、第二序列中的词个数,确定第一字符串与第二字符串之间的相似性,各操作包括替换操作、交换操作、插入操作、删除操作中的至少其中之一,包括:
[0050]根据编辑距离、配对数及替换操作的操作代价、交换操作的操作代价,确定第一字符串与第二字符串之间的第一语义编辑距离;
[0051]根据插入操作的操作代价和删除操作的操作代价中的一个、替换操作的操作代价及第一序列中的词个数、第二序列中的词个数,确定第一字符串与第二字符串之间的第二语义编辑距离;
[0052]根据第一语义编辑距离和第二语义编辑距离,确定第一字符串与第二字符串之间的相似性。
[0053]在另一个实施例中,方法还包括:
[0054]根据替换操作与交换操作之间的关系,确定替换操作的操作代价及交换操作的操作代价;
[0055]根据替换操作与插入操作及删除操作之间的关系,确定插入操作的操作代价、删除操作的操作代价及替换操作的操作代价。
[0056]在另一个实施例中,方法还包括:
[0057]根据替换操作与交换操作之间的关系,确定2*替换操作的操作代价〉交换操作的操作代价;
[0058]根据替换操作与插入操作及删除操作之间的关系,确定插入操作的操作代价+删除操作的操作代价〉替换操作的操作代价。
[0059]在另一个实施例中,方法还包括:
[0060]根据插入操作与删除操作之间的关系,确定插入操作的操作代价等于删除操作的操作代价。
[0061]在另一个实施例中,根据预先定义的编辑距离算法及第一序列和第二序列,确定第一字符串和第二字符串之间的编辑距离,包括:
[0062]根据预先定义的编辑距离算法及第一序列和第二序列,通过如下公式一确定第一字符串和第二字符串之间的编辑距离:
[0063]公式一:
[0064]minCost[i, j]=min(
[0065]minCost[1-1,j]+cost(S),
[0066]minCost[i,j-1]+cost(C),
[0067]minCost[1-1,j_l]+cost(T))
[0068]公式一中,i表示第一序列中的第i个词;j表示第二序列中的第j个词;cost(S)为删除操作的操作代价,cost(C)为插入操作的操作代价,cost(T)为替换操作的操作代价。
[0069]在另一个实施例中,根据编辑距离、配对数及替换操作的操作代价、交换操作的操作代价,确定第一字符串与第二字符串之间的最小语义编辑距离,包括:
[0070]根据编辑距离、配对数及替换操作的操作代价、交换操作的操作代价,通过如下公式二确定第一字符串与第二字符串之间的最小语义编辑距离:
[0071 ]公式二: minCost (SI, S2) =d-p(2cost(T)_cost( J));
[0072]公式二中,S1和S2
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1