Wenyi Xiao等作者一鸣参与

KDD 2019 | 平衡内容和用户兴趣,香港科技大学联合微众银行提出社交探索注意力网络推荐模型

本文现代社交媒体平台中的有效内容推荐应该既可以使创作者真正获益,也能够帮助消费者获得切实感兴趣的内容。本论文提出了一种用于内容推荐的社交探索注意力网络(SEAN)模型。SEAN使用个性化内容推荐模型可以按照用户个人兴趣进行推荐。此外,该模型还可以运用个性化因素来处理用户在社交网络上的高阶朋友,以提高推荐结果的准确性和多样性。研究者在广受欢迎的分散内容分发平台——Steemit上构建了两个数据集,将SEAN与协同过滤方法和基于内容的推荐方法进行比较。实验结果证明,SEAN无论是在推荐平等的基尼系数和推荐性能的F1得分方面均十分有效。本文是KDD 2019大会接收论文。

引言

在内容分发平台上,有效的内容推荐算法既应当考虑到使内容创作者真正获益,也要帮助内容消费者获得其切实感兴趣的内容。更准确的推荐能够改善消费者的阅读体验。

然而,现有的推荐算法在内容创作者和消费者之间缺乏平衡。内容推荐算法主要有内容推荐或协同过滤(CF)两种。基于内容的推荐方法通过学习用户的历史阅读/观看的内容,根据内容的特征或相似性来预测用户可能感兴趣的内容。由于内容推荐算法的重点考虑内容主题的相关性,因此可能无法推荐多样化的内容。

协同过滤算法则根据同一组用户点击/读取的内容,在行为相似的一组用户内进行内容推荐。由于协同过滤算法会产生马太效应(点击率高的内容更容易获得推荐),这可能会影响到小众内容或点击率较低的创作者。

在本论文中,研究者同时考虑到了创作者和消费者的需求。他们用户的感兴趣的内容用上下文向量表示,将代表用户的的这种文档表示向量输入最终的预测分类器。这可以更好的兼容小众内容。

同时,为了提高消费者满意度,论文研究者对用户的相关好友感兴趣的内容处理为上下文向量,然后获取这些好友的阅读兴趣和预测知识。考虑到需要遍历很大的社交网络,研究者开发了一种基于蒙特卡罗树搜索(MCTS)的社交探索机制,此机制对于处理高阶朋友关系会更有效。总体而言,论文提出的模型称为社交探索注意力网络(SEAN)。

模型架构

推荐任务用于预测目标用户是否会点击给定文档。模型的目标是学习预测函数,用于预测用户将要点击给定文档的概率。以下为模型的总体架构:

image.png图2:SEAN的架构。左侧为社交探索模块,为右侧的系统探索用户在社交网络中的高阶朋友。将这些朋友与用户学习到的兴趣知识表示合并,分别建立了单词级和句子级的用户表示向量。右侧是神经网络结构,使用CNN将单词编码到GRU层,随后将句子编码到文档中。 

社会化文档表示

为了获得用户感兴趣内容的表示信息,研究人员利用多层神经网络模型来学习用户阅读内容的文档表示。

单词级别个性化

研究者将预训练过的词嵌入作为单词使用。他们将句子中的所有词嵌入连接成句子矩阵,然后再用卷积神经网络学习文档中的句子表示。

然后,在获取了隐藏表示后,研究者用相似度和单词级用户的社交表示向量来测量单词对目标用户的重要性。他们计算了CNN句子表示向量的加权和,用于表示在单词级社交表示向量的注意力权重。

句子级个性化

在句子级别,研究者使用双向门控循环单元网络(Bi-GRU)将一系列句子向量组成文档向量。运用句子级用户表示向量来提取目标用户感兴趣的相关句子,并通过类似于句子表示的注意力机制获得最终的文档表示。

社交化用户表示

研究人员通过另一个可训练的嵌入矩阵以相同的方式获得用户的句子级表示。研究人员设计了一个社交注意力模块,通过融入用户好友的兴趣表示来丰富用户的表示。类似地,可以通过高阶朋友的表示向量的注意力来获得句子级的用户表示知识。最后,研究者使用全连接神经网络来预测目标用户读取候选文档的概率。

社交好友探索

考虑到需要加入用户好友的兴趣知识,更好地增强推荐内容质量,研究者提出了一种蒙特卡罗树搜索算法。与集束搜索算法结合,通过遍历社交图来引导生成用户的好友的搜索路径。

图片 1.png图3:社会探索用MCTS图示。 训练和数据集

数据集

研究人员在社交平台Steemit上构建了两个数据集——Steemit-English和Steemit-Spanish。Steemit是一个博客和社交网络平台,利用Steem区块链来奖励创作者和消费者。Steemit平台与其他平台不同的是,该平台不会操纵内容和用户点击率。我们对2017年6月2日到2018年7月6日的用户评论活动进行了检索,并且分别基于英语和西班牙语的社交社区构建了两个数据集。

图片 1.png研究者构建了很多三元组样本:一个给定的用户,一个文档和一个标签l/0,将用户发表评论的文档制成正样本。将用户朋友做出回复但用户未回复的消息制成负样本。

训练

在模型训练的过程中,对于CNN层中的单词级表示,窗口大小范围为1至6,每个窗口对应的卷积通道数都是50。对于GRU层和全连接层,隐藏向量大小设置为128。社交用户搜索的过程中,集束宽设置为3,λ设置为1。搜索深度设置为10。研究过程中,每天对模型进行6轮次训练。每天用于训练和验证的数据比例为9:1。研究者使用过去t天的数据训练模型,再使用第t+1天的数据进行测试。

实验结果

图片 1.png表2:在Steemit数据集中使用的不同方法的结果对比。 图片 1.png图1:使用Steemit社交媒体368天的不同算法之间的基尼系数对比。基尼系数是根据创作者的推荐分发印象数计算出来的。基尼分数越低,说明内容分发的平等性越强。 

理论(本地/随机)集束搜索蒙特卡洛树搜索个性化推荐系统推荐算法
1
相关数据
协同过滤技术

协同过滤(英语:Collaborative Filtering),简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。协同过滤又可分为评比(rating)或者群体过滤(social filtering)。其后成为电子商务当中很重要的一环,即根据某顾客以往的购买行为以及从具有相似购买行为的顾客群的购买行为去推荐这个顾客其“可能喜欢的品项”,也就是借由社区的喜好提供个人化的信息、商品等的推荐服务。除了推荐之外,近年来也发展出数学运算让系统自动计算喜好的强弱进而去芜存菁使得过滤的内容更有依据,也许不是百分之百完全准确,但由于加入了强弱的评比让这个概念的应用更为广泛,除了电子商务之外尚有信息检索领域、网络个人影音柜、个人书架等的应用等。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

蒙特卡罗树搜索技术

蒙特卡洛树搜索(英语:Monte Carlo tree search;简称:MCTS)是一种用于某些决策过程的启发式搜索算法,最引人注目的是在游戏中的使用。一个主要例子是电脑围棋程序,它也用于其他棋盘游戏、即时电子游戏以及不确定性游戏。

门控循环单元技术

门控循环单元(GRU)是循环神经网络(RNN)中的一种门控机制,与其他门控机制相似,其旨在解决标准RNN中的梯度消失/爆炸问题并同时保留序列的长期信息。GRU在许多诸如语音识别的序列任务上与LSTM同样出色,不过它的参数比LSTM少,仅包含一个重置门(reset gate)和一个更新门(update gate)。

推荐文章
暂无评论
暂无评论~