一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于人工智能的自动问答方法、装置、存储介质及服务器与流程

2022-02-22 10:29:35 来源:中国专利 TAG:


1.本发明属于人工智能技术领域,尤其涉及一种基于人工智能的自动问答方法、装置、计算机可读存储介质及服务器。


背景技术:

2.基于知识图谱的开放域自动问答方法,目前市面上比较流行的大致有两大类,第一种是对于给定的问题,基于知识图谱进行推理从一个相关文档里面得到答案,这种方式的弊病很明显,针对最简单的三元组的问题,很容易得到答案,例如,对于问题“姚明出生地在哪?”,知识图谱中《姚明,出生于,上海》这个三元组得到答案是《上海》这一实体。但是针对复杂的问题,这类方法是无法给出答案的,比如:成龙主演电影的导演是哪些人,该问题需要使用多个三元组所形成的多跳推理路径才能够回答,因此就衍生出另外一种基于多跳问答(multi-hop qa)的方法,这也是目前市面上最主流的方法,面向开放域的多跳问答需要结合很多篇文档的“知识推理”才能得到最终的答案,通常按段落(顶点)和超链接(边)构图,在图上计算推理路径,并提取最佳推理路径上的所有段落包含的答案范围,这个方法显然是能解决这些复杂问题的,但是它的缺陷也很明显,找相关的文档,常用的方法是利用相关路径找相关文档,这样查找方式很像是普筛,文档会很多很大,后续再使用机器学习的方式从这些文档里面匹配对应的段落、句子、字眼返回答案,文档很多很大,就意味着出现无关的文档也会变多,后续经过机器学习返回的答案准确性也会下降。


技术实现要素:

3.有鉴于此,本发明实施例提供了一种基于人工智能的自动问答方法、装置、计算机可读存储介质及服务器,以解决现有的自动问答方法所得结果不够准确的问题。
4.本发明实施例的第一方面提供了一种基于人工智能的自动问答方法,可以包括:
5.对预设的开放域语料库中的各个文档进行实体抽取,并根据抽取出的实体建立倒排索引;
6.分别计算待回答的问题文本与各个文档的段落之间的文本语义匹配度,并选取文本语义匹配度大于预设的第一阈值的段落作为推理路径起始段落;
7.将所述推理路径起始段落分别添加入预设的第一段落集合和预设的第二段落集合;
8.从所述第二段落集合中提取候选三元组集合,并基于所述第一段落集合从所述候选三元组集合中选取新增三元组集合;
9.提取所述新增三元组集合中的实体,并根据所述倒排索引在所述开放域语料库中的各个文档段落中选取下一跳的候选段落集合;
10.基于所述第一段落集合从所述候选段落集合中选取新增段落集合;
11.将所述第二段落集合合并入所述第一段落集合,并将所述新增段落集合确定为新的所述第二段落;返回执行所述从所述第二段落集合中提取候选三元组集合的步骤及其后
续步骤,直至从所述候选段落集合中选取出的所述新增段落集合为空为止;
12.基于所述第一段落集合生成与所述计算待回答的问题文本对应的答案文本。
13.在第一方面的一种具体实现方式中,所述基于所述第一段落集合从所述候选三元组集合中选取新增三元组集合,包括:
14.分别计算所述候选三元组集合中的第m个三元组与所述第一段落集合中的各个段落之间的文本语义匹配度;其中,m为所述候选三元组集合中的三元组序号,1≤m≤m,m为所述候选三元组集合中的三元组总数;
15.若所述候选三元组集合中的第m个三元组与所述第一段落集合中的任意一个段落之间的文本语义匹配度大于预设的第二阈值,则将所述候选三元组集合中的第m个三元组作为新增三元组;
16.将所述候选三元组集合中的各个新增三元组组成的集合作为所述新增三元组集合。
17.在第一方面的一种具体实现方式中,所述基于所述第一段落集合从所述候选段落集合中选取新增段落集合,包括:
18.分别计算所述候选段落集合中的第k个段落和所述第一段落集合中的各个段落之间的文本语义匹配度;其中,k为所述候选段落集合中的段落序号,1≤k≤k,k为所述候选段落集合中的段落总数;
19.若所述候选段落集合中的第k个段落和所述第一段落集合中的任意一个段落之间的文本语义匹配度大于预设的第三阈值,则将所述候选段落集合中的第k个段落作为新增段落;
20.将所述候选段落集合中的各个新增段落组成的集合作为所述新增段落集合。
21.在第一方面的一种具体实现方式中,所述分别计算待回答的问题文本与各个文档的段落之间的文本语义匹配度,包括:
22.使用预设的神经网络模型对所述待回答的问题文本进行处理,得到与所述待回答的问题文本对应的第一文本向量;
23.使用所述神经网络模型对第p个段落进行处理,得到与第p个段落对应的第二文本向量;其中,p为所述开放域语料库中的各个段落的序号,1≤p≤pn,pn为所述开放域语料库中的段落总数;
24.根据所述第一文本向量和所述第二文本向量计算所述待回答的问题文本与第p个段落之间的文本语义匹配度。
25.在第一方面的一种具体实现方式中,所述使用预设的神经网络模型对所述待回答的问题文本进行处理,得到与所述待回答的问题文本对应的第一文本向量,包括:
26.对所述待回答的问题文本进行分割处理,得到所述待回答的问题文本的符号序列;
27.根据所述符号序列生成所述待回答的问题文本的叠加序列;
28.从所述叠加序列中选取与预设的第一符号对应的向量作为所述第一文本向量。
29.在第一方面的一种具体实现方式中,所述根据所述符号序列生成所述待回答的问题文本的叠加序列包括:
30.分别生成与所述符号序列对应的词嵌入序列、分段嵌入序列和位置嵌入序列,其
中,所述词嵌入序列中包括所述符号序列中各个符号的词向量,所述分段嵌入序列中包括所述符号序列中各个符号所属的分段信息,所述位置嵌入序列中包括所述符号序列中各个符号的位置信息;
31.对所述词嵌入序列、所述分段嵌入序列和所述位置嵌入序列进行叠加,生成所述叠加序列。
32.在第一方面的一种具体实现方式中,所述根据所述第一文本向量和所述第二文本向量计算所述待回答的问题文本与第p个段落之间的文本语义匹配度,包括:
33.根据下式计算所述待回答的问题文本与第p个段落之间的文本语义匹配度:
[0034][0035]
其中,qselmn为所述第一文本向量中的第n个元素,prelmn为所述第二文本向量中的第n个元素,n为元素序号,1≤n≤n,n为元素总数,sim为所述待回答的问题文本与第p个段落之间的文本语义匹配度。
[0036]
本发明实施例的第二方面提供了一种基于人工智能的自动问答装置,可以包括:
[0037]
倒排索引模块,用于对预设的开放域语料库中的各个文档进行实体抽取,并根据抽取出的实体建立倒排索引;
[0038]
文本语义匹配度计算模块,用于分别计算待回答的问题文本与各个文档的段落之间的文本语义匹配度,并选取文本语义匹配度大于预设的第一阈值的段落作为推理路径起始段落;
[0039]
段落集合确定模块,用于将所述推理路径起始段落分别添加入预设的第一段落集合和预设的第二段落集合;
[0040]
新增三元组集合选取模块,用于从所述第二段落集合中提取候选三元组集合,并基于所述第一段落集合从所述候选三元组集合中选取新增三元组集合;
[0041]
候选段落集合选取模块,用于提取所述新增三元组集合中的实体,并根据所述倒排索引在所述开放域语料库中的各个文档段落中选取下一跳的候选段落集合;
[0042]
新增段落集合选取模块,用于基于所述第一段落集合从所述候选段落集合中选取新增段落集合;
[0043]
段落集合更新模块,用于将所述第二段落集合合并入所述第一段落集合,并将所述新增段落集合确定为新的所述第二段落;返回执行所述从所述第二段落集合中提取候选三元组集合的步骤及其后续步骤,直至从所述候选段落集合中选取出的所述新增段落集合为空为止;
[0044]
答案文本生成模块,用于基于所述第一段落集合生成与所述计算待回答的问题文本对应的答案文本。
[0045]
在第二方面的一种具体实现方式中,所述新增三元组集合选取模块可以包括:
[0046]
第一匹配度计算子模块,用于分别计算所述候选三元组集合中的第m个三元组与所述第一段落集合中的各个段落之间的文本语义匹配度;其中,m为所述候选三元组集合中的三元组序号,1≤m≤m,m为所述候选三元组集合中的三元组总数;
[0047]
新增三元组确定子模块,用于若所述候选三元组集合中的第m个三元组与所述第一段落集合中的任意一个段落之间的文本语义匹配度大于预设的第二阈值,则将所述候选三元组集合中的第m个三元组作为新增三元组;
[0048]
新增三元组集合确定子模块,用于将所述候选三元组集合中的各个新增三元组组成的集合作为所述新增三元组集合。
[0049]
在第二方面的一种具体实现方式中,所述新增段落集合选取模块可以包括:
[0050]
第二匹配度计算子模块,用于分别计算所述候选段落集合中的第k个段落和所述第一段落集合中的各个段落之间的文本语义匹配度;其中,k为所述候选段落集合中的段落序号,1≤k≤k,k为所述候选段落集合中的段落总数;
[0051]
新增段落确定子模块,用于若所述候选段落集合中的第k个段落和所述第一段落集合中的任意一个段落之间的文本语义匹配度大于预设的第三阈值,则将所述候选段落集合中的第k个段落作为新增段落;
[0052]
新增段落集合确定子模块,用于将所述候选段落集合中的各个新增段落组成的集合作为所述新增段落集合。
[0053]
在第二方面的一种具体实现方式中,所述文本语义匹配度计算模块可以包括:
[0054]
第一文本向量计算子模块,用于使用预设的神经网络模型对所述待回答的问题文本进行处理,得到与所述待回答的问题文本对应的第一文本向量;
[0055]
第二文本向量计算子模块,用于使用所述神经网络模型对第p个段落进行处理,得到与第p个段落对应的第二文本向量;其中,p为所述开放域语料库中的各个段落的序号,1≤p≤pn,pn为所述开放域语料库中的段落总数;
[0056]
匹配度计算子模块,用于根据所述第一文本向量和所述第二文本向量计算所述待回答的问题文本与第p个段落之间的文本语义匹配度。
[0057]
在第二方面的一种具体实现方式中,所述第一文本向量计算子模块可以包括:
[0058]
分割处理单元,用于对所述待回答的问题文本进行分割处理,得到所述待回答的问题文本的符号序列;
[0059]
叠加序列生成单元,用于根据所述符号序列生成所述待回答的问题文本的叠加序列;
[0060]
第一文本向量选取单元,用于从所述叠加序列中选取与预设的第一符号对应的向量作为所述第一文本向量。
[0061]
在第二方面的一种具体实现方式中,所述叠加序列生成单元具体可以包括:
[0062]
序列生成子单元,用于分别生成与所述符号序列对应的词嵌入序列、分段嵌入序列和位置嵌入序列,其中,所述词嵌入序列中包括所述符号序列中各个符号的词向量,所述分段嵌入序列中包括所述符号序列中各个符号所属的分段信息,所述位置嵌入序列中包括所述符号序列中各个符号的位置信息;
[0063]
序列叠加子单元,用于对所述词嵌入序列、所述分段嵌入序列和所述位置嵌入序列进行叠加,生成所述叠加序列。
[0064]
在第二方面的一种具体实现方式中,所述匹配度计算子模块可以具体用于根据下式计算所述待回答的问题文本与第p个段落之间的文本语义匹配度:
[0065][0066]
其中,qselmn为所述第一文本向量中的第n个元素,prelmn为所述第二文本向量中的第n个元素,n为元素序号,1≤n≤n,n为元素总数,sim为所述待回答的问题文本与第p个段落之间的文本语义匹配度。
[0067]
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种自动问答方法的步骤。
[0068]
本发明实施例的第四方面提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种自动问答方法的步骤。
[0069]
本发明实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行上述任一种自动问答方法的步骤。
[0070]
本发明实施例与现有技术相比存在的有益效果是:本发明实施例对预设的开放域语料库中的各个文档进行实体抽取,并根据抽取出的实体建立倒排索引;分别计算待回答的问题文本与各个文档的段落之间的文本语义匹配度,并选取文本语义匹配度大于预设的第一阈值的段落作为推理路径起始段落;将所述推理路径起始段落分别添加入预设的第一段落集合和预设的第二段落集合;从所述第二段落集合中提取候选三元组集合,并基于所述第一段落集合从所述候选三元组集合中选取新增三元组集合;提取所述新增三元组集合中的实体,并根据所述倒排索引在所述开放域语料库中的各个文档段落中选取下一跳的候选段落集合;基于所述第一段落集合从所述候选段落集合中选取新增段落集合;将所述第二段落集合合并入所述第一段落集合,并将所述新增段落集合确定为新的所述第二段落;通过上述过程的反复迭代,直至再也找不到新增段落为止,最终的第一段落集合即为在开放域语料库中筛选得到的与待回答的问题文本可能相关的段落的集合,相比于整个开放域语料库,文档段落的数量已极大缩减,据此来生成答案文本所需的时间大大缩短,有效提升了自动问答的效率。而且,由于大量的无关内容均被剔除掉,避免了其对最终答案的干扰,因此,最终生成的答案文本也会更加准确。
附图说明
[0071]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0072]
图1为本发明实施例中一种基于人工智能的自动问答方法的一个实施例流程图;
[0073]
图2为倒排索引的示意图;
[0074]
图3为分别计算待回答的问题文本与各个文档的段落之间的文本语义匹配度的示意流程图;
[0075]
图4为本发明实施例中一种基于人工智能的自动问答装置的一个实施例结构图;
[0076]
图5为本发明实施例中一种服务器的示意框图。
具体实施方式
[0077]
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0078]
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0079]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0080]
本发明实施例的执行主体可以为基于人工智能的服务器,用于执行本发明实施例中的自动问答方法。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0081]
请参阅图1,本发明实施例中一种基于人工智能的自动问答方法的一个实施例可以包括:
[0082]
步骤s101、对预设的开放域语料库中的各个文档进行实体抽取,并根据抽取出的实体建立倒排索引。
[0083]
在本发明实施例中,所述开放域语料库可以根据实际情况进行设置,例如,可以选择维基百科、百度百科或者其它在互联网上开放访问的语料库作为所述开放域语料库。
[0084]
文档是指以文本形式存在的存储对象,主要包括互联网网页,但也可以包括word,pdf,html,xml等不同格式的对象,还可以包括邮件,短信,微博等对象。
[0085]
实体抽取,又称命名实体识别(named entities recognition,ner),主要任务是识别命名实体的文本范围,并将其分类为预定义的类别,是问答系统、翻译系统、知识图谱的基础。在本发明实施例中,可以根据实际情况选取现有技术中的任意一种实体抽取方法,包括但不限于基于规则和词典的方法、基于统计机器学习的方法、基于深度学习的实体抽取方法以及基于深度学习的实体抽取方法等。
[0086]
其中,基于规则和词典的方法多采用语言学专家手工构造规则模板,选用特征包括统计信息、标点符号、关键字、指示词、方向词、位置词、中心词等方法,以模式和字符串相匹配为主要手段,这类系统大多依赖于知识库和词典的建立。
[0087]
基于统计机器学习的方法把ner、分词问题当做序列标注问题,与分类问题相比,
预测标签不仅与当前的预测序列标签有关,还与之前的预测标签有关,预测标签之间具有强的相互依赖关系。主要的概率图模型是有向图的隐马尔可夫模型(hidden markov mode,hmm)、最大熵(maximum entropy,me)、支持向量机(support vector machine,svm)、无向图条件随机场(conditional random fields,crf)等。条件随机场(crf)是ner的主流模型,它的目标函数不仅考虑输入的状态特征函数,而且还包含了标签转移特征函数。在训练时可以使用随机梯度下降来学习模型参数。在已知模型时,给输入序列求预测输出序列即求使目标函数最大化的最优序列,是一个动态规划问题,可以使用维特比算法进行解码。
[0088]
基于深度学习的实体抽取方法,主要是利用深度学习能够对复杂的非线性问题进行较好的拟合,相比较于传统的机器学习能够学习到复杂的特征,在扩展方面深度学习还可以搭建端对端的模型,构建复杂的ner系统。主要使用的处理模型可以包括cnn-crf、rnn-crf、lstm-crf以及bilstm-crf等。
[0089]
如图2所示,倒排索引主要由实体词典和倒排文件两个部分组成,其中,实体词典是由抽取出的所有实体构成的集合,实体词典内每条索引项记载实体本身的信息以及指向倒排列表的指针。倒排列表记载了出现过某个实体的所有文档的文档列表及实体在该文档中出现的段落,每条记录称为一个倒排项,根据倒排列表,即可获知哪些文档包含某个实体。
[0090]
通过建立倒排索引,即可在给定任意一个实体的情况下,查找得到该实体出现过的所有文本段落。
[0091]
步骤s102、分别计算待回答的问题文本与各个文档的段落之间的文本语义匹配度,并选取文本语义匹配度大于预设的第一阈值的段落作为推理路径起始段落。
[0092]
如图3所示,所述分别计算待回答的问题文本与各个文档的段落之间的文本语义匹配度具体可以包括如下步骤:
[0093]
步骤s1021、使用预设的神经网络模型对所述待回答的问题文本进行处理,得到与所述待回答的问题文本对应的第一文本向量。
[0094]
在本发明实施例的一种具体实现中,所述神经网络模型可以为bert(bidirectional encoder representation from transformers)模型,bert的模型架构基于多层双向转换解码,因为解码器(decoder)是不能获取要预测的信息的,模型的主要创新点都在预训练(pre-training)方法上,分别捕捉词语和句子级别的表述。其中“双向”表示模型在处理某一个词时,它能同时利用前面的词和后面的词两部分信息,这种“双向”的来源在于bert与传统语言模型不同,它不是在给出所有前面词的条件下预测最可能的当前词,而是随机遮掩一些词,并利用所有没被遮掩的词进行预测。bert模型是在大量无标签文本中用两种策略预训练的,一种是掩码语言模型,另一种是下一个序列预测。预训练好的bert模型提供了强大的包含上下文依赖关系的句子表示,可以用来处理多种自然语言处理(natural language processing,nlp)任务。
[0095]
首先,对所述待回答的问题文本进行分割处理,得到所述待回答的问题文本的符号序列。
[0096]
在本发明实施例中,可以以逗号、句号、问号、感叹号等来作为句子分割符,对文本进行分割处理。为了便于后续处理,本发明实施例可以在文本中插入特殊的符号对分割结果进行标记,例如,可以在分割后的第一个句子前插入预设的第一符号(将该符号记为
[cls]),在分割后的每个句子后面加入预设的第二符号(将该符号记为[sep]),最终形成一组token序列,也即文本的符号序列。
[0097]
然后,根据所述符号序列生成所述待回答的问题文本的叠加序列。
[0098]
具体地,分别生成与所述符号序列对应的词嵌入序列、分段嵌入序列和位置嵌入序列,其中,所述词嵌入序列中包括所述符号序列中各个符号的词向量;所述分段嵌入序列中包括所述符号序列中各个符号所属的分段信息,用来区别不同的句子;所述位置嵌入序列中包括所述符号序列中各个符号的位置信息,因为nlp中单词顺序是很重要的特征,需要在这里对位置信息进行编码。
[0099]
最后,对所述词嵌入序列、所述分段嵌入序列和所述位置嵌入序列进行叠加,生成所述叠加序列,并从所述叠加序列中选取与预设的第一符号对应的向量作为所述第一文本向量。由于第一符号[cls]可以视为汇集了整个符号序列的表征,从叠加序列中取其中的第一个向量,也即[cls]所对应的向量,即为与所述待回答的问题文本对应的第一文本向量。
[0100]
步骤s1022、使用所述神经网络模型对第p个段落进行处理,得到与第p个段落对应的第二文本向量。
[0101]
其中,p为所述开放域语料库中的各个段落的序号,1≤p≤pn,pn为所述开放域语料库中的段落总数。
[0102]
步骤1022的具体过程与步骤1021类似,具体可参照步骤1022的描述,此处不再赘述。
[0103]
步骤s1023、根据所述第一文本向量和所述第二文本向量计算所述待回答的问题文本与第p个段落之间的文本语义匹配度。
[0104]
将所述第一文本向量记为:qesvec=[qselm1,qselm2,

,qselmn,

,qselmn],其中,qesvec为所述第一文本向量,n为元素序号,1≤n≤n,n为元素总数,qselmn为所述第一文本向量中的第n个元素。
[0105]
将所述第二文本向量记为:paravec=[prelm1,prelm2,

,prelmn,

,prelmn],其中,paravec为所述第二文本向量,prelmn为所述第二文本向量中的第n个元素。
[0106]
则可以根据下式计算所述待回答的问题文本与第p个段落之间的文本语义匹配度:
[0107][0108]
其中,sim即为所述待回答的问题文本与第p个段落之间的文本语义匹配度。
[0109]
按照上述过程,遍历p从1到p的取值,即可得到所述待回答的问题文本与各个段落之间的文本语义匹配度,然后可以从中选取文本语义匹配度大于预设的第一阈值的段落作为推理路径起始段落。所述第一阈值可以根据实际情况进行设置,例如,可以将其设置为0.7、0.8、0.9或者其它取值,本发明实施例对此不作具体限定。
[0110]
步骤s103、将所述推理路径起始段落分别添加入预设的第一段落集合和预设的第二段落集合。
[0111]
其中,所述第一段落集合用于存储筛选出的所有段落,所述第二段落集合用于存
储筛选出的新增段落,在初始状态下,所述第一段落集合和所述第二段落集合均为空。
[0112]
步骤s104、从所述第二段落集合中提取候选三元组集合,并基于所述第一段落集合从所述候选三元组集合中选取新增三元组集合。
[0113]
所述候选三元组集合为所述第二段落集合中尚未被提取过的三元组所组成的集合,容易理解地,在进行第1次三元组提取时,所有提取出的三元组组成的集合为所述候选三元组集合,而在后续的第n 1次(n≥1)三元组提取时,需要从提取出的三元组中剔除掉前n次已提取过的三元组,剔除后剩余的三元组组成的集合为所述候选三元组集合。
[0114]
在提取得到所述候选三元组集合之后,可以基于所述第一段落集合从所述候选三元组集合中选取新增三元组集合。
[0115]
具体地,分别计算所述候选三元组集合中的第m个三元组与所述第一段落集合中的各个段落之间的文本语义匹配度;其中,m为所述候选三元组集合中的三元组序号,1≤m≤m,m为所述候选三元组集合中的三元组总数。若所述候选三元组集合中的第m个三元组与所述第一段落集合中的任意一个段落之间的文本语义匹配度大于预设的第二阈值,则将所述候选三元组集合中的第m个三元组作为新增三元组。按照上述过程,遍历m从1到m的取值,即可得到所述候选三元组集合中的各个新增三元组,最后,将这些新增三元组组成的集合作为所述新增三元组集合。
[0116]
其中,文本语义匹配度的计算过程可参见步骤102中的具体描述,此处不再赘述。所述第二阈值可以根据实际情况进行设置,例如,可以将其设置为0.7、0.8、0.9或者其它取值,本发明实施例对此不作具体限定。
[0117]
步骤s105、提取所述新增三元组集合中的实体,并根据所述倒排索引在所述开放域语料库中的各个文档段落中选取下一跳的候选段落集合。
[0118]
其中,所述候选段落集合即为包含有所述新增三元组集合中的实体的段落组成的集合,容易理解地,其中应剔除掉所述第一段落集合和所述第二段落集合中的段落。
[0119]
步骤s106、基于所述第一段落集合从所述候选段落集合中选取新增段落集合。
[0120]
具体地,分别计算所述候选段落集合中的第k个段落和所述第一段落集合中的各个段落之间的文本语义匹配度;其中,k为所述候选段落集合中的段落序号,1≤k≤k,k为所述候选段落集合中的段落总数。若所述候选段落集合中的第k个段落和所述第一段落集合中的任意一个段落之间的文本语义匹配度大于预设的第三阈值,则将所述候选段落集合中的第k个段落作为新增段落。按照上述过程,遍历k从1到k的取值,即可得到所述候选段落集合中的各个新增段落,将这些新增段落组成的集合作为所述新增段落集合。
[0121]
其中,文本语义匹配度的计算过程可参见步骤102中的具体描述,此处不再赘述。所述第三阈值可以根据实际情况进行设置,例如,可以将其设置为0.7、0.8、0.9或者其它取值,本发明实施例对此不作具体限定。
[0122]
步骤s107、将所述第二段落集合合并入所述第一段落集合,并将所述新增段落集合确定为新的所述第二段落。
[0123]
然后,返回执行步骤s104及其后续步骤,直至从所述候选段落集合中选取出的所述新增段落集合为空为止。
[0124]
步骤s108、基于所述第一段落集合生成与所述计算待回答的问题文本对应的答案文本。
[0125]
在本发明实施例中,可以根据实际情况选取现有技术中的任意一种答案文本生成方法来实现步骤s108,此处优选采用d.q.chen,a.fisch,j.weston,a.bordes在其论文《reading wikipedia to answer open-domain questions》中所提出的方法,当然,也可以选取其它的方法,本技术实施例对此不作具体限定。
[0126]
综上所述,本发明实施例对预设的开放域语料库中的各个文档进行实体抽取,并根据抽取出的实体建立倒排索引;分别计算待回答的问题文本与各个文档的段落之间的文本语义匹配度,并选取文本语义匹配度大于预设的第一阈值的段落作为推理路径起始段落;将所述推理路径起始段落分别添加入预设的第一段落集合和预设的第二段落集合;从所述第二段落集合中提取候选三元组集合,并基于所述第一段落集合从所述候选三元组集合中选取新增三元组集合;提取所述新增三元组集合中的实体,并根据所述倒排索引在所述开放域语料库中的各个文档段落中选取下一跳的候选段落集合;基于所述第一段落集合从所述候选段落集合中选取新增段落集合;将所述第二段落集合合并入所述第一段落集合,并将所述新增段落集合确定为新的所述第二段落;通过上述过程的反复迭代,直至再也找不到新增段落为止,最终的第一段落集合即为在开放域语料库中筛选得到的与待回答的问题文本可能相关的段落的集合,相比于整个开放域语料库,文档段落的数量已极大缩减,据此来生成答案文本所需的时间大大缩短,有效提升了自动问答的效率。而且,由于大量的无关内容均被剔除掉,避免了其对最终答案的干扰,因此,最终生成的答案文本也会更加准确。
[0127]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0128]
对应于上文实施例所述的一种基于人工智能的自动问答方法,图4示出了本发明实施例提供的一种基于人工智能的自动问答装置的一个实施例结构图。
[0129]
本实施例中,一种自动问答装置可以包括:
[0130]
倒排索引模块401,用于对预设的开放域语料库中的各个文档进行实体抽取,并根据抽取出的实体建立倒排索引;
[0131]
文本语义匹配度计算模块402,用于分别计算待回答的问题文本与各个文档的段落之间的文本语义匹配度,并选取文本语义匹配度大于预设的第一阈值的段落作为推理路径起始段落;
[0132]
段落集合确定模块403,用于将所述推理路径起始段落分别添加入预设的第一段落集合和预设的第二段落集合;
[0133]
新增三元组集合选取模块404,用于从所述第二段落集合中提取候选三元组集合,并基于所述第一段落集合从所述候选三元组集合中选取新增三元组集合;
[0134]
候选段落集合选取模块405,用于提取所述新增三元组集合中的实体,并根据所述倒排索引在所述开放域语料库中的各个文档段落中选取下一跳的候选段落集合;
[0135]
新增段落集合选取模块406,用于基于所述第一段落集合从所述候选段落集合中选取新增段落集合;
[0136]
段落集合更新模块407,用于将所述第二段落集合合并入所述第一段落集合,并将所述新增段落集合确定为新的所述第二段落;返回执行所述从所述第二段落集合中提取候
选三元组集合的步骤及其后续步骤,直至从所述候选段落集合中选取出的所述新增段落集合为空为止;
[0137]
答案文本生成模块408,用于基于所述第一段落集合生成与所述计算待回答的问题文本对应的答案文本。
[0138]
在本发明实施例的一种具体实现方式中,所述新增三元组集合选取模块可以包括:
[0139]
第一匹配度计算子模块,用于分别计算所述候选三元组集合中的第m个三元组与所述第一段落集合中的各个段落之间的文本语义匹配度;其中,m为所述候选三元组集合中的三元组序号,1≤m≤m,m为所述候选三元组集合中的三元组总数;
[0140]
新增三元组确定子模块,用于若所述候选三元组集合中的第m个三元组与所述第一段落集合中的任意一个段落之间的文本语义匹配度大于预设的第二阈值,则将所述候选三元组集合中的第m个三元组作为新增三元组;
[0141]
新增三元组集合确定子模块,用于将所述候选三元组集合中的各个新增三元组组成的集合作为所述新增三元组集合。
[0142]
在本发明实施例的一种具体实现方式中,所述新增段落集合选取模块可以包括:
[0143]
第二匹配度计算子模块,用于分别计算所述候选段落集合中的第k个段落和所述第一段落集合中的各个段落之间的文本语义匹配度;其中,k为所述候选段落集合中的段落序号,1≤k≤k,k为所述候选段落集合中的段落总数;
[0144]
新增段落确定子模块,用于若所述候选段落集合中的第k个段落和所述第一段落集合中的任意一个段落之间的文本语义匹配度大于预设的第三阈值,则将所述候选段落集合中的第k个段落作为新增段落;
[0145]
新增段落集合确定子模块,用于将所述候选段落集合中的各个新增段落组成的集合作为所述新增段落集合。
[0146]
在本发明实施例的一种具体实现方式中,所述文本语义匹配度计算模块可以包括:
[0147]
第一文本向量计算子模块,用于使用预设的神经网络模型对所述待回答的问题文本进行处理,得到与所述待回答的问题文本对应的第一文本向量;
[0148]
第二文本向量计算子模块,用于使用所述神经网络模型对第p个段落进行处理,得到与第p个段落对应的第二文本向量;其中,p为所述开放域语料库中的各个段落的序号,1≤p≤pn,pn为所述开放域语料库中的段落总数;
[0149]
匹配度计算子模块,用于根据所述第一文本向量和所述第二文本向量计算所述待回答的问题文本与第p个段落之间的文本语义匹配度。
[0150]
在本发明实施例的一种具体实现方式中,所述第一文本向量计算子模块可以包括:
[0151]
分割处理单元,用于对所述待回答的问题文本进行分割处理,得到所述待回答的问题文本的符号序列;
[0152]
叠加序列生成单元,用于根据所述符号序列生成所述待回答的问题文本的叠加序列;
[0153]
第一文本向量选取单元,用于从所述叠加序列中选取与预设的第一符号对应的向
量作为所述第一文本向量。
[0154]
在本发明实施例的一种具体实现方式中,所述叠加序列生成单元具体可以包括:
[0155]
序列生成子单元,用于分别生成与所述符号序列对应的词嵌入序列、分段嵌入序列和位置嵌入序列,其中,所述词嵌入序列中包括所述符号序列中各个符号的词向量,所述分段嵌入序列中包括所述符号序列中各个符号所属的分段信息,所述位置嵌入序列中包括所述符号序列中各个符号的位置信息;
[0156]
序列叠加子单元,用于对所述词嵌入序列、所述分段嵌入序列和所述位置嵌入序列进行叠加,生成所述叠加序列。
[0157]
在本发明实施例的一种具体实现方式中,所述匹配度计算子模块可以具体用于根据下式计算所述待回答的问题文本与第p个段落之间的文本语义匹配度:
[0158][0159]
其中,qselmn为所述第一文本向量中的第n个元素,prelmn为所述第二文本向量中的第n个元素,n为元素序号,1≤n≤n,n为元素总数,sim为所述待回答的问题文本与第p个段落之间的文本语义匹配度。
[0160]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0161]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0162]
图5示出了本发明实施例提供的一种服务器的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。
[0163]
该服务器5可包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机可读指令52,例如执行上述的自动问答方法的计算机可读指令。所述处理器50执行所述计算机可读指令52时实现上述各个自动问答方法实施例中的步骤,例如图1所示的步骤s101至s108。或者,所述处理器50执行所述计算机可读指令52时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块401至408的功能。
[0164]
示例性的,所述计算机可读指令52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令52在所述服务器5中的执行过程。
[0165]
所述处理器50可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0166]
所述存储器51可以是所述服务器5的内部存储单元,例如服务器5的硬盘或内存。
所述存储器51也可以是所述服务器5的外部存储设备,例如所述服务器5上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器51还可以既包括所述服务器5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机可读指令以及所述服务器5所需的其它指令和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
[0167]
在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0168]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干计算机可读指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储计算机可读指令的介质。
[0169]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献