1. 程式人生 > >詞向量-LRWE模型

詞向量-LRWE模型

詞向量

我們嘗試基於CBOW模型,將知識庫中抽取的知識融合共同訓練,提出LRWE模型。模型的結構圖如下:

技術分享

下面詳細介紹該模型的思想和求解方法。

1. LWE模型

在Word2vec的CBOW模型中,通過上下文的詞預測目標詞,目標是讓目標詞在其給定上下文出現的概率最大,所以詞向量訓練的結果是與其上下文的詞相關聯的。然而 CBOW模型只考慮了詞語的局部上下文信息,無法很好的表達同義詞和反義詞等信息。例如下面的幾個case:

技術分享

為了解決上述問題,本文將同義詞和反義詞等詞匯信息以外部知識的形式,作為詞向量訓練中的監督數據,讓訓練得到的詞向量能學習到同義、反義等詞匯信息,從而能更好地區分同義詞和反義詞。

1.1 模型思想

記 的同義詞和反義詞集合為( , , ),其中 SYN 表示同義詞集合,ANT 表示反義詞集合,我們的目標是已知目標詞對應的同義詞集合和反義詞集合,預測目標詞,使得目標詞和它的同義詞距離盡可能相近,與反義詞距離盡可能遠。

例如“The cat sat on the mat.”,已知sat有同義詞seated,反義詞stand,來預測目標詞為sat。

該模型稱為詞匯信息模型,模型結構圖如下:

技術分享

對於一個詞語,我們根據它的同義詞和反義詞預測目標詞,最大化詞語和它的同義詞同時出現的概率, 並降低詞語和它反義詞同時出現的概率。根據這個目標,定義以下的目標函數:

技術分享

技術分享

我們目標是在基於上下文的CBOW語言模型訓練過程中,加入同義詞反義詞信息作為監督,使得訓練所得詞向量能學習到同義和反義知識。基於該想法,我們提出基於詞匯信息的詞向量模型(Lexical Information Word Embedding,LWE),目標函數為

技術分享

模型的結構圖如下:

技術分享

需要註意的是,CBOW模型和詞匯信息模型共用同一份詞向量,這是為了通過共享表示來獲得彼此的知識信息,使得詞向量在訓練的時候,能綜合利用上下文信息和同義詞反義詞信息,從而得到更高質量的詞向量。

1.2 模型求解

從模型結構圖中可以看出,LWE可以看成兩個CBOW模型的疊加,因此優化求解方法和CBOW模型一樣,本文采用的是Negative Sampling進行優化。

使用 Negative Sampling 的方法,目標詞視為正樣本,通過負采樣的其它詞稱 為負樣本,而在我們的模型之中,對於詞語的同義詞集合來說,目標詞是正樣本,在同義詞集合之外的詞語都為負樣本,記的同義詞集合為 ,對於∈ 則有負樣本集合為 = || ,記指示函數

技術分享

其中正樣本標簽為 1,負樣本標簽為 0。則對於樣本 (, ),訓練目標函數(3-1)中

技術分享

反義詞同理,所以對於整個詞表 V 來說,整體的目標函數是:

技術分享

1.3 參數更新

要最大化目標函數(3-6),我們使用隨機梯度上升法。用隨機梯度上升方法求解時,需要分別求目標函數關於 eu 和 θw 的導數,為了方便推導,記

技術分享從上式可看出同義詞和反義詞的目標函數除了定義域不同,其函數表達式是一樣的,因此只需對函數 Ψ 進行求導。 函數 Ψ 對 求導,可得:

技術分享

所以 的更新公式為:

技術分享

2. RWE模型

詞語之間具有很多復雜的語義關系,例如上下位關系,“music”是“mp3” 的上位詞,“bird”是“animal”的下位詞,這裏“animal”的下位詞除了“bird” 外,還有有“fish”、“insect”等,具有相同上位詞 “fish”、“insect” 和“bird”,某種意義上應該是相似或者說相關的,但 Word2vec 只利用大規模語料中的詞語共現信息進行訓練,所得的詞向量只能學習到文本上下文信息,就無法學習到這種詞語間的關系,所以其它復雜的語義關系也很難表達充分。

而知識圖譜中含有實體詞語豐富的關系信息,所以,本文提出基於關系信息的詞向量模型,將語言模型和知識表示學習模型進行共同訓練,在訓練語言模型的時候,加入從知識圖譜抽取的多種關系知識, 使得詞向量訓練過程不僅僅根據上下文詞語共現的信息,還學習到對應的關系知識,從而提升詞向量的質量。

2.1 模型思想

知識圖譜中的知識,一般以三元組 (h, , ) 的形式進行組織,根據CBOW的訓練過程,我們可以構造樣本 (h, , ),其中 表示 關聯的多種不同的關系, 例如(animal, _hyponymy, bird)。

在提取三元組數據後,需要對詞語的關系建立表示,如TransE 模型,便是最方便有效的表示方法。基本思想是對於三元組 (h, , ),若三元組是事實信息,則有 + ≈ ,即 + 對應向量應與 更相近。

該模型稱為關系信息模型,模型結構圖如下,模型的輸入層是目標詞 的對應的三元組集合(h, , ),投影層做了恒等投影,輸出層是在字典中預測目標詞。

技術分享

對一個詞語 ,利用知識圖譜中的關系三元組這種有監督的數據,我們希望能讓詞語學習到豐富的關系語義信息,根據這個目標,定義以下的目標函數:

技術分享

那麽在基於上下文的 CBOW 語言模型訓練過程中,加入豐富的關系信息作為監督,使得訓練所得詞向量能學習詞與詞之間的復雜語義關系。基於該想法,我們提出基於 關系信息的詞向量模型(Relational Information Word Embedding,RWE),目標函數為:

技術分享 模型結構圖如下:兩個模型共享同一套詞向量,同時本文為三元組中的關系設置分配新的向量空間,也就是說關系向量和詞向量獨立表示,原因是為了避免與詞向量產生沖突。

技術分享

2.2 求解方法

同樣,我們采用Negative Sampling進行優化。化簡過程和1.2相似,這裏給出整體的目標函數

技術分享

2.3 參數更新

同樣,采用隨機梯度上升方法進行更新。求解時,需要分別求目標函數關於 eh+r 和 θw 的導數,為了方便推導,記

技術分享

函數 Ψ 對 θu 求導,可得:

技術分享

θu 的更新公式為:

技術分享

3. LRWE模型

前兩節介紹了兩個模型,分別是基於詞匯信息的詞向量模型和基於關系信息的詞向量模型,兩模型分別適合特定情景下的問題。 本文嘗試將兩個模型進行聯合,讓詞向量在訓練的時候,既能學習到同義詞反義詞等詞匯信息,又能學習到復雜的關系語義信息,基於該目標,得到聯合模型LRWE。

聯合的詞向量模型目標函數如下:

技術分享

模型的結構圖如下:

技術分享3.1 模型特點

  • 通過共享詞向量,同時學習多種信息

  • 不同模塊具有獨立的參數,保持任務差異性

  • 重新分配關系向量空間,避免沖突

3.2 模型的理論比較

從參數個數角度,LWE 是在 CBOW 基礎上使用詞匯信息進行監督,共享一份詞向量,同時需要多一份輔助參數向量,故參數個數為 2|| × || + || × || = 3|| × ||; 同理,基於關系信息的詞向量模型 RWE,與 CBOW 共享一份詞向量,以及擁有獨立的輔助參數向量,此外還有一份關系向量,故參數個數為3|| × || + || × ||; 聯合的詞向量模型 LRWE 是上述兩模型的聯合,故參數個數為 4|| × || + || × ||。

model

參數個數

CBOW

2|| × ||

LWE

3|| × ||

RWE

3||×||+||×||

LRWE

4||×||+||×||

從時間復雜度角度,CBOW 模型通過掃描語料的每一個詞,取該詞及其上下文作為一個樣本,因此接下來對比模型時,只分析訓練一個樣本的時間復雜度。

CBOW 模型只有輸出層 Softmax 預測需要大量的計算,其訓練的復雜度為 (|| × ||),如果采用 Hierarchical Softmax 對輸出層的 Softmax 做優化,可以加速到(|| × ||),而采用Negative Sampling,可進一步將復雜度優化到(||)。而 LWE 和 RWE 可以認為是兩個CBOW模型的疊加,時間復雜度為(2||) ,雖然相比 CBOW 模型較復雜,但在線性時間內能學習到更多的語義信息,使得詞向量表達更充分。


詞向量-LRWE模型