基本思想是:其他推荐系统推荐用户没有访问过的物品,本论文推荐用户已经访问过的物品(预测),在已经知道历史物品访问序列了,再次访问的概率。

实际上,只要把重复访问的物品放进用户历史序列当中,也允许最后推荐的时候,推荐已经访问的物品,这个问题就算解决了。

本文不同的是,本文是要在模型当中,显性的考虑re-click items。具体做法如下:

(1)将用户历史访问过的物品构成一个序列Is

(2)每一个item有一个embedding,将Is当中的item embedding依次输入到GRU当中,依次得到Is当中每一个物品的新的表达ht

(3)给定当前的t(当前考虑的item),以及一个extra parameter vector guiding attention model,就可以计算t之前每一个的item(包括t)attention/weight;

(4)上面学到的attention/weights,有两个作用:1)aggregate 相关的ht,构成一个新的vector representation;2)用weights构造物品被推荐的概率

(5)利用(3)和(4)的方法,可以分别为repeat和new recommendation tasks各学出一组weights以及相应的aggregation vector representations。

(6)两组aggregation vector representations分别被用来计算repeat和new recommendation tasks两个任务之间的概率分布,以及new item的概率分布。

(7)这样,在给定一个t时,首先判断t时候的物品是否在此之前出现过,根据其出现与否决定采用上述的不同概率表达(repeat or new recommendation)。

(8)最后极大似然已经观察到的样本,求出参数。

(9)得到参数以后,可以往后推一个t,得到新ht,以及对应的weights-score,做出相应推荐。

注意,本文存在的问题:依赖GRU,导致每一个item的序都很重要(严格的序问题,有时后session内部的item的序并不重要)。

 

 



留言

登录 请先登陆, 再留言!