发明内容
本发明的目的在于提供一种答案匹配方法、装置、电子设备及计算机可读存储介质,进而至少在一定程度上克服由于相关技术的限制而导致的智能客服在回答用户问题时出现机械式回答,无法聚焦真实答案的问题。
根据本发明的第一个方面,提供一种答案匹配方法,包括:
从包括多个问答轮次的对话记录中获取当前状态数据,所述当前状态数据包括当前问答轮次的用户问题、前一问答轮次的用户问题以及前一问答轮次的回复答案;
将所述当前状态数据输入预先训练的增强学习模型,得到由所述增强学习模型输出的对应于所述当前状态数据的候选答案集合;
获取用户意图信息,并利用所述用户意图信息对所述候选答案集合进行筛选后得到目标答案集合;
根据所述目标答案集合中各个候选答案的分布概率,确定一个目标答案作为当前问答轮次的回复答案。
在本发明的一种示例性实施例中,所述增强学习模型的训练过程包括:
从包括多个问答轮次的历史聊天语料库中获取第一训练样本集,并利用所述第一训练样本集训练序列到序列模型;
根据训练得到的序列到序列模型确定回报分值和候选答案集,并通过预先获取的用户意图信息对所述候选答案集进行筛选;
通过所述回报分值以及筛选后的所述候选答案集在第一训练样本集中训练得到初始化增强学习模型;
根据所述初始化增强学习模型得到第二训练样本集,并利用所述第二训练样本集训练增强学习模型。
在本发明的一种示例性实施例中,所述从包括多个问答轮次的历史聊天语料库中获取第一训练样本集,并利用所述第一训练样本集训练序列到序列模型包括:
从包括多个问答轮次的历史聊天语料库中获取各个问答轮次的用户问题和回复答案作为第一训练样本集;
以第一训练样本集中的当前问答轮次的用户问题、前一问答轮次的用户问题以及前一问答轮次的回复答案为输入参数,以当前问答轮次的回复答案为输出目标,根据极大似然估计的迭代原理训练第一序列到序列模型;
以第一训练样本集中的当前问答轮次的回复答案为输入参数,以下一问答轮次的用户问题以及下一问答轮次的回复答案为输出目标,根据极大似然估计的迭代原理训练训练第二序列到序列模型。
在本发明的一种示例性实施例中,所述根据训练得到的序列到序列模型确定回报分值和候选答案集包括:
根据训练得到的第一序列到序列模型和第二序列到序列模型得到语义一致性奖励分值;
根据训练得到的第二序列到序列模型得到不良答案惩罚分值;
根据语义一致性奖励分值和不良答案惩罚分值得到回报分值;
根据训练得到的第一序列到序列模型得到候选答案集。
在本发明的一种示例性实施例中,所述通过所述回报分值以及筛选后的所述候选答案集在第一训练样本集中训练得到初始化增强学习模型包括:
使用随机梯度下降法,通过所述候选答案集和所述语义一致性奖励分值在第一训练样本集中对第一序列到序列模型进行训练,得到所述初始化增强学习模型。
在本发明的一种示例性实施例中,所述根据所述初始化增强学习模型得到第二训练样本集包括:
根据所述初始化增强学习模型和各个问答轮次的当前状态数据得到各个问答轮次的回复答案和回报分值,所述各个问答轮次的回复答案为一个问答批次中按照对话顺序生成的各个问答轮次的回复答案,所述各个问答轮次的当前状态数据为对应于一个问答批次中各个问答轮次的回复答案的当前状态数据,所述各个问答轮次的回报分值为对应于一个问答批次中各个问答轮次的回复答案的回报分值;
将一个问答批次中各个问答轮次的当前状态数据、各个问答轮次的回复答案和各个问答轮次的回报分值组成训练样本,以确定包括所述训练样本的第二训练样本集。
在本发明的一种示例性实施例中,所述利用所述第二训练样本集训练增强学习模型包括:
利用所述第二训练样本集中一个完整的问答批次中各个问答轮次的训练样本以策略迭代的方法训练增强学习模型。
根据本发明的第二方面,提供一种答案匹配装置,包括:
状态获取模块,用于从包括多个问答轮次的对话记录中获取当前状态数据;
模型使用模块,用于将所述当前状态数据输入预先训练的增强学习模型,得到由所述增强学习模型输出的对应于所述当前状态数据的候选答案集合;
答案筛选模块,用于获取用户意图信息,并利用所述用户意图信息对所述候选答案集合进行筛选后得到目标答案集合;
答案输出模块,用于根据所述目标答案集合中各个候选答案的分布概率,确定一个目标答案作为当前问答轮次的回复答案。
根据本发明的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种示例性实施例中的答案匹配方法。
根据本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的答案匹配方法。
本发明示例性实施例具有以下有益效果:
本发明示例实施方式的答案匹配方法中,通过使用增强学习模型,以多个问答轮次的历史语料库为训练样本集进行模型的迭代,并利用用户的意图信息对增强学习模型输出的候选答案集合进行筛选,以得到最终的回复答案。相比于现有的答案匹配方法,一方面,由于将上下文语义作为模型重要输入之一,起到了辅助理解用户问题的作用,避免了在生成答案时只考虑当前问题,而不考虑前一轮次的问题,使答案的准确率和被采纳率大幅提升;另一方面,将预先获取的用户意图信息作为筛选条件,缩小候选答案集,使模型聚焦于真实环境中的答案,解决了任务型多轮对话模式中答案发散的问题,聚焦用户关心的答案。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
用语“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本发明实施例的一种答案匹配方法及装置的示例性系统架构的示意图。
如图1所示,系统架构100可以包括客户端101、102、103中的多个,网络104和服务器105。网络104用以在客户端101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如无线通信链路等。
应该理解,图1中的客户端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
客户端101、102、103可以是具有处理器的各种电子设备,包括但不限于智能手机、平板电脑、便携式或台式计算机等等。服务器105可以是提供各种服务的服务器。例如,客户端101、102、103可以通过处理器获取当前用户输入的问题和前一轮次的问题和答案,并向服务器105上传信息,服务器105可以根据获取到的用户问题和用户意图信息,确定一个概率最大的答案作为回复答案,也可以是,客户端101、102、103或服务器105可以单独完成从获取当前用户输入的问题和前一轮次的问题和答案,以及用户意图信息,到确定一个概率最大的答案作为回复答案的过程。
图2示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图2所示,计算机系统200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有系统操作所需的各种程序和数据。CPU201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(CPU)201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3所示的各个步骤。以下对本发明实施例的技术方案进行详细阐述:
本示例实施方式提供了一种答案匹配方法。该答案匹配方法可以由服务器105执行,也可以由客户端101、102、103执行,相应地,答案匹配装置可以设置于服务器105中,也可以设置于客户端101、102、103中。参考图3所示,该方法可以包括从步骤S310、S320、S330到S340,具体步骤如下:
步骤S310.从包括多个问答轮次的对话记录中获取当前状态数据,其中当前状态数据包括当前问答轮次的用户问题、前一问答轮次的用户问题以及前一问答轮次的回复答案。
在步骤S310中,多个问答轮次的对话记录包括历史聊天语料库中多个问答轮次的用户问题和回复答案,其中每个问答轮次中包括一个问题(q)和答案(a),各个问答轮次中的问题和答案都建立了q-a对应关系,另外,各个问答轮次之间都有对应的前后轮关系。
当前状态数据包括当前问答轮次的用户问题qi、前一问答轮次的用户问题qi-1以及前一问答轮次的回复答案ai-1,对这些语句进行分词和编码之后组成模型的输入数据(qi-1,ai-1,qi)即为当前状态数据。
其中,分词是指将获取到的用户问题和回复答案分割成若干个按顺序排列的词语,例如,可以将“购买泰康保险需要准备哪些材料”分为“购买”“泰康”“保险”“需要”“准备”“哪些”“材料”几个关键词。分词可以采用分词算法进行,例如可以采用基于字符串匹配的分词方法、基于理解的分词方法或基于统计的分词方法等算法,在此不进行限定。
需要说明的是,用户输入的问题语句可以是语音形式或文本形式,如果是文本形式的输入语句,则直接进入后续步骤,如果是语音形式的输入语句,则可以首先通过语音-文本转换工具将其转换为文本语句,再进行后续处理。
步骤S320.将当前状态数据输入预先训练的增强学习模型,得到由增强学习模型输出的对应于当前状态数据的候选答案集合。
在步骤S320中,利用增强学习模型,以历史语料库为训练集进行模型迭代,将上一轮次的问题和回答进行组合,再结合本轮次用户的问题,以上下文语境作为重要的输入之一来训练模型,模型参数在训练过程中会考虑到上下文语境对最终输出产生的影响,并体现在模型参数中,通过模型的迭代使得输出的目标值(答案易回答性,语义一致性,多样性)最优化。
增强学习模型的组成部分分为答案action、状态state、策略policy和回报分值reward,各部分的定义如下:
答案action=[a1,a2,...,ai],即候选答案集(candidate list),是基于给定的条件的state,产生的action集合。每一个action就是具体的答案ai;当前状态state定义为qi-1,ai-1,qi,其中qi-1为上一轮的用户问题,ai-1为上一轮的回复答案,qi为本轮的用户问题,在本发明中通过这三个值定义当前状态。
策略policy是模型选择action实施动作的策略,即根据给定的state,执行相应的action,policy以prl~θ(ai|qi-1,ai-1,qi)的概率分布函数的形式展现,其中θ为概率分布公式的参数,policy是参数θ的函数,基于长短期记忆网络(LSTM)编码-解码(Encoder-Decoder)框架可以得到概率分布函数prl~θ(ai|qi-1,ai-1,qi)。
回报分值reward包括语义一致性奖励分值和不良答案惩罚分值,其中语义一致性奖励分值为确保策略执行的action,即生成的答案与上文、下文的语义保持一致,如果答案与上下文的语义保持一致,则action可以获得奖励分值;回报分值reward的另一个分值是不良答案惩罚分值,即当action执行的动作,也就是生成的答案不利于下一轮用户输入问题的行为,或者用户输入的问题表达出对答案不理解的意图时,则该答案为不良答案,增强模型对该action执行惩罚。
步骤S330.获取用户意图信息,并利用用户意图信息对候选答案集合进行筛选后得到目标答案集合。
在步骤S330中,将获取到的用户意图信息作为筛选条件,搜索用户意图下候选答案集合的相关回复作为目标答案集合。例如,用当前多轮对话中的用户意图筛选候选答案集α,获取与当前意图匹配的目标答案集合β。
步骤S340.根据目标答案集合中各个候选答案的分布概率,确定一个目标答案作为当前问答轮次的回复答案。
例如,从目标答案集合β中选取分布概率最大的答案,作为当前问答轮次的回复答案,即最佳回复答案并输出。
进一步地,步骤S320可以包括从步骤S321、S322、S323到S324的几个具体步骤,下面,结合图4至图6对于本示例实施方式中的步骤S320进行更加详细的说明。
在步骤S320中,将当前状态数据输入预先训练的增强学习模型,得到对应于当前状态数据的候选答案集合,参考图4所示,其中增强学习模型的训练过程可以包括如下几个步骤:
步骤S321.从包括多个问答轮次的历史聊天语料库中获取第一训练样本集,并利用第一训练样本集训练序列到序列模型。
在步骤S321中,第一训练样本集即多个问答轮次的对话记录,包括历史聊天语料库中多个问答轮次的用户问题和回复答案,并且每个问题和答案都有对应的q-a关系和上下轮关系。
序列到序列(Seq2seq)模型,全称Sequence to Sequence模型,是一个Encoder–Decoder结构的网络,它的输入是一个序列,输出也是一个序列,Encoder中将一个可变长度的信号序列变为固定长度的向量表达,Decoder将这个固定长度的向量变成可变长度的目标的信号序列。这个结构最重要的地方在于输入序列和输出序列的长度是可变的,可以用于翻译,聊天机器人,句法分析,文本摘要等。在本发明的示例实施方式中,将Seq2seq模型用于聊天机器人的模型训练中,主要的目的是基于极大似然估计(MLE,MaximumLikelihood Estimate)目标,求得给定条件下的最佳输出,即概率最大的输出。
Seq2seq模型在本发明的示例实施方式中分为两个模型使用,即第一序列到序列模型(preSeq2seq)和第二序列到序列模型(afterSeq2seq),该模型主要有两个作用:第一,在增强学习模型的定义阶段,seq2seq模型用作增强模型reward函数的组成部分之一,reward包括语义一致性奖励分值和不良答案惩罚分值,其中语义一致性奖励分值为Rcoherence=f(ppreseq2seq(ai|qi-1,ai-1,qi),pafterSeq2seq(ai+1|qi,ai));第二,在增强学习模型的训练阶段,通过seq2seq模型中的ppreSeq2seq(ai|qi-1,ai-1,qi)生成候选答案集candidatelists=[a1,a2,...,ai],作为增强学习的action集合。
步骤S322.根据训练得到的序列到序列模型确定回报分值和候选答案集,并通过预先获取的用户意图信息对候选答案集进行筛选。
候选答案集由根据历史聊天语料库训练得到的seq2seq模型生成。给定当前状态state,即qi-1,ai-1,qi,根据seq2seq模型计算候选答案集Sa,通过p(ai|qi-1,ai-1,qi)得到ai的条件概率分布,再根据当前意图intent生成该意图关联答案集Ia,与当前意图下的候选答案集做交集,得出最终候选答案集candidateList,即candidateList(qi-1,ai-1,ai,intent)=Sa∩Ia。其中Sa是通过seq2seq模型得到的候选答案集合,Ia是根据当前意图intent生成该意图关联答案集。
步骤S323.通过回报分值以及筛选后的候选答案集在第一训练样本集中训练得到初始化增强学习模型。
在步骤S323中,使用随机梯度下降法,通过候选答案集和语义一致性奖励分值在第一训练样本集中对第一序列到序列模型进行训练,得到初始化增强学习模型。
利用随机梯度下降法训练初始化增强学习模型(coherence模型)的方法是:先用preSeq2seq模型初始化增强学习模型,即p
rl(a
i|q
i-1,a
i-1,q
i)=p
preSeq2seq(a
i|q
i-1,a
i-1,q
i)。根据步骤S322得到当前状态state的候选答案集candidateList,训练初始化增强学习模型的目标函数为R
coherence在p
rl上的数学期望,即J(α)=Ep
rl(candidateList)(R
coherence),因此
其中初始化增强学习模型由参数α决定。
为得到最大目标函数,使用随机梯度下降法在历史聊天语料库中迭代该模型,得到该模型的最佳参数α’及最佳coherence模型,即为所要得到的初始化增强学习模型。
步骤S324.根据初始化增强学习模型得到第二训练样本集,并利用第二训练样本集训练增强学习模型。
根据初始化增强学习模型得到第二训练样本集的方法包括:
根据初始化增强学习模型和各个问答轮次的当前状态数据得到各个问答轮次的回复答案和回报分值,各个问答轮次的回复答案为一个问答批次中按照对话顺序生成的各个问答轮次的回复答案,各个问答轮次的当前状态数据为对应于一个问答批次中各个问答轮次的回复答案的当前状态数据,各个问答轮次的回报分值为对应于一个问答批次中各个问答轮次的回复答案的回报分值;
将一个问答批次中各个问答轮次的当前状态数据、各个问答轮次的回复答案和各个问答轮次的回报分值组成训练样本,以确定包括训练样本的第二训练样本集。
本发明的示例实施方式中,确定第二训练样本集的方法为:用初始化增强学习模型对增强学习模型进行初始化,即prl(ai|qi-1,ai-1,qi)=pcoherence(ai|qi-1,ai-1,qi)。根据该初始模型,根据给定的state,计算一个批次(episode)的action和reward,再将上述state与计算得到的action和reward共同组成第二训练样本集。
例如,(s1,a1,r1),(s2,a2,r2)...(sn,an,rn),其中a1,a2,…,an为一个episode中多轮对话按照顺序生成的答案。S1,S2,…,Sn为答案所对应的当前状态,r1,r2,…,rn为答案所对应的回报分值。
本发明的示例实施方式中,利用第二训练样本集训练增强学习模型包括:
利用第二训练样本集中一个完整的问答批次中各个问答轮次的训练样本以策略迭代的方法训练增强学习模型。
策略迭代的方法是基于reward最大化,对增强学习的策略不断进行优化,直到reward达到最大值的目标。通过seq2seq模型得到给定状当前态state下的候选答案集,再对每个候选答案集中的答案计算reward,得到(s1,a1,r1),(s2,a2,r2)...(sn,an,rn)。在策略迭代中,reward值不是按照值迭代的方式计算每一次单个的action执行后的预期回报(expected future reward),而是采用策略迭代(该策略定义的状态state及给定state后ai的条件概率分布)的计算方式,即计算一个episode的整体expected future reward。
训练增强学习模型的目标函数为R(即reward)在p
rl上的数学期望,即J(θ)=Ep
rl(A)(R),其中集合A为(a
1,a
2,…,a
n)。于是,
其中,R(a
i,q
i-1,a
i-1,q
i)表示答案a
i在当前状态下的reward。确定目标函数后,根据策略梯度(policy gradient)原理,要完成一个完整的episode才可以进行参数更新。迭代公式为:
经过固定轮次的迭代优化后,生成最佳策略policy及最佳模型参数θ'。最佳策略以LSTM encoder-decoder的形式展现,然后得到用于答案匹配的最佳增强学习模型PRL,即PRL(ai|qi-1,ai-1,qi)。
在步骤S321中,从包括多个问答轮次的历史聊天语料库中获取第一训练样本集,并利用第一训练样本集训练序列到序列模型,参考图5所示,序列到序列模型的训练步骤具体可以包括步骤S3211、S3212和S3213,下面结合图5对该步骤进行详细的说明:
步骤S3211.从包括多个问答轮次的历史聊天语料库中获取各个问答轮次的用户问题和回复答案作为第一训练样本集。
步骤S3212.以第一训练样本集中的当前问答轮次的用户问题、前一问答轮次的用户问题以及前一问答轮次的回复答案为输入参数,以当前问答轮次的回复答案为输出目标,根据极大似然估计的迭代原理训练第一序列到序列模型。
在步骤S3212中,用公式p(ai|qi-1,ai-1,qi)表示给定qi-1,ai-1,qi时,输出ai的概率。
第一序列到序列模型的训练方法为:将历史聊天语料库的当前状态数据(qi-1,ai-1,qi)的编码作为输入参数,以ai为目标target,将模型的输出与ai进行对比,生成交叉熵损失函数。基于MLE原理迭代训练,得到训练集上最佳模型ppreSeq2seq(ai|qi-1,ai-1,qi)即为训练后的第一序列到序列模型。
步骤S3213.以第一训练样本集中的当前问答轮次的回复答案为输入参数,以下一问答轮次的用户问题以及下一问答轮次的回复答案为输出目标,根据极大似然估计的迭代原理训练训练第二序列到序列模型。
第二序列到序列模型的训练方法为:以本轮的回复答案ai作为输入,以下一轮的问题qi+1和答案ai+1的拼接作为target,基于MLE原理迭代训练,得到训练集上最佳模型pafterSeq2seq(qi+1,ai+1|ai)即为训练后的第二序列到序列模型。
在步骤S322中,根据训练得到的序列到序列模型确定回报分值,参考图6所示,具体可以包括步骤S3221、S3222和S3223,下面结合图6对该步骤进行详细的说明:
步骤S3221.根据训练得到的第一序列到序列模型和第二序列到序列模型得到语义一致性奖励分值。
根据上一步中使用历史聊天语料库训练得到的preSeq2seq模型和afterSeq2seq模型,构建语义一致性奖励分值公式:
其中,假设当前生成答案为a
i,上一轮用户问题和生成的回复答案为q
i-1,a
i-1,当前轮次用户问题为q
i,下一轮次用户问题和生成的答案为q
i+1,a
i+1,N
ai为答案a
i的长度,N
qi+1为问题q
i+1的长度。
步骤S3222.根据训练得到的第二序列到序列模型得到不良答案惩罚分值。
其中,假设当前生成的答案为ai,集合D为用户不理解答案后的回复集下标,任意的d∈D,qd为不良答案的下一轮用户问题,ad为不良答案的下一轮机器人回复。
步骤S3223.根据语义一致性奖励分值和不良答案惩罚分值得到回报分值。
回报分值的计算方法为语义一致性奖励分值和不良答案惩罚分值加权求和,即:Reward=λ1Rcoherence+λ2Rbad,其中0<λ1<1,0<λ2<1,且λ1+λ2=1。
应当注意,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本发明还提供了一种答案匹配装置。该答案匹配装置可以应用于服务器端。参考图7所示,该答案匹配装置可以包括状态获取模块710、模型使用模块720、答案筛选模块730以及答案输出模块740。其中:
状态获取模块710可以用于从包括多个问答轮次的对话记录中获取当前状态数据。
模型使用模块720可以用于将当前状态数据输入预先训练的增强学习模型,得到由增强学习模型输出的对应于当前状态数据的候选答案集合。
答案筛选模块730可以用于获取用户意图信息,并利用用户意图信息对候选答案集合进行筛选后得到目标答案集合。
答案输出模块740可以用于根据目标答案集合中各个候选答案的分布概率,确定一个目标答案作为当前问答轮次的回复答案。
上述答案匹配装置中各模块的具体细节在相应的方法实施例部分已有详细的说明,此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的一个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。