本发明涉及人工智能技术领域,尤其涉及一种相似句匹配方法、装置、计算机设备及存储介质。
背景技术:
自然语言领域目前已经从自然语言处理发展到自然语言理解的过程,而对于自然语言理解,很重要的就是能对一句话的深层意思理解到位。相似句匹配问题在多个领域都起到很重要的作用,比如问答以及阅读理解等。语言的表达千变万化,如何能正确的判断两个句子是否表达的是同一个意思至关重要。
传统的方法大多停留在判断文字本身的相似度上,比如使用编辑距离等方式判断两个句子的相似度,但是这种方法的准确率非常低,因为语言表达千变万化,有时两个句子只有一个字不一样,可能表达的意思就天差地别了。最近几年随着深度学习的流行,人们开始使用深度学习实现相似句匹配。虽然深度学习完美的解决了之前规则不准的问题,但是准确率较低。
技术实现要素:
本发明实施例提供了一种相似句匹配方法、装置、计算机设备及存储介质,旨在解决现有相似句匹配方法准确率较低的问题。
第一方面,本发明实施例提供了一种相似句匹配方法,孪生网络模型包括多层编码器和多层推理模块,所述相似句匹配方法包括:
通过预设的词向量训练工具分别将第一待测句子以及第二待测句子转换为第一向量以及第二向量;
通过所述多层编码器对所述第一向量进行编码得到第三向量,通过所述多层编码器对所述第二向量进行编码得到第四向量;
通过所述多层推理模块对所述第三向量及第四向量进行信息交互处理从而得到第五向量;
计算所述第五向量的全局平局值;
对所述全局平局值进行归一化处理得到概率值;
根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果。
第二方面,本发明实施例还提供了一种相似句匹配装置,孪生网络模型包括多层编码器和多层推理模块,所述相似句匹配装置包括:
转换单元,用于通过预设的词向量训练工具分别将第一待测句子以及第二待测句子转换为第一向量以及第二向量;
第一编码单元,用于通过所述多层编码器对所述第一向量进行编码得到第三向量,用于通过所述多层编码器对所述第二向量进行编码得到第四向量;
交互处理单元,用于通过所述多层推理模块对所述第三向量及第四向量进行信息交互处理从而得到第五向量;
计算单元,用于计算所述第五向量的全局平局值;
归一化处理单元,用于对所述全局平局值进行归一化处理得到概率值;
判断单元,用于根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时实现上述方法。
本发明实施例提供了一种相似句匹配方法、装置、计算机设备及存储介质,其中所述方法包括:通过预设的词向量训练工具分别将第一待测句子以及第二待测句子转换为第一向量以及第二向量;通过所述多层编码器对所述第一向量进行编码得到第三向量,通过所述多层编码器对所述第二向量进行编码得到第四向量;通过所述多层推理模块对所述第三向量及第四向量进行信息交互处理从而得到第五向量;计算所述第五向量的全局平局值;对所述全局平局值进行归一化处理得到概率值;根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果。该方法通过对第三向量和第四向量进行信息交互处理以及计算第五向量的全局平局值,充分的利用句子的信息,提高了相似句匹配的准确率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种孪生网络模型的示意框图;
图2为本发明实施例提供的一种相似句匹配方法流程示意图;
图3为本发明另一实施例提供的一种相似句匹配方法流程示意图;
图4为本发明实施例提供的一种相似句匹配方法的子流程示意图;
图5为本发明实施例提供的一种相似句匹配装置的示意性框图;
图6为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
本发明实施例提出的技术方案可应用于智慧科技中以推动智慧城市的建设。
请参阅图1,图1是本发明实施例提供的一种孪生网络模型200的示意框图。如图所示,该孪生网络模型200包括两个多层编码器201和两个多层推理模块202,其中两个多层编码器201为并行的关系,两个多层推理模块202之间进行信息交互。
参阅图2,图2是本发明实施例提供的相似句匹配方法的流程示意图。如图2所示,该方法包括以下步骤s1-s6。
s1,通过预设的词向量训练工具分别将第一待测句子以及第二待测句子转换为第一向量以及第二向量。
自然语言理解的问题要转化为机器学习的问题,第一步需要要把句子数学化。词向量就是用来将语言中的词进行数学化的一种方式,顾名思义,词向量就是把一个词表示成一个向量。
具体实施中,采用word2vec作为词向量训练工具,并通过word2vec对所述第二分词序列中的单词进行词向量训练以得到输入词向量序列。
word2vec是一种词向量训练工具,其作用就是将自然语言中的字词转为计算机可以理解的词向量。传统的词向量训练工具容易受维数灾难的困扰,且任意两个词之间都是孤立的,不能体现词和词之间的关系,因此本实施例采用word2vec来训练词向量,其可通过计算向量之间的距离来体现词与词之间的相似性。
例如,在一实施例中,第一待测句子为:春天/花/真/漂亮。通过word2vec训练后得到“春天”的词向量为m11、“花”的词向量为m12、“真”的词向量为m13以及漂亮的词向量为m14,则第一向量为(m11、m12、m13、m14)。
需要说明的是,word2vec仅仅是本发明提供的一种词向量训练工具的示例,本领域技术人员还可以采用其他词向量训练工具,这并不会超出本发明的保护范围。
s2,通过多层编码器对第一向量进行编码得到第三向量,通过多层编码器对第二向量进行编码得到第四向量。
具体实施中,通过所述多层编码器对所述第一向量进行编码得到第三向量。在一实施例中,对应第一向量的每一行向量均有三个表示q(queryvector)、k(keyvector)以及v(valuevector),其中q为查询向量矩阵,k为键向量矩阵,v为值向量矩阵。假设每一行向量的维数是8,若这些表示的维数是5,则三个表示均为8×5的矩阵。
用适当的随机分布分别对q查询向量矩阵,k键向量矩阵以及v值向量矩阵进行随机初始化得到初始化的q查询向量矩阵,k键向量矩阵以及v值向量矩阵。
对q查询向量矩阵,k键向量矩阵以及v值向量矩阵初始化后与第一向量作积,便可得到第一向量的三个表示mq、mk以及mv。具体的在一实施例中,将第一向量的每一行向量与q查询向量矩阵相乘得到mq第一待测句子的查询向量矩阵,将第一向量的每一行向量与k键向量矩阵相乘得到mk第一待测句子的键向量矩阵,将第一向量的每一行向量与v值向量矩阵相乘得到mv第一待测句子的值向量矩阵。
通过自注意力机制的方程
具体实施中,通过所述多层编码器对所述第二向量进行编码得到第四向量。在本实施例中对应第二向量的每一行向量均有三个表示q、k以及v,其中q为查询向量矩阵,k为键向量矩阵,v为值向量矩阵。
用适当的随机分布分别对q查询向量矩阵,k键向量矩阵以及v值向量矩阵进行随机初始化,得到初始化的q查询向量矩阵,k键向量矩阵以及v值向量矩阵。
对q查询向量矩阵,k键向量矩阵以及v值向量矩阵初始化后与第二向量作积,便可得到第二向量的三个表示nq、nk以及nv。具体的在本实施例中,将第二向量的每一行向量与q查询向量矩阵相乘得到nq第二待测句子的查询向量矩阵,将第二向量的每一行向量与k键向量矩阵相乘得到nk第二待测句子的键向量矩阵,将第二向量的每一行向量与v值向量矩阵相乘得到nv第二待测句子的值向量矩阵。
通过自注意力机制方程
s3,通过所述多层推理模块对所述第三向量及第四向量进行信息交互处理从而得到第五向量。
具体实施中,通过所述多层推理模块对所述第三向量及第四向量进行信息交互处理从而得到第五向量。基于步骤s2的自注意力机制方程将其中第一待测句子的键向量矩阵mk和值向量矩阵mv替换为第二待测句子的键向量矩阵nk和值向量矩阵nv便可得到信息交互的自注意力机制方程。
通过自注意力机制方程
其中mq为第一待测句子的查询向量矩阵,nk第二待测句子的为键向量矩阵,nv为第二待测句子的值向量矩阵,m为第一待测句子,n为第二待测句子,d2为多层推理模块网络层的维度。
s4,计算所述第五向量的全局平局值。
具体实施中,计算所述第五向量的全局平局值,本实施例中的多层推理模块包括多层推理网络,各层所述推理网络均计算所述第三向量与第四向量信息交互的注意力值。
在传统的计算方法中只对多层推理模块的最后一层推理网络输出的注意力值进行步骤s5的归一化处理得到概率值作为相似句匹配的结果,这样处理忽略了多层推理模块中其他推理网络输出的注意力值对概率值的影响,降低了相似句匹配的准确率。
在本实施例中,多层推理模块的每一层推理网络输出的注意力值都参与概率值的计算,从而大大提高了相似句匹配的准确率。
参见图4,在一实施例中,以上步骤s4具体包括:s41-s42。
s41,根据各层所述推理网络计算的第三向量与第四向量信息交互的注意力值,计算第三向量与第四向量信息交互的注意力值的总和。
具体实施中,根据各层所述推理网络计算的第三向量与第四向量信息交互的注意力值,计算第三向量与第四向量信息交互的注意力值的总和,使每层推理网络的输出都能参与到下一步骤概率值的计算。
s42,对第三向量与第四向量信息交互的注意力值的总和求取平均值从而得到第五向量的全局平局值。
具体实施中,对第三向量与第四向量信息交互的注意力值的总和求取平均值从而得到第五向量的全局平局值。将第三向量与第四向量信息交互的注意力值的总和除以多层推理网络的维度得到第三向量与第四向量信息交互的注意力值的平均值,需要说明的是,再将第三向量与第四向量信息交互的注意力值的平均值乘以第二待测句子的值向量矩阵得到第五向量的全局平局值。充分利用了每一层推理网络的输出信息,确保了最大化利用信息。
s5,对所述全局平局值进行归一化处理得到概率值。
具体实施中,对所述全局平局值进行归一化处理得到概率值,使用归一化指数函数(softmax函数)对全局平局值进行归一化处理得到概率值。归一化指数函数能将一个含任意实数的多维向量“压缩”到另一个多维实向量中,使得每一个元素的范围都在(0,1)之间。
需要说明的是,归一化指数函数仅仅是本发明提供的一种归一化处理的示例,本领域技术人员还可以采用其他归一化处理函数,这并不会超出本发明的保护范围。
s6,根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果。
具体实施中,根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果。判断所述概率值是否大于预设阈值;若所述概率值大于所述预设阈值,则判断所述第一待测句子与第二待测句子相似;若所述概率值小于所述预设阈值,则判断所述第一待测句子与第二待测句子不相似。在一实施例中,预设阈值为0.5,若概率值大于0.5,则判断所述第一待测句子与第二待测句子相似,若概率值小于0.5,则判断所述第一待测句子与第二待测句子不相似。用户可根据实际情况对预设阈值进行设定,本发明对此不做具体限定。
本发明实施例提供的相似句匹配方法包括:通过预设的词向量训练工具分别将第一待测句子以及第二待测句子转换为第一向量以及第二向量;通过所述多层编码器对所述第一向量进行编码得到第三向量,通过所述多层编码器对所述第二向量进行编码得到第四向量;通过所述多层推理模块对所述第三向量及第四向量进行信息交互处理从而得到第五向量;计算所述第五向量的全局平局值;对所述全局平局值进行归一化处理得到概率值;根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果。该方法通过对第三向量和第四向量进行信息交互处理以及计算第五向量的全局平局值,充分的利用句子的信息,提高了相似句匹配的准确率。
请参阅图3,图3是本发明另一实施例提供的一种相似句匹配方法的流程示意图。如图3所示,本实施例的相似句匹配方法包括步骤s101-s109。其中步骤s104-s109与上述实施例中的步骤s1-s6类似,在此不再赘述。下面详细说明本实施例中所增加的步骤s101-s103。
s101,使用对比自监督方法对多层编码器进行训练。
具体实施中,所述使用对比自监督方法对多层编码器进行训练,首先构建训练的正标签与负标签;将第一训练句子与第二训练句子输入多层编码器得到x,y以及x',其中x为第一训练句子的浅层输出,y为第一训练句子的深层输出,x'为第二训练句子的浅层输出。需要说明的是,第一训练句子与第二训练句子为两个意思不同的两个句子。x第一训练句子的浅层输出与y第一训练句子的深层输出组成一个正标签(x,y),y为第一训练句子的深层输出与x'第二训练句子的浅层输出组成一个负标签(x',y)。
通过公式js(x,y)=max(e[log(σ(t(x,y)))]+e[log(1-σ(t(x',y)))])计算损失值,其中t(x,y)与t(x',y)为分类器,(x,y)为正标签,(x',y)为负标签;根据损失值调整多层编码器的参数;重复上述训练步骤直至多层编码器的参数不再变化则停止训练。其中,根据损失值调整多层编码器的参数为本领域技术人员熟知的技术手段,在此不再赘述。通过上述训练可得到一个表达能力较强的编码器。在该训练中使用比自监督方法通过构建正负标签便可完成训练,无需使用标注数据。
s102,将经过训练的多层编码器与多层推理模块组成孪生网络模型。
具体实施中,将经过训练的多层编码器与多层推理模块组成孪生网络模型。将经过训练的多层编码器与多层推理模块组成如图1所示的孪生网络模型,其中两个多层编码器并行运行,互不影响,两个多层推理模块之间进行信息的交互。
s103,对孪生网络模型进行训练。
具体实施中,对孪生网络模型进行训练,得到经过训练的孪生网络模型。首先使用对比自监督的方法训练多层编码器,然后使用训练好的多层编码器与多层推理模块组成孪生网络模型,再对整个孪生网络模型进行训练。因为经过步骤s1多层编码器已经具有较强的编码能力,对孪生网络模型的训练就无需对多层编码器再进行训练,不仅提高了孪生网络模型的收敛速度,也减少了对标注数据的需求。
图5是本发明实施例提供的一种相似句匹配装置的示意性框图。如图5所示,对应于以上相似句匹配方法,本发明还提供一种相似句匹配装置100。该相似句匹配装置100包括用于执行上述相似句匹配方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,请参阅图5,该相似句匹配装置100包括转换单元101、第一编码单元102、交互处理单元103、计算单元104、归一化处理单元105以及判断单元106。
转换单元101,用于通过预设的词向量训练工具分别将第一待测句子以及第二待测句子转换为第一向量以及第二向量;
第一编码单元102,用于通过所述多层编码器对所述第一向量进行编码得到第三向量,通过所述多层编码器对所述第二向量进行编码得到第四向量;
交互处理单元103,用于通过所述多层推理模块对所述第三向量及第四向量进行信息交互处理从而得到第五向量;
计算单元104,用于计算所述第五向量的全局平局值;
归一化处理单元105,用于对所述全局平局值进行归一化处理得到概率值;
判断单元106,用于根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果。
在一实施例中,所述通过所述多层编码器对所述第一向量进行编码得到第三向量,通过所述多层编码器对所述第二向量进行编码得到第四向量,包括:
通过方程
在一实施例中,所述通过所述多层编码器对所述第二向量进行编码得到第四向量,包括:
通过方程
通过方程
其中mq为第一待测句子的查询向量矩阵,nk第二待测句子的为键向量矩阵,nv为第二待测句子的值向量矩阵,m为第一待测句子,n为第二待测句子,d2为多层推理模块网络层的维度。
在一实施例中,所述多层推理模块包括多层推理网络,各层所述推理网络均计算所述第三向量与第四向量信息交互的注意力值,所述计算所述第五向量的全局平局值,包括:
根据各层所述推理网络计算的第三向量与第四向量信息交互的注意力值,计算第三向量与第四向量信息交互的注意力值的总和;
对第三向量与第四向量信息交互的注意力值的总和求取平均值从而得到第五向量的全局平局值。
在一实施例中,所述匹配结果包括相似以及不相似,所述根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果,包括:
判断所述概率值是否大于预设阈值;
若所述概率值大于所述预设阈值,则判断所述第一待测句子与第二待测句子相似;
若所述概率值小于所述预设阈值,则判断所述第一待测句子与第二待测句子不相似。
在一实施例中,所述通过预设的词向量训练工具分别将第一待测句子以及第二待测句子转换为第一向量以及第二向量之前,所述相似句匹配方法还包括:
使用对比自监督方法对多层编码器进行训练;
将经过训练的多层编码器与多层推理模块组成孪生网络模型;
对孪生网络模型进行训练。
在一实实施例中,所述使用对比自监督方法对多层编码器进行训练,包括:
构建训练的正标签与负标签;
通过公式js(x,y)=max(e[log(σ(t(x,y)))]+e[log(1-σ(t(x',y)))])计算损失值,其中t(x,y)与t(x',y)为分类器,(x,y)为正标签,(x',y)为负标签;
根据损失值调整多层编码器的参数。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述相似句匹配装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述相似句匹配装置可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。
请参阅图6,图6是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备300是上位机。其中,上位机可以是平板电脑、笔记本电脑、台式电脑等电子设备。
参阅图6,该计算机设备300包括通过系统总线301连接的处理器302、存储器和网络接口305,其中,存储器可以包括非易失性存储介质303和内存储器304。
该非易失性存储介质303可存储操作系统3031和计算机程序3032。该计算机程序3032被执行时,可使得处理器302执行一种相似句匹配方法。
该处理器302用于提供计算和控制能力,以支撑整个计算机设备300的运行。
该内存储器304为非易失性存储介质303中的计算机程序3032的运行提供环境,该计算机程序3032被处理器302执行时,可使得处理器302执行一种相似句匹配方法。
该网络接口305用于与其它设备进行网络通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备300的限定,具体的计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器302用于运行存储在存储器中的计算机程序3032,以实现如下步骤:
通过预设的词向量训练工具分别将第一待测句子以及第二待测句子转换为第一向量以及第二向量;
通过所述多层编码器对所述第一向量进行编码得到第三向量,通过所述多层编码器对所述第二向量进行编码得到第四向量;
通过所述多层推理模块对所述第三向量及第四向量进行信息交互处理从而得到第五向量;
计算所述第五向量的全局平局值;
对所述全局平局值进行归一化处理得到概率值;
根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果。
在一实施例中,所述通过所述多层编码器对所述第一向量进行编码得到第三向量,通过所述多层编码器对所述第二向量进行编码得到第四向量,包括:
通过方程
通过方程
在一实施例中,所述通过所述多层推理模块对所述第三向量及第四向量进行信息交互处理从而得到第五向量,包括:
通过方程
其中mq为第一待测句子的查询向量矩阵,nk第二待测句子的为键向量矩阵,nv为第二待测句子的值向量矩阵,m为第一待测句子,n为第二待测句子,d2为多层推理模块网络层的维度。
在一实施例中,所述多层推理模块包括多层推理网络,各层所述推理网络均计算所述第三向量与第四向量信息交互的注意力值,所述计算所述第五向量的全局平局值,包括:
根据各层所述推理网络计算的第三向量与第四向量信息交互的注意力值,计算第三向量与第四向量信息交互的注意力值的总和;
对第三向量与第四向量信息交互的注意力值的总和求取平均值从而得到第五向量的全局平局值。
在一实施例中,所述匹配结果包括相似以及不相似,所述根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果,包括:
判断所述概率值是否大于预设阈值;
若所述概率值大于所述预设阈值,则判断所述第一待测句子与第二待测句子相似;
若所述概率值小于所述预设阈值,则判断所述第一待测句子与第二待测句子不相似。
在一实施例中,所述通过预设的词向量训练工具分别将第一待测句子以及第二待测句子转换为第一向量以及第二向量之前,所述相似句匹配方法还包括:
使用对比自监督方法对多层编码器进行训练;
将经过训练的多层编码器与多层推理模块组成孪生网络模型;
对孪生网络模型进行训练。
在一实施例中,所述使用对比自监督方法对多层编码器进行训练,包括:
构建训练的正标签与负标签;
通过公式js(x,y)=max(e[log(σ(t(x,y)))]+e[log(1-σ(t(x',y)))])计算损失值,其中t(x,y)与t(x',y)为分类器,(x,y)为正标签,(x',y)为负标签;
根据损失值调整多层编码器的参数。
应当理解,在本申请实施例中,处理器302可以是中央处理单元(centralprocessingunit,cpu),该处理器302还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行如下步骤:
通过预设的词向量训练工具分别将第一待测句子以及第二待测句子转换为第一向量以及第二向量;
通过所述多层编码器对所述第一向量进行编码得到第三向量,通过所述多层编码器对所述第二向量进行编码得到第四向量;
通过所述多层推理模块对所述第三向量及第四向量进行信息交互处理从而得到第五向量;
计算所述第五向量的全局平局值;
对所述全局平局值进行归一化处理得到概率值;
根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果。
在一实施例中,所述通过所述多层编码器对所述第一向量进行编码得到第三向量,通过所述多层编码器对所述第二向量进行编码得到第四向量,包括:
通过方程
通过方程
在一实施例中,所述通过所述多层推理模块对所述第三向量及第四向量进行信息交互处理从而得到第五向量,包括:
通过方程
其中mq为第一待测句子的查询向量矩阵,nk第二待测句子的为键向量矩阵,nv为第二待测句子的值向量矩阵,m为第一待测句子,n为第二待测句子,d2为多层推理模块网络层的维度。
在一实施例中,所述多层推理模块包括多层推理网络,各层所述推理网络均计算所述第三向量与第四向量信息交互的注意力值,所述计算所述第五向量的全局平局值,包括:
根据各层所述推理网络计算的第三向量与第四向量信息交互的注意力值,计算第三向量与第四向量信息交互的注意力值的总和;
对第三向量与第四向量信息交互的注意力值的总和求取平均值从而得到第五向量的全局平局值。
在一实施例中,所述匹配结果包括相似以及不相似,所述根据所述概率值判断所述第一待测句子与第二待测句子的匹配结果,包括:
判断所述概率值是否大于预设阈值;
若所述概率值大于所述预设阈值,则判断所述第一待测句子与第二待测句子相似;
若所述概率值小于所述预设阈值,则判断所述第一待测句子与第二待测句子不相似。
在一实施例中,所述通过预设的词向量训练工具分别将第一待测句子以及第二待测句子转换为第一向量以及第二向量之前,所述相似句匹配方法还包括:
使用对比自监督方法对多层编码器进行训练;
将经过训练的多层编码器与多层推理模块组成孪生网络模型;
对孪生网络模型进行训练。
在一实施例中,所述使用对比自监督方法对多层编码器进行训练,包括:
构建训练的正标签与负标签;
通过公式js(x,y)=max(e[log(σ(t(x,y)))]+e[log(1-σ(t(x',y)))])计算损失值,其中t(x,y)与t(x',y)为分类器,(x,y)为正标签,(x',y)为负标签;
根据损失值调整多层编码器的参数。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是u盘、移动硬盘、只读存储器(read-onlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。