﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-学习笔迹-文章分类-Search</title><link>http://www.blogjava.net/chenlb/category/33445.html</link><description>好记性不如烂笔头!</description><language>zh-cn</language><lastBuildDate>Thu, 31 Jul 2008 09:29:52 GMT</lastBuildDate><pubDate>Thu, 31 Jul 2008 09:29:52 GMT</pubDate><ttl>60</ttl><item><title>推荐引擎：从搜索到发现[转载]</title><link>http://www.blogjava.net/chenlb/articles/219075.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Thu, 31 Jul 2008 08:07:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/articles/219075.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/219075.html</wfw:comment><comments>http://www.blogjava.net/chenlb/articles/219075.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/219075.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/219075.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS">
<p><strong>搜索是你明确地知道自己要找什么东西时所做的事情，而发现是你并不明确地知道一些好东西存于世上的时候，这些东西主动找到了你。&nbsp;<br />
</strong></p>
<p>以&#8220;发现&#8221;为主要功能的网站正如雨后春笋般在互联网上崭露头角。许多公司推出了能够帮助消费者找到新网站、新唱片或者新朋友的推荐功能——不管想要什么，去互联网上都可以发现那些你闻所未闻却又注定会一见钟情的东西。 <br />
<br />
这种功能并不是互联网时代的专利。早在互联网出现之前，在那些用钢筋混凝土搭建起来的小店面或者大卖场里，个体业主们就已经在靠自己敏锐的目光和三寸不烂之舌，根据你的个性特点把货架上的商品源源不断地放进你的购物篮。&nbsp;&nbsp;</p>
<p>走进任何一条商业街上的某间服饰专卖店，流露出一点购物的倾向，导购人员就会走到跟前，指着不远处说：&#8220;那款是最近刚上架的新品，看起来与你的气质比较搭配&#8221;。这时你很可能会继续和导购人员交谈，多透露一些自己关于衣着打扮的看法，让他或她继续给出建议，帮助选中最心满意足的款式。 <br />
<br />
这就是我们所说的&#8220;逛&#8221;街。在走出家门的时候，你的脑中或许有买衣服的计划，却并不知道应该买哪种品牌、款式、颜色、布料、价位的商品。走进商店之后，顾客面对未知的货架开始了自己的&#8220;发现&#8221;之旅，而商店向顾客提供的&#8220;推荐&#8221;机制随即开始运作——虽然在多数情况下，你并不会意识到它的存在。 <br />
<br />
我们不仅仅是在买商品，我们还和商品紧紧地捆绑在一起。我们和它们之间存在着千丝万缕的联系。看看架上收藏的无数影碟、iTunes播放器里的曲目列表、躺在橱柜里那些用过的手机，从每一样东西身上都可以看出来——你是怎样的一个人，或者说，你想成为怎样的一个人。 <br />
<br />
每个人都通过所购买的东西把内在的自己呈现出来。从另外一个角度说，人们每天都把个性穿在、戴在、挂在身上，刻意或无意、直白或含蓄地告诉外界：&#8220;喏，这就是我。&#8221; <br />
<br />
在真实的世界中，我们通过外表所蕴含的信息以及所处的环境和既有的经验对他人做出判断。这种直觉通常情况下十分管用而且立竿见影，但是有时候它却会失算，毕竟感觉在很多时候是说不准的。但是如果换到互联网上，这件事情就会变得容易和清晰得多。 <br />
<br />
&#8220;发现&#8221;在网上的兴起 <br />
<br />
日复一日，消费者都会在互联网上以数字化的形态留下自己的心得体验。比如豆瓣网上有一半观众觉得《满城尽带黄金甲》看着&#8220;还行&#8221;，两成观众打分&#8220;力荐&#8221;；比如大众点评网的用户对北京川办餐厅的打分是：口味26、环境13、服务12；又比如人们在网上对各张专辑做出的评论、贴上的标签。每当用户留下这样的标记，除了能够让其他人知道这些东西看起来如何、听起来怎样，还在不知不觉地向外界描述自己的口味。 <br />
<br />
对于那些可以获得、储存并且分析这些信息的公司而言，商机大得惊人。这些公司比传统商店里的导购人员更了解你，更进一步说，指不定比你的闺中密友更清楚你的兴趣所在。这些公司可以精准地描绘你的口味——在专家的帮助下，他们可能比你还更容易说清你自己属于哪类人群——以此判定你最可能会在现有的产品选项中买下什么。这些在过去听起来像&#8220;第六感&#8221;的东西，现在正以1和0为载体被保存在网络服务器上。 <br />
<br />
对于那些以推荐功能为核心的网站来说，他们再清楚不过地知道，互联网正在从搜索的时代进入发现的时代。两者的区别在哪里呢？搜索是你明确地知道自己要找什么东西时所做的事情，而发现是你并不明确地知道一些好东西存于世上的时候，这些东西主动找到了你。 <br />
<br />
在搜索领域，胜负已经非常明显——在国外，Google遥遥领先，在国内，百度一枝独秀。但是，起码到目前为止，还没有哪个推荐引擎是当之无愧的市场领导者。 <br />
<br />
建造个性化的发现机制需要对目前网上所有的表述、分类及评价方式进行深入研究，这绝非易事。但是如果有公司可以把这样的东西做到手机上，那么，这样的发现工具不仅仅可以改变营销，甚至整个商业社会。&#8220;推荐系统将会成为接下来十年中最重要的革新之一。&#8221;曾经在90年代中期开发出第一批推荐引擎的米尼苏达大学计算机科学系教授约翰&#183;里德(John Riedl) 说过，&#8220;社会化网络将会被这些系统所驱动。&#8221; <br />
<br />
亚马逊网络商店(Amazon.com) 很早就意识到了一个优秀的推荐系统可以带来什么，直到现在依然是同类网站效仿的对象。亚马逊通过数据挖掘算法和比较机制将用户的消费偏好与其他用户进行对比，借以预测用户可能感兴趣的商品。 <br />
<br />
这样的推荐系统建立在对商品深入了解的基础之上。看看亚马逊网络书店上的书籍和影音制品，即便是再偏门的品种，他们也被管理员赋予了多种类型(Genre)和关键词(Keyword)，而且用户还可以为它贴上自己中意的标签(Tag)。 <br />
<br />
但是亚马逊&#8220;相关图书&#8221;和&#8220;相关唱片&#8221;的推荐机制依然没有做到足够的个性化，它看起来更像是一个固执己见的推销员，而非熟识并且值得信赖的小店老板。亚马逊的系统倾向于向用户推荐那些显而易见的的相关产品，却对用户缺乏更深入的了解，并因人而异地推荐商品。新一代的发现型网站正在弥补这方面的缺失，搞清楚用户为什么选择了某些商品，为用户也贴上复杂的属性标签。 <br />
<br />
为了建造更好的推荐系统，美国最大的DVD租赁网站Netflix设置了100万美元的奖金，准备奖励给可以让推荐机制性能提高10%的人。在这个竞赛公布之前，Netflix负责推荐系统的副总裁吉姆&#183;贝内特 (Jim Bennett) 曾经怀疑是否能够有人在十年之内完成这个目标，但他也坚持，这个目标确实值得公司付出100万美元。但是在五周之后，已经有37人提交了改进方案，其中有两名选手成绩离获奖标准并不遥远。 <br />
两种&#8220;发现&#8221; <br />
<br />
而电影推荐网站&#8220;What to Rent&#8221; (意为&#8220;租点什么&#8221;) 已经在发现机制的完善之路上迈出了更大的步伐。该网站的两位创始人马修&#183;库尔克 (Matthew Kuhlke) 和亚当&#183;盖特吉 (Adam Geitgey) 对电影极为痴迷，他们俩用自己在电影方面的知识和分类海量电影的经验来武装自己的电影数据库。 <br />
<br />
而同时，他们让初次光临的用户回答一系列随机的问题，有的甚至和电影看起来关系不大，比如说：&#8220;你最喜好哪一类体验——精神、智力还是身体上的？&#8221;或者&#8220;给你多少钱才能让你在下半辈子里每天都穿一些滑稽古怪的装束？&#8221;他们通过心理测试来了解用户，以推荐合适的电影。&#8220;看一部电影的时候，你就与这部电影产生了互动。这种互动和你与人打交道并没有多少区别。&#8221; 库尔克说，&#8220;你都是在建立一种关系。&#8221; <br />
<br />
&#8220;工欲善其事，必先利其器&#8221;。换到发现型网站上，那就是想要推荐给用户最有效的结果，那么就必须先了解自己的用户。如何了解自己的用户，成为此类网站首要解决的问题。 <br />
<br />
显然，&#8220;What to Rent&#8221;网站两位创始人的敏锐目光给他们帮上了大忙。在网站上，他们用许多问题来了解用户的特质，并且推荐DVD。在现实生活中，他们会去公司附近的饭店里 挑战一些更有难度的推荐方式。他们随机地挑选一些人，不和他们进行交谈，只是根据对行为举止的观察来推测他们最喜欢的某部电影。 <br />
<br />
他们会在人群中选中端水送饭兼收盘子的伙计，然后开始描述这个观察对象：&#8220;破烂的牛仔裤、金属手镯、各部位有若干纹身&#8221;，&#8220;20岁以上接近30岁&#8221;，&#8220;在一个年轻化的餐馆里工作&#8221;，&#8220;在这里的年轻人很多没有念完高中，因为他们很难集中注意力，但是却花了大部分时间用来阅读一些由艺人兼作家——比如尼克&#183;凯夫 (Nick Cave) ——撰写的哲理书籍&#8221;。由此，库尔克认为《星河战队》(Starship Troopers) 这样有点轻微反政府情节又有点刺激动作场面的电影最适合他的口味。果然，他们从对方嘴里得到这个答案。 <br />
<br />
<br />
这种了解内容和用户的特质，送上合适产品的做法，被称为&#8220;基于内容的过滤&#8221; (Content Based Filtering) 。正如&#8220;What to Rent&#8221;需要在事前对用户做一个问卷调查，他们同样要对内容产品贴上各种门类的标签并且写入数据库。?荩 <br />
<br />
在这类发现型网站中，国内用户最熟悉的是音乐推送网站&#8220;潘多拉&#8221; (Pandora) 。只要在&#8220;潘多拉&#8221;网站首页的播放器中输入用户最喜欢的歌手名字或者歌曲标题，网站就会自动建立一个网络电台，源源不断地播放最符合用户口味的曲目。用户喜欢或者不喜欢一首歌，可以点击相应的反馈按钮，让系统更明白自己的喜好。 <br />
<br />
这种有趣的体验建立在惊人的&#8220;音乐基因工程&#8221;(Music Genome Project)基础之上。45位音乐分析师——其中大部分拥有音乐方面的学位——以每月15000首歌的速度完善&#8220;潘多拉&#8221;的曲目数据库，每首歌都拥有400字左右的详细介绍。在播放每一首歌的时候，点击&#8220;为什么选择这首歌&#8221;的选项，就可以得知目前播放的曲目与用户输入曲目的所有相似之处。 <br />
<br />
而随着社会化网络(Social Network) 的大规模兴起，另一种被称为&#8220;协同过滤&#8221;(Collaborative Filtering) 的推荐方式也得到了越来越广泛的应用。如果说&#8220;基于内容的过滤&#8221;可以被视作由机器完成的推荐，那么&#8220;协同过滤&#8221;就可以被看成由人完成的推荐。 <br />
<br />
以&#8220;协同过滤&#8221;推荐机制为核心，网站并不需要做出如同&#8220;What to Rent&#8221;的&#8220;性格—产品&#8221;匹配，而只需要了解&#8220;用户都在同哪些人进行交往&#8221;、&#8220;用户加入了哪些组群&#8221;、&#8220;用户都在看谁的页面&#8221;这样的问题，然后根据&#8220;物以类聚、人以群分&#8221;的思路为用户推荐他的伙伴都感兴趣的事物。 <br />
<br />
国内以图书推荐起家的&#8220;豆瓣&#8221;就是这方面的代表。从建站以来，豆瓣就只是提供给用户关于图书、电影和音乐的基本信息，而不需要由网站员工对用户或者产品做出&#8220;贴标签&#8221;式的逐一了解。用户在&#8220;豆瓣&#8221;上发现新的产品，完全以他们参与的小组和关注的对象作为切入点，在网站上的参与度越高，发现的效果也就越好。 <br />
<br />
无论从用户还是服务提供者的角度出发，这两种推荐方式都有各自明显的优劣。如果采用&#8220;基于内容的过滤&#8221;，那么在完成内容和用户互相匹配的过程中，就可能出现&#8220;越读越窄&#8221;、&#8220;越听越窄&#8221;、&#8220;越看越窄&#8221;的问题，提供的内容完全与用户兴趣点相吻合，而没有发散。 <br />
<br />
&#8220;协同过滤&#8221;在很大程度上避免了这个问题，但是他需要用户达到一定数量级之后才能发挥出网站创建者预想的效果，这种&#8220;网络效应&#8221;使得同一市场上的后来者很难找到切入的机会。而用户一旦不能得到&#8220;好处&#8221;，可能迅速离去，而来不及提&#8220;利他&#8221;的后话。■ </p>
<br />
转载：<font face="Comic Sans MS"><a href="http://blog.csdn.net/java060515/archive/2007/04/18/1568658.aspx">http://blog.csdn.net/java060515/archive/2007/04/18/1568658.aspx</a></font></span>
<img src ="http://www.blogjava.net/chenlb/aggbug/219075.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2008-07-31 16:07 <a href="http://www.blogjava.net/chenlb/articles/219075.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>推荐引擎机制的前提、基本方式和典型应用[转载]</title><link>http://www.blogjava.net/chenlb/articles/219074.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Thu, 31 Jul 2008 08:05:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/articles/219074.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/219074.html</wfw:comment><comments>http://www.blogjava.net/chenlb/articles/219074.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/219074.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/219074.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;
<p>推<span>荐机制的两种方式：1、基于用户行为；2、基于产品基因；推荐机制建立的前提：1、用户行为数据记录；2、产品特性基因构成； <br />
<br />
1、基于用户行为：案例amazon（亚马逊） <br />
<br />
亚马逊的推荐系统是程序自动化和用户相关购物信息天才集合的经典之作。亚马逊花了十几年的时间建立和完善了这个系统。这个系统基于产品和相关用户的巨大数据库；记录的信息包括你在过去几年或几分钟内做过什么。 <br />
<br />
所有推荐都基于用户个人行为，加上商品本身，或者是其他用户在亚马逊的活动。不管是因为你以前购买过相关产品，还是因为其他很多用户都喜欢，亚马逊每推荐给你一件商品，都增大你把它放进你的购物筐的可能。 <br />
<br />
2、基于产品基因：案例pandora（潘多拉） <br />
<br />
音乐染色体组项目的 推出，目的在于把音乐解析成为最基本的基因组成。它的基本想法是：我们因为音乐的某些特性喜欢音乐－－那么为什么不能根据音乐的某些相似之处设计出一套推 荐系统呢？这类推荐系统应该属于基于产品的推荐。但具有深刻创新意义的是，产品（音乐产品）的相似性，通过&#8220;基因&#8221;组成来衡量。 <br />
<br />
这种&#8220;即刻满足感&#8221;是很难抗拒的。因为pandora 了解音乐相似性背后的因素，它不需要了解用户的好恶，就可以把用户黏住。确实，pandora 需要把握用户的口味或记忆－－但这正是蕴藏在音乐本身的dna中了。当然pandora有时并不完美，会播放不对用户口味的音乐。但这很少发生。 <br />
<br />
拓宽联想：音乐产品的基因组适用于其他产品吗？也就是说：标签（tag）是否就能代表产品的基因呢？案例del.icio.us <br />
<br />
社会化书签网站中首屈一指的 del.icio.us （见译言有关del.icio.us的译文）则采用不同的办法－－让用户自己来鉴定、标识。这种自组织的方式相当成功，del.icio.us 很快在最初的使用者中流行起来。今天，del.icio.us 已经不仅仅是一个书签网站－－它还是一个新闻网站和搜索引擎。但del.icio.us是否也是一个推荐系统呢？ 答案是肯定的。这是一个非常简明的推荐系统，它指基于一个基因－－那就是一个标签。 <br />
<br />
思考：每一个网站都有自己的一套为用户创造体验与价值的方式，而真正的&#8220;即可满足感&#8221;又有几家能做到。尤其现在的web2.0类型网站都首先标榜&#8220;用户体验&#8221;，在copy一个成功模式之后，以为就同样完整的copy了相同的&#8220;用户体验&#8221;的自我感觉其实是错误的。比如说：我们很多的digg类、书签类新网站，并没有发挥自己的创造力，甚至根本都没有结合国情。或许未来下一个更好的系统是完美地将用户行为与产品基因相结合的推荐模式,不管是商务网站的产品推销，还是社会化网站的服务，因为： <br />
<br />
一个出色的推荐机制不光对netflix，对其他网络企业也非常重要。这是因为用户的网上活动分为两类：搜索和浏览。当消费者明确知道她想要什么的时候，她搜索。但当她不太清楚想要什么的时候，她浏览。浏览活动为推荐系统带来了绝好的机会。因为当用户没有集中注意力在找她想要的东西时，她对外来的建议是敞开的。 <br />
<br />
在浏览过程中，用户的注意力（和他们的钱），都等着你去抓住。通过向用户展示有吸引力的东西，网站可以使交易成功的可能最大化。所以如果网站能增加给用户提供好推荐的几率，就能赚更多钱。显然这不是一个容易解决的问题，但解决这个问题带来的好处是巨大的。</span></p>
&nbsp;<br />
转载：<a href="http://blog.csdn.net/java060515/archive/2007/04/18/1568789.aspx">http://blog.csdn.net/java060515/archive/2007/04/18/1568789.aspx</a>
<img src ="http://www.blogjava.net/chenlb/aggbug/219074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2008-07-31 16:05 <a href="http://www.blogjava.net/chenlb/articles/219074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网站推荐机制中的艺术、科学与商务问题[转载]</title><link>http://www.blogjava.net/chenlb/articles/219073.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Thu, 31 Jul 2008 08:03:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/articles/219073.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/219073.html</wfw:comment><comments>http://www.blogjava.net/chenlb/articles/219073.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/219073.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/219073.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 网站推荐机制是电子商务或内容网站的核心功能之一。例如你在一个网站买了一本书后，网站会推荐其他你可能会感兴趣的书。这被认为是亚马逊等电子商务巨头成功的关键。本文对几个出色的推荐系统进行了较透彻的分析。</p>
<p>2006年10月，Netflix搞了一次不寻常的有奖竞赛。这家网上DVD租赁公司开出奖金一百万美元，奖励给能把他们网站的产品推荐机制提高10%的人。Netflix 以富有创新精神和闯劲著称。而一百万美元的奖金对于这样一家公司来说，其实并不象听起来那么多。<br />
<br />
<br />
有奖竞赛还在进行当中（&#8220;至少要进行到2011年10月2日&#8221;）。所以这是一场炒作活动还是希望花小钱进行研究，我们还不得而知。而对Netflix来说，更好的推荐机制是必不可少还是锦上添花？今天，Netflix正面对从沉睡中醒来的巨人BlockBuster的挑战，因此它必然要寻找制胜的先机。出色的推荐机制会留住老用户，吸引新用户。比如当一个用户还DVD时，系统会推荐给他/她可能会喜欢的另一部电影。这就增加了这个用户回来再租DVD的可能。<br />
<br />
</p>
<h3><span>浏览与推荐</span></h3>
<p><br />
一个出色的推荐机制不光对Netflix，对其他网络企业也非常重要。这是因为用户的网上活动分为两类：<span>搜索</span>和<span>浏览</span>。当消费者明确知道她想要什么的时候，她搜索。但当她不太清楚想要什么的时候，她浏览。浏览活动为推荐系统带来了绝好的机会。因为当用户没有集中注意力在找她想要的东西时，她对外来的建议是敞开的。<br />
<br />
在浏览过程中，用户的注意力（和他们的钱），都等着你去抓住。通过向用户展示有吸引力的东西，网站可以使交易成功的可能最大化。所以如果网站能增加给用户提供好推荐的几率，就能赚更多钱。显然这不是一个容易解决的问题，但解决这个问题带来的好处是巨大的。推荐的几种方式如下：<br />
</p>
<ul>
    <li>个性化的推荐－－根据用户过去在网站的行为进行推荐
    <li>社会化推荐－－根据类似用户过去在网站的行为进行推荐
    <li>基于产品的推荐－－基于产品本身的特性进行推荐
    <li>以上三者的混合 </li>
</ul>
<p><br />
我们现在通过实例详述上述方式。包括老牌网站如亚马逊 Amazon，以及新秀如Pandora（译者：一个收听网上音乐的站点）和del.icio.us（译者：著名的社会化书签网站）。<br />
<br />
</p>
<h3><span>亚马逊－－推荐之王</span></h3>
<p><br />
亚马逊被广泛认为是网上购物行业的领袖，特别是推荐机制的使用。过去十几年间，该公司投入了大量金钱和脑力开发推荐机制，来促使用户更多地购物－－包括对你浏览历史、购买历史，以及其他用户购买数据的分析。让我们看看亚马逊推荐机制的几个方面。下面是登陆到我的亚马逊帐户后网页显示的主要部分：<br />
<br />
<img height="254" alt="" src="http://www.readwriteweb.com/images/recommendation_engines2.jpg" width="475" border="\0" /><br />
<br />
（译者：上图抬头是&#8220;消费者浏览了这件商品后买了什么？&#8221;下面是三件商品：52%的消费者买了你正在看的这套衬衣；19%买了另一种款式；5%买了灰色的那种）<br />
<br />
这部分是社会化推荐。注意，非常量化的分析，给我一个基于数据统计的理由为什么我应该买这套衬衣。而同时这又是个性化的推荐，因为它基于我刚刚点击查看的产品。<br />
<br />
<img height="268" alt="" src="http://www.readwriteweb.com/images/recommendation_engines3.jpg" width="485" border="\0" /><br />
<br />
（译者：上图抬头是&#8220;为你准备的新货&#8221;。下面是几本书以及链接&#8220;为什么我们推荐这本书给你？&#8221;）<br />
<br />
这一部分是&#8220;基于产品的推荐&#8221;，具体说是新书推荐。点击&#8220;为什么我们推荐这本书给你？&#8221;的链接会显示我的购买历史。因此这同时也是个性化推荐－－基于我过去行为的推荐。<br />
<br />
这一页上有其他四个部分采用上述推荐机制的结合。我们用下表概括：<br />
<br />
<strong>亚马逊个性化推荐系统</strong>
<table border="1">
    <tbody>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>你的浏览历史</td>
            <td>你的购买历史</td>
        </tr>
        <tr>
            <td>实际浏览商品</td>
            <td>新产品（基于产品的推荐）</td>
        </tr>
        <tr>
            <td>相关商品（基于产品的推荐）</td>
            <td>相关商品（基于产品的推荐）</td>
        </tr>
        <tr>
            <td>别人购买的（社会化推荐）</td>
            <td>别人购买的（社会化推荐）</td>
        </tr>
    </tbody>
</table>
</p>
<p>很自然，这个系统是对称和覆盖全面的。所有推荐都基于用户个人行为，加上商品本身，或者是其他用户在亚马逊的活动。不管是因为你以前购买过相关产品，还是因为其他很多用户都喜欢，亚马逊每推荐给你一件商品，都增大你把它放进你的购物筐的可能。</p>
<h3>超越亚马逊</h3>
<p>亚马逊的推荐系统是程序自动化和用户相关购物信息天才集合的经典之作。亚马逊花了十几年的时间建立和完善了这个系统。这个系统基于产品和相关用户的巨大数据库；记录的信息包括你在过去几年或几分钟内做过什么。其他新公司如何与之竞争呢？</p>
<p>出乎意料的是，有办法竞争。答案来自与网络购物没什么关系的学科－－遗传学。如你所知，遗传学研究DNA片段－－基因，如何承载影响人类特性和行为的密码。比如一家人因为他们有某些基因是相同的，因此长相和行为有类似之处。遗传学是一门有150年历史的学科，在医学和历史学的研究中都是一个重要工具。但遗传学一个出乎意料的应用于2000年1月6日出现－－Time Westergren和他的朋友们决定把遗传学的概念引入到音乐中。</p>
<h3>潘朵拉（Pandora）－－基于遗传学的推荐系统</h3>
<p>音乐染色体组项目的推出，目的在于把音乐解析成为最基本的基因组成。它的基本想法是：我们因为音乐的某些特性喜欢音乐－－那么为什么不能根据音乐的某些相似之处设计出一套推荐系统呢？这类推荐系统应该属于基于产品的推荐。但具有深刻创新意义的是，产品（音乐产品）的相似性，通过&#8220;基因&#8221;组成来衡量。<br />
<img alt="" hspace="5" src="http://www.readwriteweb.com/images/recommendation_engines5.jpg" vspace="5" border="\0" /><br />
（译者：上图是Pandora音乐播放器向用户解释为什么播放一首歌曲：&#8220;基于你告诉我们的信息，我们播放这段音乐。因为这段音乐微妙地使用人声合声，混合了声学和电子乐器，有以人声为核心的审美特点，音调以大调为主，以及其他音乐基因组项目中发现的相似性。&#8221;）<br />
<br />
在奋斗了几年，分析了海量的音乐后，这个项目积累了足够的数据，并推出了名为Pandora的在网上收听音乐的服务。Pandora 由于准确的推荐和用户低成本进入（译者：指用户可以很容易地就试用Pandora的服务）取得巨大成功。用户只需选一名歌手，或一首歌，就可以建立一个用户自己的电台，播放类似的音乐。<br />
<br />
这种&#8220;即刻满足感&#8221;是很难抗拒的。因为Pandora 了解音乐相似性背后的因素，它不需要了解用户的好恶，就可以把用户黏住。确实，Pandora 需要把握用户的口味或记忆－－但这正是蕴藏在音乐本身的DNA中了。当然Pandora有时并不完美，会播放不对用户口味的音乐。但这很少发生。<br />
</p>
<p>很自然地我们会问：这个基于基因的推荐方式能不能应用于其他产品－－如书籍、电影、酒、餐馆、或旅游点呢？对于每一类产品，它的基因又由什么因素组成呢？比如说，对葡萄酒来说，它的基因是否包括对酒的口味的描述呢：黑莓口味、土味、果香型、复合型、混合型，等等。而书籍的基因是否是描述故事情节的用语呢？如果基因真的是让某一个物体在我们头脑中产生独特形象的因素，对于不同的事物我们应该可以把他们的基因定义出来。其实在过去的几年间，我们已经在互联网上做这样的事了。这就是&#8220;标签（tagging）&#8221;。</p>
<h3>Del.icio.us －标签会成为基因么？</h3>
<p>Pandora 的初始投入是巨大的。因为成千上万的音乐需要人工来鉴定。社会化书签网站中首屈一指的 del.icio.us 则采用不同的办法－－让用户自己来鉴定、标识。这种自组织的方式相当成功，del.icio.us 很快在最初的使用者中流行起来。今天，del.icio.us 已经不仅仅是一个书签网站－－它还是一个新闻网站和搜索引擎。但del.icio.us是否也是一个推荐系统呢？</p>
<p><br />
</p>
<p><img height="246" alt="" src="http://www.readwriteweb.com/images/recommendation_engines6.jpg" width="500" border="\0" /></p>
<p><br />
</p>
<p>（译者：上图显示加了&#8220;Linux&#8221;标签的最受欢迎的网页链接，右侧是相关标签。）</p>
<p>答案是肯定的。这是一个非常简明的推荐系统，它指基于一个基因－－那就是一个标签。例如在上图中，我们看到最受欢迎的加了&#8220;Linux&#8221;标签的网页链接，同时还看到相关链接如&#8220;Open source （开源软件）&#8221;和&#8220;ubuntu （Linux 操作系统的一个版本）&#8221;。而一个更令人兴奋的推荐系统是基于多个标签的吻合。然而由于算法还不完善，这一点的作用并不明显。但至少，这一功能对于Read/WriteWeb 的网页（译者：原文的站点）是有效的，在下图中，可以看到右侧显示的与 Read/WriteWeb 类似的其他博客。</p>
<p><br />
</p>
<p><img height="227" alt="" src="http://www.readwriteweb.com/images/recommendation_engines7.jpg" width="500" border="\0" /></p>
<p>因此，del.icio.us 的机制有可能发展成为一个有趣的自助分类、组织的推荐系统。如果有足够的用户并逐步调整系统，用群体的力量加标签的方式可以建立起一个对书、葡萄酒、音乐同样有效的推荐系统。前题是，标签要准确到能够成为被标签对象的基因！</p>
<h3>结论</h3>
<p>推荐引擎是网上电子商务系统和用户体验的一个重要组成部分。网上零售商们有强烈的意愿向那些正在浏览的用户提供推荐，以驱使他们购买。亚马逊有一套非常出色的个性化推荐系统，是这个领域的领先者。其他网上零售商面临的问题是缺乏用户信息和软件构架不完善。</p>
<p>最新的推荐引擎，如受遗传学启发的Pandora和基于群体社会化标签的del.icio.us都是非常有趣的新发展。这些系统的长处在于&#8220;即刻满意度&#8221;－－不需要用户提供他们的偏好和过去的浏览或消费历史。不管未来如何发展，亚马逊、Pandora和del.icio.us目前展示了极其出色的推荐技术。我们向您推荐这几个系统，并对未来拭目以待。<br />
<br />
转载：<a href="http://blog.csdn.net/java060515/archive/2007/04/18/1568824.aspx">http://blog.csdn.net/java060515/archive/2007/04/18/1568824.aspx</a></p>
<img src ="http://www.blogjava.net/chenlb/aggbug/219073.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2008-07-31 16:03 <a href="http://www.blogjava.net/chenlb/articles/219073.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>音乐八宝盒的推荐引擎模式[转载]</title><link>http://www.blogjava.net/chenlb/articles/218996.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Thu, 31 Jul 2008 06:51:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/articles/218996.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/218996.html</wfw:comment><comments>http://www.blogjava.net/chenlb/articles/218996.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/218996.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/218996.html</trackback:ping><description><![CDATA[<div>在在线数字音乐领域中，如何能够真正深入挖掘长尾的价值，采用主动的音乐推荐模式，去帮助用户找到符合自己口味的新音乐，成为一个新的挑战和机会。八宝盒（<a href="http://www.8box.cn/">www.8box.cn</a>）是一个基于音乐分享及偏好而建立起来的SNS服务, 利用多年积累研发的推荐引擎，8box能帮你找到可能喜欢的音乐，帮你分析出哪些用户是你的音乐&#8220;同好&#8221;。 八宝盒通过你推荐、试听、打分、评论音乐的过程，学习你的口味，并依此帮助过滤出你喜欢的音乐。发现音乐的最好途径是通过你的同好。八宝盒能够根据你的口味，推荐相似的用户给你。应该说&#8220;个性化推荐引擎--IntelliProvider&#8221;是音乐八宝盒的技术基石。</div>
<div>&nbsp;</div>
<div>简单的来说，8box推荐音乐的依据有三种：</div>
<div style="margin-left: 12pt; text-indent: -12pt"><span>1.</span>依靠音乐本身的属性信息判断音乐的相关性，做出推荐。</div>
<div style="margin-left: 12pt; text-indent: -12pt"><span>2.</span>依靠听众对这个音乐的评价和反映来推断音乐的相关性，做出推荐。</div>
<div style="margin-left: 12pt; text-indent: -12pt"><span>3.</span>依靠分析用户的行为，发掘出用户的音乐同好，从而做出推荐。</div>
<div>&nbsp;</div>
<div>第一种依靠音乐本身的属性，强调音乐本身的信息来判定音乐。在国内的音乐网站来说，音乐信息的判断基本上停留在对音乐资料的搜集上，比如一首歌的演唱者、所属专辑、这首歌的音乐类型等等。8box建立了庞大的音乐信息库，百万张唱片的音乐信息可以增加音乐推荐的准确度。</div>
<div>&nbsp;</div>
<div>一个简单的例子：喜欢听朴树的《生如夏花》的人，可以推荐给他《傲慢的上尉》。</div>
<div>&nbsp;</div>
<div>但仅仅这样还是不足够的，音乐间的关联不仅仅依靠本身的信息就能完全判定的。喜欢听朴树的用户不仅仅爱听《生如夏花》和《傲慢的上尉》，还可能喜欢听许巍的《蓝莲花》，喜欢听《蓝莲花》的用户，还可能喜欢听郑钧《私奔》。。。而《生如夏花》和《私奔》在音乐本身的信息上是无法直接关联的，所以我们需要更多的途径来丰富完善推荐音乐的依据。</div>
<div>&nbsp;</div>
<div>于是8box引入第二种--依靠用户的评价和反映。8box在用户听音乐的时候，搜集用户的行为，引导用户对所听的音乐进行打分，评价，加标签等，分析用户的喜好。喜欢这个音乐的人对哪些音乐还感兴趣？通过8box自主开发的推荐系统，分析出比率，为每个音乐添加了不同的标签。</div>
<div>&nbsp;</div>
<div>于是《生如夏花》和《私奔》的关联就顺理成章了。</div>
<div>&nbsp;</div>
<div>是不是来自好朋友推荐的东西更可信一点？因为有了对朋友的了解，朋友间的共性决定了这样的推荐更可能是你喜欢的。基于这个原理，八宝盒不仅搜集音乐的相关信息，也搜集了用户的信息，分析每个用户之间的相似度，并向用户推荐相似度高的同好用户。随着用户在网站的操作越多，对用户的信息搜集越全面，用户越可能找到同好。依据同好的推荐，可以发现更深一步的音乐关联，找到更多你喜欢但是没有听到过的音乐。同时也能找到更多志同道合的朋友。</div>
<div>&nbsp;</div>
<div>与其他的分享社区一样，用户可以将其他用户加为好友，创建歌迷小组（在八宝盒中叫饭团-fans团)。在饭团里交流信息，推荐音乐，或者上传自己的音乐收藏。随着团员的增加，饭团的共享空间也会增加。在音乐八宝盒，用户可以创建并分享自己的播放列表，并利用网站提供的播放器欣赏音乐。此外，还借鉴了Pandora的方式，利用音乐导航功能可以从任意一首音乐始连续播放相关的音乐。屏幕右边的浮动播放器不但可以保证页面切换时不间断播放歌曲，用户评分等操作也被集成在播放器中。音乐八宝盒全方位的推荐，可以让用户很快找到大量喜欢的歌曲，八宝盒的个人电台功能，将用户喜欢的歌曲自动作为电台不间断的播放。每天24小时都听自己喜欢的，不是件难事儿了。大量Ajax的使用，使得很多操作变得简易，大部分都能一步完成，而提示也很温情。这个网站还与blog紧密结合了。当一个歌曲被建立的时候，同时会搜索到msn space上所有与这首歌相关的blog文章，然后列在歌曲的下方。当然，你也可以把喜欢的歌曲以漂亮列表的形式加到自己的blog上，而你要做的仅仅是复制粘贴八宝盒提供的一小段代码。</div>
<div>&nbsp;</div>
<div>通过强大的推荐技术，结合网站的社会性元素，八宝盒的主动的音乐推荐模式将帮助用户找到属于自己的&#8221;音乐长尾&#8221;。</div>
<br />
转载：<a href="http://blog.csdn.net/java060515/archive/2007/04/20/1571890">http://blog.csdn.net/java060515/archive/2007/04/20/1571890</a>
<img src ="http://www.blogjava.net/chenlb/aggbug/218996.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2008-07-31 14:51 <a href="http://www.blogjava.net/chenlb/articles/218996.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>个性化推荐技术漫谈[转载]</title><link>http://www.blogjava.net/chenlb/articles/218979.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Thu, 31 Jul 2008 06:00:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/articles/218979.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/218979.html</wfw:comment><comments>http://www.blogjava.net/chenlb/articles/218979.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/218979.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/218979.html</trackback:ping><description><![CDATA[<div>如果说过去的十年是搜索技术大行其道的十年，那么个性化推荐技术将成为未来十年中最重要的革新之一。目前几乎所有大型的电子商务系统，如Amazon、CDNOW、Netflix等，都不同程度地使用了各种形式的推荐系统。而近来以&#8220;发现&#8221;为核心的网站正开始在互联网上崭露头角，比如侧重于音乐推荐的八宝盒，侧重于图书推荐的豆瓣等等。</div>
<div>&nbsp;</div>
<div>那么，一个好的推荐系统需要满足什么目标呢？<br />
个性化推荐系统必须能够基于用户之前的口味和喜好提供相关的精确的推荐，而且这种口味和喜欢的收集必须尽量少的需要用户的劳动。推荐的结果必须能够实时计算，这样才能够在用户离开网站前之前获得推荐的内容，并且及时的对推荐结果作出反馈。实时性也是推荐系统与通常的数据挖掘技术显著不同的一个特点。</div>
<div>&nbsp;</div>
<div>一个完整的推荐系统由三部分构成：行为记录模块、模型分析模块和推荐模块。行为记录模块负责记录能够体现用户喜好的行为，比如购买、下载、评分等。这部分看起来简单，其实需要非常仔细的设计。比如说购买和评分这两种行为表达潜在的喜好程度就不尽相同完善的行为记录需要能够综合多种不同的用户行为，处理不同行为的累加。模型分析模块的功能则实现了对用户行为记录的分析，采用不同算法建立起模型描述用户的喜好信息。最后，通过推荐模块，实时的从内容集筛选出目标用户可能会感兴趣的内容推荐给用户。因此，除了推荐系统本身，为了实现推荐，还需要一个可供推荐的内容集。比如，对于音乐推荐系统来说，一个音乐库就是这样的内容集。我们对内容集本身需要提供的信息要求非常低，在经典的协同过滤算法下，内容集甚至只需要提供ID就足够。而对于基于内容的推荐系统来说，由于往往需要对内容进行特征抽取和索引，我们就会需要提供更多的领域知识和内容属性。这种情况下，还是拿音乐举例，歌手、流派之类的属性和音频信息就成为必需的内容集信息。<br />
<br />
</div>
<div>迄今为止在个性化推荐系统中，协同过滤（Collaborative Filtering）技术是应用最成功的技术。目前国内外互联网上有许多大型网站已经应用这项技术为用户更加智能的推荐内容。如果你想要研究协同过滤，一定不能错过MovieLens（<a href="http://movielens.umn.edu/">http://movielens.umn.edu/</a>）。它是协同过滤最著名的研究项目之一。</div>
<div>&nbsp;</div>
<div>第一代的协同过滤技术，又被称为基于用户（User-based）的协同过滤。基于用户的协同过滤，基本原理是基于用户行为选择的相关性。用户的行为选择这里指的是下载、购买、评价等等能够显式或者隐式体现出用户喜好的行为。在一个典型的基于协同过滤技术的推荐系统中，输入数据通常可以表述为一个m&#215;n 的用户内容矩阵R，m是用户数，n是内容数。矩阵的值与内容的类型有关，通常由行为记录模块决定。如果内容是网上书店中的书，则矩阵的值可以表示用户购买与否，例如1表示购买，0表示没有购买；或者表示用户对它的评价有多高，这样的评价值就可以有几个等级，比如常见的1～5级评价制。</div>
<div>&nbsp;</div>
<div>基于用户的协同过滤，通过比较目标用户的一系列行为选择和其他用户之间的相似性，来识别出一组相互具有类似喜好的用户，又可以称为&#8220;同好&#8221;。一旦系统能够识别一个用户的同好用户，就能够将他们最感兴趣的内容作为当前用户的推荐结果推荐给这个用户。也就是说，以前的行为选择与你相似的用户，在以后的行为中很可能也会和你相似。因此将这些用户做为基准来向你推荐内容。</div>
<div>&nbsp;</div>
<div>协同过滤的核心问题是寻找与目标用户兴趣相近的一组用户。这种相似用户通常被称为最近邻居（Nearest Neighbor）。用户之间的相似度是通过比较两个用户的行为选择矢量得到的。目前，比较行为选择矢量的相似度计算方法有许多种，比较经典的算法包括泊松相关系数（Person Correlation Coefficient）和余弦相似性（Cosine-based Similarity）。</div>
<div>&nbsp;</div>
<div>&#8220;最近邻居&#8221;产生后，我们就能够计算得到用户最可能感兴趣的内容集（也叫做TopN推荐集）。为了得到推荐集，分别统计&#8220;最近邻居&#8221;中的用户对不同内容的兴趣度，取其中排在最前面的内容作为推荐集。下面是一个简化的示例：假如用户张三有两个同好：李四和王五。</div>
<div style="margin-left: 21pt; text-indent: 21pt">&nbsp;</div>
<div style="margin-left: 21pt; text-indent: 21pt">张三喜欢看电影A；</div>
<div style="margin-left: 21pt; text-indent: 21pt">李四喜欢看电影A，B，C和D；</div>
<div style="margin-left: 21pt; text-indent: 21pt">王五喜欢看电影A，B，D，E和F；</div>
<div style="margin-left: 21pt; text-indent: 21pt">&nbsp;</div>
<div>这样，推荐系统就能够过滤出相似用户都喜欢的电影B和D作为张三最可能也会喜欢的电影推荐给张三。</div>
<div>&nbsp;</div>
<div>基于用户的协同过滤技术在个性化推荐系统中获得了极大的成功，但它有自身的局限性。推荐集的产生方式意味着一个内容只有已经被用户选择（购买）后才有机会被推荐给其他用户。对于一个网上书店来说，新上架的书因为还没有被相当数量的用户购买或者评价的记录，便很少有机会被用户的&#8220;最近邻居&#8221;筛选进入推荐集。这个问题，也被称之为协同过滤的&#8220;冷启动&#8221;问题。</div>
<div>&nbsp;</div>
<div>此外，因为计算用户的相似度时，是通过将目标用户的历史行为记录与其他每一个用户的记录相比较得出的，所以对于一个现实的推荐系统来说，扩展性将成为非常严重的问题。设想一下，对于一个拥有上百万用户的网站来说，每计算一个用户都将涉及到上百万次的比较，更不要说其中会带来的大量数据库IO操作的开销。</div>
<div>&nbsp;</div>
<div>于是第二代基于内容项（Item-based）的协同过滤技术就产生了。与基于用户的技术不同的是，这种方法比较的是内容项与内容项之间的相似度。Item-based 方法同样需要进行三个步骤获得推荐：1）得到内容项（Item）的历史评分数据；2）针对内容项进行内容项之间的相似度计算，找到目标内容项的&#8220;最近邻居&#8221;；3）产生推荐。这里内容项之间的相似度是通过比较两个内容项上的用户行为选择矢量得到的。举个例子，假设用户和内容项如下：</div>
<div>&nbsp;</div>
<div align="center">
<table style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
    <tbody>
        <tr style="height: 15pt">
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: green 1.5pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 40.8pt; padding-top: 0cm; border-bottom: green 1pt solid; height: 15pt" valign="top" width="54">
            <div>&nbsp;</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: green 1.5pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: green 1pt solid; height: 15pt" valign="top" width="68">
            <div>电影A</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: green 1.5pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 50.45pt; padding-top: 0cm; border-bottom: green 1pt solid; height: 15pt" valign="top" width="67">
            <div>电影B</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: green 1.5pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: green 1pt solid; height: 15pt" valign="top" width="68">
            <div>电影C</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: green 1.5pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: green 1pt solid; height: 15pt" valign="top" width="68">
            <div>电影D</div>
            </td>
        </tr>
        <tr style="height: 15.75pt">
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 40.8pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="54">
            <div>张三</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="68">
            <div>喜欢</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 50.45pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="67">
            <div>&nbsp;</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="68">
            <div>&nbsp;</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="68">
            <div>&nbsp;</div>
            </td>
        </tr>
        <tr style="height: 15.75pt">
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 40.8pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="54">
            <div>李四</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="68">
            <div>喜欢</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 50.45pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="67">
            <div>喜欢</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="68">
            <div>喜欢</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="68">
            <div>喜欢</div>
            </td>
        </tr>
        <tr style="height: 15.75pt">
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 40.8pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="54">
            <div>王五</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="68">
            <div>不喜欢</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 50.45pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="67">
            <div>&nbsp;</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="68">
            <div>不喜欢</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: medium none; height: 15.75pt" valign="top" width="68">
            <div>不喜欢</div>
            </td>
        </tr>
        <tr style="height: 15.75pt">
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 40.8pt; padding-top: 0cm; border-bottom: green 1.5pt solid; height: 15.75pt" valign="top" width="54">
            <div>赵六</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: green 1.5pt solid; height: 15.75pt" valign="top" width="68">
            <div>喜欢</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 50.45pt; padding-top: 0cm; border-bottom: green 1.5pt solid; height: 15.75pt" valign="top" width="67">
            <div>喜欢</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: green 1.5pt solid; height: 15.75pt" valign="top" width="68">
            <div>&nbsp;</div>
            </td>
            <td style="border-right: medium none; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 51.3pt; padding-top: 0cm; border-bottom: green 1.5pt solid; height: 15.75pt" valign="top" width="68">
            <div>喜欢</div>
            </td>
        </tr>
    </tbody>
</table>
</div>
<div>&nbsp;</div>
<div>可以看出，电影A与D是最相似的。因为张三喜欢A，所以电影D就可以推荐给张三。</div>
<div>&nbsp;</div>
<div>和基于用户的推荐系统相比，基于内容项的推荐系统最大的改进是更具有扩展性。基于内容项的方法通过计算内容项之间的相似性来代替用户之间的相似性。对于通常的互联网应用来说，提供的内容项数量相对较为稳定。比如一个大型网上书店，可能出售的书籍数量也就在几十万上下，而用户数量就可能达到几百万。所以，比起用户，内容项之间的相似性计算需要的计算量要少很多，从而大大降低了在线计算量，提高系统性能。基于内容项的推荐系统应用最为成功的是Amazon。Amazon为此还申请了一项专利叫做&#8221;Collaborative recommendations using item-to-item similarity mappings&#8221;<a title="" href="http://writeblog.csdn.net/Editor/FCKeditor/editor/fckeditor.html?InstanceName=ctl00_ContentPlaceHolder1_EntryEditor1_richTextEditor_richTextEditor&amp;Toolbar=Default#_ftn1" name="_ftnref1"><span><span><span><span style="font-size: 10.5pt">[1]</span></span></span></span>。当然，在降低了计算量的同时，完全基于内容项的推荐技术也在推荐的准确度上做了小小的牺牲。大多数情况下，基于用户的推荐技术表现要略好于基于内容项的方法。这是因为基于内容的方法忽略了相似用户之间的组群特征。</a></div>
<div>&nbsp;</div>
<div>不论是第一代的基于用户方法，还是第二代的基于内容项方法，都不可避免的遇到数据稀疏的问题。在任何一个网站中，用户的评分记录或者购买记录，相对整个可供选择的内容集来说，都是很小的一部分。所以在许多推荐系统中，每个用户涉及的数据量相当有限，在一些大的系统如Amazon中，用户最多不过就评价过上百万本书的1％，造成评估数据相当稀疏。当用户评价过的内容之间找不到交集时，就难以判断用户的口味是否相似，难以找到相似用户集，导致推荐效果大大降低。为了解决用户数据的稀疏问题，最方便的办法就是将用户对没有选择过的内容项的评分设为一个固定的缺省值，例如用户的平均评分。针对如何预测遗漏的评分业内又提出了很多种方法，不过一般来说采用最简单的改进方法就可以有效地提高协同过滤推荐系统的准确度。</div>
<div>&nbsp;</div>
<div>另外一方面，即便采用了基于内容项的方法，在数据量巨大的时候，计算复杂度仍然成为性能瓶颈。为了进一步解决协同过滤技术的扩展性能问题，目前比较有效的办法是在用户评分数据上做一次聚类分析(clustering)。聚类技术首先将具有相似兴趣爱好的用户分配到相同的分类中。聚类产生之后，它或者将&#8220;最近邻居&#8221;搜索对象限制在最相近的聚类中，根据类中其他用户的评价预测目标用户的评价，或者用聚类的中心作为近似提取推荐结果。由于用户之间的分类相对变化比较小，因此聚类过程往往可以离线进行，而无需实时计算，这样就大大降低了实时推荐的计算压力，提高推荐系统的速度。一般来说，聚类将用户分为多少个类，推荐系统的整体速度就能够提高多少倍。具体选择什么样的聚类算法，又会因应用领域和数据的分布特性而不同。如果聚类算法选择不当，反而会降低推荐的准确性。近年来，推荐系统的算法技术的发展也有了一些新的方向，比如SlopeOne，SVD等方法，就不一一列举了。</div>
<div>&nbsp;</div>
<div>在我看来，一个商用推荐系统的尤其关键之处在于对海量用户数据的处理。因为推荐系统是数据优先，数据的积累越多对推荐的精度就越有好处。而当用户的行为数据真正积累到上百万甚至上亿时，如何在合理时间内得出有效的推荐，就是对推荐技术最大的考验。除此之外，一个优秀的推荐系统需要能够结合内容相似与用户行为相。传统的协同过滤方法是忽略内容本身的属性的，这一方面固然是对数据要求少的优点，但另一方面也带来了难以避免的&#8220;冷启动&#8221;问题。其实，随着标签系统在互联网上的广泛应用，标签本身就不失为是一种很好的内容属性。如何利用也是值得大家探讨的。充分利用到内容本身的属性，将不同的相似性结合起来，这会给基于协同过滤的推荐技术带来新的动力。最后一点，设计良好的推荐技术要能够从用户对推荐内容的反馈中自行调整和学习。因为实际上每个用户对于推荐的内容都有不同的要求，比如有的用户可能偏好比较热门的内容，有的用户更愿意发现冷门的内容。针对不同用户的反馈来不断学习每个用户的特征，才能够避免所采用算法本身先天的偏差，获得较为理想的效果。</div>
<div><br clear="all" />
<div id="ftn1">
<div>&nbsp;本文为音乐八宝盒（<a href="http://www.8box.cn/">http://www.8box.cn/</a>） co-funder　大为提供</div>
</div>
<br />
转载：<a href="http://blog.csdn.net/java060515/archive/2007/04/19/1570243.aspx">http://blog.csdn.net/java060515/archive/2007/04/19/1570243.aspx</a><br />
</div>
<img src ="http://www.blogjava.net/chenlb/aggbug/218979.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2008-07-31 14:00 <a href="http://www.blogjava.net/chenlb/articles/218979.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>