Sequential Recommender Systems
笔记整理
1.1动机:为什么需要序列推荐系统
  用户-项目交互基本上是顺序相关的。在现实世界中,用户的购物行为通常是按顺序依次发生的,而不是孤立的。Jimmy的购物事件为例,在Jimmy开始度假之前,他先后预定了机票和酒店,租车,接下来的行动可能是自驾游一个旅游景点。在这种情况下,酒店可能离航班目的地机场很近,租车地点可能离酒店不远。在这个场景中,Jimmy的下一个操作都依赖于前一个操作,因此所有四个消费操作都是顺序依赖的。这种顺序依赖关系通常存在于事务数据中,但传统的基于内容的RSs或协同过滤RSs无法很好地捕捉到,这从本质上推动了SRSs的发展。
  随着时间的推移,用户的偏好和项目的受欢迎程度都是动态的,而不是静态的。 事实上,用户的偏好和品味可能会随着时间而改变。
  用户-项目交互通常发生在特定的连续上下文中。 不同的上下文通常会导致不同的用户与条目之间的交互,SRs将先前的顺序交互作为上下文来预测哪些项将在不久的将来交互。因此,通过避免重复推荐那些与已经选择的项目相同或相似的项目,更容易使推荐结果多样化。
  SRS将一系列user-item交互作为输入,并通过建模在user-item交互序列中潜在的复杂顺序相关性来预测在不久的将来可能发生的后续user-item交互。即给定一个用户-项目交互序列,通过最大化效用函数值生成一个由排名最高的候选项目组成的推荐列表,如下所示:
R = a r g m a x f ( S ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( 1 )

f 是输出候选项排名分数的效用函数,它可以是多种形式的,如条件概率或交互分数。S = {i1,i2,…,i|s|}是一个用户-项目交互序列,其中每个交互ij =< u,a,v >是一个三组成的用户,用户的动作,和相应的条目诉在某些情况下,用户和项目相关的一些元数据(例如,人口或功能),而行为可能有不同的类型(例如,单击,添加到购物车,购买)和发生在不同上下文(例如,时间、地点、天气)。输出R是根据排名分数排序的项目列表。
  与一般的序列建模不同,在一般的序列建模中,序列结构要简单得多,因为序列通常是由原子元素(例如,实值、基因)组成的,而SRSs中的学习任务更具有挑战性,因为序列结构更复杂(例如,每个元素是一个三元组)。

2.1 处理长用户-项目交互序列
长用户-项目交互序列中两个最关键的挑战是 :学习高阶顺序依赖关系和学习长期顺序依赖关系
高阶顺序依赖关系:有两个方法解决: 高阶马尔科夫模型和循环神经网络。
长期序列依赖关系:长期序列依赖关系指的是在一个序列中相互之间相距很远的交互间的依赖关系。例如,给定一个购物序列S1 = {玫瑰花,鸡蛋,面包,一瓶牛奶},这包含了成功购买的一篮子商品。基于长短时记忆和基于门循环单元的循环神经网络已经被应用于序列推荐系统中,这种情况下就能捕获序列中用户-商品的交互间的长期以来关系。然而,对于用循环神经网络模型通过过度假设(任何邻近商品在序列中都是高依赖关系)生成错误依赖关系是比较容易发生的。因此改进的方法:在一个统一的模型中,通过利用混合模型的优势,结合不同时间范围内的多个子模型去捕获短期和长期的依赖关系,但是仍需深度探索才能彻底解决这一问题。
2.2 使用灵活的顺序处理用户-项目交互序列
具有灵活顺序的序列,最好捕获 集体顺序依赖关系。如何在灵活顺序假设下捕获集体顺序依赖关系,是SRSs中使用灵活顺序处理序列的关键挑战。
2.3 处理带有噪声的用户-项目交互序列
相当多的研究试图通过使用注意力模型或记忆网络来解决这一典型问题,有选择地保留和利用那些与下一次交互预测真正相关的交互信息。
2.4 处理具有异构关系的用户-项目交互序列
SRSs中的另一个关键挑战是 :如何有效地分别捕获用户-项目交互序列中的这些潜在的异构关系,并在处理与异构关系相关的用户-项目交互序列时使它们协同工作,以获得序列的推荐 。混合模型是迄今为止应对这种挑战的唯一解决方案。混合模型集成了不同子模型建模的不同类型的关系,以协作地生成序列推荐。
2.5 处理具有层次结构的用户-项目交互序列
与用户-项目交互序列相关的层次结构主要有两种:(1) 元数据与用户-项目交互之间的层次结构。(2)子序列与用户-项目交互之间的层次结构。SRSs中另一个关键的挑战是 如何将这两种层次结构中潜在的层次依赖关系合并到序列依赖关系学习中,以生成更准确的序列推荐。一些层次模型,包括层次嵌入模型、层次RNN 和层次注意网络已经被设计出来,将历史子序列合并到序列依赖学习中,以构建更强大的SRSs。
3.1 用于SRSs的传统序列模型
传统的序列模型,包括序列模式挖掘和马尔可夫链模型,利用它们在序列中用户-项目交互之间的序列相关性建模方面的自然优势,为SRSs提供了直观的解决方案。
3.2 用于SRSs的潜在表达模型
潜在表示模型首先学习每个用户或项的潜在表示,然后利用所学习的表示来预测后续的user-item交互。结果表明,在潜在空间中捕获了更多的隐式和复杂的依赖关系,这极大地有利于推荐。有两种属于这种分类的典型模型:因子分解机和嵌入
3.3 用于SRSs的深度神经网络模型
深度神经网络具有天然的能力,可以对不同实体(如用户、项目、交互)之间的综合关系进行序列建模和捕获,因此在过去几年中,深度神经网络几乎主导了SRSs。SRSs的最新进展也属于这一分类。通常,这种分类可以分为两个子类:基于基本深度神经网络的SRSs和基于包含一些高级模型的深度神经网络的SRSs。
基本深度神经网络:基于RNN的SRSs,基于CNN的SRSs,基于GNN的SRSs。
高级模型:注意力模型,记忆网络,混合模型。
4 开放的研究方向
近三年来,序列推荐系统发展迅速,深度学习,尤其是递归神经网络蓬勃发展。
因此有许多进一步开放的研究方向:上下文感知顺序推荐系统 社会感知顺序推荐系统 交互式顺序推荐系统 跨域顺序推荐系统
5 总结
  推荐系统(RS)是人工智能在我们日常生活中最直接、最实用的应用之一。序列推荐系统(SRSs)在过去三到五年里一直是RS领域的核心,因为它们提供了更智能和更有利的推荐来满足我们的日常需求。我们希望这篇综述能够为RS研究界提供关于SRSs面临的挑战、最近的进展以及未来的一些方向的概述。

Sequential Recommender Systems相关推荐

  1. 序列化推荐系统总结:Sequential Recommender Systems: Challenges, Progress and Prospect

    作者:一元, 公众号:炼丹笔记, 特约审稿:杰少 背景 序列推荐系统(SRS)不同于传统推荐系统(RSs)包括协同过滤和基于内容的过滤,SRSs试图理解和建模用户的连续行为.用户与物品之间的交互作用以 ...

  2. Sequential Recommender Systems: Challenges, Progress and Prospects翻译和笔记

    摘要   近年来,序列推荐系统(SRS)的新兴话题已引起越来越多的关注.与传统的推荐系统(RS)包括协作过滤和基于内容的过滤不同,SRS尝试理解并建模顺序用户行为,用户与项目之间的交互以及用户偏好和项 ...

  3. #Reading Paper# 【序列推荐综述】IJCAI‘19:Sequential Recommender Systems: Challenges, Progress and Prospects

    #论文题目:[序列推荐]Sequential Recommender Systems: Challenges, Progress and Prospects(序列推荐系统:挑战.进程和前景) #论文地 ...

  4. Sequential Recommender Systems :Challenges, Progress and Prospects

    Sequential Recommender Systems :Challenges, Progress and Prospects(序列推荐系统的挑战,进步以及前景) 新出现的序列推荐系统(SRSs ...

  5. 【论文笔记】Towards Universal Sequence Representation Learning for Recommender Systems

    论文详细信息 题目:Towards Universal Sequence Representation Learning for Recommender Systems 作者:Yupeng Hou a ...

  6. [论文阅读笔记17]A Survey on Knowledge Graph-Based Recommender Systems

    一,题目 TKDE 2020 A Survey on Knowledge Graph-Based Recommender Systems 综述:基于知识图谱的推荐系统 In IEEE Transact ...

  7. 【文章翻译+笔记】Towards the Next Generation of Recommender Systems:A Survey of the State-of-the-Art and Pos

    Towards the Next Generation of Recommender Systems:A Survey of the State-of-the-Art and Possible Ext ...

  8. 多任务学习综述Multi-Task Deep Recommender Systems

    Multi-Task Deep Recommender Systems: A Survey 最近看到一篇多任务学习的综述,觉得总结的不错,记录一下. 1. 简介 推荐系统天然具有多任务学习的需求,以视 ...

  9. 知识图谱论文阅读(十五)【arxiv】A Survey on Knowledge Graph-Based Recommender Systems

    论文题目: A Survey on Knowledge Graph-Based Recommender Systems 论文链接: 论文代码: 想法 出现Refine就是用某些方法更好的优化特征表示 ...

最新文章

  1. 学编程必看:逻辑思维测试
  2. 针对《评人工智能如何走向新阶段》一文,继续发布国内外的跟贴留言477-486条如下:
  3. new Vue 发生了什么
  4. device tree --- #address-cells and #size-cells property【转】
  5. python上海培训哪里比较好-python培训机构上海哪里好?
  6. ssd测试工具crystaldiskmark_使用SSD增强Ceph性能并对比测试
  7. java客户端访问kafka
  8. QRCode简介(收藏)
  9. Java 多线程:线程优先级
  10. java method方法_Java Method.getTypeParameters方法代碼示例
  11. TOP计划猿10最佳实践文章
  12. 矩阵等式 matrix identity(二)
  13. 为什么eval某个json字符串时要加括号?
  14. 御剑江湖一键端mysql_御剑情缘gm完整端下载
  15. 飞龙推荐三个swf互转gif格式工具及flash直接保存gif动画方法
  16. Python 制作动态图
  17. mysql条件计数_Mysql按条件计数多种实现方法详解
  18. 基于session推荐的论文阅读
  19. 利用迭代公式求平方根。
  20. MO3音频文件格式可以用XMplay打开并转换格式

热门文章

  1. sql数据库磁盘响应时间长_SQL Server性能–测量磁盘响应时间
  2. MySQL复习值代码知识点(1)
  3. 前端工作学习相关网站收集整理
  4. C#语言中循环分类总结
  5. HDU - 6333 Harvest of Apples
  6. 10,求一个double型数据base的整数次方《剑指offer》
  7. eclipse查找指定行数
  8. 禁用ViewPager边界滑动效果(转)
  9. AspNetPager使用方法
  10. 常见MIME类型例表