HRED(CIKM)

在这里插入图片描述
在这里插入图片描述

Query-Level Encoding

对于查询 Q m Q_m Qm={ w w w m _m m , , , 1 _1 1,…, w w w m _m m , , , N _N N m _m m}
在这里插入图片描述
h h h m _m m , , , 0 _0 0=0(初始0向量)

Session-Level Encoding

一个session中得查询集合 q 1 q_1 q1,…, q M q_M qM
在这里插入图片描述
s s s 0 _0 0=0(初始0向量)

Next-Query Decoding

根据先前得查询预测下一个查询:
在这里插入图片描述

解码RNN

在这里插入图片描述
在这里插入图片描述
每一个当前隐藏状态用于计算下一个词出现得概率:
在这里插入图片描述
o o o是一个真值向量。(可以是词得嵌入向量),这个 o o o与下面得 w w w m _m m n _n n − _- 1 _1 1维度不同。
其中:在这里插入图片描述
w w w m _m m , , , 0 _0 0=0,(初始0向量。)
在这里插入图片描述

Learning

通过最大化Session的log-likelihood(由公式6和公式9估计的概率定义)来学习这些:
在这里插入图片描述

整体思路

考虑一个用户提交查询:cleveland gallery → lake erie artist.。suggestion系统操作如下:

  1. 将(4)应用于每个查询,得到查询向量qcleveland gallery和qlake erie art。
  2. 然后,通过将(5)应用于查询向量来计算会话级的递归状态。如:得到了两个会话级的递归状态:cleveland gallery和slake erie art。
  3. 要生成上下文感知建议,首先映射最后一个session-level得隐藏状态——s ( _( l _l l a _a a k _k k e _e e e _e e r _r r i _i i e _e e a _a a r _r r t _t t ) _) ,使用公式(7),作为初始解码器得输入。
  4. 假设波束搜索大小为1,suggestion中第一个单词 w 1 w_1 w1的概率是通过 d 0 d_0 d0 w 0 w_0 w0= 0 0 0(零向量)用等式(9)计算的。概率最高的词,即cleveland,被加到波束上。
  5. 使用 d 0 d_0 d0 w 1 w_1 w1=cleveland ,通过(8)计算下一个解码器的循环状态 d 1 d_1 d1。使用 d 1 d_1 d1,可以选择 w 2 w_2 w2=indian作为第二个最有可能的单词。过程重复,模型依次选择“art”和“◦”(查询结束符号)。一旦查询结束符号被采样,上下文感知的suggesion: cleveland indian art 呈现给用户。

实验

数据集:AOL

模型训练

  1. 词汇 V V V:90 K K K。这是应用于语言的RNN的一个常见设置。

  2. 使用小批量RMSPROP]进行参数优化。

  3. 如果梯度的范数超过阈值c=1,通过规范化梯度来稳定学习。

  4. 如果验证集的likelihood在连续5次迭代中没有改善,则停止训练。

  5. 使用Theano library训练模型。查询-level的RNN维度设置为 d h d_h dh=1000。为了确保高容量的session-level的RNN,设置 d s d_s ds=1500。这对于记忆以前查询的复杂信息非常有用。输出词嵌入维度为300,即 d e d_e de=300。

     An implementation of the model is available at https://github.com/sordonia/hed-qs.
    

猜你喜欢

转载自blog.csdn.net/qq_43390809/article/details/108553766
今日推荐