张一珂 张鹏远 颜永红,3
语言模型(Language model,LM)是描述词序列概率分布的数学模型,广泛应用于各种自然语言处理(Natural language processing,NLP)领域,例如语音识别、机器翻译、词性标注等.
N元文法语言模型(N-gram LM)是一种常用的统计语言模型[1].由于实际自然语言中词汇组合的多样性,利用有限数据训练得到的N-gram LM不可避免地存在数据稀疏问题[2].数据增强是一种有效缓解数据稀疏问题的方法[3−5].就语言模型建模任务而言,常见的数据增强方法包括基于外部数据的方法[4−5]和基于递归神经网络语言模型(Recurrent neural network LM,RNN LM)随机采样的方法[6−7].前者按照一定的规则从其他来源(例如互联网)的数据中挑选部分数据扩充训练集,后者是利用训练好的RNN LM随机生成采样数据以丰富训练集中包含的语言现象.
在难以获取领域相关的外部数据的情况下,基于RNN LM随机采样的数据增强方法可以有效提升N-gram LM参数估计的鲁棒性.该方法将RNN LM作为一个生成模型,随机生成词序列.现有的序列生成模型均采用最大似然估计(Maximum likelihood estimation,MLE)算法估计模型参数.然而,MLE方法会使生成模型在生成采样过程中遇到暴露偏差问题[8−10].即在生成下一个词汇时,如果依赖的历史序列(即已生成的序列)未在训练数据中出现,偏差就会在序列生成过程中逐渐累积,最终导致生成的序列缺乏长时语义信息.
生成对抗网络(Generative adversarial nets,GAN)[11−12]是一种有效缓解暴露偏差问题的训练策略.GAN利用一个判别模型来判断给定的样例是否来自真实的数据,而生成模型则学习如何生成高……