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

句子相似度计算方法、系统、电子设备及存储介质与流程

2022-02-22 05:05:25 来源:中国专利 TAG:


1.本发明属于自然语言处理技术领域,尤其涉及一种句子相似度计算方法、系统、电子设备及存储介质。


背景技术:

2.在自然语言处理技术领域,尤其是在智能问答系统的构建中,句子相似度的计算是一个重要问题,现有句子相似度的计算方式主要包括基于统计的方法和基于深度学习的方法。基于统计的方法主要包括莱文斯坦距离(编辑距离)、bm25算法、tfidf计算法、textrank算法,基于统计的方法泛化能力有限、对数据挖掘的深度不够;基于深度学习主要包括:dssm(deep structured semantic models)模型、bert模型等,传统的基于深度学习的模型计算量较大,在线环境下响应时间较长。


技术实现要素:

3.本技术实施例提供了一种句子相似度计算方法、系统、电子设备及存储介质,以至少解决现有方法在计算句子相似度时泛化能力有限、对数据挖掘的深度不够以及计算量较大,在线环境下响应时间较长的问题。
4.第一方面,本技术实施例提供了一种句子相似度计算方法,包括:词向量模型训练步骤,对待计算相似度的第一句子和第二句子进行分词并训练出一词向量模型;相似度数值计算步骤,遍历所述第一句子和所述第二句子中所有词汇,并通过所述词向量模型计算所述词汇的词向量,进一步计算所述第一句子中所有所述词汇的所述词向量分别与所述第二句子中所有所述词汇的词向量的相似度,并基于一预设规则确定所述第一句子中每个所述词汇相对于所述第二句子的相似度数值;相似句判断步骤,将所述第一句子中所有所述词汇相对于所述第二句子的所述相似度数值取平均值,根据所述平均值并基于一预设阈值,判定所述第一句子和所述第二句子是否为相似句。
5.在其中一些实施例中,所述第一句子的长度大于所述第二句子。
6.在其中一些实施例中,所述相似度数值计算步骤进一步包括:建立一位置信息矩阵p,其中p[i]向量代表所述第一句子或所述第二句子中第i个词的位置向量,将所述p[i]向量拼接在所述第i个词的词向量上,得到最终的所述词汇的所述词向量。
[0007]
在其中一些实施例中,所述相似度数值计算步骤进一步包括:若参与计算的两个所述词汇中有至少一个没有相对应的所述词向量,则所述相似度数值为0。
[0008]
在其中一些实施例中,所述相似度数值计算步骤进一步包括:若参与计算的两个所述词汇的词性不一致,则首先计算得到初步相似度数值,并将所述初步相似度数值乘以一超参数,得到最终的所述相似度数值。
[0009]
在其中一些实施例中,所述超参数的取值范围为小于1。
[0010]
在其中一些实施例中,所述相似度数值计算步骤进一步包括:所述预设规则为:对所述第一句子中每个所述词汇的所述词向量与所述第二句子中所有所述词汇的词向量的
所述相似度取最大值。
[0011]
在其中一些实施例中,所述相似度数值计算步骤进一步包括:所述相似度为余弦相似度。
[0012]
第二方面,本技术实施例提供了一种句子相似度计算系统,适用于上述一种句子相似度计算方法,包括:词向量模型训练模块,对待计算相似度的第一句子和第二句子进行分词并训练出一词向量模型;相似度数值计算模块,遍历所述第一句子和所述第二句子中所有词汇,并通过所述词向量模型计算所述词汇的词向量,进一步计算所述第一句子中所有所述词汇的所述词向量分别与所述第二句子中所有所述词汇的词向量的相似度,并基于一预设规则确定所述第一句子中每个所述词汇相对于所述第二句子的相似度数值;相似句判断模块,将所述第一句子中所有所述词汇相对于所述第二句子的所述相似度数值取平均值,根据所述平均值并基于一预设阈值,判定所述第一句子和所述第二句子是否为相似句。
[0013]
在其中一些实施例中,所述第一句子的长度大于所述第二句子。
[0014]
在其中一些实施例中,所述相似度数值计算模块进一步包括:建立一位置信息矩阵p,其中p[i]向量代表所述第一句子或所述第二句子中第i个词的位置向量,将所述p[i]向量拼接在所述第i个词的词向量上,得到最终的所述词汇的所述词向量。
[0015]
在其中一些实施例中,所述相似度数值计算模块进一步包括:若参与计算的两个所述词汇中有至少一个没有相对应的所述词向量,则所述相似度数值为0。
[0016]
在其中一些实施例中,所述相似度数值计算模块进一步包括:若参与计算的两个所述词汇的词性不一致,则首先计算得到初步相似度数值,并将所述初步相似度数值乘以一超参数,得到最终的所述相似度数值。
[0017]
在其中一些实施例中,所述超参数的取值范围为小于1。
[0018]
在其中一些实施例中,所述相似度数值计算模块进一步包括:所述预设规则为:对所述第一句子中每个所述词汇的所述词向量与所述第二句子中所有所述词汇的词向量的所述相似度取最大值。
[0019]
第三方面,本技术实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种句子相似度计算方法。
[0020]
第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的一种句子相似度计算方法。
[0021]
本技术可应用于深度学习技术领域。相比于相关技术,本技术通过词向量嵌入方式计算句子之间的相似度,降低模型的复杂度,提高计算效率,并可应用于信息检索式的问答系统,根据用户的问题和数据库中已有问答对的问题的相似程度,选取相似度最大的问答对中的回答作为回复。本技术具体具有以下优点:
[0022]
1.本技术基于word2vec词向量计算文本的相似度,没有复杂的数学计算,极大缩短了响应的时间,而且相比于传统的统计方法,利用高维向量表示文本加深了对文本语义的挖掘深度;
[0023]
2.本技术在加速计算的实现不是以损失计算精度为代价的,通过词向量模型挖掘了文本的深度语义;
[0024]
3.本技术利用了词性、词汇位置信息,因为词向量的分布严重依赖于它训练数据,
那么实际的句子与它的训练数据分布不会完全一致,那么词向量的表示就会出现过拟合的现象,而词性、词汇位置信息的引入可以使通过词向量计算相似度的方式进一步地贴合句子的特点。
附图说明
[0025]
此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
[0026]
图1为本发明的句子相似度计算方法流程图;
[0027]
图2为本发明的句子相似度计算系统的框架图;
[0028]
图3为本发明的电子设备的框架图;
[0029]
以上图中:
[0030]
1、词向量模型训练模块;2、相似度数值计算模块;3、相似句判断模块;60、总线;61、处理器;62、存储器;63、通信接口。
具体实施方式
[0031]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0032]
显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
[0033]
在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
[0034]
除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0035]
以下,结合附图详细介绍本发明的实施例:
[0036]
图1为本发明的句子相似度计算方法流程图,请参见图1,本发明句子相似度计算
方法包括如下步骤:
[0037]
s1:对待计算相似度的第一句子和第二句子进行分词并训练出一词向量模型。
[0038]
在具体实施中,首先对于所有的文本数据,即需要计算相似度的两个句子进行分词并训练出词向量模型,可选的,词向量模型为word2vec词向量模型。
[0039]
s2:遍历第一句子和第二句子中所有词汇,并通过词向量模型计算词汇的词向量,进一步计算第一句子中所有词汇的词向量分别与第二句子中所有词汇的词向量的相似度,并基于一预设规则确定第一句子中每个词汇相对于第二句子的相似度数值。
[0040]
可选的,第一句子的长度大于第二句子。
[0041]
可选的,建立一位置信息矩阵p,其中p[i]向量代表第一句子或第二句子中第i个词的位置向量,将p[i]向量拼接在第i个词的词向量上,得到最终的词汇的词向量。
[0042]
可选的,若参与计算的两个词汇中有至少一个没有相对应的词向量,则相似度数值为0。
[0043]
可选的,若参与计算的两个词汇的词性不一致,则首先计算得到初步相似度数值,并将初步相似度数值乘以一超参数,得到最终的相似度数值。可选的,超参数的取值范围为小于1。
[0044]
可选的,预设规则为:对第一句子中每个词汇的词向量与第二句子中所有词汇的词向量的相似度取最大值。
[0045]
在具体实施中,建立一个位置信息矩阵p(该矩阵可随机初始化,也可以采用已经训练好的矩阵),p[i]向量代表一句话中第i个词的位置向量,将p[i]拼接在第i个词的word2vec词向量上。
[0046]
在具体实施中,遍历两个橘子中所有的词汇,选取两个句子中较长的一个,以较长句子为基准,计算较长句子所有词汇的词向量与另一句子中所有的词汇词向量的相似度,可选的,计算余弦相似度;如果被计算的两个词汇中有至少一个词汇没有对应的词向量,则计算相似度为0,如果两个词汇的词性不一致则在相似度数值基础上乘一个抑制因子α《1,该抑制因子为超参数;词性相同的情况直接返回所得的相似度数值。最后在较长句子的每个词汇中,取相似度最大的数值保存为该词汇的相似度数值。
[0047]
s3:将第一句子中所有词汇相对于第二句子的相似度数值取平均值,根据平均值并基于一预设阈值,判定第一句子和第二句子是否为相似句。
[0048]
在具体实施中,将较长句子中所有词汇的相似度数值取平均,平均数值大于γ判断两句为相似句,否则判定为不相似句子。具体的,γ为可自行定义的超参数。
[0049]
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0050]
本技术实施例提供了一种句子相似度计算系统,适用于上述的一种句子相似度计算方法。如以下所使用的,术语“单元”、“模块”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件、或者软件和硬件的组合的实现也是可能并被构想的。
[0051]
图2为根据本发明的句子相似度计算系统的框架图,请参见图2,包括:
[0052]
词向量模型训练模块1:对待计算相似度的第一句子和第二句子进行分词并训练
bus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器62可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器62可在数据处理装置的内部或外部。在特定实施例中,存储器62是非易失性(non-volatile)存储器。在特定实施例中,存储器62包括只读存储器(read-only memory,简称为rom)和随机存取存储器(random access memory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmable read-only memory,简称为prom)、可擦除prom(erasable programmable read-only memory,简称为eprom)、电可擦除prom(electrically erasable programmable read-only memory,简称为eeprom)、电可改写rom(electrically alterable read-only memory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(static random-access memory,简称为sram)或动态随机存取存储器(dynamic random access memory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器(fast page mode dynamic random access memory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extended date out dynamic random access memory,简称为edodram)、同步动态随机存取内存(synchronous dynamic random-access memory,简称sdram)等。
[0068]
存储器62可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器61所执行的可能的计算机程序指令。
[0069]
处理器61通过读取并执行存储器62中存储的计算机程序指令,以实现上述实施例中的任意一种句子相似度计算方法。
[0070]
在其中一些实施例中,电子设备还可包括通信接口63和总线60。其中,如图3所示,处理器61、存储器62、通信接口63通过总线60连接并完成相互间的通信。
[0071]
通信端口63可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
[0072]
总线60包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线60包括但不限于以下至少之一:数据总线(data bus)、地址总线(address bus)、控制总线(control bus)、扩展总线(expansion bus)、局部总线(local bus)。举例来说而非限制,总线60可包括图形加速接口(accelerated graphics port,简称为agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,简称为eisa)总线、前端总线(front side bus,简称为fsb)、超传输(hyper transport,简称为ht)互连、工业标准架构(industry standard architecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(low pin count,简称为lpc)总线、存储器总线、微信道架构(micro channel architecture,简称为mca)总线、外围组件互连(peripheral component interconnect,简称为pci)总线、pci-express(pci-x)总线、串行高级技术附件(serial advanced technology attachment,简称为sata)总线、视频电子标准协会局部(video electronics standards association local bus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线60可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
[0073]
该电子设备可以执行本技术实施例中的一种句子相似度计算方法。
[0074]
另外,结合上述实施例中的一种句子相似度计算方法,本技术实施例可提供一种
计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种句子相似度计算方法。
[0075]
而前述的存储介质包括:u盘、移动硬盘、只读存储器(readonly memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0076]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0077]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

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

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

相关文献