答案生成方法、装置、电子设备及存储介质

文档序号:1846549 发布日期:2021-11-16 浏览:12次 >En<

阅读说明:本技术 答案生成方法、装置、电子设备及存储介质 (Answer generation method and device, electronic equipment and storage medium ) 是由 彭德家 王唯康 于 2021-10-18 设计创作,主要内容包括:本申请涉及自然语言处理技术领域,公开了一种答案生成方法、装置、电子设备及存储介质,该方法包括:对第一文本序列进行编码处理,得到第一文本序列中各词的编码向量;根据第一文本序列中各词的编码向量和解码器网络在当前时间步的输出隐向量,确定第一文本序列中各词对应的注意力权值;根据第一文本序列中各词对应的注意力权值、解码器网络在当前时间步的输出隐向量和解码器网络在当前时间步的输入向量,确定第一概率分布;根据第一概率和第二概率,在预设词表和第一文本序列中确定当前时间步对应的答案词;本方案可以提高生成答案文本的准确度。本发明实施例可应用于云技术、人工智能、智慧交通等各种场景。(The application relates to the technical field of natural language processing, and discloses an answer generation method, an answer generation device, electronic equipment and a storage medium, wherein the answer generation method comprises the following steps: coding the first text sequence to obtain a coding vector of each word in the first text sequence; determining attention weights corresponding to the words in the first text sequence according to the coded vectors of the words in the first text sequence and the output hidden vectors of the decoder network at the current time step; determining a first probability distribution according to attention weights corresponding to words in the first text sequence, output hidden vectors of the decoder network at the current time step and input vectors of the decoder network at the current time step; according to the first probability and the second probability, determining answer words corresponding to the current time step in a preset word list and a first text sequence; the method and the device can improve the accuracy of generating the answer text. The embodiment of the invention can be applied to various scenes such as cloud technology, artificial intelligence, intelligent traffic and the like.)

答案生成方法、装置、电子设备及存储介质

技术领域

本申请涉及自然语言处理技术领域,更具体地,涉及一种答案生成方法、装置、电子设备及存储介质。

背景技术

随着人工智能技术的发展,作为人工智能技术的重要研究领域之一的自然语言处理技术的研究内容也越来越丰富,例如机器翻译、自动生成摘要、自动生成答案等。

相关技术中,自动生成答案主要是基于规则来生成问题文本的答案文本,首先,将用户输入的问题文本分词,然后根据已有的词表,选择其中的某个词语,然后依据设定的规则来对所选择的词做一些改变,例如“可以”在答案文本的极性为反向极性时变成“不可以”作为回答。实际中发现该种基于规则来自动生成答案的方法存在准确度不高的问题。

发明内容

鉴于上述问题,本申请实施例提出了一种答案生成方法、装置、电子设备及存储介质,以改善上述问题。

根据本申请实施例的一个方面,提供了一种答案生成方法,包括:对第一文本序列进行编码处理,得到所述第一文本序列中各词的编码向量,所述第一文本序列指示了问题文本;根据所述第一文本序列中各词的编码向量和解码器网络在当前时间步的输出隐向量,确定所述第一文本序列中各词在所述当前时间步对应的注意力权值;根据所述第一文本序列中各词在所述当前时间步对应的注意力权值、所述解码器网络在当前时间步的输出隐向量和所述解码器网络在当前时间步的输入向量,确定第一概率分布,所述第一概率分布用于指示所述当前时间步所对应答案词来自预设词表的第一概率和来自所述第一文本序列的第二概率;根据所述第一概率和所述第二概率,在所述预设词表和所述第一文本序列中确定所述当前时间步对应的答案词;所述答案词用于确定所述问题文本对应的答案文本。

根据本申请实施例的一个方面,提供了一种答案生成装置,包括:编码处理模块,用于对第一文本序列进行编码处理,得到所述第一文本序列中各词的编码向量,所述第一文本序列指示了问题文本;注意力权值确定模块,用于根据所述第一文本序列中各词的编码向量和解码器网络在当前时间步的输出隐向量,确定所述第一文本序列中各词在所述当前时间步对应的注意力权值;第一概率分布确定模块,用于根据所述第一文本序列中各词在所述当前时间步对应的注意力权值、所述解码器网络在当前时间步的输出隐向量和所述解码器网络在当前时间步的输入向量,确定第一概率分布,所述第一概率分布用于指示所述当前时间步所对应答案词来自预设词表的第一概率和来自所述第一文本序列的第二概率;答案词确定模块,用于根据所述第一概率和所述第二概率,在所述预设词表和所述第一文本序列中确定所述当前时间步对应的答案词;所述答案词用于确定所述问题文本对应的答案文本。

在本申请的一些实施例中,第一概率分布确定模块,包括:上下文向量确定单元,用于根据所述第一文本序列中各词所对应的编码向量和所述第一文本序列中各词在所述当前时间步对应的注意力权值,确定所述当前时间步对应的上下文向量;第一拼接单元,用于将所述当前时间步对应的上下文向量、所述解码器网络在当前时间步的输出隐向量和所述解码器网络在当前时间步的输入向量进行拼接,得到第一拼接向量;第一概率确定单元,用于对所述第一拼接向量进行变换处理,得到所述第一概率;第二概率确定单元,用于根据所述第一概率确定所述第二概率,其中,所述第一概率与所述第二概率的和为1。

在本申请的一些实施例中,上下文向量确定单元,进一步被配置为:以所述第一文本序列中各词在所述当前时间步对应的注意力权值作为所对应词的加权系数,对所述第一文本序列中全部词的编码向量进行加权处理,得到所述当前时间步对应的上下文向量。

在本申请的一些实施例中,答案生成装置,还包括:输入向量获取单元,用于获取所述解码器网络在当前时间步的输入向量,其中,所述解码器网络在当前时间步的输入向量包括所述解码器网络在上一时间步的输出隐向量,所述解码器网络在首个时间步的输入向量包括开始标签对应的隐向量;输出隐向量输出单元,用于由所述解码器网络根据所述当前时间步的输入向量进行处理,输出所述当前时间步的输出隐向量。

在本申请的一些实施例中,答案词确定模块,包括:第二概率分布获取单元,用于获取第二概率分布,所述第二概率分布用于指示预设词表中各词是所述当前时间步所对应答案词的参考概率;加权处理单元,用于根据所述第一概率和所述第二概率,对所述第二概率分布和所述第一文本序列中各词在当前时间步对应的注意力权值进行加权处理,确定目标概率分布,所述目标概率分布用于指示所述预设词表和所述第一文本序列中各词是所述当前时间步所对应答案词的目标概率;筛选单元,用于根据所述目标概率,在所述预设词表和所述第一文本序列中筛选,确定所述当前时间步对应的答案词。

在本申请的一些实施例中,第二概率分布获取单元,包括:第二拼接单元,用于将所述当前时间步对应的上下文向量与所述解码器网络在当前时间步的输出隐向量进行拼接,得到第二拼接向量;第一线性变换单元,用于对所述第二拼接向量进行线性变换,并基于线性变换的结果进行概率预测,得到所述第二概率分布。

在本申请的一些实施例中,注意力权值确定模块,包括:第三拼接单元,用于将所述第一文本序列中的每个词的编码向量分别与所述解码器网络在当前时间步的输出隐向量进行拼接,得到所述第一文本序列中每个词对应的第三拼接向量;第二线性变换单元,用于将每个所述第三拼接向量进行线性变换,得到所述第一文本序列中每个词对应的中间变换向量;激活处理单元,用于对每一所述中间变换向量进行激活处理,得到所述第一文本序列中每个词对当前时间步所对应答案词的初始注意力权值;归一化处理单元,用于对每一所述初始注意力权值进行归一化处理,得到所述第一文本序列中每个词在所述当前时间步对应的注意力权值。

在本申请的一些实施例中,编码处理模块,进一步被配置为:通过编码器网络对所述第一文本序列进行双向编码,得到所述第一文本序列中各词的编码向量。

在本申请的一些实施例中,答案生成装置还包括:第一文本拼接模块,用于将所述问题文本与所述问题文本对应的答案极性进行文本拼接,得到所述第一文本序列。

在本申请的另一些实施例中,答案生成装置还包括:第二文本拼接模块,用于将所述问题文本、所述问题文本对应的答案极性、所述问题文本对应的答案依据文本进行文本拼接,得到所述第一文本序列。

在本申请的一些实施例中,答案生成装置还包括:关联模块,用于将所述问题文本、所述问题文本对应的答案极性和所述问题文本对应的答案文本进行关联,得到问答对;存储模块,用于将所述问答对存储至问答数据库。

在本申请的一些实施例中,答案生成装置还包括:搜索请求接收模块,用于接收搜索请求,所述搜索请求指示了目标问题;问题匹配模块,用于根据所述目标问题在所述问答数据库中进行问题匹配,确定问题文本与所述目标问题相匹配的目标问答对;返回模块,用于将所述目标问答对中的答案文本返回至所述搜索请求的发起方。

根据本申请实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上所述答案生成方法。

根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上所述答案生成方法。

根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上所述答案生成方法。

在本方案中,根据第一文本序列中各词对当前时间步所对应答案词的注意力权值、以及解码器网络在当前时间步的输出隐向量和解码器网络在当前时间步的输入向量来确定当前时间步所对应答案词来源于预设词表的第一概率和当前时间步所对应答案词来源于第一文本序列的第二概率,并基于第一概率和第二概率来从预设词表和第一文本序列中确定当前时间步所对应答案词,进而基于答案词确定第一文本序列所指示问题文本对应的答案文本;在该方案中,发明人意识到针对问题文本的答案来源于问题文本的概率较高的特点,从而,基于第一概率和第二概率所确定的答案词进而生成答案文本的方式,增强了答案文本与问题文本之间的关联,有效提高了所生成答案文本的准确性。而且,在预设词表和第一文本序列中来确定答案词,扩大了答案词的范围,特别是问题文本中存在未登录词的情况下,本方案可以实现从问题文本中进行词复制作为答案词,进而可以有效缓解未登录词的问题,可以解决因未登录词所导致答案文本的准确度不高的问题。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本申请一实施例示出的本方案的应用场景的示意图。

图2是根据本申请的另一些实施例示出的应用场景的示意图。

图3是根据本申请的一个实施例示出的答案生成方法的流程图。

图4是根据本申请一实施例示出的步骤330的流程图。

图5是根据本申请一实施例示出的步骤340的流程图。

图6是根据本申请一实施例示出的步骤320的流程图。

图7是根据本申请一实施例示出的答案生成方法的流程示意图。

图8是根据本申请一实施例示出的构建问答数据库的示意图。

图9是根据本申请另一实施例示出的答案生成方法的流程图。

图10是根据本申请一实施例示出的答案生成装置的框图。

图11示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

在具体说明之前,对本申请涉及的术语进行如下说明:

端到端神经网络(Seq2Seq,Sequence-to-Sequence):其包括编码器网络和解码器网络,编码器网络将输入序列编码为向量表示,解码器网络负责对输入序列的向量表示进行解码,得到输出序列。在自然语言处理(Nature Language processing,NLP)中,编码器网络的输入序列可以是文本序列,解码器网络的输出序列也是文本序列。其中,解码器网络是基于编码器网络的输出逐个确定文本序列中的词,换言之,解码器网络是逐个确定文本序列中的词,将解码器网络确定一个词的过程称为一个时间步。

长短时记忆网络(Long Short Term Memory Network,LSTM):是循环神经网络(Recurrent Neural Network,RNN)的一种变体,其解决了传统循环神经网络无法处理长距离的依赖问题(循环神经网络只有隐藏状态,使得循环神经网络对于短期内的输入变得十分的敏感),使用LSTM可以更好的捕捉到较长距离的依赖关系,因为LSTM通过训练过程可以学到记忆哪些信息和遗忘哪些信息。通过LSTM可以捕获每个时间步的隐含表征(隐向量)。

双向长短时记忆网络(Bi-directional Long Short-Term Memory,BiLSTM):由前向LSTM与后向LSTM组合而成,利用BiLSTM可以对文本序列进行双向编码(即编码从前到后的信息,和编码从后到前的信息),以更好地捕捉文本序列中双向的语义依赖。

是否类问题:又可以称为判断类问题,其一般是事实问题,可以用例如“是”、“不是”等短答案来回答的问题。例如,“地球是绕着太阳公转吗”这一问题为是否类问题。

答案极性:用于指示答案为正向还是反向,因此,答案极性包括指示答案为正向的正向极性和指示答案为反向的反向极性,进一步的,答案极性还可以包括指示答案极性不确定的不确定极性。举例来说,问题文本“地球是绕着太阳公转吗”的答案是“地球是绕着太阳公转”,该答案是肯定的,即该答案是正向的,因此,其答案极性为正向极性。

未登录词:是指没有被收录在词表中但必须切分出来的词,包括各类专有名词(人名、地名、企业名等)、缩写词、新增词汇等等。

复制机制:在本方案中是指通过给问题文本中的词分配概率,以从答案文本中复制词作为答案文本中的答案词,来缓解未登录词的问题。

图1是根据本申请一实施例示出的本方案的应用场景的示意图,如图1所示,该应用场景包括终端110和服务端120,终端110可以通过有线或者无线网络与服务端120进行通信连接。终端110可以是智能手机、平板电脑、笔记本电脑、台式电脑、智能音响、车载终端以及其他可以与用户进行交互的电子设备,在此不进行具体限定。

服务端120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。

终端110可以运行第一应用程序,该第一应用程序可以是知识问答程序、搜索应用程序、或者集成了搜索引擎的应用程序、以及其他可以向服务端发送问题文本的应用程序。用户可以基于第一应用程序,向服务端120发送问题文本,在本方案中,终端110还向服务端发送问题文本对应的答案极性。例如图1中,终端110可以将第一用户界面111上所显示的问题文本A1以及问题文本A1对应的答案极性B1、问题文本A2以及问题文本A2对应的答案极性B2发送到服务端120,由服务端120按照本申请的方法自动生成问题文本对应的答案文本。在其他实施例中,终端110可以是仅向服务端120发送问题文本,由服务端根据该问题文本来自动生成答案文本。

服务端120采用自然语言处理技术对问题文本、以及问题文本对应的答案极性进行处理,来生成问题文本对应的答案文本。自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

在一些实施例中,问题文本对应的答案极性可以是用户标注的,例如用户在输入问题文本后,选择问题文本对应的答案极性。在一些实施例中,第一应用程序中提供了答案极性的选择选项,该选择选项可以包括指示答案极性是正向的第一选择选项和指示答案极性是反向的第二选择选项。在另一些实施例中,选择选项除了包括以上所列举的两种外,还可包括指示极性不确定的第三选择选项。

在一些实施例中,问题文本对应的答案极性还可以是预先标注的,即预先将问题文本与所标注的答案极性关联存储于问题文本库中,从而,用户可以从问题文本库中选取问题文本,并将所选取的问题文本,以及所选取的问题文本对应的答案极性发送到服务端120。

在一些实施例中,问题文本库还可以设于服务端120,从而,服务端120可以从问题文本库中提取问题文本,并根据问题文本与问题文本对应的答案极性按照本申请的方法生成该问题文本对应的答案文本。

在一些实施例中,服务端120还可以基于问题文本、问题文本的对应的答案极性、为问题文本所生成的答案文本构建问答数据库121。具体的,将问题文本、问题文本对应的答案极性、以及所对应的答案文本关联存储为一问答对,并将问答对添加到问答数据库121中。在此基础上,服务端120可以基于所构建的问答数据库121为终端110提供问答服务。

在一些实施例中,为了保证数据库121中问答对中答案文本的准确性,在服务端120生成问题文本对应的答案文本后,将由问题文本、问题文本对应的答案极性、以及所对应的答案文本组成的问答对发送到终端110,并在终端110中显示,从而,用户可以基于问答对,检查问题文本对应的答案文本是否准确,如果答案文本不准确,用户可以对问答对中的答案文本进行修改,得到修改后的问答对。之后,终端110将修改后的问答对发送到服务端120,以使服务端120将修改后的问答对存储到问答数据中。

在一些实施例中,终端110可以向服务端120发送搜索请求,该搜索请求指示了目标问题。例如图1中,用户可以在终端110的第二用户界面112中输入目标问题I,然后基于所输入的文本问题I向服务端120发送搜索请求。服务端120在接收到搜索请求后,将搜索请求所指示的目标问题与问答数据库中问答对中的问题文本进行语义匹配,确定问题文本与目标问题语义匹配的目标问答对,然后将目标问答对中的答案文本返回到终端110,作为对终端110所发送搜索请求的搜索结果,例如图1中,当在第二用户界面112中输入目标问题I,服务端120在完成问题文本匹配后,向终端110返回针对目标问题I的答案文本。

图2是根据本申请的另一些实施例示出的应用场景的示意图。如图2所示,该应用场景包括问答机器人130和服务端120,问答机器人130通过有线或者无线网络与服务端120通信连接,该问答机器人130可以设于商场、游乐场、酒店、公园、银行、医院等场所,以提供及时的问答服务。

在一些实施例中,用户可以与问答机器人130进行语音交互,例如用户进行语音提问,该问答机器人在接收到语音信号后,可以进行语音转文本识别,从而确定文本的提问问题。当然,用户还可以问答机器人130的用户交互界面上进行文本输入,得到文本的提问问题。

基于服务端120中所构建的问答数据库,问答机器人130在获取到用户的提问问题后,将提问问题发送到服务端120,由服务端120在问答数据库中进行问题匹配,确定问题文本与提问问题语义相匹配的目标问答对,并提取目标问答对中的目标答案文本,并将目标答案文本返回到问答机器人130,由问答机器人130将该目标问答文本作为答案向用户回复。

在一些实施例中,问答机器人130可以在显示界面上显示目标问答文本,还可以将目标问答文本进行语音播报。

在一些实施例中,在问答机器人130处理能力足够的情况下,还可以将问答数据库同步到问答机器人130,从而,问答机器人130可以在获取到用户的问题后,由问答机器人130在问答数据库中进行问题语义匹配,确定与问题文本与用户所提问题语义相匹配的目标问答对,并提取目标问答对中的目标答案文本,然后将目标问答文本作为答案向用户进行回复。

本申请实施例提供的方案涉及人工智能的自然语言处理技术,通过如下实施例进行详细阐述:

图3是根据本申请的一个实施例示出的答案生成方法的流程图,该方法可以由具备处理能力的计算机设备执行,例如服务器、终端设备等,在此不进行具体限定。参照图3所示,该方法至少包括步骤310至340,详细介绍如下:

步骤310,对第一文本序列进行编码处理,得到所述第一文本序列中各词的编码向量,所述第一文本序列指示了问题文本。

在一些实施例中,第一文本序列可以是由问题文本中的词按照在问题文本序列中的顺序进行排列得到。

在阅读理解的场景下,当问题文本所表示的问题是基于段落中的记载内容提出,而该问题文本对应的答案也是来源于该段落中,则该段落中反映该问题文本对应的答案的文本可以视为该问题文本对应的答案依据文本。即问题文本对应的答案依据文本是指问题文本对应的答案所依据的文本内容。

在一些实施例中,为了提供更多生成答案的信息,还可以将问题文本对应的答案依据文本也作为生成答案的数据基础。在该种情况下,第一文本序列可以是将问题文本与该问题文本对应的答案依据文本进行文本拼接得到的。在具体实施例中,为了便于区分问题文本和答案依据文本,该第一文本序列中还可以包括用于分隔问题文本与答案依据文本的分隔符。

在一些实施例中,为了使针对问题文本所生成的答案具有可解释性,还可以将问题文本对应的答案极性也作为生成答案的数据基础。在一些实施例中,步骤310之前,该方法还包括:将所述问题文本与所述问题文本对应的答案极性进行文本拼接,得到所述第一文本序列。进一步的,为了便于区分问题文本中的词和表示答案极性中的词,还可以在问题文本与答案极性中添加分隔符,从而,第一文本序列中还包括问题文本与答案极性之间的分隔符。

举例来说,若问题文本为(),其中,表示问题文本中的第个词,M为问题文本中词的总数量。该问题文本对应的答案极性为,则第一文本序列可以为:;其中,[SEP]为分隔符。

问题文本对应的答案极性用于指示该问题文本所对应答案的极性,在一些实施例中,答案的极性可以包括指示答案为正向的正向极性、指示答案为反向的反向极性;在另一些实施例中,答案的极性除了包括正向极性和反向极性外,还可以包括不确定极性,该不确定极性用于指示问题文本的答案极性不确定。

举例来说,若问题文本为“地球是绕太阳公转吗”,该问题文本对应的答案是肯定的,即为“是”,从而,该问题文本对应的答案极性为正向极性;又例如,若问题文本为“6月份一共有31天吗”,该问题文本对应的答案是否定的,即为“不是”,从而,该问题文本对应的答案极性为反向极性。又例如,“2月份有29号吗”,在不同年份下该问题文本对应的答案不同(存在答案为肯定的情况,也存在答案为否定的情况),从而,该问题文本对应的答案极性是不确定极性。

在一些实施例中,问题文本对应的答案极性可以由用户对该问题文本进行标注得到,即由知晓问题文本的答案的用户根据该问题文本的答案来标注答案极性,得到该问题文本对应的答案极性。

在一些实施例中,本方案中的答案生成任务可以作为机器阅读模型(Machinereading Comprehension,MRC)的下游任务,该机器阅读模型可以从提供的阅读文本中抽取问题文本对应的答案依据文本,并为问题文本生成指示该问题文本所对应答案极性的极性标签。可以理解的是,所抽取的答案依据文本指示了问题文本应的答案,因此,该机器阅读模型可以根据是抽取的答案依据文本和问题文本来生成指示该问题文本所对应答案极性的极性标签。之后,机器阅读模型为问题文本所抽取的答案依据文本和极性标签可以用到本方案中,作为生成答案文本的数据基础。在一些实施例中,该机器阅读模型可以是Bertfor MRC模型。

在一些实施例中,还可以将问题文本、问题文本对应的答案极性、以及问题文本对应的答案依据文本均作为生成答案的数据基础。在一些实施例中,步骤310之前,该方法还包括:将所述问题文本、所述问题文本对应的答案极性、所述问题文本对应的答案依据文本进行文本拼接,得到所述第一文本序列。进一步的,为了便于区分问题文本、答案极性、以及答案依据文本,还可以在相邻两者(例如问题文本与答案极性之间、答案极性与答案依据文本之间)添加分隔符,从而,第一文本序列中还包括所添加的分隔符。

继续上文的举例,若问题文本()对应的答案依据文本为(),其中,表示答案依据文本中的第个词;N为答案依据文本中词的总数量。基于问题文本、问题文本对应的答案极性、问题文本对应的答案依据文本所得到的第一文本序列可以为:;其中,[SEP1]和[SEP2]为分隔符。

在本申请的方案中,问题文本表征的问题可以归属于是否类问题(即判断类问题),如上所描述,是否类问题,一般而言可以通过“是”或者“不是”等短答案作为回复,但是,在实际中,若通过“是”或者“不是”这种短答案来回复,会导致针对问答文本的答案的形式单一,因此,可以通过本申请的方案来为是否类问题生成更丰富和多样的答案文本。

在本申请的一些实施例中,步骤310,包括:通过编码器网络对所述第一文本序列进行编码,得到所述第一文本序列中各词的编码向量。

在一些实施例中,编码器网络可以是长短时记忆网络(Long Short Term MemoryNetwork,LSTM),使用LSTM可以更好的捕捉到较长距离文本中词与词之间的依赖关系,因为LSTM通过训练过程可以学到记忆哪些信息和遗忘哪些信息。

在一些实施例中,编码器网络可以是双向长短时记忆网络(Bi-directional LongShort-Term Memory,BiLSTM),BiLSTM是由前向LSTM与后向LSTM组合而成,利用BiLSTM来对第一文本序列进行双向编码(即编码从前到后的信息,和编码从后到前的信息),从而可以更好地捕捉文本中双向的语义依赖。

在编码器网络为长短时记忆网络,或者为双向长短时记忆网络的情况下,长短时记忆网络、或者双向长短时记忆网络针对第一文本序列中的词所输出的隐向量,可以视为该词的编码向量。长短时记忆网络或者双向长短时记忆网络所输出的隐向量指示了所对应词的隐含表征。

在一些实施例中,编码器网络还可以是转换器网络中的编码器,转换器网络又称为Transformer模型,该转换器网络中的编码器中设有注意力层,输入编码器中的文本序列会先经过该注意力层,通过注意力层帮助编码器在对每个单词编码时关注输入文本中的其他词。

值得一提的是,以上所列举的编码器网络仅仅是示例性举例,不能认为是对本申请使用范围的限制,在其他实施例中,编码器网络还可以是其他用于文本序列编码的神经网络,例如门控循环神经网络等。

步骤320,根据所述第一文本序列中各词的编码向量和解码器网络在当前时间步的输出隐向量,确定所述第一文本序列中各词在当前时间步对应的注意力权值。

解码器网络用于根据第一文本序列中各词的编码向量进行解码处理,得到输出隐向量,该输出隐向量用于确定所对应时间步的答案词。答案词是指答案文本中的词。在生成答案文本的过程中,为了保证答案文本中词与词之间的依赖关系,答案文本中的答案词是按时间步生成的。

对应的,对于解码器网络而言,其也对应按照时间步来输出各个时间步的输出隐向量,以保证当前时间步的输出隐向量用于确定对应于当前时间步的答案词。即,解码器网络逐个确定答案文本中的答案词所对应输出隐向量,将确定一个答案词的过程称为一个时间步。由于解码器网络是按照答案词在答案文本中的排布顺序来确定答案词所对应输出隐向量,因此,解码器网络在时间步t(或者第t时间步,其中,t≥1,t为正整数)所输出的输出隐向量是对应于答案文本中的第t个词。

在一些实施例中,该解码器网络可以是长短时记忆网络,具体的,该解码器网络可以是一层或者多层长短时记忆网络,在此不进行具体限定。在一些实施例中,该解码器网络还可以是转换器网络(Transformer模型)中的解码器。当然,在其他实施例中,该解码器网络还可以是其他用于进行文本解码的的神经网络,在此不进行具体限定。

在本申请的一些实施例中,步骤320之前,该方法还包括:获取所述解码器网络在当前时间步的输入向量,其中,所述解码器网络在当前时间步的输入向量包括所述解码器网络在上一时间步的输出隐向量,所述解码器网络在首个时间步的输入向量包括开始标签对应的隐向量;由所述解码器网络根据所述当前时间步的输入向量进行处理,输出所述当前时间步的输出隐向量。

在一些实施例中,开始标签对应的隐向量可以是将该开始标签对应的嵌入向量输入到解码器网络(例如单层的LSTM),由解码器网络根据开始标签对应的嵌入向量输出该开始标签对应的隐向量。其中,开始标签对应嵌入向量可以是通过共享的嵌入(Embedding)层来生成。

在一些实施例中,若编码器网络为基于长短时记忆网络构建的,该编码器网络在每个时间步下的输入除了包括该解码器网络在上一时间步的输出隐向量外,还包括上一时间步输出的细胞单元向量,从而,编码器网络基于上一时间步的输出隐向量和上一时间步的细胞单元向量进行处理,得到当前时间步的输出隐向量和当前时间步的细胞单元向量;重复该过程,该解码器网络可以对应输出各个时间步对应的输出隐向量。

在一些实施例中,解码器网络在首个时间步所输入的细胞单元向量可以是编码器网络在编码过程中的最后一个时间步所输出的细胞单元向量,其中,编码器网络在编码过程中的最后一个时间步所输出的细胞单元向量表示了第一文本序列的编码信息。

在一些实施例中,该解码器网络在当前时间步所输出的输出隐向量可以表征当前时间步所对应的答案词的低维度的向量表示,也可以理解为,当前时间步所输出的输出隐向量指示了当前时间步所对应答案词的语义,而最终当前时间步所输出的答案词是与解码器网络在当前时间步所输出的输出隐向量相关的。

第一文本序列中各词在当前时间步对应的注意力权值用于表征为确定当前时间步的答案词为第一序列文本中各词所分配的注意力。可以理解的是,答案文本中的答案词是基于第一文本序列中的词来确定的,而第一文本序列中的各词对于答案文本中的不同答案词的贡献程度是不同的,因此,第一文本序列中各词在不同时间步所对应的注意力权值也存在差异。因此,在本方案中,按照确定答案词的时间步,来对应确定第一文本序列中各词在对应时间步的注意力权值。

可以理解的是,由于第一文本序列中各词对各个时间步的答案词的贡献程度存在差异,因此,在生成答案词的各个时间步中,均需要按照上述步骤320,结合根据所述第一文本序列中各词的编码向量和解码器网络在每个时间步的输出隐向量,来针对性确定所述第一文本序列中各词在每个时间步的注意力权值,保证所确定注意力权值准确反映对每个时间步的答案词的贡献程度。

步骤330,根据所述第一文本序列中各词在当前时间步对应的注意力权值、所述解码器网络在当前时间步的输出隐向量和所述解码器网络在当前时间步的输入向量,确定第一概率分布,所述第一概率分布用于指示所述当前时间步所对应答案词来自预设词表的第一概率和来自所述第一文本序列的第二概率。

本方案的发明人意识到,问题文本对应的答案来源于问题文本中词的概率较高,特别是对于归属于是否类问题的问题文本。是否类问题一般为事实类问题,针对归属于是否类问题的问题文本的答案,如果针对问题文本的答案文本是以肯定的方式来陈述问题文本所对应的事实,则该问题文本对应的答案文本中的词(即下文中的答案词)来源于该问题文本的概率较高。基于此考虑,为了提升针对问题文本所生成答案文本的准确性、多样性与丰富性,而不是以“是”、“不是”这样单一的短答案作为问题文本的答案,通过计算答案词来源于第一文本序列的第二概率,以及计算答案词来源于预设词表的第一概率,进而结合第一概率和第二概率,来判断是否直接从第一文本序列中进行词复制,作为答案文本中的答案词。

同理,由于问题文本对应的答案来源于该答案依据文本,则该问题文本对应的答案文本中的词来源于该答案依据文本的概率较高,因此,将问题文本对应的答案依据文本也作为生成该问题文本对应的答案文本的数据基础的情况下,也可以从问题文本所对应答案依据文本中复制词作为答案文本中的词。

预设词表可以根据实际需要进行设定,在此不进行具体限定。在一些实施例中,为了保证该预设词表中的词与问答场景之间的相关性,可以基于场景所对应的技术领域中的技术文本资料来构建该预设词表,举例来说,若问答场景是医疗技术领域的问答,则可以根据医疗技术领域中的技术文本资料来进行分词,并构建该预设词表。

在一些实施例中,由于即使是不同技术领域,也存在通用的词,因此,可以在通用词表的基础上,将通用词表中的词添加到预设词表中,然后结合问答场景所对应技术领域下的技术文本资料来进一步向预设词表中添加相关技术领域中的词。通过根据问答场景所对应的技术领域来针对性构建预设词表,从而可以保证在生成答案的过程中,从预设词表中所提取作为答案词与问题文本的相关性,进而保证所生成答案文本的准确性。

在本申请的一些实施例中,如图4所示,步骤330,包括:

步骤410,根据所述第一文本序列中各词所对应的编码向量和所述第一文本序列中各词在当前时间步对应的注意力权值,确定所述当前时间步对应的上下文向量。

在本申请的一些实施例中,步骤410,包括:以所述第一文本序列中各词在当前时间步对应的注意力权值作为所对应词的加权系数,对所述第一文本序列中全部词的编码向量进行加权处理,得到所述当前时间步对应的上下文向量。

换言之,若第一文本序列中第个词对应的编码向量为,第一文本序列中第个词在当前时间步(假设当前时间步为时间步t)的注意权值为,则时间步t对应的上下文向量可以为:

;(公式1)

步骤420,将所述当前时间步对应的上下文向量、所述解码器网络在当前时间步的输出隐向量和所述解码器网络在当前时间步的输入向量进行拼接,得到第一拼接向量。

步骤430,对所述第一拼接向量进行变换处理,得到所述第一概率。

在一些实施例中,可以由线性网络层(又称为全连接层)来对第一拼接向量进行线性变换,输出第一概率。

步骤440,根据所述第一概率确定所述第二概率,其中,所述第一概率与所述第二概率的和为1。

在本方案中,答案文本中的答案词要么来源于第一文本序列,要么来源于预设词表,因此,设定第一概率与第二概率的和为1,当确定第一概率后,1与第一概率的差即为第二概率。

请继续参阅图3,步骤340,根据所述第一概率和所述第二概率,在所述预设词表和所述第一文本序列中确定所述当前时间步对应的答案词;所述答案词用于确定所述问题文本对应的答案文本。

由于第一概率指示了当前时间步所对应答案词来自预设词表的概率;第二概率指示了当前时间步所对应答案词来自第一文本序列的概率,从而,可以基于第一概率和第二概率来进一步计算第一文本序列中的词和预设词表中的每个词为当前时间步所对应答案词的目标概率,然后基于目标概率在预设词表和第一文本序列中确定当前时间步对应的答案词。

可以理解的是,第一文本序列与预设词表中可能存在相同的词,例如一词(假设为词P)即存在于第一文本序列中,又存在于预设词表中,则在计算该词P为当前时间步所对应的目标概率,需要同时结合第一概率和第二概率来计算。

在本申请的一些实施例中,如图5所示,步骤340,包括:

步骤510,获取第二概率分布,所述第二概率分布用于指示预设词表中各词是所述当前时间步所对应答案词的参考概率。

在一些实施例中,步骤510,包括:将所述当前时间步对应的上下文向量与所述解码器网络在当前时间步的输出隐向量进行拼接,得到第二拼接向量;对所述第二拼接向量进行线性变换,并基于线性变换的结果进行概率预测,得到所述第二概率分布。

在一些实施例中,可以由一层或者多层线性网络层来对第二拼接向量进行线性变换,进而输出第二概率分布。线性网络层,又称为全连接网络层,线性网络层中的每个神经元与上一神经网络层中的所有神经元相连,从而实现对上一神经网络层的输出进行线性变换。

在一些实施例中,在由多层线性网络层来对第二拼接向量进行线性变换的情况下,为了避免在多层线性网络层中出现梯度消失的问题,还可以在多层线性网络层中设置激活层,由激活层中所设置的激活函数来进行激活处理。举例来说,可以先通过一层线性网络层来对第二拼接向量进行线性变换,然后由激活层来对上一线性网络层的输出进行激活处理,之后由另一线性网络层来对激活层的输出进行线性变换,输出第二概率分布。

在一些实施例中,直接输出第二概率分布的线性网络层的输出维度是与预设词表中的词的数量相同的,从而,该线性网络层的一个输出维度唯一表示一词为当前时间步所对应答案词的概率。

步骤520,根据所述第一概率和所述第二概率,对所述第二概率分布和所述第一文本序列中各词在当前时间步对应的注意力权值进行加权处理,确定目标概率分布,所述目标概率分布用于指示所述预设词表和所述第一文本序列中各词是所述当前时间步所对应答案词的目标概率。

具体的,在步骤520中,将第一概率作为第二概率分布项的加权系数,将第二概率作为第一文本序列中各词在当前时间步对应的注意力权值项的加权系数,将所述第二概率分布和所述第一文本序列中各词在当前时间步对应的注意力权值进行加权,得到目标概率分布。

在一些实施例中,可以将第一文本序列中的词在当前时间步对应的注意力权值视为该第一文本序列中的词为当前时间步所对应答案词的参考概率,因此,若一词P1仅存在于第一文本序列中,预设词表中不包括该词P1,则该词P1为当前时间步所对应答案词的目标概率等于第二概率与该词P1为当前时间步所对应答案词的参考概率的乘积;同理,若一词P2仅存在于预设词表中,第一文本序列中不包括该词P2,则该词P2为当前时间步所对应答案词的目标概率可以等于第一概率与第二概率分布所指示该词P2对应的参考概率的乘积;若一词P3不仅位于第一文本序列中,而且存在与预设词表中,则该词P3为当前时间步所对应答案词的目标概率等于第一目标概率与第二目标概率的和,其中,第一目标概率等于第二概率与该词P3对当前时间步所对应答案词的注意权重的乘积;第二目标概率等于第一概率与第二概率分布所指示该词P3对应的参考概率的乘积。

步骤530,根据所述目标概率,在所述预设词表和所述第一文本序列中筛选,确定所述当前时间步对应的答案词。

通过步骤520可以计算得到预设词表和所述第一文本序列中每个词是当前时间步所对应答案词的目标概率,在此基础上,可以将第一文本序列和预设词表中所对应目标概率最高的词,确定为当前时间步对应的答案词。

在生成当前时间步所对应的答案词之后,可以重复上述步骤320-340的过程,得到每个时间步对应的答案词,直至生成结束标志(其中,结束标志可以是[END])或者所生成的答案词的数量达到预设的文本长度阈值,则停止生成答案词。之后,按照时间步的先后顺序,组合全部时间步所对应的答案词,得到所述问题文本对应的答案文本。

在本方案中,根据第一文本序列中各词对当前时间步所对应答案词的注意力权值、以及解码器网络在当前时间步的输出隐向量和解码器网络在当前时间步的输入向量来确定当前时间步所对应答案词来源于预设词表的第一概率和当前时间步所对应答案词来源于第一文本序列的第二概率,并基于第一概率和第二概率来从预设词表和第一文本序列中确定当前时间步所对应答案词,进而基于答案词确定第一文本序列所指示问题文本对应的答案文本;在该方案中,发明人意识到针对问题文本的答案来源于问题文本的概率较高的特点,从而,基于第一概率和第二概率所确定的答案词进而生成答案文本的方式,增强了答案文本与问题文本之间的关联,有效提高了所生成答案文本的准确性。而且,在预设词表和第一文本序列中来确定答案词,扩大了答案词的范围,特别是问题文本中存在未登录词的情况下,本方案可以实现从问题文本中进行词复制作为答案词,从而,可以有效缓解未登录词的问题,可以解决因未登录词对答案文本的准确度的影响。

基于本方案在答案生成过程中所引入的复制机制(即从第一文本序列中复制词作为答案词),会使得生成的答案文本和问题文本之间的关系更加紧密,从而提高了答案的稳定性。

进一步的,本方案可以适用于为是否类问题的问题文本生成答案文本,相关技术中针对是否类问题的问题文本所生成的答案一般“是”或“不是”等短文本,所生成的答案形式单一,而如果按照本方案来生成是否类问题对应的答案文本,可以有效利用是否类问题一般为事实问题的特点,有效利用问题文本中的词来生成答案文本,可以丰富所生成答案文本的形式,保证答案文本的多样性。在本方案中,若第一文本序列中包括问题文本对应的答案极性,还可以兼顾所生成答案文本的可解释性。

在本申请的一些实施例中,如图6所示,步骤320,包括:

步骤610,将所述第一文本序列中的每个词的编码向量分别与所述解码器网络在当前时间步的输出隐向量进行拼接,得到所述第一文本序列中每个词对应的第三拼接向量。

步骤620,将每个所述第三拼接向量进行线性变换,得到所述第一文本序列中每个词对应的中间变换向量。

在一些实施例中,可以通过线性网络层来对每个第三拼接向量进行线性变换。为便于区分,将用于对第三拼接向量进行线性变换的线性网络层称为第三线性网络层。同理,在步骤620中,可以通过一层或者多层第三线性网络层来对第三拼接向量进行线性变换。

步骤630,对每一所述中间变换向量进行激活处理,得到所述第一文本序列中每个词对当前时间步所对应答案词的初始注意力权值。

在一些实施例中,可以通过激活层来对每一中间变换向量进行激活处理。其中,激活层中设有的激活函数,具体通过激活层中的激活函数来对每一中间变换向量进行激活处理。在一些实施例中,激活函数可以是双曲正切函数(即tanh函数)。

步骤640,对每一所述初始注意力权值进行归一化处理,得到所述第一文本序列中每个词对当前时间步所对应答案词的注意力权值。

在一些实施例中,可以通过softmax函数来对每一初始注意力权值进行归一化处理,将归一化处理后的结果作为所对应词对当前时间步所对应答案词的注意力权值。

通过如上步骤610-640,实现了根据第一文本序列中每个词的编码向量以及解码器网络在当前时间步的输出隐向量来计算第一文本序列中每个词对当前时间步所对应答案词的注意力权值。

图7是根据本申请一实施例示出的答案生成方法的流程示意图。在图7所示实施例中,答案生成模型包括编码器网络、解码器网络、生成网络和复制网络、目标概率输出层和答案文本输出层。该答案生成模型为一种端到端神经网络,来针对问题文本确定答案文本。

其中,编码器网络可以是BiLSTM,若第一文本序列为问题文本()与该问题文本所对应的答案极性进行文本拼接得到,则第一文本序列为:,则通过BiLSTM对第一文本序列中的各个词进行编码可以表示为:

;(公式2)

H为第一文本序列中全部词的编码向量(即图7中编码器网络的隐向量)所构成的编码矩阵,其中,,其中,为单层LSTM隐含层的维度。

在图7所示实施例中,解码器网络可以是一层LSTM网络,假设解码器网络在时间步t的输出隐向量为

生成网络用于预测第二概率分布,具体的,生成网络可以包括级联的第一线性网络层、第一激活层、第二线性网络层、第二激活层、加权处理层、第三线性网络层、第四线性网络层和第三激活层。

具体的,将将第一文本序列中各词的编码向量与解码器网络在当前时间步的输出隐向量进行拼接后,输入到第一线性网络层中进行线性变换,然后通过第一激活层对第一线性网络层的输出进行激活处理,其中,第一激活层中设置的激活函数为双曲正切函数;再由第二线性网络层对第一激活层的输出进行线性变换,该第二线性网络层输出第一文本序列中每个词对当前时间步所对应答案词的初始注意力权值;之后由第二激活层对第二线性网络层的输出进行归一化处理,得到第一文本序列中每个词对当前时间步所对应答案词的注意力权值,其中,第二激活层中设置的激活函数为softmax函数。该过程可以通过如下公式(3)和(4)描述:

;(公式3)

;(公式4)

其中,表示第一文本序列中第个词的编码向量,为第一线性网络层的权重参数,为第一线性网络层的偏置参数,可通过训练确定;为第二线性网络层的权重参数,可通过训练确定;为第一文本序列中第个词在时间步的初始注意力权值;为第一文本序列中第个词在时间步的注意力权值(即对初始注意力权值进行归一化后的值)。

在得到后,由加权处理层将第一文本序列中词的编码向量和第一文本序列中第个词对时间步所对应答案词的注意力权值进行加权处理,得到时间步下的上下文向量;该过程可以通过如上公式(1)描述:

;(公式1)

之后,将解码器网络在时间步t的输出隐向量为与时间步下的上下文向量进行拼接,得到第二拼接向量;然后,将第二拼接向量输入第三线性网络层进行线性变换,再由第四线性网络层对第三线性网络层的输出进行线性变换,再由第三激活层根据第四线性网络层的输出进行概率预测,输出第二概率分布,其中,第三激活层中设置的激活函数为函数;该过程可通过如下公式(5)描述:

;(公式5)

其中,为第三线性网络层的权重参数,为第三线性网络层的偏置参数;为第四线性网络层的权重参数,为第四线性网络层的偏置参数;可通过训练确定。

复制网络包括级联的第五线性网络层和第四激活层,其中,第四激活层中设置的激活函数为sigmoid函数,sigmoid函数的值域为[0,1]。先将时间步下的上下文向量、解码器网络在时间步的输出隐向量和解码器网络在时间步的输入向量进行拼接后,输入到第五线性网络层中进行线性变换,然后由第四激活层对第五线性网络层的输出进行处理,输出时间步所对应答案词来自预设词表的第一概率;该过程可用如下公式(6)描述:

;(公式6)

其中,表示sigmoid函数;是第五线性网络层的权重参数,是第五线性网络层的偏置参数,可通过训练确定。可以理解的是,在第一概率确定的情况下,第二概率对应确定,为

之后由目标概率输出层根据第一概率、第二概率、以及第二概率分布、第一文本序列中词对时间步所对应答案词的注意力权值来输出第一文本序列和预设词表中各词为时间步所对应答案词的目标概率,该过程可表示为:

;(公式7)

其中表示第一文本序列和预设词表中各词为答案文本中第个答案词的目标概率。

得到目标概率之后,可以将第一文本序列和预设词表中目概率最大的词确定为时间步所对应答案词。之后,答案文本输出层组合各时间步所对应答案词即得到问题文本对应的答案文本。

简单来说,该答案生成模型在每一次预测的时候,可以通过生成网络预测得到针对预设词表的第二概率分布,可以通过复制网络预测得到答案词来源于第一文本序列的第二概率、和来源于预设词表的第一概率,之后基于第一概率、第二概率、第二概率分布确定目标概率分布 (最终结果的柱形图中的“2-0”这个词不在预设词表中,它来自第一文本序列),这样一来,答案生成模型就有可能直接从作为输入的第一文本序列中复制一些词到答案文本中。

通过本方案提供的答案生成模型,能够为是否类问题生成高质量的答案文本。通过实验测试发现,在准确率指标上,采用本方案为答案文本所生成回答文本的准确率达98%,远高于基于问题规则来生成答案文本的准确率90%,同时在人工实验中发现,使用本方案得到的回答文本的人工满意度高达96%,远高于采用问题规则生成的答案文本,因此,本方案可以有效避免在搜索引擎的问答服务中展示错误答案。

在本申请的一些实施例中,步骤340之后,该方法还包括:将所述问题文本、所述问题文本对应的答案极性和所述问题文本对应的答案文本进行关联,得到问答对;将所述问答对存储至问答数据库。之后,可以基于问答数据库中存储的问答对来提供自动问答服务。

图8是根据本申请一实施例示出的构建问答数据库的示意图。如图8所示,将问题文本和该问题文本对应的答案极性输入到答案生成模型中,由该答案生成模型来按照本申请的方法对问题文本和问题文本对应的答案极性处理,得到该问题文本对应的答案文本。之后,该答案生成模型可以输出由问题文本、答案极性、答案文本构成的问答对三元组,然后,将问答对三元组存储到问答数据库中。

在另一些实施例中,还可以将问题文本以及问题文本对应的答案文本关联存储为问答对二元组,然后将问答对二元组存储至问答数据库中,在提供问答服务过程中,基于问答数据库中的问答二元组来提供服务。

其中,该答案生成模型可以按照图7所示的过程来生成问题文本对应的答案文本,答案文本的具体生成过程参见图7对应实施例的描述,在此不再赘述。

在本申请的一些实施例中,如图9所示,该方法还包括:

步骤910,接收搜索请求,所述搜索请求指示了目标问题。

步骤920,根据所述目标问题在所述问答数据库中进行问题匹配,确定问题文本与所述目标问题相匹配的目标问答对。

在一些实施例中,所进行的问题匹配可以是计算问答对中问题文本与目标问题之间的相似度,进而基于所计算得到的相似度来确定目标问答对。其中,所计算的相似度可以是语义相似度,也可以是文本相似度,在此不进行具体限定。

在一些实施例中,可以将与目标问题相似度最高的问题文本所在的问答对确定为目标问答对。在另一些实施例中,还可以将与目标问题的相似度超过相似度阈值的问题文本所在的问答对确定为目标问答对。在其他实施例中,还可以按照相似度由高到低进行问答对排序,将位于排序中前设定数量个的问答对确定为目标问答对。

步骤930,将所述目标问答对中的答案文本返回至所述搜索请求的发起方。将目标问答对中的答案文本返回到搜索请求的发起方,作为对目标问题的搜索结果。

通过如上步骤910-930实现了根据构建的问答数据库来提供搜索问答服务。由于本方案中为问题文本生成答案的过程中,考虑到了答案词来源于问题文本,或者来源于问题文本和问题文本所对应答案依据文本的概率,进而计算答案词来源于第一文本序列的第二概率,并以此为基础来确定答案词,进而生成答案文本和问答对,保证了问答对中答案文本的准确性和多样性,而不是单一的短文本答案,可以有效保证基于问答数据库所提供搜索问答服务质量。

以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的方法。对于本申请装置实施例中未披露的细节,请参照本申请上述方法实施例。

图10是根据一实施例示出的答案生成装置的框图,如图10所示,该答案生成装置包括:编码处理模块1010,用于对第一文本序列进行编码处理,得到所述第一文本序列中各词的编码向量,所述第一文本序列指示了问题文本;注意力权值确定模块1020,用于根据所述第一文本序列中各词的编码向量和解码器网络在当前时间步的输出隐向量,确定所述第一文本序列中各词在当前时间步对应的注意力权值;第一概率分布确定模块1030,用于根据所述第一文本序列中各词在当前时间步对应的注意力权值、所述解码器网络在当前时间步的输出隐向量和所述解码器网络在当前时间步的输入向量,确定第一概率分布,所述第一概率分布用于指示所述当前时间步所对应答案词来自预设词表的第一概率和来自所述第一文本序列的第二概率;答案词确定模块1040,用于根据所述第一概率和所述第二概率,在所述预设词表和所述第一文本序列中确定所述当前时间步对应的答案词;所述答案词用于确定所述问题文本对应的答案文本。

在本申请的一些实施例中,第一概率分布确定模块1030,包括:上下文向量确定单元,用于根据所述第一文本序列中各词所对应的编码向量和所述第一文本序列中各词在当前时间步对应的注意力权值,确定所述当前时间步对应的上下文向量;第一拼接单元,用于将所述当前时间步对应的上下文向量、所述解码器网络在当前时间步的输出隐向量和所述解码器网络在当前时间步的输入向量进行拼接,得到第一拼接向量;第一概率确定单元,用于对所述第一拼接向量进行变换处理,得到所述第一概率;第二概率确定单元,用于根据所述第一概率确定所述第二概率,其中,所述第一概率与所述第二概率的和为1。

在本申请的一些实施例中,上下文向量确定单元,进一步被配置为:以所述第一文本序列中各词在当前时间步对应的注意力权值作为所对应词的加权系数,对所述第一文本序列中全部词的编码向量进行加权处理,得到所述当前时间步对应的上下文向量。

在本申请的一些实施例中,答案生成装置,还包括:输入向量获取单元,用于获取所述解码器网络在当前时间步的输入向量,其中,所述解码器网络在当前时间步的输入向量包括所述解码器网络在上一时间步的输出隐向量,所述解码器网络在首个时间步的输入向量包括开始标签对应的隐向量;输出隐向量输出单元,用于由所述解码器网络根据所述当前时间步的输入向量进行处理,输出所述当前时间步的输出隐向量。

在本申请的一些实施例中,答案词确定模块1040,包括:第二概率分布获取单元,用于获取第二概率分布,所述第二概率分布用于指示预设词表中各词是所述当前时间步所对应答案词的参考概率;加权处理单元,用于根据所述第一概率和所述第二概率,对所述第二概率分布和所述第一文本序列中各词在当前时间步对应的注意力权值进行加权处理,确定目标概率分布,所述目标概率分布用于指示所述预设词表和所述第一文本序列中各词是所述当前时间步所对应答案词的目标概率;筛选单元,用于根据所述目标概率,在所述预设词表和所述第一文本序列中筛选,确定所述当前时间步对应的答案词。

在本申请的一些实施例中,第二概率分布获取单元,包括:第二拼接单元,用于将所述当前时间步对应的上下文向量与所述解码器网络在当前时间步的输出隐向量进行拼接,得到第二拼接向量;第一线性变换单元,用于对所述第二拼接向量进行线性变换,并基于线性变换的结果进行概率预测,得到所述第二概率分布。

在本申请的一些实施例中,注意力权值确定模块1020,包括:第三拼接单元,用于将所述第一文本序列中的每个词的编码向量分别与所述解码器网络在当前时间步的输出隐向量进行拼接,得到所述第一文本序列中每个词对应的第三拼接向量;第二线性变换单元,用于将每个所述第三拼接向量进行线性变换,得到所述第一文本序列中每个词对应的中间变换向量;激活处理单元,用于对每一所述中间变换向量进行激活处理,得到所述第一文本序列中每个词对当前时间步所对应答案词的初始注意力权值;归一化处理单元,用于对每一所述初始注意力权值进行归一化处理,得到所述第一文本序列中每个词在当前时间步对应的注意力权值。

在本申请的一些实施例中,编码处理模块,进一步被配置为:通过编码器网络对所述第一文本序列进行双向编码,得到所述第一文本序列中各词的编码向量。

在本申请的一些实施例中,答案生成装置还包括:第一文本拼接模块,用于将所述问题文本与所述问题文本对应的答案极性进行文本拼接,得到所述第一文本序列。

在本申请的一些实施例中,答案生成装置还包括:第二文本拼接模块,用于将所述问题文本、所述问题文本对应的答案极性、所述问题文本对应的答案依据文本进行文本拼接,得到所述第一文本序列。

在本申请的一些实施例中,答案生成装置还包括:关联模块,用于将所述问题文本、所述问题文本对应的答案极性和所述问题文本对应的答案文本进行关联,得到问答对;存储模块,用于将所述问答对存储至问答数据库。

在本申请的一些实施例中,答案生成装置还包括:搜索请求接收模块,用于接收搜索请求,所述搜索请求指示了目标问题;问题匹配模块,用于根据所述目标问题在所述问答数据库中进行问题匹配,确定问题文本与所述目标问题相匹配的目标问答对;返回模块,用于将所述目标问答对中的答案文本返回至所述搜索请求的发起方。

图11示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图11所示,计算机系统1100包括中央处理单元(Central Processing Unit,CPU)1101,其可以根据存储在只读存储器(Read-Only Memory,ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(Random Access Memory,RAM)1103中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 1103中,还存储有系统操作所需的各种程序和数据。CPU1101、ROM1102以及RAM 1103通过总线1104彼此相连。输入/输出(Input/Output,I/O)接口1105也连接至总线1104。

以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。

特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本申请的系统中限定的各种功能。

需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载计算机可读指令,当该计算机可读存储指令被处理器执行时,实现上述任一实施例中的方法。

根据本申请的一个方面,还提供了一种电子设备,其包括:处理器;存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时,实现上述任一实施例中的方法。

根据本申请实施例的一个方面,提供了计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例中的方法。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

31页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:页面操作记录表的生成方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!