子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention

概述

在搜索系统中,需要考虑重排阶段的相关性和多样性问题。DSSA通过引入子话题的权重,来提高整体重排list的子话题覆盖,从而提高多样性。具体的做法是:通过考虑已选择的top t-1个doc的序列,以及子话题的权重,判定第t个doc的子话题权重,以此来决定第t个doc的选择。其中子话题的权重由attention方法提取。

原文链接:http://rali.iro.umontreal.ca/rali/sites/default/files/publis/dssa.pdf

框架

在综合考虑相关性和多样性时,参考了启发式方法(如MMR)的方法,来计算第t个doc的得分:为相关性和多样性得分的线性加权,其中λ为超参;多样性得分为doc和子话题集合的相关性得分,与MMR不同的是,此处加入了子话题的权重作为乘子。

1. MMR得分

2. DSSA得分

子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention_第1张图片

子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention_第2张图片

模型

整个模型结构分为三部分,分别是文档序列组件、子话题提取组件、评分组件。

子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention_第3张图片

文档序列组件

通过RNN提取doc list的序列关系,其中h_t-1为前t-1个doc经过RNN的hidden embed,e_dt为第t个doc的向量表示,此处的向量表示在论文中采用的是无监督方法产出的(如SVD、LDA、doc2vec),b_n为偏置项。

子话题提取组件

通过attention监控doc list满足子话题的程度,得出当前位置的不同子话题的权重。引入了t-1个doc的RNN输出的embed信息(即h_t),doc与子话题的相关性信息(即x_dt,ik),并通过max-pooling进行信息提取(max-pooling提取的是某个子话题与整体doc list中最大的 relevance score,感觉用mean-pooling更好一点,可以提取某个子话题与top t-1的全局doc list的话题相关性)。

top t-1个doc的hidden embed与第k个子话题的交互:分别使用全连接(better)、点乘,来表示子话题在top t-1中的满足程度。

通过max-pooling提取top t-1个doc跟子话题之间相似度分数的最大,来表示子话题在top t-1中的满足程度。

将两者加和,并通过softmax获取整体子话题重要度的distribution,即为子话题在top t-1中的满足程度。

子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention_第4张图片

评分组件

同时衡量相关性和多样性。

其中相关性的计算为:doc向量与query向量的相似度+doc与query的相关性分(即x,此处为BM25等传统相关性分)。

其中多样性的计算为:通过计算文档表示和子话题表示的相似性,此处的表示是通过SVD、LDA、doc2vec等非监督方法进行表示(个人认为实际可用通过类似Bert等方法进行更好的表示);且相似性的计算过程中除了引入了两者表示的相似性,也引入了类似BM25/TF-IDF/LMIR等传统相关性分数,即为公式中的x。

子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention_第5张图片

doc和子话题的相似度计算:分别使用全连接(better)、点乘。

子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention_第6张图片

输入

1. 相关性特征

主要是无监督方式产生的特征,如TF-IDF、BM25等,此处可考虑引入Bert产出的向量特征。

子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention_第7张图片

2. 多样性特征

子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention_第8张图片

loss

loss设计

1. list-pairwise

对于一个需要排序的list,假设前t-1个doc的排序已固定,需要从一个doc对中,判断第t个doc是什么。此处将问题转化为一个二分类问题,具体的公式如下,其中y代表第t个doc选择的是否正确,为1 or 0;P为选择r_1排序比r_2排序好的概率;w为r_1排序和r_2排序指标的差异,比如可以是多样性α-NDCG的指标差异,差异越大,这个pair在loss中占的比重越大。在训练的数据中,由于复杂度的限制,不能涉及到所有的排序方法对比,因此,此处需要采样。

子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention_第9张图片

子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention_第10张图片

2. listMLE

假设每个query下有多样性最好的排序方式,只需要计算最好排序序列下的概率,并通过最大似然估计来进行优化,具体公式如下。

模型预测

模型预测过程,是sequence和greedy的,在第t-1个doc确定的情况下,分别输入剩余的n-(t-1)个doc,得出其对应的score,然后选择score最大的doc作为第t个doc,一直循环持续到所有doc都排好序。

效果

对比之前的显示多样性、隐式多样性方法都有一定的提升。

子话题attention进行多样性重排-DSSA-Learning to Diversify Search Results via Subtopic Attention_第11张图片

你可能感兴趣的:(多样性,重排,深度学习,人工智能)