Character-Aware Neural Language Models笔记

字符级别的输入

目前存在的问题

NLMs已经被证明优于基于计数的n-gram语言模型(Mikolov.2011年),但是模型对子词信息关注少,例如eventful,eventfully,uneventful和 uneventfully,这些词应该在向量空间内具有类似的结构嵌入。但是NLMs对于罕见词的嵌入估计很差,导致罕见词(以及它们周围的词)的高度困惑。("困惑"模型评价指标之一,困惑值越低,模型性能越好)

本文提出了一种利用子词信息的字符级卷积神经网络(CNN),其输出作为递归神经网络语言模型(RNN-LM)的输入。

优点
NLMs模型中的参数大多来自于word embeddings,而本文提出的模型在输入层中未使用word embeddings,所以模型参数较少,且试验效果好

模型总体结构

模型分为3个部分:
(1) Character-level Convolutional Neural Network
(2) Highway Network
(3) Recurrent Neural Network Language Model

(1) 字符级别的CNN
设C为字符集,d为字符插入矩阵的维度,Q (d×|C|)为字符插入矩阵。假设词汇表V中的某个词k由[ c 1 , . . . , c l c_1,...,c_l c1,...,cl]组成(l是词k的长度),词k经过矩阵Q可以表示为矩阵 C K ∈ R d × l C^K∈R^{d×l} CKRd×l。滤波器 H ∈ R d × w H∈R^{d×w} HRd×w(宽度为w),卷积层的输出 f k f^k fk为:


在这里插入图片描述

其中 C k [ ∗ , i : i + w − 1 ] C^k[*,i:i+w-1] Ck[,i:i+w1]表示矩阵 C k C^k Ck的第i至i+w-1列;<A,B>=Tr( A B T AB^T ABT)。然后添加一个“池化层”:

在这里插入图片描述

由滤波器的尺寸和词k的长度可知, f k f^k fk(向量)长度为l-w+1,给定滤波器的情况下,遍历i后取最大值,这一步的目的是获得值最高的最重要的特征。假设一共有h个滤波器,则 y k = [ y 1 k , . . . , y h k ] y^k=[y^k_1,...,y^k_h] yk=[y1k,...,yhk]
(2)Highway Network
将上述中的 y k y^k yk作为Highway Network的输入,即:


Alt
Alt

这一步的_目的_是将直接将一部分的输入当做输入,有效的减少梯度消失的问题,同时也能提高模型性能。

(3)Recurrent Neural Network Language Model
采用经典的LSTM网络结构:


Alt

并且在隐藏层后加入一个softmax层


在这里插入图片描述

其中词序列 w 1 : t = [ w 1 , . . . , w t ] w_{1:t}=[w_1,...,w_t] w1:t=[w1,...,wt] p j p^j pj表示隐藏层输出矩阵的第j列, q j q^j qj是相应的偏置。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值