神經網絡語言模型NNLM


NNLM(Neural Network Language Model)

神經網絡語言模型對理解word2vec模型有很大的幫助, 包括對后期理解CNN,LSTM進行文本分析時有很大的幫助.

 

模型訓練數據

是一組詞序列w1…wT,wt∈V。其中 V 是所有單詞的集合(即訓練預料中的詞構成的詞典), 詞向量把n-gram的離散空間轉換為連續空間.

概率函數

$f(w_{t},w_{t-1},...,w_{t-n+2}, w_{t-n+1})=p(w_{t} | {w_{1}}^{t-1})$

在這個模型中,可分為特征映射和計算條件概率分布兩部分:

1.  一個 |V|×m映射矩陣C,每一行表示某個單詞的特征向量,是m維,共|V|列,即|V|個單詞都有對應的特征向量在C中

2.通過一個函數 g (g 是前饋或遞歸神經網絡)將輸入的詞向量序列(C(wt−n+1),...,C(wt−1)) 轉化為一個概率分布,即該函數$p(w_{t} | {w_{1}}^{t-1})$是來估計,其中i有|V|種取值。如果把該網絡的參數記作ω,那么整個模型的參數為 θ = (C,ω)。我們要做的就是在訓練集上使下面的目標似然函數最大化.

 

目標函數:

 

神經網絡語言模型的網絡結構圖:

 

網絡結構:

從下往上依次是:

輸入層:window窗口中上下文的每個詞one-hot向量

投影矩陣: 紫色虛線表示詞語通過投影矩陣Matrix C對詞進行映射

投影矩陣也是稠密詞向量, 詞典維數V,稠密詞向量表示維數D

1*|V|*|V|*m = 1*m

 

神經網絡輸入層: 為經過投影矩陣映射后的詞向量的拼接, 輸入向量大小為窗口上下文詞的數量乘以定義的詞向量的長度

神經網絡隱藏層: 加激活函數tanh等進行非線性映射

輸出層:softmax做歸一化,保證概率和為1.

  $p(w_{t}|w_{t-1},...,w_{t-n+2}, w_{t-n+1}) = \frac{ e^{y_{w_{t}}} }{ \sum_{i}^{ }e^{y_{i}} }$

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM