DeepRank: A New Deep Architecture for Relevance Ranking in Information Retrieval
htps://github.com/pl8787/textnet-release.
Motivation
人类判断文本匹配过程:
- 检测相关位置
- 确定局部相关性
- 聚集本地相关性以输出相关性标签
DeepRank模拟上述人类判断过程。
问题定义
查询: q q q = ( w 1 w_1 w1, . . . , w M w_M wM)
文档: d d d = ( v 1 v_1 v1, . . . , v N v_N vN)
文档中的上下文: d d d( k k k) [ _[ [ p _p p ] _] ]=( v v v p _p p − - − k _k k,…, v v v p _p p,…, v v v p _p p + + + k _k k),以第一个单词为中心,序列长度为2k + 1。
词嵌入:Word2Vec
DeepRank
三部分:Detection Strategy + Measure Network + Aggregation Network
Detection Strategy
相关性位置通常在查询词出现在文档中的位置上。将 query-centric 上下文定义为相关位置,这是一个在中心位置带有查询terms的上下文。
给定一个查询 q q q 和文档 d d d , 如果 w u w_u wu= v p v_p vp , 以该查询术语 w u w_u wu 为中心的上下文表示为 s s s p ^p p u _u u( k k k) = d d d( k k k) [ _[ [ p _p p ] _] ]。在Detection步骤之后,可以获得一组单词序列 s s s p ^p p u _u u( k k k),每个单词序列代表一个本地相关位置。
Measure Network
如图2所示。首先构造一个张量作为输入。在张量上应用CNN或2D-GRU来输出向量,该向量代表局部相关性的表示。这样,在Measure步骤中可以很好地捕获重要的IR特征,例如exact/semantic匹配信号、 passage retrieval intrinsics和 proximity heuristics。
Input Tensor
给定一个查询q,和对应文档的上下文( w u w_u wu= v p v_p vp ): s s s p ^p p u _u u( k k k)
首先构建word-level交互矩阵S(相似度函数):
为了进一步将query/query-centric 的上下文的单词表示结合到input中,将 S S S i _i i j _j j的每个元素扩展到三维向量。因此,原始矩阵 S S S i _i i j _j j将变成三阶张量,表示为:
这样,输入张量可以被视为三个矩阵的连接:query matrix, query-centric context matrix, and
word-level interaction matrix.
CNN处理
一层CNN + max pooling
输出(K是kernel的数量)表示局部相关性:
2D-GRU处理(接受3个方向隐藏状态)
4个update gates 3个reset gates
Aggregation Network
对于CNN或者2D-RNN的输出 h h h , Aggregation Network 考虑原则:
- 查询词的重要性
查询词对于表达用户的信息需求至关重要,有些词比其他词更重要。
- 不同的匹配要求
匹配模式的分布在相关文档中可能有很大不同。
方法:首先进行了一个查询词级聚合,其中考虑了不同的匹配要求。当产生全局相关性分数时,应用术语gate网络来捕获不同术语的重要性。
Qery Term Level Aggregation
将位置指示符附加到每个向量 h h h,以编码相应的以查询为中心的上下文的位置信息。Aggregation Network中使用了不同的位置函数 g g g( p p p ):
其中 p p p代表以查询为中心的上下文的位置,由查询对应文档的中心单词 v p v_p vp决定。在这个附加操作之后,以单词 v p v_p vp为中心的以查询词的上下文的局部相关性表示变成
为了进行查询词级聚合,首先将具有相同中心词的 h h h( p p p)分组在一起,这代表关于相同查询词的所有局部相关。然后 RNN用于通过考虑位置信息来整合这种本地相关性。也就是说可以获得每个查询词 w u w_u wu的global相关性
其中 P P P( w u w_u wu)表示以查询术语为中心的所有以查询为中心的上下文的位置集。
Term Gating Network for Global Aggregation.
基于查询词级的全局相关性表示,通过考虑不同查询词的重要性,本文使用一个term gating network(类似于DRMM使用的网络)来获得最终的全局相关性得分。为每个查询词定义了一个权重参数 E E E w w w u _u u,并将所有查询词的级别相关度线性组合如下:
I I I为值全为1的向量,和 E E E w w w u _u u维度相同。
Model Training
Adam+L2+early stopping strategy
pairwise hinge loss:
实验
data Sets
LETOR4.0 and 搜狗查询日志
结果