<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>bluesnail'blog &#187; 协同过滤</title>
	<atom:link href="http://www.xisoo.net/tag/%e5%8d%8f%e5%90%8c%e8%bf%87%e6%bb%a4/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xisoo.net</link>
	<description>bluesnail的个人思维空间</description>
	<lastBuildDate>Mon, 19 Jul 2010 03:14:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>推荐引擎研究</title>
		<link>http://www.xisoo.net/2010/01/12/csi/</link>
		<comments>http://www.xisoo.net/2010/01/12/csi/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 10:00:11 +0000</pubDate>
		<dc:creator>bluesnail</dc:creator>
				<category><![CDATA[专注]]></category>
		<category><![CDATA[产品研究]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[个性化]]></category>
		<category><![CDATA[信任]]></category>
		<category><![CDATA[协同过滤]]></category>
		<category><![CDATA[推荐引擎]]></category>
		<category><![CDATA[推荐系统]]></category>

		<guid isPermaLink="false">http://www.xisoo.net/?p=233</guid>
		<description><![CDATA[ 
什么是推荐引擎？
推荐引擎利用特殊的信息过滤（IF，Information Filtering）技术，将不同的内容（例如电影、音乐、书籍、新闻、图片、网页等）推荐给可能感兴趣的用户。通常情况下，推荐引擎的实现是通过将用户的个人喜好与特定的参考特征进行比较，并试图预测用户对一些未评分项目的喜好程度。参考特征的选取可能是从项目本身的信息中提取的，或是基于用户所在的社会或社团环境。
推荐引擎的分类
 1. 个性化的推荐－－根据用户过去在网站的行为进行推荐。
 2. 社会化推荐－－根据类似用户过去在网站的行为进行推荐。
 3. 基于产品的推荐－－基于产品本身的特性进行推荐。
 4. 以及上述三种的方法的组合。
推荐引擎的开放api
商业推荐引擎不仅仅用来把数据计算出来，在后期必须充分的利用这些高质量的推荐数据，通过推荐引擎的开放API，可以在任何需要调用推荐数据的地方使用这些高质量的推荐数据，实现集中计算，分散使用。企业推荐引擎的数据可以扩展到网站的任何一个角落，给互联网客户贴心的用户体验。
推荐引擎的通用算法
1.基于关联规则的推荐算法（Association Rule-based Recommendation）
2.基于内容的推荐算法 (Content-based Recommendation)
 内容过滤主要采用自然语言处理、人工智能、概率统计和机器学习等技术进行过滤。
 基于内容过滤的系统其优点是简单、有效。其缺点是特征提取的能力有限，过分细化，纯基于内容的推荐系统不能为客户发现新的感兴趣的资源,只能发现和客户已有兴趣相似的资源。这种方法通常被限制在容易分析内容的商品的推荐，而对于一些较难提取出内容的商品，如音乐CD、电影等就不能产生满意的推荐效果。
3.协调过滤推荐算法 （Collaborative Filtering Recommendation）
与传统文本过滤相比，协同过滤有下列优点:
1）能够过滤难以进行机器自动基于内容分析的信息。如艺术品、音乐。
2）能够基于一些复杂的，难以表达的概念（信息质量、品位)进行过滤。
3）推荐的新颖性。 正因为如此，协同过滤在商业应用上也取得了不错的成绩。Amazon，CDNow，MovieFinder，都采用了协同过滤的技术来提高服务质量。
缺点是:
1）用户对商品的评价非常稀疏，这样基于用户的评价所得到的用户间的相似性可能不准确（即稀疏性问题）。
2）随着用户和商品的增多，系统的性能会越来越低（即可扩展性问题）。
3）如果从来没有用户对某一商品加以评价，则这个商品就不可能被推荐（即最初评价问题）。因此，现在的电子商务推荐系统都采用了几种技术相结合的推荐技术。
推荐引擎的过滤方式
1.基于内容的过滤
 了解内容和用户的特质，送上合适产品的做法，被称为“基于内容的过滤” (Content Based Filtering)
2.协同过滤”(Collaborative Filtering) 的推荐方式
 
 

 以“协同过滤”推荐机制为核心，网站并不需要做出如同“What to Rent”的“性格-产品”匹配，而只需要了解“用户都在同哪些人进行交往”、“用户加入了哪些组群”、“用户都在看谁的页面”这样的问题，然后根据“物以类聚、人以群分”的思路为用户推荐他的伙伴都感兴趣的事物。
 第一代的协同过滤技术，又被称为基于用户（User-based）的协同过滤。基于用户的协同过滤，基本原理是基于用户行为选择的相关性。
协同过滤的核心问题是寻找与目标用户兴趣相近的一组用户。这种相似用户通常被称为最近邻居（Nearest Neighbor）。用户之间的相似度是通过比较两个用户的行为选择矢量得到的。于是第二代基于内容项（Item-based）的协同过滤技术就产生了。与基于用户的技术不同的是，这种方法比较的是内容项与内容项之间的相似度。 Item-based方法同样需要进行三个步骤获得推荐：
1）得到内容项（Item）的历史评分数据。
2）针对内容项进行内容项之间的相似度计算，找到目标内容项的“最近邻居”。
3）产生推荐。这里内容项之间的相似度是通过比较两个内容项上的用户行为选择矢量得到的。基于用户的推荐系统相比，基于内容项的推荐系统最大的改进是更具有扩展性。基于内容项的方法通过计算内容项之间的相似性来代替用户之间的相似性。
不论是第一代的基于用户方法，还是第二代的基于内容项方法，都不可避免的遇到数据稀疏的问题。
基于内容和基于协同过滤两种方式的区别
无论从用户还是服务提供者的角度出发，这两种推荐方式都有各自明显的优劣。如果采用“基于内容的过滤”，那么在完成内容和用户互相匹配的过程中，就可能出现“越读越窄”、“越听越窄”、“越看越窄”的问题，提供的内容完全与用户兴趣点相吻合，而没有发散。
“协同过滤”在很大程度上避免了这个问题，但是他需要用户达到一定数量级之后才能发挥出网站创建者预想的效果，这种“网络效应”使得同一市场上的后来者很难找到切入的机会。而用户一旦不能得到“好处”，可能迅速离去，而来不及提“利他”的后话。
3.基于实时行为的推荐
目前流行的实时搜索开始了这方面的研究。
推荐引擎需要面对的问题
1.数据匮乏
2.应对数据变化
 因为核心算法是对历史数据的统计，所以偏爱老数据，而新的变化难于及时体现，所以难于跟上时尚潮流的变化（pastbehavior [of users] is not a good tool because the trends are always changing），同时原文指出：在变化很快的时尚领域物品推荐方式不太奏效，因为单个物品的特性太多而且随时间变化，所以，社会化推荐也许更有效。
3.应对用户喜好的变化
用户每次使用同一个系统（例如，Amazon）的目的不同，所以推荐算法也许会迷惑。但是，本人认为通过长时间的采集用户的行为数据，某个用户的消费倾向还是能够把握的，本人使用当当网购物时就体会到它的推荐还是比较贴合我的口味的。
4.个别物品的特性具有对立的多面性
有些物品，在同一个物品身上能够发现不相容的特性，主要在文化基因和个人喜好方面，这类物品很难推荐。
5.计算很复杂
要面对的问题有：原始数据量巨大、需计算的参数很多，因此计算很复杂。个性化数据
6.个性化数据是关键，而这些数据一般都是结构化数据。


基于Amazon研究
 据称，Amazon 有35%的页面销售源自于她的推荐引擎。
 Amazon的推荐引擎，是一个需要用户一定参与的系统，用户的输入将对推荐的内容起到指导作用；如果指导有方，则会提供更符合个人品味的推荐。
她会记录你已在Amazon购买的历史、你最近的浏览历史（根据活跃度调整，可拒绝此类跟踪），并需要主动告知引擎你对某些商品的打分（此打分不同于评价，只用于推荐引擎、且对他人不可见），和你已拥有的商品（用于排除这个推荐）。根据这些数据来做出判断
另外，Amazon的推荐引擎并不只有这一块内容，在浏览、tag、商品页面都有很多推荐，可以说推荐无处不在。从她的功能点来看，似乎可以分为三块内容：以人为着眼点、以物为着眼点以购物过程为着眼点。同时还采用了跨类推荐，对不同类的按热度排列。
基于豆瓣的研究
大家可以看这里http://www.slideshare.net/clickstone/ss-2756065。 
基于八音盒的研究
 八音盒（www.8box.cn）是一个基于音乐分享及偏好而建立起来的SNS服务, 利用多年积研发的推荐引擎，8box能帮你找到可能喜欢的音乐，帮你分析出哪些用户是你的音乐“同好”。八音盒通过你推荐、试听、打分、评论音乐的过程，学习你的口味，并依此帮助过滤出你喜欢的音乐。发现音乐的最好途径是通过你的同好。八音盒能够根据你的口味，推荐相似的用户给你。应该说“个性化推荐引擎&#8211;IntelliProvider”是音乐八音盒的技术基石。
 [...]]]></description>
			<content:encoded><![CDATA[<p><strong> </strong></p>
<h3><span style="text-decoration: underline;"><strong>什么是推荐引擎？</strong></span></h3>
<p>推荐引擎利用特殊的信息过滤（IF，Information Filtering）技术，将不同的内容（例如电影、音乐、书籍、新闻、图片、网页等）推荐给可能感兴趣的用户。通常情况下，推荐引擎的实现是通过将用户的个人喜好与特定的参考特征进行比较，并试图预测用户对一些未评分项目的喜好程度。参考特征的选取可能是从项目本身的信息中提取的，或是基于用户所在的社会或社团环境。</p>
<h3><span style="text-decoration: underline;"><strong>推荐引擎的分类</strong></span></h3>
<p><strong> </strong>1. 个性化的推荐－－根据用户过去在网站的行为进行推荐。</p>
<p><strong> </strong>2. 社会化推荐－－根据类似用户过去在网站的行为进行推荐。</p>
<p><strong> </strong>3. 基于产品的推荐－－基于产品本身的特性进行推荐。</p>
<p><strong> </strong>4. 以及上述三种的方法的组合。</p>
<h3><span style="text-decoration: underline;"><strong>推荐引擎的开放</strong><strong>api</strong></span></h3>
<p>商业推荐引擎不仅仅用来把数据计算出来，在后期必须充分的利用这些高质量的推荐数据，通过推荐引擎的开放API，可以在任何需要调用推荐数据的地方使用这些高质量的推荐数据，实现集中计算，分散使用。企业推荐引擎的数据可以扩展到网站的任何一个角落，给互联网客户贴心的用户体验。</p>
<h3><span style="text-decoration: underline;"><strong>推荐引擎的通用算法</strong></span></h3>
<p><span style="color: #008080;"><strong>1.基于关联规则的推荐算法（Association Rule-based Recommendation）</strong></span></p>
<p><span style="color: #008080;"><strong>2.基于内容的推荐算法 (Content-based Recommendation)</strong></span></p>
<p><strong> </strong>内容过滤主要采用自然语言处理、人工智能、概率统计和机器学习等技术进行过滤。</p>
<p><strong> </strong>基于内容过滤的系统其优点是简单、有效。其缺点是特征提取的能力有限，过分细化，纯基于内容的推荐系统不能为客户发现新的感兴趣的资源,只能发现和客户已有兴趣相似的资源。这种方法通常被限制在容易分析内容的商品的推荐，而对于一些较难提取出内容的商品，如音乐CD、电影等就不能产生满意的推荐效果。</p>
<p><span style="color: #008080;"><strong>3.协调过滤推荐算法 （Collaborative Filtering Recommendation）</strong></span></p>
<p>与传统文本过滤相比，协同过滤有下列优点:</p>
<p>1）能够过滤难以进行机器自动基于内容分析的信息。如艺术品、音乐。</p>
<p>2）能够基于一些复杂的，难以表达的概念（信息质量、品位)进行过滤。</p>
<p>3）推荐的新颖性。 正因为如此，协同过滤在商业应用上也取得了不错的成绩。Amazon，CDNow，MovieFinder，都采用了协同过滤的技术来提高服务质量。</p>
<p>缺点是:</p>
<p>1）用户对商品的评价非常稀疏，这样基于用户的评价所得到的用户间的相似性可能不准确（即稀疏性问题）。</p>
<p>2）随着用户和商品的增多，系统的性能会越来越低（即可扩展性问题）。</p>
<p>3）如果从来没有用户对某一商品加以评价，则这个商品就不可能被推荐（即最初评价问题）。因此，现在的电子商务推荐系统都采用了几种技术相结合的推荐技术。</p>
<h3><span style="text-decoration: underline;"><strong>推荐引擎的过滤方式</strong></span></h3>
<p><span style="color: #008080;"><strong>1.基于内容的过滤</strong></span></p>
<p><strong> </strong>了解内容和用户的特质，送上合适产品的做法，被称为“基于内容的过滤” (Content Based Filtering)</p>
<p><span style="color: #008080;"><strong>2.协同过滤”(Collaborative Filtering) 的推荐方式</strong></span></p>
<p><span style="color: #008080;"><strong> </strong></span></p>
<div id="attachment_236" class="wp-caption aligncenter" style="width: 487px"><strong><strong><a href="http://www.xisoo.net/wp-content/uploads/2010/01/11.jpg"><img class="size-full wp-image-236" title="协同过滤二层推荐模型" src="http://www.xisoo.net/wp-content/uploads/2010/01/11.jpg" alt="" width="477" height="308" /></a></strong></strong><p class="wp-caption-text">图--协同过滤二层推荐模型</p></div>
<p><strong> </strong><strong><br />
</strong></p>
<p><strong> </strong>以“协同过滤”推荐机制为核心，网站并不需要做出如同“What to Rent”的“性格-产品”匹配，而只需要了解“用户都在同哪些人进行交往”、“用户加入了哪些组群”、“用户都在看谁的页面”这样的问题，然后根据“物以类聚、人以群分”的思路为用户推荐他的伙伴都感兴趣的事物。</p>
<p><strong> </strong>第一代的协同过滤技术，又被称为基于用户（User-based）的协同过滤。基于用户的协同过滤，基本原理是基于用户行为选择的相关性。</p>
<p>协同过滤的核心问题是寻找与目标用户兴趣相近的一组用户。这种相似用户通常被称为最近邻居（Nearest Neighbor）。用户之间的相似度是通过比较两个用户的行为选择矢量得到的。于是第二代基于内容项（Item-based）的协同过滤技术就产生了。与基于用户的技术不同的是，这种方法比较的是内容项与内容项之间的相似度。 Item-based方法同样需要进行三个步骤获得推荐：</p>
<p>1）得到内容项（Item）的历史评分数据。</p>
<p>2）针对内容项进行内容项之间的相似度计算，找到目标内容项的“最近邻居”。</p>
<p>3）产生推荐。这里内容项之间的相似度是通过比较两个内容项上的用户行为选择矢量得到的。基于用户的推荐系统相比，基于内容项的推荐系统最大的改进是更具有扩展性。基于内容项的方法通过计算内容项之间的相似性来代替用户之间的相似性。</p>
<p>不论是第一代的基于用户方法，还是第二代的基于内容项方法，都不可避免的遇到数据稀疏的问题。</p>
<p><strong>基于内容和基于协同过滤两种方式的区别</strong></p>
<p>无论从用户还是服务提供者的角度出发，这两种推荐方式都有各自明显的优劣。如果采用“基于内容的过滤”，那么在完成内容和用户互相匹配的过程中，就可能出现“越读越窄”、“越听越窄”、“越看越窄”的问题，提供的内容完全与用户兴趣点相吻合，而没有发散。</p>
<p>“协同过滤”在很大程度上避免了这个问题，但是他需要用户达到一定数量级之后才能发挥出网站创建者预想的效果，这种“网络效应”使得同一市场上的后来者很难找到切入的机会。而用户一旦不能得到“好处”，可能迅速离去，而来不及提“利他”的后话。</p>
<p><span style="color: #008080;"><strong>3.基于实时行为的推荐</strong></span></p>
<p>目前流行的实时搜索开始了这方面的研究。</p>
<h3><span style="text-decoration: underline;"><strong>推荐引擎需要面对的问题</strong></span></h3>
<p><span style="color: #008080;"><strong>1.数据匮乏</strong></span></p>
<p><span style="color: #008080;"><strong>2.应对数据变化</strong></span></p>
<p><strong> </strong>因为核心算法是对历史数据的统计，所以偏爱老数据，而新的变化难于及时体现，所以难于跟上时尚潮流的变化（pastbehavior [of users] is not a good tool because the trends are always changing），同时原文指出：在变化很快的时尚领域物品推荐方式不太奏效，因为单个物品的特性太多而且随时间变化，所以，社会化推荐也许更有效。</p>
<p><span style="color: #008080;"><strong>3.应对用户喜好的变化</strong></span></p>
<p>用户每次使用同一个系统（例如，Amazon）的目的不同，所以推荐算法也许会迷惑。但是，本人认为通过长时间的采集用户的行为数据，某个用户的消费倾向还是能够把握的，本人使用当当网购物时就体会到它的推荐还是比较贴合我的口味的。</p>
<p><span style="color: #008080;"><strong>4.个别物品的特性具有对立的多面性</strong></span></p>
<p>有些物品，在同一个物品身上能够发现不相容的特性，主要在文化基因和个人喜好方面，这类物品很难推荐。</p>
<p><span style="color: #008080;"><strong>5.计算很复杂</strong></span></p>
<p>要面对的问题有：原始数据量巨大、需计算的参数很多，因此计算很复杂。个性化数据</p>
<p><span style="color: #008080;"><strong>6.个性化数据是关键，而这些数据一般都是结构化数据。</strong></span></p>
<p><span style="color: #008080;"><strong><br />
</strong></span></p>
<p><strong>基于</strong><strong>Amazon</strong><strong>研究</strong></p>
<p><strong> </strong>据称，Amazon 有35%的页面销售源自于她的推荐引擎。</p>
<p><strong> </strong>Amazon的推荐引擎，是一个需要用户一定参与的系统，用户的输入将对推荐的内容起到指导作用；如果指导有方，则会提供更符合个人品味的推荐。</p>
<p>她会记录你已在Amazon购买的历史、你最近的浏览历史（根据活跃度调整，可拒绝此类跟踪），并需要主动告知引擎你对某些商品的打分（此打分不同于评价，只用于推荐引擎、且对他人不可见），和你已拥有的商品（用于排除这个推荐）。根据这些数据来做出判断</p>
<p>另外，Amazon的推荐引擎并不只有这一块内容，在浏览、tag、商品页面都有很多推荐，可以说推荐无处不在。从她的功能点来看，似乎可以分为三块内容：以人为着眼点、以物为着眼点以购物过程为着眼点。同时还采用了跨类推荐，对不同类的按热度排列。</p>
<p><strong>基于豆瓣的研究</strong></p>
<p>大家可以看这里<a href="http://www.slideshare.net/clickstone/ss-2756065">http://www.slideshare.net/clickstone/ss-2756065</a>。<strong> </strong></p>
<p><strong>基于八音盒的研究</strong></p>
<p><strong> </strong>八音盒（www.8box.cn）是一个基于音乐分享及偏好而建立起来的SNS服务, 利用多年积研发的推荐引擎，8box能帮你找到可能喜欢的音乐，帮你分析出哪些用户是你的音乐“同好”。八音盒通过你推荐、试听、打分、评论音乐的过程，学习你的口味，并依此帮助过滤出你喜欢的音乐。发现音乐的最好途径是通过你的同好。八音盒能够根据你的口味，推荐相似的用户给你。应该说“个性化推荐引擎&#8211;IntelliProvider”是音乐八音盒的技术基石。</p>
<p><strong> </strong> 简单的来说，8box推荐音乐的依据有三种：</p>
<p>1.依靠音乐本身的属性信息判断音乐的相关性，做出推荐。</p>
<p>2.依靠听众对这个音乐的评价和反映来推断音乐的相关性，做出推荐。</p>
<p>3.依靠分析用户的行为，发掘出用户的音乐同好，从而做出推荐。</p>
<p><strong>基于遗传学的推荐系统-潘朵拉（</strong><strong>Pandora</strong><strong>）</strong><strong> </strong></p>
<p>音乐染色体组项目的 推出，目的在于把音乐解析成为最基本的基因组成。它的基本想法是：我们因为音乐的某些特性喜欢音乐－－那么为什么不能根据音乐的某些相似之处设计出一套推 荐系统呢？这类推荐系统应该属于基于产品的推荐。但具有深刻创新意义的是，产品（音乐产品）的相似性，通过“基因”组成来衡量。</p>
<p>这种“即刻满足感”是很难抗拒的。因为pandora 了解音乐相似性背后的因素，它不需要了解用户的好恶，就可以把用户黏住。确实，pandora 需要把握用户的口味或记忆－－但这正是蕴藏在音乐本身的dna中了。当然pandora有时并不完美，会播放不对用户口味的音乐。但这很少发生。</p>
<p><strong>基于标签的推荐系统-</strong><strong>Del.icio.us</strong><strong> </strong></p>
<p>非常简明的推荐系统，它指基于一个基因－－那就是一个标签。<strong> </strong></p>
<p><strong> 总结到这里，要是有这方面的技术人员交流就好了！！！</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xisoo.net/2010/01/12/csi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
