版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_27717921/article/details/80549350
用户的点击日志蕴含丰富的信息,在信息检索领域具有着重要的地位。用户点击行为数据通常用来生成训练数据用户机器学习提高ranking performance,或者是在ranking fuction中作为特征来计算ranking score. 但是点击数据存在脏数据并且具有稀疏性,大量的query和document是没有点击日志的,这也就造成了基于点击生成的特征的质量是难以保障的,尤其是对于一些偏长尾的query.通常会把query形成的预料库和title形成的预料库合并成一个预料库,然后基于共同的这个预料库训练模型,但是在query和document上词法上的区别会在之后计算相关性上带来不好的影响。另外,当query或者是document是没有点击日志时,如何学习query和document的相关性就会变得困难起来。 本文主要研究: 1.在相同的语义空间中产生query和document的向量,在word-level的vector更具有解释性,并且对于click-absent的query和document获得vector带来了解决之法----vector propagation on the click graph。 2.给出通用方法,形成click-absent的query和document的vector. vector propagation on the click graph notations:
Doc: documents形成集合,Query:queries形成集合,根据点击数据形成graph g, g的节点集V = DocUQuery.
上图就是形成局部g,无向边的权重表示co-clicks的数量,比如,q1->d1边的权重是3,表示自己对于q1作为查询词,d1被点击了3次。基于图g形成C矩阵,Cij表示qi和dj之间权重,如果qi和dj之间不存在连接边,那么Cij=0 并且用矩阵Q(|Query|*V)表示所有query-vector的矩阵,第i行Qi表示query qi的向量表示。Q(n) 表示矩阵Q的n次迭代后的结果。同样的,D为document的向量矩阵,维度为|Doc|*V.
迭代更新Q和D的过程很像HIT算法迭代计算authority和hub得分的过程。
从query-side向document-side方向Propagation
更新过程如(1)(2)所示,从query-side方向Q(0)初始化为对query中word的frequency的L2范数。如图1中,假设从query-side向document-side方向聚合,q1{yahoo:
,finance:
,mail:0},q2{yahoo:1,finance:0,mail:0},q3{yahoo:
,fiance:0,mail:
},则document-vector可以从co-clicked queries的vector Propagation得到
。同理从document-side 向query-side的方向,可参见公式(3)和公式(4)
从query-side到document-side使用的是query的语料库,而从document-side到query-side使用的则是document的语料库。从其中一个方向初始化进行迭代就能获得query-vector和document-vector.这样就能避免我们提到到将两个语料库合并起来做特征而导致的lexical gap的问题了。但是对于没有点击信息的query和document来说,如何根据点击数据生成对应的向量则是接下来我们要解决的问题。
之前的Vector Propagation Algorithm生成query-vector和document-vector都是在word-level上,也就是说是一个词表大小的向量 ,如果我们能够得到word-vector,那么即便是click-absent的query和document,如果将其分解为word,那么这些word必然也包含在其他非click-absent的query和document中。所以获得Unit-Vector,然后利用线性回归方程构造query-vector和document-vector.
形成Unit集合,将query 分解为unigrams,bigrams和trigrams。同理,可以将document的title或者是abstract进行分解,获得unit集合,记作U。
基本步骤:
对于ui 属于U,找到所有包含ui的query记为Qui的,同样利用Graph g找到所有与Qui中存在连接的document,记作Kui,.Kui的第j个元素表示dj,也就是document j的vector.
如果Qui的k-th vector 和 Kui的j -th,也就是说query qk和document dj存在点击关系,那么我们就说存在pseudo click 在qk和dj之间,记为的Pi,k,j.Pi,k,j实际上就等于query-document的co-click,Ck,j。我们想要把所有包含ui的query进行聚合,获得ui和Kui的pseudo click,进而在从Kui上聚合获得ui的向量表示,如公式(5)和公式(6)所示。
得到所以unit-vector,如何确定线性回归的权重进而得到click-absent的query-vector和document-vector.利用最小平方差来得到每个unit的weight值。
当训练得到W和U值,则可以用线性组合分别得到在缺少点击数据的情况下query和document的向量表示,公式(8)(9)所示
这种计算query和document向量的方式都是从query vocabulary space或者是document vocabulary space中得到的,当我们能够计算得到两个vector向量,则可以利用cosine函数来计算query-document Pair的相关性,计算得到的相关性得分则可以作为影响排序的一个特征。