序列向量化

DeepIntent模型

文獻:Zhai S, Chang K H, Zhang R, et al. DeepIntent: Learning Attentions for Online Advertising with Recurrent Neural Networks[C]// KDD 2016:1295-1304.

思想

從pooling的角度來解釋attention機制,last pooling(選擇RNN的最終隱輸出作爲序列表示向量)存在“遠距離信息容易遺忘”的問題;mean pooling(將RNN的各個時刻對應輸出進行簡單平均)存在“無法區分各個term對用戶意圖的貢獻度的差異”的問題;max pooling(對RNN的所有時刻對應的輸出向量的分量取最大值)存在與mean pooling類似的問題. 提出如下的attention pooling:

  • h=t=1Tatht , 其中at=exp(s(ht;θ))Tt=1exp(s(ht;θ))

s(ht;θ) 爲注意網絡,主要用來學習權重係數at , 網絡結構如下:
這裏寫圖片描述

以查詢log文件構造有監督學習的數據集:(q,d+)(q,di) , 分別表示查詢序列q,與q誘發的點擊d+ , q查詢下並沒有點擊(q,di) , 有如下目標函數:

  • J(θ)=(q,d+)logexp(score(q,d+))exp(score(q,d+))+ni=1exp(score(q,di))  s.t.  score(q,d)=hq(q)Thd(d)

CSE模型(Conceptual Sentence Embedding)

文獻:Wang Y, Huang H, Feng C, et al. CSE: Conceptual Sentence Embeddings based on Attention Model[C]// ACL 2016:505-515.

思想

爲了解決一詞多義問題,將概念與注意機制相結合來實現文本序列的嵌入表示,使得相同的詞在不同概念中有不同的向量表示形式。
啓發於CBOW與Skip-gram的思想”在預測中心目標詞或局部語境詞時,需要對詞進行向量化”,提出類似思想“在預測中心目標詞或局部語境詞時,需要對句子進行概念相關向量化”:

這裏寫圖片描述
模型: (1) CBOW-CSE ; (2)Skip-Gram-CSE

每個句子有其ID,利用基於知識的文本概念化算法獲得句子的概念分佈θC ,WS 分別爲單詞向量列空間與句子向量列空間,C 是將句子概念分佈θC 轉化爲概念向量c 的固定線性算子。
在對CBOW-CSE的模型參數WSUb 進行估值時,並沒有考慮中心目標詞的各語境詞之間的相對位置,也就是說,忽略了語境詞的順序,這會降低句子向量化性能。

Skip-Gram-CSE:忽略輸入中的語境詞,而從輸出中的定長語境隨機選取語境詞進行預測。預測語境窗口內的一個語境詞向量實質上就是給定句子向量s 與其概念向量c 的多分類問題。該模型的參數爲SUb

Attention-CSE:CBOW-CSE與Skip-Gram-CSE都需要確定語境窗口大小,這是個難題。太大可能會引入無關詞,太小可能會排除相關詞。這是由於這些模型是採用同等重要的方式來處理語境窗口內的詞語。爲此,引入注意機制以區別對待語境窗口內的詞語。即將CBOW中的ct=12kkck,c0wt+c 修改爲ct=12kkck,c0at+c(wt+c)wt+c , 其中at+c(wt+c)t+c 位置上的詞語的權重。具體計算方法如下:

  • ai(w)=edw,i+rikck,c0edw,c+rc

其中dw,iD|V|×2k 表示詞語w2k 個位置語境詞中的第i 位置語境詞的權重,riR2k 是各個距中心詞相對位置的語境詞的對應偏差。
這裏寫圖片描述
Attention-CSE(參數包括:W,C,S,D,R)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章