掌桥专利:专业的专利平台
掌桥专利
首页

一种基于对话结构的驱动型对话生成方法及相关产品

文献发布时间:2024-04-18 19:52:40


一种基于对话结构的驱动型对话生成方法及相关产品

技术领域

本申请涉及自然语言处理技术领域,特别是涉及一种基于对话结构的驱动型对话生成方法及相关产品。

背景技术

在实际的对话类项目冷启动阶段,许多项目没有符合该项目业务需求的实际业务对话数据。这就使得该项目的开发、测试、工作需要人工制造大量的数据,需要耗费大量的人力物力。大模型基于其对话生成能力刚好可以缓解这种状况。

现有技术用到的大模型对于任务驱动型对话的任务理解不足,生成的对话存在不符合预期的问题。具体的,目前的大模型具备一定的对话生成能力,给定一定的语境确实可以生成相关的对话,但是对于相对复杂的语境或者说给定一定的任务流程,大模型无法根据任务流程生成符合任务流程的对话,容易产生对话数据生成效率低以及准确性差的问题。

因此,如何提高对话数据的生成效率以及生成准确性,是本领域技术人员急需解决的问题。

发明内容

基于上述问题,本申请提供了一种基于对话结构的驱动型对话生成方法及相关产品,以提示工程的方式控制通过大量预训练语料训练好的优化大模型按需生成符合分布要求的对话数据,解决了现有技术对话数据生成效率低以及准确性差的问题。

第一方面,本申请提供了一种基于对话结构的驱动型对话生成方法,包括:

获取输入指令,并按照所述输入指令确定对应的业务需求;

基于所述业务需求建设与所述业务需求对应的实际对话流程和实际马可夫矩阵;

基于所述实际对话流程和所述实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与所述业务需求对应的对话。

可选的,所述基于所述实际对话流程和所述实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与所述业务需求对应的对话之前,还包括:

基于所述实际对话流程和所述实际马可夫矩阵生成实际伪代码。

可选的,所述基于所述实际对话流程和所述实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与所述业务需求对应的对话,包括:

将基于所述实际对话流程和所述实际马可夫矩阵生成的所述实际伪代码加入到对话生成的提示工程中;

基于所述提示工程,利用训练好的优化大模型生成与所述业务需求对应的对话。

可选的,所述获取输入指令,并按照所述输入指令确定对应的业务需求之前,还包括:

基于开源任务型对话数据集训练基础大模型,得到训练好的优化大模型。

可选的,所述基于开源任务型对话数据集训练基础大模型,得到训练好的优化大模型,包括:

基于槽位识别和意图识别的流程挖掘技术,从开源任务型对话数据集中挖掘出有效的训练对话流程,并形成对应的训练马可夫矩阵;

根据所述训练对话流程和所述训练马可夫矩阵生成对应的训练伪代码;

基于所述训练伪代码训练基础大模型,得到训练好的优化大模型。

可选的,所述基于槽位识别和意图识别的流程挖掘技术,从开源任务型对话数据集中挖掘出有效的训练对话流程,并形成对应的训练马可夫矩阵,包括:

对开源任务型对话数据集进行槽位和意图的统一整理;

基于所述开源任务型对话数据集的所述槽位和所述意图,使用关联分析算法Apriori挖掘有效的训练对话流程,并形成训练马可夫矩阵。

可选的,所述基于所述训练伪代码训练基础大模型,得到训练好的优化大模型,包括:

将所述训练伪代码加入到对话生成的提示工程中,形成包含任务流信息的对话数据集;

将所述对话数据集加入到基础大模型的预训练监督微调阶段对所述基础大模型进行训练,得到训练好的优化大模型。

第二方面,本申请提供了一种基于对话结构的驱动型对话生成装置,其特征在于,包括:

获取模块,用于获取输入指令,并按照所述输入指令确定对应的业务需求;

建设模块,用于基于所述业务需求建设与所述业务需求对应的实际对话流程和实际马可夫矩阵;

生成模块,用于基于所述实际对话流程和所述实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与所述业务需求对应的对话。

第三方面,本申请提供了一种基于对话结构的驱动型对话生成设备,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一项所述基于对话结构的驱动型对话生成方法的步骤。

第四方面,本申请提供了一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述基于对话结构的驱动型对话生成方法的步骤。

从以上技术方案可以看出,相较于现有技术,本申请具有以下优点:

本申请首先获取输入指令,并按照输入指令确定对应的业务需求。然后基于业务需求建设与业务需求对应的实际对话流程和实际马可夫矩阵。最后基于实际对话流程和实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与业务需求对应的对话。如此,以提示工程的方式控制通过大量预训练语料训练好的优化大模型按需生成符合分布要求的对话数据,提高了生成对话数据的高效性和准确性。

附图说明

图1为本申请提供的一种基于对话结构的驱动型对话生成方法的流程图;

图2为本申请提供的一种基于对话结构的驱动型对话生成装置的结构示意图。

具体实施方式

正如前文所述,现有技术容易产生对话数据生成效率低以及准确性差的问题。具体的,在大模型出现之前,在实际的对话类项目冷启动阶段,许多项目没有符合该项目业务需求的实际业务对话数据。这就使得该项目的开发、测试、工作需要人工制造大量的数据,需要耗费大量的人力物力。之后出现的大模型基于其对话生成能力刚好可以缓解这种状况,但对于任务驱动型对话的任务理解不足,生成的对话经常不符合预期。因为,目前的大模型虽然具备一定的对话生成能力,给定一定的语境确实可以生成相关的对话,但是对于相对复杂的语境或者说给定一定的任务流程,大模型无法根据任务流程生成符合任务流程的对话,容易产生对话数据生成效率低以及准确性差的问题。

为解决上述问题,本申请提供了一种基于对话结构的驱动型对话生成方法,包括:首先获取输入指令,并按照输入指令确定对应的业务需求。然后基于业务需求建设与业务需求对应的实际对话流程和实际马可夫矩阵。最后基于实际对话流程和实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与业务需求对应的对话。

如此,本申请以提示工程的方式控制通过大量预训练语料训练好的优化大模型按需生成符合分布要求的对话数据,提高了生成对话数据的高效性和准确性。

需要说明的是,本申请提供的一种基于对话结构的驱动型对话生成方法及相关产品可应用于自然语言处理技术领域。上述仅为示例,并不对本申请提供的一种基于对话结构的驱动型对话生成方法及相关产品的应用领域进行限定。

为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请提供的一种基于对话结构的驱动型对话生成方法的流程图。结合图1所示,本申请提供的一种基于对话结构的驱动型对话生成方法,可以包括:

S101:获取输入指令,并按照所述输入指令确定对应的业务需求。

在实际应用中,现有技术用到的大模型对于任务驱动型对话的任务理解不足,生成的对话存在不符合预期的问题。目前的大模型具备一定的对话生成能力,给定一定的语境确实可以生成相关的对话,但是对于相对复杂的语境或者说给定一定的任务流程,大模型无法根据任务流程生成符合任务流程的对话,容易产生对话数据生成效率低以及准确性差的问题。因此,本申请提供了一种基于对话结构的驱动型对话生成方法,以提示工程的方式控制通过大量预训练语料训练好的优化大模型按需生成符合分布要求的对话数据,提高了生成对话数据的高效性和准确性。具体的,基于对话结构的驱动型对话生成装置实时接收用户的输入指令,同时明确该输入指令对应的业务需求。可以理解的是,输入指令为用户通过自然语言输入的任务,基于对话结构的驱动型对话生成装置对该任务进行理解,明确用户需求。

S102:基于所述业务需求建设与所述业务需求对应的实际对话流程和实际马可夫矩阵。

在实际应用中,明确了用户需求后,基于对话结构的驱动型对话生成装置便会根据用户需求建设对应的实际对话流程和实际马可夫矩阵。

S103:基于所述实际对话流程和所述实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与所述业务需求对应的对话。

在实际应用中,训练好的优化大模型可以理解任务流程并根据任务流程生成符合任务流程的相关对话。具体的,基于对话结构的驱动型对话生成装置将实际对话流程和实际马可夫矩阵输入训练好的优化大模型中,供优化大模型进行理解,然后以提示工程的方式控制优化大模型生成与业务需求对应的对话。

另外,由于生成与业务需求对应的对话的方式不尽相同,因此本申请可以就一种可能的生成方式进行说明。

在一种情况下,针对如何生成与业务需求对应的对话。相应的,所述基于所述实际对话流程和所述实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与所述业务需求对应的对话之前,还包括:

基于所述实际对话流程和所述实际马可夫矩阵生成实际伪代码。

在实际应用中,优化大模型是通过基础大模型训练得到的。具体的,本申请是通过“提示工程”的方式激发大模型的驱动型对话生成潜力。大模型的预训练监督微调阶段需要大量具有任务流程的对话,所以首先在开源的任务驱动型对话中挖掘任务流程,然后根据任务流程做提示工程建设。其中提示工程的输入一般是伪代码,所以在控制训练好的优化大模型生成与业务需求对应的对话前,需要基于对话结构的驱动型对话生成装置将实际对话流程和实际马可夫矩阵转换为实际伪代码,然后基于实际伪代码以提示工程的方式控制优化大模型生成与业务需求对应的对话。

另外,由于生成与业务需求对应的对话的方式不尽相同,因此本申请可以就一种可能的生成方式进行说明。

在一种情况下,针对如何生成与业务需求对应的对话。相应的,S103:基于所述实际对话流程和所述实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与所述业务需求对应的对话,具体包括:

将基于所述实际对话流程和所述实际马可夫矩阵生成的所述实际伪代码加入到对话生成的提示工程中;

基于所述提示工程,利用训练好的优化大模型生成与所述业务需求对应的对话。

在实际应用中,如上所述,本申请中提供的训练好的优化大模型是以“提示工程”的方式激发驱动型对话生成潜力。而提示工程的输入一般是伪代码,所以在控制训练好的优化大模型生成与业务需求对应的对话前,需要基于对话结构的驱动型对话生成装置将实际对话流程和实际马可夫矩阵转换为实际伪代码。若要生成与业务需求对应的对话,需要基于对话结构的驱动型对话生成装置将基于实际对话流程和实际马可夫矩阵生成的实际伪代码输入到对话生成的提示工程中,控制训练好的优化大模型生成与业务需求对应的对话。

另外,由于得到训练好的优化大模型的方式不尽相同,因此本申请可以就一种可能的得到方式进行说明。

在一种情况下,针对如何得到训练好的优化大模型。相应的,所述获取输入指令,并按照所述输入指令确定对应的业务需求之前,还包括:

基于开源任务型对话数据集训练基础大模型,得到训练好的优化大模型。

在实际应用中,用到的优化大模型是通过基础大模型进行训练得到的。具体的,大模型的预训练监督微调阶段需要大量具有任务流程的对话,所以首先需要在开源的任务驱动型对话数据集中挖掘任务流程,然后根据任务流程做提示工程建设。

另外,由于得到训练好的优化大模型的方式不尽相同,因此本申请可以就一种可能的得到方式进行说明。

在一种情况下,针对如何得到训练好的优化大模型。相应的,所述基于开源任务型对话数据集训练基础大模型,得到训练好的优化大模型,包括:

基于槽位识别和意图识别的流程挖掘技术,从开源任务型对话数据集中挖掘出有效的训练对话流程,并形成对应的训练马可夫矩阵;

根据所述训练对话流程和所述训练马可夫矩阵生成对应的训练伪代码;

基于所述训练伪代码训练基础大模型,得到训练好的优化大模型。

在实际应用中,为了保证训练好的优化大模型是我们需要的,所以需要选择有效的对话数据对基础大模型进行训练。本发明通过将任务流程转化为伪代码,将伪代码融入大模型的预训练监督微调阶段,让大模型有认知伪代码的能力。同时将基于槽位识别和意图识别的流程挖掘技术应用于公开的任务驱动型中文对话数据,即应用到开源任务型对话数据集,挖掘出有效的训练对话流程,形成对应的训练马可夫矩阵并生成对应的训练伪代码,最后基于训练伪代码训练基础大模型,得到训练好的优化大模型。从而让优化大模型得到理解伪代码型任务流以及根据任务流生成符合任务流的相关对话的关键能力。

另外,由于从开源任务型对话数据集中挖掘出有效的训练对话流程的方式不尽相同,因此本申请可以就一种可能的挖掘方式进行说明。

在一种情况下,针对如何从开源任务型对话数据集中挖掘出有效的训练对话流程。相应的,所述基于槽位识别和意图识别的流程挖掘技术,从开源任务型对话数据集中挖掘出有效的训练对话流程,并形成对应的训练马可夫矩阵,包括:

对开源任务型对话数据集进行槽位和意图的统一整理;

基于所述开源任务型对话数据集的所述槽位和所述意图,使用关联分析算法Apriori挖掘有效的训练对话流程,并形成训练马可夫矩阵。

在实际应用中,首先基于槽位抽取技术,使用规则引擎和基于指针网络的efficienct-globalpointer模型对于对话中的槽位和相关重要实体进行信息抽取,得到一定的槽位信息(包含对话中的意向动词、动作对象等)。在得到对话的语句槽位后,根据对话槽位建立对话的槽位链路,并使用Apriori技术对上述槽位链路进行挖掘,从而形成有价值的对话任务流程。例如,有1000条实际生产的多轮对话数据,假设得到1000条可能完全不相同的槽位链路,然后利用Apriori技术对这1000条槽位链路进行挖掘,从而形成n个有价值的对话任务流程。若将这n个对话流程分别对于每个对话进行打标,则得到了1000个对话分别对应的对话流程。可以理解的是,该流程输入的是1000条多轮对话数据,输出的是1000条对话数据对应的槽位信息抽取结果、n个有价值对话结构以及1000条对话数据对应的对话结构标签。接下来需要对这n个对话流程进行马可夫矩阵建设。具体的,首先对这n个对话任务流程的槽位进行采样,从而形成了马可夫矩阵的基础元素,如意图、位置、类别、评分、可用选项以及名字等,随后基于基础元素即马可夫矩阵的横纵坐标(即之前的槽位,不同的是这里是挑选后的高价值槽位)对这1000个对话进行基础元素转换的概率计算,即填写马可夫矩阵中的具体元素值。在得到马可夫矩阵后便可以将马可夫转换伪代码的代码,使用伪代码将马可夫矩阵表示出来,即根据所述训练对话流程和所述训练马可夫矩阵生成对应的训练伪代码。可以理解的是,该流程输入的是n个有价值对话结构以及1000条对话数据对应的槽位信息抽取结果,输出的是槽位信息的马可夫矩阵以及马可夫矩阵对应的伪代码。若原始矩阵,即马可夫矩阵如下表1所示:

表1

那么伪代码可以表示如下:

另外,由于得到训练好的优化大模型的方式不尽相同,因此本申请可以就一种可能的得到方式进行说明。

在一种情况下,针对如何得到训练好的优化大模型。相应的,所述基于所述训练伪代码训练基础大模型,得到训练好的优化大模型,包括:

将所述训练伪代码加入到对话生成的提示工程中,形成包含任务流信息的对话数据集;

将所述对话数据集加入到基础大模型的预训练监督微调阶段对所述基础大模型进行训练,得到训练好的优化大模型。

在实际应用中,结合上述示例,从1000条数据中随机挑选50条数据,并将对话结构的伪代码加入对话生成的提示工程中,即融入开源sft数据中。需要注意的是,需要根据基本对话结构对着50条数据进行人工的数据处理,对于无意义不在对话结构中的对话轮次进行删减。具体数据结构如下:

其中A为伪代码表示的对话结构,B为原始对话数据,C为人工删减处理后的对话数据。可以理解的是,该流程输入的是50条数据一级对应的对话结构伪代码,输出的是这50条数据对应的sft的数据格式。如此,将处理后的这50条数据加入到基础大模型的预训练监督微调阶段对基础大模型进行训练,得到训练好的优化大模型。可以理解的是,该流程的输入是基础大模型以及上述50条数据对应的sft的数据格式,输出的是训练好的优化大模型。对于高质量对话数据的生成而言,使用类似sft数据的提示prompt形式,将原始的对话数据与相对应的对话结构伪代码融入其中,输入到大模型中,从而得到大量符合对话结构的高质量对话数据。在实际使用中,我们可以随意更改对话结构,从而使大模型能按我们的业务需求生成符合对话结构的对话。可以理解的是,该流程输入的是上述1000条数据对应的sft数据格式的问句部分,通过优化大模型输出符合对话结构的高质量对话数据。

综上所述,本申请首先获取输入指令,并按照输入指令确定对应的业务需求。然后基于业务需求建设与业务需求对应的实际对话流程和实际马可夫矩阵。最后基于实际对话流程和实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与业务需求对应的对话。如此,以提示工程的方式控制通过大量预训练语料训练好的优化大模型按需生成符合分布要求的对话数据,提高了生成对话数据的高效性和准确性。

图2为本申请提供的一种基于对话结构的驱动型对话生成装置的结构示意图。结合图2所示,本申请实施例提供的基于对话结构的驱动型对话生成装置200,包括:

获取模块201,用于获取输入指令,并按照所述输入指令确定对应的业务需求;

建设模块202,用于基于所述业务需求建设与所述业务需求对应的实际对话流程和实际马可夫矩阵;

生成模块203,用于基于所述实际对话流程和所述实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与所述业务需求对应的对话。

作为一种实施方式,针对如何生成业务需求对应的对话,上述基于对话结构的驱动型对话生成装置200,还包括:转换模块;

转换模块,用于基于所述实际对话流程和所述实际马可夫矩阵生成实际伪代码。

作为一种实施方式,针对如何以提示工程的方式控制训练好的优化大模型生成与业务需求对应的对话,上述生成模块203,具体用于:

将基于所述实际对话流程和所述实际马可夫矩阵生成的所述实际伪代码加入到对话生成的提示工程中;

基于所述提示工程,利用训练好的优化大模型生成与所述业务需求对应的对话。

作为一种实施方式,针对如何得到训练好的优化大模型,上述基于对话结构的驱动型对话生成装置200,还包括:训练模块;

训练模块,用于基于开源任务型对话数据集训练基础大模型,得到训练好的优化大模型。

作为一种实施方式,针对如何得到训练好的优化大模型,上述训练模块具体包括:挖掘模块、转化子模块以及训练子模块;

挖掘模块,用于基于槽位识别和意图识别的流程挖掘技术,从开源任务型对话数据集中挖掘出有效的训练对话流程,并形成对应的训练马可夫矩阵;

转化子模块,用于根据所述训练对话流程和所述训练马可夫矩阵生成对应的训练伪代码;

训练子模块,用于基于所述训练伪代码训练基础大模型,得到训练好的优化大模型。

作为一种实施方式,针对如何从开源任务型对话数据集中挖掘出有效的训练对话流程,上述挖掘模块,具体用于:

对开源任务型对话数据集进行槽位和意图的统一整理;

基于所述开源任务型对话数据集的所述槽位和所述意图,使用关联分析算法Apriori挖掘有效的训练对话流程,并形成训练马可夫矩阵。

作为一种实施方式,针对如何基于训练伪代码训练基础大模型,上述训练子模块,具体用于:

将所述训练伪代码加入到对话生成的提示工程中,形成包含任务流信息的对话数据集;

将所述对话数据集加入到基础大模型的预训练监督微调阶段对所述基础大模型进行训练,得到训练好的优化大模型。

综上所述,本申请首先获取输入指令,并按照输入指令确定对应的业务需求。然后基于业务需求建设与业务需求对应的实际对话流程和实际马可夫矩阵。最后基于实际对话流程和实际马可夫矩阵,以提示工程的方式控制训练好的优化大模型生成与业务需求对应的对话。如此,以提示工程的方式控制通过大量预训练语料训练好的优化大模型按需生成符合分布要求的对话数据,提高了生成对话数据的高效性和准确性。

另外,本申请还提供了一种基于对话结构的驱动型对话生成设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述任一项所述基于对话结构的驱动型对话生成方法的步骤。

另外,本申请还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述基于对话结构的驱动型对话生成方法的步骤。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种复合绝缘子R销拔送器
  • 一种钳工拔销器
  • 一种连杆式的大行程拔销器
  • 一种大行程的拔销器
技术分类

06120116330976