基于神经网络的问答方法及装置、存储介质、终端与流程

文档序号:17696511发布日期:2019-05-17 21:34阅读:186来源:国知局
基于神经网络的问答方法及装置、存储介质、终端与流程

本发明涉及人工智能技术领域,具体地涉及一种基于神经网络的问答方法及装置、存储介质、终端。



背景技术:

智能问答系统是人机交互的一种典型应用,当用户提出问题后,智能问答系统给出该问题的答案。

现有的问答系统中,广泛采用的技术有信息检索、规则匹配、端到端的生成式技术等。其中,基于信息检索和规则匹配技术的问答系统需要预先定义大量的问答知识库,构建难度大,项目耗时久,不易于系统推广和领域扩展;基于端到端的生成式问答系统,生成的答案与训练数据依赖度大、且具有一定的误差,难以应用于容错率较低的垂直商业领域。



技术实现要素:

本发明解决的技术问题是如何提供一种更具普适性、准确率更高的问答系统,实现对用户提问的智能回答。

为解决上述技术问题,本发明实施例提供一种基于神经网络的问答方法,包括:确定与用户输入的问题相关联的文档;分别对所述问题以及所述文档进行预处理,以得到所述问题的向量表示和所述文档的向量表示;将所述问题的向量表示和所述文档的向量表示输入预设神经网络模型,以对所述文档进行语义分析和匹配,并从所述文档中得到与所述问题相关联的至少一个候选答案以及每一候选答案的关联度,其中,所述预设神经网络模型是基于历史上对文档进行语义分析和匹配得到的问题和答案的关联关系训练得到的;将关联度最高的所述候选答案确定为所述问题的答案并输出。

可选的,所述确定与用户输入的问题相关联的文档包括:自所述问题中提取关键词;根据所述关键词查找文档数据库,以得到包含有所述关键词的文档。

可选的,所述分别对所述问题以及所述文档进行预处理包括:分别对所述问题和文档进行分词处理、分字处理,以得到所述问题的分词结果和分字结果,以及所述文档的分词结果和分字结果;对所述问题和文档的分词结果分别进行词性标注,以得到所述问题的词性标注结果和所述文档的词性标注结果;分别将所述问题的分词结果和分字结果,以及所述文档的分词结果和分字结果输入预设向量模型,以得到所述问题的词向量表示和字向量表示,以及所述文档的词向量表示和字向量表示;分别根据所述问题的词性标注结果以及所述文档的词性标注结果查找预设词性表,以得到所述问题的词性特征向量表示以及所述文档的词性特征向量表示。

可选的,所述预设向量模型选自:词向量模型以及字向量模型。

可选的,所述分别对所述问题以及所述文档进行预处理还包括:判断所述问题的分词结果和/或分字结果是否在所述文档中出现;将判断结果作为所述文档的向量表示的一部分。

可选的,所述分别对所述问题以及所述文档进行预处理还包括:将所述问题的词向量表示、字向量表示和词性特征向量表示进行数据拼接,以得到所述问题的向量表示;将所述文档的词向量表示、字向量表示和词性特征向量表示进行数据拼接,以得到所述文档的向量表示。

可选的,所述将所述问题的向量表示和所述文档的向量表示输入预设神经网络模型,以对所述文档进行语义分析和匹配,并从所述文档中得到与所述问题相关联的至少一个候选答案以及每一候选答案的关联度包括:分别将所述问题的向量表示和所述文档的向量表示输入第一预设神经网络,以得到所述问题的文本向量表示以及所述文档的文本向量表示;使用注意力矩阵和所述问题的文本向量表示对所述文档的文本向量表示进行修正,以得到修正后的注意力输出向量表示;根据所述修正后的注意力输出向量表示进行计算,以得到各个候选答案在所述文档中的开始位置和结束位置,以及自所述开始位置开始的概率和到所述结束位置结束的概率;根据各个候选答案自所述开始位置开始的概率,以及到所述结束位置结束的概率,计算各所述候选答案的关联度。

可选的,利用多层神经网络结构计算所述开始位置、结束位置以及相应的概率,所述多层神经网络结构包括至少三层神经网络。

可选的,所述根据所述修正后的注意力输出向量表示进行计算,以得到各个候选答案在所述文档中的开始位置和结束位置,以及自所述开始位置开始的概率和到所述结束位置结束的概率包括:将所述修正后的注意力输出向量表示输入所述多层神经网络结构;分别获取所述多层神经网络结构的第一层神经网络的输出结果、第二层神经网络的输出结果,以及第三层神经网络的输出结果;根据所述第一层神经网络的输出结果和第二层神经网络的输出结果,计算得到各个候选答案在所述文档中的开始位置,以及自所述开始位置开始的概率;根据所述第一层神经网络的输出结果和第三层神经网络的输出结果,计算得到各个候选答案在所述文档中的开始位置,以及到所述结束位置结束的概率。

可选的,所述根据各个候选答案自所述开始位置开始的概率,以及到所述结束位置结束的概率,计算各所述候选答案的关联度包括:对于每一所述候选答案,计算所述候选答案自所述开始位置开始的概率与到所述结束位置结束的概率之积,以得到所述候选答案的关联度;或者,对于每一所述候选答案,计算所述候选答案自所述开始位置开始的概率与到所述结束位置结束的概率的平均值,以得到所述候选答案的关联度。

可选的,所述问答方法还包括:判断所述答案的关联度是否大于预设阈值;当判断结果表明所述答案的关联度大于所述预设阈值时,将所述问题与所述答案的关联关系添加至问答知识库,所述问答知识库用于在接收到问题时提供匹配的答案。

本发明实施例还提供一种基于神经网络的问答装置,包括:文档确定模块,用于确定与用户输入的问题相关联的文档;预处理模块,用于分别对所述问题以及所述文档进行预处理,以得到所述问题的向量表示和所述文档的向量表示;语义分析和匹配模块,用于将所述问题的向量表示和所述文档的向量表示输入预设神经网络模型,以对所述文档进行语义分析和匹配,并从所述文档中得到与所述问题相关联的至少一个候选答案以及每一候选答案的关联度,其中,所述预设神经网络模型是基于历史上对文档进行语义分析和匹配得到的问题和答案的关联关系训练得到的;答案确定模块,用于将关联度最高的所述候选答案确定为所述问题的答案并输出。

本发明实施例还提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述方法的步骤。

本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述方法的步骤。

与现有技术相比,本发明实施例的技术方案具有以下有益效果:

本发明实施例提供一种基于神经网络的问答方法,包括:确定与用户输入的问题相关联的文档;分别对所述问题以及所述文档进行预处理,以得到所述问题的向量表示和所述文档的向量表示;将所述问题的向量表示和所述文档的向量表示输入预设神经网络模型,以对所述文档进行语义分析和匹配,并从所述文档中得到与所述问题相关联的至少一个候选答案以及每一候选答案的关联度,其中,所述预设神经网络模型是基于历史上对文档进行语义分析和匹配得到的问题和答案的关联关系训练得到的;将关联度最高的所述候选答案确定为所述问题的答案并输出。由此,可以提供一种更具普适性、准确率更高的问答系统,实现对用户提问的智能回答。具体地,通过预先训练得到的预设神经网络模型,可以在问答项目初期问答知识库匮乏的情况下针对用户问题得到准确度更高的答案。进一步地,在问答项目运行一段时间后,可以根据历史得到的问题和答案的关联关系进一步训练、精调所述预设神经网络模型,以使预设神经网络模型的输出结果更符合用户预期。由此,可以充分利用以神经网络为代表的人工智能的优势,实现对用户提问的智能回答,提高用户对答案的满意度。

进一步,所述问答方法还包括:判断所述答案的关联度是否大于预设阈值;当判断结果表明所述答案的关联度大于所述预设阈值时,将所述问题与所述答案的关联关系添加至问答知识库,所述问答知识库用于在接收到问题时提供匹配的答案。由此,可以将采用本实施例所述方案期间积累的用户问答数据进一步整合到问答知识库中,以对现有如基于信息检索和规则匹配的问答系统起到补充完善的作用。

附图说明

图1是本发明实施例的一种基于神经网络的问答方法的流程图;

图2是图1中步骤s102的一个具体实施方式的流程图;

图3是图1中步骤s103的一个具体实施方式的流程图;

图4是图3中步骤s1033的一个具体实施方式的流程图;

图5是图1中预设神经网络模型的数据流转框图;

图6是本发明实施例的一个典型的应用场景的流程图;

图7是本发明实施例的另一个典型的应用场景的流程图;

图8是本发明实施例的一种基于神经网络的问答装置的结构示意图。

具体实施方式

如背景技术所言,现有的用户问答系统普遍存在不具有普适性、准确率低的问题。

为解决上述技术问题,本发明实施例提供一种基于神经网络的问答方法,包括:确定与用户输入的问题相关联的文档;分别对所述问题以及所述文档进行预处理,以得到所述问题的向量表示和所述文档的向量表示;将所述问题的向量表示和所述文档的向量表示输入预设神经网络模型,以对所述文档进行语义分析和匹配,并从所述文档中得到与所述问题相关联的至少一个候选答案以及每一候选答案的关联度,其中,所述预设神经网络模型是基于历史上对文档进行语义分析和匹配得到的问题和答案的关联关系训练得到的;将关联度最高的所述候选答案确定为所述问题的答案并输出。

由此,可以提供一种更具普适性、准确率更高的问答系统,实现对用户提问的智能回答。

具体地,通过预先训练得到的预设神经网络模型,可以在问答项目初期问答知识库匮乏的情况下针对用户问题得到准确度更高的答案。

进一步地,在问答项目运行一段时间后,可以根据历史得到的问题和答案的关联关系进一步训练、精调所述预设神经网络模型,以使预设神经网络模型的输出结果更符合用户预期。

由此,可以充分利用以神经网络为代表的人工智能的优势,实现对用户提问的智能回答,提高用户对答案的满意度。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1是本发明实施例的一种基于神经网络的问答方法的流程图。本实施例的方案可以由用户设备执行,如手机、ipad、计算机等能够与用户进行人机交互的终端设备。

例如,可以预先在所述用户设备上安装问答应用程序(application,简称app),通过调用所述问答app,所述用户设备能够执行本实施例的方案,以针对用户在所述用户设备上输入的问题进行回答。

具体地,在本实施例中,参考图1,所述基于神经网络的问答方法(可简称为问答方法)可以包括如下步骤:

步骤s101,确定与用户输入的问题相关联的文档;

步骤s102,分别对所述问题以及所述文档进行预处理,以得到所述问题的向量表示和所述文档的向量表示;

步骤s103,将所述问题的向量表示和所述文档的向量表示输入预设神经网络模型,以对所述文档进行语义分析和匹配,并从所述文档中得到与所述问题相关联的至少一个候选答案以及每一候选答案的关联度,其中,所述预设神经网络模型是基于历史上对文档进行语义分析和匹配得到的问题和答案的关联关系训练得到的;

步骤s104,将关联度最高的所述候选答案确定为所述问题的答案并输出。

在一个实施例中,所述步骤s101可以包括:自所述问题中提取关键词;根据所述关键词查找文档数据库,以得到包含有所述关键词的文档。

例如,采用信息检索技术,可以根据所述关键词查找所述文档数据库,以得到与所述关键词的关联度最高的3到7篇文档。其中,所述关联度可以根据所述关键词在所述文档中的出现次数、所述关键词的权重等因素确定。

优选地,所述文档的数量可以为5篇。

在一个实施例中,所述关键词和所述文档数据库中的数据可能不是完全一致的,因而,可以设置预设误差范围,通过类似于模糊查找的方式,将文档中与所述关键词的偏差在所述预设误差范围内的字段确定为与所述关键词相一致的字段,进而确定所述文档与所述关键词的关联度。

例如,所述预设误差范围可以为1%至10%之间。优选地,所述预设误差范围可以为5%。

在一个实施例中,所述文档数据库可以包括结构化数据和非结构化数据。所述文档数据库中记录的文档可以包括企业内部非结构化文档,还可以包括行业相关专业文档。

在一个实施例中,所述文档可以是通过搜索引擎实时地从互联网上抓取的。

进一步地,在所述步骤s102中,所述对所述文档进行语义分析和匹配的操作可以理解为基于机器学习的方式对所述文档进行阅读理解。

在一个实施例中,参考图2,所述步骤s102可以包括如下步骤:

步骤s1021,分别对所述问题和文档进行分词处理、分字处理,以得到所述问题的分词结果和分字结果,以及所述文档的分词结果和分字结果;

步骤s1022,对所述问题和文档的分词结果分别进行词性标注,以得到所述问题的词性标注结果和所述文档的词性标注结果;

步骤s1023,分别将所述问题的分词结果和分字结果,以及所述文档的分词结果和分字结果输入预设向量模型,以得到所述问题的词向量表示和字向量表示,以及所述文档的词向量表示和字向量表示;

步骤s1024,分别根据所述问题的词性标注结果以及所述文档的词性标注结果查找预设词性表,以得到所述问题的词性特征向量表示以及所述文档的词性特征向量表示。

具体地,所述预设向量模型可以选自:词向量模型以及字向量模型。

其中,所述词向量模型可以是,根据词语的上下文相关性训练得到词语的向量表示;所述字向量模型可以是,根据字的上下文相关性训练得到字的向量表示。

例如,所述预设向量模型可以采用word2vec、fasttext等工具训练得到。

更为具体地,所述预设词性表可以用于记录字或词的词性与词性特征向量表示的关联信息。例如,根据所述预设词性表,可以确定所述词性标注结果中每一字、词的词性特征向量表示。

进一步地,所述词向量表示是指,对预处理得到的文档和问题的分词结果进行向量化得到的向量形式的表示;所述字向量表示是指,对预处理得到的文档和问题的分字结果进行向量化得到的向量形式的表示;所述词性特征向量表示是指,对预处理得到的文档和问题的词性标注结果进行向量化得到的向量形式的表示。

在一个典型的应用场景中,参考图5,所述问题的分词结果可以为问题的词序列,所述问题的分字结果可以为问题的字序列,所述文档的分词结果可以为文档的词序列,所述文档的分字结果可以为文档的字序列。

进一步地,通过对所述文档的词序列进行词性标注,并根据词性标注结果查找所述预设词性表,以得到所述文档的词性特征向量。

同时,将所述文档的分词结果输入所述词向量模型,得到所述文档的词向量表示;将所述文档的分字结果输入所述字向量模型,得到所述文档的字向量表示。

类似的,通过对所述问题的词序列进行词性标注,并根据词性标注结果查找所述预设词性表,以得到所述问题的词性特征向量。

同时,将所述问题的分词结果输入所述词向量模型,得到所述问题的词向量表示;将所述问题的分字结果输入所述字向量模型,得到所述问题的字向量表示。

例如,所述问题的词向量表示可以记为xwq,所述文档的词向量表示可以记为xwc,且有xwq、xwc∈rk,其中,r为实数域,k为词向量的维度;所述问题的词性特征向量表示可以记为xpq,所述文档的词性特征向量表示可以记为xpc,且有xpq、xpc∈rl,其中,l为词性特征集合的大小;所述问题的字向量表示可以记为xcq,所述文档的字向量表示可以记为xcc,且有xcq、xcc∈rm,其中,m为字向量的维度。

在一个实施例中,继续参考图2,所述步骤s102还可以包括如下步骤:

步骤s1025,判断所述问题的分词结果和/或分字结果是否在所述文档中出现;

步骤s1026,将判断结果作为所述文档的向量表示的一部分。

具体地,所述步骤s1025和步骤s1026可以在所述步骤s1021至步骤s1024之前/之后/同时执行。

例如,当问题的分词结果和/分字结果有在文档中出现时,可以确定文档的向量表示中对应此分词结果或分字结果的向量为1,否则,为0。

在一个实施例中,所述步骤s1024之后,还可以包括步骤:将所述问题的词向量表示、字向量表示和词性特征向量表示进行数据拼接,以得到所述问题的向量表示;将所述文档的词向量表示、字向量表示和词性特征向量表示进行数据拼接,以得到所述文档的向量表示。

具体地,所述数据拼接可以是,将词向量表示、字向量表示和词性特征向量表示各自的数据内容首尾相接,从而整合到一起对所述问题或文档进行表征。

例如,拼接得到的问题的向量表示可以表示为xq=(xwq,xcq,xpq),拼接得到的文档的向量表示可以表示为xc=(xwc,xcc,xpc)。

进一步地,还可以将所述问题的分词结果和/或分字结果是否出现在文档的向量表示拼接到所述文档的词性特征向量表示之后,以得到维度更多样化的文档的向量表示。

由此,本实施例的方案能够从四个维度更完整、全面地表征问题和文档的性质。

在一个实施例中,进行数据拼接时的拼接顺序可以是:词向量表示、字向量表示、词性特征向量标识以及是否出现。在实际应用中,本领域技术人员也可以根据需要调整数据拼接时的拼接顺序。

在一个实施例中,参考图3和图5,所述步骤s103可以包括如下步骤:

步骤s1031,分别将所述问题的向量表示和所述文档的向量表示输入第一预设神经网络,以得到所述问题的文本向量表示以及所述文档的文本向量表示;

步骤s1032,使用注意力矩阵和所述问题的文本向量表示对所述文档的文本向量表示进行修正,以得到修正后的注意力输出向量表示;

步骤s1033,根据所述修正后的注意力输出向量表示进行计算,以得到各个候选答案在所述文档中的开始位置和结束位置,以及自所述开始位置开始的概率和到所述结束位置结束的概率;

步骤s1034,根据各个候选答案自所述开始位置开始的概率,以及到所述结束位置结束的概率,计算各所述候选答案的关联度。

具体地,在所述步骤s1031中,所述第一预设神经网络可以为双向长短期记忆(longshort-termmemory,简称lstm)网络或卷积网络。

例如,在训练阶段,所述第一预设神经网络可以采用所述卷积网络,以利用卷积网络处理速度快的优势,提高整个预设神经网络模型的处理速度。

又例如,在进行用户问答时,可以根据用户对用户设备反馈答案的响应速度的要求智能化地选择所述双向lstm网络或卷积网络作为所述第一预设神经网络。

例如,所述问题的文本向量表示可以记为q,所述文档的文本向量表示可以记为c。

具体地,所述问题的文本向量表示可以是通过所述第一预设神经网络的处理后得到的,融合所述问题的向量表示(如xq)包括的各项特征生成的向量,可以理解为更为抽象化的问题的语义表示。

类似的,所述文档的文本向量表示可以是通过所述第一预设神经网络的处理后得到的,融合所述文档的向量表示(如xc)包括的各项特征生成的向量,可以理解为更为抽象化的文档的语义表示。

具体地,在所述步骤s1032中,所述注意力矩阵可以为权重矩阵,用于获取神经网络对特定词汇、短语的权重强化结果。换言之,通过所述注意力矩阵可以得到问题和文档之间的交互信息,从而根据问题确定对文档的关注点。

例如,所述注意力矩阵可以包括文档-问题注意力矩阵a和/或问题-文档注意力矩阵b。其中,所述文档-问题注意力矩阵a包括的每一元素可以用于表征文档对于问题的语义关系;所述问题-文档注意力矩阵b包括的每一元素可以用于衡量问题对于文档的语义关系。

进一步地,所述注意力矩阵可以基于所述问题的文本向量表示和文档的文本向量表示计算得到。然后,使用所述注意力矩阵对所述文档的文本向量表示进行修正,以得到修正后的注意力输出向量表示。

例如,可以基于所述问题的文本向量表示q和文档的文本向量表示c计算得到所述文档-问题注意力矩阵a和问题-文档注意力矩阵b,并将所述文档的文本向量表示c分别与所述文档-问题注意力矩阵a和问题-文档注意力矩阵b进行点积运算,然后拼接得到修正后的注意力输出向量表示att=(c,a,c·a,c·b),其中,a为文档-问题注意力矩阵a中的行向量,b为问题-文档注意力矩阵b中的行向量。

在一个实施例中,继续参考图5,可以利用多层神经网络结构计算所述开始位置、结束位置以及相应的概率,所述多层神经网络结构可以包括至少三层神经网络。

例如,所述至少三层神经网络中的每一层神经网络可以为双向lstm网络或卷积网络。

具体地,所述至少三层神经网络可以是相互串联的,所述串联是指:上一层神经网络的输出为下一层神经网络的输入。

在一个实施例中,参考图4和图5,所述步骤s1033可以包括如下步骤:

步骤s10331,将所述修正后的注意力输出向量表示输入所述多层神经网络结构;

步骤s10332,分别获取所述多层神经网络结构的第一层神经网络的输出结果、第二层神经网络的输出结果,以及第三层神经网络的输出结果;

步骤s10333,根据所述第一层神经网络的输出结果和第二层神经网络的输出结果,计算得到各个候选答案在所述文档中的开始位置,以及自所述开始位置开始的概率;

步骤s10334,根据所述第一层神经网络的输出结果和第三层神经网络的输出结果,计算得到各个候选答案在所述文档中的开始位置,以及到所述结束位置结束的概率。

具体地,在所述步骤s1033中,每经过一层神经网络的运算处理后,得到的文档的语义信息会更加抽象化,因而,所述开始位置和结束位置的计算基准至少有一个为所述第一层神经网络。

在一个实施例中,所述步骤s10333中,可以采用归一化指数(softmax)函数对所述第一层神经网络的输出结果和第二层神经网络的输出结果进行计算,以得到对应的开始位置和概率。

类似的,在所述步骤s10334中,也可以采用softmax函数对所述第一层神经网络的输出结果和第三层神经网络的输出结果进行计算,以得到对应的结束位置和概率。

在一个实施例中,所述步骤s1034可以包括:对于每一所述候选答案,计算所述候选答案自所述开始位置开始的概率与到所述结束位置结束的概率之积,以得到所述候选答案的关联度。

在一个变化例中,可以将所述候选答案自所述开始位置开始的概率与到所述结束位置结束的概率的平均值确定为所述候选答案的关联度。

在一个实施例中,针对所述问题和所述步骤s101中确定的文档(如所述5篇文档),通过执行所述步骤s102和步骤s103,可以得到与所述步骤s101中确定的相关联的文档的数目相同的候选答案以及对应的关联度。

进一步地,在所述步骤s104中,可以将所述步骤s103中得到的至少一个候选答案按照对应的关联度从高到低进行排序,并将排序最靠前的候选答案确定为所述问题的答案并输出。

具体地,所述输出可以指:通过所述用户设备向提出所述问题的用户展示所述答案。例如,可以在所述问答app的聊天界面上展示所述答案。

在一个典型的应用场景中,在基于上述图1至图5所示问答方法构建的问答系统运行到一定阶段或积累了新的阅读理解语料后,所述问答系统还可以支持对所述预设神经网络模型进行精调,以使所述预设神经网络模型适应特定领域、特定任务的需求。

具体地,参考图6,可以基于历史上对文档进行语义分析和匹配得到的问题和答案的关联关系训练所述预设神经网络模型,训练的具体过程可以包括如下步骤:

步骤s601,读入新的阅读理解数据,所述新的阅读理解数据可以包括历史上基于所述预设神经网络模型进行语义分析和匹配得到的问题-答案对,还可以包括所述答案的来源(即包含有所述答案的文档);

步骤s602,基于所述新的阅读理解数据生成字典,所述字典可以包括词列表、字列表等;

步骤s603,将生成的所述字典与原有字典合并为新字典;

步骤s604,基于所述新字典和预设词性表将所述新的阅读理解数据转换为对应的向量表示,所述向量表示可以包括词向量表示、字向量表示和词性特征向量表示;

步骤s605,加载原有的所述预设神经网络模型,并获取相关的网络结构、参数及权重等信息;

步骤s606,基于所述新的阅读理解数据转换得到的向量表示训练所述原有的预设神经网络模型,以得到新的预设神经网络模型,并更新相关网络参数及权重;

步骤s607,输出经过精调的所述新的预设神经网络模型。

例如,所述新的阅读理解数据可以为{文档、问题、答案}的集合。

在所述步骤s603中,可以将所述步骤s602生成的新字典中的字列表追加至所述原有字典的原有字列表之后,类似的,可以将所述步骤s602生成的新字典中的词列表追加至所述原有字典的原有词列表之后,以得到新的词和字等数据,并更新相关词和字的索引。

在另一个典型的应用场景中,基于本实施例所述问答方法构建的问答系统还可以作为传统问答系统的有益补充,并可以辅助扩充传统的问答知识库,尤其是在问答系统构建初期传统的问答知识库比较匮乏的情况下,基于本实施例所述的问答方法可以有效提升相关问答系统的用户体验。其中,所述问答知识库可以用于在接收到问题时提供匹配的答案。

具体地,参考图7,本场景所述采用基于图1至图5所示问答方法得到的问题-答案对扩充问答知识库的方法可以包括如下步骤:

步骤s701,获取用户输入的问题;

步骤s702,对于所述问题,采用上述图1至图5所示的基于神经网络的问答方法进行处理,以得到答案和所述答案的关联度;

步骤s703,判断所述答案的关联度是否大于预设阈值;

当所述步骤s703的判断结果为肯定的,也即,当所述答案的关联度大于所述预设阈值时,还包括:步骤s704,将所述问题与所述答案的关联关系添加至问答知识库;

当所述步骤s703的判断结果为否定的,也即,当所述答案的关联度小于所述预设阈值时,还包括:步骤s705,基于人工判断所述答案是否正确;

当所述步骤s705的判断结果为肯定的,也即,当人工判断所述答案正确时,执行所述步骤s704;

当所述步骤s705的判断结果为否定的,也即,当人工判断所述答案不正确时,还包括:步骤s706,基于所述人工确定所述问题的最优答案;步骤s707,基于所述问题和对应的最优答案生成新的阅读理解语料;步骤s708,基于所述新的阅读理解语料精调所述预设神经网络模型,以得到精调后的新的预设神经网络模型。

关于所述步骤s701和步骤s702的具体内容,可以参考上述图1至图5的相关描述,在此不与赘述。

在所述步骤s703中,假设所述关联度的取值范围为0至1,所述预设阈值可以为0.8至1。优选地,所述预设阈值可以为0.9。

在所述步骤s706中,还可以将所述人工确定的最优答案与所述问题的关联关系添加至所述问答知识库。

关于所述步骤s708的具体内容,可以参考上述图6中的相关描述,在此不与赘述。

由上,采用本实施例的方案,可以提供一种更具普适性、准确率更高的问答系统,实现对用户提问的智能回答。

具体地,通过预先训练得到的预设神经网络模型,可以在问答项目初期问答知识库匮乏的情况下针对用户问题得到准确度更高的答案。进一步地,在问答项目运行一段时间后,可以根据历史得到的问题和答案的关联关系进一步训练、精调所述预设神经网络模型,以使预设神经网络模型的输出结果更符合用户预期。由此,可以充分利用以神经网络为代表的人工智能的优势,实现对用户提问的智能回答,提高用户对答案的满意度。

例如,可以先利用通用领域的训练语料(训练样本可以为{文章、问题、答案}集合),采用本实施例的方案训练一个通用的预设神经网络模型,在问答项目初期问答知识库匮乏的情况下可以解决用户问题,方法为搜集企业内部非结构化文档和行业相关专业文档,通过信息检索技术定位相关联的文档,再根据用户问题,在所定位到的相关联的文档中寻找最佳答案。

进一步地,在所述问答项目运营到一定阶段后,所积累的用户问答数据可以进一步整合到问答知识库中,对基于信息检索和规则匹配的问答系统起到了补充完善的作用。

同时,利用新积累的领域相关的阅读理解语料(也可称为阅读理解训练语料),可以进一步在原有的通用的预设神经网络模型的基础上对该模型进行精调,从而可以获取更适用于特定领域的预设神经网路模型,从而进一步提升机器阅读理解的准确率。

相对于现有基于端到端的生成式技术的问答方法,本实施例所述基于神经网络的问答方法获取的答案源自相关文档的部分内容,不会答非所问或者给出有违商业价值的随机答案。

进一步地,采用本实施例的方案,可以在传统的问答系统的基础上,提高问答系统使用初期的知识覆盖率、回答准确率,补充完善问答系统运营过程中的问答知识库,减少用户问题无法回复以及答非所问的概率。

图8是本发明实施例的一种基于神经网络的问答装置的结构示意图。本领域技术人员理解,本实施例所述基于神经网络的问答装置8(可简称为问答装置8)可以用于实施上述图1至图7所示实施例中所述的方法技术方案。

具体地,在本实施例中,参考图8,所述问答装置8可以包括:文档确定模块81,用于确定与用户输入的问题相关联的文档;预处理模块82,用于分别对所述问题以及所述文档进行预处理,以得到所述问题的向量表示和所述文档的向量表示;语义分析和匹配模块83,用于将所述问题的向量表示和所述文档的向量表示输入预设神经网络模型,以对所述文档进行语义分析和匹配,并从所述文档中得到与所述问题相关联的至少一个候选答案以及每一候选答案的关联度,其中,所述预设神经网络模型是基于历史上对文档进行语义分析和匹配得到的问题和答案的关联关系训练得到的;答案确定模块84,用于将关联度最高的所述候选答案确定为所述问题的答案并输出。

在一个实施例中,所述文档确定模块81可以包括:提取子模块811,用于自所述问题中提取关键词;查找子模块812,用于根据所述关键词查找文档数据库,以得到包含有所述关键词的文档。

在一个实施例中,所述预处理模块82可以包括:分词和分字处理子模块821,用于分别对所述问题和文档进行分词处理、分字处理,以得到所述问题的分词结果和分字结果,以及所述文档的分词结果和分字结果;词性标注子模块822,用于对所述问题和文档的分词结果分别进行词性标注,以得到所述问题的词性标注结果和所述文档的词性标注结果;字向量化和词向量化子模块823,用于分别将所述问题的分词结果和分字结果,以及所述文档的分词结果和分字结果输入预设向量模型,以得到所述问题的词向量表示和字向量表示,以及所述文档的词向量表示和字向量表示;词性特征向量化子模块824,用于分别根据所述问题的词性标注结果以及所述文档的词性标注结果查找预设词性表,以得到所述问题的词性特征向量表示以及所述文档的词性特征向量表示。

在一个实施例中,所述预设向量模型可以选自:词向量模型以及字向量模型。

在一个实施例中,所述预处理模块82还可以包括:判断子模块825,用户判断所述问题的分词结果和/或分字结果是否在所述文档中出现;判断结果向量化子模块826,用于将判断结果作为所述文档的向量表示的一部分。

在一个实施例中,所述预处理模块82还可以包括:问题向量拼接子模块827,用于将所述问题的词向量表示、字向量表示和词性特征向量表示进行数据拼接,以得到所述问题的向量表示;文档向量拼接子模块828,用于将所述文档的词向量表示、字向量表示和词性特征向量表示进行数据拼接,以得到所述文档的向量表示。

在一个实施例中,所述语义分析和匹配模块83可以包括:文本向量表示确定子模块831,用于分别将所述问题的向量表示和所述文档的向量表示输入第一预设神经网络,以得到所述问题的文本向量表示以及所述文档的文本向量表示;修正子模块832,用于使用注意力矩阵和所述问题的文本向量表示对所述文档的文本向量表示进行修正,以得到修正后的注意力输出向量表示;开始和结束位置计算子模块833,用于根据所述修正后的注意力输出向量表示进行计算,以得到各个候选答案在所述文档中的开始位置和结束位置,以及自所述开始位置开始的概率和到所述结束位置结束的概率;关联度计算子模块834,用于根据各个候选答案自所述开始位置开始的概率,以及到所述结束位置结束的概率,计算各所述候选答案的关联度。

在一个实施例中,可以利用多层神经网络结构计算所述开始位置、结束位置以及相应的概率,所述多层神经网络结构可以包括至少三层神经网络。

在一个实施例中,所述开始和结束位置计算子模块833可以包括:数据输入单元8331,用于将所述修正后的注意力输出向量表示输入所述多层神经网络结构;计算结果获取单元8332,用于分别获取所述多层神经网络结构的第一层神经网络的输出结果、第二层神经网络的输出结果,以及第三层神经网络的输出结果;开始位置计算单元8333,用于根据所述第一层神经网络的输出结果和第二层神经网络的输出结果,计算得到各个候选答案在所述文档中的开始位置,以及自所述开始位置开始的概率;结束位置计算单元8334,用于根据所述第一层神经网络的输出结果和第三层神经网络的输出结果,计算得到各个候选答案在所述文档中的开始位置,以及到所述结束位置结束的概率。

在一个实施例中,所述关联度计算子模块834可以包括:第一关联度计算单元8341,对于每一所述候选答案,计算所述候选答案自所述开始位置开始的概率与到所述结束位置结束的概率之积,以得到所述候选答案的关联度。

在一个变化例中,所述关联度计算子模块834可以包括:第二关联度计算单元8342,对于每一所述候选答案,计算所述候选答案自所述开始位置开始的概率与到所述结束位置结束的概率的平均值,以得到所述候选答案的关联度。

在一个实施例中,所述问答装置8还可以包括:判断模块85,用于判断所述答案的关联度是否大于预设阈值;问答知识库更新模块86,当判断结果表明所述答案的关联度大于所述预设阈值时,将所述问题与所述答案的关联关系添加至问答知识库,所述问答知识库用于在接收到问题时提供匹配的答案。

关于所述问答装置8的工作原理、工作方式的更多内容,可以参照上述图1至图7中的相关描述,这里不再赘述。

进一步地,本发明实施例还公开一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述图1至图7所示实施例中所述的方法技术方案。优选地,所述存储介质可以包括诸如非挥发性(non-volatile)存储器或者非瞬态(non-transitory)存储器等计算机可读存储介质。所述存储介质可以包括rom、ram、磁盘或光盘等。

进一步地,本发明实施例还公开一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述图1至图7所示实施例中所述的方法技术方案。优选地,所述终端可以是用户设备(userequipment,简称ue)。

由上,采用本实施例的方案,所构建的问答系统的网络结构灵活,语义信息表达丰富。能够充分利用文本中的词、词性、字等特征,并且支持双向lstm和卷积网络等多种神经网络结构,可以根据不同领域、不同任务进行自由选择。

进一步,可以在问答项目初期问答知识库匮乏的情况下可以解决用户问题,提升用户体验。

进一步,基于本实施例所述问答方法所积累的用户问答数据可以进一步整合到问答知识库中,对基于信息检索和规则匹配的问答系统起到补充完善的作用。

进一步,利用新积累的特定领域的阅读理解语料,可以进一步在原有的通用的预设神经网络模型的基础上进行精调,从而可以获取更适用于特定领域的预设神经网络模型,进一步提升机器阅读理解的准确率。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

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