基于Bi-LSTM算法的检测咨询语句重复性评价方法及系统

文档序号:25588163发布日期:2021-06-22 17:04阅读:148来源:国知局
基于Bi-LSTM算法的检测咨询语句重复性评价方法及系统

本发明涉及语义重复性评价领域,具体涉及到一种基于bi-lstm算法的检测咨询语句重复性评价方法及系统。



背景技术:

已有现有技术将注意力机制(attention)引入双向长短时记忆网络(bi-lstm),从而用于智能问答系统的研究,如图1所示,在此系统中,句向量层将所输入的语句通过cbow模型生成相对应的句向量,然后将其输入双向长短时记忆网络中;紧接着,此记忆网络通过对于语句进行训练并结合模型前向和后向的结果进行输出;然后将模型bi-lstm模型的输出结果输入到融合了注意力模型encoder-decoder框架,从而得到语句相对应的回答。

也已有现有技术运用glove模型将咨询语句转化为词向量,并使用基于互注意力机制(co-attention)孪生长短期记忆模型(siamesebi-lstm)将其进行语义重复性的检测,所设计系统的检测流程如图2所示,在此系统中,其通过glove模型将所输入的问句转化为对应的词向量,并对所得的词向量进行拼接、求均值等操作。然后将所获得的问句特征向量输入到孪生长短期记忆模型和互注意力模型中,从而得到对应语句的互注意力表示。最后将所得到的语句向量进行相似度的测算并通过分类网络来判断其是否存在重复值。

然而,目前的现有技术还存在着以下技术问题:

现阶段的深度学习模型在没有使用互注意力机制(co-attention)的情况下,无法有效地从语句的上下文两个时态方向去获取语义,从而容易造成语义识别的误差;

使用word2vec模型或者glove模型将语句转化为词向量表示时,模型无法利用语句的语序信息,也容易造成语义识别的误差。



技术实现要素:

针对上述技术问题,本发明的目的在于提供一种基于bi-lstm算法的检测咨询语句重复性评价方法及系统,本发明通过将智能学习平台上的咨询语句转化为句向量而非传统的词向量,并且将互注意力机制(co-attention)引入双向长短时记忆网络(siamesebi-lstm)来检测对应句向量的语义重复程度,提升了对于语句信息的利用率,提高了对于语义重复性识别的准确度,从而减少了重复的咨询语句占用智能学习平台的后端储存空间。

为实现上述目的,本发明是根据以下技术方案实现的:

本发明提出一种一种基于bi-lstm算法的检测咨询语句重复性评价方法,其特征在于,包括如下步骤:

步骤s1:输入咨询语句;

步骤s2:使用dm模型将所输入的咨询语句转化为对应的词向量表示,使用embedding的方式将离散的词向量转化为连续的一维句向量;

步骤s3:在编码层中将所生成的句向量输入到bi-lstm模型的神经网络中;

步骤s4:使用互注意力机制将bi-lstm模型的输出结果生成对应的互注意力表示;

步骤s5:通过距离加权函数来测算出特征向量之间的相似程度;

步骤s6:通过多层感知网络进行分类筛选,从而判断问题语句存在重复值或者不存在重复值。

本发明优选的技术方案在于,步骤s1中设定咨询语句包括w1和w2,记为:s(w1,w2),其中,

当s(w1,w2)→1时,表示两个咨询语句的语义相似或相同,即此组语句存在重复值;

当s(w1,w2)→0时,表示两个咨询语句的语义不相同,即此组语句不存在重复值。

本发明优选的技术方案在于,步骤s1进一步包括不同的咨询语句分别输入到神经网络的子网络中。

本发明优选的技术方案在于,步骤s2还包括对dm模型进行训练,训练步骤包括:

dm模型生成一个与词向量拥有相同维数的语句识别向量;

将所有的咨询语句的向量和词向量进行累加处理,得到对应的语句向量;

将对应的语句向量传递到下一层的编码层中。

本发明优选的技术方案在于,步骤s3包括

步骤s31:使用神经网络算法进行计算生成的句向量;

步骤s32:使用lstm模型从后向以及前向每个时间步的隐藏层状态进行连接操作,并且通过连接函数计算出bi-lstm所输出的每个句向量。

本发明优选的技术方案在于,所述步骤s4包括:

步骤s41:使用互注意力机制对bi-lstm模型进行优化,构造语义的相似度矩阵;

步骤s42:对相似度矩阵的行和列进行最大池化来对池化层进行特征提取,从而得到对应语句的互注意力表示。

本发明优选的技术方案在于,所述dm模型通过glove模型或者word2vec模型替换。

本发明优选的技术方案在于,所述距离加权函数为欧氏距离加权函数或者马氏距离加权函数或者明氏距离加权函数。

本发明还提出了一种基于bi-lstm算法的检测咨询语句重复性评价系统,其特征在于,包括:

咨询语句输入部,其用于输入咨询语句;

词向量表示部,其通过dm模型将所输入的咨询语句转化为对应的词向量表示;

一维句向量表示部,其通过embedding的方式将离散的词向量转化为连续的一维句向量;

bi-lstm模型,bi-lstm模型用于通过自身的神经网络接收通过在编码层中将所生成的句向量;

互注意力机制表示部,其对所述bi-lstm模型的生成结果生成对应的互注意力表示;

距离加权函数计算部,其用于测算特征向量之间的相似程度;

多层感知部,其通过多层感知网络进行分类筛选,从而判断问题语句存在重复值或者不存在重复值。

本发明与现有技术相比,具有如下优点:

1.本发明使用对应语句的句向量而非词向量来进行语义相似度的检测,能够更好地利用语句的语序信息,从而增加检测的准确率。

2.本发明使用互注意力机制(co-attention)能帮助模型从过去和未来两个不同的时态来获取语句的语义信息。

附图说明

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

图1为现有技术的智能问答系统示意图;

图2为另一种现有技术设计系统的检测流程示意图;

图3为使用本申请模型来进行语句重复性检测的流程示意图。

图4为使用dm模型生成句向量的过程示意图;

图5为使用互注意力机制生成对应的互注意力表示示意图;

图6为使用欧氏距离加权函数计算欧式距离的示意图;

图7为判断问题语句存在重复值或者不存在重复值的示意图;

图8为模型试验结果示意图;

图9为在同样使用词向量下各模型的判断准确率示意图;

图10为在同样使用句向量下各模型的判断准确率示意图;

图11为使用句向量之后各模型准确率的变动示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

根据现有技术的不足,本发明提出了一种基于bi-lstm算法的检测咨询语句重复性评价方法及系统,尤其是针对经管类的咨询语句,如图3所示,图3为使用本申请模型来进行语句重复性检测的流程示意图。本发明的一种基于bi-lstm算法的检测咨询语句重复性评价方法,其特征在于,包括如下步骤:

步骤s1:输入咨询语句;

步骤s2:使用dm模型将所输入的咨询语句转化为对应的词向量表示,使用embedding的方式将离散的词向量转化为连续的一维句向量;

步骤s3:在编码层中将所生成的句向量输入到bi-lstm模型的神经网络中;

步骤s4:使用互注意力机制将bi-lstm模型的输出结果生成对应的互注意力表示;

步骤s5:通过距离加权函数来测算出特征向量之间的相似程度;

步骤s6:通过多层感知网络进行分类筛选,从而判断问题语句存在重复值或者不存在重复值。

在步骤s1中设定咨询语句包括w1和w2,记为:s(w1,w2),其中,

当s(w1,w2)→1时,表示两个咨询语句的语义相似或相同,即此组语句存在重复值;

当s(w1,w2)→0时,表示两个咨询语句的语义不相同,即此组语句不存在重复值。

步骤s1的输入咨询语句包括分别将不同的咨询语句分别输入到神经网络的子网络中,如图3所示。

步骤s2还包括对dm模型进行训练,训练步骤包括:

dm模型生成一个与词向量拥有相同维数的语句识别向量;

将所有的咨询语句的向量和词向量进行累加处理,得到对应的语句向量;

将对应的语句向量传递到下一层的编码层中。

如图4所示为使用dm模型和embedding的方式生成句向量的过程。

步骤s3包括:

步骤s31:使用神经网络算法进行计算生成的句向量;

在对于bi-lstm模型进行训练时,通过对于误差的逆向传播来调整权重。并且,在神经网络中计算遗忘门、输出门输入门以及输入门的细胞状态,公式如下:

bt=dt⊙bt-1+qt⊙st

ht=tanh(bt)⊙ot

其中,⊙:元素对应乘积;pq、pd、po、ps:所需要学习的参数。gq、gd、go、gs:偏差向量;σ:用于激活函数的s型函数;tanh:双曲正切函数;xt=[ht-n,ht-(n-1),...,ht-2,ht-1]为lstm层的输出,用以表示所有输出结果的矢量。

步骤s32:使用lstm模型从后向以及前向每个时间步的隐藏层状态进行连接操作,并且通过连接函数计算出bi-lstm所输出的每个句向量。其中连接函数为:xt=((ht)⊙(ht)),其中:⊙表示将将两个输出结果结合起来,h表示前向层从t-n时间段到t-1时间段的正序迭代计算输出的结果;h表示使用从t-n时间段到t-1时间段的逆向输入的运算输出结果。

bi-lstm的输出向量可以表示为:

步骤s4包括:步骤s41:使用互注意力机制对bi-lstm模型进行优化,构造语义的相似度矩阵;

先构造语义相似度矩阵如下:

和mi分别表示语句n和m中的第i和第j个词语。e(.)为单层前馈神经网络且e(x)=relu(p(x)+g)。

步骤s42:对相似度矩阵的行和列进行最大池化来对池化层进行特征提取,从而得到对应语句的互注意力表示。其过程如下:

sij为n、m语句的相似度矩阵,且s∈rln×lm。s(.)为softmax函数。

n',m'分别为n语句和m语句的互注意力表示,步骤s4的流程如图5所示。

dm模型通过glove模型或者word2vec模型替换。

本发明的距离加权函数为欧氏距离加权函数或者马氏距离加权函数或者明氏距离加权函数。

欧式函数的表达式如下:

x,y:在k维度空间上的向量,x和y的欧氏距离定义为空间中x和y的真实距离。如果x和y是在二维空间上的向量,则此时u(x,y)的取值便可使用勾股定理进行测算,在二维空间中计算欧式距离的示意图如图6所示。

步骤s6的流程图如图7所示,mlp模型获取从上述算法中输出的问题语句的向量表示以及其语义的相似度距离间的连接并作为mlp模型的输入,对应的算法如下:

v=[f(w1);f(w2);d(w1,w2)]

接着输出两个问题语句间的匹配几率作为输出结果,最终将输出一个单独的1×2向量从而判断语句存在或者不存在重复值。

本发明还提出了一种基于bi-lstm算法的检测咨询语句重复性评价系统,包括:

咨询语句输入部,其用于输入咨询语句;

词向量表示部,其通过dm模型将所输入的咨询语句转化为对应的词向量表示;

一维句向量表示部,其通过embedding的方式将离散的词向量转化为连续的一维句向量;

bi-lstm模型,bi-lstm模型用于通过自身的神经网络接收通过在编码层中将所生成的句向量;

互注意力机制表示部,其对所述bi-lstm模型的生成结果生成对应的互注意力表示;

距离加权函数计算部,其用于测算特征向量之间的相似程度;

多层感知部,其通过多层感知网络进行分类筛选,从而判断问题语句存在重复值或者不存在重复值。

本发明的评价方法的实验采用tensorflow系统,并选择使用c++加快其运算效率,最后运用高级机器学习应用程序接口(api)来达到模型训练的效率最大化。

所使用的实验数据皆来自经管之家平台,本次实验单独选取了经管之家平台上有关于如何运用stata软件进行计量模型分析的的咨询帖。此次实验选取了总计800个有关于“加权最小二乘法什么情况下适用”、“如何做stata面板数据的模型分析”以及“stata控制变量不符合预期怎么办”的相关咨询帖作为实验数据,并将咨询帖的问答结果进行语句的整合,从而得到两个文本文档,分别命名为提问文本和回复文本,总计约为6400条咨询数据,选择其中的4800条数据进行训练,1600条数据进行数据测试。使用jieba分词器将文本中的语句进行分词,紧接着删去标点符号等,为后续生成句向量做好前期准备。

再使用欧氏距离函数针对基于互注意力机制的bi-lstm模型的输出结果进行相似度测算,并通过mlp过滤器来判断其是否存在重复性语句。

模型的参数设置如下:

本次试验结果如图8所示,所选取词向量的bi-lstm、attention-bi-lstm、co-attention-bi-lstm的判断准确率分别为76.26%、81.13%以及86.76%,而选取句向量的bi-lstm、attention-bi-lstm、co-attention-bi-lstm的判断准确率分别为80.61%、85.86%以及89.42%,由此可知,co-attention-bi-lstm的判断准确率相对较高。

如图9和图10所示,它们分别为在同样使用词向量下各模型的判断准确率示意图以及在同样使用句向量下各模型的判断准确率示意图;co-attention-bi-lstm的判断准确率也比较高。

图11为使用句向量之后各模型准确率的变动示意图。从图11可以看出,co-attention-bi-lstm的判断准确率也是比bi-lstm、attention-bi-lstm的判断准确率高。

本发明通过将经管类智能学习平台上的咨询语句转化为句向量而非传统的词向量,并且将将互注意力机制(co-attention)引入双向长短时记忆网络(siamesebi-lstm)来检测对应句向量的语义重复程度,提升了对于语句信息的利用率,提高了对于语义重复性识别的准确度,从而减少了重复的咨询语句占用经管类智能学习平台的后端储存空间。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

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