相似度确定方法及装置与流程

文档序号:16856914发布日期:2019-02-12 23:25阅读:153来源:国知局
相似度确定方法及装置与流程

本发明涉及文本相似度计算领域,具体而言,涉及一种相似度确定方法及装置。



背景技术:

目前,用于计算文本相似度的算法大多是通过权重法或者词/字频进行匹配的,然而,利用上述权重法或者词/字频进行匹配,精确度较低,并且权重法的权重设置需要根据具体场景来进行,比较复杂。

针对上述相关技术中文本相似度的计算比较复杂的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种相似度确定方法及装置,以至少解决相关技术中文本相似度的计算量大的技术问题。

根据本发明实施例的一个方面,提高了一种相似度确定方法,包括:对第一文本和第二文本分别进行分词获得对应的第一分词结果和第二分词结果;对所述第一分词结果和第二分词结果进行过滤,确定在所述第一文本和所述第二文本中都出现的相同的词;统计所述在所述第一文本和所述第二文本中都出现的相同的词分别在所述第一文本和所述第二文本中出现的次数;根据统计的次数,确定所述第一文本以及所述第二文本的相似度。

可选地,对所述第一分词结果和第二分词结果进行过滤包括:分别将所述第一分词结果和第二分词结果导入词包;利用所述词包检测所述第一分词结果和第二分词结果中是否存在无意义的词,其中,所述无意义的词包括以下至少之一:标点,助词,空格;在检测结果为是的情况下,利用所述词包过滤掉所述第一分词结果和第二分词结果中出现的所述无意义的词。

可选地,根据统计的次数,确定所述第一文本以及所述第二文本的相似度包括:确定所述在所述第一文本和所述第二文本中都出现的相同的词在所述第一文本以及第二文本中出现的次数分别对应的向量;采用余弦向量夹角算法,基于所述向量确定所述第一文本和所述第二文本的相似度。

可选地,在根据统计的次数,确定所述第一文本以及所述第二文本的相似度之后,还包括:获取在所述第一文本和所述第二文本中均存在的所述相同的词的种类;根据所述相同的词的种类确定计算所述相似度的复杂度。

根据本发明实施例的另外一个方面,还提供了一种相似度确定装置,包括:分词单元,用于对第一文本和第二文本分别进行分词获得对应的第一分词结果和第二分词结果;第一确定单元,用于对所述第一分词结果和第二分词结果进行过滤,确定在所述第一文本和所述第二文本中都出现的相同的词;统计单元,用于统计所述在所述第一文本和所述第二文本中都出现的相同的词分别在所述第一文本和所述第二文本中出现的次数;第二确定单元,用于根据统计的次数,确定所述第一文本以及所述第二文本的相似度。

可选地,所述第一确定单元包括:导入模块,用于分别将所述第一分词结果和第二分词结果导入词包;检测模块,利用所述词包检测所述第一分词结果和第二分词结果中是否存在无意义的词,其中,所述无意义的词包括以下至少之一:标点,助词,空格;过滤模块,在检测结果为是的情况下,用于利用所述词包过滤掉所述第一分词结果和第二分词结果中出现的所述无意义的词。

可选地,所述第二确定单元包括:第一确定模块,用于确定所述在所述第一文本和所述第二文本中都出现的相同的词在所述第一文本以及第二文本中出现的次数分别对应的向量;第二确定模块,用于采用余弦向量夹角算法,基于所述向量确定所述第一文本和所述第二文本的相似度。

可选地,所述相似度确定装置还包括:获取单元,在根据统计的次数,确定所述第一文本以及所述第二文本的相似度之后,用于获取在所述第一文本和所述第二文本中均存在的所述相同的词的种类;第三确定单元,用于根据所述相同的词的种类确定计算所述相似度的复杂度。

根据本发明实施例的另外一个方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时控制所述存储介质所在设备执行以下操作:对第一文本和第二文本分别进行分词获得对应的第一分词结果和第二分词结果;对所述第一分词结果和第二分词结果进行过滤,确定在所述第一文本和所述第二文本中都出现的相同的词;统计所述在所述第一文本和所述第二文本中都出现的相同的词分别在所述第一文本和所述第二文本中出现的次数;根据统计的次数,确定所述第一文本以及所述第二文本的相似度。

根据本发明实施例的另外一个方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行以下操作:对第一文本和第二文本分别进行分词获得对应的第一分词结果和第二分词结果;对所述第一分词结果和第二分词结果进行过滤,确定在所述第一文本和所述第二文本中都出现的相同的词;统计所述在所述第一文本和所述第二文本中都出现的相同的词分别在所述第一文本和所述第二文本中出现的次数;根据统计的次数,确定所述第一文本以及所述第二文本的相似度。

在本发明实施例中,对第一文本和第二文本分别进行分词从而获取第一分词结果以及第二分词结果,然后,对第一分词结果以及第二分词结果进行过滤,确定在第一文本和第二文本中都出现的相同的词,对相同的词分别在第一文本和第二文本中出现的次数进行统计,最后,根据统计的次数,确定第一文本和第二文本的相似度,从而有效减少了相关技术中计算文本相似度的计算量,解决了相关技术中文本相似度的计算量大的技术问题,达到了降低文本相似度的计算量的技术效果,进而提高了用户体验。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的相似度确定方法的流程图;

图2是根据本发明实施例的相似度确定装置的示意图;

图3是根据本发明实施例的相似度确定装置的第一确定单元22优选示意图;

图4是根据本发明实施例的相似度确定装置的第二确定单元24优选示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

针对上述问题,该实施例中采用对第一文本和第二文本进行分词从而获取分词结果,然后,对分词结果进行过滤,确定第一文本和第二文本中相同的词,在对相同的词分别在第一文本和第二文本中出现的次数进行统计,最后,根据统计的次数,确定第一文本和第二文本的相似度,下面进行具体说明。

根据本发明实施例,提供了一种相似度确定方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的相似度确定方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,对第一文本和第二文本分别进行分词获得对应的第一分词结果和第二分词结果。

步骤s104,对第一分词结果和第二分词结果进行过滤,确定在第一文本和第二文本中都出现的相同的词。

步骤s106,统计在第一文本和第二文本中都出现的相同的词分别在第一文本和第二文本中出现的次数。

步骤s108,根据统计的次数,确定第一文本以及第二文本的相似度。

通过上述步骤,对第一文本和第二文本分别进行分词从而获取对应的第一分词结果和第二分词结果,然后,对第一分词结果和第二分词结果进行过滤,确定在第一文本和第二文本中都出现的相同的词,在对在第一文本和第二文本都出现的相同的词分别在第一文本和第二文本中都出现的次数进行统计,最后,根据统计的次数,确定第一文本和第二文本的相似度,从而克服有效减少了相关技术中利用权重法计算文本相似度的算法复杂度高计算量,且需人为设置权重值的弊端,解决了相关技术中文本相似度的计算量大的技术问题,达到了提高文本相似度的计算复杂度提高的技术效果,进而提高了用户体验。

在上述步骤s102至步骤s108中,通过对第一文本和第二文本分别进行分词获得对应的第一分词结果和第二分词结果,然后,对第一分词结果和第二分词结果进行过滤并确定第一文本以及第二文本中都出现的相同的词,再统计相同的词分别在第一文本和第二文本中出现的次数,根据统计的次数,对第一文本和第二文本的相似度进行确定。

可选地,为了减少确定第一文本和第二文本中相同的词的复杂度,对分词结果进行过滤,确定第一文本和第二文本中相同的词可以包括:分别将第一分词结果和第二分词结果导入词包;利用词包检测第一分词结果和第二分词结果中是否存在无意义的词,其中,无意义的词包括以下至少之一:标点,助词,空格;在检测结果为是的情况下,利用词包过滤掉第一分词结果和第二分词结果中出现的无意义的词,从而可以在对第一文本和第二文本中相同的词进行确定时减少工作量,提高统计效率。例如,第一文本和第二文本中相同的词在第一文本中可以表示为:z1c1,z1c2,z1c3,z1c4……z1cn,它们在第一文本中分别对应的个数为z1n1,z1n2,z1n3……z1nn,那么,第一文本对应的向量也就是(z1n1,z1n2,z1n3……z1nn);第一文本和第二文本中相同的词在第二文本中可以表示为:z2c1,z2c2,z2c3,z2c4……z2cn,它们在第二文本中分别对应的个数为z2n1,z2n2,z2n3……z2nn,那么,第二文本对应的向量也就是(z2n1,z2n2,z2n3……z2nn);其中,z1c1和z2c1表示第一文本和第二文本中相同的词,也即是,z1c1和z2c1的内容是相同的。

可选地,根据统计的次数,确定第一文本以及第二文本的相似度可以包括:确定在第一文本和第二文本中都出现的相同的词分别在第一文本以及第二文本中出现的次数分别对应的向量;采用余弦向量夹角算法,基于向量确定第一文本和第二文本的相似度,具体地,可以通过第一公式来确定第一文本和第二文本的相似度,第一公式为:其中,z1cn和z2cn表示第一文本和第二文本中第n个相同的词,z1nn和z2nn表示第一文本和第二文本中第n个相同的词分别在第一文本和第二文本中出现的次数,n为相同的词的个数,n为自然数。

在本发明一个可选的实施例中,在根据统计的次数,确定第一文本以及第二文本的相似度之后,该相似度确定方法还可以包括:获取在第一文本和第二文本中均存在的相同的词的种类;根据相同的词的种类确定计算相似度的复杂度,具体地,该相似度确定方法的复杂度为:document1.length+document2.length,其中,document1.length表示在第一文本和第二文本中都出现的相同的词的种类数目,以及document2.length表示在第二文本和第一文本中都出现的相同的词的种类数目,也即是,document1.length与document2.length的大小是相同的。例如,“著作权”一词在第一文本中出现了3次,“专利权”在第一文本中出现了5次;“著作权”在第一文本中出现了9次,“专利权”在第二文本中出现了6次,那么第一文本对应的向量为(3,5),而第二文本对应的向量则为(9,6),由于在第一文本和第二文本中均出现了相同的词“著作权”以及“商标权”,那么,在第一文本与第二文本中均出现的相同的词的种类就为2,也即是,第一文本中出现的与第二文本中相同的词的种类为2,第二文本中出现的与第一文本中相同的词的种类也为2,那么,计算第一文本与第二文本的相似度的复杂度就是4。

本发明实施例还提供了一种相似度确定装置,需要说明的是,本发明实施例的相似度确定装置可以用于执行本申请实施例所提供的用于相似度确定方法。以下对本申请实施例提供的相似度确定装置进行介绍。

图2是根据本发明实施例的相似度确定装置的示意图,如图2所示,该相似度计算装置包括:分词单元21、第一确定单元22、统计单元23以及第二确定单元24,下面对该装置进行详细说明。

分词单元21,用于对第一文本和第二文本分别进行分词获得对应的第一分词结果和第二分词结果。

第一确定单元22,用于对第一分词结果和第二分词结果进行过滤,确定在第一文本和第二文本中都出现的相同的词。

统计单元23,用于统计在第一文本和第二文本中都出现的相同的词分别在第一文本和第二文本中出现的次数。

第二确定单元24,用于根据统计的次数,确定第一文本以及第二文本的相似度。

在该相似度计算装置中,采用第一确定单元22对第一文本和第二文本分别进行分词从而获得对应的第一分词结果和第二分词结果,然后,利用统计单元22对第一分词结果和第二分词结果进行过滤,确定在第一文本和第二文本中都出现的相同的词,再利用统计单元23统计相同的词分别在第一文本和第二文本出现的次数,以及第二确定单元24根据统计的次数,确定第一文本和第二文本的相似度。从而有效减少了相关技术中文本相似度的计算量,解决了相关技术中文本相似度的计算量大的技术问题,达到了降低文本相似度的计算复杂度的技术效果,进而提高了用户体验。

图3是根据本发明实施例的相似度确定装置的第一确定单元22优选示意图。如图3所示,该第一确定单元22可以包括:导入模块31,用于分别将第一分词结果和第二分词结果导入词包;检测模块32,与上述导入模块31连接,用于利用词包检测第一分词结果和第二分词结果中是否存在无意义的词,其中,无意义的词包括以下至少之一:标点,助词,空格;过滤模块33,与上述检测模块32连接,在检测结果为是的情况下,用于利用词包过滤掉第一分词结果和第二分词结果中出现的无意义的词。

图4是根据本发明实施例的相似度确定装置的第二确定单元24优选示意图。如图4所示,该第二确定单元24可以包括:第一确定模块41,用于确定在第一文本和第二文本中都出现的相同的词在第一文本以及第二文本中出现的次数分别对应的向量;第二确定模块42,与上述第一确定模块41连接,用于采用余弦向量夹角算法,基于向量确定第一文本和第二文本的相似度。

可选地,该装置还包括:获取单元,在根据统计的次数,确定第一文本以及第二文本的相似度之后,用于获取在第一文本和第二文本中均存在的相同的词的种类;第三确定单元,用于根据相同的词的种类确定计算相似度的复杂度。

根据本发明实施例的另外一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,程序运行时控制存储介质所在设备执行以下操作:对第一文本和第二文本分别进行分词获得对应的第一分词结果和第二分词结果;对第一分词结果和第二分词结果进行过滤,确定在第一文本和第二文本中都出现的相同的词;统计在第一文本和第二文本中都出现的相同的词分别在第一文本和第二文本中出现的次数;根据统计的次数,确定第一文本以及第二文本的相似度。

根据本发明实施例的另外一个方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行以下操作:对第一文本和第二文本分别进行分词获得对应的第一分词结果和第二分词结果;对第一分词结果和第二分词结果进行过滤,确定在第一文本和第二文本中都出现的相同的词;统计在第一文本和第二文本中都出现的相同的词分别在第一文本和第二文本中出现的次数;根据统计的次数,确定第一文本以及第二文本的相似度。

相似度确定装置包括处理器和存储器,上述分词单元21、第一确定单元22、统计单元23以及第二确定单元24等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元实现相应功能。上述预设条件都可以存储在存储器中。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数确定相似度。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:对第一文本和第二文本进行分词获得分词结果;对分词结果进行过滤,确定第一文本和第二文本中相同的词;统计相同的词分别在第一文本和第二文本中出现的次数;根据统计的次数,确定第一文本以及第二文本的相似度。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1