问答系统重复问题识别方法、装置及存储介质与流程

文档序号:18940697发布日期:2019-10-23 01:08阅读:351来源:国知局
问答系统重复问题识别方法、装置及存储介质与流程

本发明涉及人工智能技术领域,尤其涉及一种问答系统重复问题识别方法、装置及存储介质。



背景技术:

随着人们对快速、准确地获取信息需求的日益增大,问答系统成为目前人工智能和自然语言处理领域中极具发展前景的研究方向。问答系统(questionansweringsystem,qa)是信息检索系统的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。重复问题识别是问答系统中一个重要研究方向,在很多实际问答社区如知乎、quora以及stackflow等社区都需要进行重复问题识别,以方便进行问题答案的聚合,以及问题答案的推荐、自动qa等。但是目前,在问答系统中常见是问题与答案的语义匹配,但鲜少有对重复问题进行识别,使得不便于对问题答案进行推荐或聚合等。



技术实现要素:

本发明提供一种问答系统重复问题识别方法、装置及存储介质,以解决现有技术中不便于对问题答案进行推荐或聚合的问题。

为了实现上述目的,本发明的一个方面是提供一种问答系统重复问题识别方法,包括:构建问题数据库;构建重复问题识别模型;利用所述问题数据库训练所述重复问题识别模型;将待识别的第一问题和第二问题输入经过训练得到的重复问题识别模型;通过重复问题识别模型输出所述第一问题与所述第二问题的相似性;根据所述相似性获取识别结果;其中,所述重复问题识别模型包括神经网络层、注意力机制层、第二融合层、归一化层和输出层,所述神经网络层包括两个循环神经网络结构,分别用于提取与待识别问题对应的特征向量,所述注意力机制层包括依次连接的第一融合层、压平层、全连接层和重构层,所述第一融合层用于融合两个循环神经网络结构的输出,所述第二融合层用于融合所述重构层的输出与其中一个循环神经网络结构的输出。

优选地,所述重复问题识别模型还包括嵌入层,所述嵌入层用于将待识别的问题转化为相应的特征向量,作为所述神经网络层的输入。

优选地,所述循环神经网络结构包括双向循环神经网络,所述双向循环神经网络包括基于长短期记忆lstm网络、bilstm网络和/或基于门控循环单元gru网络。

优选地,利用所述问题数据库训练所述重复问题识别模型的步骤包括:

在所述问题数据库中选择样本,并对所述样本标注标签;将标注的样本按比例划分为训练样本、验证样本和测试样本,训练样本用于训练模型,验证样本用于验证模型,测试样本用于测试模型对重复问题识别的准确率;利用训练样本训练所述重复问题模型的参数;利用验证样本验证所述重复问题模型的参数;利用测试样本测试所述重复问题模型对重复问题识别的准确率,若准确率大于或等于预设准确率,则结束训练,若准确率小于预设准确率,则继续训练。

优选地,通过重复问题识别模型输出所述第一问题和所述第二问题的相似性,包括:通过所述嵌入层将所述第一问题和所述第二问题分别转化为相应的第一特征向量和第二特征向量;将所述第一特征向量和所述第二特征向量分别输入所述两个循环神经网络结构,通过两个所述循环神经网络结构分别输出相应的第三特征向量和第四特征向量;通过所述注意力机制层对所述第三特征向量和所述第四特征向量进行处理,获取第五特征向量;将所述第三特征向量与所述第五特征向量通过第二融合层融合,生成第二融合向量;将所述第二融合向量输入所述归一化层;通过所述输出层输出所述第一问题和所述第二问题的相似性。

优选地,通过注意力机制层对所述第三特征向量和所述第四特征向量进行处理,包括:将所述第三特征向量和所述第四特征向量通过第一融合层进行点积运算,生成第一融合向量;将所述第一融合向量输入所述压平层,通过所述压平层将多维的第一融合向量转化为一维的第一融合向量;将一维的第一融合向量输入所述全连接层,通过向一维的第一融合向量序列施加注意力权重,输出注意力特征向量;将所述注意力特征向量输入所述重构层,通过所述重构层输出与第三特征向量相同维度的第五特征向量。

优选地,通过所述输出层输出所述第一问题和所述第二问题的相似性,包括:通过所述输出层输出所述第一问题和所述第二问题的相似概率值;设定第一概率阈值;判断所述第一问题和所述第二问题是否相似,若所述相似概率值大于或等于所述第一概率阈值,则所述第一问题和所述第二问题相似,若所述相似概率值小于所述第一概率阈值,则所述第一问题和所述第二问题不相似。

为了实现上述目的,本发明的另一个方面是提供一种电子装置,该电子装置包括:处理器;存储器,所述存储器中包括问答系统重复问题识别程序,所述问答系统重复问题识别程序被所述处理器执行时实现如上所述的问答系统重复问题识别方法的步骤。

为了实现上述目的,本发明的再一个方面是提供一种计算机可读存储介质,所述计算机可读存储介质中包括问答系统重复问题识别程序,所述问答系统重复问题识别程序被处理器执行时,实现如上所述的问答系统重复问题识别方法的步骤。

相对于现有技术,本发明具有以下优点和有益效果:

本发明通过基于循环神经网络和注意力机制构建的重复问题识别模型,进行问答系统中的重复问题识别,识别准确率较高,且通过识别重复问题便于进行问题答案的聚合、问题答案的推荐以及自动问答等。

附图说明

图1为本发明所述问答系统重复问题识别方法的流程示意图;

图2为本发明中重复问题识别模型的结构示意图;

图3为本发明中问答系统重复问题识别程序的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将参考附图来描述本发明所述的实施例。本领域的普通技术人员可以认识到,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式或其组合对所描述的实施例进行修正。因此,附图和描述在本质上是说明性的,仅仅用以解释本发明,而不是用于限制权利要求的保护范围。此外,在本说明书中,附图未按比例画出,并且相同的附图标记表示相同的部分。

图1为本发明所述问答系统重复问题识别方法的流程示意图,如图1所示,本发明所述问答系统重复问题识别方法,包括以下步骤:

步骤s1,构建问题数据库,问题数据库中的数据集合选自公开数据集first-quora-dataset-release-question-pairs中,用于重复问题识别模型的训练、验证以及测试;

步骤s2,构建重复问题识别模型,图2为本发明中重复问题识别模型的结构示意图,如图2所示,所述重复问题识别模型包括神经网络层、注意力机制层(从众多信息中选择出对当前任务目标更关键的信息)、第二融合层、归一化层和输出层,所述神经网络层包括两个循环神经网络结构,分别用于提取与待识别问题对应的特征向量,所述注意力机制层包括依次连接的第一融合层、压平层(flatten层,用于将输入“压平”,即将多维的输入一维化)、全连接层(dense层)和重构层(reshape层),所述第一融合层用于融合两个循环神经网络结构的输出,所述第二融合层用于融合所述重构层的输出与其中一个循环神经网络结构的输出;

步骤s3,利用所述问题数据库训练所述重复问题识别模型;

步骤s4,将待识别的第一问题和第二问题输入经过训练得到的重复问题识别模型;

步骤s5,通过重复问题识别模型输出所述第一问题与所述第二问题的相似性;

步骤s6,根据所述相似性获取识别结果,判定第一问题与第二问题是否是重复问题。

本发明的一个可选实施例中,利用所述问题数据库训练所述重复问题识别模型,包括:

在所述问题数据库中选择样本,并对样本标注标签,其中,一个样本中包括两个待识别问题,若两个问题重复,则对该样本标注标签为1,若两个问题不重复,则对该样本标注标签为0;

将标注的样本按比例划分为训练样本、验证样本和测试样本,训练样本用于训练模型,验证样本用于验证模型,测试样本用于测试模型对重复问题识别的准确率;

利用训练样本训练所述重复问题模型的参数(包括循环神经网络结构的参数和注意力机制层的权重参数等);

利用验证样本验证所述重复问题模型的参数;

利用测试样本测试所述重复问题模型对重复问题识别的准确率,若准确率大于或等于预设准确率,则结束训练,若准确率小于预设准确率,则继续训练。

通过对重复问题识别模型进行训练,提高识别的准确率。

如图2所示,本发明的一个实施例中,所述重复问题识别模型还包括嵌入层,所述嵌入层用于将待识别的问题转化为相应的特征向量,以作为神经网络层的输入。采用开源的词向量twitter(2btweets,27btokens,1.2mvocab,uncased,25d,50d,100d,&200dvectors,1.42gbdownload),选择200dvector对每个待识别问题进行嵌入(embedding)操作,得到相应的特征向量,通过嵌入层可以得到一个512维的特征向量,将512维的特征向量输入循环神经网络。

优选地,循环神经网络结构包括双向循环神经网络,所述双向循环神经网络包括基于长短期记忆lstm(longshort-termmemory)网络、bilstm(bi-directionallongshort-termmemory)网络和/或基于门控循环单元gru(gatedrecurrentunit)网络。长短期记忆网络是一种事件递归神经网络,用于处理和预测事件序列中间隔和延迟相对较长的重要事件。优选地,循环神经网络结构中包括三层的lstm网络。

进一步地,通过重复问题识别模型输出所述第一问题和所述第二问题的相似性,包括:

通过所述嵌入层将所述第一问题和所述第二问题分别转化为相应的第一特征向量和第二特征向量;

将第一特征向量和第二特征向量分别输入所述两个循环神经网络结构,通过两个所述循环神经网络结构分别输出相应的第三特征向量和第四特征向量,通过循环神经网络结构对输入的第一特征向量和第二特征向量进行高维抽象提取,提取更深层次的特征;

通过注意力机制层对所述第三特征向量和所述第四特征向量进行处理,获取第五特征向量;

将第三特征向量与第五特征向量通过第二融合层融合(add操作),生成第二融合向量;

将第二融合向量输入所述归一化层,激活函数采用softmax函数;

通过所述输出层输出所述第一问题和所述第二问题的相似性,以概率的形式表示相似性结果。

需要说明的是,本发明中,“第一”、“第二”、“第三”、“第四”和“第五”仅用于对相应的待识别问题、特征向量或融合向量进行区分,而不代表优先顺序或其他含义。

优选地,通过注意力机制层对所述第三特征向量和所述第四特征向量进行处理,包括:

将所述第三特征向量和所述第四特征向量通过第一融合层进行点积运算,生成第一融合向量;

将所述第一融合向量输入所述压平层,通过所述压平层将多维的第一融合向量转化为一维的第一融合向量;

将一维的第一融合向量输入所述全连接层,通过向一维的第一融合向量序列施加注意力权重,输出注意力特征向量(全连接层的输出);

将所述注意力特征向量输入所述重构层,通过所述重构层输出与第三特征向量(lstm网络的输出)相同维度的第五特征向量,用于与所述第三特征向量进行融合。

本发明通过注意力机制层将两个待识别问题对应的特征向量进行融合,并施加注意力权重,将注意力机制层处理得到的特征向量与原始待识别问题对应的特征向量进行比较,使得识别结果更加准确。

优选地,通过所述输出层输出所述第一问题和所述第二问题的相似性,包括:通过所述输出层输出所述第一问题和所述第二问题的相似概率值;设定第一概率阈值;判断所述第一问题和所述第二问题是否相似,若所述相似概率值大于或等于所述第一概率阈值,则所述第一问题和所述第二问题相似,若所述相似概率值小于所述第一概率阈值,则所述第一问题和所述第二问题不相似。

进一步地,根据两个问题的相似性获取识别结果,包括:设定第二概率阈值,若第一问题与第二问题相似性大于或等于第二概率阈值,则第一问题与第二问题视为重复,反之,视为不重复。

本发明中,第一问题与第二问题的相似概率值,可以通过计算欧式距离、曼哈顿距离或马氏距离等得到,以衡量两个待识别问题的相似性。

本发明所述问答系统重复问题识别方法应用于电子装置,所述电子装置可以是电视机、智能手机、平板电脑、计算机等终端设备。

所述电子装置包括:处理器;存储器,用于存储问答系统重复问题识别程序,处理器执行所述问答系统重复问题识别程序,实现以下的问答系统重复问题识别方法的步骤:

构建问题数据库;构建重复问题识别模型;利用所述问题数据库训练所述重复问题识别模型;将待识别的第一问题和第二问题输入经过训练得到的重复问题识别模型;通过重复问题识别模型输出所述第一问题与所述第二问题的相似性;根据所述相似性获取识别结果;其中,所述重复问题识别模型包括神经网络层、注意力机制层、第二融合层、归一化层和输出层,所述神经网络层包括两个循环神经网络结构,分别用于提取与待识别问题对应的特征向量,所述注意力机制层包括依次连接的第一融合层、压平层、全连接层和重构层,所述第一融合层用于融合两个循环神经网络结构的输出,所述第二融合层用于融合所述重构层的输出与其中一个循环神经网络结构的输出。

所述电子装置还包括网络接口和通信总线等。其中,网络接口可以包括标准的有线接口、无线接口,通信总线用于实现各个组件之间的连接通信。

存储器包括至少一种类型的可读存储介质,可以是闪存、硬盘、光盘等非易失性存储介质,也可以是插接式硬盘等,且并不限于此,可以是以非暂时性方式存储指令或软件以及任何相关联的数据文件并向处理器提供指令或软件程序以使该处理器能够执行指令或软件程序的任何装置。本发明中,存储器存储的软件程序包括问答系统重复问题识别程序,并可以向处理器提供该问答系统重复问题识别程序,以使得处理器可以执行该问答系统重复问题识别程序,实现问答系统重复问题识别方法的步骤。

处理器可以是中央处理器、微处理器或其他数据处理芯片等,可以运行存储器中的存储程序,例如,本发明中问答系统重复问题识别程序。

所述电子装置还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。显示器用于显示在电子装置中处理的信息以及用于显示可视化的工作界面。

所述电子装置还可以包括用户接口,用户接口可以包括输入单元(比如键盘)、语音输出装置(比如音响、耳机)等。

在其他实施例中,问答系统重复问题识别程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器中,并由处理器执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。图3为本发明中问答系统重复问题识别程序的模块示意图,如图3所示,所述问答系统重复问题识别程序可以被分割为:第一构建模块1、第二构建模块2、训练模块3、输入模块4、输出模块5和识别模块6,其中:

第一构建模块1,构建问题数据库;

第二构建模块2,构建重复问题识别模型;

训练模块3,利用所述问题数据库训练所述重复问题识别模型;

输入模块4,将待识别的第一问题和第二问题输入经过训练得到的重复问题识别模型;

输出模块5,通过重复问题识别模型输出所述第一问题与所述第二问题的相似性;

识别模块6,根据所述相似性获取识别结果;

其中,所述重复问题识别模型包括神经网络层、注意力机制层、第二融合层、归一化层和输出层,所述神经网络层包括两个循环神经网络结构,分别用于提取与待识别问题对应的特征向量,所述注意力机制层包括依次连接的第一融合层、压平层、全连接层和重构层,所述第一融合层用于融合两个循环神经网络结构的输出,所述第二融合层用于融合所述重构层的输出与其中一个循环神经网络结构的输出。

本发明的一个可选实施例中,训练模块3包括:

标注单元,在所述问题数据库中选择样本,并对样本标注标签,其中,一个样本中包括两个待识别问题,若两个问题重复,则对该样本标注标签为1,若两个问题不重复,则对该样本标注标签为0;

划分单元,将标注的样本按比例划分为训练样本、验证样本和测试样本,训练样本用于训练模型,验证样本用于验证模型,测试样本用于测试模型对重复问题识别的准确率;

模型训练单元,利用训练样本训练所述重复问题模型的参数(包括循环神经网络结构的参数和注意力机制层的权重参数等);

模型验证单元,利用验证样本验证所述重复问题模型的参数;

模型测试单元,利用测试样本测试所述重复问题模型对重复问题识别的准确率,若准确率大于或等于预设准确率,则结束训练,若准确率小于预设准确率,则继续训练。

通过对重复问题识别模型进行训练,提高识别的准确率。

如图2所示,本发明的一个实施例中,所述重复问题识别模型还包括嵌入层,所述嵌入层用于将待识别的问题转化为相应的特征向量,以作为神经网络层的输入。采用开源的词向量twitter(2btweets,27btokens,1.2mvocab,uncased,25d,50d,100d,&200dvectors,1.42gbdownload),选择200dvector对每个待识别问题进行嵌入(embedding)操作,得到相应的特征向量,例如,通过嵌入层可以得到一个512维的特征向量,将512维的特征向量输入循环神经网络。

优选地,循环神经网络结构包括双向循环神经网络,所述双向循环神经网络包括基于长短期记忆lstm(longshort-termmemory)网络、bilstm(bi-directionallongshort-termmemory)网络和/或基于门控循环单元gru(gatedrecurrentunit)网络。长短期记忆网络是一种事件递归神经网络,用于处理和预测事件序列中间隔和延迟相对较长的重要事件。优选地,循环神经网络结构中包括三层的lstm网络。

进一步地,输出模块5包括:

转化单元,通过所述嵌入层将所述第一问题和所述第二问题分别转化为相应的第一特征向量和第二特征向量;

特征提取单元,将第一特征向量和第二特征向量分别输入所述两个循环神经网络结构,通过两个所述循环神经网络结构分别输出相应的第三特征向量和第四特征向量,通过循环神经网络结构对输入的第一特征向量和第二特征向量进行高维抽象提取,提取更深层次的特征;

注意力机制单元,通过注意力机制层对所述第三特征向量和所述第四特征向量进行处理,获取第五特征向量;

融合单元,将第三特征向量与第五特征向量通过第二融合层融合(add操作),生成第二融合向量;

归一化单元,将第二融合向量输入所述归一化层,激活函数采用softmax函数;

输出单元,通过所述输出层输出所述第一问题和所述第二问题的相似性,以概率的形式表示相似性结果。

需要说明的是,本发明中,“第一”、“第二”、“第三”、“第四”和“第五”仅用于对相应的待识别问题、特征向量或融合向量进行区分,而不代表优先顺序或其他含义。

优选地,注意力机制单元包括:

融合子单元,将所述第三特征向量和所述第四特征向量通过第一融合层进行点积运算,生成第一融合向量;

压平子单元,将所述第一融合向量输入所述压平层,通过所述压平层将多维的第一融合向量转化为一维的第一融合向量;

权重施加子单元,将一维的第一融合向量输入所述全连接层,通过向一维的第一融合向量序列施加注意力权重,输出注意力特征向量(全连接层的输出);

重构子单元,将所述注意力特征向量输入所述重构层,通过所述重构层输出与第三特征向量(lstm网络的输出)相同维度的第五特征向量,用于与所述第三特征向量进行融合。

本发明通过注意力机制层将两个待识别问题对应的特征向量进行融合,并施加注意力权重,将注意力机制层处理得到的特征向量与原始待识别问题对应的特征向量进行比较,使得识别结果更加准确。

优选地,输出单元包括:获取子单元,通过所述输出层输出所述第一问题和所述第二问题的相似概率值;阈值设定子单元,设定第一概率阈值;判定子单元,判断所述第一问题和所述第二问题是否相似,若所述相似概率值大于或等于所述第一概率阈值,则所述第一问题和所述第二问题相似,若所述相似概率值小于所述第一概率阈值,则所述第一问题和所述第二问题不相似。

进一步地,根据两个问题的相似性获取识别结果,包括:设定第二概率阈值,若第一问题与第二问题相似性大于或等于第二概率阈值,则第一问题与第二问题视为重复,反之,视为不重复。

需要说明的是,本发明中,两个待识别问题的相似性达到较高程度时,才认为两个问题是重复问题,设定的第一概率阈值和第二概率阈值可以相同或不同,则设定的第二概率阈值大于或等于第一概率阈值。

本发明的一个实施例中,计算机可读存储介质可以是任何包含或存储程序或指令的有形介质,其中的程序可以被执行,通过存储的程序指令相关的硬件实现相应的功能。例如,计算机可读存储介质可以是计算机磁盘、硬盘、随机存取存储器、只读存储器等。本发明并不限于此,可以是以非暂时性方式存储指令或软件以及任何相关数据文件或数据结构并且可提供给处理器以使处理器执行其中的程序或指令的任何装置。所述计算机可读存储介质中包括问答系统重复问题识别程序,所述问答系统重复问题识别程序被处理器执行时,实现如下的问答系统重复问题识别方法:

构建问题数据库;

构建重复问题识别模型;

利用所述问题数据库训练所述重复问题识别模型;

将待识别的第一问题和第二问题输入经过训练得到的重复问题识别模型;

通过重复问题识别模型输出所述第一问题与所述第二问题的相似性;

根据所述相似性获取识别结果;

其中,所述重复问题识别模型包括神经网络层、注意力机制层、第二融合层、归一化层和输出层,所述神经网络层包括两个循环神经网络结构,分别用于提取与待识别问题对应的特征向量,所述注意力机制层包括依次连接的第一融合层、压平层、全连接层和重构层,所述第一融合层用于融合两个循环神经网络结构的输出,所述第二融合层用于融合所述重构层的输出与其中一个循环神经网络结构的输出。

本发明之计算机可读存储介质的具体实施方式与上述问答系统重复问题识别方法、电子装置的具体实施方式大致相同,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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