【论文笔记】Character-Aware Neural Language Models

来源:互联网 发布:概率影响矩阵 编辑:程序博客网 时间:2024/05/17 03:37

一、概要
  该文章发于AAAI 2016,作者提出了仅建立在字符输入,预测在词水平上进行的一个神经语言模型(NLM)。当输入一个LSTM循环神经网络语言模型(RNN-LM)时,该模型在字符上启用了一个卷积神经网络(CNN),让该CNN的输出通过一个 Highway Network,使得效果得到进一步提升。该模型非常适用于形态丰富的语言上,因为其可以获取到丰富的语义和拼写信息。

二、模型方法
2.1 模型结构

这里写图片描述

  如上图所示,该模型首先是character-level representation经过卷积神经网络,输入经过Highway network,然后再作为LSTM结果的输入,最后经过一个softmax输出概率。

2.2 Character-level Convolutional Neural Network

  假设C为字符集合,d为character embeddings维度的大小,那么QRd|C|为character embeddings矩阵,假设存在单词k由字符[c1,...,cl]组成,其中l为单词k的长度,那么单词k的 character-level representation可以表示为CkRdl,第j列即代表单词中第j个字符的character embedding。
  我们可以使用不同宽度的卷积核HRd×w和非线性函数对上面得到的character embedding获得feature map fkRlw+1,即:

fk[i]=tanh(Ck[,i:i+w1],H+b)

  其中Ck[,i:i+w1]是指Ck的第 i到(i+w−1)列 ,⟨A, B⟩ = Tr(ABT )表示內积。之后我们使用Max pooling取最重要的特征,即:

yk=maxifk[i]

  在这里可以取不同大小的卷积核,对应一种卷积核可以设置多个数量,最后把所有的输入进行组合。
  下图为大小语言模型的一些参数。

这里写图片描述

2.3 Highway Network
  对于上面CNN的输入,让其经过Highway Network,假设单词k在CNN中的输出为yk,单层Highway Network的结构为:

z=g(Wy+b)

z=tg(WHy+bH)+(1t)y

  其中g为非线性函数,t=σ(WTy+bT) 称为 transform gate, (1−t) 称为carry gate。

2.4 Recurrent Neural Network Language Model
  这里使用的是LSTM,关于具体的LSTM可以看这里【Deep Learning】LSTM(Long Short-Term Memory)及变体。假设V为语料单词集合,存在句子w1:t=[w1,...,wt],在训练中对应的目标为w=[w2,...,wt,w1],在经过每个单词k经过Highway Network之后作为LSTM的time t的输入,其输入经过Softmax即可得到:

Pr(wt+1=j|w1:t)=exp(ht·pj+qj)iVexp(ht·pi+qi)

  训练时,假设句子长度为T,那目标是最小化代价函数negative log-likelihood (N LL)为:
NLL=Tt=1logPr(wt|w1:t1)

  语言模型常用的评价标准是perplexity (PPL):
PPL=exp(NLLT)

三、实验结果
  作者除了在英语数据集Penn Treebank (PTB)外,还在其他语言上做了实验,具体可以看原论文,这里主要说一下英语语料结果。

这里写图片描述

  通过实验结果可以看到在之前的模型上,除了最后一个结果是做了模型融合,作者提出的模型结果是最好的,并且参数也是非常少的,并且基于字符的模型不会出现OOV(out of vocabulary)的问题,同时,值得注意的是,作者发现,通过Character-level和Highway Network可以使得意思相近词的余弦相似度更小,如下图:

这里写图片描述

四、结论与思考
  作者提出了仅建立在字符输入,预测在词水平上进行的一个神经语言模型(NLM),在减少参数的基础上,可以取得比word/morpheme embeddings作为输入更好的效果,通过char embeddings可以取得更加丰富的语义和拼写信息,最后作者认为CharCNN和highway layers是仍然是未来representation learning的光明大道,以及本文可能在机器翻译等领域可能存在一定的意义。

五、个人思考:
  ①文章使用了Highway Network,从某种角度上讲Highway Network与LSTM中的遗忘门和输入门非常类似,作者尝试使用multilayer perceptron代替,但是效果却不理想,因而作者假设Highway Network适合与CNN,这个是值得商榷的。
  ②作者尝试使用char embeddings和word embeddings结合的方法,但效果变得不好,与前人的在part- of-speech tagging (dos Santos and Zadrozny 2014) and named entity recognition(dos Santos and Guimaraes 2015) 结合两种方法可以取得更好效果的结论相悖,作者认为在某些任务上word embeddings是多余的,char embeddings就足够了,是否可以取不同的权重可以达到充分利用其信息,这可能也是可以尝试的。
参考文献:
①Yoon Kim,Yacine Jernite.Character-Aware Neural Language Models
②代码链接:https://github.com/yoonkim/lstm-char-cnn。

阅读全文
0 0
原创粉丝点击