We study response generation for open domain conversation in chatbots. Existing methods assume that words in responses are generated from an identical vocabulary regardless of their inputs, which not only makes them vulnerable to generic patterns and irrelevant noise, but also causes a high cost in decoding. We propose a dynamic vocabulary sequence-to-sequence (DVS2S) model which allows each input to possess their own vocabulary in decoding. In training, vocabulary construction and response generation are jointly learned by maximizing a lower bound of the true objective with a Monte Carlo sampling method. In inference, the model dynamically allocates a small vocabulary for an input with the word prediction model, and conducts decoding only with the small vocabulary. Because of the dynamic vocabulary mechanism, DVS2S eludes many generic patterns and irrelevant words in generation, and enjoys efficient decoding at the same time. Experimental results on both automatic metrics and human annotations show that DVS2S can significantly outperform state-of-the-art methods in terms of response quality, but only requires 60% decoding time compared to the most efficient baseline.
翻译:我们研究对聊天室开放式对话的反应生成。 现有方法假设, 响应中的词来自一个相同的词汇, 不论其投入如何, 这使得这些词不仅容易受通用模式和不相关的噪音的影响, 而且还在解码方面造成高昂的成本。 我们提议了一个动态词汇序列和顺序模型( DVS2S), 使每个输入都能够在解码方面拥有自己的词汇。 在培训、 词汇构建和响应生成方面, 通过使用蒙特卡洛取样方法最大限度地扩大真实目标的下限而共同学习。 推断, 模型动态地分配了一个小词汇用于单词预测模型的输入, 并且只用小词汇解码。 由于动态词汇机制, DVS2S 隐藏了许多通用模式和不相关的词汇, 并且同时享有有效的解码。 自动测量和人类描述的实验结果显示, DVS2SS能够在反应质量方面大大超出最先进的状态方法, 但只需要与最有效率的基准相比60%的解码时间。