【論文筆記】Character-Aware Neural Language Models

一、概要
  該文章發於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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章