lm神经网络_综述:神经网络语言模型(译)

75ba4846918c3f225e2d3b6f651f966d.png

为了更好的浏览体验,可访问:

PDF版​github.com

本文直接翻译了综述,后期会有系列文章,解析常见的几个语言模型、原理等。

摘要

作为自然语言处理(Natural Language Processing,NLP)系统的核心组件,语言模型(Language Model,LM)能够提供词的向量表示和词序列的联合概率。神经网络语言模型(Neural Network Language Models,NNLM)克服了维度灾难,并且大大提升了传统语言模型的性能。本文主要阐述了神经网络语言模型综述。首先,本文大致描述了经典的神经网络语言模型结构,然后介绍和分析一些主流的模型改进方法。本文总结和对比了神经网络所用的数据集、工业实践中的一些工具库,以及一些神经网络语言模型研究方向。

绪论

语言模型是大部分NLP任务的基础,如在机器翻译(Machine Translation,MT)任务中,语言模型被用来评估翻译系统输出一个特定序列的概率,以提升其在目标语言中的流畅度。而在语音识别(Speech Recognition,SR)任务中,将联合语言模型和声学模型来预测输出下一个词。

早期的NLP系统主要基于人工编写的规则,该过程不仅耗时长,而且难以完成以至无法覆盖到多样的语言环境。20世纪80年代,人们提出了对于构成序列

个词的出现概率语言模型,即

其中

表示序列
中的第
个词,则给定一个词的前序序列(通常称为历史上下文或上下文),整个词序列的概率可分解为,下一个词关于其前向词的条件概率的乘积。

考虑到难以学习上述模型中的大量参数,通常需要一种近似方法来近似表示。N元模型便是一种近似方法,并且在神经网络语言模型之前,一直作为最优模型而被广泛使用。

元模型都是基于
阶马尔可夫假设得来,该假设认为当前状态仅依赖于其之前的
个状态,并使用最大似然进行估计得出模型参数,即:

困惑度(Perplexity,PPL)[13]是一种语言模型评估方法,其本质上是一个信息论中概率模型质量评估指标。当困惑度值越低时,则表明模型更优。给定一个包含N

个词的语料库和一个语言模型,则语言模型的困惑度被定义为:

上述公式表明,困惑度与语料库紧密相关,因而两个或多个语言模型只有构建在相同的语料库上才能使用困惑度进行对比。

然而,

元模型有个显著的特点,对于未在训练语料库出现的词,其序列的困惑度值为0,这与实际情况不符。而使用平滑技术能解决该问题,其主要思想是“劫富济贫”,即降低出现在训练语料库中的事件的概率,并将概率分配给未出现的事件。

虽然使用平滑技术的n元模型能够正常工作,却仍然有其他问题,其中维度灾难便是一个重大问题,从而大大制约了通用语言模型在大规模语料库上的建模能力,当人们想要对离散空间中的联合分布建模时,这个问题及其显著。例如,当你想要建模一个10,000词汇的

元语言模型时,便需要
个参数。

为了解决这个问题,便引入了神经网络(Neural Network,NN)使语言模型映射到一个连续空间。包括前馈神经网络(Forward Feedback Neural Network,FFNN)和循环神经网络(Recurrent Neural Network,RNN)在内的神经网络都能自动学习到特征和连续的表征。因此,人们都希望神经网络能够应用于语言模型,甚至是其他的NLP任务,以适配自然语言的离散、组合和稀疏的特性。

第一个前馈神经网络语言模型( FFNN Language Model,FFNNLM)是由[5]提出,通过学习词的分布式表示来解决维度灾难,使得一个词能够使用一个低维向量(称之为embedding)表示。FFNNLM比

元模型的性能更好。之后,循环神经网络语言模型(RNN Language Model,RNNLM)[18]也相继提出。从此以后,NNLM开始逐渐称为LM的主流技术,并且被迅速地开发出来。紧接着,长短期记忆循环神经网络语言模型(Long Short-term Memory RNN Language Model,LSTM-RNNLM)[29]用于解决长期依赖问题。于此同时,大量的改进技术也相继被提出来,用于降低训练和验证时的损失以及PPL指标,如层次Softmax(Hierarchical Softmax),缓存机制等。近期,注意力机制在NNLM上的应用,使得模型的表现大幅提升。

本文主要集中于讨论NNLM的各种方法及其发展趋势。在第2节我们将介绍经典神经网络语言模型,第3节将分别讨论和分析NNLM的各类改进方法,紧接着,在第4和4节将介绍常用的数据集和工具库,最后,得出本文的结论,并讨论今后NNLM的研究方向。

经典神经网络语言模型

前馈神经网络语言模型

[35]曾尝试将NN应用于LM,虽然他们的模型比基准的

元模型表现更优,但是由于没有隐藏层,其泛化能力太差而导致无法捕获到相关的特征。

根据公式(1)的表示,LM的目标等价于评估一个条件概率

,但是FFNN无法直接处理变长数据和高效地表示历史上下文,因而诸如LM的序列建模任务,FFNN都必须要求他们使用固定的长度作为输入。受
元语言模型的启发(见公式(1)),FFNNLM会将前
个词作为预测下一个词的上下文。

604d9998fe83ab6992e3416db81cc09f.png
图1

[7]提出了如图1所示的最原始的FFNNLM结构,其能够表示为:

其中,

是用于连接各层的权重矩阵,
则分别是隐藏层和输出层的偏置值。

FFNNLM通过学习到每个词的分布式表示,来实现在连续空间上的建模。其中,词的表示只是LM用于提升其他NLP任务的副产品。基于FFNNLM,[1

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值