一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

确定相似文本的方法、装置以及存储介质与流程

2022-02-24 12:11:54 来源:中国专利 TAG:


1.本技术涉及文本相似度计算技术领域,特别是涉及一种确定相似文本的方法、装置以及存储介质。


背景技术:

2.文本相似度计算是自然语言处理任务的基石,对后续的文本处理起着非常关键的作用。文本相似度一般指文本在语义上的相似程度,被广泛应用于自然语言处理任务的各个领域,如在机器翻译领域,它可以作为翻译精确度的评价准则;在搜索引擎领域,可用于衡量检索文本与被检索文本之间的相似程度;在自动问答领域,可以从知识库的问答对中匹配出最佳答案;在抄袭检测领域,通过相似度计算可以检测出两段文本的抄袭程度;在文本聚类方面,相似度阈值可以作为聚类标准;在自动文摘中,相似度可以反映局部信息拟合主题的程度。
3.目前,文本相似度计算的方法已经越来越多,目前常用的方式主要包括基于字符串的方法、基于语料库以及基于深度学习的方法。然而,基于字符串检测的方法并没有考虑文本的语义信息和词语之间的关系,基于语料库的方法没有很好的利用句子各个维度的特征,基于深度学习的方法能充分的利用句子各个维度的特征,但是该类方法需要大量的训练集,不适合小样本量的数据。
4.针对上述的现有技术中存在的文本相似度检测方法无法准确地、快速地求解小数据量文本相似度的技术问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本公开的实施例提供了一种确定相似文本的方法、装置以及存储介质,以至少解决现有技术中存在的文本相似度检测方法无法准确地、快速地求解小数据量文本相似度的技术问题。
6.根据本公开实施例的一个方面,提供了一种确定相似文本的方法,包括:获取第一文本;利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度,其中计算文本相似度的算法与文本的结构信息相关;以及根据相似度从至少一个第二文本中确定与第一文本相似的目标文本。
7.根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
8.根据本公开实施例的另一个方面,还提供了一种确定相似文本的装置,包括:数据获取模块,用于获取第一文本;计算模块,用于利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度,其中计算文本相似度的算法与文本的结构信息相关;以及确定模块,用于根据相似度从至少一个第二文本中确定与第一文本相似的目标文本。
9.根据本公开实施例的另一个方面,还提供了一种确定相似文本的装置,包括:处理
器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取第一文本;利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度,其中计算文本相似度的算法与文本的结构信息相关;以及根据相似度从至少一个第二文本中确定与第一文本相似的目标文本。
10.在本公开实施例中,可以利用与文本的结构信息相关的算法计算文本之间的相似度,进而确定出最相似的目标文本。本方案与现有技术相比,由于计算相似度的算法与文本的结构信息(例如:词语的词性、词向量、重要程度以及句向量等信息)相关,因此在计算文本之间相似度过程中可以充分考虑词语以及词语语义之间的关系,因此相似度检测的结果能够更加精准。此外,本技术方案不需要训练模型,因此速度更快效率更高,并且可以适用于任何场景的文本,此外对进行相似度检测的文本的数量没有要求,因此可以适用于任何场景或领域下任何数量的文本相似度检测。从而,可以达到高效、快速地检测任何场景下文本相似度的技术效果。进而解决了现有技术中存在的文本相似度检测方法无法准确地、快速地求解小数据量文本相似度的技术问题。
附图说明
11.此处所说明的附图用来提供对本公开的进一步理解,构成本技术的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
12.图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
13.图2是根据本公开实施例1所述的确定相似文本的方法的流程示意图;
14.图3是根据本公开实施例1所述的特定语义检测的流程示意图;
15.图4是根据本公开实施例2所述的确定相似文本的装置的示意图;以及
16.图5是根据本公开实施例3所述的确定相似文本的装置的示意图。
具体实施方式
17.为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
18.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
19.实施例1
20.根据本实施例,还提供了一种确定相似文本的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然
在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
21.本实施例所提供的方法实施例可以在服务器或者类似的计算设备中执行。图1示出了一种用于实现确定相似文本的方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
22.应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
23.存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的确定相似文本的方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的确定相似文本的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
24.传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
25.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
26.此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
27.在上述运行环境下,根据本实施例的第一个方面,提供了一种确定相似文本的方法,该方法例如可以在智能客服系统的服务器中运行,通过该方法可以从预设的文本库中确定与客户的问题或者回答相似的文本,进而可以了解客户的意图。图2示出了该方法的流程示意图,参考图2所示,该方法包括:
28.s202:获取第一文本;
29.s204:利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间
的相似度,其中计算文本相似度的算法与文本的结构信息相关;以及
30.s206:根据相似度从至少一个第二文本中确定与第一文本相似的目标文本。
31.正如背景技术中所述的,目前,文本相似度计算的方法已经越来越多,目前常用的方式主要包括基于字符串的方法、基于语料库以及基于深度学习的方法。然而,基于字符串检测的方法并没有考虑文本的语义信息和词语之间的关系,基于语料库的方法没有很好的利用句子各个维度的特征,基于深度学习的方法能充分的利用句子各个维度的特征,但是该类方法需要大量的训练集,不适合小样本量的数据。
32.针对背景技术中存在的技术问题,具体地,参考图3所示,本实施例技术方案在步骤s202中,系统服务器首先获取第一文本。其中,该第一文本可以是用户输入的文本,例如:在人机交互界面中用户输入的问题或者回答对应的文本。第一文本还可以是语音交互过程中将用户产生的音频转化得到的文本,例如:通过自动语音识别技术(asr)将用户语音转化成对应的文本。此外,还可以是通过其他方式获取到的第一文本,关于对第一文本的获取方式此处不做具体限定。
33.进一步地,在步骤s204中,服务器利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度,计算文本相似度的算法与文本的结构信息相关。其中,文本的结构信息例如但不限于包括文本中词语的词性、词语重要程度、词向量、句向量等信息,该算法可以根据文本的结构信息计算文本之间的相似度。在一个具体实例中,第二文本例如为集合形式,其中该集合中包含多个第二文本,例如:第二文本1、第二文本2、第二文本3....等。在实际应用中,服务器可以运行该算法计算第一文本和每个第二文本之间的相似度,其中相似度可以通过分值或者数值形式进行表示,例如通过该算法计算得到,第一文本和第二文本1的相似度为20%,第一文本和第二文本2的相似度为23%,第一文本和第二文本3的相似度为50%。
34.最终,在步骤s206中,服务器根据相似度从至少一个第二文本中确定与第一文本相似的目标文本。例如:根据相似度对第二文本进行排序,根据排序结果选择相似度最大的一个或者多个第二文本作为该目标文本。
35.从而通过这种方式,可以利用与文本的结构信息相关的算法计算文本之间的相似度,进而确定出最相似的目标文本。本方案与现有技术相比,由于计算相似度的算法与文本的结构信息(例如:词语的词性、词向量、重要程度以及句向量等信息)相关,因此在计算文本之间相似度过程中可以充分考虑词语以及词语语义之间的关系,因此相似度检测的结果能够更加精准。此外,本技术方案不需要训练模型,因此速度更快效率更高,并且可以适用于任何场景的文本,此外对进行相似度检测的文本的数量没有要求,因此可以适用于任何场景或领域下任何数量的文本相似度检测。从而,可以达到高效、快速地检测任何场景下文本相似度的技术效果。进而解决了现有技术中存在的文本相似度检测方法无法准确地、快速地求解小数据量文本相似度的技术问题。
36.可选地,利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度,包括:分别计算第一文本和至少一个第二文本包含的词语的重要程度数值;依次确定第一文本中包含的词语与至少一个第二文本中包含的词语之间的关联关系;以及根据重要程度数值和关联关系,计算第一文本和至少一个第二文本之间的第一相似度数值,并根据第一相似度数值确定相似度。
37.具体地,在利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度的操作中,服务器首先分别计算第一文本和至少一个第二文本包含的词语的重要程度数值。在具体应用中,服务器可以首先确定第一文本和每个第二文本中包含的词语,例如:第一文本中包含的词语用(w1,w2,

,wn)进行表示,第二文本中包含的词语用(q1,q2,

,qm)表示,其中1-n为第一文本中词语的顺序,1-m为每个第二文本中词语的顺序。然后,服务器确定第一文本中包含的词语的重要程度数值以及每个第二文本中包含的词语的重要程度数值,其中重要程度数值例如但不限于可以通过词语的词性、是否为关键词以及tf-idf值进行计算。进一步地,服务器依次确定第一文本中包含的词语与至少一个第二文本中包含的词语之间的关联关系,例如:依次确定词语w1和q1、w2和q2......wn和qm之间的关联关系,其中关联关系例如但不限于包括以下:
38.a.完全匹配:两个词字面上完全相同;
39.b.同义词关系:两个词语之间是同义词,如“姓名:名字”(该部分根据同义词词典读取);
40.c.包含关系:两个词之间是一种包含关系,如“周末:周六”(该部分从包含关系词典读取);
41.d.上下位关系:两个词语之间是上下位的关系,如“鸟:麻雀”;
42.e.部分词匹配:词语的部分匹配,比如“关闭”和“关”可以进行部分匹配;
43.f.词向量匹配:两个词语之间词向量相似度;
44.h.实体类别:两个词是否属于同一实体,如海淀区与朝阳区就是同属于地名这个实体;
45.在具体应用中,该算法中针对不同的关联关系可以设置对应的权重值。最终,服务器根据重要程度数值和关联关系,计算第一文本和至少一个第二文本之间的第一相似度数值,并根据第一相似度数值确定相似度,即根据词语的重要程度数值和关联关系,确定文本之间的相似度。从而通过这种方式,可以从词语的层面计算文本之间的相似度。
46.可选地,所述方法还包括:分别确定第一文本和至少一个第二文本中词语的词向量以及词语的tf-idf值;根据词语的词向量以及词语的tf-idf值,分别确定第一文本和第二文本对应的第一句向量和第二句向量;根据余弦定理对第一句向量和第二句向量进行计算,分别确定第一文本和至少一个第二文本之间的第二相似度数值,并且根据第一相似度数值确定相似度,包括:根据第一相似度数值和第二相似度数值,确定相似度。
47.具体地,本方案的服务器还可以分别确定第一文本和至少一个第二文本中词语的词向量以及词语的tf-idf值。其中,优选的可以通过word2vec算法计算词语的词向量,通过tf-idf算法计算词语的tf-idf值。进一步地,服务器根据词语的词向量以及词语的tf-idf值,分别确定第一文本和第二文本对应的第一句向量和第二句向量。最终,余弦定理对第一句向量和第二句向量进行计算,分别确定第一文本和至少一个第二文本之间的第二相似度数值,其中余弦定理算法为:a和b分别代表第一句向量和第二句向量。从而,还可以通过余弦定理确定文本之间的相似度(第二相似度数值)。此外,进一步地,本方案在根据第一相似度数值确定相似度的操作中,
服务器还可以根据第一相似度数值和第二相似度数值计算第一文本和第二文本之间的相似度,例如:该算法中将第一相似度数值和第二相似度数值设置有不同的权重值,根据第一相似度数值和第二相似度数值以及对应的权重值计算最终的相似度。从而通过这种方式,在计算文本相似度的过程中,可以结合词语的角度以及文本句子的角度等维度,确定最终的相似度,因此进一步提升结果的准确性。
48.可选地,所述方法还包括:根据第一文本和第二文本的句型是否相同,分别确定第一文本和至少一个第二文本的第三相似度数值;根据第一文本和第二文本的编辑距离,分别确定第一文本和至少一个第二文本的第四相似度数值,并且根据第一相似度数值和第二相似度数值,确定相似度,包括:根据第一相似度数值、第二相似度数值、第三相似度数值以及第四相似度数值,确定相似度。
49.具体地,本方案的服务器还可以通过第一文本和第二文本的句型是否相同计算文本之间的相似度,在一个具体实例中,例如:0表示句型不同(例如:第一文本为问句,第二文本为陈述句),1表示句型相同(例如:第一文本和第二文本都为问句)。此外,本方案还可以根据第一文本和第二文本的编辑距离,分别确定第一文本和至少一个第二文本的第四相似度数值。最终,服务器利用该算法根据根据第一相似度数值、第二相似度数值、第三相似度数值以及第四相似度数值,确定相似度。例如:该算法中分别设置有第一相似度数值、第二相似度数值、第三相似度数值以及第四相似度数值对应的权重值,然后根据第一相似度数值、第二相似度数值、第三相似度数值以及第四相似度数值以及对应的权重值,计算第一文本和每个第二文本之间的相似度。
50.在一个具体实例中,根据以下公式计算第一文本和第二文本的相似度:
51.相似度=第一相似度数值*w1 第二相似度数值*w2 第三相似度数值*w3 第四相似度数值*w4,其中w1、w2、w3以及w4分别为第一相似度数值、第二相似度数值、第三相似度数值以及第四相似度数值对应的权重值。
52.从而通过这种方式,可以结合词语重要程度、词性、句向量等多个维度共同确定文本之间的相似度,因此进一步地提升了计算结果的准确性。
53.可选地,分别计算第一文本和至少一个第二文本包含的词语的重要程度数值,包括:根据预设的与词语的词性和关键程度相关的规则,分别确定第一文本和至少一个第二文本包含的词语的词性权重值、关键词权重值以及tf-idf值;以及根据词性权重值、关键词权重值以及tf-idf值,分别计算第一文本和至少一个第二文本包含的词语的重要程度数值。
54.具体地,该算法预设有与词语的词性和关键程度相关的规则,例如:算法中为不同的词性、关键词设置有对应的分值以及权重值以及计算tf-idf值的方式,服务器首先根据该算法确定第一文本和至少一个第二文本包含的词语的词性权重值、关键词权重值以及tf-idf值。进一步地,根据词性权重值、关键词权重值以及tf-idf值,分别计算第一文本和至少一个第二文本包含的词语的重要程度数值。
55.在一个具体实例中,根据以下公式计算该重要程度数值:
56.重要程度数值=词性*θ1 关键词*θ2 tf-idf值θ3,其中θ1、θ2以及θ3分别对应于词性权重值、关键词权重值以及tf-idf值权重值。
57.可选地,根据重要程度数值和关联关系,计算第一文本和至少一个第二文本之间
的第一相似度数值,包括:根据重要程度数值和关联关系,分别计算第一文本相对于至少一个第二文本相似的第一数值;根据重要程度数值和关联关系,分别计算至少一个第二文本相对于第一文本相似的第二数值;以及根据第一数值和第二数值,计算第一相似度数值。
58.具体地,在根据重要程度数值和关联关系,计算第一文本和至少一个第二文本之间的第一相似度数值的操作中,服务器首先根据重要程度数值和关联关系,分别计算第一文本相对于至少一个第二文本相似的第一数值,即:计算第一文本向第二文本方向求相似度。在一个具体实例中,其中n为所述第一文本中词语的数量,m为所述第二文本中词语的数量,1《=i《=n,1《=j《=m,wi表示所述第一文本中第i个词语的所述重要程度数值,r
ij
表示所述第一文本中的第i个词语与所述第二文本中第j个词语之间关联关系对应的权重值。
59.进一步地,服务器还根据重要程度数值和关联关系,分别计算至少一个第二文本相对于第一文本相似的第二数值,即:计算第二文本向第一文本方向求相似度。在一个具体实例中:其中n为所述第一文本中词语的数量,m为所述第二文本中词语的数量,1《=i《=n,1《=j《=m,wj表示所述第二文本中第j个词语的所述重要程度数值,r
ji
表示所述第二文本中的第j个词语与所述第一文本中第i个词语之间关联关系对应的权重值。
60.最终,服务器根据第一数值和第二数值,计算似度数值。例如:算法中对第一数值和第二数值设置有对应的权重值,服务器可以利用算法根据第一数值和第二数值以及对应的权重值,计算该第一相似度数值。在一个具体实例中,第一相似度数值=第一数值*
ɑ
1 第二数值*
ɑ
2,其中
ɑ
1和
ɑ
2分别为第一数值和第二数值对应的权重值。从而,可以从两个方向上计算文本之间的第一相似度数值,使得结果更加准确。
61.可选地,在利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度之前,还包括:确定第一文本包含的第一词语集合;确定至少一个第三文本包含的第二词语集合;计算第一词语集合与每个第二词语集合之间相同词语的数值;以及根据相同词语的数值,从至少一个第三文本中确定第二文本。
62.具体地,本实施例中系统例如可以设置有一个知识库(或者文本库),知识库中共有m个文本(对应于至少一个第三文本)。在利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度之前,服务器还可以首先确定第一文本包含的第一词语集合,例如:第一词语集合为上述的(w1,w2,

,wn)。然后,服务器确定至少一个第三文本包含的第二词语集合,例如:第二词语集合为(q1,q2,

,qni)。进一步地,计算第一词语集合与每个第二词语集合之间相同词语的数值,例如:将第一词语集合和第二词语集合进行交集运算{w1,w2,

,wn}∩{q1,q2,

,qni},确定两者相同词语的数量,最终根据相同词语的数量,从至少一个第三文本中确定第二文本。从而,可以初步的从知识库中筛选出第二文本,可以使后续的文本相似性计算等步骤能够缩小范围,提高效率。
63.可选地,在根据词语的词向量以及词语的tf-idf值,分别确定第一文本和第二文本对应的第一句向量和第二句向量的操作中,服务器根据以下公式计算第一句向量和第二
句向量:其中n为第一文本中词语数量,tf-idfi为第一文本中第i个词语对应的tf-idf值,w2vi为第一文本中第i个词语对应的词向量;以及其中m为第二文本词语的数量,tf-idfj为第二文本中第j个词语对应的tf-idf值,w2vj为第二文本中第j个词语对应的词向量。
64.可选地,至少一个第二文本对应有特定语义,并且在根据相似度从至少一个第二文本中确定与第一文本相似的目标文本之后,还包括:确定与目标文本对应的相似度;以及将与目标文本对应的相似度与预设阈值进行比较,判断第一文本是否对应于特定语义。
65.具体地,本实施例中的至少一个第二文本对应有特定语义,即每个第二文本的意思相同或者相近似。例如:该特定语义可以是对产品感兴趣、询问价格以及其他的语义,系统需要根据相似度值确定用户输入的文本或者语音是否包含该特定语义。参考图3所示,在确定目标文本之后,服务器确定目标文本对应的相似度。然后,将相似度与预设阈值进行比对,如果相似度大于预定阈值则可以认为该第一文本包含与第二文本相关的特定语义,否则确定为不包含特定语义。从而通过这种方式,可以检测用户的输入文本中是否包含特定的语义。
66.此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
67.从而根据本实施例,可以利用与文本的结构信息相关的算法计算文本之间的相似度,进而确定出最相似的目标文本。本方案与现有技术相比,由于计算相似度的算法与文本的结构信息(例如:词语的词性、词向量、重要程度以及句向量等信息)相关,因此在计算文本之间相似度过程中可以充分考虑词语以及词语语义之间的关系,因此相似度检测的结果能够更加精准。此外,本技术方案不需要训练模型,因此速度更快效率更高,并且可以适用于任何场景的文本,此外对进行相似度检测的文本的数量没有要求,因此可以适用于任何场景或领域下任何数量的文本相似度检测。从而,可以达到高效、快速地检测任何场景下文本相似度的技术效果。进而解决了现有技术中存在的文本相似度检测方法无法准确地、快速地求解小数据量文本相似度的技术问题。
68.此外,由于句子的语义主要是由词语来表示,另外句子的语义也会受句型等影响,本实施例技术方案基于给定的配置好的特定语义数据(对应于计算相似度的算法中包含的规则)从以下几方面去分析计算句子的相似度:
69.(一)句子层面:主要有句型,句子向量,编辑距离等。一般情况下,两个相似的句子,他们的句型很大的概率相同,所以本方法将句型是否相同作为计算句子相似度的一个指标;编辑距离,是计算句子相似度的一种方法,本发明选取编辑距离作为句子的一个特征;句子向量:计算句子中所有词向量的加权值,词向量使用大批量无标注数据训练好的word2vec,好的其中权重是依据该词语的tfidf值。
70.(二)不同句子的词与词之间:句子由一个个的词语组成,不同句子之间词与词之间的关系主要包含以下几种:
71.a.完全匹配:两个词字面上完全相同
72.b.同义词关系:两个词语之间是同义词,如“姓名:名字”(该部分根据同义词词典
读取)
73.c.包含关系:两个词之间是一种包含关系,如“周末:周六”(该部分从包含关系词典读取)
74.d.上下位关系:两个词语之间是上下位的关系,如“鸟:麻雀”75.e.部分词匹配:词语的部分匹配,比如“关闭”和“关”可以进行部分匹配
76.f.词向量匹配:两个词语之间词向量相似度
77.h.实体类别:两个词是否属于同一实体,如海淀区与朝阳区就是同属于地名这个实体
78.(三)词语本身:词的词性,是否是关键词,词的tfidf值等。本发明会依据词性,词语的tfidf值,词语重要性等几个指标来计算词语的重要程度,其中词语重要性主要根据是否是关键词及其权重来判断(关键词及其权重可根据需求个性化的配置)。
79.在一个具体实例中,本方案整体流程如下:
80.1.录音文件asr转写成文本
81.2.输入asr转写结果即query
82.3.query过滤,把过长或者过短的句子过滤掉;
83.4.候选问题集的建立。候选问题答案集合建立是为了缩小数据比对的范围,降低计算量。该步骤会从配置的特定语义比对数据集中初步筛选出与query相似的候选集合。这么做的目的使后续的问句相似性计算等步骤能够缩小范围,以较高的效率进行。所用的方法如下:
84.(1)用户输入的目标问句(w1,w2,

,wn)
85.(2)知识库中共有m个问句,第i(1≤i≤m)个问句含有ni个词(q1,q2,

,qni)
86.(3)第i个问句和目标问句之间重叠的词个数记为numi,即numi=|{w1,w2,

,wn}∩{q1,q2,

,qni}|
87.(4)选择numi值最大的若干问句,组成候选问题集
88.5.句子相似度计算。通过上述步骤4,可以得到n个与用户问句比较相似的问题,然后依据本文所提出文本相似度计算方法分别求出topn个问题与用户问句的相似度。
89.6.对步骤5得出的n个计算结果进行排序,筛选出得分最大值,该句子即是与用户问句最相似的句子,即可判断录音对话中是否存在特定语义的内容。
90.具体的计算文本相似度流程如下:
91.1.计算词语的重要程度,主要根据词语的词性(pos),是否是关键词(key),tfidf值衡量,具体计算如下:
92.word
importance
=θ1*pos θ2*key θ3*tfidf
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
93.其中:word
importance
表示词的重要程度,pos表示词语词性权重(不同词性,该值也不同),key指关键词权重,tfidf指该词的tfidf值,θ1,θ2,θ3分别表示三个特征的系数。
94.2.词与词之间关系,词与词之间对应着不同关系,本发明主要考虑以下几种关系:
95.完全匹配(align),同义词关系(synonym),包含关系(contains),上下位关系(hyponym),部分词匹配(partial),词向量匹配(word2vec),实体类别(ner),每种关系对应的权重不同
96.3.根据以上计算两个方向上的句子相似度即query-》question和question-》
query,然后加权平均:
[0097][0098]
其中score
query-》question
表示query向question方向求相似度,其中wi表示query句子中第i个词的词重要程度(求法参见公式1),r
ij
表示query中第i个词与question中第j个词存在关系(2中的几种关系,如完全匹配,包含等)。
[0099][0100]
其中score
question-》query
表示question向query求相似度,其中wj表示question句子中第j个词的重要程度(求法参见公式1),r
ji
表示question中第j个词与query中第i个词存在关系(2中的几种关系,如完全匹配,包含等)。
[0101]
score1=α1*score
query-》question
α2*score
question-》query
ꢀꢀꢀꢀꢀꢀ
(4)
[0102]
其中score1表示正反方向上句子相似度得加权和,score
query-》question
与score
question-》query
分别表示两个方向上求得句子相似度,由公式(2)公式(3)计算得出,α1,α2分别表示对应的权重系数。
[0103]
4.根据query,question两个句子的每个词的词向量,以该词对应的tfidf值为系数,对每个句子的词向量加权求和,得到句子的向量。
[0104][0105]
其中senten_vec表示句子向量,tfidfi代表第i个词的tfidf值,w2vi表示第i个词的词向量,然后依据余弦定理求出两个句子query与question的相似度:
[0106][0107]
5.计算query和question两个句子的句型是否相同scorepattern(0:表示句型不相同,1:句型相同)
[0108]
6.计算query和question两个句子编辑距离ed(editdistance)
[0109]
7.最后根据上述步骤计算的score1,similarity,scorepattern,ed等求出最终的相似度:
[0110]
score
sum
=w1*score1 w2*similarity w3*score
pattern
w4*ed
ꢀꢀꢀ
(7)
[0111]
其中,score
sum
表示最终得分,score1表示正反方向句子相似度计算的加权和(参见公式4),similarity表示基于句子向量求得的相似度(参见公式6),scorepattern表示两个句子的句型,ed代表两个句子的编辑距离,w1,w2,w3,w4表示各项的权重。
[0112]
8.根据上述步骤,计算query与出所有候选集的相似度,排序,得出top1。
[0113]
9.步骤8得到的top1的分值与配置的阈值进行对比,确定语音对话中是否包含特定的语义。
[0114]
从而,该方案可以很好的利用句子各个层级的特征。并且不需要依赖大量的数据量,准确率相对传统的方法也会有所提升。此外,易于维护及优化,如通过修改关键词的权重就可以对句子的相似度做出适当的调整。响应速度快,录音质检对时效性有一定要求,该方法速度比深度学习方法速度快。
[0115]
现有技术中传统的技术如基于字符的方法没有很好的利用句子特征,不需要大量的标注数据,但准确率相对低,基于深度学习的方法可以很好的利用句子各个层级特征,准确率相对好,但需要大量的标注数据才可以达到很好的效果。本方案的方法能充分考虑了句子与句子间,词与词之间,词本身等多个维度特征,且不需要的过多的标注训练数据就可以达到很好的效果,另外通过调整关键词的权重或调整部分特征的计算权重就可以对句子相似度进行有目的的优化,便于优化和维护。
[0116]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0117]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0118]
实施例2
[0119]
图4示出了根据本实施例所述的确定相似文本的装置400,该装置400与根据实施例1的第一个方面所述的方法相对应。参考图4所示,该装置400包括:数据获取模块410,用于获取第一文本;计算模块420,用于利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度,其中计算文本相似度的算法与文本的结构信息相关;以及确定模块430,用于根据相似度从至少一个第二文本中确定与第一文本相似的目标文本。
[0120]
可选地,计算模块420,包括:重要程度值计算子模块,用于分别计算第一文本和至少一个第二文本包含的词语的重要程度数值;关联关系确定子模块,用于依次确定第一文本中包含的词语与至少一个第二文本中包含的词语之间的关联关系;以及第一相似度计算子模块,用于根据重要程度数值和关联关系,计算第一文本和至少一个第二文本之间的第一相似度数值,并根据第一相似度数值确定相似度。
[0121]
可选地,装置400还包括:词向量计算模块,用于分别确定第一文本和至少一个第二文本中词语的词向量以及词语的tf-idf值;句向量计算模块,用于根据词语的词向量以及词语的tf-idf值,分别确定第一文本和第二文本对应的第一句向量和第二句向量;余弦值计算子模块,用于根据余弦定理对第一句向量和第二句向量进行计算,分别确定第一文本和至少一个第二文本之间的第二相似度数值,并且计算模块420,包括:第二相似度计算子模块,用于根据第一相似度数值和第二相似度数值,确定相似度。
[0122]
可选地,装置400还包括:句型判断子模块,用于根据第一文本和第二文本的句型是否相同,分别确定第一文本和至少一个第二文本的第三相似度数值;编辑距离计算子模块,用于根据第一文本和第二文本的编辑距离,分别确定第一文本和至少一个第二文本的第四相似度数值,并且计算模块420,包括:第三相似度计算子模块,用于根据第一相似度数值、第二相似度数值、第三相似度数值以及第四相似度数值,确定相似度。
[0123]
可选地,重要程度值计算子模块,包括:权重值确定单元,用于根据预设的与词语的词性和关键程度相关的规则,分别确定第一文本和至少一个第二文本包含的词语的词性权重值、关键词权重值以及tf-idf值;以及重要程度数值确定单元,用于根据词性权重值、关键词权重值以及tf-idf值,分别计算第一文本和至少一个第二文本包含的词语的重要程度数值。
[0124]
可选地,第一相似度计算子模块,包括:第一数值计算单元,用于根据重要程度数值和关联关系,分别计算第一文本相对于至少一个第二文本相似的第一数值;第二数值计算单元,用于根据重要程度数值和关联关系,分别计算至少一个第二文本相对于第一文本相似的第二数值;以及第一相似度计算单元,用于根据第一数值和第二数值,计算似度数值。
[0125]
可选地,装置400还包括:第一集合确定模块,用于确定第一文本包含的第一词语集合;第二集合确定模块,用于确定至少一个第三文本包含的第二词语集合;数值确定模块,用于计算第一词语集合与每个第二词语集合之间相同词语的数值;以及文本确定模块,用于根据相同词语的数值,从至少一个第三文本中确定第二文本。
[0126]
可选地,句向量计算子模块,包括:句向量计算单元,用于根据以下公式计算第一句向量和第二句向量:其中n为第一文本中词语数量,tf-idfi为第一文本中第i个词语对应的tf-idf值,w2vi为第一文本中第i个词语对应的词向量;以及其中m为第二文本词语的数量,tf-idfj为第二文本中第j个词语对应的tf-idf值,w2vj为第二文本中第j个词语对应的词向量。
[0127]
可选地,至少一个第二文本对应有特定语义,并且装置400还包括:目标文本相似度确定模块,用于确定与目标文本对应的相似度;以及语义确定模块,用于将与目标文本对应的相似度与预设阈值进行比较,判断第一文本是否对应于特定语义。
[0128]
从而根据本实施例,可以利用与文本的结构信息相关的算法计算文本之间的相似度,进而确定出最相似的目标文本。本方案与现有技术相比,由于计算相似度的算法与文本的结构信息(例如:词语的词性、词向量、重要程度以及句向量等信息)相关,因此在计算文本之间相似度过程中可以充分考虑词语以及词语语义之间的关系,因此相似度检测的结果能够更加精准。此外,本技术方案不需要训练模型,因此速度更快效率更高,并且可以适用于任何场景的文本,此外对进行相似度检测的文本的数量没有要求,因此可以适用于任何场景或领域下任何数量的文本相似度检测。从而,可以达到高效、快速地检测任何场景下文本相似度的技术效果。进而解决了现有技术中存在的文本相似度检测方法无法准确地、快速地求解小数据量文本相似度的技术问题。
[0129]
实施例3
[0130]
图5示出了根据本实施例所述的确定相似文本的装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:处理器510;以及存储器520,与处理器510连接,用于为处理器510提供处理以下处理步骤的指令:获取第一文本;利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度,其中
计算文本相似度的算法与文本的结构信息相关;以及根据相似度从至少一个第二文本中确定与第一文本相似的目标文本。
[0131]
可选地,利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度,包括:分别计算第一文本和至少一个第二文本包含的词语的重要程度数值;依次确定第一文本中包含的词语与至少一个第二文本中包含的词语之间的关联关系;以及根据重要程度数值和关联关系,计算第一文本和至少一个第二文本之间的第一相似度数值,并根据第一相似度数值确定相似度。
[0132]
可选地,存储器520还用于为处理器510提供处理以下处理步骤的指令:分别确定第一文本和至少一个第二文本中词语的词向量以及词语的tf-idf值;根据词语的词向量以及词语的tf-idf值,分别确定第一文本和第二文本对应的第一句向量和第二句向量;根据余弦定理对第一句向量和第二句向量进行计算,分别确定第一文本和至少一个第二文本之间的第二相似度数值,并且根据第一相似度数值确定相似度,包括:根据第一相似度数值和第二相似度数值,确定相似度。
[0133]
可选地,存储器520还用于为处理器510提供处理以下处理步骤的指令:根据第一文本和第二文本的句型是否相同,分别确定第一文本和至少一个第二文本的第三相似度数值;根据第一文本和第二文本的编辑距离,分别确定第一文本和至少一个第二文本的第四相似度数值,并且根据第一相似度数值和第二相似度数值,确定相似度,包括:根据第一相似度数值、第二相似度数值、第三相似度数值以及第四相似度数值,确定相似度。
[0134]
可选地,分别计算第一文本和至少一个第二文本包含的词语的重要程度数值,包括:根据预设的与词语的词性和关键程度相关的规则,分别确定第一文本和至少一个第二文本包含的词语的词性权重值、关键词权重值以及tf-idf值;以及根据词性权重值、关键词权重值以及tf-idf值,分别计算第一文本和至少一个第二文本包含的词语的重要程度数值。
[0135]
可选地,根据重要程度数值和关联关系,计算第一文本和至少一个第二文本之间的第一相似度数值,包括:根据重要程度数值和关联关系,分别计算第一文本相对于至少一个第二文本相似的第一数值;根据重要程度数值和关联关系,分别计算至少一个第二文本相对于第一文本相似的第二数值;以及根据第一数值和第二数值,计算相似度数值。
[0136]
可选地,在利用预设的计算文本相似度的算法计算第一文本和至少一个第二文本之间的相似度之前,还包括:确定第一文本包含的第一词语集合;确定至少一个第三文本包含的第二词语集合;计算第一词语集合与每个第二词语集合之间相同词语的数值;以及根据相同词语的数值,从至少一个第三文本中确定第二文本。
[0137]
可选地,根据词语的词向量以及词语的tf-idf值,分别确定第一文本和第二文本对应的第一句向量和第二句向量,包括:根据以下公式计算第一句向量和第二句向量:其中n为第一文本中词语数量,tf-idfi为第一文本中第i个词语对应的tf-idf值,w2vi为第一文本中第i个词语对应的词向量;以及
[0138]
其中m为第二文本词语的数量,tf-idfj为第二文本中第j个词语对应的tf-idf值,w2vj为第二文本中第j个词语对应的词向量。
[0139]
可选地,至少一个第二文本对应有特定语义,并且在根据相似度从至少一个第二文本中确定与第一文本相似的目标文本之后,还包括:确定与目标文本对应的相似度;以及将与目标文本对应的相似度与预设阈值进行比较,判断第一文本是否对应于特定语义。
[0140]
从而根据本实施例,可以利用与文本的结构信息相关的算法计算文本之间的相似度,进而确定出最相似的目标文本。本方案与现有技术相比,由于计算相似度的算法与文本的结构信息(例如:词语的词性、词向量、重要程度以及句向量等信息)相关,因此在计算文本之间相似度过程中可以充分考虑词语以及词语语义之间的关系,因此相似度检测的结果能够更加精准。此外,本技术方案不需要训练模型,因此速度更快效率更高,并且可以适用于任何场景的文本,此外对进行相似度检测的文本的数量没有要求,因此可以适用于任何场景或领域下任何数量的文本相似度检测。从而,可以达到高效、快速地检测任何场景下文本相似度的技术效果。进而解决了现有技术中存在的文本相似度检测方法无法准确地、快速地求解小数据量文本相似度的技术问题。
[0141]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0142]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0143]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0144]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0145]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0146]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0147]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献