推荐系统遇上深度学习(七十九)-序列推荐中使用长尾商品提升推荐多样性

最近对推荐中的长尾问题/多样性问题比较感兴趣,最近看了一篇IJCAI-19上录用的的一篇《Sequential and Diverse Recommendation with Long Tail》的文章,介绍了如何在序列推荐中来提升推荐系统的多样性,一起来了解一下。

1、背景

用户在访问推荐系统的某一刻, 其兴趣往往是单一的,那么如果推荐列表只能覆盖用户的一个兴趣点,而这个兴趣点不是用户这 个时刻的兴趣点,推荐列表就不会让用户满意。反之,如果推荐列表比较多样,覆盖了用户绝大多数的兴趣点,那么就会增加用户找到感兴趣物品的概率。因此给用户的推荐列表也需要满足用户广泛的兴趣,即具有多样性。多样性推荐列表的好处用一句俗话表述就是“不在一棵树上吊死”。

提升推荐系统多样性的一种手段是充分利用长尾商品。但大多数的长尾商品被曝光的机会很少,与用户交互的次数也很少,此时可能推荐模型学习不充分导致推荐系统的精度有所损失。因此许多工作中将这部分长尾物品从训练集中剔除,从而也导致了推荐结果集中在较为热门的部分商品上。

为了解决上面的挑战,本文提出了一种在保留推荐精度的情况下,提升推荐系统多样性的方法。一起来看一下。

2、方法介绍

2.1 问题陈述

这里介绍的场景是topN推荐,下面是本文中使用的一些符号的定义:

基于上面的符号,最终需要通过向量sj中对每一个物品(不仅包括普通物品,还包括长尾物品(下文中会介绍,其实是长尾物品聚类集合))的打分进行排序,选择top-N进行排序。接下来,我们将分别介绍label构造、模型结构、损失建模等方面

2.2 label构造

假设一位用户的行为序列是G1->T2->G3->T4->T5->G6。其中包含三个普通物品和三个长尾物品。由于长尾物品通常只有很少的用户交互行为,因此在训练过程中往往不能充分训练,通常的做法是直接将其直接剔除,但本文通过以下两个步骤将其加入到label中。

长尾物品聚类

首先通过K均值聚类对所有的长尾物品进行聚类,并假定聚类个数为K。而每个类别与用户交互的次数是类别中每个物品交互次数的总和。

关于如何进行聚类,文中提到是使用长尾物品的内容向量(可能是bag of words,也有可能是doc2vec吧,文章也没具体细说)。

另外有一点,对长尾物品进行了聚类,那么在推荐的时候基于sj也只能选择一个具体的类别,文中提到的方法是选择一个离该类别质心最近的一个物品,这里就不太明白了,如果聚类结果在一段时间内保持不变的话,那每个类别推荐的物品不都是同一个么?这里有点不太理解:

好了,言归正传,通过聚类后,我们就可以把原有的用户行为序列中的长尾物品替换成其对应的类别,如下图:

重定位

好了,那么直接用上面一步所替换得到的行为序列就可以了么?文中做了进一步处理,大多数现存的推荐方法,将长尾物品剔除,因此使用的行为序列大都是G1->G3->G6,为了和这些方法能够进行比较,本文进一步对序列进行了处理,这种方法称作relocating,将长尾集合从输入中剔除,使其仅出现在label中,如下图所示:

此时的输入和label示意图如下:

2.3 基于GRU的推荐

前面主要介绍了对于label的构造过程,接下来对整个模型结构进行介绍,本文采用的是给予GRU的推荐方式,示意图如下:

可以看到,模型共有连个子网络,一个网络输入的是物品ID对应的one-hot向量,第一层全连接相当于embedding层,然后对应的embedding输入GRU层中得到输出;另一个网络输入的是物品的内容向量,同样通过GRU层得到输出。两个子网络的输出拼接后通过全连接层得到排序得分向量sj

2.4 损失函数

接下来看一下模型是如何训练和预测的。首先来介绍下损失函数,损失函数如下:

其中:

解释下上面提到的一些符号:

可以看到,当𝜋 中只含有一个物品的时候,是不是就是我们平常所用的交叉熵损失函数,而当𝜋 中包含一个以上的物品的时候,虽然不是真正意义上的交叉熵损失,但可以理解为多个交叉熵损失的求和。

再说说预测阶段,很简单,当我们得到向量sj后,选择得分最高的n个物品推荐给用户就可以了。

3、 模型实验

最后简单说一下实验部分,主要说一下多样性的评价指标吧,这个可能之前接触的比较少。文中没有详细介绍多样性计算方法,参考的是论文《Learning to recom- mend accurate and diverse items》中提出的方法。

这里的多样性指标并不单纯是多样性,而是多样性和准确性之间的一个平衡,类似于计算精确率和召回率的F1值。因此这里,我们需要定义两个指标,分别代表准确性和多样性,然后计算F1值。

这里准确性使用的是MAP(Mean Average Precision)。简单介绍下。在了解MAP之前,先来看一下AP(Average Precision), 即为平均准确率。

对于AP可以用这种方式理解: 假使当我们使用google搜索某个关键词,返回了10个结果。当然最好的情况是这10个结果都是我们想要的相关信息。但是假如只有部分是相关的,比如5个,那么这5个结果如果被显示的比较靠前也是一个相对不错的结果。但是如果这个5个相关信息从第6个返回结果才开始出现,那么这种情况便是比较差的。这便是AP所反映的指标,与recall的概念有些类似,不过是“顺序敏感的recall”。

比如对于用户 u, 我们给他推荐一些物品,那么 u 的平均准确率定义为:

用一个例子来解释AP的计算过程:

因此该user的AP为(1 + 0.66 + 0.5) / 3 = 0.72

那么对于MAP(Mean Average Precision),就很容易知道即为所有用户 u 的AP再取均值(mean)而已。那么计算公式如下:

再来看一下多样性指标,多样性指标定义为推荐结果至少推荐给用户一次的物品占所有物品的比例。

好了,本文就介绍到这里了,整体思路还是不错的,但有些具体的细节有待讨论!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容