美文网首页
2019-04-01

2019-04-01

作者: T_129e | 来源:发表于2019-04-02 16:56 被阅读0次

    1.基于内容的推荐系统:

    推荐系统以个性化的方式指引用户在众多选择中找到感兴趣的东西。基于内容的推荐系统会发掘用户曾经喜欢的产品,从而尝试去推荐类似的产品使其满意。推荐算法把用户的兴趣作为输入来产生一个推荐列表。

    1.1基于内容的推荐系统的基础:通过分析一系列用户之前已评分物品的文档和描述,从而基于用户已评分对象的特征建立模型或个人信息。

    内容分析器:这个部件的主要功能就是将来自信息源的对象(如文档、网页、新闻、产品描述等)的内容表示成恰当的格式,以便于下一阶段的处理。

    信息学习器:这个模块收集了有关用户偏好的数据特征,并试图去泛化这些数据,从而构建用户特征信息。泛化策略通常是通过机器学习技术实现的,它可以从用户过去喜欢的或不喜欢的物品中推断出一个用户的兴趣模型。

    过滤组件:这个模块将用户个人信息和物品在表示空间进行匹配,利用用户个人信息来推荐相关物品。这个组件的结果是一个二元的或者是连续型的相关性判断(使用某种相似度来计算),后者能生成一个潜在感兴趣物品的排名清单。

    推荐步骤的第一个阶段是由内容分析器完成的,它将来自信息源的非结构化的文本抽取特征(如关键字等),从而得到结构化的物品描述,并储存在被标示物品库中。

    基于内容的推荐系统的现状:

    1.物品表示:

    推荐给用户的物品可以表示成一系列特征,也称为属性,例如,在一个电影推荐的应用中,描述一个电影的特征有演员、导演、类型、主题等。当每个物品由一系列相同的属性表示,并且知道这些属性所有可能的取值时,该物品就被表示成了结构化数据。在此情况下,许多机器学习的算法可以用来学习用户个人信息。

    1.1基于关键字向量空间模型:

    大多数基于内容的推荐系统使用相对简单的检索模型,例如,关键字匹配或者基于TF-IDF权重的向量空间模型(VSM)。向量空间模型是一个文本文档的空间表示方法。在该模型中,每个文档被表示成一个n维空间中的向量,每一维对应给定文档集合词汇表中的一个词。形式上每篇文档被表示成词权重的向量,其中权重表示这篇文档和该词的关联度。

    在向量空间模型中,文档表示有两个问题:为单词赋予权重和度量特征向量的相度。

    在一篇文档中频繁出现(TF=词频)但很少出现在语料库其他文档里(IDF=逆文档频率)的单词,与该文档主题的相关性可能很大。

    一个相似度的度量需要先确定两个文档的接近程度,许多相似度的度量都衍生于对两个向量的接近程度的度量,在这些度量中,余弦相似度被广泛应用。

    在依赖于向量空间模型的基于内容的推荐系统中,用户个人信息和物品都被表示成带权重的词向量。预测用户对一个特定物品的兴趣可以通过计算余弦相似度得到。

    2.学习用户特征的方法:

    通常用于推导基于内容的用户个人信息的机器学习技术也会非常适合用于文本分类。在用来文本分类的机器学习方法中,推导过程通常从一个训练文档集合(文档已经被标记为它们所属的分类)中的学习类别的特征,自动建立一个文本分类器。

    学习用户特征的问题可以转换为一个二元文本分类任务:每一个文档都根据用户的偏好被分类成感兴趣的或不感兴趣的。

    下面将回顾基于内容的推荐系统中使用最多的学习算法,它们能够学习一个能对每个用户的兴趣建模的函数。这些方法通常要求用户赋给文档一个相关的分数来标记文档,自动推断出用户的个人信息,并用于过滤过程根据用户的偏好对文档排序。

    (1)概率方法和朴素贝叶斯

    有两个被普遍使用的朴素贝叶斯分类模型:多元伯努利事件模型和多项式事件模型两个模型都将文档看作一个在语料库词汇表V上的向量值,向量中每个实体表示它在这个文档中是否出现,因此模型都损失了关于词顺序的信息,多元伯努利事件模型将每个词编码为一个二元属性,即一个词出现或没出现,而多项式事件模型计算一个词在一个文档中出现的次数。

    (2)相关反馈和Rocchio算法

    相关反馈是一个信息检索中应用的技术,它帮助用户逐步完善基于之间搜索结果的查询,它是由用户根据所需信息检索都的相关文档,给出的进一步的用户反馈组成的。基本的原则是允许用户给推荐系统根据用户根据的信息需求推荐的文本打分。这种形式的反馈随后被用来逐步改善用户特征,或者为训练将用户个人作为分类器的学习算法所使用。

    向量的每个成分对应着文档的一项,比较典型的是一个词,而每个成分的权重使用TF-IDF计算得到。在类别集合C中,对每个类,通过合并文档向量(正例和负例样本)得到每个类的原型向量来完成学习过程。对新文档d分类,计算文档d表示的向量与每个类的原型向量的相似度,然后把d分配给与原型相似度最高的类。

    2.1用在基于内容的推荐系统中还有其他的学习算法

    在决策树里,所有内部节点用词来标记,从它们出发的分支被标记为对测试文档中词的权重的测算,叶子节点用类别标记。决策树的学习是通过递归的分割训练数据(即文本文档)为子数据集,直到这些子数据集仅包含一个类别为止,数据分割是把文档所含将要标记的词作为内部节点,在其上做权重计算的测算得到的。选择哪个词作为分割的操作,普遍采用的是信息增益或信息熵。

    现有研究中已经在基于内容的推荐系统中引入了几种用户打标签的方法:

    用户个人信息以标签向量的形式展示,每一个元素表示一种标签被用户赋值给文档的次数值。一种电影推荐系统,纯粹建立在采用协同标注方法赋给电影的关键字上。对于活跃用户,推荐系统的算法是基于电影的相似性来计算的,即计算其他电影和用户评价过的电影之间的标签相似性。

    有几种不同的策略来建立基于标签的用户个人信息,并利用它们来构造音乐推荐系统。基于标签的用户个人信息是由标签集合来定义的,这些标签被用户用来标注唱片,同时标签也带有相应的分数用以代表用户在这些标签上的兴趣程度,如根据标签的使用频率和听音乐的频率来标注。

    以上描述的方法中只有一组单一的热门标签来描述用户的兴趣,但这可能不是最适合的描述用户的方法,因为它不能反映用户的多种兴趣。因此有人提出了网络分析技术(基于聚类的方法),基于用户个性化标签来识别他们不同的兴趣。

    超越特化:惊喜度

    基于内容的推荐系统被说为过于特化,因为只推荐被用户评价过的相似物品。解决这一问题的可能方案是引入一些随机性。

    基于内容的推荐系统也不应该推荐和用户之前用过的物品太相似的物品,这时,基于内容的推荐系统会过滤掉这些物品。

    基于近邻推荐方法综述:

    该算法广泛用于协同推荐方法中。

    推荐方法概要

    基于内容的方法的大致规则是,通过用户已经评分的物品来确定这些物品的共同特点,并利用这些特点给该用户推荐也有这些特点的新物品。

    协同过滤方法可以克服基于内容方法的一些局限。例如,当物品的内容不完全或者难以获得的时候,依然可以通过其他用户的反馈来推荐给用户。另外,与基于内容方法不同的是,只要其他用户已经显示对这些不同物品的兴趣,那么协同过滤推荐方法可以推荐内容差异很大的物品。

    协同过滤方法大致可以分为两类:基于近邻方法和基于模型方法。即系统中的基于用户—物品(评分)可以直接用来对新物品评分。这种基于近邻的方法以通过两种著名的方法来实现,基于用户或基于物品的推荐。使用了基于用户算法推荐系统,评估用户u对物品i的感兴趣程度,是通过利用对该物品i已作评价并且和用户u有相似评价习惯的其他用户(也叫近邻)。用户u的近邻是指与用户u评价很一致的用户,如在用户v和用户u都评价的物品中,用户v和用户u评价非常一致。基于物品方法是基于用户u给相似于i的物品评分来预测用户u给物品i的评分。在这种方法里,相似物品是指被一些用户评价且具有相似特点的物品。

    基于近邻系统是在预测中直接使用已有数据预测,而基于模型的方法是使用这些评分来学习预测模型。主要思想是使用属性构建用户和物品之间关联,其属性代表在系统中用户和物品的潜在特征,如用户喜爱的类别和物品属于的类别。这种模型是通过数据进行训练的,然后为用户预测新的物品。

    2.基于近邻推荐

    基于近邻推荐系统是根据相同“口碑”的准则,即根据和用户自己兴趣相同的人或者根据其他可信源来评价一个物品(电影、书籍等)。

    2.1基于用户评分

    可以考虑使用k个和用户u兴趣相近且对物品i已做评分的用户代替原来的k近邻定义,然后预测评分就可以利用这些近邻对物品i的平均评分获得。但是一般情况下,每个用户的评分权重不一样,然后将权重标准化,使得权重之和为1.但要考虑到用户会使用不同的评分尺度来衡量他们对于相同喜欢程度的物品,为解决这一问题,需要将评分标准化。

    2.1基于用户分类

    前面所述的预测方法是通过对近邻用户评分进行加权平均的计算方法,本质上是在解决回归问题。另一方面,基于近邻的分类则是通过用户u的最近邻对于评分的投票,找出用户u对物品i最有可能的评分。用户u的k个最近邻对评分r的投票可以记为对物品i评分的所有近邻的相似度权重的总和。如果每个可能的评分值都计算过了,则只要找出最大的那个r就是预测出的评分值。

    2.2回归与分类

    选择基于近邻回归或者分类方法很大程度取决于系统的评分刻度类型。连续用回归,离散用分类。

    3.近邻方法的要素:

    可以看到,选择回归或者分类,以及选择基于用户还是基于物品的方法,都会对推荐系统的准确性、效率和整体质量产生重要影响,除了这些重要的属性,在推荐系统的实现中还有三个非常重要的因素需要考虑。

    3.1评分标准化:用均值中心化和Z-score标准化

    均值中心化只是减去用户对评价的所有物品的评分平均值。

    Z-score标准化:假设用户A的评分在1到5之间轮流选择,而B则都是3,如果用户B给物品评5分,这会比用户A给物品评5分更加意外,因此反映了用户B更加喜欢这个物品。均值中心化方法移除了针对平均评分的不同感受而导致的偏差,而Z-score标准化方法则还考虑了个人评分范围不同带来的差异性。基于用户方法中,标准化评分等于用户均值中心化评分除以用户评分标准差。基于物品方法是通过物品均值中心化评分除以物品评分的标准差。

    3.2相似度权重计算

    相似度权重在基于近邻的推荐方法中扮演双重角色:1.可以用于选择可信的近邻用于预测评分;2.给予不同近邻在预测中的权重。计算相似度权重是基于近邻推荐系统中最重要的一个方面,它可以直接影响准确性和性能。

    3.2.1基于关联的相似度

    在信息检索中经常这样计算对象a,b之间的相似度:首先将a和b表示成向量形式,然后计算两向量间的余弦相似度。

    在基于物品的推荐系统中,这种方法改为计算用户相似性,将用户u表示为一个向量,1表示平分了,0表示没有评分。

    一个常用的可以除去均值和方差间差异影响的方法是皮尔逊相似度,但这里的标准差仅考虑了用户评分交集的标准差,而不是全部。

    3.2.3其他的相似度权重计算方法

    (1)均方差是使用用户u和用户v对相同物品评分差的平方总和均值的倒数表示两个人的相似度。

    (2)另一种有名的相似度算法是斯皮尔曼等级关联,它考虑的是运用这些评分的排名。

    3.2.4关于差异的说明:

    两个用户对物品给出一致的喜欢或不喜欢评分,可能会不如他们给出差异较大的评分时提供更多的信息量。

    用户u和用户v之间的相似度可以估算为用户u和用户v有着相同评分的可能性。

    3.2.5近邻的选择

    近邻数量的选择和选择近邻规则对于推荐系统的质量会产生重要影响。选择用于推荐系统的近邻方法通常可以分为两步:1.用全局过滤步骤保持最有可能的近邻;2.在预测每一步中选择最合适的近邻作预测。

    3.2.5.1过滤预选近邻数

    在大型的推荐系统中可能会包含几百万条用户和物品信息,由于内存限制,它不太可能存储所有用户间和物品间的非零相似度。这样做也是极大浪费,因为只是一小部分有重要影响的值是用来预测的。这里有几种方法可以实现:

    Top-N过滤:对于每一个用户或者物品来说,列表中仅仅有N个近邻和对应的相似度权重是需要保留的。

    阈值过滤:与选择固定数量的近邻数目不同,这种方法保留所有相似度权重数大于给定的阈值的近邻。但这种方法的阈值的选择是比较困难的。

    负值过滤:通常负评分关联比正关联可靠性要差。

    3.2.5.2用于预测的近邻

    一旦每个用户或者物品的候选近邻列表被计算出来,对一个新的评分预测可以通过k近邻方法得到,k近邻就是相似度权重最大的k个近邻。如何选择k的值呢?

    5.基于近邻的方法是基于评分之间关联性的,,但它有两个重要的缺陷

    1.覆盖受限:由于计算两个用户间的相似性是基于他们对相同物品的评分,而且只有对相同物品进行了评分的用户可以作为近邻。而且,仅仅被近邻用户评价过的物品才会被推荐,推荐方法的覆盖将受到限制。

    2.对稀疏数据的敏感

    基于近邻推荐方法的准确性会受到缺少有效评分的限制。解决这类问题的一个常用方法是用默认的数据去填补缺失的评分,例如,评分范围的中值,或者用户、物品的平均评分。更加可靠的方法是用内容信息去填补缺失的评分。

    但这种方法用默认数据去填补缺失值数据会导致推荐的一些偏差,所以用降维的方法来解决上面的问题。

    降维方法:

    主要有两种降维方法可以用来改善推荐系统:1.对基于用户评分矩阵进行分解;2.对稀疏的相似矩阵进行分解

    6.基于图方法

    基于图方法是将数据用图的形式表示出来,在图中用户、物品或者两者都可以用点的形式表示,边表示用户和物品之间的交互或者相似性。可以给予边权重,表示对应的评分情况,有些模型的边上面的权重表示用户和商品关联的值。

    基于图方法的关联传递,可以通过两种方式来推荐物品。在第一种方法中,图中用户u对物品i的相近距离可以直接用于评估用户u对物品i的评分,通过这种思想,在系统中为用户推荐物品,可以通过找到用户u在图中最近的物品。另一方面,第二种方法将用户间或者物品间的相近距离看成他们之间的相似度权重,然后使用基于近邻的推荐方法。

    基于路径的相似度:

    在基于路径的相似度计算中,图中两个节点间的距离可以通过计算用连接两个节点的路径数目和这些路径长度所构造的函数来获得。

    相关文章

      网友评论

          本文标题:2019-04-01

          本文链接:https://www.haomeiwen.com/subject/ciavbqtx.html