本发明涉及人工智能技术领域,具体涉及一种对话模型构建方法。
背景技术:
随着人工智能技术的普及和发展,人机对话系统在电商、金融、电信等多个领域都得到了广泛应用。在人机交互的过程中,对话管理方法通过理解用户话语、识别其真实意图,近而查询某些信息或执行某种操作,最后把响应结果返回给用户。人机对话系统的应用极大提高了用户查询信息、执行操作的效率,有效提升了用户体验。
现有的基于监督学习或强化学习的对话管理方法通常需要依赖大规模的用户与机器人之间的真实对话语料,才可以训练出效果较好的对话模型。该方案需要消耗大量的人力和时间去生成大规模真实的对话语料,成本高昂,导致对话模型开发效率较低,从而影响对话模型的广泛应用。
技术实现要素:
为解决现有技术的不足,本发明实施例提供了一种对话模型构建方法,该方法包括以下步骤:
将操作a1输入对话模型q,生成语句s1;
将当前操作a1、语句s1输入对话模型q,生成下一个概率最大的操作a2;
将操作a2输入对话模拟模型m,得到语句s2;
根据对话模拟模型m结束本次对话持续的轮数,得到评分r;
将(s1,a1,r,s2,a2)作为训练数据集输入对话模型q;
重复上述步骤,直至本次对话状态终止且本次对话轮数大于设定的阈值,生成训练后的对话模型。
优选地,在将操作a1输入对话模型q,生成语句s1之前,所述方法还包括:
初始化对话模型q的各个参数及对话模拟模型m的各个参数。
优选地,根据当前操作a、状态s和对话模型q,生成下一个概率最大的操作a2包括:
对话模型q利用viterbi算法,输出下一个概率最大的操作a2。
优选地,在生成训练后的对话模型之前,所述方法还包括:
将(s1,a1,r,s2,a2)作为训练数据集输入对话模拟模型m,对对话模拟模型m进行训练。
优选地,对话模型q采用隐马尔可夫模型建模。
本发明实施例提供的对话模型构建方法,具有以下有益效果:
只需提供少部分真实对话语料库为引导,通过对话模拟模型自动产生的模拟对语料库,将真实语料库和模拟对语料库集合作为训练数据集,即可训练出效果较好的对话模型,可以有效减少真实对话语料的数量,可大幅减少人力及时间成本,同时能够提高开发对话模型的效率。
具体实施方式
以下结合具体实施例对本发明作具体的介绍。
本发明提供的实施例提供的对话模型构建方法,包括以下步骤:
s101,将操作a1输入对话模型q,生成语句s1。
其中,对话模型q包括机器人对话模型,是系统训练的目标模型。
作为本发明一个具体的实施例,当用户输入操作a1为“早上好”时,对话模型q判断用户当前的意图为“寒暄”,针对此意图输出“您好”的问候语。
s102,将当前操作a1、语句s1输入对话模型q,生成下一个概率最大的操作a2。
作为本发明一个具体的实施例,当用户输入操作a1为“北京明天天气怎么样”,对话模型q判断用户当前的意图为意图为“查询天气”,针对此意图执行查询北京明天天气的操作,并把查询结果返回给用户并生成下一个概率最大的操作“请问您明天有什么计划?”
s103,将操作a2输入对话模拟模型m,得到语句s2。
其中,对话模拟模型m是指模拟回复用户的对话模型,用于生成训练语料。
s104,根据对话模拟模型m结束本次对话持续的轮数,得到评分r。
其中,评分r为对话模型的一个可量化的标量反馈信号,用于评价对话模型在某一个时间步所执行操作的好坏。
作为本发明一个具体的实施例,当对话未结束时,每增加一轮对话就给一个-1分的评分;当对话结束时,如果完成任务则在当前得分基础上加2,否则在当前得分基础减去2的2倍,即减4。
s105,将(s1,a1,r,s2,a2)作为训练数据集输入对话模型q。
s106,重复上述步骤s101-s105,直至本次对话状态终止且本次对话轮数大于设定的阈值,生成训练后的对话模型。
可选地,在将操作a1输入对话模型q,生成语句s1之前,该方法还包括:
初始化对话模型q的各个参数及对话模拟模型m的各个参数。
可选地,根据当前操作a、状态s和对话模型q,生成下一个概率最大的操作a2包括:
对话模型q利用viterbi算法,输出下一个概率最大的操作a2。
可选地,在生成训练后的对话模型之前,该方法还包括:
将(s1,a1,r,s2,a2)作为训练数据集输入对话模拟模型m,对对话模拟模型m进行训练。
可选地,对话模型q采用隐马尔可夫模型建模。
本发明实施例提供的对话模型构建方法,通过将操作a1输入对话模型q,生成语句s1,将当前操作a1、语句s1输入对话模型q,生成下一个概率最大的操作a2,将操作a2输入对话模拟模型m,得到语句s2,根据对话模拟模型m结束本次对话持续的轮数,得到评分r,将(s1,a1,r,s2,a2)作为训练数据集输入对话模型q,重复上述步骤,直至本次对话状态终止且本次对话轮数大于设定的阈值,生成训练后的对话模型,有效地减少了真实对话语料的数量,减少了人力及时间成本,提高了开发对话模型的效率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
1.一种对话模型构建方法,其特征在于,包括:
将操作a1输入对话模型q,生成语句s1;
将当前操作a1、语句s1输入对话模型q,生成下一个概率最大的操作a2;
将操作a2输入对话模拟模型m,得到语句s2;
根据对话模拟模型m结束本次对话持续的轮数,得到评分r;
将(s1,a1,r,s2,a2)作为训练数据集输入对话模型q;
重复上述步骤,直至本次对话状态终止且本次对话轮数大于设定的阈值,生成训练后的对话模型。
2.根据权利要求1所述的对话模型构建方法,其特征在于,在将操作a1输入对话模型q,生成语句s1之前,所述方法还包括:
初始化对话模型q的各个参数及对话模拟模型m的各个参数。
3.根据权利要求1所述的对话模型构建方法,其特征在于,根据当前操作a、状态s和对话模型q,生成下一个概率最大的操作a2包括:
对话模型q利用viterbi算法,输出下一个概率最大的操作a2。
4.根据权利要求1所述的对话模型构建方法,其特征在于,在生成训练后的对话模型之前,所述方法还包括:
将(s1,a1,r,s2,a2)作为训练数据集输入对话模拟模型m,对对话模拟模型m进行训练。
5.根据权利要求1所述的对话模型构建方法,其特征在于,对话模型q采用隐马尔可夫模型建模。
6.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如权利要求1-4所述的方法。
7.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1-4所述的方法。
技术总结