加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

从经典结构到改进方法,神经网络语言模型综述

发布时间:2019-07-24 12:37:20 所属栏目:建站 来源:机器之心编译
导读:副标题#e# 作为自然语言处理(NLP)系统的核心组成部分,语言模型可以提供词表征和单词序列的概率化表示。神经网络语言模型(NNLM)克服了维数的限制,提升了传统语言模型的性能。本文对 NNLM 进行了综述,首先描述了经典的 NNLM 的结构,然后介绍并分析了一些

另一种解决方案是同时将字符级别和单词级别的特征输入给 NNLM。Miyamoto 和 Cho 等人于 2016 年提出使用 BiLSTM 从单词中提取出的字符特征向量对单词的特征向量进行插值,并且将插值向量输入给 LSTM。Verwimp 等人于 2017 年提出了一种「字符-单词」LSTM-RNNLM,它直接将字符和单词级别的特征向量连接起来,然后将连接结果输入给网络。基于字符的 LM 直接使用字符级 LM 作为字符特征提取器,应用于单词级 LM。这样一来,LM 就具有丰富的用于预测的「字符-单词」信息。

(2) 因式分解模型

NNLM 基于 token 定义了单词的相似度。然而,相似度还可以根据单词的形式特征(词缀、大写字母、连字符,等等)或者其它的注释(如词性标注(POS))导出。受到因式分解 LM 的启发,Alexandrescu 和 Kirchhoff 等人于 2016 年提出了一种因式分解 NNLM,这是一种新型的神经概率 LM,它可以学习从单词和特定的单词特征到连续空间的映射。

因式分解模型使得模型可以总结出具有相同特征的单词类别。在神经网络训练时应用因子代替单词 token 可以更好地学习单词的连续表征,可以表征集外词,也可以降低 LM 的困惑度。然而,对不同的因子的选择和不同的上游 NLP 任务、语言模型的应用是相关的。除了对各个因子分别进行实验外,没有其他方法可以用于因子的选择。因此,对于特定的任务,需要有一种高效的因子选择方法。同时,必须建立带有因子标签的语料库。

(3) 双向模型

传统的单向 NN 只能根据过去的输入预测输出。我们可以以未来的数据为条件,建立一个双向的 NN。Graves 等于 2013 年、Bahdanau 等人于 2014 年将双向 RNN 和 LSTM 神经网络(BiRNN 和 BiLSTM)引入了语音识别或其它的 NLP 任务。BiRNN 通过在两个方向处理输入数据来使用过去和未来的上下文。目前双向模型最火的工作当属 Peter 等人于 2018 年提出的 ELMo 模型,这是一种基于 BiLSTM-RNNLM 的新型深度上下文单词表示。预训练的 ELMo 模型的嵌入层的向量是通过词汇表中的单词学习到的表征向量。这些表征被添加到了现有的模型的嵌入层中,并且在 6 个具有挑战性的 NLP 任务中显著提升了目前最先进的模型的性能。

尽管使用过去和未来的上下文的双向语言模型(BiLM)已经取得了进展,但仍然需要注意的是,BiLM 不能够被直接用于 LM,这是因为 LM 是定义在当前单词之前的上下文中的。由于单词序列可以被视为一种同时输入的序列,因此 BiLM 可以被用于其它的 NLP 任务(如机器翻译、语音识别)。

(4) 缓存模型

「最新出现的单词可能会再次出现」。基于这个假设,缓存机制最初被用于优化 N 元语言模型,克服了对依赖的长度限制。该机制会在缓存中匹配新的输入和历史数据。缓存机制最初是为了降低 NNLM 的困惑度而提出的。Soutner 等人于 2012 年试图将 FFNNLM 与缓存机制相结合,提出了基于缓存的 NNLM 结构,导致了离散概率变化问题。为了解决这个问题,Grave 等人于 2016 年提出了连续的缓存模型,其中变化依赖于隐藏表征的内积。

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!