上一節(jié),我們介紹利用文本和知識庫融合訓(xùn)練詞向量的方法,如何更好的融合這些結(jié)構(gòu)化知識呢?使得訓(xùn)練得到的詞向量更具有泛化能力,能有效識別同義詞反義詞,又能學(xué)習(xí)到上下文信息還有不同級別的語義信息。

    基于上述目標(biāo),我們嘗試基于CBOW模型,將知識庫中抽取的知識融合共同訓(xùn)練,提出LRWE模型。模型的結(jié)構(gòu)圖如下:

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

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

1. LWE模型

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

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

    為了解決上述問題,本文將同義詞和反義詞等詞匯信息以外部知識的形式,作為詞向量訓(xùn)練中的監(jiān)督數(shù)據(jù),讓訓(xùn)練得到的詞向量能學(xué)習(xí)到同義、反義等詞匯信息,從而能更好地區(qū)分同義詞和反義詞。

1.1 模型思想

   記 ???? 的同義詞和反義詞集合為( ???? , ?????????? , ?????????? ),其中 SYN 表示同義詞集合,ANT 表示反義詞集合,我們的目標(biāo)是已知目標(biāo)詞對應(yīng)的同義詞集合和反義詞集合,預(yù)測目標(biāo)詞,使得目標(biāo)詞和它的同義詞距離盡可能相近,與反義詞距離盡可能遠(yuǎn)。 

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

   該模型稱為詞匯信息模型,模型結(jié)構(gòu)圖如下:

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

   對于一個詞語,我們根據(jù)它的同義詞和反義詞預(yù)測目標(biāo)詞,最大化詞語和它的同義詞同時出現(xiàn)的概率, 并降低詞語和它反義詞同時出現(xiàn)的概率。根據(jù)這個目標(biāo),定義以下的目標(biāo)函數(shù): 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

    我們目標(biāo)是在基于上下文的CBOW語言模型訓(xùn)練過程中,加入同義詞反義詞信息作為監(jiān)督,使得訓(xùn)練所得詞向量能學(xué)習(xí)到同義和反義知識?;谠撓敕?,我們提出基于詞匯信息的詞向量模型(Lexical Information Word Embedding,LWE),目標(biāo)函數(shù)為

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

    模型的結(jié)構(gòu)圖如下:

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

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

1.2 模型求解

    從模型結(jié)構(gòu)圖中可以看出,LWE可以看成兩個CBOW模型的疊加,因此優(yōu)化求解方法和CBOW模型一樣,本文采用的是Negative Sampling進(jìn)行優(yōu)化。

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

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

其中正樣本標(biāo)簽為 1,負(fù)樣本標(biāo)簽為 0。則對于樣本 (??, ???? ),訓(xùn)練目標(biāo)函數(shù)(3-1)中 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

反義詞同理,所以對于整個詞表 V 來說,整體的目標(biāo)函數(shù)是: 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.3 參數(shù)更新

    要最大化目標(biāo)函數(shù)(3-6),我們使用隨機(jī)梯度上升法。用隨機(jī)梯度上升方法求解時,需要分別求目標(biāo)函數(shù)關(guān)于 eu 和 θw 的導(dǎo)數(shù),為了方便推導(dǎo),記 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)從上式可看出同義詞和反義詞的目標(biāo)函數(shù)除了定義域不同,其函數(shù)表達(dá)式是一樣的,因此只需對函數(shù) Ψ 進(jìn)行求導(dǎo)。 函數(shù) Ψ 對 ????求導(dǎo),可得: 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

所以 ???? 的更新公式為: 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

2. RWE模型

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

    而知識圖譜中含有實體詞語豐富的關(guān)系信息,所以,本文提出基于關(guān)系信息的詞向量模型,將語言模型和知識表示學(xué)習(xí)模型進(jìn)行共同訓(xùn)練,在訓(xùn)練語言模型的時候,加入從知識圖譜抽取的多種關(guān)系知識, 使得詞向量訓(xùn)練過程不僅僅根據(jù)上下文詞語共現(xiàn)的信息,還學(xué)習(xí)到對應(yīng)的關(guān)系知識,從而提升詞向量的質(zhì)量。 

2.1 模型思想

    知識圖譜中的知識,一般以三元組 (h, ??, ??) 的形式進(jìn)行組織,根據(jù)CBOW的訓(xùn)練過程,我們可以構(gòu)造樣本 (h, ??, ????),其中 ?? 表示 ???? 關(guān)聯(lián)的多種不同的關(guān)系, 例如(animal, _hyponymy, bird)。 

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

    該模型稱為關(guān)系信息模型,模型結(jié)構(gòu)圖如下,模型的輸入層是目標(biāo)詞 ???? 的對應(yīng)的三元組集合(h, ??, ???? ),投影層做了恒等投影,輸出層是在字典中預(yù)測目標(biāo)詞。 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

    對一個詞語 ????,利用知識圖譜中的關(guān)系三元組這種有監(jiān)督的數(shù)據(jù),我們希望能讓詞語學(xué)習(xí)到豐富的關(guān)系語義信息,根據(jù)這個目標(biāo),定義以下的目標(biāo)函數(shù): 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

    那么在基于上下文的 CBOW 語言模型訓(xùn)練過程中,加入豐富的關(guān)系信息作為監(jiān)督,使得訓(xùn)練所得詞向量能學(xué)習(xí)詞與詞之間的復(fù)雜語義關(guān)系?;谠撓敕ǎ覀兲岢龌?關(guān)系信息的詞向量模型(Relational Information Word Embedding,RWE),目標(biāo)函數(shù)為: 

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)    模型結(jié)構(gòu)圖如下:兩個模型共享同一套詞向量,同時本文為三元組中的關(guān)系設(shè)置分配新的向量空間,也就是說關(guān)系向量和詞向量獨立表示,原因是為了避免與詞向量產(chǎn)生沖突。

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

2.2 求解方法

    同樣,我們采用Negative Sampling進(jìn)行優(yōu)化?;嗊^程和1.2相似,這里給出整體的目標(biāo)函數(shù)

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

2.3 參數(shù)更新

    同樣,采用隨機(jī)梯度上升方法進(jìn)行更新。求解時,需要分別求目標(biāo)函數(shù)關(guān)于 eh+r 和 θw 的導(dǎo)數(shù),為了方便推導(dǎo),記

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

函數(shù) Ψ 對 θu 求導(dǎo),可得:

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

θu 的更新公式為:

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

 3. LRWE模型

    前兩節(jié)介紹了兩個模型,分別是基于詞匯信息的詞向量模型和基于關(guān)系信息的詞向量模型,兩模型分別適合特定情景下的問題。 本文嘗試將兩個模型進(jìn)行聯(lián)合,讓詞向量在訓(xùn)練的時候,既能學(xué)習(xí)到同義詞反義詞等詞匯信息,又能學(xué)習(xí)到復(fù)雜的關(guān)系語義信息,基于該目標(biāo),得到聯(lián)合模型LRWE。

    聯(lián)合的詞向量模型目標(biāo)函數(shù)如下:

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

    模型的結(jié)構(gòu)圖如下:

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)3.1 模型特點

  • 通過共享詞向量,同時學(xué)習(xí)多種信息

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

  • 重新分配關(guān)系向量空間,避免沖突

3.2 模型的理論比較

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

model

參數(shù)個數(shù)

CBOW

2|??| × |??|

LWE

3|??| × |??|

RWE

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

LRWE

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

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

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

 4. 實驗結(jié)果

    這一節(jié)我們設(shè)計實現(xiàn)一系列實驗任務(wù),來驗證和評估本文所提出模型的合理性和有效性,實驗包括語義相關(guān)性、反義詞同義詞識別等自然語言處理任務(wù),并給出實驗結(jié)果與分析。

4.1 訓(xùn)練語料

    文本語料來自維基百科前十億字節(jié)enwiki9,同義詞和反義詞語料是從WordNet中抽取,三元組語料從Freebase中抽取。具體條目如下:

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

4.2 實驗任務(wù)及結(jié)果

   (1)wordsim任務(wù)

    該任務(wù)主要評估詞向量的語義相似性和語義相關(guān)性,數(shù)據(jù)集包括Wordsim353(2002) ,MEN3000(2012) ,SIMLEX999(2014), 評估方法是皮爾遜相關(guān)系數(shù)。實驗結(jié)果如下

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

    (2)反義詞同義詞識別任務(wù)

    該任務(wù)由Roth[1]等人提出,包含600個形容詞詞對,700個名詞詞對,800個動詞詞對,其中同義詞詞對和反義詞詞對各占一半。評估方法是平均精確率(Average Precision,AP)    

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

    此外,我們還在單詞類比推理,同義詞檢測,文本分類等任務(wù)上進(jìn)行實驗,下面是經(jīng)PCA降維后的部分詞向量,如圖:

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

電腦培訓(xùn),計算機(jī)培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

    整體來說,LWE模型能更好的識別同義詞和反義詞,RWE模型能學(xué)習(xí)到一定的關(guān)系信息,但受限于freebase數(shù)據(jù),因為本文主要訓(xùn)練的是詞向量,在freebase中的覆蓋率相對較少,相關(guān)的三元組的關(guān)系類型不多。

    因此有興趣的同學(xué)可以嘗試LWE模型,加入同義詞和反義詞信息,使得訓(xùn)練所得的詞向量能更好識別反義詞和同義詞。

github: https://github.com/chenbjin/LRCWE

參考:

[1] Roth M, Walde S S I. Combining Word Patterns and Discourse Markers for Paradigmatic Relation Classification. ACL 2014.

[2] Liu Q, Jiang H, Wei S, et al. Learning Semantic Word Embeddings based on Ordinal Knowledge Constraints. ACL 2015.

[3] Nguyen K A, Walde S S I, Vu N T. Integrating Distributional Lexical Contrast into Word Embeddings for Antonym-Synonym Distinction. ACL 2016.

分類: 自然語言處理

http://www.cnblogs.com/chenbjin/p/7106139.html