• 沒有找到結果。

目前的網路世界發展迅速,每日都會產生大量的文本資訊,要對這些文本資訊進

行處理並挖掘出有價值的資訊,和自然語言處理領域密切相關,其中統計語言模

31

型就是很重要的一部份,統計語言模型是自然語言領域的基礎,該模型也常廣泛

應用於語音識別、資訊檢索、機器翻譯、詞性標記等任務中。

統計語言模型是用來計算一個句子機率的機率模型,給定 S = 𝑊1𝑇 =

(𝑊1, 𝑊2, … 𝑊𝑇)表示由 T 個詞所組成的句子,則𝑊1, 𝑊2, … 𝑊𝑇的聯合機率分布為:

𝑝 (S) = 𝑝 (𝑊1, 𝑊2, … 𝑊𝑇) (4.1)

利用貝氏定理,上述式子可以分解為:

𝑝 (S) = 𝑝 (𝑊1) * 𝑝 (𝑊2|𝑊1) * 𝑝 (𝑊3|𝑊12) * … * 𝑝 (𝑊𝑇|𝑊1𝑇−1) (4.2)

因此我們必須去估計以上語言模型的參數,但在實現上有些困難,以上述例子來

說,句子長度為 T,故須計算 T 個參數,假設資料集的詞彙量為 N,假設不考慮

參數重複的情況,則其複雜度為 T ∗ 𝑁𝑇, 除了參數計算量龐大之外,其儲存的

花費也是一個問題。因此,我們需要一個估計參數較少的模型,在本小節,我們

將介紹 N 元語言模型和類神經網路模型兩種方法。

4.2.1 N 元語言模型(N-gram)

32

33

時,模型效能的提升幅度會縮小。此外使用 N 元語言模型的一個問題在於,測試

時出現了訓練集中沒出現的詞,則模型估計的機率為 0,通常都使用平滑

(Smoothing) 技術來解決。

4.2.2 機率式神經網路語言模型

在 2003 年 Bengio 等人 [26] 提出了機率式神經語言模型,示意圖如下,該

模型為四個層的網路,分別是輸入層 (Input Layer)、投影層 (Projection Layer)、

隱藏層 (Hidden Layer) 和輸出層 (Output Layer),其中 W 和 U 分別為投影層與

隱藏層和隱藏層與輸出層之間的權重矩陣,p 和 q 分別為隱藏層和輸出層的偏移

向量。

圖 4.2 神經網路結構示意圖

34

在 [26] 的實驗中,作者發現使用投影層和輸出層之間的權值矩陣雖然無法提高

模型效果,但能減少模型的迭代次數,近年來,人們更多將圖 4.2 結構視為圖 4.3

的三層結構。

圖 4.3 三層神經網路結構示意圖

對於資料集中的任一個詞𝑤,將 𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)表示為前 n-1 個詞,對於訓練

樣本(𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤), 𝑤),給定詞向量的長度𝑚,我們將輸入到圖 4.2 的網路,式

子如下:

𝑧𝑤 = tanh(𝑊𝑥𝑤 + 𝑝) (4.7)

𝑦𝑤 = 𝑈𝑧𝑤 + 𝑞 (4.8)

經過上述計算所得到的𝑦𝑤,為一個長度為 N 的向量,我們使用 Softmax 正規化方

法將其表示為當上下文為𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)時下一個詞為詞典中第 i 個詞的機率,其表

示如下:

35

p(𝑊|𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)) = 𝑁𝑒𝑦𝑤,𝑖𝑤𝑒𝑦𝑤,𝑖

𝑖=1 (4.9) 其中 tanh 為雙曲正切函數,在此為用於隱藏層的激發函數,𝑖𝑤 代表詞 w 在字典

中的索引值。

機率式神經語言模型與 N 元語言模型相比,有以下兩大優勢,第一為詞語之

間的相似程度可以透過詞向量來呈現,例如在一個訓練集中,句子一:”我喜歡

吃蘋果”出現了一千次,而句子二:”我喜歡吃榴槤”只出現了一次,依照 N 元

語言模型的流程,句子一出現的機率會遠大於句子二,但兩句之間的差異只在蘋

果和榴槤,這兩個詞彙在語意和句法上為相同的角色,因此句子一與句子二的機

率應該相近。然而,由機率式神經語言模型算出以上兩句的機率為相似的,因為

在機率式神經語言模型中假設了相似的詞其詞向量也是相似的。第二為機率式神

經語言模型不需要像 N 元模型需用平滑技術處理。

相關文件