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;θ))
以查詢log文件構造有監督學習的數據集:
J(θ)=−∑(q,d+)logexp(score(q,d+))exp(score(q,d+))+∑ni=1exp(score(q,d−i)) 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,利用基於知識的文本概念化算法獲得句子的概念分佈
在對CBOW-CSE的模型參數
Skip-Gram-CSE:忽略輸入中的語境詞,而從輸出中的定長語境隨機選取語境詞進行預測。預測語境窗口內的一個語境詞向量實質上就是給定句子向量
Attention-CSE:CBOW-CSE與Skip-Gram-CSE都需要確定語境窗口大小,這是個難題。太大可能會引入無關詞,太小可能會排除相關詞。這是由於這些模型是採用同等重要的方式來處理語境窗口內的詞語。爲此,引入注意機制以區別對待語境窗口內的詞語。即將CBOW中的
ai(w)=edw,i+ri∑−k⩽c⩽k,c≠0edw,c+rc
其中
Attention-CSE(參數包括:W,C,S,D,R)