人机对话系统中基于关键词的回复生成技术

人机对话系统中基于关键词的回复生成技术

作者: 哈工大SCIR博士生 朱庆福

1. 人机对话系统中的回复生成

 

人机对话系统中的回复生成(response generation,下文简称为回复生成)是对话系统的一个重要组成部分。在一个口语对话系统中,回复生成模块接收自动语音识别(automatic speech recognition),口语理解(spoken language understanding)和对话状态追踪(dialogue state tracking)等模块的输出作为输入,将这些信息映射成一句自然语言作为输出。一些简单的对话系统甚至可以仅包含一个回复生成模块,直接接收用户的消息并返回生成的回复。

早期的回复生成技术,主要是基于规则的方法(Weizenbaum, 1966),通过简单的文本分析规则,对用户的消息进行转述或者提问。此外,回复生成问题还可以转化为一个序列决策问题,进而使用马尔科夫决策过程进行解决(Singh et al., 1999; Young et al., 2013)。然而,这些方法的一个局限在于,它们均依赖于人工编写的特征。近年来,随着深度学习技术的兴起和各种社交应用的出现,回复生成技术也有了一些新的进展。其中,深度学习技术为回复生成提供了可以避免人工编写特征的可能,而各类伴随着社交应用的使用而积累的大量数据进一步使得这种可能得以付诸实践。

在具体应用中,回复生成任务通常可以使用sequence to sequence(Seq2Seq)深度学习框架(Sutskever et al., 2014; Cho et al., 2014; Bahdanau et al., 2014)进行建模。在该框架下,用户的消息和系统的回复(下文简称为消息和回复)被建模为两个序列,通过大规模的训练数据来训练模型学习两个序列间的映射关系(Shang L et al., 2015; Sordoni et al., 2015; Vinyals et al., 2015; Wen et al., 2015)。但是在实际应用中,这类模型往往存在着倾向于预测出一般性的模糊回复的问题。如下表所示。

 

消息

回复

上班好无聊呀

我也是

希望没打扰大家

我也是

很喜欢这段话

我也喜欢

你今年多大了

我不知道

 

针对该问题,不同研究者从不同的角度进行相应的研究。其中,Li 等认为造成这种一般性模糊回复的原因在于训练过程中使用了极大似然估计方法的交叉熵损失函数(Li et al. 2015),进而提出了使用最大互信息作为损失的方法并验证了其有效性。Serban 等则通过在生成过程中引入一个随机变量,增强回复的随机性从而减小生成这种一般性模糊回复的倾向性(Serban et al., 2016a)。此外,还有本文着重探讨的基于关键词的方法,通过使用一些关键词来增强生成回复的相关性。

 

2. 基于关键词的回复生成

2.1 Seq2BFsequence to backward and forward sequences模型

Mou 等提出了一种基于关键词的分阶段生成回复的 Seq2BF 模型(Mou et al., 2016)。他们将回复生成过程分成了两个阶段,首先根据用户消息在词表中选取和消息具有最大互信息的词作为关键词,并认为该关键词应该作为回复的一部分显式出现在最终回复中。然后根据该关键词预测出回复的剩余部分。在此,首先简要介绍一下 Seq2Seq 框架下基本的回复生成模型。基础模型由两部分组成:encoder 和 decoder,其中,encoder 负责将消息编码成一个模型的内部表示,比如一个定长的向量,decoder 则在给定 encoder 输出的条件下,从一个特定的开始字符开始,逐字生成出完整的回复内容。相比之下,Mou 等人的方法将生成的起点选定为他们在第一阶段中生成的关键词上,如图1所示。该模型可以视为由正向和反向的两个基础模型组成。给定了一个关键词,首先使用反向的基础模型,逆向生成回复的前半句,然后将逆向生成结果恢复成正常语序后连同关键词输入到正向的基础模型中,继续生成出回复的后半句,拼接成最终回复。

人机对话系统中基于关键词的回复生成技术

图1. Seq2BF模型结构图

 

2.2 MrRNNMultiresolution RNN模型

Seq2BF 可以看做是一种显式关键词模型,即关键词显式地出现在最终的回复中,但这也形成了该模型的一个可能的局限,即使用的关键词有且只有一个。相比之下,Serban 等的 MrRNN 模型(Serban I V et al., 2016b),隐式地使用了多个关键词。该模型将从训练对中提取的关键词通过一个子 Seq2Seq 模型压缩成一个定长向量,进而与 decoder 的隐层状态拼接,使得解码过程限定在给定这些关键词的条件下进行,从而增强内容的相关性避免生成模糊回复。相比 Seq2BF 模型,MrRNN 模型通过使用子模型允许同时利用多个关键词,且不同样本的关键词个数是动态可变的。但由于这些关键词信息被压缩成了一个定长的向量,每一个关键词的完整信息对于解码过程实际上是不可见的,模型无法确保显式地预测出某个关键词。

 

2.3 DcDecoder(Dynamic Conditional Decoder)模型

考虑到以上可能的局限,我们提出了一种可以使用动态个数关键词同时考虑每个关键词完整信息的解码器(DcDecoder),使得多关键词可以显式地被预测在回复中。整体的生成过程同样分成两部分进行,首先,根据消息生成若干个关键词。这里我们认为这些预测出的关键词是期望出现在最终回复中的词。因此,在训练过程中,关键词可以直接从 ground-truth 中提取,因为 ground-truth 即为训练过程中的期望输出。在我们的试验中,我们提取出了其中的所有名词作为关键词。但在预测过程中,ground-truth 的信息是不可见的,需要使用其他方法。参照 Mou 等的工作,我们根据每个候选词与消息的互信息值进行选取。同时,为了保证与训练过程一致,选取的范围进一步限定在名词范围内。然后,生成的关键词将按序逐一作为 decoder 的条件输入被用来解码出回复。在解码的每一步中,只考虑一个关键词,因而 decoder 能够获取到该关键词的完整信息。在每一步解码完成进入下一步前,根据当前生成情况判断一些预设条件是否满足,从而决定下一时刻的条件输入是保持不变亦或是替换为下一个关键词。

 

关键词转移过程 具体的关键词转移规则可参照图2。为了能够引导模型结束生成过程和整体的一致性,每一个关键词序列最后均添加一个结束字符“EOS”。在训练过程中,关键词从 ground-truth 中抽取,除了结束字符外,图2例子中共抽取出两个关键词“tables”和“reversed”。我们认为关键词是期望出现在回复中的词,因此,一个关键词在 ground-truth 中出现时刻之前的所有时刻,均以该关键词作为条件输入,并在下一时刻替换为下一个关键词。以图2为例,第一个关键词“tables”提取自时刻3,因此该关键词将作为前三个时刻的条件输入,并在时刻4替换为下一个关键词“reserved”。同理在时刻8,由“reversed”替换为最后一个关键词“EOS”,直至生成过程结束。在预测过程中,没有 ground-truth 信息提供的关键词位置信息可参考,因此,关键词的转移需要根据自身预测的情况进行判断,若当前时刻的关键词被预测出,则下一时刻转移至下一关键词,否则保持不变。此外,考虑到某些关键词被预测出可能需要较多个时刻的迭代,因此在预测阶段添加了额外的转移规则:预设一个关键词最大使用次数K,若在K次使用后该关键词仍未被预测则进行转移。

人机对话系统中基于关键词的回复生成技术

图2. 关键词转移过程

 

Keyword Gating Function 在解码过程的每一个时刻,decoder 在给定当前关键词的条件下预测输出。具体过程如图3所示。以时刻j为例,关键词生成器生成的关键词在j时刻转移至第i个关键词ki :“reversed”,并提供给了 decoder 作为条件输入。Decoder 在GRU的基础上,对现有的所有门在计算过程中考虑关键词的影响:

人机对话系统中基于关键词的回复生成技术

此外,设置一个关键词门p来控制关键词在形成新记忆过程中的重要性:

人机对话系统中基于关键词的回复生成技术

人机对话系统中基于关键词的回复生成技术

其中Oki为关键词ki对应的输出矩阵的embedding向量。这样,当 decoder 判断出当前时刻要以较大概率预测出条件输入的关键词时,关键词门p将被激活,提高Oki的信息在形成新记忆时的占比。反应在向量空间中,decoder 的隐层状态将向Oki方向偏移,进而提高两者的余弦相似度值使得Oki对应的关键词“reversed”的预测概率提升。

人机对话系统中基于关键词的回复生成技术

图3. DcDecoder模型结构图

 

我们在 Ubuntu 数据集(Lowe et al., 2015)上进行了实验来验证该方法的有效性,并在自动评价和人工评价上均取得了优于基线方法的结果。此外,还进一步对提出的关键词门进行了分析。该关键词门旨在控制关键词信息的占比,因此,它在关键词被预测出的时刻应该处于相对活跃的状态。为验证这一点,我们分别统计了关键词被预测时刻与未被预测时刻的关键词门p的平均值pk和pc,并绘制出两者的差值,图4展示了该差值在最大关键词个数从1至4时的情况,横轴为向量的维度下标,纵轴为 pk-pc 的值。从中可以看出,两者差的各维度的值大多为正,即关键词被预测出时,关键词门的确处于较活跃的状态。同时,随着关键词个数的增多,p的活跃程度也有所提高,即关键词信息在预测过程中的重要程度增高。

人机对话系统中基于关键词的回复生成技术

图4. 关键词门激活状态分析图

3. 总结与展望

    

基于关键词的回复生成技术有助于 Seq2Seq 框架下的模型生成内容上更为相关的回复,避免生成模糊回复的倾向性。相比于使用单关键词的模型,多关键词模型更适用于复杂多变的对话场景,对关键词信息的利用也更充分。相比于隐式使用关键词,显式模型将关键词作为回复的一部分,使得生成过程更为可控,对相关性的提升也更为稳定。但目前工作对于关键词的预测与使用关键词进行解码大多还是分步进行的,这使得模型无法根据第二步的生成情况对第一步的关键词预测进行调整和改进。因此,将这两个过程整合,联合训练是今后基于关键词回复生成的一个可能的研究点,可能会进一步提升模型的生成效果。

 

参考文献

[1] Weizenbaum J. ELIZA—a computer program for thestudy of natural language communication between man and machine[J]. Communications of the ACM, 1966, 9(1): 36-45.

[2] Singh S, Litman D, Kearns M, et al. Optimizing dialogue management with reinforcement learning: Experiments with the NJFun system[J]. Journal of Artificial Intelligence Research, 2002, 16: 105-133.

[3] Young S, Ga?i? M, Thomson B, et al. Pomdp-based statistical spoken dialog systems: A review[J]. Proceedings of the IEEE, 2013, 101(5): 1160-1179.

[4] Sutskever I, Vinyals O, Le QV. Sequence to sequence learning with neural networks[C]//Advances in neural information processing systems. 2014: 3104-3112.

[5] Bahdanau D, Cho K, Bengio Y. Neural Machine Translation by Jointly Learning to Align andTranslate. In ICLR, 2015.

[6] ChoK, Van Merrienboer B, Gulcehre C, et al. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation. In EMNLP, 2014.

[7] Shang L, Lu Z, Li H. Neural Responding Machine for Short-Text Conversation. In ACL, 2015.

[8] Pascual B, Gurruchaga M, Ginebra M P, et al. A Neural Network Approach to Context-Sensitive Generation of Conversational Responses[J]. Transactions of the Royal Society of Tropical Medicine & Hygiene, 2015, 51(6):502-504.

[9] Wen T H, Vandyke D, Mrksic N, et al. A network-based end-to-end trainable task-oriented dialogue system. In EACL, 2017.

[10] Vinyals O, Le Q. A neural conversational model[J]. arXiv preprint arXiv:1506.05869, 2015.

[11] SerbanI V, Sordoni A, Lowe R, et al. A Hierarchical Latent Variable Encoder-Decoder Model for Generating Dialogues[J]. In AAAI, 2017.

[12] Serban I V, Klinger T, Tesauro G, et al. Multiresolution Recurrent Neural Networks: An Application to Dialogue Response generation[J]. arXiv preprint arXiv:1606.00776, 2016b.

[13] Jiwei Li, Michel Galley, Chris Brockett, Jianfeng Gao, and Bill Dolan. Adiversity-promoting objective function for neural conversation models. In NAACL, 2016.

[14] Mou L, Song Y, Yan R, et al. Sequence to Backward and Forward Sequences: A Content-Introducing Approach to Generative Short-Text Conversation. In COLING, 2016.

[15] Ryan Lowe, Nissan Pow, Iulian V. Serban, and Joelle Pineau. 2015. The Ubuntu Dialogue Corpus: A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems. In Proceedings of SIGDIAL, 2015.

本期责任编辑: 丁效

本期编辑: 赵得志

人机对话系统中基于关键词的回复生成技术


人机对话系统中基于关键词的回复生成技术

数据大家:汇聚众人智慧,成就一代大家!



人机对话系统中基于关键词的回复生成技术

人机对话系统中基于关键词的回复生成技术