神經網路語言模型詳解
1 簡介
語言模型是自然語言處理領域的基礎問題,其在詞性標註、句法分析、機器翻譯、資訊檢索等任務中起到了重要作用。簡而言之,統計語言模型表示為:在詞序列中,給定一個詞和上下文中所有詞,這個序列出現的概率,如下式,
其中,是序列中第詞,, 可以使用 近似,這就是n-gram語言模型,詳細請閱讀[我們是這樣理解語言的-2]統計語言模型。隨著深度學習的發展,神經網路相關研究越來越深入,神經網路語言模型(Neural Network Language Model,NNLM)越來越受到學術界和工業界的關注,本文將系統介紹下 NNLM 的建模及其應用。
2 神經網路語言模型
NNLM 最早由Bengio系統化提出並進行了深入研究[Bengio, 2000, 2003]。當然分開來看,(1) distributed representation最早由Hinton提出(1985), (2)利用神經網路建模語言模型由Miikkulainen and Dyer,Xu and Rudnicky分別在1991和2000提出。
NNLM 依賴的一個核心概念就是詞向量(Word Embedding)。詞向量源於Hinton在Learning distributed representations of concepts提出的Distributed Representation,Bengio將其引入到語言模型建模中,提出了NNLM。那麼,我們不禁要問,什麼是詞向量呢?
2.1 詞向量
簡而言之,詞向量是用一個向量來表示一個詞,一定程度上可以用來刻畫詞之間的語義距離。
a、詞表中的詞表示為一個詞向量,其維度一般取值為等值。
b、詞向量為神經網路的一類引數,可以通過訓練得到,同時基於詞向量可以表示詞序列的聯合分佈。
為了得到詞向量,我們需要在給定訓練資料集情況下,訓練得到目標模型。而模型需要滿足的約束,即對於任意的,表示與上下文所有可能的組合的概率和為1。 如此,我們可以將分解成兩部分:
a、詞表中任意單詞表示為詞向量,由此構建了一個的矩陣。
b、詞的概率分佈可以通過矩陣進行變換得到。函式是組合上下文中詞向量構建一個詞的條件概率分佈,即函式的輸出為一個向量,其第個分量表示當前詞等於詞表中第個詞的條件概率,,函式組合了和得到最終的輸出結果。
2.2求解目標
一般而言,神經網路語言模型的優化目標是最大化帶正則化項的Log-Likelihood,其中引數集合為為神經網路的引數。
3 Bengio NIPS’03 Model
3.1 模型結構
Bengio使用前饋神經網路(FFNN,Feed Forward Neural Network)表示,其結構如下:
圖 1 Bengio Yoshua提出的神經網路結構
上圖中,輸出層為Softmax,保證滿足概率分佈的約束:
其中,是每個詞非正規化的概率值,的值是通過下式計算得到,引數分別為:
通常設定為0,即輸出層和輸入層不存在直接聯絡,輸入向量為上下文環境對應的詞向量的拼接組合。在模型中,令,其中,是輸入層到隱藏層的偏置(長度為),為隱藏層到輸出層的引數(大小為),為輸入層到隱藏層的引數,為隱藏層到輸出層的偏置(長度為),是詞向量矩陣(大小為),總共的引數為。
模型求解方式採用隨機梯度上升(SGA,Stochastic Gradient Ascent),SGA類似於SGD,僅目標函式存在min和max的區別。
3.2發展方向
Bengio在論文的Feature Work部分提出了神經網路語言模型的可能改進方向,在後續研究者(包括他本人)的工作中多有所體現。
a、將神經網路分解成為小的子網路,比如利用詞的聚類等。
b、加速SoftMax中的正則項Z的快速求導
c、僅對一部分輸出進行梯度傳播。
d、引入先驗知識,比如語義資訊(WordNet),語法資訊(low-level: POS, high level:句法結構)等。
e、詞向量可解釋性。
f、解決一詞多義問題(Polysemous)。
4 Hierarchical Neural Language Model
基於前述工作,Bengio又提出了層次結構的神經網路語言模型,用於加速模型的訓練和推斷過程。
4.1 模型結構
Hierarchical Neural Language Model的表示式如下:
其中可以看作能量函式。
同上文一致,令為詞向量矩陣(word embedding matrix),為詞對應的向量,上述能量函式可以表示為,
上式中,為的轉置,為對應的引數向量和矩陣,是通過拼接詞的上下文中詞向量得到。
令為模型中隱藏層的單元數,我們可以計算得到整個模型的引數個數為。假定為100,詞表的大小20,000,Context的大小為5,可知第一部分為12,000,第二部分為6,000,000,計算量依然很大。
4.2 引數求解
模型求解參考了Goodman加速最大熵的語言模型訓練過程中的工作,將詞表中的詞進行一個預處理(按類層級劃分),這樣可以達到不錯的加速比,。這樣在計算式(2)時,可以轉換為,
其中,為樹的深度,是屬於類別的指示變數。按照上述形式,計算和的複雜度和成正比(相比,要小很多)。
5 Log Bi-Linear
Hinton在研究RBM時,結合神經網路語言模型提出了三種基於RBM的語言模型,FRBM(Factored RBM)、Temporal FRBM、Log-Bilinear Language Model,其中Log Bi-Linear為前兩者的簡化版本,本文中僅介紹Log-BiLinear Language Model。
5.1 模型結構
類似於Log-Linear模型,Log Bi-Linear模型在能量函式部分(EXP上面那個部分的相反數)加入了一個雙線性項,注意這裡的R是詞向量構成的矩陣,C代表此之前的連線權值。
其中,表示和之間的連線關係的引數,表示字典中詞向量的矩陣,第行表示第個單詞的詞向量,表示一個和字典長度相同的指示向量,即詞對應詞向量可以表示為; 表示對應的偏置。從上述能量函式可以看出,它是一個雙線性函式,需要注意的是這裡的能量函式是RBM的冪數部分,其對應的語言模型形式為,
其中,。
Log Bi-Linear的模型結構見下圖,
圖2 Log Bi-Linear模型結構
上圖表示,每個詞在詞向量矩陣中找到對應的詞向量表示,然後通過連結矩陣和當前詞(圖中)關聯,其中關聯關係是使用能量函式表示。
5.2 引數求解
套用RBM的求解框架,Log Bi-Linear可以採用Contrast Divergence Learning求解,其引數的梯度表示式,
對於,
對於,
這裡表示data distribution ,表示model distribution 。
6 Hierarchical LBL
Hinton將Bengio的Hierarchical NNLM和Log Bi-Linear思想結合,提出了Hierarchical Log Bi-Linear Language Model。
6.1 模型結構
Hierarchical LBL是將Hierarchical NNLM和Log Bi-Linear結合起來,對應的語言模型形式,
Log Bi-Linear部分可以簡要表示為,
其中,為對應的偏置項(bias),是上下文中的詞向量加權,權值為當前詞t和上下文中詞的關係權值,為詞w對應的詞向量。
由以上,可以推出HLBL的模型為,
其中,詞的在層次(樹)結構的編碼,是編碼路徑中第個節點的向量,為Logistic方程。
這裡可以允許存在多種層次結構,即每個詞對應多種編碼,可以將詞的所有編碼方式求和,即
其中,為詞w的編碼集合,這詞采用多種編碼方式能夠更好刻畫詞的不同形式和“語義”,這種思路在後續的SENNA中也有體現。
6.2 引數求解
該模型引數求解可以直接套用Log Bi-Linear和Hierarchical NNLM的方式,其中不同之處,Hinton提出了一種新的簡單的構建層次結構的方法:通過遞迴的使用二維的高斯混合模型(GMM,Gaussian Mixture Model)進行聚類,直到每個cluster中僅包含兩個詞,這樣所有的結果就構成一個二叉樹。
7 SENNA
SENNA中不僅僅提出了word embedding的構建方法,同時還從神經網路語言模型角度系統去解決自然語言處理任務(POS,Chunking,NER,SRL)。SENNA中,每個詞可以直接從Lookup Table中直接查詢到對應的向量。
其中,是詞向量的維度,為詞向量的矩陣,表示取矩陣的第列。SENNA中,表示句子或者詞序列僅將對應的詞向量拼接起來得到對應的向量。
SENNA中採用HLBL中同一個詞存在不同的詞向量,用於刻畫不同的語義和語法用途,一個詞的詞向量最終由各種形態下的詞向量組合起來,比如,一個詞可以有word stemming的向量,本身的向量(這些向量可能來自不同的Lookup table)等,需要將這些向量結合起來表示這個詞。SENNA直接將這些向量拼接起來,構成了一個維度為。
7.1 模型結構
SENNA包含兩種網路構建方式(1)window approach(圖3)(2)sentence approach(圖4)。
(1)window approach
window approach是一個前饋神經網路,包含線性層、HardTanh層。window approach的輸入是包含當前詞在內的視窗大小的序列,拼接所有詞的向量得到的表示向量,維度,
圖3 window approach
從圖3可知,輸入下一層或者幾層線性層,記為。
其中,為待訓練引數,為第層隱藏單元數。
SENNA中包含了一個特殊的層,HardTanh層,它的輸入是前一個線性層。HardTanh層是一個非線性層,形式如下,
其中,
SENNA的輸出層為輸入序列對應的得分,大小具體任務有關。
(2) sentence approach
window approach能夠完成絕大部分自然語言處理任務,但是在SRL上表現不佳。因此,SENNA提出了sentence approach用於適應SRL。sentence approach採用的卷積網路結構,除了線性層和HardTanh層外,還有一個卷積層和一個Max層。
圖4 sentence approach
因為sentence的大小不一定相同,需要在sentence上選取滑窗將輸入的向量進行卷積,得到如下形式,
其中,序列中所有滑窗共享。相比線性層,卷積層將區域性的特徵堆疊起來構建高層的特徵,而線性層則需要一個非線性變換(比如HardTanh)才能達到這種效果。
Max層是將卷積層的輸出的區域性特徵合併成為全域性特徵,卷積層輸出處理常用的方法有AVG和MAX。SENNA中採用的是MAX運算,即,
其中,為卷積層的輸入,為Max的輸出。
7.2 引數估計
上述神經網路的引數均通過MLE + SGD得到,我們將引數記為,訓練資料記為, 則引數估計記為,
其中,為輸入的句子或詞序列(window approach)對應的表示向量,表示具體任務(POS,NER,Chunking,SRL)的tag,為神經網路的輸出結果,箭頭右邊為data log likelihood。
SENNA求解方式分為兩種,word-level log-likelihood,sentence-level log-likelihood。
(1)word-level log-likelihood
在給定輸入的情況下,神經網路輸出一個得分,這裡為輸出的tag編號。這個得分不滿足概率的約束,需要對它進行歸一化,這裡採用了softmax方程,
為方便運算,對上述等式取log值,記分母部分為,得到的形式帶入data log likelihood中,最終形式為交叉熵(cross entropy)。但是,由於在句子中當前詞和相鄰的詞的tag存在關聯性,上述方案並非最好的求解方式,所以SENNA提出了sentence-level log-likelihood。
(2)sentence-level log-likelihood
在輸入的句子中,有些tag不能在某些tag之後。從序列的角度看,tag和tag之間的轉換是有條件的,這種轉換是需要滿足約束的。記,為句子的網路輸出得分,為輸入序列中第個詞,輸出為第個tag的得分。基於上述考慮,SENNA引如一個轉換矩陣用於儲存tag和tag之間的轉換關係,表示從tag i到tag j的得分,轉換得分需要通過從資料中訓練得到,故引數為。按照上述處理,序列的得分是神經網路得分加上轉換得分,
類似於word-level的處理,最終輸出需要滿足概率分佈的約束,sentence level僅對所有可能的tag路徑進行softmax歸一化,我們定義這個結果比值為tag路徑條件概率。對條件概率取log後,
上式中,logadd操作擁有特殊的性質可以遞迴的求解,可以方便的得到遞推公式,
終止條件為,
上述過程理解可以參照HMM的前向演算法。在訓練時,對所有的樣本最大化data log likelihood,注意其中為tag路徑條件概率。
SENNA的推斷部分採用的是Viterbi演算法,推斷過程理解可以參照HMM的推斷過程,形式為,
類似於HMM中,也需要按照引數求解過程進行遞迴處理,但是每步需要用max操作替代logadd操作,然後回溯得到解。viterbi的過程理解可以參照動態規劃問題,找出狀態轉移方程即可。
8 Eric Huang’s Model
在Bengio的神經網路結構的基礎上,Eric Huang提出了引入文件的全域性資訊引神經網路語言模型,結構類似於Bengio的網路結構。
8.1 模型結構
相比Bengio的模型,Eric Huang引入了詞的全域性資訊,在原本的網路結構中加入了子網路,形成如下圖所示結構。
圖5 Eric Huang的網路結構圖
其中,,代表區域性的得分,代表全域性的得分。的計算公式為,
為當前詞的Context中個詞向量的拼接,為啟用函式(逐個元素使用),比如為對網路中的引數。
相應的,的計算公式,
其中,為文章中包含的詞向量的加權平均,權值公式可以有多種形式,Eric Huang採用IDF加權的方式。
8.2 引數求解
Eric Huang採用[C&W, 2007]中的求解方法,從詞表中隨機取樣一個替換當前詞,構造如下損失函式(類似於Ranking問題)
求解過程採用了min-batch L-BFGS。
9 word2vec
word2vec是word embedding中最為人知的模型,其原因(能想到的)有,(1)模型簡單,訓練速度快;(2)程式碼和資料開源,容易復現;(3)Google出品(作者在Google實習期間工作,但程式碼很難讀)。
word2vec由Tim Mikolov的三篇論文引出(雖然有一篇是講Recurrent NN),專案開源(https://code.google.com/p/word2vec/),訓練速度快(單機跑預設資料集,僅20+min)。word2vec程式碼中包含了兩個模型CBOW(Continue BOW)和Skip-Gram。
9.1 CBOW
CBOW模型見下圖,
圖6 CBOW模型結構
類似於[Bengio, 2003]中的模型,CBOW的優化目標是:給定詞序列,最大化下式,
其中,採用log-linear(Softmax)模型用於正確分類當前詞。在求解上式梯度時,每步的計算量與詞表大小成正比,十分耗時,需要藉助其他方法近似求解。
9.2 Skip-Gram
Skip-Gram結構圖見下圖
圖7 Skip-Gram模型結構
Skip-Gram中優化的目標:給定詞序列,最大化下式,
其中,c是上下文的大小,採用softmax方程,
和為對應的輸入和輸出詞向量,上式中梯度()的計算複雜度正比於詞表的大小,處理方法同CBOW。
9.3 引數求解
(1)Hierarchical Softmax
同Section 4中Hierarchical NNLM[Bengio, 2006],基於tf-idf構建Huffman樹,簡單快速。
(2)Noise Constractive Estimation
在section 4中提到了如何快速近似求解partition function的問題,Gutmann在AISTAT(理論的會議,如無基礎誤入,坑!)和ICANN上介紹一種新的近似求解方法-NCE,最終在JMLR上發表一篇長文來詳細闡述其思想。此方法思想後續,本部落格會撰文專門解釋。
10 Glove
Glove(Global Vectors for word representation)由Jeffrey和Socher提出,並在word analogies,word similarity,NER任務中取得不錯的效果。Glove融合了Globall Matrix Factorization和Local Context Window(見Section 11),提出了Log Bi-Linear的迴歸模型。從Glove的模型結構看,與神經網路結構存在不同,但是將其中函式設定為神經網路結構,即二者等價。
10.1 模型結構
所有非監督的word representation學習演算法均需要基於詞的共現矩陣,然後經過複雜變換和分解得到對應的word representation。Glove直接構造一個詞共現矩陣的近似矩陣(Context為固定長度),儘可能儲存詞之間的共現資訊,如下圖所示,
表1 共現矩陣舉例
詞表中三個詞,表示詞出現在詞的context中的概率,同理,。以i=ice, j=steam, k=solid(solid語義上更靠近ice而不是steam),Glove的目標是極大比率,參照Logistic Regression,其一般形式為,
其中,是對應的詞向量,是context中詞對應的向量。
由於屬於一個非常大的泛函空間,所以需要對形式進行限制:
(1)需要編碼比率中包含的資訊,由於向量空間和線性結構的一致性,所以最直接的方法是F建模的是兩個目標詞向量的差值。
(2)上式中,等式右邊是一個標量。如果F擁有複雜的結構,這樣和需要得到線性結構的衝突,故F變為如下形式,
(3)Context的詞和目標詞()可以任意交換,所以模型需要能適應如此變形。在F滿足對稱性下,其形式為
結合,上述兩式可以解得,即
對上式進行變形—將吸收到的偏置中,引入的偏置,
由於logx函式性質,需要對進行平滑,
10.2 模型求解
依據上式,我們可以構造出對應的損失函式,由於詞與詞之間的共現關係不均衡,有部分共現關係不合理的(噪聲)詞會賦上極小的權重,不利於模型學習引數。所以,在建構函式時考慮引入一個權重方程,
其中,需要滿足如下特性,
(1),如果是一個連續函式,當時,是有限的。
(2)需要滿足非遞減的特性,如此,較少的出現的共現組合不會賦較大值。
(3)的函式值需要比較小,這樣常見的共現組合也不會賦較大值
Glove中使用的權值方程,
通常。
11 Recurrent Neural Network Language Model
在前饋神經網路語言模型建模過程中取得STOA(the STate Of Art)的效果後,Thomas Mikolov將Recurrent Neural Network引入,同樣取得很好的效果。相比前饋神經網路,RNN能講更多的上下文考慮到模型中來(FFNN僅能考慮視窗內的上下文),RRN的隱藏層能夠囊括當前詞的所有前序詞(all previous words)。在序列資料中,RNN能夠發現更多的詞與詞之間的pattern(與模型能夠囊括更多的前序詞有關)。
11.1 模型結構
在進行語言模型建模,一般採用簡化版本的網路結構,此為時延神經網路(TDNN,Time Delay Neural Network),RNN的結構參照下圖[Mikolov, 2013]
圖8 簡化版RNN結構
其中,輸入層包括一個維的向量和一個維的向量,為隱藏層大小。網路訓練結束後,輸出層表示。
上述網路結構中,各個連結可以表示為
其中,和為sigmoid和softmax啟用函式。網路每步訓練複雜度為。
11.2 模型求解
由於RNN網路結構比較複雜,Backpropagation無法得到很好的訓練結果,所以需要對傳統Backpropagation進行改進,Mozer,Rumelhart,Robinson,Werbos等分別獨立提出了BPTT(BackPropagation Through Time)用於訓練RNN[Mozer, 1995][Rumelhart, 1986][Robinson, 1987][Werbos,1988]。
單隱藏層的RNN可以展開成一個多層的深度FFNN,隱藏層被使用N次,則可以展開為一個包含N個隱藏層的深度FFNN(見下圖),深度的FFNN可以使用梯度下降方法學習得到引數。
圖9 展開的RNN
按照上述結構,輸出層的誤差可以遞迴的往下傳遞,誤差表示式為:
其中,對向量中元素逐個使用,
如此,RNN中引數更新表示式為,
對於,
對於,
其中,T為網路中被展開的步數(見上圖)。
RNN用於Word Embedding學習的相關專案見:http://www.fit.vutbr.cz/~imikolov/rnnlm/
12 The Expressive Power of Word Embedding
這裡列舉兩篇關於評測詞向量的論文:Word Representation: Word representations :A simple and general method for semi-supervised learning[Turian et al., 2010],The Expressive Power of Word Embeddings[Yanqing Chen et al., 2013]。
在Word Representation一文中,將Word Representation分為三類,(1)Distributional Representation;(2)Clustering-based word representation;(3)Distributed Representation。
Distributional Representation是基於共現矩陣,其中為詞表大小,為Context大小,矩陣中每行為一個詞的表示向量,每一列為某些Context內容。構造矩陣有許多的方案和技巧,比如context的構建(左邊 or 右邊的Context視窗內容,Context視窗大小等)。同時,基於現有的共現矩陣,可以採用一些降維方法壓縮詞的表示,比如LSA中的SVD + Low Rank Approximation等。
Clustering-based word Representation是進行Distributional Representation中的共現矩陣“變換”成一個個聚類。常見的模型有:brown clustering,HMM-LDA based POS and word segmentation等。
Distributed Representation在Section 3.1中已經講到,現有的詞向量表示都可以歸到此類中,這類模型到現在已經提出了好幾十種,主要是Feed Forward Neural Network based和Recurrent Neural Network based兩大類。
在評測中包含有監督的評測任務:Chunking和NER,主要針對Brown Clustering和C&W,實驗結果如下圖:
表2 各類模型的在Chunking任務下F1得分,其中C&W的word embedding維度為50
表3 各類模型在NER任務下的F1得分,其中C&W的word embedding維度為50
從上圖中可以看出,Brown Clustering比C&W要優,但是Brown Clustering的訓練耗時要比SENNA和其他詞向量要高得多。
以上實驗,讀者可以自行復現,參考網址:http://metaoptimize.com/ projects/wordreprs/
Yanqing Chen在ICML-13上發表一篇評測現有Word Embedding的表達能力的論文,文中提到了四種公開發布的Word Embedding(HLBL,SENNA, Turian’s, Eric Huang’s)。文中基於的評測任務有(1)Sentiment:情感分析(兩類情感);(2)Noun Gender:人名性別識別(Noun Gender);(3)Plurality:複數(英文)形式判定;(3)Synonyms and Antonyms:同義詞反義詞判定;(4)Regional Spellings:不同語種形式判定(UK vs. U.S.A.)
表4 評價任務示例
從上表中可以看出,每個任務可以描述為一個二分類問題,現在需要考慮的是如何構建分類的特徵。
詞向量資料集:SENNA(130,000 words 50 dimension)、Turian’s(268,810 words 25or50or100 dimension)、HLBL(246,122 words 50 or 100 dimensions)、Huang‘s(100,232 words 50 dimensions)
評測中採用了線性和非線性兩類分類器,分別為Logistic Regression和SVM with RBF kernel。
圖10 基於Term的任務評測結果,陰影區域為使用SVM with kernel得到的提升
圖11 Regional Spellings(UK vs. US)
圖12 基於詞對分類的結果
從上述幾個任務的結果圖中,可以明顯看出Eric Huang’s和SENNA有明顯的優勢。從總體來看,對比原有Baseline均有提升,可見詞向量一定程度上符合語言的表述,但此文中沒有將word2vec、Glove等後起之秀考慮在內,無法客觀的評價詞向量技術哪家強。
13 Conclusion
自然語言處理與神經網路結合的研究數見不鮮。現有的word embedding還只是詞的淺層的表示,還需要通過組合的方式表達句子、篇章等,這些高階部分可以參考Oxford的一篇PHD thesis:Distributed Representations forCompositional Semantics。顯然從這幾年的會議發表論文(ACL COLING EMNLP),發展趨勢越來越靠近Machine Learning,尤其Deep Learning(Neural Network)觀點的論文特別多。簡單的基於論文titile查詢統計embedding出現次數,ACL(8),
Coling(5), EMNLP(10)。從論文質量上看,含金量高的paper越來越少。
當然,自然語言處理中還需要很多基礎、耗時的工作來建立形式化方法,比如knowledge base(Yago,NELL等)。當這些基礎設施構建基本完成,我們可以做推理(Reasoning)等,更進步一步促進人工智慧的發展。
本文內容包含了部分個人理解和詮釋,如各位讀者發現文中錯誤或者與您理解不一致的情況,歡迎留言討論或者私信我微博 @Copper_PKU,謝謝~
Reference & Comments
1. 宗成慶. 統計自然語言處理. 清華大學出版社. 2008. 此書為統計觀點,適合CS背景做NLP的人讀。
2.Manning, C. D Foundations of Statistical Natural Language Processing. MIT Press. 1999.
3. 馮志偉. 自然語言處理的形式模型. 中國科技大學出版社. 2010. 此書講涵蓋句法、語義各個層面 ps:作者是從Linguistic角度去分析自然語言處理
Model:
1. Yoshua Bengio. A Neural Probabilistic Language Model. JMLR(2003). 2003. 神經網路語言模型的開山之作,MileStone論文,引用率634(Google Scholar)。
2. Frederic Morin, Yoshua Bengio. Hierarchical Probabilistic Neural Network Language Model. Innovations in Machine Learning(2006). 2006.提出了Hierarchical NPLM
3. Andriy Mnih, Geoffrey Hinton. Three New Graphical Models for Statistical Language Modelling. ICML(2007). 2007. 提出了三個Model,其中提的較多的是A Log-Bilinear Language Model,後續論文多引用此模型
4. Andriy Mnih, Geoffrey Hinton. A Scalable Hierarchical Distributed Language Model. NIPS(2008). 2008. 提出HLBL
5. Ronan Collobert, Jason Weston. A Unified Architecture for Natural Language Processing: Deep Neural Networks with Multitask Learning. ICML(2008). 2008. 舊瓶新酒-TDNN + Multitask Learning
6.Ronan Collobert Jason Weston et al.Natural Language Processing (Almost) from Scratch. JMLR(2011). 2011. 對SENNA進行解釋的論文,注意SENNA要區別[5]中的C&W embedding.
7. Eric H. Huang, Richard Socher, etc. ImprovingWord Representations via Global Context and MultipleWord Prototypes. ACL(2012). 2012. 此篇paper把全域性資訊加入模型,模型求解用了[5]中的方法
8. word2vec系列paper:
-
Distributed Representations ofWords and Phrases and their Compositionality
-
Efficient Estimation of Word Representations in Vector Space
-
word2vec Explained: Deriving Mikolov et al.’s Negative-Sampling Word-Embedding Method 解釋性的paper 釋出arxiv上的,和有道那個可以一起看
9. Nitish Srivastava, Ruslan Salakhutdinov,Geoffrey Hinton. Modeling Documents with a Deep Boltzmann Machine. UAI(2013). 類似於LDA的一種topic model
10. RNN系列, Recurrent NN能model long term dependency, 訓練出的結果比Feed Forward NN結果更好 但訓練複雜度更大 這個系列word2vec作者Mikolov研究較多,比如其博士論文
-
Linguistic Regularities in Continuous SpaceWord Representations
-
Recurrent neural network based language model
-
STATISTICAL LANGUAGE MODELS BASED ON NEURAL NETWORKS [PHD THESIS IN BRNO UNIVERSITY OF TECHNOLOGY]
11. Recursive NN這個主要用在句法分析上,model自然語言存在的遞迴結構 這個主要是Richard Socher的paper
-
Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank
-
Parsing Natural Scenes and Natural Language with Recursive Neural Networks
12. Joseph Turian, Lev Ratinov, Yoshua Bengio. Word representations: A simple and general method for semi-supervised learning. ACL(2010) 對現有的word Representation做了對比 提供一個新的word embedding 讀者可以自行復現(見Section 13)。
13. Jeffrey Pennington,Richard Socher, Chris Manning. GloVe: Global Vectors for Word Representation. EMNLP(2014)
GloVe與word2vec對比的效果曾經被質疑過 其實word2vec效果差不多
14. Omer Levy, Yoav Goldberg.Neural Word Embedding as Implicit Matrix Factorization. NIPS. 2014.
將SGNS(Skip Gram with Negative Sampling)和矩陣分解等價分析,SGNS等價於分解PMI矩陣。文中作者基於譜方法(SVD)分解shifted PPMI的矩陣,得到了不錯的效果(word sim上和word2vec類似)。作者還在arxiv提交了一個分析SGNS的note,結合看更加。
15.Q.V. Le, T. Mikolov.Distributed Representations of Sentences and Documents. ICML(2014). 2014. 文中各個實驗都體現了好的效果,但是可復現性一直遭到質疑,最近在word2vec的google group上公佈了復現方法,已經有人復現出92.6%的結果。
Tutorial:
1. Tomas Mikolov. Statistical Language Models Based on Neural Networks
2. Richard Socher. Recursive Deep Learning for Modeling Semantic Compositionality
3. Ruchard Socher, Christpher Manning. Deep Learning for Natural Language Processing (without Magic)
Evaluation:
1. Yanqing Chen, etc. The Expressive Power of Word Embeddings. ICML(2013). 實驗評價了四個model–HLBL[4],SENNA[11],Turian’s[12], Huang’s[6].