[干貨]神經網絡語言模型詳解

cg2y 9年前發布 | 372K 次閱讀 神經網絡 機器學習

原文  http://mp.weixin.qq.com/s?__biz=MjM5ODIzNDQ3Mw==&mid=203735609&idx=1&sn=68f6e2ad560257869aeea09c59af1c1a&scene=2&from=timeline&isappinstalled=0

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的人讀。
    </p>
    <p>
        2.Manning, C. D Foundations of Statistical Natural Language Processing. MIT Press. 1999.
    </p>
    <p>
        3. 馮志偉. 自然語言處理的形式模型. 中國科技大學出版社. 2010. 此書講涵蓋句法、語義各個層面 ps:作者是從Linguistic角度去分析自然語言處理
    </p>
    <h3>
        Model:
    </h3>
    <p>
        1. Yoshua Bengio. A Neural Probabilistic Language Model. JMLR(2003). 2003. 神經網絡語言模型的開山之作,MileStone論文,引用率634(Google Scholar)。
    </p>
    <p>
        2. Frederic Morin, Yoshua Bengio. Hierarchical Probabilistic Neural Network Language Model. Innovations in Machine Learning(2006). 2006.提出了Hierarchical NPLM
    </p>
    <p>
        3. Andriy Mnih, Geoffrey Hinton. Three New Graphical Models for Statistical Language Modelling. ICML(2007). 2007. 提出了三個Model,其中提的較多的是A Log-Bilinear Language Model,后續論文多引用此模型
    </p>
    <p>
        4. Andriy Mnih, Geoffrey Hinton. A Scalable Hierarchical Distributed Language Model. NIPS(2008). 2008. 提出HLBL
    </p>
    <p>
        5. Ronan Collobert, Jason Weston. A Unified Architecture for Natural Language Processing: Deep Neural Networks with Multitask Learning. ICML(2008). 2008. 舊瓶新酒-TDNN + Multitask Learning
    </p>
    <p>
        6.Ronan Collobert Jason Weston et al.Natural Language Processing (Almost) from Scratch. JMLR(2011). 2011. 對SENNA進行解釋的論文,注意SENNA要區別[5]中的C&W embedding.
    </p>
    <p>
        7. Eric H. Huang, Richard Socher, etc. ImprovingWord Representations via Global Context and MultipleWord Prototypes. ACL(2012). 2012. 此篇paper把全局信息加入模型,模型求解用了[5]中的方法
    </p>
    <p>
        8. word2vec系列paper:
    </p>
    <ul>
        <li>
            <p>
                Distributed Representations ofWords and Phrases and their Compositionality
            </p>
        </li>
        <li>
            <p>
                Efficient Estimation of Word Representations in Vector Space
            </p>
        </li>
        <li>
            <p>
                word2vec Explained: Deriving Mikolov et al.’s Negative-Sampling Word-Embedding Method 解釋性的paper 發布arxiv上的,和有道那個可以一起看
            </p>
        </li>
    </ul>
    <p>
        9. Nitish Srivastava, Ruslan Salakhutdinov,Geoffrey Hinton. Modeling Documents with a Deep Boltzmann Machine. UAI(2013). 類似于LDA的一種topic model
    </p>
    <p>
        10. RNN系列, Recurrent NN能model long term dependency, 訓練出的結果比Feed Forward NN結果更好 但訓練復雜度更大 這個系列word2vec作者Mikolov研究較多,比如其博士論文
    </p>
    <ul>
        <li>
            <p>
                Linguistic Regularities in Continuous SpaceWord Representations
            </p>
        </li>
        <li>
            <p>
                Recurrent neural network based language model
            </p>
        </li>
        <li>
            <p>
                STATISTICAL LANGUAGE MODELS BASED ON NEURAL NETWORKS [PHD THESIS IN BRNO UNIVERSITY OF TECHNOLOGY]
            </p>
        </li>
    </ul>
    <p>
        11. Recursive NN這個主要用在句法分析上,model自然語言存在的遞歸結構 這個主要是Richard Socher的paper
    </p>
    <ul>
        <li>
            <p>
                Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank
            </p>
        </li>
        <li>
            <p>
                Parsing Natural Scenes and Natural Language with Recursive Neural Networks
            </p>
        </li>
    </ul>
    <p>
        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)。
    </p>
    <div>
        <p>
            13. Jeffrey Pennington,Richard Socher, Chris Manning. GloVe: Global Vectors for Word Representation. EMNLP(2014)
        </p>
        <p>
            GloVe與word2vec對比的效果曾經被質疑過 其實word2vec效果差不多
        </p>
    </div>
    <div>
        <p>
            14. Omer Levy, Yoav Goldberg.Neural Word Embedding as Implicit Matrix Factorization. NIPS. 2014.
        </p>
        <p>
            將SGNS(Skip Gram with Negative Sampling)和矩陣分解等價分析,SGNS等價于分解PMI矩陣。文中作者基于譜方法(SVD)分解shifted PPMI的矩陣,得到了不錯的效果(word sim上和word2vec類似)。作者還在arxiv提交了一個分析SGNS的note,結合看更加。
        </p>
    </div>
    <p>
        15.Q.V. Le, T. Mikolov.Distributed Representations of Sentences and Documents. ICML(2014). 2014. 文中各個實驗都體現了好的效果,但是可復現性一直遭到質疑,最近在word2vec的google group上公布了復現方法,已經有人復現出92.6%的結果。
    </p>
    <h3>
        Tutorial:
    </h3>
    <p>
        1. Tomas Mikolov. Statistical Language Models Based on Neural Networks
    </p>
    <p>
        2. Richard Socher. Recursive Deep Learning for Modeling Semantic Compositionality
    </p>
    <p>
        3. Ruchard Socher, Christpher Manning. Deep Learning for Natural Language Processing (without Magic)
    </p>
    <h3>
        Evaluation:
    </h3>
    <p>
        1. Yanqing Chen, etc. The Expressive Power of Word Embeddings. ICML(2013). 實驗評價了四個model–HLBL[4],SENNA[11],Turian’s[12], Huang’s[6].
    </p>
</div>

</div>

 本文由用戶 cg2y 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!