适应的对话生成模型利用了全领域的对话数据(即从互联网上可以直接收集到的大规模对话数据)帮助训练特定领域的对话生成模型。一提到利用全领域数据帮助训练特定领域的对话生成模型,我们最直接的可以想到两种方式。 第一种是将全领域数据和特定领域的对话数据集合在一起,共同训练特定领域的对话模型,这种方式可以有效的解决数据量不足的问题,但是由于全领域的对话数据量远超过特定领域的对话数据量,因此,特定领域的对话数据将被全领域的对话数据淹没,导致训练出来的对话生成模型生成答案的风格和全领域的答案风格比较接近,而和特定领域的答案风格先去甚远。 第二种是利用全领域的对话数据先训练一个对话模型,然后用该模型做为初始化模型,再用特定领域的对话数据fine-tune这个模型。这种方式往往会导致模型过拟合到特定领域对话数据上,即全领域的对话数据信息无法保留下来,最后的模型依然是只包含了特定领域的数据信息,j2直播,由于特定领域数据的信息较少,该模型无法达到预期。 而我们提出的适应的对话生成模型相比于上述两种方式可以更有效的防止特定领域的数据被全领域的对话数据淹没,同时防止模型过拟合到特定领域的数据上。那么我们的模型是怎么实现的呢?请看图二。
和前面提到的第二种方式类似,我们的模型先利用全领域数据对模型进行预训练,然后利用预训练的模型参数对特定领域的对话模型进行初始化。 和第二种方式不同的是,我们的模型不是直接进行fine-tune的,而是将预训练模型的信息作为一个监督信息加入到了目标函数中,使得适应的对话生成模型保留着全领域的信息,防止了其过拟合到特定领域的对话数据上。这个监督信息是通过预训练模型与适应的对话生成模型的KL散度加到目标函数中的,其可以看做是一个正则项。适应的对话生成模型在保证最大化给定输入问题条件下输出答案的条件概率的同时,还要使模型与全领域数据训练出来的模型尽可能的接近,即两者的KL散度尽可能的小,以保证适应的对话生成模型中保留全领域数据的信息,防止模型过拟合到特定领域上,因此我们改进后的目标函数如下:
其中表示全领域中的数据分布,表示正则化权重,表示KL散度函数。 上式中的正则化权重的取值是从 0 到 1 的。当时,全领域数据的信息对 于适应的对话生成模型的训练没有任何影响,适应的对话生成模型和前文提到的 第二种直接fine-tune的模型相同。相反,当时,适应的对话生成模型完全 信赖全领域的数据信息,而忽略了特定领域对话数据的信息。该值的确定与特定 领域的对话数据量有关,如果特定领域对话数据较少, 应该取值较大,模型需要从全领域数据中提取较多的信息完成模型训练,反之亦然。 总结与展望 特定领域的智能聊天机器人是目前国内外互联网公司关注的热点之一,我们的方法让对话生成模型向实际应用到智能聊天机器人中更近了一步。但是即使应用了我们的方法,特定领域对话生成模型仍然存在着生成回答与问句无关以及生成回答趋向于高频答案等问题。要解决上述问题,需要从改进对话生成模型以及更好的利用迁移学习将外部信息引入到对话生成模型的训练中两方面入手,这也是我们日后的两个重点研究方向。 参考文献 [1]Dzmitry Bahdanau, KyunghyunCho, and Yoshua Bengio. Neural machine translation by jointly learning to alignand translate. CoRR, abs/1409.0473, 2014. (责任编辑:本港台直播) |