掌桥专利:专业的专利平台
掌桥专利
首页

问答处理方法、装置、存储介质和电子设备

文献发布时间:2023-06-19 10:02:03


问答处理方法、装置、存储介质和电子设备

技术领域

本发明涉及数据处理技术领域,特别是涉及一种问答处理方法、一种问答处理装置、一种存储介质及一种电子设备。

背景技术

机器阅读理解是目前一种新的QA(Question Answering,问题回答)方式,其任务为:给定样本数据,数据包括文本材料,问题以及对应问题的答案,并且给出答案在文本材料中的对应位置信息;目标是希望能够针对给定的训练集数据构建阅读理解模型,使得该模型具有回答测试集数据中给定文本材料问题的能力,回答问题的回答质量由给定的评价指标来判断。目标是回答问题的回答质量在给定评价指标上值越大越好,最终模型根据评价指标值的得分高低来评价优劣。

如图1所示基于知识库的问答处理流程的示意图,传统的客服机器人采用检索、匹配、排序这种流程,首先构建FAQ知识库系统,然后通过相关检索算法从知识库中检索出与用户问题相关的FAQ问答对,最后通过语义匹配算法寻找候选答案,并进行召回排序寻找出最佳答案。这种方式需要大量的人力去构建知识库,而且这种大多是基于单文档的,导致答案可能不完整,难以确保答案是最佳答案。

发明内容

鉴于上述问题,提出了一种问答处理方法、装置、存储介质及电子设备,以解决大量的人力去构建知识库,而且这种大多是基于单文档的,导致答案可能不完整,难以确保答案是最佳答案的问题。

依据本发明的一个方面,提供了一种问答处理方法,包括:

获取用户问题;

基于文本筛选模型,从用户问题对应的目标文本中,筛选与所述用户问题相关的至少一个候选段落;

基于答案生成模型,生成所述至少一个候选段落中与所述用户问题匹配的多个候选答案;

基于答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果;

根据所述至少一个候选段落、多个候选答案和排序结果,从所述多个候选答案中选取所述用户问题对应的目标答案;

其中,所述文本筛选模型、答案生成模型和答案排序模型是联合训练的。

可选地,在所述获取用户问题之前,所述方法还包括:

利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落;

利用待训练的答案生成模型,生成所述至少一个候选段落中与所述训练问题匹配的多个候选答案;

利用待训练的答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果;

基于所述多个候选答案和排序结果来对所述待训练的文本筛选模型、待训练的答案生成模型和待训练的答案排序模型进行联合训练。

可选地,在所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落之前,所述方法还包括:

从多个预处理文档中,查找所述训练问题对应的训练文本。

可选地,在所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落之前,所述方法还包括:

将所述训练文本按照滑动窗口的方式进行分割,得到多个子文本;

从所述多个子文本中,查找与所述训练文本相关的预设个数的子文本;

对所述训练问题和所述预设个数的子文本进行编码,得到对应的上下文向量。

可选地,所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落包括:

利用所述待训练的文本筛选模型,根据所述上下文向量,计算所述训练文本中多个段落与所述训练问题之间的相关性数据;

根据所述相关性数据,筛选与所述训练问题相关的至少一个候选段落。

可选地,所述利用待训练的答案生成模型,生成所述至少一个候选段落中与所述训练问题匹配的多个候选答案包括:

利用所述待训练的答案生成模型,根据所述上下文向量,对所述至少一个候选段落中多个答案与所述训练问题进行匹配,得到所述多个答案的开始索引对应的开始匹配度和结束索引对应的结束匹配度;

根据所述开始匹配度和结束匹配度,生成与所述训练问题匹配的多个候选答案。

可选地,所述利用待训练的答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果包括:

剔除所述多个候选答案中与其他候选答案存在重叠的候选答案,得到目标候选答案;

利用所述待训练的答案排序模型,根据所述上下文向量,计算所述目标候选答案与所述训练问题之间的问答匹配度,以及所述目标候选答案与标记答案之间的答案匹配度;

根据所述问答匹配度和答案匹配度,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果。

依据本发明的另一个方面,提供了一种问答处理装置,包括:

问题获取模块,用于获取用户问题;

筛选模块,用于基于文本筛选模型,从用户问题对应的目标文本中,筛选与所述用户问题相关的至少一个候选段落;

答案生成模块,用于基于答案生成模型,生成所述至少一个候选段落中与所述用户问题匹配的多个候选答案;

排序模块,用于基于答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果;

答案选取模块,用于根据所述至少一个候选段落、多个候选答案和排序结果,从所述多个候选答案中选取所述用户问题对应的目标答案;

其中,所述文本筛选模型、答案生成模型和答案排序模型是联合训练的。

可选地,所述装置还包括:

段落筛选模块,用于在所述获取用户问题之前,利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落;

答案生成模块,用于利用待训练的答案生成模型,生成所述至少一个候选段落中与所述训练问题匹配的多个候选答案;

排序模块,用于利用待训练的答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果;

联合训练模块,用于基于所述多个候选答案和排序结果来对所述待训练的文本筛选模型、待训练的答案生成模型和待训练的答案排序模型进行联合训练。

可选地,所述装置还包括:

文本查找模块,用于在所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落之前,从多个预处理文档中,查找所述训练问题对应的训练文本。

可选地,所述装置还包括:

分割模块,用于在所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落之前,将所述训练文本按照滑动窗口的方式进行分割,得到多个子文本;

文本查找模块,用于从所述多个子文本中,查找与所述训练文本相关的预设个数的子文本;

编码模块,用于对所述训练问题和所述预设个数的子文本进行编码,得到对应的上下文向量。

可选地,所述段落筛选模块包括:

数据计算子模块,用于利用所述待训练的文本筛选模型,根据所述上下文向量,计算所述训练文本中多个段落与所述训练问题之间的相关性数据;

段落筛选子模块,用于根据所述相关性数据,筛选与所述训练问题相关的至少一个候选段落。

可选地,所述答案生成模块包括:

匹配子模块,用于利用所述待训练的答案生成模型,根据所述上下文向量,对所述至少一个候选段落中多个答案与所述训练问题进行匹配,得到所述多个答案的开始索引对应的开始匹配度和结束索引对应的结束匹配度;

答案生成子模块,用于根据所述开始匹配度和结束匹配度,生成与所述训练问题匹配的多个候选答案。

可选地,所述排序模块包括:

剔除子模块,用于剔除所述多个候选答案中与其他候选答案存在重叠的候选答案,得到目标候选答案;

计算子模块,用于利用所述待训练的答案排序模型,根据所述上下文向量,计算所述目标候选答案与所述训练问题之间的问答匹配度,以及所述目标候选答案与标记答案之间的答案匹配度;

排序子模块,用于根据所述问答匹配度和答案匹配度,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果。

依据本发明的另一个方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行如上述的一个或多个方法。

依据本发明的另一个方面,提供了一种电子设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如上述的一个或多个方法。

依据本发明实施例,通过获取用户问题,基于文本筛选模型,从用户问题对应的目标文本中,筛选与所述用户问题相关的至少一个候选段落,基于答案生成模型,生成所述至少一个候选段落中与所述用户问题匹配的多个候选答案,基于答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果,根据所述至少一个候选段落、多个候选答案和排序结果,从所述多个候选答案中选取所述用户问题对应的目标答案,其中,所述文本筛选模型、答案生成模型和答案排序模型是联合训练的,使得文本筛选、答案生成、答案排序三个部分的输入端到输出端直接用一个神经网络相连,并统一进行联合训练,避免了各个部分训练目标不一致导致训练出的系统难以达到最优的性能,通过文本筛选、答案生成、答案排序三个步骤使得最终得到的答案更加精准和合理,提高了问答处理的效率。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是基于知识库的问答处理流程的示意图;

图2是根据本发明实施例一的一种问答处理方法的流程图;

图3是根据本发明实施例二的一种问答处理方法的流程图;

图4是根据本发明实施例三的一种问答处理装置的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

参照图2,示出了本发明实施例一中的一种问答处理方法的流程图,具体可以包括:

步骤101,获取用户问题。

在本发明实施例中,在模型的应用阶段,获取用户问题。例如,在保险服务的客服系统中,用户提交的有关保险服务的问题。

步骤102,基于文本筛选模型,从用户问题对应的目标文本中,筛选与所述用户问题相关的至少一个候选段落。

在本发明实施例中,文本筛选模型可以是经训练后能够实现文本筛选的任何类型的网络模型,而答案生成模型可以是经训练后能够实现答案生成的任何类型的网络模型,而答案排序模型可以是经训练后能够实现答案排序的任何类型的网络模型。

在本发明实施例中,文本筛选模型、答案生成模型和答案排序模型是联合训练的。在训练阶段采用一种端到端的训练策略,而不是单独训练每个组件,这样下游组件可以在训练期间从高质量的上游输出(例如,检索到的候选段落)中受益。

在本发明实施例中,基于训练后的文本筛选模型,筛选候选段落。将用户问题和对应的目标文本输入文本筛选模型,文本筛选模型可以从目标文本中筛选出与用户问题相关的至少一个候选段落。例如,目标文本是原始文本经过预处理后,采用多字段交叉检索方式,获取的目标文本。

步骤103,基于答案生成模型,生成所述至少一个候选段落中与所述用户问题匹配的多个候选答案。

在本发明实施例中,基于训练后的答案生成模型,生成候选答案。将上一步筛选得到的候选段落和用户问题输入答案生成模型,以生成至少一个候选段落中与用户问题匹配的多个候选答案。

步骤104,基于答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果。

在本发明实施例中,基于训练后的答案排序模型,对多个候选答案进行排序。将多个候选答案输入答案排序模型,答案排序模型对答案排序后,得到多个候选答案的排序结果。

步骤105,根据所述至少一个候选段落、多个候选答案和排序结果,从所述多个候选答案中选取所述用户问题对应的目标答案。

在本发明实施例中,文本筛选模型、答案生成模型和答案排序模型是联合训练的。通过文本筛选模型、答案生成模型和答案排序模型三个模型处理后,通过比较同一个输入的所有部分的分数,选择最终的目标答案,例如,获取各个候选答案所处的候选段落在文本筛选模型中的分数,候选答案在答案生成模型中的分数以及候选答案在答案排序模型中的分数,将这三个分数加权相加,然后根据加权相加得到的总分数,选择最佳的候选答案,作为目标答案。

依据本发明实施例,通过获取用户问题,基于文本筛选模型,从用户问题对应的目标文本中,筛选与所述用户问题相关的至少一个候选段落,基于答案生成模型,生成所述至少一个候选段落中与所述用户问题匹配的多个候选答案,基于答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果,根据所述至少一个候选段落、多个候选答案和排序结果,从所述多个候选答案中选取所述用户问题对应的目标答案,使得文本筛选、答案生成、答案排序三个部分的输入端到输出端直接用一个神经网络相连,并统一进行联合训练,避免了各个部分训练目标不一致导致训练出的系统难以达到最优的性能,通过文本筛选、答案生成、答案排序三个步骤使得最终得到的答案更加精准和合理,提高了问答处理的效率。

实施例二

参照图3,示出了本发明实施例二中的一种问答处理方法的流程图,具体可以包括:

步骤201,利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落。

在本发明实施例中,对一个初始文本筛选模型进行参数设置,以作为所述待训练的文本筛选模型;以及对一个初始答案生成模型进行参数设置,以作为所述待训练的答案生成模型;以及对一个初始答案排序模型进行参数设置,以作为所述待训练的答案排序模型。文本筛选模型可以是经训练后能够实现文本筛选的任何类型的网络模型,而答案生成模型可以是经训练后能够实现答案生成的任何类型的网络模型,而答案排序模型可以是经训练后能够实现答案排序的任何类型的网络模型。

在本发明的一种可选实施例中,在所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落之前,还可以包括:从多个预处理文档中,查找所述训练问题对应的训练文本。

预处理文档包括对原始文档进行预处理后得到的文档。原始文档包含大量噪声文本,预处理包括对文档进行数据清洗,例如,将原始文档中的unicode字符、空段落、url链接删除,得到预处理文档。

然后进行文档片段定位,针对预处理文档,根据训练问题,召回候选文档的集合,作为训练文本。例如,采用基于开源框架Elsatic-Search(一种高度可拓展开源的全文搜索引擎),采用多字段交叉检索方式,从预处理文档中,获取与训练问题对应的训练文本。

在本发明的一种可选实施例中,对于检索获取的训练文本,可以对训练文本进行剪枝来减少搜索空间。具体可以包括两部分,第一部分:分割编码(Segment Encoding)模块,第二部分:检索(retriever)模块。

在一种实现方式中,在利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落之前,还可以包括:将所述训练文本按照滑动窗口的方式进行分割,得到多个子文本;从所述多个子文本中,查找与所述训练文本相关的预设个数的子文本;对所述训练问题和所述预设个数的子文本进行编码,得到对应的上下文向量。

将训练文本按照滑动窗口的方式将其划分为包含重叠的多个子文本,再使用预先训练的Transformer模型,对训练问题和子文本进行编码。

对于分割编码模块,具体步骤如下:

首先,针对每个训练文本,计算训练问题和子文本之间的基于TF-IDF(TermFrequency-Inverse Document Frequency,词频-逆文档词频)的余弦距离,选取余弦距离最小的k个子文本,即与训练问题最相关的预设个数的子文本。根据这些子文本在训练文本中的位置对它们进行排序,并将它们合并成一个新的修剪文档。分段时采用的是窗口大小为1,步长为r的方式,文档d最后可被分为多个子文本C={c1,...,cn}。

然后,通过Transformer模型进行编码获取训练文本的表示c,同样也可以获取关于训练问题的表示q,最终段落的表示为[[CLS];q;[SEP];c;[SEP]],其中,CLS表示分类标志,SEP是表示句子的标志。

给定长度L的输入X=(x

最后,将一系列的Transformer模型的输入嵌入投影到一系列上下文向量中,如下所示:h

在本发明的一种可选实施例中,所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落的一种实现方式中,可以包括:利用所述待训练的文本筛选模型,根据所述上下文向量,计算所述训练文本中多个段落与所述训练问题之间的相关性数据;根据所述相关性数据,筛选与所述训练问题相关的至少一个候选段落。其中,相关性数据用于表征段落与训练问题之间的相关性大小。

对于检索模块,具体步骤如下:

虽然在此之前已经进行了一次文档的剪枝,但是在将选择的文档划分段落后仍然具有很多的段落(即子文本)。为了提高编码的效率和使下游的模型更加关注文中重要的部分,本发明采用一种称为Early-stopped(提前结束)的机制。对于第J块中的隐藏状态,其中J<I,通过一个固定大小的向量,带有一个加权自对准层,后面跟着多层感知器的方法,计算出一个分数(即相关性数据)scorer

其中,w

其中,

步骤202,利用待训练的答案生成模型,生成所述至少一个候选段落中与所述训练问题匹配的多个候选答案。

在本发明实施例中,经过文本筛选模型,从训练文本中筛选出候选段落,答案生成模型需要从至少一个候选段落中查找出答案就具体的位置,生成与训练问题匹配的多个候选答案。答案生成模型可以在候选段落中确定与训练问题匹配的候选答案,具体可以采用任意适用的答案生成模型,本发明实施例对此不做限制。。

在本发明的一种可选实施例中,所述利用待训练的答案生成模型,生成所述至少一个候选段落中与所述训练问题匹配的多个候选答案的一种实现方式中,可以包括:利用所述待训练的答案生成模型,根据所述上下文向量,对所述至少一个候选段落中多个答案与所述训练问题进行匹配,得到所述多个答案的开始索引对应的开始匹配度和结束索引对应的结束匹配度;根据所述开始匹配度和结束匹配度,生成与所述训练问题匹配的多个候选答案。

采用阅读(reader)模块,从候选的包含答案的多个候选段落中确定具体的区域,即答案所在部分的开始索引和结束索引。

经过上一模块的检索得到了包含答案的多个重要的候选段落和对应的上下文向量h

对于给定筛选到的候选段落,答案生成模型旨在为每个段落提出多个候选答案。对于一个输入,将隐藏层的向量最终状态h

其中,

假设α

步骤203,利用待训练的答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果。

在本发明实施例中,采用答案排序模型,对上述模型生成的多个候选答案进行排序,得到多个候选答案的排序结果。例如,答案排序模型可以重新计算候选答案与训练问题之间的匹配度,然后按匹配度从高到低对候选答案排序,得到排序结果,具体可以采用任意适用的答案排序模型,本发明实施例对此不做限制。

在本发明的一种可选实施例中,所述利用待训练的答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果的一种实现方式中,可以包括:剔除所述多个候选答案中与其他候选答案存在重叠的候选答案,得到目标候选答案;利用所述待训练的答案排序模型,根据所述上下文向量,计算所述目标候选答案与所述训练问题之间的问答匹配度,以及所述目标候选答案与标记答案之间的答案匹配度;根据所述问答匹配度和答案匹配度,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果。

多个候选答案之间可以存在重叠,为了得到更加合理的候选答案,可以先剔除部分与其他候选答案存在重叠的候选答案。

例如,多个候选答案中仍有可能会存在着冗余的部分,因此本发明提出了一种剪枝算法,假设上一步得到的候选答案的集合为A,对应的分数为S。首先将集合A中分数最高的答案挑选出来放到集合B中,然后查找集合A中剩下的答案的开始和结束索引和放到集合B中的答案对应的索引有没有重叠,如果有,就将其从集合A中删除,再进行下一次的选择、删除,直到集合A为空或者集合B中答案的个数达到预设阈值为止,那么最后得到的候选答案就是最终的答案。

然后,采用重排序(reranker)模块,对生成的多个候选答案进行重排序,从而得到候选答案的排序结果。

针对集合B中的候选答案ai,计算出基于其跨距表示的分数,其中表示是由答案跨距边界限定的加权自对齐向量,如下所示:

其中,

接着需要对B中的答案进行打分排序,为了更好的训练重排序模块,对于每个候选答案ai分别设计两种标签

最后,定义答案排序模型的目标函数如下:

步骤204,基于所述多个候选答案和排序结果来对所述待训练的文本筛选模型、待训练的答案生成模型和待训练的答案排序模型进行联合训练。

在本发明的一种可选实施例中,采用多任务学习方法,共享其模块的参数,联合目标函数定义为:J=l

步骤205,获取用户问题。

在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。

步骤206,基于文本筛选模型,从用户问题对应的目标文本中,筛选与所述用户问题相关的至少一个候选段落。

在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。

步骤207,基于答案生成模型,生成所述至少一个候选段落中与所述用户问题匹配的多个候选答案。

在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。

步骤208,基于答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果。

在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。

步骤209,根据所述至少一个候选段落、多个候选答案和排序结果,从所述多个候选答案中选取所述用户问题对应的目标答案。

在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。

依据本发明实施例,通过利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落,利用待训练的答案生成模型,生成所述至少一个候选段落中与所述训练问题匹配的多个候选答案,利用待训练的答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果,基于所述多个候选答案和排序结果来对所述待训练的文本筛选模型、待训练的答案生成模型和待训练的答案排序模型进行联合训练,使得文本筛选、答案生成、答案排序三个部分的输入端到输出端直接用一个神经网络相连,并统一进行联合训练,避免了各个部分训练目标不一致导致训练出的系统难以达到最优的性能,通过文本筛选、答案生成、答案排序三个步骤使得最终得到的答案更加精准和合理,提高了问答处理的效率。

实施例三

参照图4,示出了本发明实施例三中的一种问答处理装置的结构框图,具体可以包括:

问题获取模块301,用于获取用户问题;

筛选模块302,用于基于文本筛选模型,从用户问题对应的目标文本中,筛选与所述用户问题相关的至少一个候选段落;

答案生成模块303,用于基于答案生成模型,生成所述至少一个候选段落中与所述用户问题匹配的多个候选答案;

排序模块304,用于基于答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果;

答案选取模块305,用于根据所述至少一个候选段落、多个候选答案和排序结果,从所述多个候选答案中选取所述用户问题对应的目标答案;

其中,所述文本筛选模型、答案生成模型和答案排序模型是联合训练的。

可选地,所述装置还包括:

段落筛选模块,用于在所述获取用户问题之前,利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落;

答案生成模块,用于利用待训练的答案生成模型,生成所述至少一个候选段落中与所述训练问题匹配的多个候选答案;

排序模块,用于利用待训练的答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果;

联合训练模块,用于基于所述多个候选答案和排序结果来对所述待训练的文本筛选模型、待训练的答案生成模型和待训练的答案排序模型进行联合训练。

可选地,所述装置还包括:

文本查找模块,用于在所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落之前,从多个预处理文档中,查找所述训练问题对应的训练文本。

可选地,所述装置还包括:

分割模块,用于在所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落之前,将所述训练文本按照滑动窗口的方式进行分割,得到多个子文本;

文本查找模块,用于从所述多个子文本中,查找与所述训练文本相关的预设个数的子文本;

编码模块,用于对所述训练问题和所述预设个数的子文本进行编码,得到对应的上下文向量。

可选地,所述段落筛选模块包括:

数据计算子模块,用于利用所述待训练的文本筛选模型,根据所述上下文向量,计算所述训练文本中多个段落与所述训练问题之间的相关性数据;

段落筛选子模块,用于根据所述相关性数据,筛选与所述训练问题相关的至少一个候选段落。

可选地,所述答案生成模块包括:

匹配子模块,用于利用所述待训练的答案生成模型,根据所述上下文向量,对所述至少一个候选段落中多个答案与所述训练问题进行匹配,得到所述多个答案的开始索引对应的开始匹配度和结束索引对应的结束匹配度;

答案生成子模块,用于根据所述开始匹配度和结束匹配度,生成与所述训练问题匹配的多个候选答案。

可选地,所述排序模块包括:

剔除子模块,用于剔除所述多个候选答案中与其他候选答案存在重叠的候选答案,得到目标候选答案;

计算子模块,用于利用所述待训练的答案排序模型,根据所述上下文向量,计算所述目标候选答案与所述训练问题之间的问答匹配度,以及所述目标候选答案与标记答案之间的答案匹配度;

排序子模块,用于根据所述问答匹配度和答案匹配度,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果。

依据本发明实施例,通过获取用户问题,基于文本筛选模型,从用户问题对应的目标文本中,筛选与所述用户问题相关的至少一个候选段落,基于答案生成模型,生成所述至少一个候选段落中与所述用户问题匹配的多个候选答案,基于答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果,根据所述至少一个候选段落、多个候选答案和排序结果,从所述多个候选答案中选取所述用户问题对应的目标答案,使得文本筛选、答案生成、答案排序三个部分的输入端到输出端直接用一个神经网络相连,并统一进行联合训练,避免了各个部分训练目标不一致导致训练出的系统难以达到最优的性能,通过文本筛选、答案生成、答案排序三个步骤使得最终得到的答案更加精准和合理,提高了问答处理的效率。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本公开的实施例中,所述问答处理系统的训练装置包括处理器和存储器,上述模块以及子模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过获取用户问题,基于文本筛选模型,从用户问题对应的目标文本中,筛选与所述用户问题相关的至少一个候选段落,基于答案生成模型,生成所述至少一个候选段落中与所述用户问题匹配的多个候选答案,基于答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果,根据所述至少一个候选段落、多个候选答案和排序结果,从所述多个候选答案中选取所述用户问题对应的目标答案,使得文本筛选、答案生成、答案排序三个部分的输入端到输出端直接用一个神经网络相连,并统一进行联合训练,避免了各个部分训练目标不一致导致训练出的系统难以达到最优的性能,通过文本筛选、答案生成、答案排序三个步骤使得最终得到的答案更加精准和合理,提高了问答处理的效率。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述问答处理方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述问答处理方法。

本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:

获取用户问题;

基于文本筛选模型,从用户问题对应的目标文本中,筛选与所述用户问题相关的至少一个候选段落;

基于答案生成模型,生成所述至少一个候选段落中与所述用户问题匹配的多个候选答案;

基于答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果;

根据所述至少一个候选段落、多个候选答案和排序结果,从所述多个候选答案中选取所述用户问题对应的目标答案;

其中,所述文本筛选模型、答案生成模型和答案排序模型是联合训练的。

可选地,在所述获取用户问题之前,所述方法还包括:

利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落;

利用待训练的答案生成模型,生成所述至少一个候选段落中与所述训练问题匹配的多个候选答案;

利用待训练的答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果;

基于所述多个候选答案和排序结果来对所述待训练的文本筛选模型、待训练的答案生成模型和待训练的答案排序模型进行联合训练。

可选地,在所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落之前,所述方法还包括:

从多个预处理文档中,查找所述训练问题对应的训练文本。

可选地,在所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落之前,所述方法还包括:

将所述训练文本按照滑动窗口的方式进行分割,得到多个子文本;

从所述多个子文本中,查找与所述训练文本相关的预设个数的子文本;

对所述训练问题和所述预设个数的子文本进行编码,得到对应的上下文向量。

可选地,所述利用待训练的文本筛选模型,从训练问题对应的训练文本中,筛选与所述训练问题相关的至少一个候选段落包括:

利用所述待训练的文本筛选模型,根据所述上下文向量,计算所述训练文本中多个段落与所述训练问题之间的相关性数据;

根据所述相关性数据,筛选与所述训练问题相关的至少一个候选段落。

可选地,所述利用待训练的答案生成模型,生成所述至少一个候选段落中与所述训练问题匹配的多个候选答案包括:

利用所述待训练的答案生成模型,根据所述上下文向量,对所述至少一个候选段落中多个答案与所述训练问题进行匹配,得到所述多个答案的开始索引对应的开始匹配度和结束索引对应的结束匹配度;

根据所述开始匹配度和结束匹配度,生成与所述训练问题匹配的多个候选答案。

可选地,所述利用待训练的答案排序模型,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果包括:

剔除所述多个候选答案中与其他候选答案存在重叠的候选答案,得到目标候选答案;

利用所述待训练的答案排序模型,根据所述上下文向量,计算所述目标候选答案与所述训练问题之间的问答匹配度,以及所述目标候选答案与标记答案之间的答案匹配度;

根据所述问答匹配度和答案匹配度,对所述多个候选答案进行排序,得到所述多个候选答案的排序结果。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 问答会话的处理方法、问答系统、电子设备及存储介质
  • 基于图像的问答处理方法和装置、电子设备及存储介质
技术分类

06120112389335