一种文本匹配方法及装置与流程

文档序号:16403382发布日期:2018-12-25 20:16阅读:286来源:国知局
一种文本匹配方法及装置与流程

本申请涉及自然语言处理技术领域,尤其涉及一种文本匹配方法及装置。

背景技术

文本匹配是自然语言处理技术领域一项核心技术,用于获取两篇文本的相关性,并根据两篇文本的相关性抽取文本的语义信息,在信息检索、信息抽取和自动问答等领域都有重要意义和广泛应用。

随着深度学习技术的发展,现有技术中出现了cnn(convolutionalneuralnetworks,卷积神经网络)、以及rnn(recurrentneuralnetwork,循环神经网络)结合lstm(longshort-termmemory)的可用于计算文本相似度的神经网络模型。其中,cnn通过对文本的词向量序列进行卷积处理,得到文本的局部信息向量,但是,cnn对文本的词向量的卷积处理过程会导致文本的序列信息(序列信息指文本中字或词的顺序关系)丢失,例如,文本中的“我爱你”和“你爱我”表示不同的语义,但是,它们经过cnn的卷积处理后得到的局部信息向量可能是相同的,即cnn认为这两个局部文本的语义相同,从而导致文本匹配的准确率下降。此外,rnn网络通过建立一条单项的链式神经网络,能够将序列化数据中的信息流从链式神经网络的一侧传递到另外一侧,因此,相比于cnn网络而言,rnn网络能够更好地处理包括待匹配文本的词向量序列在内的序列化数据,但是,rnn网络在信息流传递过程中经常要面临梯度消失和梯度爆炸的问题,虽然可以通过lstm缓解这一问题,但会导致在文本的相似度计算中引入更多参数,从而提高模型的训练难度、降低文本匹配效率。

可见,如何提供一种兼顾准确性和效率的文本匹配方法,成为本领域技术人员亟待解决的技术问题。



技术实现要素:

本申请实施例提供了一种文本匹配方法及装置,以解决现有技术中的文本匹配方法存在由于丢失序列信息导致的准确性低,以及无法兼顾准确性和效率的问题。

第一方面,根据本申请的实施例,提供了一种文本匹配方法,包括:

获取待匹配文本的包含位置编码信息的局部信息向量,所述待匹配文本包括第一待匹配文本和第二待匹配文本,所述局部信息向量包括从第一待匹配文本中获取的第一局部信息向量,以及,从第二待匹配文本中获取的第二局部信息向量;

根据所述第一局部信息向量和所述第二局部信息向量生成第一待匹配文本和第二待匹配文本的注意力,并根据所述注意力对所述第一局部信息向量进行加权;

对所述第一局部信息向量的加权结果进行正则处理,生成正则矩阵;

根据所述正则矩阵获取第一待匹配文本和第二待匹配文本的相似概率。

第二方面,根据本申请的实施例,提供了一种文本匹配装置,包括:

编码模块,用于获取待匹配文本的包含位置编码信息的局部信息向量;所述待匹配文本包括第一待匹配文本和第二待匹配文本,所述局部信息向量包括从第一待匹配文本中获取的第一局部信息向量,以及,从第二待匹配文本中获取的第二局部信息向量;

监督模块,用于根据所述第一局部信息向量和所述第二局部信息向量生成第一待匹配文本和第二待匹配文本的注意力,并根据所述注意力对所述第一局部信息向量进行加权;

正则模块,用于对所述第一局部信息向量的加权结果进行正则处理,生成正则矩阵;

输出模块,用于根据所述正则矩阵获取第一待匹配文本和第二待匹配文本的相似概率。

由以上技术方案可知,本申请实施例提供了一种文本匹配方法及装置,其中,该方法包括:获取待匹配文本的包含位置编码信息的局部信息向量;所述待匹配文本包括第一待匹配文本和第二待匹配文本,所述局部信息向量包括从第一待匹配文本中获取的第一局部信息向量,以及,从第二待匹配文本中获取的第二局部信息向量;根据所述第一局部信息向量和所述第二局部信息向量生成第一待匹配文本和第二待匹配文本的注意力,并根据所述注意力对所述第一局部信息向量进行加权;对所述第一局部信息向量的加权结果进行正则处理,生成正则矩阵;根据所述正则矩阵获取第一待匹配文本和第二待匹配文本的相似概率。本申请实施例提供的技术方案,由于局部信息向量中包含了待匹配文本的位置编码信息,使待匹配文本的字或词的顺序关系得到保留,并且,在文本匹配过程中,通过注意力加权的方式实现了对待匹配文本的监督训练,可以加大两个待匹配文本中的语义相近词的权重,使文本匹配的准确性得到提高;此外,与现有技术的rnn结合lstm的文本匹配新方法相比,本申请实施例的技术方案没有使用参数复杂的链式神经网络,因此,训练效果大大加快。综上所述,本申请实施例提供的技术方案解决了现有技术中存在的文本匹配的准确性低,以及无法兼顾准确性和效率的问题。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一示例性实施例示出的一种文本匹配方法的流程图;

图2是现有技术获取待处理文本的局部信息向量的示意图;

图3本申请一示例实施例示出的卷积过程的示意图;

图4是本申请一示例性实施例示出的一种文本匹配方法步骤s110的流程图;

图5是本申请一示例性实施例示出的一种文本匹配方法步骤s120的流程图;

图6是本申请一示例性实施例示出的一种文本匹配装置的示意图;

图7为本申请一示例性实施例示出的一种文本匹配装置的详细架构图。

具体实施方式

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

为了同时提高文本匹配的准确率和效率,本申请提供了一种文本匹配方法及装置。

下面是本申请的方法实施例。

图1是本申请一示例性实施例示出的一种文本匹配方法的流程图。该方法可以应用于服务器、pc(个人电脑)、平板电脑、手机、虚拟现实设备和智能穿戴设备等多种设备中。

参见图1所示,该方法可以包括以下步骤:

步骤s110,获取待匹配文本的包含位置编码信息的局部信息向量;所述待匹配文本包括第一待匹配文本和第二待匹配文本,所述局部信息向量包括从第一待匹配文本中获取的第一局部信息向量,以及,从第二待匹配文本中获取的第二局部信息向量。

随着深度学习技术的发展,现有技术中出现了cnn(convolutionalneuralnetworks,卷积神经网络)、以及rnn(recurrentneuralnetwork,循环神经网络)结合lstm(longshort-termmemory)的可用于计算文本相似度的神经网络模型。

其中,使用cnn计算文本相似度的方法,首先需要对待处理文本进行分词处理;然后,获取每个分词的词向量,并将所有的词向量拼接成一个表达待处理文本的词向量序列;然后,利用cnn网络预设的卷积核对拼接成的词向量序列进行卷积处理,以获取待处理文本的局部信息向量。但是,现有技术利用cnn网络得到的局部信息向量有时会丢失待匹配文本的序列信息,即无法充分表达待匹配文本的序列信息(本申请实施例中,序列信息指文本中字或词的顺序关系),从而导致两个待匹配文本中的不同语义的字段被获取到了相同的局部信息向量。示例地,参见图2,为现有技术获取待处理文本的局部信息向量的示意图,如图2所示,“我爱你”和“你爱我”表示的是不同的意思,但使用卷积核进行卷积处理后,提取到的局部信息向量却是相同的,也就是说经过卷积处理后,“我爱你”和“你爱我”的语义在局部信息向量中相同的,这显然是会影响文本匹配的准确度的。

为了避免现有技术获取的局部信息向量会丢失待匹配文本的序列信息的问题,本申请实施例的基本思路是:在获取待匹配文本的局部信息向量时,引入待匹配文本的位置编码信息。由于每个字或词在待匹配文本中的位置不同,它们的位置信息也不同,因此,使用预设的位置编码方式得到的每个字或词的位置编码信息也是不同的,我们可以将位置编码信息与待匹配文本的词向量序列结合,并从结合后的包含位置编码信息的词向量序列中卷积获取到包含位置编码信息的局部信息向量。参见图3,为本申请一示例实施例示出的卷积过程的示意图,在本申请实施例获取的局部向量信息中,待匹配文本的序列信息由卷积过程提取到位置编码信息成分来表达,从而,避免的待匹配文本的序列信息的丢失。

图4是本申请一示例性实施例示出的一种文本匹配方法步骤s110的流程图。

步骤s111,获取待匹配文本的词向量矩阵。

本申请实施例中的词向量矩阵由待匹配文本中所有词的词向量拼接而成,例如:我们预设词向量的维度dmodel=512维,如果某个待匹配文本长度len=20个词,那么,该待匹配文本的词向量矩阵的维度就是20×512(len×dmodel)。本申请实施例中,待匹配文本的每个词的词向量可以随机初始化生成,并在整个神经网络的训练过程中不断迭代更新,也可以使用预先训练好的词向量,例如使用word2vec预先训练词向量。word2vec是一群用来产生词向量的相关模型,这些模型一般是由浅层的神经网络组成。cbow和skip-gram是两种典型的word2vec模型,其中,如果使用cbow模型,是以待匹配文本的目标词序列作为词向量模型的输入,以待匹配文本的上下词序列作为词向量模型的输出,训练获取待匹配文本的词向量矩阵,如果使用skip-gram模型,就与cbow模型相反,以待匹配文本的上下词序列作为词向量模型的输入,以待匹配文本的目标词序列作为词向量模型的输出,训练获取待匹配文本的词向量矩阵。

步骤s112,对待匹配文本进行位置编码,以获取待匹配文本的位置编码矩阵。

本申请实施例中,对待匹配文本进行位置编码的目的是为了使神经网络获得待匹配文本的不同分词之间的相对或者绝对位置信息。对于待匹配文本中的某个分词来说,位置编码是表征分词在待匹配文本中位置的位置编码向量,对于整个待匹配文本来说,就是由位置编码向量组成的位置编码矩阵。位置编码向量的维度等于词向量的维度,从而使位置编码向量能够与词向量相加,本申请实施例中,位置编码向量可以使用word2vec模型训练获得,也可以通过正弦函数或余弦函数来生成位置编码向量的每个维度。

在一种可选择的实施方式中,本申请实施例中可以使用以下公式对待匹配文本进行位置编码:

pe(pos,2i)=sin(pos/c2i/dmodel)

pe(pos,2i+1)=cos(pos/c2i/dmodel)

其中,pos表示分词在待匹配文本中的位置,dmodel表示词向量的维度,c为周期系数,pe(pos,2i)表示第pos个位置的分词的第2i个维度的位置编码,pe(pos,2i+1)表示第pos个位置的分词的第2i+1个维度的位置编码。

下面以具体的示例,对位置编码使用的上述公式做出具体的解释说明。

以计算待匹配文本的第一个分词的位置编码向量为例:设置第一个分词的位置pos=1,周期系数c=10000,那么,第一个分词的位置编码向量的维度值依次为:

第0个维度:pe(1,0)=sin(1/100000/dmodel)

第1个维度:pe(1,1)=cos(1/100000/dmodel)

第2个维度:pe(1,2)=sin(1/100002/dmodel)

第3个维度:pe(1,3)=cos(1/100002/dmodel)

……

最后一个维度:pe(1,domdel-1)=sin(1/10000)或pe(1,dmodel-1)=cos(1/10000)

同理,第二个分词的位置编码向量的维度值依次为:

第0个维度:pe(2,0)=sin(2/100000/dmodel)

第1个维度:pe(2,1)=cos(2/100000/dmodel)

第2个维度:pe(2,2)=sin(2/100002/dmodel)

第3个维度:pe(2,3)=cos(2/100002/dmodel)

……

最后一个维度:pe(2,domdel-1)=sin(2/10000)或pe(2,dmodel-1)=cos(2/10000)

从以上示例中可以看出:在位置编码向量中,每两个相邻维度可以构成一个二维的单位向量(例如:pe(1,0)和pe(1,1),以及,pe(2,2)和pe(2,3));每一组单位向量会随着分词位置的增大而旋转(例如:从pe(1,0)到pe(2,0),以及,从pe(1,1)到pe(2,1)),因此,位置为pos+k的分词的位置编码向量可以视作是位置为pos的分词的位置编码向量将每一个单位向量旋转一定角度得到,而旋转角度的大小就表达了两个分词之间的距离的大小,旋转的方向就表达了两个分词的顺序关系;并且,每一个单位向量的旋转周期随着维度的变化而不同,具体来说,是随着维度的增大,旋转周期逐渐增大,最小的旋转周期是2pi(当i=0时),最大的旋转周期是c×2pi(当2i=dmodel时),从而,使位置编码向量中每个维度的维度值处在不同的相位上,不易重复。

需要补充说明的是,本申请实施例中,周期系数c作为表征位置编码的正弦函数或余弦函数的分母成分,其数值的大小决定了位置编码向量随位置pos的变化而发生旋转的速度。周期系数c是一个经验系数,当周期系数较大时,位置编码向量随位置pos的变化而旋转的角度较小,但能够在位置编码向量的不同维度之间形成更明显的旋转周期的梯度,有利于表征长文本的位置编码向量;当周期系数较小时,位置编码向量随位置pos的变化而旋转的角度较大,但不利于表征旋转周期的梯度,适用于表征短文本的位置编码向量,因此,基于周期系数c的上述特性,本领域技术人员在实施本申请的技术方案时,可根据实际情况选择周期系数c的取值,本申请实施例中不对周期系数c的取值做具体限定。

步骤s113,将所述词向量矩阵和所述位置编码矩阵相加得到卷积神经网络的输入矩阵。

由于,本申请实施例的词向量矩阵与位置编码矩阵的维度相同,因此,可将二者直接相加,并将相加结果作为卷积神经网络的输入矩阵。本申请实施例中,输入矩阵包含了待匹配文本的词向量成分和位置编码成分,因此,即使待匹配文本中出现了“你爱我”和“我爱你”这样的内容,卷积核也会由于它们的位置编码不同而从它们的输入矩阵中提取到不同的局部信息向量,从而避免的待匹配文本的序列信息的丢失。

步骤s114,使用卷积神经网络从所述输入矩阵中提取所述局部信息向量。

对两个待匹配文本执行步骤s111~步骤s113之后,会分别得到每个待匹配文本的输入矩阵;然后,将两个输入矩阵分别输入到两个卷积神经网络中,通过两个卷积神经网络,分别从两个输入矩阵提取待匹配文本的局部信息向量。需要补充说明的是,由于卷积神经网络使用的单个卷积核的窗口大小是固定的,单个卷积核提取到的局部信息会比较单一,特别是针对中文文本的词向量提取时,由于中文词语通常由不同个数的汉字组成,若仅使用一个卷积核提取局部信息,会导致待匹配文本的序列信息提取不全面,因此,本申请实施例的每个卷积神经网络均使用多个卷积核从输入矩阵中提取出多个局部信息向量,从而通过多个局部信息向量更全面地表达待匹配文本的序列关系。此外,作为优选地,卷积核的宽度等于局部信息向量的维度,从而,使卷积核对局部信息向量进行卷积操作时,卷积核的步进方向使沿着待匹配文本从前到后的方向前进。

需要补充说明的是,如果一个待匹配文本的词向量矩阵大小为len×dmodel,一种卷积核大小为a×dmodel,那么每个卷积核的卷积结果的大小为1×1,如果a×dmodel的卷积核共有d’model个,则卷积结果为d’model个大小为1×1的结果(即:1×1×d’model),使用c个不同的卷积核,则总共能够得到的卷积结果为c×1×d’model,本申请实施例将将卷积结果变形为c×d’model维矩阵作为卷积神经网络模型提取到的局部信息向量。

步骤s120,根据所述第一局部信息向量和所述第二局部信息向量生成第一待匹配文本和第二待匹配文本的注意力,并根据所述注意力对所述第一局部信息向量进行加权。

图5是本申请一示例性实施例示出的一种文本匹配方法步骤s120的流程图。

如图5所示,在一种可选择的实施方式中,步骤s120可以包括以下步骤:

步骤s121,计算所述第一局部信息向量和所述第二局部信息向量的点积。

本申请实施例中,基本思路是将第一局部信息向量作为计算注意力的参数q和v,将第二局部信息向量作为计算注意力的参数k。在步骤s121中,首先对q、k和v分别进行线性映射,将q、k和v的维度分别映射到dk、dk和dv,其中,可对q、k和v进行多次映射,例如次数为h,并且,dk=dv=d’model/h。线性映射的过程通过将q、k和v分别与各自的投影参数矩阵相乘实现,具体为:

其中,i∈[1,h]

然后,对映射后的得到的计算点积。由于是线性映射后的q、k和v,为了便于表达,本申请实施例在此后的叙述中,除了特殊说明意外,均以q、k和v来表示,那么的点积可表示为qkt

步骤s122,对所述点积的计算结果进行去除标准差的尺度化处理,得到所述注意力。

本申请实施例中,假设q和k这两个dk维向量的每个维度值都是一个相互独立的服从正态分布的随机变量,那么,它们的点积的方差就是dk,它们的标准差就是当dk比较大时,qkt的值过大,这使得qkt经过归一化处理后的梯度很小,不利于神经网络的反向传播的进行,因此,在步骤s122中,将q和k的点积除以标准差实现对点积的尺度化处理,以缩小点积的值,并将尺度化处理后的结果w作为注意力。

步骤s123,根据所述注意力对所述第一局部信息向量进行加权,并使用归一化指数函数对加权结果进行归一化处理。

本申请实施例中,步骤s123可以使用以下公式:

其中,即为注意力w,通过v与相乘实现对v的加权,并通过一个softmax(归一化指数)函数,对加权结果进行归一化处理。归一化处理使加权后得到的dk维向量的每个维度值都在(0,1)之间,并且这些维度值的累计和为1,便后后续得到待匹配文本的相似概率。

需要补充说明的是,由于步骤s121中可对q、k和v进行多次映射,每一次映射得到的都会对应产生加权结果,因此,如果进行了h次映射,就会产生h个加权结果,本申请实施例中,将h个加权结果拼接在一起,再通过一个线性变换,就能够得到一个d’model维的多头注意力的加权结果向量attention(q,k,v),本申请实施例可以使用多个卷积核提取多个加权结果attention(q,k,v),最终输出一个c×d’model维的输出矩阵。

步骤s130,对所述第一局部信息向量的加权结果进行正则处理,生成正则矩阵。

在一种可选择的实施方式中,步骤s130可以使用以下公式:

其中,y为正则处理的输入向量,由第一局部信息向量的加权结果与第一局部信息向量相加获得,y的大小为c×d’model,与局部信息向量的维度大小相同;mean(y)表示所有输入向量的平均值;variance表示y的方差;ln表示输入向量y的正则输出向量,大小为c×d’model。

本申请实施例中,通过正则处理,在第一局部信息向量的加权结果中引入了残差,并尽可能地保留了第一局部信息向量的原始信息,有利于神经网络在训练中的收敛,提高训练速度。

步骤s140,根据所述正则矩阵获取第一待匹配文本和第二待匹配文本的相似概率。

在一种可选择的实施方式中,步骤s140可以使用以下公式:

p=softmax(l×w+b)

其中,p表示相似概率矩阵;l表示正则矩阵;w为线性变换矩阵,w的列数为2且行数与l的列数相等;b为常数矩阵,b的行数为1且列数为2,softmax表示使用归一化指数函数对(l×w+b)进行归一化处理。

具体地,首先,在使用线性变换矩阵w对正则矩阵l进行线性变换之前,需要对正则矩阵l进行变形,将正则矩阵l从为c×d’model维变形为1×d’model维,变形后的正则矩阵l的每一列的维度值等于变形前的该正则矩阵l的对应列的c个维度值的平均值,或者,等于变形前的该正则矩阵l的对应列的c个维度值中的最大值。然后,将变形后的正则矩阵l与线性变换矩阵w相乘,将正则矩阵l线性变换为1×2维矩阵。然后,将线性变换后得到的1×2维矩阵与同样是1×2维的常数矩阵b相加。最后,使用归一化指数函数对l×w+b进行归一化处理,得到一个1×2维且维度值均在(0,1)之间的相似概率矩阵p,其中,相似概率矩阵p的第一列维度值表示第一待匹配文本和第二待匹配文本匹配的概率,相似概率矩阵p的第二列维度值表示第一待匹配文本和第二待匹配文本不匹配的概率,从而,根据相似概率矩阵p的两个维度值的大小即可判断出第一待匹配文本和第二待匹配文本是否匹配,得到匹配结果。

由以上技术方案可知,本申请实施例提供了一种文本匹配方法,包括:获取待匹配文本的包含位置编码信息的局部信息向量;所述待匹配文本包括第一待匹配文本和第二待匹配文本,所述局部信息向量包括从第一待匹配文本中获取的第一局部信息向量,以及,从第二待匹配文本中获取的第二局部信息向量;根据所述第一局部信息向量和所述第二局部信息向量生成第一待匹配文本和第二待匹配文本的注意力,并根据所述注意力对所述第一局部信息向量进行加权;对所述第一局部信息向量的加权结果进行正则处理,生成正则矩阵;根据所述正则矩阵获取第一待匹配文本和第二待匹配文本的相似概率。本申请实施例提供的文本匹配方法,由于获取到的局部信息向量中包含了待匹配文本的位置编码信息,使待匹配文本的字或词的顺序关系得到保留,并且,在文本匹配过程中,通过注意力加权的方式实现了对待匹配文本的监督训练,可以加大两个待匹配文本中的语义相近词的权重,使文本匹配的准确性得到提高;此外,与现有技术的rnn结合lstm的文本匹配新方法相比,本申请实施例的技术方案没有使用参数复杂的链式神经网络,因此,训练效果大大加快。综上所述,本申请实施例提供的技术方案解决了现有技术中存在的文本匹配的准确性低,以及无法兼顾准确性和效率的问题。

下面是本申请的装置实施例,可用于执行本申请的方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

图6是本申请一示例性实施例示出的一种文本匹配装置的示意图。该方法可以应用于服务器、pc(个人电脑)、平板电脑、手机、虚拟现实设备和智能穿戴设备等多种设备中。

参见图6所示,该装置可以包括:

编码模块210,用于获取待匹配文本的包含位置编码信息的局部信息向量;所述待匹配文本包括第一待匹配文本和第二待匹配文本,所述局部信息向量包括从第一待匹配文本中获取的第一局部信息向量,以及,从第二待匹配文本中获取的第二局部信息向量;

监督模块220,用于根据所述第一局部信息向量和所述第二局部信息向量生成第一待匹配文本和第二待匹配文本的注意力,并根据所述注意力对所述第一局部信息向量进行加权;

正则模块230,用于对所述第一局部信息向量的加权结果进行正则处理,生成正则矩阵;

输出模块240,用于根据所述正则矩阵获取第一待匹配文本和第二待匹配文本的相似概率。

图7为本申请一示例性实施例示出的一种文本匹配装置的详细架构图。

如图7所示,在一种可选择的实施方式中,编码模块210可以包含两个卷积层,即第一卷积层211和第二卷积层212。本申请实施例中,每个卷积层的输入端接收一个输入矩阵,每个卷积层中包含一个卷积神经网络,通过卷积神经网络对输入矩阵进行卷积处理,能够生成待匹配文本的局部信息向量,即第一卷积层211可以获取第一待匹配文本的第一局部信息向量,第二卷积层212可以获取第二待匹配文本的第二局部信息向量。本申请实施例中,第一卷积层211将第一局部信息向量作为计算注意力的参数q和v传递给监督模块220,以及将参数v传递给正则模块230;第二卷积层212将第二局部信息向量作为计算注意力的参数k传递给监督模块220。

此外,如图7所示,每个卷积层的输入端可以分别设置有词嵌入层213、位置编码层214和叠加层215,其中,词嵌入层213用于获取待匹配文本的词向量矩阵,从而将待匹配文本转化成机器能够识别的词向量的形式;位置编码层214用于获取待匹配文本的位置编码矩阵,通过位置编码矩阵能够表达出待匹配文本的分词序列之间的相对位置或绝对位置信息;叠加层215用于将词向量矩阵和位置编码矩阵相加得到输入矩阵,并将输入矩阵传递给卷积层的输入端。

此外,如图7所示,输出模块240可以包括线性变换层241和归一化变换层242,其中,线性变换层241用于使用线性变换矩阵对正则模块230生成的正则矩阵进行线性变换;归一化变换层242用于使用归一化指数函数对线性变换层241产生的线性变换结果进行归一化处理,以得到第一待匹配文本和第二待匹配文本的相似概率。

由以上技术方案可知,本申请实施例提供了一种文本匹配装置,包括:编码模块,用于获取待匹配文本的包含位置编码信息的局部信息向量;所述待匹配文本包括第一待匹配文本和第二待匹配文本,所述局部信息向量包括从第一待匹配文本中获取的第一局部信息向量,以及,从第二待匹配文本中获取的第二局部信息向量;监督模块,用于根据所述第一局部信息向量和所述第二局部信息向量生成第一待匹配文本和第二待匹配文本的注意力,并根据所述注意力对所述第一局部信息向量进行加权;正则模块,用于对所述第一局部信息向量的加权结果进行正则处理,生成正则矩阵;输出模块,用于根据所述正则矩阵获取第一待匹配文本和第二待匹配文本的相似概率。本申请实施例提供的文本匹配装置,由于获取到的局部信息向量中包含了待匹配文本的位置编码信息,使待匹配文本的字或词的顺序关系得到保留,并且,在文本匹配过程中,通过注意力加权的方式实现了对待匹配文本的监督训练,可以加大两个待匹配文本中的语义相近词的权重,使文本匹配的准确性得到提高;此外,与现有技术的rnn结合lstm的文本匹配新方法相比,本申请实施例的技术方案没有使用参数复杂的链式神经网络,因此,训练效果大大加快。综上所述,本申请实施例提供的技术方案解决了现有技术中存在的由于丢失序列信息导致的准确性低,以及无法兼顾准确性和效率的问题。

本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

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