2005年4月4日


终于找到一个运行比较正常的代码了,JIM,还是不错的
myJxta在连接Peer时验证会使机器CPU100%,真是怪
posted @ 2005-04-23 10:34 Betop 阅读(308) | 评论 (0)编辑 收藏
 
实在是累啊
一天多出半个小时看片,^_^
posted @ 2005-04-12 10:13 Betop 阅读(192) | 评论 (0)编辑 收藏
 

01174587.pdf
在CF中考虑用户的倾向时考虑了整体社会的规范,因为用户通常都是从众的
本文研究的是:可能不能很好的满足用户的需要,但用户有时候需要的是最新的新闻和信息等,提出了一个想法与其他的个性技术进行比较。
Information Overload:多个含义These general informational characteristics include concepts such as complex, random, intense, jarring, heterogeneous, dissonant, intermittent, rare, novel, surprising, meaningless, asymmetrical, close, crowded, or dense

01204292.pdf
基于多agent的系统
用户的分组由用户自己解决,所以可以不用考虑用户的group问题
用户对文档的注释表示用户对类似的文档感兴趣,所以用户本身就是一个评价算法。这里的注释表示对文档的Vote,喜欢或是不喜欢

对于一篇文档,先给group中的一部分人看,如果被接受那么就发送给group中的其他人,并继续接受反馈
User agent的设置包括:有多少人对文档进行评价,要从怎样的置信度上接受他们的评价;初始的判定准则的指定,即如何判断一篇文档是否符合社区和用户(一般可以使用KNN判断与社区、用户的profile的兴趣度高不高);判断用户评价的准则的指定,需要判断是否继续分发文档(默认就是用户的评价是正的还是负的);如果用户忽略文档如何处理的准则(默认是用户不感兴趣)

THINK:用户的隐私,可能有的文档不希望给别人看

一些问题:有的用户不确定是否要共享自己的文档,但希望和别人一起对文档进行评价;有些只希望接收文档而不愿意进行评价;还有的人只会给别人发一些别人不愿意看的东西,比如广告等。

解决的方法是对社区和用户进行分类:
用户分类:annoying user:建议、文档经常不被人接受;passive user:不评价文档,但对提供的文档还是看的;active user:参加评价的工作流,积极的浏览者,对一篇文档给出建议,对社区的积极建议者
社区分类:社区里面都是active suggestor和active reviewer,这样文档就能被充分的浏览并给予评价;社区里面有上面两者还有passive user,如果passive user的百分比超过active reviewer,那么很多文档将不被评价,无法正确作出预测,所以需要overload active reviewer。

社区中:如果一个用户得到系统负的评价,那么很有可能被踢出社区(包括很长一段时间不review文档,即不给出评价,那么被认为是一个passive user,给出一个负的评价;还包括对社区大部分接受的文档持否定的评价;对社区排除的文档持肯定的评价)

社区对用户的踢出应该是透明的
对于一个新用户,社区使用数据挖掘工具判断他的profile与社区里面的大部分成员是否相似,以决定是否可以将其进行吸收。

reviewer的选择:1、用系统管理员;2、社区内了解主题内容的人;3、大家进行投票表决

01222119.pdf
在手机铃声的推荐系统里面采用基于记忆的CF
太过简单,几乎没有考虑数据膨胀、数据稀疏等问题

01236281.pdf
试图要解决数据稀疏和数据膨胀问题,再看看

使用对Items使用K-means进行分类,并用二分树进行表示,之后的预测就在一个相对小型的数据库里面搜索和预测,可以比一般的CF提高精确度(我觉得应该和SVD等方法进行一些比较)

为了解决数据膨胀问题,有两类方法:下降维度(dimension reduction)、半自动过滤agent(semi-intelligent filtering agent)
本文的数据觉得有问题,不可能比简单的基于Item的算法错误率更低,因为本文的方法进行了预先Items的分类,之后的预测的范围就小了很多,由部分Item可能会漏过。

0222_Huang2.pdf
似乎是不错的文章,比较了多个常用的CF算法
举出了常见的CF的站点
列出了五个提供CF技术的公司:Net Perceptions, Epiphany, Art Technology Group, BroadVision, and Blue Martini Software.

CF在电子商务方面主要需要的是下列三种类型的数据:产品的信息、用户的信息、用户和产品之间的信息(rate,buy,浏览等)
主要是需要高质量的用户与产品的关系的信息,但是很难得到
最简单的推荐就是推荐最流行的产品

CF中的一些问题:用户和产品的关系通常有很多,但是最后的推荐值可能只有两值:推荐或不推荐,这个问题可以通过整合这些统计量来解决;在现有的多种算法如果要进行合并,一个完整的比较是十分必要的,而以为的论文都只和有限的几种方法进行比较;最后一个问题就是历时已久的数据稀疏问题,这在很大程度上导致用户之间相似度判断的不可信,和最后推荐结果的不可信。

本文有两个事:评价各个算法,以及各个算法在数据稀疏上效能

给出了六个常用的算法,以及本文自己提供的算法
User-Based、Item-Based、Dimensionality Reduction(使用SVD分解)、Generative Model(对用户判断其分类,然后集中在分类中计算对产品的购买率)、Spreading Activation、Link Analysis(本文的算法)

给出了一些比较常用的评测公式!

直接把Rating的分值当作购买,记为1,如果分值为0或负数,表示没有购买
取与产品有交互数为5~100之间的用户作为测试集

THINK:考虑随时间推移的兴趣度的度量,初步想法(兴趣度或者rating应该随着时间和看的书而慢慢的下降)

这里面的评测分都很低,低于1%
有大量的评测值!

posted @ 2005-04-11 20:09 Betop 阅读(449) | 评论 (1)编辑 收藏
 

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:对用户已买的东西寻找类似或相关的东西,加入推荐列表。给出了算法

posted @ 2005-04-11 20:06 Betop 阅读(277) | 评论 (0)编辑 收藏
 

冷启动(cold start)问题
vote需要等待所有人,比较慢,同时打击先vote的人的积极性,因为看不到结果
对提交文档的鼓励措施
创建profile的困难
告诉朋友有意思的文件(active)

title,date,name of db,name of sender,comments by sender

In a rough survey we found that people in a workgroup of 10 people received 5-10 pointers per week. Approximately 80% of those pointers were sent out by just one person. That person thus serves a similar role to the "information mediator" we identified in

我想在隐含参数里面可以加入平均阅读时间(阅读快慢)和平均阅读量(阅读数量占总量的多少)

cf系统的要点:ease of use, contextual information(Package contextual information with hypertext links.
Existing methods for sharing references to on-line
documents are often limited to just the hypertext link,
perhaps with a few comments. Yet additional contextual
information about the name or location of the source, the
date of the document as well as knowledge of the sender's
selection biases can be used to judge the relevance of a
document prior to reading it.), flexibility


p77-konstan.pdf

怎样将CF系统整合进现有的信息系统中?
有的信息系统的新闻是很短暂的,没有一个中央存储器(???)
稀疏数据、当用户数增加时的措施

Maltz只是简单计算平均的评价,可以获得比较高的预测

usenet运行于各个操作系统,而vote和rate在各个系统之间并没有统一的标准

需要按时间先后顺序,最好先读最新的(新闻最好先新的)

THINK:最好对文章进行一下分类,各种类别的策略都有些不同

对新的文档的内容需要作出判断
对新的文档产生的预测要及时,否则可能太迟了

三个进程:prediction、rating、correlation(24小时更新一次)

THINK:对于稀疏,考虑两个人评价的文章的相似度

grouplens解决稀疏的方法:将文章按照新闻组进行分类、将用户按新闻组分类

THINK:如果用户读过该文章,那么就算感兴趣也不会再读,(考虑和已有的文章取相似度)

使用一个filter-bot模拟人进行rate,然后看哪个用户和它类似

把服务器按新闻组进行分类可以提高性能,按用户分类

将多个用户进行聚类(非层级)到prototype(原型)用户,相应的rate就反应在该原型上

grouplens的数据显示被rate的越多,那么就有越多的用户文章

resnick94grouplens.pdf

Tapestry只能对固定的site进行预测,而Grouplens的site和newsgroup是可以扩展的

Shardanand.Maes.95.pdf
Ringo

基于内容的过滤的局限:
内容需要可以分析的,比如text;不容易发现用户的新的兴趣;好的文章和坏的文章无法区分,如果他们用相同的词的话。

CF的基本思想:
需要用户文件,User Profile;将用户之间的Profile进行比较;

THINK:对于文本,可能偏好图片的多少,文章的长短等。

提供用户的音乐家分两部分:大家经常rate的和随机的,或者用户可以自己要求别的音乐家

给出了评价的公式

用户只喜欢很好的和很坏的,中间的最好不出现。

Pearson系数,-1表示有相反的爱好,0表示不相关,1表示很相似

改变了Pearson函数,由于4是爱好和不爱好的分界点,所以在了4

wei03recommender.pdf

好的推荐系统应该包含各种推荐方式、框架、技术等;在使用时各种推荐方式进行竞争向用户推荐

没有一个十全十美的推荐方法,并将持续下去。同时,各种评价方法之间不容易进行交流

posted @ 2005-04-11 20:05 Betop 阅读(299) | 评论 (0)编辑 收藏
 
看了文本分类的基础:
决策树(关键是怎样训练出一棵树来)
最大熵
KNN方法(实现中)
posted @ 2005-04-04 19:49 Betop 阅读(385) | 评论 (2)编辑 收藏