论文部分内容阅读
神经语言模型(Neural Language Model,NLM)作为自然语言处理(Natural Language Processing,NLP)领域里的基础任务,其主要目的是利用词的分布式表示,对自然语言序列建模,以克服统计语言模型中的维数灾难问题。其研究成果被广泛地运用到自然语言处理的其他任务如信息检索、对话系统等。特别是对机器翻译(Machine Translation,MT)、文本生成(Text Generation)而言,神经语言模型就是系统实现的核心组成部件。在神经语言模型中,softmax层作为模型的输出模块,其计算结果是反映模型性能优劣的主要依据。本文从神经语言模型的softmax层入手,探索改进语言模型的方法以及为下游任务特别是机器翻译提供有价值的信息。已有的神经语言模型在构建目标函数时,通常仅考虑使softmax层预测分布尽可能地逼近目标词分布,并将softmax层预测分布与目标词分布的交叉熵作为唯一的损失函数。然而,语言序列有着其固有的差异性:给定一个句子序列,任意选取两个不同位置的词,其为同一个词的概率极低。为了显式地利用这一差异性,本文提出了一个基于上下文差异性的损失函数,并将其作为神经语言模型训练的一个额外约束。实验表明,该方法能有效地降低神经语言模型的困惑度(perplexity,PPL),提高模型性能。在对基于神经网络的机器翻译softmax层预测正确率的研究过程中,本文以训练语料大小为自变量,分别用模型在测试集上的预测正确率和主流的评价指标BLEU对模型翻译质量进行打分,并通过这二者打分的一致性说明了softmax层预测正确率能很好地评估神经机器翻译模型的质量,可以为翻译模型评价任务的研究提供有用的信息。进一步地,本文结合现有模型的翻译结果说明了机器翻译多样性的存在,归纳出导致这一多样性的因素主要包括词的增加和缺失、同义词替换以及句式结构的不同。本文通过统计每个位置目标词的softmax层平均预测概率和预测正确率,从数据层面验证了翻译模型具有显著的多样性。根据softmax层预测正确率在不同位置的变化情况,本文发现翻译模型的softmax的预测正确率并未随着解码端输入译文的长度增加而提高。