首页 > 其他分享 >读论文-序列感知推荐系统(Sequence-Aware Recommender Systems)

读论文-序列感知推荐系统(Sequence-Aware Recommender Systems)

时间:2024-04-11 22:01:31浏览次数:17  
标签:顺序 Recommender Sequence 推荐 用户 模式 Aware 序列 感知

前言

今天读的论文为一篇于2018年发表在(ACM computing surveys (CSUR))的论文,这篇文章主要讲述了序列感知推荐系统(Sequence-Aware Recommender Systems)的研究和应用。文章首先介绍了推荐系统在实际中的应用背景,然后指出了传统推荐系统在处理用户行为序列信息方面的局限性。接着,文章详细讨论了序列感知推荐系统如何利用用户行为的序列信息来改进推荐质量,包括对用户短期兴趣和长期行为模式的考虑。

ACM Computing Surveys (CSUR) 是由美国计算机学会(Association for Computing Machinery, ACM)出版的一本学术期刊,专注于计算机科学领域的综述文章。CSUR 的目标是为研究人员、教育工作者和专业人士提供一个关于计算机科学各个子领域最新进展的全面、深入的概述。这些综述文章通常由领域内的专家撰写,旨在提供对特定主题的深入分析,包括理论基础、关键技术、应用案例以及未来研究方向。CSUR 的内容涵盖了从基础理论到实际应用的广泛主题,如算法、编程语言、软件工程、人工智能、网络技术、数据库、图形学、安全、教育等。期刊鼓励作者撰写具有教育意义的文章,这些文章不仅回顾了现有知识,还探讨了新的趋势和挑战,为读者提供了一个了解和学习新技术、新方法的平台。CSUR 对于学术界和工业界都是一个宝贵的资源,因为它提供了对复杂主题的清晰解释,有助于读者快速掌握领域的最新动态。此外,CSUR 的文章通常具有较高的引用率,反映了其在学术界的影响力。

要引用这篇论文,请使用以下格式:

[1]Quadrana, Massimo, Paolo Cremonesi, and Dietmar Jannach. "Sequence-aware recommender systems." ACM computing surveys (CSUR) 51.4 (2018): 1-36.

摘要

Recommender systems are one of the most successful applications of data mining and machine learning technology in practice. Academic research in the field is historically often based on the matrix completion problem formulation, where for each user-item-pair only one interaction (e.g., a rating) is considered. In many application domains, however, multiple user-item interactions of different types can be recorded over time. And, a number of recent works have shown that this information can be used to build richer individual user models and to discover additional behavioral patterns that can be leveraged in the recommendation process. In this work we review existing works that consider information from such sequentially-ordered useritem interaction logs in the recommendation process. Based on this review, we propose a categorization of the corresponding recommendation tasks and goals, summarize existing algorithmic solutions, discuss methodological approaches when benchmarking what we call sequence-aware recommender systems, and outline open challenges in the area.

推荐系统是数据挖掘和机器学习技术在实践中最成功的应用之一。学术研究领域通常基于矩阵补全问题的形式,其中只考虑用户-项目对的单一交互(例如,评分)。然而,在许多应用领域,可以记录多种类型的用户-项目交互,并且随着时间的推移。最近的一些研究表明,这些信息可以用来构建更丰富的个体用户模型,并发现可以在推荐过程中利用的额外行为模式。在这项工作中,我们回顾了考虑这些顺序排列的用户-项目交互日志在推荐过程中的现有研究。基于这项回顾,我们提出了对相应推荐任务和目标的分类,总结了现有的算法解决方案,讨论了在基准测试我们称之为序列感知推荐系统时的方法论方法,并概述了该领域的开放性挑战。

总结来说,摘要部分主要讲了以下要点:

  • 推荐系统的应用:推荐系统是数据挖掘和机器学习技术在实际应用中的成功案例,它们帮助用户在大量对象中发现感兴趣的项目,尤其在电子商务或媒体流媒体等领域。
  • 传统推荐系统的限制:传统的推荐系统通常基于矩阵补全问题,只考虑单一用户-项目交互(如评分),而不考虑用户行为的短期或长期模式。
  • 序列感知推荐系统的优势:这些系统通过考虑用户行为的序列信息,能够构建更丰富的用户模型,发现额外的行为模式,并在推荐过程中利用这些信息。
  • 研究回顾:文章回顾了现有研究,这些研究考虑了用户-项目交互日志中的序列信息,并提出了相应的推荐任务和目标的分类。
  • 算法解决方案:文章总结了现有的算法解决方案,并讨论了在基准测试序列感知推荐系统时的方法论方法。
  • 开放性挑战:文章概述了该领域的开放性挑战,并旨在为未来研究提供更标准化和可复现的工作路径。
  • 文章结构:文章首先介绍了推荐系统的背景,然后描述了序列感知推荐系统的特征,接着详细讨论了不同类型的推荐问题、算法和评估方法,并对未来研究方向进行了展望。

引言

Recommender Systems (RS) are software applications that support users in finding items of interest within larger collections of objects, often in a personalized way. Today, such systems are used in a variety of application domains, including for example e-commerce or media streaming, and receiving automated recommendations of different forms has become a part of our daily online user experience. Internally, such systems analyze the past behavior of individual users or of a user community as a whole to detect patterns in the data. On typical online sites, various types of relevant actions of a user can be recorded, e.g., that a user views an item or makes a purchase, and several of the actions of a single user may relate to the same item. These recorded actions and the detected patterns are then used to compute recommendations that match the preference profiles of individual users. In academic environments, the predominant problem abstraction is that of matrix completion where we are given a user-item rating matrix and the goal is to predict the missing values. This abstraction is generally well-suited to train machine learning models that aim to capture longer-term user preference profiles. The corresponding algorithms however typically implement no specific means to take the users’ short-term behavior or intents into account in their recommendations; nor are they designed to use the rich information that is contained in the sequentially-ordered user interaction logs that are often available in practical applications. In practice, however, there are many application scenarios where considering short-term user interests and longer-term sequential patterns can be central to the success of a recommender. A typical example problem setting is that of session-based recommendation [45, 56], where no longer-term user histories are available. Instead, we have to adapt the recommendations according to the assumed short-term interests of an anonymous user. The goal in such scenarios usually is to recommend objects that match a given sequence of user actions. Typical algorithmic approaches in that context learn to predict the best next item from sequential user interaction logs. Considering such sequences is however not only relevant for the short-term adaptation of the recommendations. The sequential logs can also be used to derive longer-term behavior patterns, e.g., to detect interest drifts of individual users over time [85], to identify shortterm popularity trends in the community that can be exploited by recommendation algorithms [54, 62], or to reason about the best point in time to remind users of certain items they have seen or purchased before [70]. Finally, there are application domains where the recommendation of one item (e.g., an accessory) only makes sense after some other object was purchased. Such weak or strict ordering constraints might correspondingly be learned from the data and considered by a sequence-aware recommender. Overall, sequence-aware recommendation scenarios are highly relevant in practice and a number of relevant works were proposed in the recent past. Research in the field is however comparably scattered and no common understanding of the different facets of the problem exists. In this survey work, we therefore (i) categorize the various scenarios of sequence-aware recommendations approaches in the academic literature, (ii) we review the various algorithmic approaches that were proposed to extract and leverage patterns from interaction logs, and (iii) we finally discuss specific issues when benchmarking different recommendation methods. One of the major goals of the review in that context is to lay the path for more standardized and better reproducible research works in the field. The paper is organized as follows. In Section 2 and Section 3 we characterize and categorize different types of sequence-aware recommendation problems that can be found in the literature. Section 4 reviews existing algorithms and Section 5 discusses methodological questions regarding their evaluation and comparison. Section 6 finally gives a brief outlook on future research directions.

推荐系统(RS)是一种软件应用程序,它支持用户在更大的对象集合中找到感兴趣的项目,通常以个性化的方式。如今,这样的系统被用于各种应用领域,包括电子商务或流媒体,接收不同形式的自动推荐已经成为我们日常在线用户体验的一部分。在内部,这些系统分析单个用户或整个用户社区的过去行为,以发现数据中的模式。在典型的在线网站中,用户的各种相关行为都可以被记录下来,例如,用户浏览商品或购买商品,单个用户的多个行为可能与同一商品有关。然后,这些记录下来的行为和检测到的模式被用来计算匹配个人用户偏好的推荐。在学术环境中,主要的问题抽象是矩阵补全,我们给定一个用户-项目评分矩阵,目标是预测缺失值。这种抽象通常非常适合于训练旨在捕获长期用户偏好概要的机器学习模型。然而,相应的算法通常没有实现特定的方法来在推荐中考虑用户的短期行为或意图;它们也不是为了利用在实际应用中经常可用的、按顺序排列的用户交互日志中包含的丰富信息而设计的。然而,在实践中,在许多应用场景中,考虑短期用户兴趣和长期序列模式可能是推荐成功的关键。一个典型的问题设置示例是基于会话的推荐[45,56],其中没有长期的用户历史记录。相反,我们必须根据假设的匿名用户的短期兴趣来调整推荐。这种情况下的目标通常是推荐符合给定用户操作序列的对象。在这种情况下,典型的算法方法学习从连续的用户交互日志中预测最佳的下一个物品。然而,考虑这样的序列不仅与建议的短期适应有关。序列日志还可以用于推导较长期的行为模式,例如,检测个人用户随时间的兴趣漂移[85],识别社区中的短期流行趋势,可被推荐算法利用[554,62],或推理最佳时间点,以提醒用户他们之前看到或购买的某些项目[70]。最后,在某些应用领域,推荐一个物品(例如一个配件)只有在购买了其他物品之后才有意义。这种弱或严格的排序约束可能相应地从数据中学习并被序列感知推荐器考虑。总的来说,序列感知推荐场景在实践中具有高度相关性,近年来提出了许多相关工作。然而,该领域的研究相对分散,对问题的不同方面没有共同的理解。因此,在这项调查工作中,(i)对学术文献中序列感知推荐方法的各种场景进行了分类,(ii)回顾了为从交互日志中提取和利用模式而提出的各种算法方法,(iii)最后讨论了对不同推荐方法进行基准测试时的具体问题。在这方面的审查的主要目标之一是为该领域更标准化和更好可重现的研究工作铺平道路。本文的组织结构如下。在第2节和第3节中,我们对文献中可以找到的不同类型的序列感知推荐问题进行了描述和分类。第4节回顾了现有的算法,第5节讨论了关于它们的评估和比较的方法问题。第六部分对未来的研究方向进行了展望。

引言部分概述了推荐系统在个性化推荐中的应用,强调了传统推荐系统的局限性,并提出了序列感知推荐系统作为解决方案的重要性。这些系统通过分析用户行为序列来提供更准确的推荐,适用于多种实际场景。文章旨在对这一领域的研究进行分类和回顾,以促进更标准化和可复现的研究工作。

描述序列感知推荐系统(CHARACTERIZING SEQUENCE-AWARE RECOMMENDER SYSTEMS)

序列感知推荐问题与传统的矩阵补全设置在多个方面有所不同。图1提供了问题、输入、输出和特定计算任务的高级概述。通常,对象的顺序在输入和输出方面都是相关的。我们将在下面详细讨论这些方面。

输入、输出、计算任务和抽象问题描述

输入。序列感知推荐问题的主要输入是过去用户行为的有序且通常带时间戳的列表。用户可以是系统已知的,也可以是匿名的。每个动作都可以与一个可推荐的物品相关联。最后,每个动作可以是几种预定义类型之一,每个动作、用户和物品可能具有许多其他属性。总的来说,输入可以被视为一种丰富的点击流数据。在传统的矩阵补全设置中,所有评分都附加在已知的用户和物品上。我们不要求序列感知推荐器这样做。匿名用户行为并不罕见,例如,在电子商务领域,用户通常没有登录。尽管如此,可以从过去的匿名会话中提取相关信息。我们也不需要每个动作都与一个物品相关联,因为,例如,可以从用户搜索或导航行为中提取相关信息[53]。最后,在大多数应用场景中,每个动作都会有一个指定的动作类型(例如,查看物品、购买物品、添加到购物车等)。根据领域,可能还有额外的信息描述动作的进一步细节(例如,当动作发生时物品是否打折),用户(例如,人口统计学信息)或物品(例如,元数据特征)。通常,这种形式的输入数据在许多实际应用中都可以获得,例如,以应用程序或Web服务器日志的形式。通常,我们不假设在序列感知推荐系统中有大量显式评分可用。

输出。序列感知推荐器的输出是物品的有序列表,将在下面更正式地描述。在这种一般形式中,输出类似于传统的“物品排名”推荐设置。然而,在一些序列感知推荐场景中,推荐列表中对象的顺序也是相关的。与将推荐列表视为用户备选集不同,在某些场景中,用户应该考虑所有推荐,并按照提供的顺序进行。典型的示例包括音乐推荐中的曲目序列推荐或学习课程系列推荐。我们将在本文后面更详细地描述这些应用场景。

计算任务。在文献中可以确定序列感知推荐器的不同计算任务。最常见的任务是传统矩阵补全设置中不存在的,即在记录的用户动作中识别与序列相关的模式。这些可以是顺序模式,其中动作的顺序是相关的,也可以是共现模式,其中重要的是两个动作一起发生,例如,在同一个会话中。在某些情况下,距离模式也可能相关,例如,当问题是计算提醒用户通过推荐回忆某事的好时机时。请注意,相应的模式不需要像通常在序列模式挖掘[79]中那样明确,但也可以隐式地编码在复杂的机器学习模型中。除了识别随后用于推荐任务的这些模式外,序列感知推荐器的另一个计算任务可以是对顺序约束进行推理。这些约束可以是严格约束(例如,在学习课程推荐问题中给出的课程表),给出为启发式(例如,音乐推荐中下一曲目的音乐转换规则),或从给定的输入数据中隐式推导出来作为一种弱约束。最后,从数据中识别出的模式(或更一般地说,学习到的模型)必须与寻求推荐的时间点相关联。在基于会话的推荐器中,可以考虑最后几个用户动作,然后寻找与当前会话相似的过去会话。另一方面,当推荐器用作消费品重复购买的提醒时,用户最后一次购买动作与当前时间的距离可能相关。

抽象描述。采用[3]的形式主义,我们可以在更正式、抽象的水平上描述问题如下。设C是用户集合,I是可推荐物品集合。与矩阵补全问题不同,我们不关心为每个i ∈ I和每个c ∈ C预测一个效用值,而是为每个用户计算一个长度为k的对象列表L,其中L中的每个元素l ∈ L对应于I中的一个元素。技术上,每个序列L都是I的所有排列的幂集的排列,长度为k,即L ∈ Sk(P(I))。我们称可能列表的这个集合为L。设u是一个函数,返回给定序列L对用户c的效用分数,即u:C×L → R。那么,序列感知推荐问题就包括确定序列l'c ∈ L,以最大化用户的分数,即∀c ∈ C,l'c = arg max l ∈ L u(c,l) (1)。推荐系统的主要问题是从给定的数据中学习或推断效用函数u。在矩阵补全问题中,[3]中的工作,输入是一个用户-物品评分的稀疏矩阵。相比之下,在序列感知推荐系统中,我们假设底层数据是一个由用户动作序列D组成的数据集,其中D中的每个用户动作A具有多个属性。一个序列数据集D可以被视为用户社区行动的丰富日志,其中每个动作A的属性包括某种用户ID2和额外的可选属性,如动作类型(例如,物品查看或点击事件)或时间戳。总的来说,我们的函数u不限于为单个物品表征效用分数,而是为整个有序物品列表表征。这使得考虑序列感知推荐问题中的额外效用方面成为可能,包括整个集合的多样性、排序本身的质量,例如,物品之间的转换,或L中弱或严格顺序约束的满足程度。这些质量因素如何在现有算法中考虑将在本文的第4节中讨论。通常,效用函数u的设计取决于推荐系统应向用户提供的具体价值类型,或其目的,如[50]中所述。在推荐系统文献中,研究人员通常不明确讨论系统的底层目的,这可以是信息过滤,也可以是发现支持。相反,他们专注于优化一个抽象的计算任务,如预测隐藏的评分。在序列感知推荐者的背景下,情况通常类似,区别在于计算任务主要是预测给定会话开始的隐藏元素。虽然预测下一个隐藏用户动作的算法性能可以用信息检索的标准度量(如精确度和召回率)来评估,但在其他情况下,评估过程中需要特定的度量(例如,多样性度量)。

与其他领域的关联

隐式反馈推荐系统。我们对序列感知推荐问题的描述主要针对观察用户社区随时间的个体和集体行为的场景,而不是要求显式的物品评分。有许多研究工作关注隐式用户反馈,如购买事件。然而,问题表述通常再次基于矩阵补全,其中不考虑一个用户与一个物品的多次交互。另一方面,显式的物品评分也可以作为序列感知推荐器中多种用户动作类型之一。然而,在这种情况下的一个潜在问题是,用户提供评分的时间点可能与他们消费或购买物品的时间点(例如,当注册电影推荐服务时,用户最初会对他们过去看过的一堆电影进行评分)非常不同。因此,评分的顺序和时间戳可能会误导序列感知推荐器。

上下文感知和时间感知推荐系统。在下一节讨论的一些应用场景中,序列感知推荐系统代表了上下文感知推荐系统的一种特殊形式。在基于会话的推荐中,可以从用户非常最近的行动中估计出的用户的短期意图,可以代表在推荐时需要考虑的重要上下文信息[56]。时间感知推荐系统(TARS)通常考虑与过去用户行动相关的时间信息以相应地调整推荐,参见[17]的概述。TARS与序列感知推荐者在许多方面有共同点,例如,在离线设置中比较不同方法的方式。然而,序列感知推荐者的重点是过去的用户互动的确切时间点,而不是事件的顺序。此外,许多关于时间感知推荐者的提议主要依赖于矩阵补全问题设置来建模时间动态[68]。

其他相关领域的研究。最后,序列感知推荐系统的某些方面也在邻近领域进行了探索。例如,在信息检索领域中的查询建议问题或在更一般的用户建模领域中的兴趣漂移问题。在本文中,我们集中在主要关注推荐问题本身的工作中,而不是旨在开发捕捉用户偏好随时间变化的方法。因此,在搜索要考虑的论文时,我们在查询数字图书馆时使用了相应的搜索字符串和选择策略,将在第3.5节中详细描述。

序列感知推荐任务的分类
我们在学术文献中确定了四种主要目标,可以在不同应用场景中通过序列感知推荐系统实现:

(1)上下文适应(2)趋势检测(3)重复推荐

(4)考虑顺序约束和序列模式

我们将在下一节中更详细地讨论这四个类别,并查看序列感知推荐器的典型应用领域。请注意,接下来讨论的所有问题设置都基于方程1中描述的相同正式问题描述,但需要特定的算法方法,这些方法使用输入数据集中的序列信息(见第4节)。这些问题也不是相互排斥的,例如,在电子商务领域[62]中,可以同时考虑多个方面(例如,趋势和重复)。

序列感知推荐任务的分类(A CATEGORIZATION OF SEQUENCE-AWARE RECOMMENDATION TASKS)

我们在学术文献中确定了四种主要目标,可以通过序列感知推荐系统在不同应用场景中实现:

(1)上下文适应(Context Adaptation)
在许多领域中,可推荐物品的相关性不仅取决于用户的一般偏好,还取决于他们当前的情况和短期意图和兴趣。上下文感知推荐系统会考虑这些额外类型的信息。文献中的典型上下文因素包括用户的地理位置、当前天气或一天中的时间[4]。这些上下文因素是所谓的表示性上下文(representational context)的例子,它由预定义的“可观察”上下文变量集合定义。然而,像用户在电子商务设置中的当前购物意图或他们当前的心情这样的上下文信息并不是直接可观察的。这些类型的信息代表了所谓的用户的交互上下文(interactional context),因此必须从用户最近的行动以及最终从用户和整个社区的行为模式中推导出来[40, 87]。考虑交互上下文因素对于有许多新用户或匿名用户的系统尤为重要。由于没有关于他们过去偏好的历史数据,充分利用交互上下文信息非常重要,因为表示性上下文信息只能帮助将匿名用户划分为粗粒度的类别,而没有真正的个性化[32]。总的来说,理解用户的情况和目标,并从过去的交互数据中做出上下文适应的推荐,代表了序列感知推荐系统的主要目标。

(2)趋势检测(Trend Detection)
在给定的序列数据集中检测趋势是序列感知推荐系统可以实现的另一个潜在但较少探索的目标。我们可以从顺序日志信息中提取以下类型的信息以用于推荐过程:

社区趋势。在实践中,考虑物品在用户社区中的受欢迎程度对于成功的推荐很重要,例如在流媒体推荐中[35]。由于物品的受欢迎程度可以在不同领域随时间变化,序列感知推荐系统可以旨在检测和利用交互日志中的流行模式来改进推荐。这种趋势可以是长期的(例如,随着时间的推移变得过时或过时),季节性的,或者反映短期和一次性的流行高峰。例如,在时尚领域,考虑最近几天的社区趋势可以是选择推荐物品的成功策略[54]。

个体趋势。对某些物品的兴趣变化也可能在个体层面上发生。这些兴趣变化可能是由于“自然”的兴趣漂移,例如用户成长,或者他们的偏好随时间变化,例如由于其他人的影响,由于特殊事件,或者当他们发现新事物时。在新闻领域,例如,个体兴趣随时间变化并受到全球和本地新闻趋势的影响[75]。另一个例子问题是模拟用户音乐品味的动态[85]。

(3)重复推荐(Repeated Recommendation)
在某些应用领域中,推荐用户已经知道或过去购买过的物品是有意义的。这种场景在传统的矩阵补全设置中根本不考虑。我们可以确定以下重复推荐场景的类别:

识别重复的用户行为模式。过去的交互日志可以被序列感知推荐系统用来识别重复的用户行为模式。一个典型的应用例子可能是消耗品的重复购买,如打印机墨水。这种模式既可以从个体用户的行为中挖掘,如[109, 122, 123],也可以从整个社区的行为中挖掘。重复的用户行为对于应用推荐问题特别相关。在这种情况下,重复的用户行为模式可以用来为用户频繁启动的应用程序提供快捷方式。一个例子是在打开“联系人”应用程序后建议启动“电子邮件”或“电话”应用程序。这里的总体目标是增强用户对设备的体验[9, 78, 87]。

重复推荐作为提醒。在不同的场景中,重复推荐可以帮助提醒用户他们过去感兴趣的东西。根据领域,这些提醒可能与用户可能忘记的对象(例如,她或他过去喜欢过的艺术家)有关,或者与用户最近互动的对象有关[70]。后一种场景在电子商务中特别相关,推荐用户最近查看的物品在像亚马逊这样的平台上很常见。请注意,从我们在第2节中描述的问题定义的角度来看,这两种场景是相同的。然而,在第一种情况下,通常有一个潜在的“逻辑”原因为什么应该再次推荐一个物品,这在后一类场景中并非如此,即推荐可能被认为“遗忘”或最近相关的项目。在这两种提到的场景中,除了选择要重复推荐的项目外,序列感知推荐系统还必须考虑推荐的时间。在电子商务的提醒场景中,提醒用户之前查看过的物品的时间框架可能很窄,物品可能很快就会过时,例如,如果它们在几次查看事件后没有被购买。尽管如此,如果用户当前的购物意图与上一次会话不匹配,总是提醒用户他们最近会话中的物品可能是不合适的。在消耗品推荐的情况下,可以在较长的时间段后,例如几周甚至几个月,重复推荐物品。然而,适当的时间仍然很重要,这种类型的重复推荐与主动推荐者[26]有类似的问题,例如,他们的推荐可能会在错误的时间打断用户。

(4)考虑顺序约束和观察到的序列模式(Consideration of Order Constraints and Observed Sequential Patterns)
在第3.1节关于短期上下文适应中,我们讨论了序列感知推荐系统的不同任务,其中对象的顺序——无论是在日志中、在当前会话中还是在推荐中——都可能发挥作用。考虑这种排序对于用户上一次会话之外的序列感知推荐任务也是至关重要的,这就是为什么我们在本节中更深入地讨论这个方面的原因。具体来说,当我们确定推荐的合适顺序时,可以额外考虑两种关于序列性的信息。(a)首先,可以有“外部”领域知识,以严格或弱顺序约束的形式规定顺序。例如,在推荐一系列学习课程的领域中,可能存在关于不同课程顺序的严格要求,推荐系统必须考虑,例如,不能在完成另一门课程之前参加一门课程[88, 113]。相比之下,在电影推荐领域,推荐用户在观看前一集之后观看续集可能是合理的。然而,这种约束不一定是严格的。

(b)其次,可以尝试从用户行为中识别这种顺序消费模式,并例如自动推断用户在观看某部电影后观看了其续集。从技术角度来看,序列模式挖掘技术已经被应用于推荐者的各个应用领域,例如,用于预测用户在网站上的下一步导航行为[83, 86]或在音乐推荐问题中找到要播放的下一首歌曲[15]。

在考虑这些影响排序的因素时,可能需要考虑应用特定的变化,其中包括以下内容:

推荐顺序的重要性。根据应用场景的具体细节和推荐服务的目标,推荐物品的顺序可能是相关的,也可能不是,即使在同一领域也是如此。在音乐推荐的情况下,可以尝试确定一个播放列表延续,其中所有元素通常都适合当前的听歌会话[57]。相比之下,也可以试图确保曲目之间的转换平滑,或者产生的播放列表具有某些特征,例如,节奏的持续增加[80]。

过去事件的确切顺序的重要性。同样,过去事件的确切顺序对于推荐任务可能是相关的,也可能不是。再次以音乐推荐为例,可以尝试在以前的会话中寻找顺序模式[40],或者简单地考虑曲目共现模式,如在基于邻域的方法中所做的[15]。在顺序相关的情况下,还可以考虑日志中单个事件的年龄,并降低较老事件的重要性。

隐式顺序约束的存在。在推荐补充品(例如,相机的存储卡)时,可能存在关于什么可以合理推荐的隐式约束,这些约束可能取决于特定领域或产品类别。可以推荐相机的存储卡作为配件,但不能反过来。然而,对于其他类别,双向推荐在两个方向上都是合理的。

总的来说,除了从过去的数据中识别顺序模式来选择和排名物品外,推荐者的另一个任务是确保在产生的列表中尊重这些严格和弱顺序约束。

序列感知推荐系统算法(ALGORITHMS FOR SEQUENCE-AWARE RECOMMENDER SYSTEMS)

在文献中,我们可以识别出三类主要的算法,用于从用户行为序列中提取模式:序列学习、序列感知矩阵分解和混合方法。这些类别可以进一步细分为子类别,形成了表3中的算法分类。一些相对不常见的技术方法被归类为“其他”。大多数回顾的研究依赖于某种形式的序列学习方法。这些方法对于具有固有序列性质的数据进行分析是自然的选择,例如在自然语言处理、时间序列预测、DNA建模以及作为本工作重点的序列感知推荐中。

4.1 序列学习

序列学习方法在数据具有固有序列性质的应用领域中非常有用,例如在自然语言处理、时间序列预测、DNA建模,以及作为本工作重点的序列感知推荐。

4.1.1 频繁模式挖掘(Frequent Pattern Mining, FPM)

方法。频繁模式挖掘(FPM)技术最初是为了在大型交易数据库中发现用户消费模式。早期的关联规则挖掘方法[5]专注于识别在同一交易中频繁共同出现的项目,不考虑它们的顺序。后来,发展了顺序模式挖掘技术[6],这些技术只考虑项目按相同顺序出现时的共同出现作为模式。极端情况下,连续顺序模式要求在交易中的行动序列中相邻的共同项目。在所有方法中,模式通常是在离线过程中挖掘的,并通常转化为一组关联规则或另一种紧凑的知识表示形式,例如[83, 115]。通常,生成的规则会附带值(例如,置信度和支持度),表示它们的强度。在预测阶段,我们有一个部分交易(例如,用户最近购买的项目),我们寻求额外的项目。这些项目是通过在数据库中扫描匹配规则并在我们的部分交易上应用它们来确定的。在推荐场景中,最简单的方法是确定仅基于用户最近行为的成对项目共现频率,以实现“顾客购买...也购买了”形式的购买建议。

应用示例。在序列感知推荐器的早期工作中[83, 86],研究人员比较了关联规则(AR)、顺序模式(SP)和连续顺序模式(CSP)在Web使用挖掘场景中的应用,其中问题是预测用户的下一个导航行为,以便进行页面预取或基于会话的上下文适应。在预测阶段,他们使用当前用户会话的固定大小滑动窗口。给定窗口中的最后N个用户行为,他们查找并应用大小为N+1的规则,并根据触发规则的置信度值对推荐(即规则结果的元素)进行排名。所得到的结果表明,约束较少的模式(AR和SP)导致更好的推荐,而CSP的使用对于页面预取任务更有帮助。其他类型的顺序模式也被探索,例如封闭模式和负模式。例如,Zang等人[118]和Hsueh等人[48]的工作仅基于用户最近的几次行为进行上下文适应。在使用频繁模式方法时,个性化是通过匹配用户的活动与预先提取的模式来实现的。在更近期的工作中,Yap等人[115]提出进一步个性化该方法,并根据其对个体用户的估计相关性对模式进行加权。他们设计了三种确定个性化模式相关性分数的方案,并将其与基于流行度的方法进行了比较。他们的实证评估表明,应用个性化规则评分方案可以为目标用户提供更准确的个性化下一个项目推荐。作为相对较新的应用领域的一个例子,Lu等人[78]提出了MASP(Mobile Application Sequential Patterns)挖掘方法,用于通过预测用户下一步使用的应用程序来为智能手机提供上下文适应。在他们的方法中,交易由应用程序使用的序列组成,这些序列带有用户每次使用的位置注释。MASP-mine算法考虑了用户移动和应用程序启动来发现顺序模式。在预测时,使用与最近用户移动和活动匹配的最大支持值的单个模式来预测下一步启动的应用程序。

讨论。频繁模式挖掘技术已经得到了很好的探索,也容易实现和解释。主要的缺点包括一些方法的有限可扩展性,以及更重要的,为离线挖掘任务找到合适的阈值值问题。通常,主要参数是最小支持值。如果设置得太低,会识别出太多(通常是噪声)模式;如果设置得太高,只会找到最频繁项目的规则。为了解决这个问题,可以从具有固定最小支持阈值的数据库中开始搜索最高质量的规则,并逐步放宽质量约束,直到找到匹配的规则。或者,提出了使用多个最小支持值或“调整”置信度分数的不同算法变体[95]。使用频繁模式挖掘技术的另一个常见挑战是决定不同变体(AR、SP、CSP)之间的选择。确定顺序模式(SP、CSP)通常不仅在计算上更昂贵,而且很容易导致规则库更小。这反过来可能导致在预测时找不到匹配的规则。哪种方法最有效可能还取决于应用领域。事件的顺序可能非常重要,例如,在查询或应用程序推荐[78, 125]的上下文中。在其他问题设置中,例如网页推荐或下一首歌曲的音乐推荐,考虑项目顺序可能导致规则库太小或只有小的正面效果[14],这可能不会超过额外的计算复杂性。最后,在某些领域,尽管简单,但简单的共现模式已经被成功使用,例如在电子商务和音乐推荐[52, 56, 106]中。

4.1.2 序列建模

方法。序列感知推荐器的输入,即过去用户行为的有序且通常带时间戳的日志,可以被视为具有离散观测值的时间序列。因此,在许多情况下,原则上可以应用现有的有时复杂的时间序列预测方法。然而,在RS应用中,时间戳通常仅用于对行动进行排序,这使我们能够应用“更简单”的序列模型,这些模型不一定考虑观察到的行动序列的复杂底层时间动态。总的来说,序列建模技术旨在从过去的观测中学习模型以预测未来的观测,在我们的情况下是用户行动。序列感知推荐的序列建模方法主要属于三类:马尔可夫模型、强化学习和循环神经网络(见表3)。

马尔可夫模型将序列数据视为离散随机变量(或状态)上的随机过程。马尔可夫性质将过程的依赖性限制在有限的历史范围内。例如,在一阶马尔可夫链(MCs)中,每个状态的转移概率仅取决于前一个状态。高阶MCs使用更长的时间依赖性来模拟状态之间的更复杂关系。在序列感知推荐系统中,马尔可夫性质转化为假设下一个用户行动仅取决于最近的有限数量的前一个行动。

强化学习(RL)技术通过与环境交互学习,本质上是序列的。在推荐场景中,交互包括向用户推荐一个项目(行动),然后系统接收反馈(奖励)。例如,在音乐领域,系统推荐一首歌,然后监控用户是否听取或跳过推荐的歌曲。在这个例子中,如果用户听取了这首歌,我们分配一个正奖励,否则为零。问题通常被制定为马尔可夫决策过程(MDP),系统的目标是在一系列交互中最大化累积奖励。

循环神经网络(RNNs)是具有非线性动态的分布式实值隐藏状态模型。在每个时间步,RNN的隐藏状态从序列中的当前输入和上一个步骤的隐藏状态计算得出。然后,隐藏状态用于预测序列中的下一个项目的概率。循环反馈机制记住了每个过去的数据样本对RNN隐藏状态的影响,从而克服了MCs的基本限制。因此,RNN非常适合模拟用户行动序列中的复杂动态。RNN的变体,如LSTM[36]和GRU[23],通过其复杂的隐藏动态,可以模拟比其他方法(如隐马尔可夫模型[34])更长和更复杂的时间依赖性。

应用示例(马尔可夫模型)。在大多数情况下,马尔可夫链不能直接应用于序列感知推荐,因为数据稀疏性很快导致转移矩阵的估计不佳。因此,Shani等人[97]通过几种启发式方法(即跳过、聚类和有限混合建模)增强了他们的基于MC的方法,以减轻数据稀疏性的影响。在他们的应用中,输入数据由在线书店的购买记录组成,他们的实验显示,顺序模型在预测基于用户最近几次互动的下一本推荐书籍方面优于非顺序模型。在不同的应用领域,McFee和Lanckriet[81]使用马尔可夫链混合用于音乐播放列表生成问题,这是一个典型的列表延续问题,其中混合是几个MC(均匀、加权和k-最近邻)的加权集合,其权重通过在播放列表训练数据集上的最大似然优化学习。在应用MCs时,通常的另一个挑战在于模型顺序的选择。在基于会话的下一个查询推荐问题的背景下,He等人[42]因此使用可变顺序马尔可夫模型(VMMs,有时称为上下文树),它们使用依赖于上下文的顺序来捕获大和小的马尔可夫依赖性。在新闻推荐应用的背景下,Garcin等人[32]采用了不同的方法。他们为上下文树中的每个上下文(节点)分配一个预测器(专家),每个节点与马尔可夫模型的不同顺序相关联。然后,每个预测器被训练为基于用户最近的行为序列预测下一个要建议的文章。随着用户行为序列的增长,树中的更深节点变得活跃,并为最终推荐做出贡献。隐藏状态模型,特别是隐马尔可夫模型(HMM),解决了MC模型的一些局限性,并在[47]中应用于上下文。

总结

总结来说,文章主要讲了序列感知推荐系统(Sequence-Aware Recommender Systems)的研究和应用。文章首先介绍了推荐系统在实际中的应用背景,然后指出了传统推荐系统在处理用户行为序列信息方面的局限性。接着,文章详细讨论了序列感知推荐系统如何利用用户行为的序列信息来改进推荐质量,包括对用户短期兴趣和长期行为模式的考虑。

写在结尾

好了,今天的论文就读到这了,明天见!

标签:顺序,Recommender,Sequence,推荐,用户,模式,Aware,序列,感知
From: https://www.cnblogs.com/wephilos/p/18119946

相关文章

  • 读论文-新闻推荐系统:近期进展、挑战与机遇的评述(News recommender system_ a review
    前言今天读的论文为一篇于2022年发表在"人工智能评论"(ArtificialIntelligenceReview)的论文,文章主要强调了NRS面临的主要挑战,并从现有技术中确定了可能的解决方案。引用这篇论文:[1]Raza,Shaina,andChenDing."Newsrecommendersystem:areviewofrecentprogress,c......
  • py_trees Sequence节点参数: memory=True | False
    Python行为树py_trees的一种注意情况:memory=True|Falsepy_trees…composites.Sequence(name=“root”,memory=True)官方文档是这样写的Ifconfiguredwithmemoryandachildreturnedwithrunningontheprevioustick,itwillproceeddirectlytotherunn......
  • Scalable Multi-Hop Relational Reasoning for Knowledge-Aware Question Answering翻
    文章目录论文标题:用于知识感知问答的可扩展的多跳关系推理摘要1简介2问题表述和概述部分3背景:多关系图编码方法4拟议的方法:多跳图关系网络(MHGRN)4.1MHGRN:模型架构4.2结构化关系注意力4.3计算复杂度分析4.4MHGRN的表现力4.5学习、推断和路径解码5实验设置5.1从......
  • 【Kotlin】Sequence简介
    1前言​序列(Sequence)是Kotlin中为方便操作集合及其元素而定制的接口,是一个延迟获取数据的集合,只有需要元素时才会生产元素。在处理大量数据时,序列可以显著地提升性能。​Sequence类似Java中的Stream,详见→Stream总结。Sequence有中间操作和终端操作,如下。......
  • CF1817A Almost Increasing Subsequence 题解
    题面。2023.5.18修正关于前缀和数组的说法,与代码适配的思路。题意给定长度为\(n\)一个序列\(a\)以及\(q\)次询问,每次询问给出\(l\)和\(r\),要求找出序列\(a\)在\([l,r]\)内最长的几乎递增子序列。对于几乎递增的定义:如果一个序列中不存在连续的三个数\(x\),\(y\)......
  • CF1097H Mateusz and an Infinite Sequence
    这种模非常小的数意义下的递归结构的区间查询显然可以抽象为\(O(d\log_{d}V)\)次信息的合并,问题的关键在于如何快速的处理信息的合并。一个非常\(\text{trival}\)的想法是每次合并时直接计算跨过分界点的区间个数,但这个严格不弱于通配符匹配问题,直接使用卷积只能做到\(O(nm......
  • D. Inaccurate Subsequence Search
    原题链接题解明确每个变量的意义code#include<bits/stdc++.h>#definelllonglongusingnamespacestd;lla[200005];intmain(){llt;cin>>t;while(t--){map<ll,ll>b;//b[x]代表数组b中x的使用情况,大于0代表还有剩余,等于0代表刚好借满......
  • P4143PyramidSequences
    数学等价于在一个\(n\timesm\)的矩形中做弹球,问经过的整点个数\(t=gcd(n,m)\),将\(n,m\)分别除掉\(t\),得到\(n',m'\)此时会有\(n'm'\)条线段,每条线段经过\(t\)个整点,另外还有\(\lceil\frac{(n'+1)(m'+1)}{2}\rceil\)个交点所以最终答案为\[\lceil\frac{(n......
  • 不同于Oracle:SEQUENCE的区别
    不同于Oracle:SEQUENCE的区别前言在使用Oracle数据库SEQUENCE功能时,发现Oracle对边界处理比较奇怪。刚好GreatSQL也支持SEQUENCE,就拿来一起比较一下。先说结论:GreatSQL的使用基本和Oracle基本一致,但是对STARTWITH的边界限制有所不同。本次测试使用数据库的版本号#Oracle......
  • Farey Sequence
    多组测试数据,每组测试数据给你一个正整数\(n\),让你求满足\(\gcd(i,j)=1\)并且\(1\lei<j\len\)的数对个数。随便想一想,得出一个递推式:\(F_n=F_{n-1}+\varphi(n)\)。证明很简单:\(F_n\)是包含\(F_{n-1}\)的,多出来的部分就是小于\(n\)并且和\(n\)互质的数的个......