多轮对话方法和装置制造方法及图纸

技术编号:24206553 阅读:29 留言:0更新日期:2020-05-20 14:54
本说明书实施例提供一种多轮对话方法和装置,方法包括:在机器和用户的多轮对话过程中,获取用户当前输入的当前用户文本和对话前文;至少把当前用户文本输入检索模型,通过检索模型输出M条候选回复;检索模型从历史人工问答记录中,检索并输出与当前用户文本匹配的M条人工答复作为M条候选回复;把当前用户文本和对话前文输入预先训练的生成模型,通过生成模型生成N条候选回复;将M和N条候选回复分别输入预先训练的分类打分模型,通过分类打分模型分别输出各条候选回复对应的与当前用户文本的匹配得分;选择最高匹配得分对应的候选回复输出给用户,以作为当前用户文本的实际回复。能够实现机器与人进行多轮对话,并准确地解答用户问题。

Method and device of multi round dialogue

【技术实现步骤摘要】
多轮对话方法和装置
本说明书一个或多个实施例涉及计算机领域,尤其涉及多轮对话方法和装置。
技术介绍
当前,很多场景下需要由机器与用户进行对话,如客服领域,用户的对话通常是提出问题,需要机器解答用户问题,由于用户语句通常比较简略且口语化,机器和用户之间的一轮对话不能够解决用户问题,需要机器和用户之间的多轮对话才能够明确用户述求,由机器给出符合用户述求的回答。希望利用现有的人工对话的日志记录,实现机器与人进行多轮对话,并且能够准确地解答用户问题。
技术实现思路
本说明书一个或多个实施例描述了一种多轮对话方法和装置,能够利用现有的人工对话的日志记录,实现机器与人进行多轮对话,并且能够准确地解答用户问题。第一方面,提供了一种多轮对话方法,方法包括:在机器和用户的多轮对话过程中,获取用户当前输入的当前用户文本和所述当前用户文本的对话前文;至少把所述当前用户文本输入检索模型,通过所述检索模型输出所述当前用户文本对应的M条候选回复;所述检索模型从历史人工问答记录中,检索并输出与所述当前用户文本匹配的M条人工答复作为M条候选回复;把所述当前用户文本和所述对话前文输入预先训练的生成模型,通过所述生成模型生成所述当前用户文本对应的N条候选回复;将所述M和N条候选回复分别输入预先训练的分类打分模型,通过所述分类打分模型分别输出各条候选回复对应的与所述当前用户文本的匹配得分;选择最高匹配得分对应的候选回复输出给用户,以作为所述当前用户文本的实际回复。在一种可能的实施方式中,所述对话前文包括:用户之前各轮对话输入的前文用户文本,以及机器针对该前文用户文本的前文回复。在一种可能的实施方式中,所述历史人工问答记录包括多个问答对,所述问答对包括用户问题和该用户问题对应的人工回复作为答案;所述检索模型从历史人工问答记录中,检索并输出与所述当前用户文本匹配的M条人工答复作为M条候选回复,包括:所述检索模型从多个问答对对应包含的多个用户问题中确定出所述当前用户文本匹配的若干用户问题,将所述若干用户问题对应的答案作为所述当前用户文本的候选回复。在一种可能的实施方式中,所述至少把所述当前用户文本输入检索模型,包括:将所述对话前文中用户各轮输入的前文用户文本分别输入预先训练的业务闲聊分类模型,通过所述业务闲聊分类模型输出各轮输入的前文用户文本为业务问题还是闲聊;将所述对话前文中的预定数目的业务问题以及所述当前用户文本输入所述检索模型。在一种可能的实施方式中,所述生成模型为基于长短期记忆(longshort-termmemory,LSTM)网络实现的序列到序列(sequencetosequence,seq2seq)模型。在一种可能的实施方式中,所述生成模型基于改进的基于转换器的双向编码器表征(bidirectionalencoderrepresentationsfromtransformers,BERT)模型实现,改进的BERT模型通过以下方式训练:基于所述历史人工问答记录进行字遮蔽训练,在字遮蔽训练中每个待生成的字只能基于其前面的字生成预测结果。在一种可能的实施方式中,所述分类打分模型基于利用所述历史人工问答记录得到的训练样本进行训练。进一步地,所述训练样本通过以下方式得到:利用所述历史人工问答记录中各轮的用户问题和该轮的人工回复,得到与对话轮数相同数目的正样本;利用所述历史人工问答记录中各轮的用户问题和随机选择的任一轮的人工回复,得到与对话轮数相同数目的负样本。第二方面,提供了一种多轮对话装置,装置包括:获取单元,用于在机器和用户的多轮对话过程中,获取用户当前输入的当前用户文本和所述当前用户文本的对话前文;检索单元,用于至少把所述获取单元获取的当前用户文本输入检索模型,通过所述检索模型输出所述当前用户文本对应的M条候选回复;所述检索模型从历史人工问答记录中,检索并输出与所述当前用户文本匹配的M条人工答复作为M条候选回复;生成单元,用于把所述获取单元获取的所述当前用户文本和所述对话前文输入预先训练的生成模型,通过所述生成模型生成所述当前用户文本对应的N条候选回复;匹配单元,用于将所述检索单元和所述生成单元得到的M和N条候选回复分别输入预先训练的分类打分模型,通过所述分类打分模型分别输出各条候选回复对应的与所述当前用户文本的匹配得分;输出单元,用于选择所述匹配单元得到的最高匹配得分对应的候选回复输出给用户,以作为所述当前用户文本的实际回复。第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。通过本说明书实施例提供的方法和装置,单纯利用现有的人工对话的日志记录,进行机器和用户的多轮对话,不基于知识库中的标准问题,也不需要做人工数据标注,先通过检索模型得到至少一条候选回复,然后通过生成模型得到至少一条候选回复,再利用分类打分模型得到各条候选回复对应的与所述当前用户文本的匹配得分,从而确定当前用户文本的实际回复,相对于单独使用检索模型或生成模型得到候选回复的方案,这种结合检索模型和生成模型得到候选回复的方案可以得到更多的候选回复,使得各候选回复中存在符合用户述求的回复的几率更高,并且,通过预先训练的分类打分模型得到各条候选回复对应的与所述当前用户文本的匹配得分,相对于通过预设规则计算两个文本匹配得分的方式准确性更高。综上,本说明书实施例,能够利用现有的人工对话的日志记录,实现机器与人进行多轮对话,并且能够准确地解答用户问题。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本说明书披露的一个实施例的实施场景示意图;图2示出根据一个实施例的多轮对话方法流程图;图3示出根据一个实施例的整体检索方案示意图;图4示出根据一个实施例的生成模型的训练方式示意图;图5示出根据一个实施例的训练样本构成示意图;图6示出根据一个实施例的确定实际回复的整体流程示意图;图7示出根据一个实施例的多轮对话装置的示意性框图。具体实施方式下面结合附图,对本说明书提供的方案进行描述。图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及多轮对话,具体地,涉及机器与用户之间的多轮对话。可以理解的是,以客服领域为例,早期都是由人工客服与用户对话,因此积累了大量的人工对话的日志记录,本说明书实施例,利用现有的人工对话的日志记录,实现机器与人进行多轮对话,不基于知识库中的标本文档来自技高网...

【技术保护点】
1.一种多轮对话方法,所述方法包括:/n在机器和用户的多轮对话过程中,获取用户当前输入的当前用户文本和所述当前用户文本的对话前文;/n至少把所述当前用户文本输入检索模型,通过所述检索模型输出所述当前用户文本对应的M条候选回复;所述检索模型从历史人工问答记录中,检索并输出与所述当前用户文本匹配的M条人工答复作为M条候选回复;/n把所述当前用户文本和所述对话前文输入预先训练的生成模型,通过所述生成模型生成所述当前用户文本对应的N条候选回复;/n将所述M和N条候选回复分别输入预先训练的分类打分模型,通过所述分类打分模型分别输出各条候选回复对应的与所述当前用户文本的匹配得分;/n选择最高匹配得分对应的候选回复输出给用户,以作为所述当前用户文本的实际回复。/n

【技术特征摘要】
1.一种多轮对话方法,所述方法包括:
在机器和用户的多轮对话过程中,获取用户当前输入的当前用户文本和所述当前用户文本的对话前文;
至少把所述当前用户文本输入检索模型,通过所述检索模型输出所述当前用户文本对应的M条候选回复;所述检索模型从历史人工问答记录中,检索并输出与所述当前用户文本匹配的M条人工答复作为M条候选回复;
把所述当前用户文本和所述对话前文输入预先训练的生成模型,通过所述生成模型生成所述当前用户文本对应的N条候选回复;
将所述M和N条候选回复分别输入预先训练的分类打分模型,通过所述分类打分模型分别输出各条候选回复对应的与所述当前用户文本的匹配得分;
选择最高匹配得分对应的候选回复输出给用户,以作为所述当前用户文本的实际回复。


2.如权利要求1所述的方法,其中,所述对话前文包括:
用户之前各轮对话输入的前文用户文本,以及机器针对该前文用户文本的前文回复。


3.如权利要求1所述的方法,其中,所述历史人工问答记录包括多个问答对,所述问答对包括用户问题和该用户问题对应的人工回复作为答案;
所述检索模型从历史人工问答记录中,检索并输出与所述当前用户文本匹配的M条人工答复作为M条候选回复,包括:
所述检索模型从多个问答对对应包含的多个用户问题中确定出所述当前用户文本匹配的若干用户问题,将所述若干用户问题对应的答案作为所述当前用户文本的候选回复。


4.如权利要求1所述的方法,其中,所述至少把所述当前用户文本输入检索模型,包括:
将所述对话前文中用户各轮输入的前文用户文本分别输入预先训练的业务闲聊分类模型,通过所述业务闲聊分类模型输出各轮输入的前文用户文本为业务问题还是闲聊;
将所述对话前文中的预定数目的业务问题以及所述当前用户文本输入所述检索模型。


5.如权利要求1所述的方法,其中,所述生成模型为基于长短期记忆LSTM网络实现的序列到序列seq2seq模型。


6.如权利要求1所述的方法,其中,所述生成模型基于改进的基于转换器的双向编码器表征BERT模型实现,改进的BERT模型通过以下方式训练:
基于所述历史人工问答记录进行字遮蔽训练,在字遮蔽训练中每个待生成的字只能基于其前面的字生成预测结果。


7.如权利要求1所述的方法,其中,所述分类打分模型基于利用所述历史人工问答记录得到的训练样本进行训练。


8.如权利要求7所述的方法,其中,所述训练样本通过以下方式得到:
利用所述历史人工问答记录中各轮的用户问题和该轮的人工回复,得到与对话轮数相同数目的正样本;
利用所述历史人工问答记录中各轮的用户问题和随机选择的任一轮的人工回复,得到与对话轮数相同数目的负样本。


9.一种多轮对话装置,所述装置包括:
获取单元,用于在机器和用户的多轮对话过程中,获取用户当前输入的当前用户文本和所述当前用户文本的对话前文;
检索单元,用于至少把所述获取单元获取的当前用户文本输入检索模型,...

【专利技术属性】
技术研发人员:刘佳王子豪杨明晖崔恒斌
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1