注意力循环社交推荐

原文链接:Attentive Recurrent Social Recommendation, SIGIR’18
原理:将用户的朋友和历史交互项按时间划分,用注意力机制整合各个时段的朋友影响和交互项影响后输入LSTM来学习动态用户向量,动态用户向量与动态项向量的内积预测动态评分。用注意力机制整合用户所有时期的朋友影响+用户向量=用户静态向量,用户静态向量与项静态向量的内积预测静态评分。动态评分与静态评分之和为最终预测评分。

1. 摘要

协同过滤(CF)是建立推荐系统最受欢迎的方式之一。为了解决协同过滤中数据稀疏性的问题,社交推荐(social recommendation)出现了,他利用用户之间的社交影响来得到更好的推荐效果。在这些系统中,随着时间的推移,用户的偏好取决于他们的时间动态兴趣(temporal dynamic interests )和一般的静态兴趣(general static interests)。同时,用户内在兴趣和社会网络的社交影响之间的相互作用,推动了用户的偏好随时间演变。然而,传统的方法要么忽略了时间推荐(temporal recommendation)的社交网络结构,要么假设静态社交推荐(static social recommendation)具有静态的社会影响力。因此,如何利用社交影响来提高时间社交推荐效果依然是一个问题。为此,本文提出了一种基于注意力循环网络的时间社交推荐方法。在提出的方法中,我们通过用两个注意力网络融合用户之间的社交影响,来模拟用户复杂动态的和一般静态的偏好随时间的变化。特别地,在模拟动态偏好的过程中,我们设计一个动态的社交感知循环神经网络去捕捉用户复杂的随时间变化的潜在兴趣。其中,提出了一个时间注意力网络去学习随时间变化的时间社交影响;在模拟一般静态偏好的过程中,我们通过引入静态社交注意力网络刻画每一个用户的静态兴趣,来模拟用户之间的固定的社交影响。动态偏好和静态偏好的输出在一个统一的端到端的框架中结合起来,为了时间社交推荐任务。

2. 问题定义

数学符号定义:

定义1【时间社交推荐】给定一个用户集合 U,一个项的集合 V,用户-用户社交网络矩阵 S,从时间1到时间 T 的用户-项偏好序列 R = [R1,R2,…,RT],我们的目标是预测每一个用户在时间 T+1 时的消费行为Rˆ T+1

3. 提出的模型

我们提出的模型Attention Recurrent Social rEcommendation(ARSE)由两部分组成:一个复杂的Dynamic ARSE 部分捕获用户随时间推移变化的动态偏好,一个通用的Static ARSE 部分显示用户固定的不随时间推移变化兴趣。
用户 a 在 t 时刻对项 i 的偏好预测可以如下表示:项 i 的动态嵌入 x 用户 a 在t时刻的动态嵌入 + 项 i 的静态嵌入 x 用户 a 的静态嵌入

整个模型的框架如下所示:

3.1 Dynamic Attentive Social Recurrent Recommendation

Input Pooling Layer

因为 LSMT 要接受一个固定size的输入,而用户喜欢的 items 的集合Lta的size是不一样的(这里应该是指数量),所以这里采用一个平均池化(average pooling operation)操作,(实际上就是把所有items的潜在向量laent vector变成了一个平均的潜在向量,至于为什么采用平均池化而不是最大池化,作者说因为两种方法在这里没有明显的区别)
下面展示了 Xta 的第 l 个元素的计算方式:

其中 Q 是 items 在动态空间(dynamic space)中的潜在向量矩阵,Q (:,Lta ) 是选择所有在 Lta 中出现的item的潜在向量。

Dynamic Attentive Network

用两层子网络去捕获用户 a 和他在社交网络 S 中信任的用户 b(即sba=1)的动态注意力分数mt(a,b)

ht-1a 和 ht-1b 分别是用户 a 和用户 b 在 t-1 时刻的潜在向量(latent vector)
ea 和 eb 是用户 a 和用户 b 在社交网络结构中的社交嵌入(social embedding)
【可以用已经提出的各种社交嵌入技术可以从社交网络S中提取出有意义的嵌入,本文采用一个非监督深度学习模型denoising autoEnoder来为用户的社交嵌入建模】
最终的动态注意力分数 αtab 通过标准化上面的注意力分数得到:

Sa 是用户a在社交网络中信任的所有用户,
αtab 展示了在t时刻用户 b 对用户 a 的影响力
则,用户a的社交上下文信息 h~ta 表示来自社交网络邻居的权重动态社交影响:

Social LSTM Layer

Xta 表示了用户 a 在 t 时刻消费的items
h~ta 表示了用户 a 在 t 时刻增强的社交上下文信息
ht-1a 表示了用户 a 在 t-1 时刻的隐藏状态(hiden state)
预测隐藏状态 hta 可以通过一个 LSTM 层计算得到:

不同于传统的 LSTM 只考虑用户之前的输入 Xta 和之前的隐藏状态 ht-1a,作者在这里加入了用户的动态上下文表征 h~ta 来推断用户动态的偏好。

Dynamic Output Layer

3.2 Static Attentive Social Recurrent Recommendation

除了捕获用户随着时间进化的偏好,我们认为每个用户都有不随时间变化的静态兴趣(static interest)

Static Social Attention

用两层子网络去捕获用户 a 和他在社交网络 S 中信任的用户 b(即sba=1)的静态注意力分数n(a,b)

pa 和 pb 分别表示用户 a 和用户 b 的静态潜在向量(latent vector)
ea 和 eb 分别是用户 a 和用户 b 在社交网络结构中的社交嵌入(social embedding)
最终的静态注意力分数 βab 通过标准化上面的注意力分数得到:

则,增强的静态社交潜在向量p?a 可以如下表示:

Static Output

4. 模型学习

4.1 Optimization

用一个统一的损失函数进行学习

4.2 Prediction

学习总结:

1、关于用户的偏好,作者考虑了不随时间改变的静态偏好和随着时间进化的动态偏好,对于随着时间进化的动态偏好用LSTM模型进行学习,用某时刻用户的社交网络信息和交互项信息共同作为LSTM某个单元的输入,经处理后输出当前时刻用户的偏好;对于不随时间改变的静态偏好通过整合用户社交网络信息和用户本身的信息得到。两个部分在整合用户在社交网络中邻居时都采用了注意力机制来区分不同邻居的重要程度。

论文笔记(Attentive Recurrent Social Recommendation)相关推荐

  1. 论文《Attentive Recurrent Social Recommendation》阅读

    论文<Attentive Recurrent Social Recommendation>阅读 论文概况 Introduciton Problem Definition and Preli ...

  2. 【论文笔记】《Social Influence-Based Group Representation Learning for Group Recommendation》

    ICDE 19 A会 这篇论文一作是阴老师,获得了ICDE19最佳论文奖. Abstract 作为群居动物,参加群组活动是人日常生活中必不可少的一部分,为群组用户推荐满意的活动是推荐系统一项重要的任务 ...

  3. 论文笔记---Attentive Normalization for Conditional Image Generation

    Attentive Normalization for Conditional Image Generation 前提知识 语义分割 什么是语义分割? IN( instance normalizati ...

  4. 论文笔记-- Multi-Task Learning in recommendation

    Multi-Task Learning in recommendation Deep Multi-Task Architectures Historical Overview and Taxonomy ...

  5. 论文笔记:Encoding Social Information with Graph Convolutional Networks forPolitical Perspective *****

    Encoding Social Information with Graph Convolutional Networks for Political Perspective Detection in ...

  6. 论文阅读-Federated Social Recommendation with Graph NeuralNetwork

    论文地址:Federated Social Recommendation with Graph Neural Network (arxiv.org) 代码地址:GitHub - YangLiangwe ...

  7. 2019_IJCAI_Deep Adversarial Social Recommendation

    [论文阅读笔记]2019_IJCAI_Deep Adversarial Social Recommendation 论文下载地址: https://www.ijcai.org/Proceedings/ ...

  8. 论文笔记(SocialGCN: An Efficient Graph Convolutional Network based Model for Social Recommendation)

    一个有效的基于图卷积神经网络的社交推荐模型 原文链接:SocialGCN: An Efficient Graph Convolutional Network based Model for Socia ...

  9. [论文笔记] 2022-TKDE-Semantic and Structural View Fusion Modeling for Social Recommendation

    文章目录 1 摘要 2 介绍 3 问题定义 3.1 社会化推荐中的隐式关系 3.1.1 隐式用户关系 3.1.2 隐式物品关系 3.2 用于社会化推荐的元路径 3.3 元路径引导的图注意力网络 3.4 ...

最新文章

  1. 基于animation.css实现动画旋转特效
  2. 强制解包看 Swift 的设计
  3. java在线问答系统_求一个基于JAVA的在线答疑系统程序
  4. 4.9.3 方法注释
  5. leetocde 225. 用队列实现栈
  6. 如何查看linux 日志 磁盘使用情况?
  7. DBFace升级,模型仅1.3M的轻量级高精度人脸检测模型
  8. CCF201712-2 游戏
  9. 【OpenStack】【Keystone】安装与配置详解
  10. sql2005各种版本
  11. matlab里日期函数,matlab中如何获取当前日期时间函数的具体应用如下
  12. 淘宝客APP双端原生源码 开源原生态可运营可二次开发+含全套开发文档
  13. Pandownload百度网盘不限速下载器PC版|Android版
  14. Python语言翻译包translate,支持翻译多语种
  15. 从网上自学老男孩python全栈的笔记-经历
  16. python生成加密exe_python加密保护-加密exe文件
  17. shell实现简单计算机功能,Shell 实现简单计算器功能(示例代码)
  18. 打造数字化转型IT生态系统的IT管理方法:IT4IT一瞥
  19. Java程序员月薪多少K才能在北上广买得起房?
  20. C语言基础:求解一元二次方程

热门文章

  1. 排序算法之希尔排序(Java)
  2. Cs代码写在html页面哪里,当用于在details.cshtml页面上查看时,我用什么代码来查看模型中的项目列表?...
  3. Python3安装(Linux)
  4. 每日一题(29)—— 如何引用一个已经定义过的全局变量
  5. f12获取网页文本_8招教你快速搞定网页内容禁止复制粘贴,想怎么复制就怎么复制...
  6. php 公众号验证回调方法_微信公众号关键词自动回复设置方法!
  7. React脚手架学习笔记
  8. LeetCode 330. 按要求补齐数组(贪心)
  9. LeetCode 1007. 行相等的最少多米诺旋转
  10. LeetCode 1031. 两个非重叠子数组的最大和(一次遍历,要复习)*