word2vec + transE 知識表示模型


本文主要工作是將文本方法 (word2vec) 和知識庫方法 (transE) 相融合作知識表示,即將外部知識庫信息(三元組)加入word2vec語言模型,作為正則項指導詞向量的學習,將得到的詞向量用於分類任務,效果有一定提升。

一. word2vec 模型

  word2vec 是 Google 在 2013 年開源推出的一款將詞表征為實數值向量的高效工具,使用的是 Distributed representation (Hinton, 1986) 的詞向量表示方式,基本思想是通過訓練將每個詞映射成 K 維實數向量后,可通過詞之間的距離(比如 cosine 相似度、歐氏距離等)來判斷它們之間的語義相似度。word2vec 輸出的詞向量可以被用來做很多 NLP 相關的工作,比如聚類、找同義詞、詞性分析等。同時 word2vec 還發現有趣的單詞類比推理現象,即 V(king) - V(man) + V(woman) ≈ V(queue) 。

  word2vec 本質上是一種神經概率語言模型 (Bengio,2003),通過神經網絡來訓練語言模型,而詞向量只是副產品。其中有兩個重要模型 —— CBOW 模型 (Continuous Bag-of-Word Model) 和 Skip-gram 模型 (Continuous Skip-gram Model),同時作者給出了兩套框架,分別基於 Hierarchical Softmax(hs) 和 Negative Sampling(NEG),本文使用了基於Negative Sampling 的 CBOW 模型,下面進行簡單介紹:

基於 Negative Sampling 的 CBOW 模型

  CBOW 模型包含三層:輸入層,投影層和輸出層,在已知當前詞 w的上下文 wt-2, wt-1, wt+1, wt+2 的前提下預測當前詞 wt(見下圖)

  模型優化的目標函數是如下的對數似然函數,關鍵就在於  的構建。

   

  傳統神經概率語言模型使用的是 softmax,但 softmax 計算復雜度高,尤其語料詞匯量大的時候。

  

  在 word2vec 中,使用 Hierarchical Softmax 和 Negative Sampling 來近似計算,目的是提高訓練速度並改善詞向量的質量。與 Hierarchical Softmax 相比,NEG不再使用復雜的 Huffman樹, 而是采用隨機負采樣的方法,增大正樣本的概率同時降低負樣本的概率。

  在 CBOW 模型中,已知詞 w 的上下文 Context(w),需要預測 w,因此對於給定的 Context(w),詞 w 就是一個正樣本,其它詞就是負樣本,對於一個給定的樣本(Context(w), w),我們希望最大化

  

  其中,NEG(w) 表示負樣本集,正樣本標簽為 1,負樣本標簽為0,其概率計算如下

  

  或者寫成整體表達式

  

  故優化目標就是最大化 g(w),增大正樣本的概率同時降低負樣本的概率。對於一個給定的語料庫C,函數G就是整體優化的目標,為了計算方便,對G取對數,最終目標函數如下:

  

  利用隨機梯度上升對上式進行求解即可,這里直接給出梯度計算結果,

   ,  

  故參數θu更新公式如下:

   

      對於 w’ 屬於 Context(w) ,即其上下文詞向量更新公式如下:

     

  下面以樣本 (Context(w), w) 為例,給出基於Negative Sampling 的 CBOW 模型訓練過程的偽代碼,與 word2vec 源碼 相對應關系如下: 對應  , 對應  ,  對應  , 對應  。之后我們結合 transE 模型時,也是根據 word2vec 源碼進行改進。

  關於word2vec的數學原理以及公式推導過程,強烈推薦@peghoty的博客:word2vec中的數學原理詳解

二. transE 模型

  TransE 是基於實體和關系的分布式向量表示,由 Bordes 等人於2013年提出,受word2vec啟發,利用了詞向量的平移不變現象。將每個三元組實例 (head,relation,tail) 中的關系 relation 看做從實體 head 到實體 tail 的翻譯,通過不斷調整h、r和t (head、relation 和 tail 的向量),使 (h + r) 盡可能與 t 相等,即 h + r ≈ t。該優化目標如下圖所示:

  

  TransE 定義了一個距離函數 d(h + r, t),它用來衡量 h + r 和 t 之間的距離,在實際應用中可以使用 L1L2 范數。在模型的訓練過程中,transE采用最大間隔方法,其目標函數如下:

  

  其中,S是知識庫中的三元組,S’是負采樣的三元組,通過替換 h 或 t 所得。γ 是取值大於0的間隔距離參數,[x]+表示正值函數,即 x > 0時,[x]= x;當 x ≤ 0 時,[x]= 0 。算法模型比較簡單,梯度更新只需計算距離 d(h+r, t) 和 d(h’+r, t’).

  模型訓練完成后,可得到實體和關系的向量表示,進一步可做關系抽取和知識推理的任務。下面是算法偽代碼:

三. word2vec + transE 模型

   在我們的模型中,主要利用的是百科詞條抽取的 infobox 信息,構成三元組信息 (h, r, t),例如 (百度,董事長,李彥宏),假設信息是事實,一個基本想法就是在訓練 word2vec 過程中,加入這些三元組信息,使得關聯的 h 和 t 某種程度上更接近,也可以說是一種正則化約束,例如三元組信息是類別信息,即詞語屬於哪個領域的信息。

  為了與 word2vec 模型融合,利用 transE 思想,重新定義 (h+r, t)的目標函數為概率函數(其實就是 softmax):

  

  其中 是包含 w的所有關系,|V| 是字典的大小。  是由 wi 和 r 的向量線性相加所得,即  表示詞 t 對應的參數。

  這樣一來,我們就可以構建基於 word2vec 和 transE 的模型目標函數,如下:

  

  其中,式子左邊是基於 CBOW 的 word2vec 模型,右邊是關系詞向量模型,γ 是平衡兩個模型貢獻比率的參數,|C|是整個語料庫的大小。訓練的時候同樣采用Negative Sampling 的方法近似計算 softmax。 我們來看下關系詞向量模型(右半部分)的求解過程:

                      (1)

  在 Negative Sampling 中,三元組同樣被分為正樣本和負樣本,根據Local Closed World假設,不在知識庫中的三元組視為負樣本,即 (wi, r, t) 成立的時候,對應的 t 為正樣本,而其他詞語都為負樣本,舉個例子(百度,董事長,李彥宏)是正樣本,(百度,董事長,馬雲)是負樣本。對於給定的一個詞 wi 和對應的一個關系 r,訓練的目標似然函數如下:

     (2)

  是不是有點眼熟?細心朋友可以發現,這和 word2vec 模型的目標似然函數是相似的,將(2)式代入(1)上述關系詞向量模型最終的目標似然函數就是

   

  根據 word2vec 的梯度推導,我們可以得到參數的梯度更新如下:

  

  關系詞向量模型的實體 w和關系 r 梯度更新如下:

   , 

  

  模型偽代碼如下,與 word2vec_transE 源碼(github) 相對應關系如下: 對應  , 對應  ,  對應  , 對應  , 對應 對應 

實驗過程及結果

  實驗過程,訓練語料源於百度百科摘要數據,高頻關系三元組 (h, r, t) 168403條,關系 r 有 1650 種,訓練時間 2h (比 word2vec 原始代碼訓練要耗時是正常的),利用訓練后的詞向量做分類任務,效果比原始 word2vec 訓練詞向量高 2%,可見加入外部數據庫信息一定程度上能提升詞向量的表達能力。

一些問題

  (1)語料臟!百度百科數據太臟了,詞條排版屬性格式不一,信息前期預處理麻煩。

  (2)模型實際上是增加約束,依然沒法解決一詞多義問題

  (3)這里加入的信息只是 infobox 抽取的三元組,信息利用率不高,可進一步利用百科鏈接,分類等信息。

項目地址:github   

參考

[1]. Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. (2013). Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR.

[2]. Bordes, A., Usunier, N., Garcia-Duran, A., Weston, J., & Yakhnenko, O. (2013). Translating embeddings for modeling multi-relational data. In Proceedings of NIPS.

[3]. peghoty的博客:word2vec中的數學原理詳解

[4]. 張柏韓:基於知識庫的詞向量研究與應用


免責聲明!

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



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