推荐系统综述

您所在的位置:网站首页 推荐系统的弊端在哪 推荐系统综述

推荐系统综述

2024-07-07 12:59| 来源: 网络整理| 查看: 265

     1.推荐知识库

    基于约束推荐的推荐知识库包含两个不同模块,一个是变量集合模块,一个是约束条件模块。其中变量集合描述用户需求,

描述物品属性;约束条件其中,CR是一致性约束,限定了用户属性的可能实例,比如短期投资与高风险投资相悖。CF是过滤条件,定义在什么条件下该选择什么产品,相当于定义了用户请求和物品属性间的关系。是产品约束条件,限定产品属性的实例化。

    2.过约束处理

   在基于约束的推荐系统中,物品集中可能不存在任何物品满足所有的约束条件,这样造成的结果是系统不会推荐任何物品。造成这样的原因可能是约束条件

冲突[10],或者系统本身不存在满足约束的物品。通常来说,推荐系统提供的推荐结果是空集会影响用户的体验,所以应该避免。文献[11]提出了不同的方法,但根本目标都是确认放宽原始限制集合,也就是逐渐放宽推荐问题的限制,直到找到解决方案。

   最直接的方法是采用简单的子集搜索找到原始约束的一个最大子集。尽管这种方法看上去可行,但是考虑计算有效性,对于任何一个包含n个限制的限制库,它可能的子集就有2n个,这在一个同时要为大量用户服务的实际推荐系统中来说是不实际的。针对此,国内外学者提出了其他更加有效的方法[12,13]。文献[12]不仅支持线性时间最小放宽计算,而且能够保证推荐物品的数量。文献[12]提出了一种基于人工定义特征层次的放宽方法。采用冲突检测的方法提出了能够交互且增量询问放宽的面向冲突的算法。

   3.欠约束处理

   如果约束条件不严格,可能导致在结果集中有太多满足的物品,这称之为欠约束问题。为了处理欠约束问题,文献[13]提出了一种互动询问管理方法,尽管目标是针对基于案例推理推荐算法,但同样适用于基于约束的推荐。该方法将一个询问和它的结果集作为输入,选择三个呈现给用户的特征作为建议来精炼询问。文献[14]定义了不同的特征选择方法,方法考虑了一个特征流行度的概率模型。

 2.3.2 基于案例推理的推荐

   案例推理是一种重要的基于知识的问题求解和学习方法。通过重新使用案例中特定的过去经验来尝试解决新问题,是一个循环和集成的问题解决过程。一个案例对过去的经历建模,保存问题描述以及相应的解。所有的案例保存在案例库中。当一个系统需要解决一个新问题时,它会在案例库中搜寻最相似的案例并重新使用检索出的解的一种修正版本来解决新问题。

   案例推理一般包含四个步骤:检索,重用,适应以及保留。适应过程又可以分为两个子步骤:修订和复审。在修订阶段,系统采用解来适应新问题的特定限定。而在复审阶段,通过应用到新问题来评估构建的解,明白什么地方失败以及做一些有必要的改正。图2.4给出了案例推理的一个基本框架[15]

                                                                                              

图2.4 基于案例推理的推荐系统

    基于案例推理的推荐其实就是一个案例推理问题。下面分别说明基于案例推理的推荐系统的几个重要模块。

 

    1.案例模型

    案例保存在案例库中,当获知用户请求后,推荐系统会根据用户的请求从案例库中抽取相似的案例。为了方便比较不同的基于案例推理的推荐系统,文献[16]提出了一种案例库的表示方式:

                                                                                                                     

    其中,X是产品内容模型,U是用户模型,S是会话模型,E是评估模型。也就是说,一个案例c={x,u,s,e},其中x,u,s,e是X,U,S,E空间下相应的实体。下面分别介绍这四个模型。

   内容模型(X):通常采用一个特征向量来描述产品。

   用户模型(U):包含用户私有信息,比如性别,年龄,职业等以及用户过去的记录,比如喜欢的物品。很少基于案例推理的推荐系统利用这一模块。

   会话模型(S):收集关于特定的推荐会话的信息。

   评估模型(E):描述推荐的结果,也就是判断推荐是否合适。

 事实上,有很多的系统只包括内容模块,这时候案例就代表一个产品;还有些系统可能仅包含会话模型。

   2.系统与用户之间的交互

       在推荐系统中目标描述指的用户的请求的具体描述,比如“买一台笔记本,价格不高于5000元,屏幕尺寸为15.6”。获知用户请求的具体描述后,推荐系统要从案例库中抽出相似的案例来满足用户。系统与用户的交互通常有两种方式:一种是单次交互,也就是被动地基于用户初始的请求来推荐物品。比如AnalogDevices OpAmp[18]、DubLet[10]。这种方式的缺点非常的明显:首先,对于某些产品,用户可能缺少相关的领域知识,初始很难提供正确的请求;其次,用户的初始请求通常是模糊的,随着系统提供的推荐物品,用户可能会更加明确自己的请求,这时候可能需要修改自己的请求;最后,基于用户初始请求的推荐列表长度可能为零,也就是在案例库中没有满足的案例,单次的交互方式只能够让用户修正自己的请求,系统重新开始推荐。另一种方式是会话式交互。这种方式让用户以一种可扩展性的、互动对话的方式来提供更多详细的请求以改进推荐。由于这种方式具有明显的优势,所以大多数基于案例推理的推荐系统都采用这种方式。

   用户与系统的会话式交互又可以分为两种形式:询问式导航和提议式导航。

询问式导航通过询问来获取用户的请求,以此缩小推荐的范围直到最后只剩下少量物品。关于这种类型的推荐的研究有:文献[19]通过评价不同的问题选择标准研究会话中如何考虑会话中需要问的问题,问题的数量以及询问顺序,同时给出了一种基于熵的方式来评估给定特征的信息增益;文献[20]提出了一种叫做simVar的方法,方法考虑了给定特征对于案例库中案例相似性的影响,选择询问和那些对于案例相似性有最大影响的特征相关的问题;Adaptive Place Advisor[21]利用了询问式导航,能够帮助用户选择目的地。

   提议式导航最大的特点是在每一轮推荐中向用户呈现不止一种推荐选择,邀请用户对这些选择提供反馈。用户提供的反馈主要有两种[17]:基于评分的反馈;基于评论的反馈。

   3.相似度计算

   相似度用来描述物品与用户需求间的匹配程度。已知用户的需求,需求q的权重Wq,物品i,物品相应需求q的属性值

表示物品和用户需求在需求q上的匹配程度,文献[22]提出了一种计算物品p和用户需求Uq的相似度方法:

                                                                                             

在实际的很多电子商务领域中,存在很多用户希望最大化的属性,比如电脑处理器的速度,这种属性称之为“越多越好”(MIB,More Is Better);也会有用户喜欢最小化的属性,比如电脑的价格,这种属性称之为“越少越好”(LIB,Less Is Better);除此之外,用户对某些属性可能有一个理想偏好值,物品的该属性越接近这一偏好值越好,我们称这样的属性为“越近越好”(NIB,Nearer Is Better)。公式(1)、(2)、(3)分别给出了关于这三种属性的局部相似度计算方法[23]:

                         (1)

                       (2)

                        (3)

其中max(q)和min(q)为案例库中属性q的最大值和最小值。

2.4 基于标签的推荐算法

   推荐系统的目的是帮助用户找到他感兴趣物品,这通常需要间接通过不同的媒介来实现。文献[24]表示目前流行的推荐系统基本可以通过3种不同的方式联系用户和感兴趣的物品。如图2.5[25]所示,第一种方式是利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品,这是基于内容的推荐方法。第二种是利用和用户兴趣相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品,这是协同过滤方法。除了这两种方法,第三种重要的方式是通过一些特征联系用户和物品,给用户推荐具有用户喜欢的特征的物品。这里的特征有不同的表现方式,比如可以表现为物品的属性集合,也可以表现为隐语义向量,这可以通过前面提出的隐语义模型学习得到。如果用标签来表示特征的话,将得到基于标签的推荐方法。

          

                   图2.5 推荐系统联系用户和物品的途径[25]

1.标签系统的方式

一般来说,一个标签推荐系统包含三个不同的元素:用户、物品和标签。同时可以有两种考虑它的方式:(1)三个集合,分别是:用户-{U1,U2,...,Un};物品-{I1,I2,...,Im};标签-{T1,T2,...,Tr}。这样,每一个二元关系——用户-物品,用户-标签,物品-标签——分别可以用邻接矩阵表示.如果相应的用户选择了物品,或者选择了某个标签,或者某个物品分配到了某个标签,就会把相应矩阵中相应的项的值设置为1,否则为0;(2)一个三元或者基于超图的结构。也就是说,只有完整的三元关系才将它看作一条真实存在的边。

2.分类

文献[26]将目前存在的基于标签的算法分为三类:

1)基于主题的方法。通过使用诸如pLSA和LDA的基于概率的方法从用户或者物品空间中有效的标签中抽取潜在的话题,继而通过使用基于概率的模型来产生推荐。目前该方法广泛的用来推荐物品和标签,在文献[27]中,作者提出了一

个基于pLSA的混合方法,结合用户-物品和物品-标签的共同出现来提供一个更好的物品推荐。

2)基于网络的方法。使用基于图论的方法(例如ProbS[28]),在用户-物品-标签的三元网络中将标签作为节点,继而应用一个扩散过程去产生推荐[29]。最终每个物品会获得两个值(来自两个扩散过程),利用得到最终的值,然后按值的大小给目标用户推荐物品。具体见参考文献[29].

3)基于张量的方法。使用张量分解将三元关系减少成低阶特征矩阵,减轻在大数据集中的稀疏性问题,最终提供个性化的推荐。具体参考文献[26]。

2.5 混合推荐算法

        前面介绍的各种推荐方法都在一定程度上实现了个性化的推荐。但一方面,由于各自的缺陷受限于特定的应用场景;比如协同过滤存在冷启动和数据稀疏的问题,当数据评分稀疏时效果不好;基于内容的推荐,要获取物品的内容属性,在音乐,电影等属性不好抽取的物品上会遇到困难;基于知识的推荐要面对知识的获取和管理问题;而基于标签的方法会碰到标签的多义及同义分析问题等等。另一方面,系统中可能存在一些可以被一类推荐算法或多类算法使用的信息源。比如一个系统可能既包含评分数据,又包含可以方便抽取的物品内容属性。类似情况随着大数据时代的来临越来越容易出现。基于以上两点,越来越多的研究开始关注混合推荐系统,实现结合不同系统的优点,同时又能克服各自的缺点。比如,Netflix Prize竞赛中很多团队提出的推荐算法都是不同算法的混合。文献[2,30]总结出了混合的不同种策略。

      文献[2]仅仅讨论了协同过滤和基于内容的混合方案,包括以下四种策略:

    1)分别执行协同过滤和基于内容的推荐方法,然后合并预测结果。

    2)在协同过滤方法中融入某些基于内容的特性;

    3)在基于内容的方法中融入某些协同过滤的特性。

    4)建立一个同时包含基于内容和协同过滤特性的整体模型。

       文献[30]针对5种推荐算法(协同过滤、基于内容、基于知识、基于效用和基于人口统计属性)总结了七种不同混合策略:加权、切换、混合/交叉、特征组合、串联/层叠、特征补充、元级。

    1)加权:加权混合方法首先分别先出候选物品,然后通过交集和并集的方式得到最终候选物品集。在此基础上,不同的推荐方法分开计算每个候选物品的评分,然后通过加权所有评分得到物品的最终评分。加权混合明显的好处是通过简单的加权结合了不同推荐方法的推荐能力。但是,如果结合的推荐方法“推荐方向”不一致,反而可能影响了推荐效果。比如,协同过滤对于物品评分稀疏的推荐效果很差,那么本来采用基于内容的推荐能够实现对这些物品准确推荐的结果由于和协同过滤混合而受影响。

    2)切换:通过基于某种标准,在不同的推荐算法之间切换。这种混合方法基于思路是:没有哪种推荐算法在任何情况下都会表现很好。比如系统构建初期,评分非常稀疏,基于内容和协同过滤算法可能都不适应,然而基于知识的推荐算法不受评分稀疏影响,可以采用。当评分不在稀疏的时候,切换混合可以从基于知识的推荐中切换到协同过滤。切换混合面临的最大困难在于如何选择一个准确的切换标准。

   3)交叉/混合:直接将各种推荐算法得到的推荐组合在一起展示给用户。该方法非常简单、直接,但同样存在如何对这些推荐排序的问题。

   4)特征组合:从不同的知识源获取特征然后提供给单个算法。与前面说的几种混合最大的不同是,特征组合的推荐系统中只存在一个推荐模块。

   5)串联/层叠:该混合策略是一种严格的分层混合,通常包含一个弱推荐算法和强推荐算法,预测主要由强推荐算法实现,弱推荐算法只在此基础上做点修善工作。

   6)特征补充:使用一种技术从某个信息源中得到特征,进而将得到的特征作为另一种推荐技术输入的一部分。该混合策略的一大好处是,特征补充可以在线下处理。

   7)元级/分层:使用一种技术来产生某类模型,进而将获得的模型作为下一种技术的输入。元级混合和特征补充的区别在于,前者是将模型作为输入,而后者是将特征作为下一种技术的输入。然而,并不是任何推荐方法都能够产生适合输入其他方法的模型。

关于这七种策略更具体的说明可以参考文献[30],文献[31]按照基本的设计思路,将这七种混合策略整理成了三类:

    1.整体式混合设计;只包含一个推荐单元,通过对多个知识源预处理和组合来实现将不同的方法组合到一起,如图2.6所示。

    2.并行式混合设计,通过利用一种混合机制将多种推荐系统的推荐结果整合到一起,如图2.7所示。

    

   3.流线型混合设计。将整个推荐系统分成多个阶段,多种技术顺序执行,处在前面的推荐技术的输出作为后一种推荐技术的输入。如图2.8所示:

                     


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3