最好走的路越走越难,最难走的路越走越容易

Follow guwendong on Web
  • Subscribe to Beyond Search via RSS
  • Follow @clickstone on SinaWeibo
  • Join Resys Google Group
  • Follow @clickstone on Douban
  • Follow @clickstone on Twitter

Category Archives: 个性化站点

个性化站点:MyFriendSuggests.com

MyFriendSuggests.com 的 logo 很有意思,生动形象地传达了这个网站的主旨:物以类聚,人以群分,朋友的建议最管用。

MFS(MyFriendSuggests.com 的简写)于2007年7月17日正式启动,核心业务与国内的大众点评网类似,提供对诸如饭店、酒吧、俱乐部等本地服务的评论和打分。但与其他类似评论站点不同的是,MFS 是以 Social Network 为基础的。首先,你可以邀请你线下的好友一起加入 MFS,MFS 以类似六度空间的模型建立起你的关系网络。之后你就可以开始对你喜欢的饭店、酒吧、或是旅游景点什么的进行点评了,形式无外乎就是数星星或者写评语之类的,你贡献的数据越多,MFS 给你的推荐就可能会越准确。在 MFS 的推荐算法中,加重了你的 Friend Neighborhoods 的权重,也就是说,MFS 不是简单的使用 User-based 或者 Item-based 的推荐模式,而是区别对待你的好友与其他你的关系网络里的用户,使得你的 Fried Neighborhoods 可以对 MFS 给你的推荐产生更多的影响。从我们的实践经验来看,这是有意义的,我们大家多半都会比较信任自己朋友们的意见。

与其他 web2.0 的应用一样,MFS 有一个轻型的开发团队,主创也是一个勤奋的 blogger。但不同的是,他们并没有使用 Python 或是 Ruby 这样的动态语言,而是基于 Java 进行 MFS 的开发。最核心的推荐引擎,是基于 Taste 框架完成的。我是在一次查找 Taste 资料时,发现了这篇 blog,Creating a custom recommender using taste,从而开始关注 MFS 的。MFS 认为使用 User-basedItem-based 混合的方法,可以取得更好的推荐效果,并给出了他们目前使用的公式:

P(u,x) = alpha*uRec(u,x) + (1-alpha) * iRec(u,x)
其中,uRec 和 iRec 分别对应 Taste 中使用 User-based 方法与 Item-based 方法计算得到的推荐得分,alpha 为一个 0 到 1 之间的常数,用于调节 User-basedItem-based 方法的权重。

facebook 推出他们的 Applicaiton 平台之后,MFS 也推出了 for facebook 的应用,见这里 http://apps.facebook.com/myfriendsuggests/。感兴趣并且有 facebook 帐号的朋友,可以试试看。不过,由于 MFS 的业务是 local 模式的,因此目前对国内用户的用户不大。

 

个性化站点:CiteULike.org

CiteULike.org,每一个研究人员都一定会喜欢的 papers 管理与分享工具!

del.icio.us 类似,CiteULike 也是一个社会化书签的服务。del.icio.us 针对于网页,应用范围广泛;而 CiteULike 针对于 papers,应用非常专注。而正因为专注,使得在管理与分享 papers 时, CiteULike 具备了绝对的优势!当你保存一篇 papers 时,最重要的 meta 数据,包括,标题、作者、杂志等,CiteULike 可以自动帮你提取出来,Cool!找到这个工具,可是让我高兴了几天。

简单的注册之后,你就可以开始向 CiteULike 提交 paper 了。有两种方法:一种是在 CiteULike 网站提供的输入框里填写 paper 的 URL;另一种更简单,和 del.icio.us 一样使用 bookmarklet 的方式,在 paper 页面上点击一个 javascript 链接,一切搞定。经过 del.icio.us 的普及,如今的 bookmarklet 已经成为此类应用的标准配置。当然了,不可能做到任何网站上的 papers 都可以自动提取 paper 的 meta 数据,但 CiteULike 已经对大多数常用的 papers 站点提供了支持,包括:ACL Anthology | AIP Scitation | Amazon | American Chem. Soc. Publications | American Geophysical Union | Anthrosource | arXiv.org e-Print archive | Association for Computing Machinery (ACM) portal | BioMed Central | Blackwell Synergy | BMJ | CiteSeer | Cryptology ePrint Archive | DBLP | HighWire | IEEE Explore | informaworld | Ingenta | IngentaConnect | IoP Electronic Journals | IWA Publishing Online | Journal of Machine Learning Research | JSTOR | MathSciNet | MetaPress | NASA Astrophysics Data System | National Bureau of Economic Research | Nature | New Scientist | Optical Society of America | Physical Review Online Archive | PLoS | PLoS Biology | Project MUSE | PubMed | PubMed Central | Royal Society | Science | ScienceDirect | Scopus | Social Science Research Network | SpringerLink | Usenix | Wiley InterScience。这么一大票,足够用了,我最常用的是 CiteSeerPubMed。用户还可以导出自己的 library,就是用户自己的 papers 集合。目前支持三种形式,BibTeXReference Manager (RIS) format 和 RSS。据说接下来将支持 Semantic Web 标准,又一次证明,Semantic Web 是个好东西。

出来导入 paper 非常方便之外,CiteULike 另一个对我们最有益的功能自然是基于社会化推荐的功能了。最基本的方式与 del.icio.us 类似,CiteULike 通过使用 tag 将 papers 关联起来,用户可以非常方便的查看标有相同 tag 的 papers。针对 paper 的特点,CiteULike 还提供了浏览某个作者所有 papers 的功能,非常好用。通过共同拥有的 papers,CiteULike 可以帮用户找出相似的其他用户,进一步结合 Groups 的功能,用户可以建立虚拟实验室,或者共同探讨某一个研究领域。

感谢 Richard Cameron 的无私,CiteULike 本来是他自己私人使用的系统,后来由于逐渐有人加入近来,他将 CiteULike 正式开放了出来。技术方面,CiteULike 混合使用了 Tcl、Common Lisp、Perl 和 Erlang 多种编程语言,数据库是 PostgreSQL。整体来讲,CiteULike 的功能已经很不错了,不过我一直迫切希望一个功能,就是 post paper 时增加自动提示系统内已有 tag 的功能!目前可以提示自己的 tag,但其实更有用的是提示别人的 tag,这样才能形成社会化分享。

 

个性化站点:AideRSS.com

xxxx,Google Docs!!!费劲写完的东西,点击了一下“Edit HTML”,报了一个服务器错误之后,我的内容就再也找不回来了!!!而且居然还 xxx 对脱机使用做了限制,连从本地 cache 里找回来的机会都不给!!!刚有人质疑了,“那个“不做恶”的承诺,已经是一个风中的承诺?”,居然现在又连大家最信赖的稳定性都出了问题。700$/股 的 google?
互联网上没有永远稳定的服务,请自行保护好自己的劳动成果,切记切记!!!


AideRSS.com 是2007年7月24日新近推出的一个 web2.0 站点。从域名就可以知道,AideRSS 做的是与 RSS Feed 相关的业务。其实就目前来讲,AideRSS 还并不是一个个性化站点,仅提供了 blog 评估/过滤的服务。但我相信,AideRSS 一定会向个性化服务方向发展,而且绝不会让大家等太久。

关于 RSS 处理的话题,我在之前的 blog 里也说了不少,比如 [1], [2]。之所以甘愿将这篇 blog 稍微跑题一下,也要再说说 RSS,实在是因为,通过 RSS 订阅阅读 blog,已经成为我每天必定要做的功课。我实在期盼着在 blog 阅读领域,能有创新性的应用出来。由于担心会错过可能的精彩文章,我常常因为一两篇好的 blog,而一时冲动订阅了整个 Feed。大量的 Feed 订阅,导致产生了大量的未阅读文章,看着 GReader(faint,又是 google,google 不会把我的 feed 订阅也弄丢吧) 里那些类似于 100+ 的数字,我常常会无可奈何地“mark all as read”。对于像我这样的 Feed 受众,实在是太需要有一个服务来帮助我一下了!

AideRSS 正在进行这方面的创新。AideRSS 的使用非常简单,用户提交 Feed 地址,AideRSS 自动抓取其中的 blog,进行评估。AideRSS 的核心技术为 PostRank 值的计算。AideRSS 会自动统计一篇 blog 在 DiggDel.icio.usBloglinesTechnoratiIcerocket 以及 Google Blog Search 这些第三方网站上的收藏数、收录数与留言数等,计算一个综合的 PostRank 得分。PostRank 得分越高,表示 AideRSS 认为这篇 blog 的可读性越高。由于综合使用了多家第三方知名网站的数据,因此 PostRank 具有一定的可参考性。AideRSS 按照 PostRank 得分,将 blog 进行了等级划分,包括 Good Post、Great Post 和 Best Post。并且,AideRSS 还将这些不同等级的结果,重新烧制了 Feed,用户可以直接订阅这个 Feed,非常方便。目前微遗憾的是,虽然 AideRSS 对中文的支持已经很好了,但由于所选取的第三方网站都是以英文为主要服务语言,因此,对国内中文 blog 进行 PostRank 计算,大多数得分都不高。我本来非常喜欢 AideRSS 输出的 widget 的设计,但由于我的 blog 得分太低,实在不好意思放上来,呵呵。

前面,我之所以那么确信 AideRSS 一定会向个性化服务方向发展,是因为 AideRSS 的团队。我一直在阅读 Ilya Grigorik 的 blog,Ilya 是 AideRSS 的首席架构师,是 PostRank 的主创人,另外还是一个勤奋的 blogger。在他的 blog 里,有不少关于个性化技术方面的内容,比如这篇“Dissecting the Netflix Dataset”,这篇“SVD Recommendation System in Ruby”和这篇“SVM Text Classification”,等等。从这些 blog 里,可以清晰地看到,AideRSS 正在进行个性化技术方面的尝试,也许不久就会放出成果。在 Web 技术方面,AideRSS 是典型的 Web2.0 架构,Ruby On Rails(ROR)+ MySQL。自然,Ilya 的 blog 里也少不了 Ruby/MySQL/Web 技术方面的精彩文章。如果你喜欢 Ruby,碰巧又对个性化技术感兴趣的话,那么我推荐你一定要订阅 Ilya Grigorik的 blog 跟踪阅读。

如果你有着 RSS 阅读强迫症,订阅了 N 多的 Feed,并且以英文 blog 为主,那么强烈建议你试用一下 AideRSS。

 

ResysChina 发起人
1. 持续关注 个性化推荐 技术;
2. 持续关注 Semantic Web 技术;
3. 评论与上两项相关的互联网业务与产品;

我相信技术的力量!
wendell.gu@GMail.com

Archives