00825284.pdf
提出了Takealook这个系统
Open Sesame,HOMR是音乐的推荐系统
使用提问和回答的交互来更新用户的兴趣
与传统的CF不同之处在于采用基于内容的分析处理用户的回答,将用户的回答使用基于语义的方式产生联系。
如果A和B是用户X,Y分别喜欢说的,而AB的语义相似,那么XY兴趣也就相似
00885805.pdf
提出了一个“Nakif”系统,混合基于内容和协作的过滤
Wi,jk表示用户i对用户j对关键词k的看法是否可靠,在启动的时候Wi,jk=Vi,k表示不考虑j的看法,只考虑i对k的看法
给出了一个Wi的更新方法
THINK:可能数据更稀疏
00926594.pdf
使用P2P的评价系统,在一个group中用户需要进行评价,否则表示对这个group不感兴趣,将离开这个组
使用了社会交换理论(Social Exchange Theory)
00926699.pdf
Pearson公式和推荐分数公式的基本形式
为了解决数据系数问题,有的系统集中在某一个文档集中,有点系统要求有更多的用户评价
前者的方法有:Partitioning(Knowledge pump,GroupLens),Hybird Systems(学习用户反馈的语言习惯,GroupLens中Filterbots可以判断用户的习惯,如喜欢的文档长度、语言的精确度和回答的次数等)
后者的方法有:Better ranking when doing searches、Market model、Personal storage of information(书签等)
文章中制作了一个打印的程序,让用户在上面设置打印的页面设置,可以得到用户的喜好从而进行推荐
00931866.pdf
合并基于内容和协作的过滤,简单的加入了Cookie记录用户的clickstream,合并算法也很简单
THINK:大部分过滤是使用基于内容和协作的混合过滤,应用在电子商务上,我的重点是放在文档上,配合一定的文本分析
00931977.pdf
Java Expert System Shell
~~~~~~~~~~~~~~~~~~~~~~~~
基于规则(知识表示)的方法进行处理
00933901.pdf
协作过滤的应用领域有:targeted advertising,product or content recommendations, and user community services.
有个性的Web应用有三种类型:rule-based systems(BroadVision), collaborative filtering systems and content-based systems
基于规则的系统当数据变大时将很难继续,基于内容的系统比较直接和简单,但是没有考虑用户之间的相似度,基于协作的比较有效,但是经常得不到有效的用户兴趣相关数据
给出了一个分类算法
本文重点在如何离线分析用户的log文件,然后进行文档的分析,并最终将用户进行分类
00943105.pdf
使用最大熵进行CF
最大熵比较适合离线学习,而CF主要应用于在线,所以作者进行了分析
Fi表示一个特定的产品或站点,Ai表示选择这个产品的分值(选,不选,不知道),
N产品的数目
f表示一个实际的用户,f1~fN表示对产品的分别的兴趣
解决CF问题的方法有三种:基于memory,基于classification,统计模型
基于记忆:从已有的数据和新的数据一一比对,寻找比较合适的,类似于Knn,问题是当数据增大时性能下降很快
基于分类:使用SVM,对每个特征Fi都要建立一个SVM并进行训练;由于稀疏关系,在训练前需要用启发式进行数据的填充;而且新的例子也需要进行填充;离线训练的维度随N的平方增长,需要使用SVD进行将维。
基于统计:介绍了简单贝叶斯方法、Latent Variable 模型
介绍ME,由于ME需要大量的参数进行计算和迭代计算,所以可能需要几个小时甚至几天的时间进行计算;但虽然总的特征N很大,但已知的特征L却很小,所以可以在线进行计算
如果已知的特征L增大,那么SVM的性能将提高
给出了各个模型在时间上的消耗,第八页
ME只需要考虑L特征,和限制条件的多少
00953076.pdf
使用倒词频、熵、互信息取得特征的权重
本文给出了一个推荐的公式计算,Pa,j;pearson公式表示为w(a,j)
基于记忆的计算w虽然比较迅速反应当前信息,当如果数据量变大那么将很难计算
基于模型的虽然要离线计算,且比较慢,但是一旦建立起模型,那么下次使用就很快;适用于用户兴趣变化慢的场合
本文集中在基于记忆的算法
在Pearson公式中加入权重,表示产品的重要度(怪怪的公式,P公式用于计算用户和产品的兴趣度???)
01004361.pdf
以往的CF系统范围太小,都是同类型的社区,如果需要找别的类型的文档或东西需要去别的社区
提出用户之间应该建立联系,在基于P2P的环境里面进行推荐;各个推荐社区也需要进行用户信息的交流
是P2P,但着重在如何进行客户之间的安全交流设置。
01009143.pdf
给出了一个比较标准的预测公式和Pearson公式
01134360.pdf
个性网站的三种方法(前面提到过):基于Rule的缺陷:用户不知道他们感兴趣的是什么,而且无法进行描述;基于内容的判断标准是用户以前所喜欢的东西所寻找的类似程度;对于新的东西,CF方法问题在于没人见过和使用过而无法推荐,基于内容的方法可能也无法进行判断,在这个方面本文提出了要考察网页之间的联系(Web Mining)
01167344.pdf
来自amazon的文章
电子商务推荐系统的挑战:一个零售商的客户有很多,上千万个客户,上百万的分类;实时性,半秒内;新用户的信息很少;老用户则充斥着许多信息,包括购买和rating信息;用户的兴趣是不稳定的,需要及时对这些变化作出反应。
解决推荐的方法(2003年的新方法):传统的CF,cluster models,search-based methods
本文提出了新的item-to-item的cf方法,与用户、产品的大小无关
一般的CF的步骤是:找到购买和Rate相似的用户集合,然后将没买的产品推荐给用户。CF,CM
search-based methods 和本文的方法是寻找相似的产品集合,然后在进行推荐
THINK:用户自己维护的类别可以把里面的文档与预设的特征量等找相似度,判断用户的类别与默认的类别的相似度,从而可以得出用户文档的所属类别的概率
传统的CF的用户数M和产品数N可能很大,造成用户-产品的Vector很大,那么可以通过如下方法缩小:去掉很少买东西的用户(如果需要判断的用户买的东西就很少那么可能找不到相似的用户)、去掉很流行和很不流行的产品(那么这些产品将不再出现在推荐列表中),对产品进行分类(使推荐局限在指定的类中),对用户分类。但同时也下降了性能
Cluster Models:将用户使用聚类或分类到各个segments中,在判断时对user找到相似数最多的那个segment,从而进行推荐。由于在大空间中进行聚类很难,所以许多系统使用人工人类或一些贪心算法。由于CM只是比较User和segments之间的相似度,所以性能比CF高(需要User和User之间进行一一比较)。聚类是离线计算的。但是性能不高,因为找到一个相似的segment后,只是在这个seg中找相似的用户,而不能代表整个用户群;解决方法是使用许多finegrained segments(增加seg数量),但是这样计算量就于CF类似
Search(Content)-Based Methods:对用户以前的购买记录和评价生成一个Query,去寻找合适的或同类型的产品,比如他买过《教父》那么会将其他的犯罪片子推荐给他。在用户购买的东西很少时这个方法比较有效。如果用户买的东西很多那么就很难计算了,因为结果可能是很通俗的(比如卖的最好的犯罪片子),或者太偏(同个作者的所有书籍),本来需要推荐的是最新的书籍或产品但却很难达到。
Amazon.com的做法:对用户在购物车(cart)里面的书籍找类似或者最有可能买的其他书籍,并列出来。
Item-to-Item CF:对用户已买的东西寻找类似或相关的东西,加入推荐列表。给出了算法