上一節,咱們介紹利用文本和知識庫融合訓練詞向量的方法,如何更好的融合這些結構化知識呢?使得訓練獲得的詞向量更具備泛化能力,能有效識別同義詞反義詞,又能學習到上下文信息還有不一樣級別的語義信息。html
基於上述目標,咱們嘗試基於CBOW模型,將知識庫中抽取的知識融合共同訓練,提出LRWE模型。模型的結構圖以下:git
下面詳細介紹該模型的思想和求解方法。github
1. LWE模型web
在Word2vec的CBOW模型中,經過上下文的詞預測目標詞,目標是讓目標詞在其給定上下文出現的機率最大,因此詞向量訓練的結果是與其上下文的詞相關聯的。然而 CBOW模型只考慮了詞語的局部上下文信息,沒法很好的表達同義詞和反義詞等信息。例以下面的幾個case:函數
爲了解決上述問題,本文將同義詞和反義詞等詞彙信息之外部知識的形式,做爲詞向量訓練中的監督數據,讓訓練獲得的詞向量能學習到同義、反義等詞彙信息,從而能更好地區分同義詞和反義詞。學習
1.1 模型思想優化
記 𝑤𝑖 的同義詞和反義詞集合爲( 𝑤𝑖 , 𝑆𝑌𝑁𝑤𝑖 , 𝐴𝑁𝑇𝑤𝑖 ),其中 SYN 表示同義詞集合,ANT 表示反義詞集合,咱們的目標是已知目標詞對應的同義詞集合和反義詞集合,預測目標詞,使得目標詞和它的同義詞距離儘量相近,與反義詞距離儘量遠。 spa
例如「The cat sat on the mat.」,已知sat有同義詞seated,反義詞stand,來預測目標詞爲sat。設計
該模型稱爲詞彙信息模型,模型結構圖以下:3d
對於一個詞語,咱們根據它的同義詞和反義詞預測目標詞,最大化詞語和它的同義詞同時出現的機率, 並下降詞語和它反義詞同時出現的機率。根據這個目標,定義如下的目標函數:
咱們目標是在基於上下文的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 模型較複雜,但在線性時間內能學習到更多的語義信息,使得詞向量表達更充分。
4. 實驗結果
這一節咱們設計實現一系列實驗任務,來驗證和評估本文所提出模型的合理性和有效性,實驗包括語義相關性、反義詞同義詞識別等天然語言處理任務,並給出實驗結果與分析。
4.1 訓練語料
文本語料來自維基百科前十億字節enwiki9,同義詞和反義詞語料是從WordNet中抽取,三元組語料從Freebase中抽取。具體條目以下:
4.2 實驗任務及結果
(1)wordsim任務
該任務主要評估詞向量的語義類似性和語義相關性,數據集包括Wordsim353(2002) ,MEN3000(2012) ,SIMLEX999(2014), 評估方法是皮爾遜相關係數。實驗結果以下
(2)反義詞同義詞識別任務
該任務由Roth[1]等人提出,包含600個形容詞詞對,700個名詞詞對,800個動詞詞對,其中同義詞詞對和反義詞詞對各佔一半。評估方法是平均精確率(Average Precision,AP)
此外,咱們還在單詞類比推理,同義詞檢測,文本分類等任務上進行實驗,下面是經PCA降維後的部分詞向量,如圖:
總體來講,LWE模型能更好的識別同義詞和反義詞,RWE模型能學習到必定的關係信息,但受限於freebase數據,由於本文主要訓練的是詞向量,在freebase中的覆蓋率相對較少,相關的三元組的關係類型很少。
所以有興趣的同窗能夠嘗試LWE模型,加入同義詞和反義詞信息,使得訓練所得的詞向量能更好識別反義詞和同義詞。
本文地址:http://www.cnblogs.com/chenbjin/p/7106139.html
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.