一种用于问答系统的答案选择方法与流程

文档序号:18257907发布日期:2019-07-24 10:25阅读:184来源:国知局
一种用于问答系统的答案选择方法与流程

本发明涉及问答系统技术领域,特别是指一种用于问答系统的答案选择方法。



背景技术:

计算机问答系统中的答案选择,是从一些候选答案中选择问题的正确答案,现有方法主要尝试为问题与候选答案生成高质量的句子分布式表示,然后这些分布式表示将被用以衡量候选答案与问题之间的相关性,进而选择出相关性最高的候选答案作为正确答案返回,其中现有方法大多数工作都是通过使用循环神经网络(RNN)以实现良好的性能,但发明人在使用中发现,RNN使用相同的特征抽取器处理所有的问答句子,而不管句子长度如何,这些方法经常遇到长期依赖的问题,这意味着网络在学习位置相隔较远的单词之间的依赖关系时变得十分困难。这就导致了在长句子分布式表示时质量较低,因为这些句子的单词之间的长距离交互可能无法被完全捕获,造成了全局信息的缺失。



技术实现要素:

有鉴于此,本发明的目的在于提出一种用于问答系统的答案选择方法,解决现有的问答系统中的答案选择方法忽略句子长度的问题。

基于上述目的本发明提供的一种用于问答系统的答案选择方法,包括以下步骤:

A.接收用户输入的问题句子和答案句子,利用预训练得到的词嵌入模型得出各句子中每个单词的词向量,并结合网络训练过程中对词嵌入模型进行微调后得出的词向量,计算得出组合后的单词向量;

B.从连接的单词向量中选取有效的特征,得到句子中每个单词的最终向量;

C.根据预设的句子长度阈值,在句子长度高于和低于阈值时,采用不同的特征提取器对句子进行处理,生成拟合后的包含上下文信息的句子矩阵表示;

D.注意力池化层根据步骤C中得到的包含上下文信息的句子矩阵,得出问题句子和答案句子的注意力相似度,通过分别在相似度矩阵的行和列的每一维度提取最大特征,对问题句子和答案句子进行长度自适应分布式表示,为问题句子和答案句子分别生成分布式向量表示;

E.测量问题句子和答案句子的分布式向量表示之间的余弦相似性,得到各答案句子相对于问题句子的相关性,根据相关性对答案句子进行排序。

优选地,在步骤A中包括以下步骤:

A1.将输入的问题句子和答案句子均定义为长度为L的句子s,对句子s中的第t个单词wt,在语料库中预训练得到词嵌入模型,在其中查找单词对应的词向量

A2.在网络训练过程中对预训练的词嵌入模型参数进行微调,使其适用于当前数据集,得到更新过的词嵌入模型,在其中查找出单词对应的词向量计算组合后的单词向量为

优选地,在步骤B中包括以下步骤:

B1.部署隐藏层,从连接的单词向量中选取有效的特征,得到句子中每个单词的最终向量表示

其中和均为隐藏层参数,的维度为D;

B2.对各句子中的所有单词进行步骤A1、A2及B1,得到不含上下文信息的句子分布式矩阵表示

优选地,在步骤C中,为每个输入的句子部署两个特征提取器,即基于BiLSTM的和基于Transformer的特征提取器,通过将两个特征提取器生成的句子分布式矩阵相加,生成拟合的句子分布式矩阵表示。

优选地,在步骤C中,定义每个特征提取器具有一个二值激活参数,二值激活参数设置为:

其中laglstm为基于BiLSTM的特征抽取器的二值激活参数,flagtsfm为基于Transformer的特征提取器的二值激活参数,Lthreshold为句子长度阈值

各句子基于特征提取器的输入为

其中为基于BiLSTM的特征抽取器的输入,为基于Transformer的特征抽取器的输入。

优选地,在步骤C中,当句子长度L低于阈值Lthreshold时,句子中第t个单词的具体操作公式为:

其中,i、o、f分别代表BiLSTM中的输入门,输出门以及遗忘门,和C分别代表保留的总记忆以及当前单词保留的记忆,h代表某一方向上带有记忆的单词表示,其维度为H,和分别为向前和向后的带有记忆的单词表示,以及均为网络参数基于BiLSTM的向量表示构成包含上下文信息的句子矩阵表示

优选地,在步骤C中,当句子长度L高于阈值Lthreshold时,对句子进行特征抽取的计算公式为

其中,为Transformer神经网络的多头自注意力机制中第i个自注意力机制的自注意力相似度;为经过第i个自注意力作用的句子矩阵表示;O、W、和U为自注意力参数;为输入句子矩阵表示中每一个词向量的维度,旨在对softmax函数进行压缩,为句子基于Transformer的包含上下文信息的句子矩阵表示。

优选地,在步骤D中,注意力池化层对问题句子和答案句子的具体操作公式为

其中G为问题和答案的注意力相似度,RQ为问题句子的包含上下文信息的句子矩阵表示,RA为答案句子的包含上下文信息的句子矩阵表示,U是注意力参数;ColumnMax(*)和RowMax(*)分别是取矩阵每一列和每一行的最大值的函数。

优选地,在步骤E中,通过最小化以下候选答案的排序损失来训练神经网络,使其达到最佳训练阶段:

loss=max{0,m-cos(vq,va+)+cos(vq,va-)}

其中,m是一个预设的间隔,vq为问题句子的分布式向量表示,va为答案句子的分布式向量表示,a+为训练实例中的正向答案,a-为训练实例中的负向答案。

从上面所述可以看出,本发明提供的用于问答系统的答案选择方法,采用层次长度自适应神经网络结构来生成问题与答案的句子分布式表示,目的是根据输入句子的长度采用不同的神经特征抽取器来提取高质量的句子特征,首先通过连接一个固定的单词嵌入和一个微调的单词嵌入为输入语句中的每个单词生成一个单词分布式表示,然后,分别对短句子使用基于BiLSTM的特征抽取器和对长句子使用基于Transformer的特征抽取器,最后,使用一个考虑问答句之间交互作用的注意力池化层来生成用于衡量问题与候选答案之间相关性的句子向量表示,实验结果表明,本发明提出的基于长度自适应神经网络的答案选择模型在MAP和MRR方面可以比最先进的基线上取得较大的提升。

附图说明

图1为本发明实施例的答案选择方法流程示意图;

图2为本发明实施例的不同长度的问答对在MAP和MRR方面的性能表现示意图;

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

一种用于问答系统的答案选择方法,包括以下步骤:

A.接收用户输入的问题句子和答案句子,利用预训练得到的词嵌入模型得出各句子中每个单词的词向量,并结合网络训练过程中对词嵌入模型进行微调后得出的词向量,计算得出组合后的单词向量;

B.从连接的单词向量中选取有效的特征,得到句子中每个单词的最终向量;

C.根据预设的句子长度阈值,在句子长度高于和低于阈值时,采用不同的特征提取器对句子进行处理,生成拟合后的包含上下文信息的句子矩阵表示;

D.注意力池化层根据步骤C中得到的包含上下文信息的句子矩阵,得出问题句子和答案句子的注意力相似度,通过分别在相似度矩阵的行和列的每一维度提取最大特征,对问题句子和答案句子进行长度自适应分布式表示,为问题句子和答案句子分别生成分布式向量表示;

E.测量问题句子和答案句子的分布式向量表示之间的余弦相似性,得到各答案句子相对于问题句子的相关性,根据相关性对答案句子进行排序。

可选的,在步骤A中还包括以下步骤:

A1.将输入的问题句子和答案句子均定义为长度为L的句子s,对句子s中的第t(1≤t≤L)个单词wt,为了尽可能多地保留单词内部的特征,先采用在大规模语料库中预训练得到词嵌入模型,在其中查找单词对应的词向量

A2.在网络训练过程中对预训练的词嵌入模型参数进行微调,使其适用于当前数据集,得到一个更新过的词嵌入模型,同样在其中查找出单词对应的词向量将为每个单词查找出的两个词向量连接起来形成一个组合的单词向量计算公式为:

可选的,在步骤B中包括以下步骤:

B1.部署一个隐藏层,从连接的词向量中选取有效的特征,得到句子中每个单词的最终向量表示计算公式为其中和均为隐藏层参数,的维度为D;

B2.对各句子中的所有单词进行步骤A1、A2及B1,得到不含上下文信息的句子分布式矩阵表示

可选的,在步骤C中,由于现有技术中用于答案选择的神经网络都不区分不同长度的输入句子,在对长句子进行特征抽取时容易受到长期依赖问题的影响,无法捕捉句子中的全局特征,因此,本方法中为每个输入句子部署两个特征提取器,即基于BiLSTM的和基于Transformer的特征提取器,来处理不同长度的句子,通过将两个特征提取器生成的句子分布式矩阵相加,生成拟合的句子分布式矩阵表示。

可选的,在步骤C中,定义每个特征提取器具有一个二值激活参数,两个参数均由句子长度L确定。若句子长度大于我们预先设置的句子长度阈值Lthreshold,我们则认为其为长句子,进而将基于Transformer的特征提取器激活参数设为1,将基于BiLSTM的特征提取器激活参数设为0。反之,则将基于BiLSTM的特征提取器激活参数设为1,将基于Transformer的特征提取器激活参数设为0,二值激活参数设置为:

其中laglstm为基于BiLSTM的特征抽取器的二值激活参数,flagtsfm为基于Transformer的特征提取器的二值激活参数,Lthreshold为句子长度阈值

通过将每个特征抽取器的激活参数与步骤B中得到的不包含上下文信息的句子矩阵表示相乘,作为每一个特征抽取器的输入,各句子基于特征提取器的输入为

其中为基于BiLSTM的特征抽取器的输入,为基于Transformer的特征抽取器的输入,通过激活相应的特征抽取器,我们的长度自适应神经网络将可以对不同长度的输入句子进行不同的处理,进而得到经过拟合句子上下文信息的句子矩阵表示,且长句子中的长期依赖问题也由于使用基于Transformer的特征抽取器得到了解决。

可选的,在步骤C中,对于短句子,即长度低于阈值Lthreshold的句子,对应基于Transformer的特征抽取器的输出为全零矩阵,相当于只采用基于BiLSTM的特征抽取器进行特征抽取,对第t个单词表示输入的具体操作公式如下:

其中,i、o、f分别代表BiLSTM中的输入门,输出门以及遗忘门;和C分别代表保留的总记忆以及当前单词保留的记忆。h代表某一方向上带有记忆的单词表示,其维度为H,和分别为向前和向后的带有记忆的单词表示。以及均为网络参数。我们将两个方向上的单词表示拼接得到短句子中每个单词的最终的单词表示s中所有单词的基于BiLSTM的向量表示构成包含上下文信息的句子矩阵表示

可选的,在步骤C中,当句子长度L高于阈值Lthreshold时,对应基于BiLSTM的特征抽取器的输出为全零矩阵,相当于只采用基于Transformer的特征抽取器进行特征抽取,对句子进行特征抽取的计算公式为

其中,为Transformer神经网络的多头自注意力机制中第i个自注意力机制的自注意力相似度;为经过第i个自注意力作用的句子矩阵表示;O、W、和U为自注意力参数;为输入句子矩阵表示中每一个词向量的维度,旨在对softmax函数进行压缩,为句子基于Transformer的包含上下文信息的句子矩阵表示。

可选的,在步骤D中,注意力池化层通过对问题与答案之间的交互信息进行学习,得到综合的问答句子矩阵表示。通过分别在相似度矩阵的行和列的每一维度提取最大特征,我们将得到最终的问答句子分布式向量表示,注意力池化对问题和答案的句子矩阵表示RQ和RA的具体操作公式如下:

其中G为问题和答案的注意力相似度,RQ为问题句子的包含上下文信息的句子矩阵表示,RA为答案句子的包含上下文信息的句子矩阵表示,U是注意力参数;ColumnMax(*)和RowMax(*)分别是取矩阵每一列和每一行的最大值的函数。

可选的,在步骤E中,通过最小化以下候选答案的排序损失来训练神经网络,使其达到最佳训练阶段:

loss=max{0,m-cos(vq,va+)+cos(vq,va-)}

在训练阶段,每个训练实例都由一个问题q、一个正向答案a+(正确答案)和一个负向答案a-(错误答案)组成,其中错误答案从训练集中的所有答案中随机抽取,其中m是一个预设的间隔,用于判断某个训练实例是否将被终止,vq为问题句子的分布式向量表示,va为答案句子的分布式向量表示,a+为训练实例中的正向答案,a-为训练实例中的负向答案,通过本方法,可以根据每个问题与对应问题的相关性对候选答案进行排序。

为了验证本方法的有效性,使用2015年发布的WikiQA数据集,分别通过QA-CNN、QA-BiLSTM、AB-LSTM/CNN和本方法提出的基于长度自适应神经网络(LaNN)答案选择模型,对不同长度的问题-答案对下,即短问题加长正确答案(短-长)和长问题加长正确答案(长-长)下进行答案选择。由于WikiQA中的所有正确答案都是长的,因此不存在(短-短)和(长-短)类型的问答对。

WikiQA数据集统计数据如表1所示

在实验中将长度阈值设置为5(我们在初步实验中测试了不同的阈值,在阈值为5时观察到最佳性能值。),这个阈值接近问题的平均长度。我们将预训练的单词嵌入的尺寸和隐藏层的大小设置为300。我们将所有问题和答案的句子长度填充到40。为了优化损失,采用自适应矩估计(Adam)优化函数对排序损失进行优化。我们采用小批量方法训练我们的模型,并采用指数衰减来改变每一轮训练的学习速率。此外,训练过程中还采用了L2正则化和Dropout正则化方法,以避免过拟合问题。表2详细说明了本方法中的模型的主要参数。

为了验证本方法中提出的LaNN模型的性能是否能优于现有的答案选择基线模型的性能,在WikiQA的测试集上展示了三个基线和LaNN模型的结果。此外,考虑到不同类型问题的模型性能,将测试集分为5组,即how、what、who、where和when。MAP和MRR的详细评价分数见表3。

一般来说,在这两个评价指标方面,QA-BiLSTM模型都优于QA-CNN模型。因为,与CNN相比,BiLSTM能够更好地提取文本数据中的序列特征。此外,AB-LSTM/CNN模型与其他两个不整合注意力机制的基线模型相比均显示出了性能上的提升。对于本方法,与基线模型相比,它在MAP和MRR方面达到了最高的性能。尤其是,在MAP和MRR方面,本方法中的模型优于典型的基于RNN的QA-BiLSTM模型,性能提升分别高达2.74%和3.45%。本方法模型中基于Transformer的特征抽取器可以帮助解决长句子中的长期依赖问题,此外,与最佳基线AB-LSTM/CNN模型相比,本方法模型的总体MAP和MRR评分分别提高了1.67%和2.06%。这表明,使用不同特征抽取器对句子进行分布式表示的本方法有助于提高答案选择的性能。

对于不同类型的问题,除了问题类型“how”之外,本方法在所有类型的问题的性能表现都超过了三个基线模型。采用BiLSTM结构的基线模型QA-BiLSTM达到了最佳结果。这可以归因于基于BiLSTM的结构比CNN结构以及Transformer结构在提取隐藏在序列数据中的上下文特征方面更有效,这在回答“how”类型的问题时尤为突出。本方法模型在“who”类型的问题取得了最高的提升,在MAP和MRR方面,与最佳基线AB-LSTM/CNN相比分别增加了5.87%和5.95%。本方法模型中使用的基于Transformer的结构,在一定程度上可以处理长期依赖关系,能够很好地提取出在回答“who”类型的问题时,隐藏在正确答案中的长距离单词中的特征。

与基线模型相比,本方法模型在短-长组的MAP和MRR方面有明显改善,而长-长组的改善幅度不大。例如,在短-长组中,本方法模型在MAP和MRR方面比最佳基线AB-LSTM/CNN分别提升了7.34%和8.99%;在长-长组中,MAP和MRR的提升仅为0.74%和0.97%。因此,本方法模型有助于提高答案选择的性能,特别是对于问题短、正确答案长的问题-答案对。也就是说,基于Transformer的特征抽取器对长的正确答案是有益的;但是在处理长的正确答案时,短问题比长问题更有益。我们进一步分析了问题与答案之间的长度差距的影响,得出结论:答案越长,问题越短,本方法的性能越好。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。

本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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