构建对话系统的训练语料的方法、训练方法和计算设备与流程

未命名 08-02 阅读:90 评论:0


1.本公开涉及人工智能领域,特别涉及对话系统。


背景技术:

2.对话系统(dialogue system)是一种模拟人类并旨在与人类形成连贯通顺对话/交互的人工智能系统,例如可以理解用户输入的语音的含义并完成相应的任务和/或输出相应的回答语音等。在一些对话系统中,通常需要针对意图识别和/或槽位提取等任务来对相当大数量的样本进行标注,从而形成对话系统的训练语料,而对话系统的训练语料的标注是系统模型构建的数据基础。


技术实现要素:

3.本公开实施例提供了构建对话系统的训练语料的方法、训练方法以及相应的执行这些方法的计算设备和非暂时性机器可读存储介质。
4.根据本公开实施例的第一个方面,提供了一种构建对话系统的训练语料的方法,包括:获取要应用所述对话系统的设备的意图体系;获取待标注样本;利用语言模型基于所述意图体系受限生成所述待标注样本的意图;以及以所述意图标注所述待标注样本,生成所述对话系统的训练语料。
5.可选地,所述意图体系是按照前缀树的数据结构编码的,其中,所述前缀树的每条路径形成所述意图体系中的一个意图,并且利用所述语言模型基于所述意图体系受限生成所述待标注样本的意图包括:利用所述语言模型阶段地生成所述意图,并且在各个阶段利用所述前缀树约束要生成的所述意图的部分,以确保当前要生成的部分属于之前已生成的前缀部分所属的最后一个前缀树节点的通往下一个子节点的路径上所存储的部分中的一个。
6.可选地,在所述前缀树的通往子节点的每条路径上存储所述意图体系中的各意图中的一个字符,并且利用所述语言模型来逐个字符地生成所述意图,并且在各个字符生成阶段利用所述意图体系的前缀树来约束要生成的字符,以确保当前要生成的字符属于之前已生成的前缀部分所属的最后一个前缀树节点通往下一个子节点的路径上所存储的字符中的一个。
7.可选地,生成所述待标注样本的意图包括:将所述待标注样本拼接意图提示,将拼接后的所述待标注样本输入所述语言模型生成所述意图。
8.可选地,在生成所述待标注样本的所述意图之后,所述方法还包括:获取以所述意图标注所述待标注样本后的意图标注样本;将所述意图标注样本拼接与所述意图适配的槽位提示;将拼接槽位提示后的所述意图标注样本输入所述语言模型以生成槽位;以及以所述槽位标注拼接槽位提示后的所述意图标注样本,生成所述对话系统的训练语料。
9.可选地,所述槽位是所述待标注样本中的任意片段。
10.可选地,所述语言模型利用波束搜索算法来生成所述待标注样本的所述意图。
11.根据本公开实施例的第二个方面,提供了一种构建对话系统的训练语料的方法,包括:获取提供要应用所述对话系统的多种设备的意图体系;获取待标注样本;利用语言模型基于所述多种设备中的各种设备的意图体系受限生成所述待标注样本的在所述各种设备中的意图;以及以所述各种设备中的所述意图分别标注所述待标注样本,生成所述对话系统的训练语料。
12.根据本公开实施例的第三个方面,提供了一种对话系统的训练方法,包括:确定要应用所述对话系统的设备;基于如上述第一个方面至第二个方面中的任一方案生成的所述对话系统的训练语料训练所述对话系统,直到所述对话系统满足训练的停止条件。
13.根据本公开实施例的第四个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一个方面至第三个方面中的任一方案所述的方法。
14.根据本公开实施例的第五个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一个方面至第三个方面中的任一方案所述的方法。
附图说明
15.通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
16.图1示出了根据本公开至少一个实施例的构建对话系统的训练语料的方法的示意性流程图。
17.图2a和图2b分别示例性地示出了根据本公开至少一个实施例的应用对话系统的设备的意图体系的前缀树数据结构图。
18.图3示例性地示出了根据本公开至少一个实施例的构建适用于多设备的对话系统的训练语料的方法的示意性流程图。
19.图4示出了根据本公开至少一个实施例的对话系统的训练方法的示意性流程图。
20.图5示出了根据本公开至少一个实施例的计算设备的结构示意图。
具体实施方式
21.下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
22.在一些情况中,对话系统要被应用于诸如智能设备的各种设备,例如,为设备提供对用户语音控制和/或聊天的支持。通常对话系统要对用户输入的对话进行分析理解,例如进行意图识别和/或槽位提取操作。意图识别在对话系统中特指判断用户对话的意图类型,而槽位提取在对话系统中特指提取用户对话的意图中的关键信息片段,其通常是实体,例如导航意图中的目的地名称。因此,通常要为对话系统的模型提供相当大数量的标注了意图和槽位的训练样本,其至少要涵盖要应用该系统的单种设备的意图体系中的全部意图。
在本文中,表述“设备的意图体系”意指该设备可能涉及的全部意图构成的一个集合。然而当前大多用人工或半自动方式来对样本进行意图和槽位标注,工作量非常大,而且在一些情况下标注难度大,标注的准确性无法保证。
23.由此,本技术实施例提出了一种改进的构建对话系统的训练语料的方法,其利用语言模型的语义理解能力来自动生成意图,并同时用设备的意图体系来对语言模型的意图生成结果进行约束,从而既能轻松快速地构建训练语料,又能提高训练语料的标注的准确性。
24.下面结合图1-3来详细描述本公开的方案的至少部分实施例。
25.图1示出了根据本公开至少一个实施例的构建对话系统的训练语料的方法的示意性流程图。
26.如图1所示,在步骤s110中,获取要应用对话系统的设备的意图体系。
27.在一些实施例中,对话系统可以被应用于一种或多种设备,其可以包括各种智能设备,例如,手机、平板电脑、笔记本电脑、智能手表、智能眼镜(例如ar眼镜、vr眼镜和mr眼镜)、车机等。可以为要应用对话系统的各种设备提供各自对应的意图体系,其分别涵盖该设备可能涉及的全部意图,例如设备种类为手机获取一种意图体系,设备种类为智能眼镜获取另一种意图体系,设备种类为车机获取第三种意图体系。可替代地,在一些情况下,可以为要应用对话系统的全部或部分设备获取一个总的意图体系,其涵盖该全部或部分设备可能涉及的全部意图。
28.可以通过各种方式来获取设备的意图体系。例如,在一些实施例中,可以由业务人员根据需要来设计对话系统可能要在设备上实现的各种意图,然后以各种合适的方式来将所有意图组织形成意图体系。例如,可以以各种形式的数据结构(如数组、链表、栈、队列、或者后面将详述的前缀树结构等)来将设备的所有意图存储在一起以形成意图体系,从而方便查找等。下面的表1中给出了ar眼镜设备的7个意图示例以供参考。本领域技术人员均理解,ar眼镜设备的意图不仅限于此。请注意,表1中与各意图对应的“意图提示”、“槽位”、“槽位提示”等内容将在后面详细讨论。
[0029][0030][0031]
表1
[0032]
然后,在步骤s120中,获取待标注样本。例如,上述待标注样本可以是之前用户输入的对话,可以通过例如收集对话系统的历史对话信息等各种方式来获取待标注样本。
[0033]
然后,在步骤s130中,利用语言模型基于意图体系受限生成待标注样本的意图。
[0034]
例如,上述语言模型可以是预训练语言模型再经过微调得到的,预训练语言模型例如可以是利用无标注语料进行自监督训练得到的,预训练模型再经过有标注语料数据有监督微调后得到语言模型,或者语言模型还可以是完全由有标注语料数据训练生成的神经网络模型,其包括各种神经网络模型例如单模态的网络模型,或者是跨模态的网络模型,例如,使用transformer(转换器)中编码结构的bert模型、使用解码结构的gpt模型及其各种变型等,可以理解,上述神经网络模型的结构和训练方式不成为本公开的限定。利用语言模型可以有监督和/或无监督地构建符合常识规范的语料,并且生成速度(包括意图生成和后续将详述的可能的槽位生成)远远超过人工标注的速度。而且根据实际效果统计,模型自动生成的标注结果可以基本满足要求。而在本技术中,为了进一步提高模型自动生成的准确率,提出了模型的受限生成方法,即利用相应设备的意图体系来限制该语言模型的意图生成结果,以确保所生成的意图属于该意图体系。因此,本公开提出的方法可以节约人力成本,提高对话系统训练语料的构建效率,确保训练语料标注的准确性,而且如稍后将详述的,甚至在一些情况下,可以相比于人工标注方式提高标注的准确率。另外,本公开提出的方法对意图体系的增删改操作支持灵活(例如,当设备意图有改动时,业务人员只用相应地改变意图体系数据并让模型相应受限生成标注即可,而不用人工去一一修改训练语料的标注),减少了维护和运营成本。
[0035]
可以利用各种方式来受限生成待标注样本的意图。
[0036]
例如,在一些实施例中,可以利用语言模型的提示(prompt)学习能力,来生成意图。“提示”在自然语言处理技术中指的是在语言模型的基础上利用构建提示句式的方式直接完成下游机器学习任务。例如,在上面表1所示的示例中,可以将针对ar眼镜设备的待标注样本(用户输入的对话)拼接如表1中所示的意图提示(“这句话在[ar眼镜]的意图属于____”),并且将拼接后的待标注样本输入语言模型。然后该语言模型会将提示句子中的空缺部分填上,也就是说,相当于生成了该待标注样本的意图。下文将会结合具体的待标注样本示例来更详细地描述该过程。
[0037]
在一些实施例中,可以在该语言模型生成了完整的意图结果之后,将所生成的意图限制在步骤s110中提供的意图体系中。例如,将所生成的意图与该意图体系中的所有意图进行比较,找出其中与所生成的意图最接近的意图作为最终输出的意图结果。
[0038]
或者,在一些实施例中,可以在该语言模型生成意图的过程中就限制其生成结果以确保最终生成的意图在该意图体系中。例如,在一些实施例中,语言模型是阶段地(例如逐个时间步(timestep))生成意图的,例如每个阶段生成意图的一部分,如一个字符、一个词或几个字符等。在这种情况下,在一些实施例中,可以按照前缀树的数据结构来对意图体系进行编码,其中,前缀树的每条路径形成意图体系中的一个意图。例如,在该前缀树的通往子节点的每条路径上存储该意图体系中的各意图的至少一部分,并且在语言模型的各个生成阶段利用该意图体系的前缀树来约束要生成的意图的部分,以确保当前要生成的部分属于之前已生成的前缀部分所属的最后一个前缀树节点通往下一个子节点的路径上所存储的部分中的一个。在本公开的方案中,表述“子节点”指的是直接子代(即第一代子代)的
节点而不包括间接子代(即子代的子代,第一代之后的第二代或更多代)的节点,表述“通往子节点的每条路径”指的是一个节点通往其下一个(即下一代中的各个)子节点而不是下下个(即第二代或更多代)子节点的路径。上述的前缀树的路径上存储的意图的一部分可以为一个字符、一个词或几个字符等。下面将以路径上存储的是一个字符的情况为例来进行详细描述。
[0039]
前缀树是n叉树的一种特殊形式。通常来说,一个前缀树是用来存储字符串的。前缀树的每一个节点代表一个字符串(前缀)。每一个节点会有多个子节点,通往不同子节点的路径上有着不同的字符。子节点代表的字符串是由母节点本身的前缀字符串、以及通往该子节点的路径上所有的字符组成的。前缀树的一个重要的特性是,节点所有的后代都与该节点相关的字符串有着共同的前缀。
[0040]
在本公开的实施例中,可以将一个设备的所有意图(例如共n个,n》1)统一编码成前缀树结构的意图体系pretreeintent,其是一系列表示各个意图的字符串w
1~n
的集合,每一个意图w
1~n
是一串文字形式的意图描述,且在该前缀树中,意图串w
1~n
中的单个字符wi代表意图串中的第i个字符,每个字符wi都在其前一个字符w
i-1
所在的路径通向的节点的后缀集合next(w
i-1
)(即通向其子节点的所有路径上的字符集合)中,或者说,每个字符wi都被前一个字符w
i-1
所限定,即,参见如下面用类程序语言来简单描述的前缀树结构的意图体系pretreeintent:
[0041]
pretreeintent=collect(w
1~n
(wi∈next(w
i-1
)))
[0042]
其中collect表示所有意图的字符串w
1~n
(即,w1、w2、
……
、wn)的集合;next表示前一个字符w
i-1
所在的路径通向的节点的后缀集合,即通向其子节点的所有路径上的字符集合;i的值从1直到各个意图字符串的总字符长度,其对于各个w
1~n
而言并不一定相同;当i为1时,w0并不是意图字符串中的字符,而是表示通常为空值的根节点,w1即为在根节点通向其子节点的所有路径上的字符集合中的一个,也就是各个字符串中的第一个字符。
[0043]
为了更方便理解,图2a给出了前述表1中的ar眼镜设备的7个意图示例组成的一个意图体系前缀树示例。
[0044]
图2a所示的各个节点中标记的值即是该节点对应表示的字符串(前缀部分或整个字符串)。例如,根节点表示空字符串,末端叶节点1-7表示表1中的7个意图的完整字符串。请注意,为了图示清楚,许多节点表示的字符串未标明在图2a中,而是用省略号代替,但是根据前述前缀树的原理,本领域技术人员均能了解这些节点的内容。
[0045]
从图2a的根节点开始,其只有一个子节点,通往该子节点的路径上有“a”,因此,第一个子节点表示字符串“a”。以此类推,到第四个子节点时,第四个子节点表示字符串“ar眼镜”,其开始有两个子节点。如果接下来一直都选择最左边一条路径,则最终会到达叶节点1,其表示表1中的一个意图“ar眼镜-应用控制-打开[音乐播放器]”(请注意该字符串中的符号
“‑”
和“[]”是为了方便查看添加的,并不意指该字符串中真实存在的字符)。由此,相应地,从根节点开始,还可以分别到达另外6个叶节点2-7,按顺序排列其分别经过的各个路径上的字符从而得到了这6个叶节点2-7表示的字符串,即表1中的另外6个意图。当然,图2a仅是示例性的,而非限制性的,例如图2a中的“ar眼镜”的前缀内容也可以被从该前缀树中去掉,而采用其他方式来限制或表明该前缀树是属于ar眼镜的意图体系。或者,还可以将其他设备的意图体系也与ar眼镜一起编到图2a这同一颗前缀树中。
[0046]
当然,如前所述,本公开不限于图2a所示的前缀树结构,例如,每个路径上存储的意图的一部分不限于一个字符,而是可以为任意多个字符,如图2b所示的。图2b的前缀树表示的意图体系与图2a的一样,只是存储结构有所区别。如图2b所示出的,例如,在根节点到其子节点的路径上有“ar眼镜”,因此,第一个子节点表示字符串“ar眼镜”;以此类推,分别到达7个叶节点1-7,其分别表示表1中的7个意图。
[0047]
在一些实施例中,语言模型是逐个字符地生成意图的,因此可以很容易地利用如上所述的前缀树来约束语言模型的意图生成过程,以确保最终生成的意图属于意图体系。例如,在语言模型生成当前字符时,其之前已生成的部分必然是该前缀树的一个节点表示的前缀部分,那当前字符只需要在该节点的后缀集合(即通往其各个子节点的路径上的字符的集合)中检索即可。例如,根据图2a的意图体系前缀树,如果之前已生成了字符串“ar眼镜-应用控制-音”(符号
“‑”
只是方便查看的,并不表示意图字符串中的真实字符),则当前要生成的字符只能从后缀集合[“乐”,“量”]中选一个。本公开并不限制从该后缀集合中选择当前要生成的字符的方式。
[0048]
例如,在一些实施例中,可以将待标注样本q(一些情况下拼接了意图提示句子)输入到例如基于gpt3的语言模型,然后采用上述基于意图体系前缀树pretreeintent的受限生成方法,来生成针对q的最优回复a
max
,如下所示:
[0049][0050]amax
=max(p(a|pretreeintent,q)),a
max
∈pretreeintent
[0051]
其中语言模型每次生成一个字符a
t
,a
《t
表示模型在之前已生成的部分,在利用前缀树pretreeintent来约束生成的情况下,即,将该a
t
约束在前一个字符a
t-1
所在的路径通向的节点的后缀集合next(a
t-1
)中的情况下,可得到a
t
在a
《t
、pretreeintent和输入q的条件下的概率p,而如上式所述,整个回复a的条件概率p为各个字符a
t
的条件概率的乘积,而最终生成的最优回复a
max
则是使得该条件概率p为最大值的a,其必然属于前缀树pretreeintent中的一个意图字符串。在一些实施例中,语言模型可以利用波束搜索(beam search)算法来生成上述的最优回复a
max
,即生成待标注样本q的意图。在本文中,波束搜索指的是在意图生成过程中,在每一个生成阶段(例如每一个时间步)都保留到当前阶段为止条件概率最优的n个序列(n》1),再将其分别作为输入去获得下一个阶段的输出,直到模型给出生成结束的标志。在一些情况下,利用波束搜索生成意图可能提高生成结果的准确性。
[0052]
由上可以看出,根据本公开的利用前缀树进行意图受限生成的方法不仅可以保证生成的意图一定在已定义好的意图集合(意图体系)中,而且可以减少意图的每个部分(例如每个字符)生成时的候选检索范围。
[0053]
回到图1,在如步骤s130中生成意图之后,在步骤s140中,以所生成的意图来标注该待标注样本,生成对话系统的训练语料。
[0054]
在一些情况下,槽位已包含在生成的意图内,或者根据所生成的意图,无需额外的槽位信息。此时,该待标注样本无需再进行槽位提取操作即可成为训练语料了。例如,从表1中的第2、6、8行可以看到,对于有的意图而言,其槽位与意图一体,获取意图以后即可明确槽位,无需单独提取,而有的意图本身就是完备明确指令,无需再进行槽位提取。
[0055]
然而,在另一些情况下,如表1的第3-5、7行所示,在生成意图之后,还需要进行槽位提取,以获得该待标注样本的槽位,从而得到完整的训练语料。在这种情况下,在一些实
施例中,可以获得以生成的意图标注待标注样本后的意图标注样本,将该意图标注样本拼接与其已生成的意图适配的槽位提示,然后将拼接槽位提示后的该意图标注样本再输入语言模型以生成槽位。此处使用的语言模型可以与前面生成意图的语言模型相同或不同。在生成槽位后,以所生成的槽位来标注拼接槽位提示后的该意图标注样本,从而生成对话系统的训练语料。特别地,槽位提取为开放结果,槽位可能是待标注样本中的任意片段,因此槽位生成结果不局限在意图体系前缀树,即,在生成时去掉前缀树约束。
[0056]
下面表2中给出了两个针对ar眼镜意图体系的待标注样本示例在上述生成意图和槽位的过程中进行提示拼接的具体做法(表2中的用户输入的对话即为待标注样本):
[0057][0058]
表2
[0059]
以表2中的第2个待标注样本为例描述整个过程如下:
[0060]
用户输入的对话(待标注样本)为:
[0061]
晓梦,高德地图导航到东软大厦。
[0062]
经过意图提示拼接后到语言模型的输入是:
[0063]
晓梦,高德地图导航到东软大厦,这句话在[ar眼镜]的意图属于____
[0064]
经过语言模型生成的结果为:
[0065]
晓梦,高德地图导航到东软大厦,这句话在[ar眼镜]的意图属于导航-路线导航
[0066]
再经过槽位提示拼接后到语言模型的输入是:
[0067]
晓梦,高德地图导航到东软大厦,这句话在[ar眼镜]的意图属于导航-路线导航,导航的目的地是______
[0068]
经过语言模型生成的结果为:
[0069]
晓梦,高德地图导航到东软大厦,这句话在[ar眼镜]的意图属于导航-路线导航,导航的目的地是东软大厦
[0070]
在一些实施例中,可以由业务人员根据需要设计各意图和槽位。在一些实施例中,可以根据数据标注人员的经验来人工设计用于各意图和槽位的提示模版。
[0071]
前面以对话系统应用于单种设备的情形为例描述了本公开,但是在要将对话系统应用于多种设备的应用场景下本公开也特别有优势。
[0072]
随着多端互联技术的发展,同一套云端对话系统算法适配不同终端的落地方式成为主流。在多端互联的对话系统云端算法应用落地场景下,不同设备的意图体系需要根据设备的具体环境进行差异化配置。因此,为支持此类对话系统模型的训练,需要构建适配多设备差异化意图的训练语料,然而,针对这些不同的意图体系来构建训练语料的工作量很大。如果要针对不同设备的多套意图体系分别进行语料标注,其工作量往往随着设备数量
的增加而加倍,而且要求标注人员能够准确区分并对应到不同设备的意图体系,很容易产生混淆,标注难度加大。由于不同意图体系具有一定的相关性,因此可以采用一些半自动方式来将不同设备的意图体系进行对应转换,以此实现各设备上标注语料的转换。但是这种硬转换的方法通常不够灵活,而且也很容易遇到无法对应转换的情况。
[0073]
由此,本公开提出了将前述改进的构建训练语料的方法应用于在将对话系统应用于多设备时构建适配多设备差异化意图的训练语料的场景。利用语言模型的语义理解能力,能够针对不同设备的多种意图体系快速构建具备设备差异化响应的标注语料,使得对话系统具有更好的多设备扩展性和适应性,并且如前所述地,能够提高标注的自动化程度,大大节约人力成本,提高训练语料的构建效率,确保训练语料标注的准确性。而且,在一些情况下,相对于标注人员,本公开的自动构建方法能够更准确地区分并对应到不同设备的意图体系,提高了标注的准确率。另外,在将不同设备的意图体系都按照前缀编码树的方式进行编码的情况下,能将意图的语义相近相关性通过前缀树结构体现出来。
[0074]
下面表3给出了同一个用户对话(待标注样本)在不同终端设备对应的意图和槽位的示例:
[0075][0076]
表3
[0077]
下面将结合表3和图3的例子来详细描述根据本公开至少一些实施例的构建适配多设备差异化意图的训练语料的方法。请注意,除非特别声明,下述方法的各操作均可以采用前面描述的方式,其细节将略去不再赘述。
[0078]
如图3所示,在步骤s310中,获取要应用对话系统的多种设备的意图体系,以备后续语言模型使用。图3中给出了三种设备(手机、ar眼镜和智能手表)的意图体系的示例。如前所述,在一些实施例中,这三种设备的意图体系可以分别被编码成一个前缀树,或者被全部编码到一个前缀树中。
[0079]
然后,在步骤s320中,获取一个待标注样本,例如图3和表3中示出的用户对话“晓梦,帮我打开qq音乐吧”。
[0080]
然后,在步骤s330中,分别针对各种设备来对当前对话(待标注样本)进行意图提示拼接。如图3所示,将步骤s320中示出的当前对话分别拼接了不同设备的意图提示,从而形成了三个拼接了不同意图提示的输入,送入例如gpt3等的语言模型。
[0081]
然后,在步骤s340中,利用语言模型来分别受限生成该待标注样本在各种设备中的意图,其中针对各种设备生成时,均利用了步骤s310中提供的当前设备的意图体系来限制语言模型的生成结果,以确保所生成的意图属于当前设备的意图体系。
[0082]
然后,在步骤s350中,获得针对各种设备生成的意图,并且以这些意图来分别标注待标注样本,从而分别形成针对相应设备的训练语料。
[0083]
请注意,虽然在前面描述步骤s320和s330在步骤s310之后执行,但是应理解,步骤
s310也可以在步骤s320和s330之后执行,或者同时执行。步骤s310与步骤s320、s330并无相互制约关系,只要在步骤s340中语言模型进行受限生成操作之前完成步骤s310即可。
[0084]
另外,虽然图3中给出的示例无需再进行槽位提取和标注,但是在如表3中的第2个待标注样本示例那样需要进一步提取和标注槽位的情况下,还可以与前述类似地在步骤s350之后增加额外的步骤,即,根据各设备的情况对分别生成了意图的待标注样本再进行相应的槽位拼接,并且将拼接后的待标注样本再输入语言模型以生成各自相应的槽位。以针对各种设备所生成的意图和槽位来分别标注该待标注样本,从而形成针对各种设备的训练语料。
[0085]
此外,获取意图体系、待标注样本、进行意图提示拼接、受限生成意图以及标注待标注样本的示例性描述已经在本文的前述内容中公开,此处不再赘述。
[0086]
如上所述地获得训练语料之后,可以使用该训练语料训练对话系统。下面以图4为例来详细描述本公开的对话系统的训练方法的至少部分实施例。
[0087]
图4示出了根据本公开至少一个实施例的对话系统的训练方法的示意性流程图。
[0088]
如图4所示,在步骤s410中,确定要应用对话系统的设备。例如,确定该对话系统要被应用于何种设备,以便利用上述各种方案针对这种设备构建相应的训练语料,或者从已利用上述各种方案针对多设备构建的训练语料中选出针对这种设备构建的训练语料。
[0089]
然后,在步骤s420中,基于根据上述各种方案生成的对话系统的训练语料训练该对话系统,直到对话系统满足训练的停止条件。在一些实施例中,该训练停止条件可以包括损失函数不再下降或者迭代预设的训练次数。
[0090]
上文中已经参考附图详细描述了根据本公开的构建对话系统的训练语料的方法及对话系统的训练方法,其利用语言模型的语义理解能力来自动生成意图,并同时用设备的意图体系来对语言模型的意图生成结果进行约束,从而既能轻松快速地构建训练语料,又能提高训练语料的标注的准确性。
[0091]
图5示出了根据本公开一实施例可用于实现上述构建对话系统的训练语料的方法或对话系统的训练方法的计算设备的结构示意图。
[0092]
参见图5,计算设备500包括存储器510和处理器520。
[0093]
处理器520可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器520可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(gpu)、数字信号处理器(dsp)等等。在一些实施例中,处理器520可以使用定制的电路实现,例如特定用途集成电路(asic,application specific integrated circuit)或者现场可编程逻辑门阵列(fpga,field programmable gate arrays)。
[0094]
存储器510可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器520或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器510可以包括任意计算机可读存储媒介的组合,
包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器510可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、min sd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
[0095]
存储器510上存储有可执行代码,当可执行代码被处理器520处理时,可以使处理器520执行上文述及的构建对话系统的训练语料的方法或对话系统的训练方法。
[0096]
此外,根据本公开的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本公开的上述方法中限定的上述各步骤的计算机程序代码指令。
[0097]
或者,本公开还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本公开的上述方法的各个步骤。
[0098]
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
[0099]
附图中的流程图和框图显示了根据本公开的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0100]
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

技术特征:
1.一种构建对话系统的训练语料的方法,包括:获取要应用所述对话系统的设备的意图体系;获取待标注样本;利用语言模型基于所述意图体系受限生成所述待标注样本的意图;以及以所述意图标注所述待标注样本,生成所述对话系统的训练语料。2.根据权利要求1所述的方法,其中,所述意图体系是按照前缀树的数据结构编码的,其中,所述前缀树的每条路径形成所述意图体系中的一个意图,并且利用所述语言模型基于所述意图体系受限生成所述待标注样本的意图包括:利用所述语言模型阶段地生成所述意图,并且在各个阶段利用所述前缀树约束要生成的所述意图的部分,以确保当前要生成的部分属于之前已生成的前缀部分所属的最后一个前缀树节点的通往下一个子节点的路径上所存储的部分中的一个。3.根据权利要求2所述的方法,其中,在所述前缀树的通往子节点的每条路径上存储所述意图体系中的各意图中的一个字符,并且利用所述语言模型来逐个字符地生成所述意图,并且在各个字符生成阶段利用所述意图体系的前缀树来约束要生成的字符,以确保当前要生成的字符属于之前已生成的前缀部分所属的最后一个前缀树节点通往下一个子节点的路径上所存储的字符中的一个。4.根据权利要求1所述的方法,其中,生成所述待标注样本的意图包括:将所述待标注样本拼接意图提示,将拼接后的所述待标注样本输入所述语言模型生成所述意图。5.根据权利要求1所述的方法,其中,在生成所述待标注样本的所述意图之后,所述方法还包括:获取以所述意图标注所述待标注样本后的意图标注样本;将所述意图标注样本拼接与所述意图适配的槽位提示;将拼接槽位提示后的所述意图标注样本输入所述语言模型以生成槽位;以及以所述槽位标注拼接槽位提示后的所述意图标注样本,生成所述对话系统的训练语料。6.根据权利要求5所述的方法,其中,所述槽位是所述待标注样本中的任意片段。7.根据权利要求1所述的方法,其中,所述语言模型利用波束搜索算法来生成所述待标注样本的所述意图。8.一种构建对话系统的训练语料的方法,包括:获取要应用所述对话系统的多种设备的意图体系;获取待标注样本;利用语言模型基于所述多种设备中的各种设备的意图体系受限生成所述待标注样本的在所述各种设备中的意图;以及以所述各种设备中的所述意图分别标注所述待标注样本,生成所述对话系统的训练语料。9.一种对话系统的训练方法,包括:确定要应用所述对话系统的设备;基于权利要求1-8中任一项生成的所述对话系统的训练语料训练所述对话系统,直到
所述对话系统满足训练的停止条件。10.一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至9中任何一项所述的方法。11.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至9中任何一项所述的方法。

技术总结
本公开涉及一种构建对话系统的训练语料的方法、训练方法和计算设备。该构建对话系统的训练语料的方法包括:获取要应用所述对话系统的设备的意图体系;获取待标注样本;利用语言模型基于所述意图体系受限生成所述待标注样本的意图;以及以所述意图标注所述待标注样本,生成所述对话系统的训练语料。该方法利用语言模型的语义理解能力来自动生成意图,并同时用设备的意图体系来对语言模型的意图生成结果进行约束,从而既能轻松快速地构建训练语料,又能提高训练语料的标注的准确性。又能提高训练语料的标注的准确性。又能提高训练语料的标注的准确性。


技术研发人员:请求不公布姓名
受保护的技术使用者:湖北星纪魅族科技有限公司
技术研发日:2023.04.23
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐