个性化推荐技术综述杨莉云(广东商学院华商学院, 广州 511300)摘要: Internet 的发展在给用户带来丰富信息资源的同时也给用户快速找到自己需要的信息带来了很大的困难,用户迫切需要一种能够根据自身特点组织和调整信息的服务模式,个性化服务应运而生。
本文根据推荐原理的不同分别介绍了基于内容的推荐技术、协同过滤推荐技术、混合推荐技术及其它的推荐技术,分析各种技术的优缺点及适用条件,并对今后个性化推荐技术的研究热点和发展方向进行了展望。
关键词:推荐系统;基于内容的推荐;协同过滤;关联规则0 引言信息技术的发展和互联网的普及使用户更方便地接触到更多的信息,但用户在享受信息技术带来的便利的同时,也遇到了信息“过载”的问题,用户无法从海量的信息中提取自己所需要的信息。
一些搜索引擎通过用户输入关键字可以检索出相关内容,但由于缺乏用户兴趣的知识,会把所有与之相关的信息全部呈现给用户,不能过滤掉用户不感兴趣的信息。
也有一些电子商务网站会有“热点推荐”的功能,但是面向所有用户的非个性化推荐。
用户如何在一个网站上快速而有效地找到自己所需要的项目和信息?个性化推荐系统是解决这一问题的有效途径。
1基于内容的推荐基于内容的推荐起源于信息检索领域,它利用资源和用户兴趣的相似性来过滤信息。
首先分析项目的内容,根据用户评价过的项目建立用户的兴趣模型,即用户描述文件。
根据用户描述文件的不同又可以分为基于向量空间模型的推荐、基于关键词分类的推荐、基于领域分类的推荐和基于潜在语义索引的推荐。
1.1基于向量空间模型的的推荐基于向量空间模型的推荐是基于内容推荐的最常用的方法。
该方法将用户描述文件及项目表示成一个n 维特征向量)},),...(,(),,{(221,n n w t w t w t 。
向量的每一维由一个关键词及其权重组成。
权重可取布尔型和实数值,分别表示了用户是否对某个概念感兴趣及感兴趣的程度[1]。
关键词根据推荐项目的不同可以是项目不同的属性值,对文本项目来说,关键词就是从文档中抽取的单词,权重可以通过TF-IDF 技术计算得到。
对目标用户进行推荐时,将用户描述文件看成目标项目,可采用多种方式(如欧氏距离、余弦相似性、相关相似性等)计算其它项目与目标项目的相似性,按相似性从大到小的顺序将项目输出给用户。
1.2基于关键词分类的推荐Mooney 提出了基于文档特征词分类的预测思想:将推荐看成是项目分类问题。
首先定义一组类(评分),并让用户对一组训练项目进行评价,基于这个评价计算每个关键词属于某个类的条件概率,从而得出用户的特征描述。
然后根据这个特征描述计算推荐候选集中各个项目属于某个类的后验概率。
最后将这个后验概率作为项目的推荐预测并将具有最高得分的推荐提交给用户[2]。
用户的兴趣也是通过关键词来表达,与向量空间模型不同,用户描述文件用特征词-类别矩阵n m X ⨯来表示,m 是特征词个数,n 是类别数,每一个元素j i x ,表示第i 个特征词属于第j 类的条件概率)|(j i c a p ,项目通过特征词来表达,没有项目描述文件。
这种方法的假设条件是,所有的项目都可以通过特征词集合中的特征词来表达,每个特征词出现的概率依赖于项目类别而独立于其它特征词。
对给定的项目V ,每一个类别的后验概率可以通过如下的贝叶斯规则进行计算:∏==||1)|()()()|(I i j i j j c ap I p c p I c p其中i a 为项目的第i 个特征词,||I 是项目中特征词的数量。
前验概率)(I p 可以被忽略,因为对于任何一个给定的项目其是一个常量。
其中的参数按以下方式进行估算:目标用户对每一个训练项目item 都给予一个评价,于是先验概率)(j c p 可通过下式计算:||||||||1||)(Examples C Examples Examples item c p j j ++= 其中j item 表示被给予评价j r =的所有项目。
设Keywords 表示所有训练项目中的所有不同的特征词,||Examples 表示训练集中的项目数,对于每一个的类别j c ,n 表示所有属于该类的的训练项目中的不同特征词的总数,对Keywords 中的每一个特征词i a ,k n 表示该词语在所有属于该类别的训练项目中的次数,则条件概率)|(j i c a p 可以通过下式来计算:||||||1||)|(Examples Keywords n Examples n c a p k j i ++= 这些参数都通过Laplace 估算进行“平滑”以避免对没有出现在有限训练样本中的特征词的零概率估算。
文档分类完成后,根据后验概率最高的类目决定项目的预期评价。
岑咏华认为这种评价不科学,预期评价应该是所有类目后验概率的数学期望[3]。
最后,将预期评价较高的前K 个项目作为推荐呈现给用户。
作者简介:杨莉云,女,1984年生,汉族,河南驻马店人,讲师;主要研究方向:电子商务、管理信息系统。
1.3基于领域分类的推荐为了更好地区别用户兴趣之间的差异,曾春等提出了一种基于概率模型的文本推荐方法,把用户兴趣文件表示为用户对不同领域感兴趣的概率,先建立一个领域分类模型,然后计算所有文档和用户在这个分类模型上的概率分布,用该概率分布来表达文档和用户兴趣[4]。
假定领域类型的集合为},...,,{21n c c c C =,其中n 是领域个数,j c 表示第j 个领域,用户描述文件表示为一个条件概率的矢量:)}|(),...,|(),|({21u c p u c p u c p u n =,文档和用户兴趣的表达是一致的:)}|(),...,|(),|({21d c p d c p d c p d n =。
文档d 对领域j c 的后验概率为)()()|()|(d p c p c d p d c p j j j = 其中,∑==nj j j c p c d p d p 1)()|()(,文档集中全部文档数中的文档数j j c c p =)(假定文档的所有特征都独立出现,则)|(j c d p 可以表示为文档所有特征条件概率的乘积: ∏∈dt j j c t p c d p )|()|(=假定),(t c n j n(cj,t)表示特征t 在类j c 中出现的次数,)(j c n 为j c 中全部特征出现的次数之和,||v 表示文档集中全部不同特征的数目,根据Lidstome 连续定律,对一正数λ,)|(j c t p 的估计值为:||)(),()|(v c n t c n c t p j j j λλ++=最后计算文档d 推荐给用户u 的概率:∑=n j j j j c p d c p u c p u p d u p 1)()|()|()()|(==这种方法不仅可以体现用户兴趣的多样性,而且由于用户感兴趣领域的个数远小于关键词的个数,算法的运算速度也得到了提高。
基于向量空间模型的推荐和基于领域分类的推荐用户描述文件都用向量空间来表示,只是每一维的含义不同,计算方法也不同。
第二种方法的用户描述文件用关键词-类别矩阵来表示。
方法二和方法三在计算文档的类别时都用到了朴素贝叶斯规则。
虽然三种方法各不相同,但有一共同点:都直接或间接用关键词表达用户兴趣,由于同义词和多义词的存在,用关键词表达用户兴趣使得推荐结果难免有些偏颇。
潜在主义索引(Latent Semantic Indexing ,LSI )是基于向量空间模型的补充和扩展,最初应用于文本信息检索领域,有效地解决了同义词和多义词的问题[5]。
1.4潜在语义索引潜在语义索引(LSI )是一种概念检索方法,通过分析大量的文本集,自动生成关键字-概念,文档-概念之间的映射规则。
该方法试图解决单纯词形匹配方法中的同义词和多义词问题,应用该方法对英文文献进行检索的查准率比传统的词形匹配算法高出10%-30%[6]。
LSI 方法对索引项文档矩阵X 进行奇异值分解(Singular Value Decomposition,即SVD ),降维后的矩阵表达了索引项与文档之间的潜在主义关系。
在LSI 模型中,索引项和文档的关系由索引项-文档矩阵d t X ⨯来表示.其中矩阵d t X ⨯的行向量(d 维)表示t 个不同的索引项,列微量(t 维)表示文档集中d 个不同的文档。
矩阵中非0元素ij x 表示索引项i 在文档j 中出现的次数,通常用索引项加权的方法来表示。
对任意索引项-文档矩阵d t X ⨯都有T d t D S T X ⨯⨯=⨯。
其中T 由d t X ⨯的左奇异向量构成,D 由d t X ⨯的右奇异向量构成,),...,,(21d diag S σσσ=,且σ1≥ σ2≥…≥σd ≥0,i σ为矩阵d t X ⨯的奇异值。
取降维因子k ,令k 满足贡献率不等式:11k i d i aiai==∑∑≥θ,θ为包含原始信息的阈值。
贡献率不等式是参考因子分析的相应概念提出的用于衡量k 维空间因子对于整个空间的表示程度[7]。
k 值过小会使一些有用的信息丢失,k 过大则会使运算量加大,根据不同的文本集和处理要求,最佳的k 值也不尽相同。
SVD 降维后的d t X ⨯表示为d t X ⨯=k t T ⨯×k k S ⨯×d k T D ⨯。
k t T ⨯×k k S ⨯是k t ⨯阶矩阵,其t 个行向量分别对应t 个索引向量,将索引向量由d 维降为k 维;k d D ⨯×k k S ⨯是k d ⨯阶矩阵,其d 个行向量分别对应d 个文档向量,将文档向量由t 维降为k 维。
k 维中的每一维对应一个伪概念。
根据k d D ⨯×k k S ⨯矩阵,我们可以计算不同文档向量之间的相似性,找出目标文档的前N 个邻居列表,然后根据该列表中各用户感兴趣的比例确定该文档的接收对象。
基于内容的推荐优点是直接、简单,推荐结果易于解释。
但也有一定的局限:①仅适用于产品特征容易抽取的领域,在另外一些领域如电影、音乐、餐厅等项目特征不易被一组关键词来清晰描述时,基于内容的推荐就显得无能为力,即便是在文档领域,关键词也仅反映了文档内容的一部分,一般情况下还会有其它一些因素影响用户的评价,如文档的质量,下载所需时间,视觉效果(有无图像等)。
所以不能从用户的评价中准确得到用户的兴趣信息。
②只能推荐与用户已有偏好相似的项目,不能为用户发现新的感兴趣项目。
2.协同过滤推荐目前研究最多也是应用最成熟的个性化推荐技术,是与基于内容的推荐完全不同的一种推荐方法,不是推荐与用户过去偏好相似的项目,而是根据其他用户的偏好信息产生推荐。
通过分析用户评价信息(评分)把有相似需求或品味的用户联系起来,用户之间共享对项目的观点和评价,这样就可以更好地做出选择。