一种信息处理方法、装置、设备和可读存储介质
未命名
09-13
阅读:51
评论:0

1.本技术涉及计算机技术领域,尤其涉及一种信息处理方法、装置、设备和可读存储介质。
背景技术:
2.任务导向型对话系统(以下简称任务型对话系统,task-oriented dialog system)主要用来帮助用户完成某个特定的任务,比如预定餐馆,查询车票等等。在任务型对话系统中,用户的输入带有明确的目的,系统需要通过与用户进行交互理解用户意图,从而获取对话状态,使用对话状态在数据库中查询信息,根据查询结果确定接下来的对话动作,然后生成相应的自然语言。任务型对话通常包含多轮问答过程。
3.在任务型对话系统中,已有不少工作将半监督学习应用到任务型对话数据集中,并希望通过利用少量有标注数据和大量的未标注数据达到和有监督学习一样的效果。其中,生成式预训练(generative pre-training,gpt)模型,简称为gpt模型或者gpt-2模型,是基于变形器(transformer)的大型语言模型。模型采用了预训练(pre-training)加微调(fine-tuning)的训练模式,可用于分类、推理、问答、相似度等任务。
4.虽然使用gpt-2建模的任务型对话系统已经取得了很好的效果,但是,这种方式中,在模型训练过程仍完全依赖于标注信息,从而使得获得的模型性能不高,影响了端到端任务型对话系统的输出的准确性。
技术实现要素:
5.本技术实施例提供一种信息处理方法、装置、设备和可读存储介质,以提高端到端任务型对话系统的输出的准确性。
6.第一方面,本技术实施例提供了一种信息处理方法,包括:
7.获取用户的输入信息;
8.将所述输入信息作为端到端任务型对话系统的输入,得到输出信息;
9.其中,所述端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。
10.其中,所述处理模型的训练包括:
11.根据有标注的样本数据和生成式预训练模型进行有监督的预训练;
12.基于预训练获得的模型,利用混合样本数据进行半监督训练,其中,所述混合样本数据由有标注的样本数据和未标注的样本数据混合而形成。
13.其中,所述根据有标注的样本数据和生成式预训练模型进行有监督的预训练,包括:
14.利用有标注的样本数据和生成式预训练模型预训练生成模型;
15.利用所述有标注的样本数据和所述生成式预训练模型预训练推断模型;
16.其中,所述生成模型或所述推断模型是根据所述生成式预训练模型得到的。
17.其中,所述利用有标注的样本数据和生成式预训练模型预训练生成模型,包括:
18.将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列;
19.将所述第一输入序列作为生成模型的输入,预训练所述生成模型。
20.其中,所述利用所述有标注的样本数据和所述生成式预训练模型预训练推断模型,包括:
21.将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;
22.将所述第二输入序列作为推断模型的输入,预训练所述推断模型。
23.其中,所述基于预训练获得的模型,利用混合样本数据进行半监督训练,包括:
24.从所述混合样本数据中获取当前样本数据;
25.若所述当前样本数据为有标注的样本数据,则将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列,并将所述输入序列作为通过预训练获得的生成模型的输入,训练生成模型;将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;将所述第二输入序列作为通过预训练获得的推断模型的输入,训练推断模型;
26.若所述当前样本数据为未标注的样本数据,则根据所述未标注的样本数据,采用变分学习方法训练通过预训练获得的生成模型和推断模型;或者,根据所述未标注的样本数据,采用自训练方法训练通过预训练获得的生成模型。
27.其中,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;
28.所述将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列,包括:
29.将所述输入变量按照用户输入、对话状态、数据库查询结果、对话动作、系统回复的顺序进行拼接,获得所述第一输入序列。
30.其中,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;
31.所述将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列,包括:
32.将所述输入变量按照用户输入、系统回复、对话状态、数据库查询结果、对话动作的顺序进行拼接,获得所述第二输入序列。
33.其中,在所述利用有标注的样本数据和生成式预训练模型进行有监督的预训练之前,所述方法还包括:
34.对所述有标注的样本数据进行数据预处理。
35.第二方面,本技术实施例提供了一种信息处理装置,包括:
36.第一获取模块,用于获取用户的输入信息;
37.第一处理模块,用于将所述输入信息作为端到端任务型对话系统的输入,得到输出信息;
38.其中,所述端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型
的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。
39.其中,所述装置还包括:训练模块,包括:
40.第一训练子模块,用于根据有标注的样本数据和生成式预训练模型进行有监督的预训练;
41.第二训练子模块,用于基于预训练获得的模型,利用混合样本数据进行半监督训练,其中,所述混合样本数据由有标注的样本数据和未标注的样本数据混合而形成。
42.其中,所述第一训练子模块包括:
43.第一训练单元,用于利用有标注的样本数据和生成式预训练模型预训练生成模型;
44.第二训练单元,用于利用所述有标注的样本数据和所述生成式预训练模型预训练推断模型;
45.其中,所述生成模型或所述推断模型是根据所述生成式预训练模型得到的。
46.其中,所述第一训练单元,用于将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列;将所述第一输入序列作为生成模型的输入,预训练所述生成模型。
47.其中,所述第二训练单元,用于将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;将所述第二输入序列作为推断模型的输入,预训练所述推断模型。
48.其中,所述第二训练子模块包括:
49.获取单元,用于从所述混合样本数据中获取当前样本数据;
50.第一训练单元,用于若所述当前样本数据为有标注的样本数据,则将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列,并将所述输入序列作为通过预训练获得的生成模型的输入,训练生成模型;将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;将所述第二输入序列作为通过预训练获得的推断模型的输入,训练推断模型;
51.第二训练单元,用于若所述当前样本数据为未标注的样本数据,则根据所述未标注的样本数据,采用变分学习方法训练通过预训练获得的生成模型和推断模型;或者,根据所述未标注的样本数据,采用自训练方法训练通过预训练获得的生成模型。
52.其中,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;所述第一训练单元,用于将所述输入变量按照用户输入、对话状态、数据库查询结果、对话动作、系统回复的顺序进行拼接,获得所述第一输入序列。
53.其中,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;所述第二训练单元,用于将所述输入变量按照用户输入、系统回复、对话状态、数据库查询结果、对话动作的顺序进行拼接,获得所述第二输入序列。
54.其中,所述装置还包括:
55.预处理模块,用于对所述有标注的样本数据和/或所述混合样本数据进行数据预处理。
56.第三方面,本技术实施例提供了一种信息处理装置,包括:处理器和收发器;
57.所述处理器,用于获取用户的输入信息;将所述输入信息作为端到端任务型对话
系统的输入,得到输出信息;
58.其中,所述端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。
59.其中,所述处理器还用于:
60.根据有标注的样本数据和生成式预训练模型进行有监督的预训练;
61.基于预训练获得的模型,利用混合样本数据进行半监督训练,其中,所述混合样本数据由有标注的样本数据和未标注的样本数据混合而形成。
62.其中,所述处理器还用于:
63.利用有标注的样本数据和生成式预训练模型预训练生成模型;
64.利用所述有标注的样本数据和所述生成式预训练模型预训练推断模型;
65.其中,所述生成模型或所述推断模型是根据所述生成式预训练模型得到的。
66.其中,所述处理器还用于:
67.将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列;
68.将所述第一输入序列作为生成模型的输入,预训练所述生成模型。
69.其中,所述处理器还用于:
70.将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;
71.将所述第二输入序列作为推断模型的输入,预训练所述推断模型。
72.其中,所述处理器还用于:
73.从所述混合样本数据中获取当前样本数据;
74.若所述当前样本数据为有标注的样本数据,则将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列,并将所述输入序列作为通过预训练获得的生成模型的输入,训练生成模型;将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;将所述第二输入序列作为通过预训练获得的推断模型的输入,训练推断模型;
75.若所述当前样本数据为未标注的样本数据,则根据所述未标注的样本数据,采用变分学习方法训练通过预训练获得的生成模型和推断模型;或者,根据所述未标注的样本数据,采用自训练方法训练通过预训练获得的生成模型。
76.其中,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;所述处理器还用于:
77.将所述输入变量按照用户输入、对话状态、数据库查询结果、对话动作、系统回复的顺序进行拼接,获得所述第一输入序列。
78.其中,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;所述处理器还用于:
79.将所述输入变量按照用户输入、系统回复、对话状态、数据库查询结果、对话动作的顺序进行拼接,获得所述第二输入序列。
80.其中,所述处理器还用于:
81.对所述有标注的样本数据和/或所述混合样本数据进行数据预处理。
82.第四方面,本技术实施例还提供一种通信设备,包括:收发机、存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如上所述的信息处理方法中的步骤。
83.第五方面,本技术实施例还提供一种可读存储介质,所述可读存储介质上存储程序,所述程序被处理器执行时实现如上所述的信息处理方法中的步骤。
84.在本技术实施例中,端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。因此,利用这种方式可不完全依赖于有标注的样本数据进行模型训练,从而可提高获得的模型在有监督以及半监督情况下的性能,进而在利用该端到端任务系统型对话系统进行处理时,可提高获得的输出信息的准确性。
附图说明
85.图1是本技术实施例提供的信息处理方法的流程图之一;
86.图2是任务型对话的示意图;
87.图3是本技术实施例中预训练的生成模型和推断模型的示意图;
88.图4是本技术实施例提供的信息处理方法的流程图之二;
89.图5是本技术实施例提供的信息处理装置的结构图之一;
90.图6是本技术实施例提供的信息处理装置的结构图之二。
具体实施方式
91.本技术实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
92.本技术实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
93.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,并不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
94.参见图1,图1是本技术实施例提供的信息处理方法的流程图,如图1所示,包括以下步骤:
95.步骤101、获取用户的输入信息。
96.其中,所述用户的输入信息可以是语音、文字等形式的信息。例如,所述信息例如可以是“我想去一家北边的印度餐厅”等。
97.步骤102、将所述输入信息作为端到端任务型对话系统的输入,得到输出信息。
98.其中,所述端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。也即,在本技术实施例中,将预训练的语言模型与半监督学习方法结合,得到了端到端任务型对话系统所采用的处理模型。在本技术实施例中,该端到端任务型对话系统所采用的处理模型可称为变分隐状态生成式预训练语言模型(vls-gpt,variational latent state gpt)。
99.在本技术实施例中,所述处理模型的训练过程可包括:
100.(1)根据有标注的样本数据和生成式预训练模型进行有监督的预训练。
101.其中,所述标注指的是对对话数据的标注,如对话状态、数据库查询结果以及对话动作的标注等。
102.如图2所示,为任务型对话的一个示例。其中,用户的输入信息是“我想去一家北边的印度餐厅”;对话状态是:餐馆种类:印度;餐馆区域:北方;对话动作是:告知可供选择数量;询问用户选择。
103.在实际应用中,所述样本数据可以由历史任务型对话数据中获取。
104.对于一个t(t≥1,且t为整数)轮的任务型对话,假设用u
t
表示用户输入,b
t
表示对话状态,d
t
表示数据库查询结果,a
t
表示对话动作,r
t
表示系统回复。其中,下标t表示第t轮对话,t的取值范围为1≤t≤t。
105.对于一个普通的任务型端到端对话系统,其基本功能是通过用户的输入信息预测出中间变量(先预测对话状态,再通过查询数据库,预测对话动作),然后再根据用户输入和预测的中间变量来生成最终的回复,如下(1)所示:
106.p
θ
(b
1:t
,d
1:t
,a
1:t
,r
1:t
|u
1:t
)=p
θ
(b
1:t
,d
1:t
,a
1:t
|u
1:t
)
·
p
θ
(r
1:t
|b
1:t
,b
1:t
,d
1:t
,a
1:t
)(1)
107.其中,p
θ
表示任务型端到端对话系统的模型输出的概率,θ代表系统参数。在本技术实施例中,训练目标就是让上述条件概率分布去拟合真实的数据分布。
108.假设在实际场景中,有大量的未标注样本数据,仅包含用户输入u
t
和系统回复r
t
,而只有少部分有标注的样本数据才包含中间变量b
t
,d
t
,a
t
的标注。在本技术实施例中,应用半监督学习的方法来有效的利用未标注的样本数据,从而提高模型的整体性能。
109.具体的,模型训练过程可包括如下内容:
110.(1.1)利用有标注的样本数据和生成式预训练模型预训练生成模型。
111.其中,所述生成模型是根据所述生成式预训练模型得到的。具体的,在此过程中,可使用gpt-2模型来对整个任务型对话进行建模,得到生成模型p
θ
。对于有标注的样本数据,可使用gpt-2的teacherforce(老师力量)的自监督方法来训练生成模型p
θ
。
112.具体的,将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列,并将所述第一输入序列作为生成模型的输入,预训练所述生成模型。具体的,在获得第一输入序列时,可将所述输入变量按照用户输入、对话状态、数据库查询结果、对话动作、系统回复的顺序进行拼接,获得所述第一输入序列。例如,可将每轮任务型对话的输入变量按照用户输入、对话状态、数据库查询结果、对话动作、系统回复的顺序进行拼接(即拼接顺序为u
t
,b
t
,d
t
,a
t
,r
t
),获得每轮任务型对话的所述第一输入序列。在训练的过程中,优化目标如式(1)所示,损失函数即为模型的输出和标签(可为将输入序列左移一位得到的序列)的交叉熵(仅计算目标文本b
1:t
,d
1:t
,a
1:t
,r
1:t
处的交叉熵)。通过这样的训练,模型将拥有在任务型对话上的预测能力,可以通过用户输入预测中间变量,然后再预测系统回复。
113.(1.2)利用所述有标注的样本数据和所述生成式预训练模型预训练推断模型。
114.其中,所述推断模型q
φ
是根据所述生成式预训练模型得到的。在此步骤中,将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二
输入序列,并将所述第二输入序列作为推断模型的输入,预训练所述推断模型。其中,如前所述,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复。在此可将所述输入变量按照用户输入、系统回复、对话状态、数据库查询结果、对话动作的顺序进行拼接,获得所述第二输入序列。例如可将每轮任务型对话的输入变量按照用户输入、系统回复、对话状态、数据库查询结果、对话动作的顺序进行拼接,获得每轮任务型对话的第二输入序列。
115.也即,在训练推断模型时,训练过程与生成模型的训练方式不同之处在于输入序列的拼接方式不同。在训练推断模型时,按照u
t
,r
t
,b
tdt
,a
t
的顺序来拼接,得到输入序列,同样将这个序列左移一位作为标签,损失函数即为模型输出和标签的交叉熵(仅计算目标文本b
1:t
,d
1:t
,a
1:t
处的交叉熵)。对于推断模型,其优化目标为(2)所示:
116.q
φ
(b
1:t
,d
1:t
,a
1:t
|u
1:t
,r
1:t
)(2)
117.如图3所示,为本技术实施例中生成模型和推断模型的结构示意图。图中的h
t
=b
t
,d
t
,a
t
,可称为隐变量或中间变量。useri,bsi,dbi,acti,respi(1≤i≤t)分别表示用户输入、对话状态、数据库查询结果、对话动作、系统回复。
118.(2)基于预训练获得的模型,利用混合样本数据进行半监督训练,其中,所述混合样本数据由有标注的样本数据和未标注的样本数据混合而形成。
119.在此步骤中,可从所述混合样本数据中获取当前样本数据。若所述当前样本数据为有标注的样本数据,则将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列,并将所述输入序列作为通过预训练获得的生成模型的输入,训练生成模型;将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;将所述第二输入序列作为通过预训练获得的推断模型的输入,训练推断模型;若所述当前样本数据为未标注的样本数据,则根据所述未标注的样本数据,采用变分学习方法训练通过预训练获得的生成模型和推断模型;或者,根据所述未标注的样本数据,采用自训练方法训练通过预训练获得的生成模型。
120.具体的,可在混合样本数据中进行采样,获得当前样本数据。若所述当前样本数据为有标注的样本数据,则按照预训练过程中对生成模型和推断模型的训练方式,在通过预训练获得的生成模型和推断模型的基础上,分别训练生成模型和推断模型。
121.若所述当前样本数据为未标注的样本数据,则可利用以下两种方式进行无监督的学习或训练。
122.(2.1)变分学习方法(variationallearning)
123.变分学习方法的核心是使用推断网络q
φ
(b
1:t
,d
1:t
,a
1:t
|u
1:t
,r
1:t
)去拟合真实的后验分布,从而可以使用变分学习中的证据下届(evidencelowerbound,elbo)来联合优化预训练获得的生成模型和推断模型。
124.令h
t
表示任务型对话中的中间信息,也就是h
t
=b
t
,d
t
,a
t
,那么,在此的优化目标,也就是证据下届的推导如下:
125.126.其中,j
vl
表示证据下届,表示期望。
127.通过在q
φ
(h
1:t
|u
1:t
,r
1:t
)上采样得到生成模型的参数θ和推断模型的参数φ可进行随机梯度更新,上式可简化为:
[0128][0129]
在本技术实施例中,是离散序列,因此,在优化式(3)中的证据下界时,使用straight-through(直通)的梯度估计方法来解决这一问题。在straight-through方法中,离散的采样值被用于前向计算,而其对应的连续的softmax概率值被用于进行反向梯度传播。
[0130]
(2.2)自训练(self training)方法
[0131]
自训练又称伪标签,顾名思义,也就是对于未标注的样本数据自己生成标签来训练。在自训练方法中,对于无标注的样本数据,使用预训练获得的生成模型来生成标签,然后再进行与有监督学习一样的训练方式训练生成模型,其优化目标为:
[0132][0133]
其中:j
st
表示:
[0134]
在此,同样使用straight-through的方法来将梯度通过透传给p
θ
。
[0135]
在以上的训练过程中,将预训练语言模型gpt-2和半监督学习方法融合,从而提高了模型在有监督以及半监督情况下的性能。
[0136]
在本技术实施例中,端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。因此,利用这种方式可不完全依赖于有标注的样本数据进行模型训练,从而可提高获得的模型在有监督以及半监督情况下的性能,进而在利用该端到端任务系统型对话系统进行处理时,可提高获得的输出信息的准确性。
[0137]
在以上实施例的基础上,还可对所述有标注的样本数据和/或所述混合样本数据进行数据预处理,从而可提高模型训练的效率。其中,所述预处理包括标记化,去词汇化等处理。
[0138]
参见图4,图4是本技术实施例提供的信息处理方法的流程图,如图4所示,包括以下步骤:
[0139]
步骤401、数据预处理。
[0140]
在此,主要可包括对样本数据的预处理。该过程可包括:
[0141]
1.标记化
[0142]
以英文为例,标记化(tokenization)是指把字符串形式的文本拆分成一个一个的标记(token),这些标记可以通过词汇表映射成对应的序号。如此一来,整个字符串序列就变成了一个数字列表,方便程序处理。gpt-2模型采用的标记化方法是字节级别的字节对编码方法(byte-level byte-pair encoding)。与普通的字节对编码(bpe)方法不同,gpt-2所使用的字节级别的bpe将字节作为基本词汇表,从而强制基本词汇表的大小为256,这样能够确保每个基本字符都在词汇表中。再加上对标点符号的特殊处理,gpt-2tokenizer(标记器)能够在不产生词汇表以外标记(token)的情况下,分开所有文本。gpt-2的词汇表大小是
50257,其中256个来自于基本词汇表,50000个来自于bpe过程的50000次合并,还有一个表示文本结束的特殊token。
[0143]
2.去词汇化
[0144]
为了减少语言变化带来的表面特征,让系统能够生成更通用的回复,在进行预处理时,对数据中的系统回复进行去词汇化(delexicalization)。所谓去词汇化,就是把文本中的一些特定词汇(比如一些地名或者店名等专有名词),用统一的占位符(placeholder)替换。在此,使用领域自适应(domain-adaptive)的去词汇化方法。这种方法将领域与槽解耦,因为不同领域间有很多槽是一样的,比如名字,地址等,这些槽之间的信息有时是可以通用的,领域与槽解耦后,模型更容易跨领域的获取信息。
[0145]
对于结构化的标注信息,在此使用领域自适应的预处理方法将其转化为文本序列。将对话状态表示为[domain1]slotvalueslotvalue[domain2]slotvalue这样的序列;将数据库结果用简单的占位符[db_x]来表示,其中x的取值范围是0-3,代表数据库的匹配数量等级;将系统动作表示为[domain1][inform]slot[request]slot[domain2][inform]slot[request]slot这样的序列,其中[inform]表示系统将向用户告知对应槽的信息,[request]表示系统将向用户询问对应槽的信息。
[0146]
上述表示领域,槽或者动作的占位符都将被设置成gpt-2分词器的特殊token,在分词过程中不会被进一步拆开,其对应的词嵌入向量会被随机初始化。
[0147]
步骤402、端到端任务型对话系统的模型训练。
[0148]
1.输入序列
[0149]
经过样本数据的预处理后,任务型对话中的所有信息(用户输入u
t
,对话状态b
t
,数据库结构d
t
,系统动作a
t
以及系统回复r
t
)都变成了文本序列。于是,在此可以使用两种不同的序列拼接方式来对生成模型和推断模型分别进行有监督的预训练,其目标函数分别如式(1)和式(2)所示。生成模型和推断模型的训练序列分别如下:
[0150]
u1,b1,d1,a1,r1,...,u
t
,b
t
,d
t
,a
t
,r
t
(5)
[0151]
u1,r1,b1,d1,a1,...,u
t
,r
t
,b
t
,d
t
,a
t
(6)
[0152]
在半监督学习阶段,面对未标注的样本数据,先生成对应的中间变量(h,隐变量)。如果半监督学习采用的是变分学习方法,则使用推断模型生成,如如果半监督学习采用的是自训练方法,则使用生成模型生成。然后再进行与上类似的有监督训练,其中,变分学习方法和自训练学习方法的目标函数分别如式(3)和式(4)所示,训练序列分别如下:
[0153][0154][0155]
对于自训练方法,则可只使用(7)。
[0156]
其中,代表生成的中间标注信息,梯度会利用straight-through方法,透过这些离散的序列传播。
[0157]
2.训练参数设置
[0158]
在实际应用中,系统的实现可基于开源库实现,例如huggingfacetransformers等。以huggingfacetransformers为例,这个库整合了通用的基于transformer(转换器)的大型预训练语言模型,并且提供十分便捷的外部接口。在此,使用distilgpt-2来初始化生
成模型和推断模型。distilgpt-2是gpt-2的蒸馏版,相比于12个自注意力层的gpt-2,distilgpt-2只包含了6个自注意力层,因此显存消耗降低了很多。gpt-2模型所能接受的最大序列标记数为1024,因此,超过1024长度的序列将被从前向后裁剪至1024长度。
[0159]
在微调gpt-2模型时,在此使用adamw优化器,以及一个带预热(warm-up)的线性学习率调度器(scheduler),其中,超参及对应的设置如表1所示。表1所示的学习率是整个训练过程的最大学习率,在前20%预热步数里学习率会从0线性增大到1e-4,在后80%的步数里学习率又会从1e-4线性减少到0,这种学习率调度方法是微调预训练语言模型的常用方法,预训练的目的是防止前期学习率过大导致模型对原来的预训练的知识灾难性遗忘。批次大小2*16指的是原本的批次大小是2,但是进行了16次梯度累积(gradient accumulation),因此等同于32大小的批次。无论是预训练阶段还是半监督学习阶段,在不使用早停策略的情况下训练50轮次,并且每一轮结束后就将模型放到验证集上测试,存储下拥有最高combined score(组合分数)的模型。
[0160]
表1
[0161]
超参设置学习率(learning rate)1e-4预热比例(warm-up ratio)20%批次大小(batch size)2*6迭代轮数(epoch)50
[0162]
步骤403、获取用户的输入信息。
[0163]
其中,所述输入信息可以是用户通过语音,文字等方式输入的信息。
[0164]
步骤404、根据所述输入信息,运行端到端任务型对话系统,得到输出信息。
[0165]
利用本技术实施例的方法,在得到向用户提示的输出信息外,还可得到相应的对话标注,以用于后续的模型训练或者信息处理。
[0166]
通过以上描述可以看出,在本技术实施例中,将大型预训练语言模型gpt-2融合进了半监督的任务型对话系统中,提高了模型在有监督以及半监督情况下的性能,进而在利用该端到端任务系统型对话系统进行处理时,可提高获得的输出信息的准确性。
[0167]
本技术实施例提供了一种信息处理装置。参见图5,图5是本技术实施例信息处理装置的结构图。其中,本技术实施例的信息处理装置500包括:
[0168]
第一获取模块501,用于获取用户的输入信息;第一处理模块502,用于将所述输入信息作为端到端任务型对话系统的输入,得到输出信息;其中,所述端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。
[0169]
其中,所述装置还包括:训练模块,包括:
[0170]
第一训练子模块,用于根据有标注的样本数据和生成式预训练模型进行有监督的预训练;
[0171]
第二训练子模块,用于基于预训练获得的模型,利用混合样本数据进行半监督训练,其中,所述混合样本数据由有标注的样本数据和未标注的样本数据混合而形成。
[0172]
其中,所述第一训练子模块包括:
[0173]
第一训练单元,用于利用有标注的样本数据和生成式预训练模型预训练生成模
型;
[0174]
第二训练单元,用于利用所述有标注的样本数据和所述生成式预训练模型预训练推断模型;
[0175]
其中,所述生成模型或所述推断模型是根据所述生成式预训练模型得到的。
[0176]
其中,所述第一训练单元,用于将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列;将所述第一输入序列作为生成模型的输入,预训练所述生成模型。
[0177]
其中,所述第二训练单元,用于将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;将所述第二输入序列作为推断模型的输入,预训练所述推断模型。
[0178]
其中,所述第二训练子模块包括:
[0179]
获取单元,用于从所述混合样本数据中获取当前样本数据;
[0180]
第一训练单元,用于若所述当前样本数据为有标注的样本数据,则将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列,并将所述输入序列作为通过预训练获得的生成模型的输入,训练生成模型;将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;将所述第二输入序列作为通过预训练获得的推断模型的输入,训练推断模型;
[0181]
第二训练单元,用于若所述当前样本数据为未标注的样本数据,则根据所述未标注的样本数据,采用变分学习方法训练通过预训练获得的生成模型和推断模型;或者,根据所述未标注的样本数据,采用自训练方法训练通过预训练获得的生成模型。
[0182]
其中,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;所述第一训练单元,用于将所述输入变量按照用户输入、对话状态、数据库查询结果、对话动作、系统回复的顺序进行拼接,获得所述第一输入序列。
[0183]
其中,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;所述第二训练单元,用于将所述输入变量按照用户输入、系统回复、对话状态、数据库查询结果、对话动作的顺序进行拼接,获得所述第二输入序列。
[0184]
其中,所述装置还包括:
[0185]
预处理模块,用于对所述有标注的样本数据和/或所述混合样本数据进行数据预处理。
[0186]
本技术实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
[0187]
本技术实施例提供了一种信息处理装置。参见图6,图6是本技术实施例信息处理装置的结构图。其中,本技术实施例的信息处理装置包括:处理器601和收发器602;
[0188]
所述处理器601,用于获取用户的输入信息;将所述输入信息作为端到端任务型对话系统的输入,得到输出信息;
[0189]
其中,所述端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。
[0190]
其中,所述处理器601还用于:
[0191]
根据有标注的样本数据和生成式预训练模型进行有监督的预训练;
[0192]
基于预训练获得的模型,利用混合样本数据进行半监督训练,其中,所述混合样本数据由有标注的样本数据和未标注的样本数据混合而形成。
[0193]
其中,所述处理器601还用于:
[0194]
利用有标注的样本数据和生成式预训练模型预训练生成模型;
[0195]
利用所述有标注的样本数据和所述生成式预训练模型预训练推断模型;
[0196]
其中,所述生成模型或所述推断模型是根据所述生成式预训练模型得到的。
[0197]
其中,所述处理器601还用于:
[0198]
将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列;
[0199]
将所述第一输入序列作为生成模型的输入,预训练所述生成模型。
[0200]
其中,所述处理器601还用于:
[0201]
将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;
[0202]
将所述第二输入序列作为推断模型的输入,预训练所述推断模型。
[0203]
其中,所述处理器601还用于:
[0204]
从所述混合样本数据中获取当前样本数据;
[0205]
若所述当前样本数据为有标注的样本数据,则将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列,并将所述输入序列作为通过预训练获得的生成模型的输入,训练生成模型;将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;将所述第二输入序列作为通过预训练获得的推断模型的输入,训练推断模型;
[0206]
若所述当前样本数据为未标注的样本数据,则根据所述未标注的样本数据,采用变分学习方法训练通过预训练获得的生成模型和推断模型;或者,根据所述未标注的样本数据,采用自训练方法训练通过预训练获得的生成模型。
[0207]
其中,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;所述处理器601还用于:
[0208]
将所述输入变量按照用户输入、对话状态、数据库查询结果、对话动作、系统回复的顺序进行拼接,获得所述第一输入序列。
[0209]
其中,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;所述处理器601还用于:
[0210]
将所述输入变量按照用户输入、系统回复、对话状态、数据库查询结果、对话动作的顺序进行拼接,获得所述第二输入序列。
[0211]
其中,所述处理器601还用于:
[0212]
对所述有标注的样本数据和/或所述混合样本数据进行数据预处理。
[0213]
本技术实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
[0214]
需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集
成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0215]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0216]
本技术实施例提供了一种通信设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现如前所述的信息处理方法中的步骤。
[0217]
本技术实施例还提供一种可读存储介质,可读存储介质上存储有程序,该程序被处理器执行时实现上述信息处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的可读存储介质,可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等。
[0218]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0219]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。根据这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁盘、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
[0220]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
技术特征:
1.一种信息处理方法,其特征在于,包括:获取用户的输入信息;将所述输入信息作为端到端任务型对话系统的输入,得到输出信息;其中,所述端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。2.根据权利要求1所述的方法,其特征在于,所述处理模型的训练包括:根据有标注的样本数据和生成式预训练模型进行有监督的预训练;基于预训练获得的模型,利用混合样本数据进行半监督训练,其中,所述混合样本数据由有标注的样本数据和未标注的样本数据混合而形成。3.根据权利要求2所述的方法,其特征在于,所述根据有标注的样本数据和生成式预训练模型进行有监督的预训练,包括:利用有标注的样本数据和生成式预训练模型预训练生成模型;利用所述有标注的样本数据和所述生成式预训练模型预训练推断模型;其中,所述生成模型或所述推断模型是根据所述生成式预训练模型得到的。4.根据权利要求3所述的方法,其特征在于,所述利用有标注的样本数据和生成式预训练模型预训练生成模型,包括:将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列;将所述第一输入序列作为生成模型的输入,预训练所述生成模型。5.根据权利要求3所述的方法,其特征在于,所述利用所述有标注的样本数据和所述生成式预训练模型预训练推断模型,包括:将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;将所述第二输入序列作为推断模型的输入,预训练所述推断模型。6.根据权利要求2所述的方法,其特征在于,所述基于预训练获得的模型,利用混合样本数据进行半监督训练,包括:从所述混合样本数据中获取当前样本数据;若所述当前样本数据为有标注的样本数据,则将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列,并将所述输入序列作为通过预训练获得的生成模型的输入,训练生成模型;将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列;将所述第二输入序列作为通过预训练获得的推断模型的输入,训练推断模型;若所述当前样本数据为未标注的样本数据,则根据所述未标注的样本数据,采用变分学习方法训练通过预训练获得的生成模型和推断模型;或者,根据所述未标注的样本数据,采用自训练方法训练通过预训练获得的生成模型。7.根据权利要求4或6所述的方法,其特征在于,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;所述将所述有标注的样本数据中、每轮任务型对话的输入变量按照第一预设顺序进行拼接,获得第一输入序列,包括:
将所述输入变量按照用户输入、对话状态、数据库查询结果、对话动作、系统回复的顺序进行拼接,获得所述第一输入序列。8.根据权利要求5或6所述的方法,其特征在于,所述输入变量包括用户输入,对话状态,数据库查询结果,对话动作,系统回复;所述将所述有标注的样本数据中、每轮任务型对话的输入变量按照第二预设顺序进行拼接,获得第二输入序列,包括:将所述输入变量按照用户输入、系统回复、对话状态、数据库查询结果、对话动作的顺序进行拼接,获得所述第二输入序列。9.根据权利要求2所述的方法,其特征在于,在所述利用有标注的样本数据和生成式预训练模型进行有监督的预训练之前,所述方法还包括:对所述有标注的样本数据和/或所述混合样本数据进行数据预处理。10.一种信息处理装置,其特征在于,包括:第一获取模块,用于获取用户的输入信息;第一处理模块,用于将所述输入信息作为端到端任务型对话系统的输入,得到输出信息;其中,所述端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。11.一种信息处理装置,其特征在于,包括:处理器和收发器;所述处理器,用于获取用户的输入信息;将所述输入信息作为端到端任务型对话系统的输入,得到输出信息;其中,所述端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。12.一种通信设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器,用于读取存储器中的程序实现如权利要求1至9中任一项所述的信息处理方法中的步骤。13.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求1至9中任一项所述的信息处理方法中的步骤。
技术总结
本申请公开了一种信息处理方法、装置、设备和可读存储介质,涉及计算机技术领域,以提高端到端任务型对话系统的输出的准确性。该方法包括:获取用户的输入信息;将所述输入信息作为端到端任务型对话系统的输入,得到输出信息;其中,所述端到端任务型对话系统所采用的处理模型通过基于生成式预训练模型的有监督的预训练、并在预训练获得的模型基础上进行半监督训练获得。本申请实施例可以提高端到端任务型对话系统的输出的准确性。务型对话系统的输出的准确性。务型对话系统的输出的准确性。
技术研发人员:黄毅 欧智坚 冯俊兰 刘红 金镝
受保护的技术使用者:清华大学 中国移动通信集团有限公司
技术研发日:2022.03.02
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/