搜索引擎的点击日志提供了不少有价值的query-doc相关性信息,可是这些信息是有偏的,由于对于用户没有点击过的doc,咱们没法肯定其是否真实地被用户浏览过。即日志中记录的展示信息与实际的展示信息之间是存在必定的差距的,日志中记录的展示doc在实际上用户并不必定真的看到,排序的位置对用户是否看到 & 点击也存在必定的影响。User Browsing Model(UBM) 便是在消除这些因素对CTR的影响,使得根据历史信息获得的CTR能更好的拟合doc原始的CTR。函数
User Browsing Model(UBM) 经过对用户在搜索结果页上的浏览行为和点击行为做出必定的假设,来预估每一个doc被用户浏览过的几率。具体的方法是,构建出(query-doc的展示CTR:Display CTR)与(query-doc的展示几率:Examination和 query-doc的真实CTR:Attractiveness)这两者之间的关系,即Display CTR = Examination * Attractiveness。搜索引擎
在实际的使用中,User Browsing Model获得的模型的参数,能够有两种使用方向:spa
1)doc的展示几率:Examination,能够用于修正相应的doc的展示次数,进一步能够修正统计CTR,以及修正CTR预估模型的目标。3d
2)doc的真实CTR:Attractiveness,能够用于修正相应的doc的CTR数值,能够做为统计CTR来看待,也能够做为CTR预估模型的目标。日志
考虑这样的场景:当一个用户输入一个query后,搜索引擎返回给他一个搜索结果列表,用户从第一个结果开始按照排序结果的顺序进行浏览,对于每个位置的结果,用户须要决定是否浏览这个结果,若是进行浏览行为了以后,再根据这个结果是否相关(或者说对于用户有吸引力)来决定是否进行点击。因此,若是最后用户对某个结果进行点击了,说明:blog
1)用户对该doc进行了“浏览”(Examination=1)排序
2)该doc与query“相关”(Attractiveness=1)索引
User Browsing Model中假设:io
1)是否相关的几率则是由query(q)与doc(u)决定。搜索
2)用户是否浏览某个doc的几率与该doc的的位置r,以及距离上一次点击的距离d有关(若是以前没有过点击行为,则认为是上一次点击的位置为0)。之因此考虑距离上一次点击的距离,是基于这样的假设:当用户看到一大段不相关的结果列表时,更倾向于放弃此次搜索行为。
所以,Attractiveness和Examination能够定义以下:
那么,一次点击行为序列则可使用联合几率P(c,a,e|u,q,d,r)来表示:
为了计算一个观测组(c,u,q,d,r),则须要分别考虑点击与否的状况。
当c=1时,即当前发生一次点击,咱们能够以此推断用户对该doc进行了“浏览”(Examination=1),同时该doc与query“相关”(Attractiveness=1)。与此相反,若当前没有发生点击,则说明用户对该doc没有进行“浏览”(Examination=0),或者该doc与query“不相关”(Attractiveness=0),综合来看,能够表述为:
为了求得参数α和γ的值,可使用最大似然估计的方法,将观测结果分为两个集合,分别为点击集合和未点击集合
,能够获得以下的似然函数:
其中,q表明query,u表明一个样本id,r表明样本排序的位置, 表明未点击样本的集合,d表明样本排序与上一次点击的距离,γ表明在位置r,距离d时被用户看到的几率,α表示样本被点击的实际几率。
因为获得的似然函数是凸函数,所以可使用梯度降低的方式来进行求解,分别对两个参数计算梯度:
使用随机梯度降低的方法求解参数α和γ使得似然函数取得最大值: