一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

对话数据增广方法、电子设备和存储介质与流程

2022-06-01 09:08:29 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,具体涉及一种对话数据增广方法、电子设备和存储介质。


背景技术:

2.当前的预训练对话模型在开放端对话下游任务(例如情绪支持)中,通常需要大量的场景特定的对话数据进行训练。由于这部分数据一般并不能直接获得,实际应用中会采取众包的方式构建对话数据。但众包成本高、耗时长、质量控制复杂;且众包对话规模小、话题局限,基于众包数据训练的模型难以处理未见过的话题。因此非众包的对话数据增广技术成为了研究重点。
3.目前,现有的非众包对话数据增广方式主要关注任务导向对话的数据增广,即用户发言需要基于预设的用户目标、系统发言需要基于预设的知识库和对话行为集合等,其难以迁移到开放端对话的数据增广。且现有的对话数据增广方式主要通过两个独立模型之间的模拟交互来生成伪对话数据,但当模型规模增大时,两模型交替生成回复的耗时大大增加,难以大规模增广对话数据,且泛化能力差,限制了开放端对话数据的增广效率、规模及泛化能力。


技术实现要素:

4.本技术的目的是提供一种对话数据增广方法、电子设备和存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
5.根据本技术实施例的一个方面,提供一种对话数据增广方法,包括:
6.获取对话模板提示信息;
7.调用参数规模大于参数量阈值的预训练语言模型,应用该预训练语言模型基于所述对话模板提示信息独立进行对话数据增广处理。
8.在本技术的一些实施方式中,在所述应用该预训练语言模型基于所述对话模板提示信息独立进行对话数据增广处理之前,还包括:
9.采用数量小于样本阈值的对话样本对所述预训练语言模型进行微调。
10.在本技术的一些实施方式中,所述获取对话模板提示信息,包括:
11.获取预设的目标场景对应的以第一预设词引出的起始语句;
12.基于当前目标场景的描述信息、所述以第一预设词引出的起始语句以及用于提示所述预训练语言模型续写的第二预设词生成所述目标场景对应的对话模板提示信息。
13.在本技术的一些实施方式中,所述获取预设的目标场景对应的以第一预设词引出的起始语句,包括:
14.在所述目标场景对应的开源对话数据集和/或针对所述目标场景的共享文本中提
取对话起始语句;
15.基于第一预设词和所述对话起始语句,生成以所述第一预设词引出的起始语句。
16.在本技术的一些实施方式中,所述应用该预训练语言模型基于所述对话模板提示信息独立进行对话数据增广处理,包括:
17.将所述对话模板提示信息写入预设的对话模板中,以使所述预训练语言模型在该对话模板中以所述第二预设词为起始续写对话数据以完成对话数据的增广处理。
18.在本技术的一些实施方式中,所述目标场景包括:情绪支持对话场景;
19.相对应的,所述采用数量小于样本阈值的对话样本对所述预训练语言模型进行微调,包括:
20.在情绪支持任务esc框架下的情绪支持对话数据集esconv中,选取数量小于样本阈值的对话样本;
21.应用所述对话样本对所述预训练语言模型进行微调。
22.在本技术的一些实施方式中,所述目标场景包括:情绪支持对话场景;
23.相对应的,所述开源对话数据集包括:开源的共情对话数据集empatheticdialogues;所述共享文本包括:公开社交平台reddit中的心理健康文字内容。
24.在本技术的一些实施方式中,所述预训练语言模型包括:gpt-j。
25.根据本技术实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述任一项所述的对话数据增广方法。
26.根据本技术实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述任一项所述的对话数据增广方法。
27.本技术实施例的其中一个方面提供的技术方案可以包括以下有益效果:
28.相对于现有技术,本技术实施例提供的对话数据增广方法,(1)通过采用预训练语言模型独立进行对话数据增广处理的方式来有效提高开放端对话数据的增广效率,避免了两个模型之间进行模拟交互导致的耗时长等问题;(2)通过预先设置并采用对话模板提示信息,能够有效降低增广过程的复杂程度,能够有效省略诸如通过固定问题采集用户的基本信息、按策略抽取预设问题库中的部分问题、构建向用户提问的主问题流、对用户回复进行分类以及选取相应回复句作为对用户的响应等步骤,能够进一步提高开放端对话数据的增广效率,降低数据冗余;(3)通过调用参数规模大于参数量阈值的预训练语言模型,能够有效提高开放端对话数据的增广规模及泛化能力,进而能够提高基于增广后的对话数据进行模型训练的有效性及可靠性。
29.本技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本技术实施例了解。
附图说明
30.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,
还可以根据这些附图获得其他的附图。
31.图1示出了本技术的一些实施方式的对话数据增广方法流程图;
32.图2示出了本技术一些实施方式中的获取对话模板提示信息的流程图;
33.图3示出了本技术一些实施方式中的获取预设的目标场景对应的以第一预设词引出的起始语句的流程图;
34.图4示出了本技术的一个具体示例的英文对话数据增广记录文本的示意图;
35.图5示出了本技术的一些实施方式的电子设备结构框图;
36.图6示出了本技术的一些实施方式的计算机可读存储介质示意图。
37.本技术的目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
38.为了使本技术的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本技术做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
39.本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
40.现有技术中针对开放端对话数据增广的技术较少,且主要关注任务导向对话的数据增广(即用户发言需要基于预设的用户目标、系统发言需要基于预设的知识库和对话行为集合)。发明人发现,现有技术难以迁移到开放端对话的数据增广,其存在的不足主要包括以下两方面:
41.第一方面:计算效率较低,难以大规模增广对话数据。现有技术一般通过模型之间的模拟交互(例如一个用户模型和一个系统模型彼此聊天)来生成伪对话数据,但当模型规模增大时,两模型交替生成回复的耗时大大增加,难以大规模增广对话数据,也限制了大型预训练模型的使用。
42.第二方面:泛化能力不足,话题难以扩充。现有技术一般只能在领域内(即用来训练的对话数据所覆盖的)的话题上增广,无法泛化到领域外(即训练数据所不包含的)的话题上;众包对话数据库规模小、话题范围局限性大,导致基于众包数据训练的模型难以处理未见过的话题。现有技术无法利用大型预训练模型也进一步约束了方法的泛化能力。
43.在考虑应用预训练语言模型进行对话数据增广时,需要先通过固定问题采集用户的基本信息;按策略抽取预设问题库中的部分问题,构建向用户提问的主问题流;对用户回复进行分类,并选取相应回复句作为对用户的响应;然后才能够使用预训练语言模型根据当前问题和用户回复,生成与用户回复相关的后续问题。该种方式虽然采用了预训练语言模型,但仍需要做大量且复杂的工作,因此无法从根本上解决现有的对话数据增广效率低的问题。同时,预训练语言模型的规模众多,若未进行有效选取,依然无法提高开放端对话数据的增广规模及泛化能力。
44.如图1所示,本技术的一个实施例提供了一种对话数据增广方法。在本实施例的一些实施方式中,该方法包括步骤s10至步骤s20:
45.s10、获取对话模板提示信息。
46.如图2所示,在某些实施方式中,获取对话模板提示信息,包括步骤s101至步骤s102:
47.s101、获取预设的目标场景对应的以第一预设词引出的起始语句。
48.如图3所示,在某些实施方式中,获取预设的目标场景对应的以第一预设词引出的起始语句,包括:
49.s1011、在所述目标场景对应的开源对话数据集和/或针对所述目标场景的共享文本中提取对话起始语句。
50.s1012、基于第一预设词和所述对话起始语句,生成以所述第一预设词引出的起始语句。
51.一个具体示例的英文对话数据增广记录文本如图4所示,在图4所示的英文对话数据增广记录文本中,第一段的“the following is a conversation with an ai assistant.the assistant is helpful,empathetic,clever,and very friendly.it can use various support skills to provide emotional support to human.”描述了预设的目标场景。第一预设词为human,以第一预设词引出的起始语句为“human:i moved into a new state recently,and there’s a lot to do,but i don’t have any friends in the new place i stay at.”,第二预设词为ai。
52.s102、基于当前目标场景的描述信息、所述以第一预设词引出的起始语句以及用于提示所述预训练语言模型续写的第二预设词生成所述目标场景对应的对话模板提示信息。
53.在上述的具体示例中,基于当前目标场景的描述信息、以第一预设词human引出的起始语句以及用于提示所述预训练语言模型续写的第二预设词ai生成的所述目标场景对应的对话模板提示信息如下:
[0054]“the following is a conversation with an ai assistant.the assistant is helpful,empathetic,clever,and very friendly.it can use various support skills to provide emotional support to human.
[0055]
human:i moved into a new state recently,and there’s a lot to do,but i don’t have any friends in the new place i stay at.
[0056]
ai:”。
[0057]
s20、调用参数规模大于参数量阈值的预训练语言模型,应用该预训练语言模型基于所述对话模板提示信息独立进行对话数据增广处理。
[0058]
在某些实施方式中,所述预训练语言模型包括:gpt-j。
[0059]
在某些实施方式中,在所述应用该预训练语言模型基于所述对话模板提示信息独立进行对话数据增广处理之前,本实施例的方法还包括:
[0060]
采用数量小于样本阈值的对话样本对所述预训练语言模型进行微调。
[0061]
在某些实施方式中,所述应用该预训练语言模型基于所述对话模板提示信息独立进行对话数据增广处理,包括:
[0062]
将所述对话模板提示信息写入预设的对话模板中,以使所述预训练语言模型在该对话模板中以所述第二预设词为起始续写对话数据以完成对话数据的增广处理。
[0063]
在某些实施方式中,所述目标场景包括:情绪支持对话场景;
[0064]
相对应的,所述采用数量小于样本阈值的对话样本对所述预训练语言模型进行微调,包括:
[0065]
在情绪支持任务esc框架下的情绪支持对话数据集esconv中,选取数量小于样本阈值的对话样本;
[0066]
应用所述对话样本对所述预训练语言模型进行微调。应用所述对话样本对所述预训练语言模型进行微调,可以提升预训练语言模型续写的对话的质量,使得其充分保留足够的泛化能力,在新话题的泛化性上更好。
[0067]
相对应的,所述开源对话数据集包括:开源的共情对话数据集empatheticdialogues;所述共享文本包括:公开社交平台reddit中的心理健康文字内容。采用开源的共情对话数据集empatheticdialogues以及公开社交平台reddit中的心理健康文字内容能够提高触发出的对话的话题多样性和丰富度。
[0068]
上述具体示例的英文对话数据增广记录文本中,该文本中剩余的部分为通过自回归语言模型给定模板提示,可以采用gpt-j续写完成的剩余对话。自回归语言模型例如可以为gpt-j模型。自回归语言模型能够实现根据上文预测下文或者根据下文预测上文。利用预训练语言模型,可以将增广对话数据处理成语言建模任务;利用具有信息量的起始语句触发话题多样的对话。语言建模的增广方式只需要一次生成,相比使用两个独立模型模拟交互、交替生成的方式,计算效率大大提升,计算效率高,利用大型预训练语言模型变得可行;使用了开源的最大的预训练语言模型gpt-j(含60亿参数),只需少量样本微调即可生成高质量对话数据,对众包对话数据的依赖更小;所用的gpt-j模型规模大,本身具有丰富的知识,少样本微调使得其充分保留了足够的泛化能力,在新话题的泛化性上更好。
[0069]
gpt-j具有60亿的参数规模,是当前最大的开源的生成式预训练语言模型,其巨大的规模能够确保高效完成以语言建模的形式续写对话的任务。
[0070]
为了提升gpt-j续写的对话的质量,可以事先在少量(例如100个)下游任务的对话上微调(例如对于情绪支持对话场景,可以利用数据集esconv),少量样本微调是为了保留gpt-j原本具有的知识、防止过拟合、提高在新话题上的泛化性。
[0071]
相对于现有技术,本技术实施例提供的对话数据增广方法,(1)通过采用预训练语言模型独立进行对话数据增广处理的方式来有效提高开放端对话数据的增广效率,避免了两个模型之间进行模拟交互导致的耗时长等问题;(2)通过预先设置并采用对话模板提示信息,能够有效降低增广过程的复杂程度,能够有效省略诸如通过固定问题采集用户的基本信息、按策略抽取预设问题库中的部分问题、构建向用户提问的主问题流、对用户回复进行分类以及选取相应回复句作为对用户的响应等步骤,能够进一步提高开放端对话数据的增广效率,降低数据冗余;(3)通过调用参数规模大于参数量阈值的预训练语言模型,能够有效提高开放端对话数据的增广规模及泛化能力,进而能够提高基于增广后的对话数据进行模型训练的有效性及可靠性。
[0072]
本技术的另一个实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述
任一实施方式所述的对话数据增广方法。
[0073]
如图5所示,所述电子设备10可以包括:处理器100,存储器101,总线102和通信接口103,所述处理器100、通信接口103和存储器101通过总线102连接;所述存储器101中存储有可在所述处理器100上运行的计算机程序,所述处理器100运行所述计算机程序时执行本技术前述任一实施方式所提供的方法。
[0074]
其中,存储器101可能包含高速随机存取存储器(ram:random access memory),也可能还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
[0075]
总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器101用于存储程序,所述处理器100在接收到执行指令后,执行所述程序,前述本技术实施例任一实施方式揭示的所述方法可以应用于处理器100中,或者由处理器100实现。
[0076]
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,可以包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成上述方法的步骤。
[0077]
本技术实施例提供的电子设备与本技术实施例提供的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
[0078]
本技术的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述任一实施方式所述的对话数据增广方法。
[0079]
本技术实施方式还提供一种与前述实施方式所提供的方法对应的计算机可读存储介质,请参考图6,其示出的计算机可读存储介质为光盘20,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的方法。
[0080]
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
[0081]
本技术的上述实施例提供的计算机可读存储介质与本技术实施例提供的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0082]
需要说明的是:
[0083]
术语“模块”并非意图受限于特定物理形式。取决于具体应用,模块可以实现为硬件、固件、软件和/或其组合。此外,不同的模块可以共享公共组件或甚至由相同组件实现。不同模块之间可以存在或不存在清楚的界限。
[0084]
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示例一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本技术也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本技术的内容,并且上面对特定语言所做的描述是为了披露本技术的最佳实施方式。
[0085]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0086]
以上所述实施例仅表达了本技术的实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献