简介
目前多样性一般是基于seq2seq的方式进行,在选定top n-1的基础上,选择第n个doc。但是,这会造成需要考虑的排序list情况很多,所以通常采用数据采样的方式来解决,但这会降低学习效果。针对目前的情况,本文主要做了两个贡献:
- 将sequential的doc选取过程,近似优化为考虑到top n-1个文档的并行过程
- 根据多样性的评测指标,将其近似为可导的损失函数,直接用于训练
- 在计算相关性时,用query和doc的向量来代替传统的BM25、TF-IDF,来达到更好的效果
loss设计
在loss设计方面,论文在将评价指标变为可导的损失函数时,参考了ApproxNDCG和LambdaRank的近似可导方案,并参考了Gumbel distribution的sampling scores以提升学习效果,将多样性的评价指标,比如α-DCG、ERR-IA近似为可导的损失函数。主要的思路,是将评价指标中,与排序相关的离散值,近似平滑为连续值。以α-DCG为例,具体过程如下。
利用了指示函数indicator function将不可导的部分变为可导。其中T>0,是超参。当T越小时,越接近指示函数;当T越大时,loss越平滑。
α-DCG的公式为,其中c_li为当前doc对应的subtopic已经在top n-1出现的次数,r_i为当前doc的排序,由于两者依赖最终的排序顺序,为常数,因此不可导。
c_li和r_i的公式分别如下
近似可导化后,c_li和r_i的公式分别如下,在实际的应用中,当超参T=0.1时效果最好,因为当T很小时,会导致梯度传导过程中梯度很小,不容易学习;当T很大时,近似的loss跟实际的评价指标差距较大,与实际情况不符。
因此α-DCG对应的loss为
在此基础上,引入stochastic treatment的随机策略,增强其鲁棒性,loss如下。增加随机策略后,在目前的场景下,提升并不明显。
模型结构
在模型结构设计方面,论文参考了基于listwise的context交互的方案,比如Deep Listise Context Model、Gourpwise Scoring Functions、Document Interaction Network、SetRank。但与之不同的是,原来的模型结构的目的主要是为了提高排序工作中的相关性,论文则致力于多样性的提升。
其中e_q为query的向量表示,e_i为doc_i的向量表示,a_i为经过listwise交互后,doc_i的向量表示。
向量表示
encoder的选择,可以采用Bert or word2vec。以Bert为例,向量可以通过预训练模型直接产出,也可以在论文中的rank模型再进行finetune。query和doc之间的交互方式采用latent cross。
list交互
在此处使用了DIN网络(Document Interaction Network),即多头的self-attention网络,此论文中,当超参L=2,H=4,z=256时,效果最好。
在经过DIN网络后,又将所有的向量concat后,输入全连接网络。
结论
在原来baseline的基础上有明显的提升,其中latent cross、DIN网络、α-DCG的loss、distribution的表示均有一定的作用,且对前三者进行了消融试验。整体的效果对比如下