一种多轮对话模型训练方法、多轮对话的生成方法及装置制造方法及图纸

技术编号:36208019 阅读:18 留言:0更新日期:2023-01-04 12:03
本申请提供了一种多轮对话模型训练方法、多轮对话的生成方法及装置,通过获取任务场景,并根据获取到的任务场景预设意图类型数据、槽位种子模板、机器人行为以及与所述机器人行为对应的机器人回复数据,并构建多轮对话策略图,根据所述多轮对话策略图构建多轮对话数据集,由于多轮对话数据集可以通过多轮对话策略图中包含的元素以及数据进行自动生成,所以降低了训练样本形成过程中的人工参与程度,提高了模型训练效率。提高了模型训练效率。提高了模型训练效率。

【技术实现步骤摘要】
一种多轮对话模型训练方法、多轮对话的生成方法及装置


[0001]本申请涉及自然语言处理
,尤其涉及一种多轮对话模型训练方法、多轮对话的生成方法及装置。

技术介绍

[0002]人工智能对话系统产品形态主要包括单轮对话和多轮对话两种,单轮对话模式是用户输入一句话,对话机器人根据用户输入的话给一个答案,主要场景是常见问题解答,或者是帮助中心。多轮对话时对话机器人在回答时会记住会话的历史信息,在内部维护一个对话状态,综合对话状态和用户输入给一个答案。多轮对话的定义是,根据上下文内容,进行连续的对话,以达到解决某一类特定任务的目的。
[0003]现有技术中,为完成多轮对话,需要定制具有多轮对话能力的人工智能模型。其构建流程是,人工梳理业务服务流程,针对每个节点收集单个轮次语料开发意图、槽位模型,基于意图槽位模型输出,人工编写流程语料训练行动预测模型,再根据行为预测输出,采取相应的回复和行为。
[0004]现有技术缺点在于,需要大量人工去梳理和撰写意图、槽位、对话数据作为训练样本以满足模型训练要求,但是人工编写出的样本会出现覆盖不全面的问题,因此模型训练效率低,训练数据撰写过程的人工参与程度高。

技术实现思路

[0005]基于此,本申请实施例提供了一种多轮对话模型训练方法、多轮对话的生成方法及装置,旨在提高模型训练效率且降低训练样本数据编写中的人工参与程度。
[0006]第一方面,本申请实施例提供了一种多轮对话模型训练方法,所述方法包括:
[0007]获取任务场景;
[0008]根据所述任务场景获取意图类型集合;
[0009]根据所述任务场景获取槽位种子模板,其中,所述槽位种子模板包括有槽位类型和与所述槽位类型对应的槽位值;
[0010]构建三元组数据,其中,一个所述三元组数据包含所述意图类型集合中的一种意图类型,一种所述槽位类型以及一个与所述槽位类型对应的槽位值;
[0011]根据所述任务场景获取机器人行为以及与所述机器人行为对应的机器人回复数据;
[0012]根据所述三元组数据与所述机器人行为以及与所述机器人行为对应的机器人回复数据构建多轮对话策略图;
[0013]根据所述多轮对话策略图构建多轮对话数据集;
[0014]将所述多轮对话数据集作为模型训练样本,训练得到多轮对话模型。
[0015]可选的,根据所述任务场景获取槽位种子模板包括:
[0016]根据所述任务场景确定槽位类型集合;
[0017]从所述槽位类型集合中获取一个槽位类型,根据所述槽位类型确定槽位值;
[0018]将所述槽位类型与槽位值确定为槽位种子模版。
[0019]优选地,所述根据所述任务场景获取槽位种子模板包括:
[0020]根据所述任务场景确定槽位类型集合;
[0021]从所述槽位类型集合中获取一个槽位类型,针对所述槽位类型确定槽位值;
[0022]将所述槽位类型与槽位值确定为槽位种子模版;
[0023]采样至少两个槽位种子模板并进行拼接,得到复杂化的槽位种子模板。
[0024]可选的,根据所述三元组数据与所述机器人行为以及与所述机器人行为对应的机器人回复数据构建多轮对话策略图包括:
[0025]设置对话状态节点集合,其中,所述对话状态节点集合中的每个对话状态节点对应至少一个三元组数据并对应一个机器人行为以及与所述机器人行为对应的机器人回复数据;
[0026]设置有向边集合,其中,所述有向边集合中的任一有向边由头节点和尾节点构成,所述头节点与尾节点为所述对话状态节点集合中的任意对话状态节点,每条有向边对应至少一个判定条件,用于判定多轮对话任务需要调用的对话状态节点;
[0027]根据所述有向边集合生成多轮对话策略图。
[0028]可选的,所述根据所述多轮对话策略图构建多轮对话数据包括:
[0029]在多轮对话策略图包含的对话状态节点集合中采样第一对话状态节点,并将采样到的第一对话状态节点设置为对话流程开始节点,并构造已采样节点集合以及设置对话流程结束节点,其中,所述已采样节点集合包含已被采样过的对话状态节点;
[0030]判断所述第一对话状态节点是否为对话流程结束节点,是则将所述第一对话状态节点对应的三元组数据作为多轮对话数据集;
[0031]若所述第一对话状态节点不是对话流程结束节点,则从所述第一对话状态节点对应的至少一个三元组数据中采样得到一个第一三元组数据,将所述采集到的第一三元组数据中包含的意图类型作为第一数据;
[0032]在预设范围中采样一个随机数,若所述随机数满足第一判断条件,则从所述已采样节点集合外的未采样节点集合中采样第一数量阈值个第二对话状态节点,并对采集到的第二对话状态节点所对应的至少一个三元组数据进行采样,得到一个第二三元组数据,将所述第二三元组数据中包含的意图类型与所述第一数据拼接得到第二数据,并将所述第一数量阈值个第二对话状态节点加入所述已采集节点集合中;
[0033]若所述随机数满足第二判断条件,则从以所述第一对话状态节点为头节点的有向边对应的尾节点集合中采样第二数量阈值个第三对话状态节点,并对所述第三对话状态节点所对应的至少一个三元组数据进行采样,得到一个第三三元组数据,将所述第三三元组数据中包含的意图类型与所述第一数据拼接得到第二数据,并将所述第二数量阈值个第三对话状态节点加入所述已采集节点集合中;
[0034]若所述随机数满足第三判断条件,则将所述第一数据确定为第二数据;
[0035]采样所述第一对话状态节点对应的所述第一三元组数据中包含的槽位类型,并获取所述槽位类型对应的槽位值,将所述槽位值与所述第二数据拼接得到第三数据;
[0036]将所述第三数据加入多轮对话数据集,将所述第一对话状态节点加入所述已访问
节点集合;
[0037]从与所述第一对话状态节点构成有向边的对话状态节点中采样得到第四对话状态节点,重复执行判断所述第四对话状态节点是否为对话流程结束节点及以后的步骤,直至采样得到的对话状态节点为对话流程结束节点。
[0038]优选地,根据所述多轮对话策略图构建多轮对话数据集后还包括:
[0039]将所述多轮对话数据集输入具有数据改写能力的预训练语言模型,并对所述多轮对话数据集进行不低于改写轮次阈值的改写处理;
[0040]将每一轮改写后的多轮对话数据集加入训练数据集,当改写轮次超过改写轮次阈值时,将所述训练数据集作为训练样本。
[0041]第二方面,本申请实施例提供了一种多轮对话的生成方法,所述方法包括:
[0042]将给定问题输入多轮对话模型;
[0043]多轮对话模型根据所述给定问题的意图类型,确定调用的三元组数据;
[0044]根据所述三元组数据确定对话状态节点,根据所述对话状态节点确定机器人行为,根据所述机器人行为确定与所述机器人行为对应的机器人回复数据;
[0045]多轮对话本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多轮对话模型训练方法,其特征在于,所述方法包括:获取任务场景;根据所述任务场景获取意图类型集合;根据所述任务场景获取槽位种子模板,其中,所述槽位种子模板包括有槽位类型和与所述槽位类型对应的槽位值;构建三元组数据,其中,一个所述三元组数据包含所述意图类型集合中的一种意图类型,一种所述槽位类型以及一个与所述槽位类型对应的槽位值;根据所述任务场景获取机器人行为以及与所述机器人行为对应的机器人回复数据;根据所述三元组数据与所述机器人行为以及与所述机器人行为对应的机器人回复数据构建多轮对话策略图;根据所述多轮对话策略图构建多轮对话数据集;将所述多轮对话数据集作为模型训练样本,训练得到多轮对话模型。2.根据权利要求1所述的方法,其特征在于,所述根据所述任务场景获取槽位种子模板包括:根据所述任务场景确定槽位类型集合;从所述槽位类型集合中获取一个槽位类型,根据所述槽位类型确定槽位值;将所述槽位类型与槽位值确定为槽位种子模版。3.根据权利要求1所述的方法,其特征在于,所述根据所述任务场景获取槽位种子模板包括:根据所述任务场景确定槽位类型集合;从所述槽位类型集合中获取一个槽位类型,针对所述槽位类型确定槽位值;将所述槽位类型与槽位值确定为槽位种子模版;采样至少两个槽位种子模板并进行拼接,得到复杂化的槽位种子模板。4.根据权利要求1所述的方法,其特征在于,所述根据所述三元组数据与所述机器人行为以及与所述机器人行为对应的机器人回复数据构建多轮对话策略图包括:设置对话状态节点集合,其中,所述对话状态节点集合中的每个对话状态节点对应至少一个三元组数据并对应一个机器人行为以及与所述机器人行为对应的机器人回复数据;设置有向边集合,其中,所述有向边集合中的任一有向边由头节点和尾节点构成,所述头节点与尾节点为所述对话状态节点集合中的任意对话状态节点,每条有向边对应至少一个判定条件,用于判定多轮对话任务需要调用的对话状态节点;根据所述有向边集合生成多轮对话策略图。5.根据权利要求1所述的方法,其特征在于,所述根据所述多轮对话策略图构建多轮对话数据包括:在多轮对话策略图包含的对话状态节点集合中采样第一对话状态节点,并将采样到的第一对话状态节点设置为对话流程开始节点,并构造已采样节点集合以及设置对话流程结束节点,其中,所述已采样节点集合包含已被采样过的对话状态节点;判断所述第一对话状态节点是否为对话流程结束节点,是则将所述第一对话状态节点对应的三元组数据作为多轮对话数据集;若所述第一对话状态节点不是对话流程结束节点,则从所述第一对话状态节点对应的
至少一个三元组数据中采样得到一个第一三元组数据,将所述采集到的第一三元组数据中包含的意图类型作为第一数据;在预设范围中采样一个随机数,若所述随机数满足第一判断条件,则从所述已采样节点集合外的未采样节点集合中采样第一数量阈值个第二对话状态节点,并对采集到的第二对话状态节点所对应的至少一个三元组数据进行采样,得到一个第二三元组数据,将所述第二三元组数据中包含的意图类型与所述第一数据拼接得到第二数据,并将所述第一数量阈值个第二对话状态节点加入所述已采集节点集合中;若所述随机数满足第二判断条件,则从以所述第一对话状态节点为头节点的有向边对应的尾节点集合中...

【专利技术属性】
技术研发人员:赵亚东
申请(专利权)人:太保科技有限公司
类型:发明
国别省市:

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

1