你的位置:萧过无痕的栖息地 \ 分类:网络文摘 \ 文章正文

Taste/Thoth:开源的推荐系统引擎

正在更新 @ 2011年7月15日 17:16:58 周五


Taste()是非常棒的一个推荐系统核心引擎,sf 上可以下载到 Taste 的最新版本。Taste 同时也是 2007 Google Summer of Code 里的一个项目。当初学习推荐系统开发的时候,遍搜网络,这个是我个人找到的最全面最完整的一个开源包。细读代码之后,虽然没有 Lucene 曾经带给我的那种震撼,但也绝对可以称得上是开源世界里的上佳之作!经常有朋友发 Email 希望我介绍一些推荐系统相关的资料,这个是我必然推荐给大家的一个。

下面翻译自 Taste 文档的 Overview 部分。

Taste 是使用 Java 语言开发的一套灵活、快速的协同过滤引擎。他根据用户(Users)对某些项(Items)的偏好(Preferences),来推断用户对其他一些项的偏好程度。举个例子,一个出售书籍或CD的在线零售商(比如amazon/dangdang/joyo),使用 Taste 引擎,可以方便地依据已有的购物篮数据,为用户推荐他可能感兴趣的书籍或CD。

Taste 提供了丰富的组件集,基于其中的算法,你可以定制出自己的推荐系统。Taste 从设计上就力求能够满足于企业级的要求,效率、可扩展性与灵活性是它的设计目标。它为基于 J2EE 的应用提供了一个标准的 EJB 接口。但 Taste 并不是仅限于 Java 平台。它能够以独立 Server 的形式运行,通过 Web Services 和 HTTP 方式向其它(语言开发的)应用程序提供推荐逻辑。

Taste 的顶级包里抽象出了下面这些核心接口。

DataModel
PreferenceTransform
UserCorrelation and ItemCorrelation
UserNeighborhood
Recommender

在 comp.planetj.taste.impl 命名空间下,有这些接口的实现代码。从这些核心接口开始,你就可以搭建你自己的推荐引擎了。简而言之,这就是 Taste!倾向于学术的,Taste 可以支持 Memory-based(即我之前 blog 里提到的 User-based) 和 Item-based 两种推荐形式,提供了包括 Slope One 在内的一些算法的实验性实现。Taste 目前尚不支持 Model-based 推荐。

2007年6月30日,Taste 发布了其最新的一个版本 1.5.5。在这个版本里面,甚至还包含了针对 Netflix 数据的一个实验包。不得不说,Netflix Prize [1] [2], 真的是一个双赢的活动!本来,推荐领域已经冷清了有些日子,其中一个很大的原因就是大家做实验的基础只有 GroupLens/EachMovie 这两个数据源,搞来搞去想突破也不容易了。Netflix 公开他的数据,使做 Research 的学者们拿到了宝贵的 big data,终于可以跳出 GroupLens/EachMovie 的框框了。随着基于 Netflix 数据所取得的 最新研究成果不 断出现,无疑会不断促进着推荐技术下一个热潮的到来。与此同时,学者们的积极参与,也使得 Netflix 越来越接近于其追求的推荐准确率,并且,通过媒体的广泛报道,Netflix 也赢得了高知名度和好的口碑。说实在的,用 1M$ 买到如此多最新的技术成果,同时又获得了不小的商业收益,这个买卖真是值了!

去年,我试着给 Taste 的作者发过几次 Email,希望能加入到 Taste 的开发 Team 里,可一直没有收到任何答复。今年年初,在 Google Summer of Code 上又申请了一次,仍然没有回应。始终入不了高人的法眼,说明自己差距还很大啊。要说开源的推荐引擎,Java 下最多,PHP 有个 Vogoo,Python 下零零散散的也能找到一些,唯独 .Net 下基本没有。基于上两方面的原因,我和一个好朋友商量,准备把 Taste 移植到 .Net 平台下。一来通过移植代码,加深自己的理解;二来也算是为 .Net 社区做点儿贡献,哈哈。

我们的项目暂时命名为 Beyond.Thoth,之所以没有叫 Taste.Net,主要是因为我们打算逐步加入自己的一些实现。改名这事儿对 Taste 可能有些不敬,但我们会在代码里面,明显标出对 Taste 的引用。目前核心代码已经移植完毕,正在进行算法的准确性验证和性能调优。资源在这里,目前还是空的,有发布后我会第一时间在 blog 里通知各位朋友。

Beyond.Thoth on sf.net,
Beyond Thoth Group on google,

 

引用地址:

说说看:(点击申请属于你的个性头像)

(*)

关于站长
网站公告
  • O(∩_∩)O
分类
最近关注
  • 最近关注着的娱乐节目有:
    1.CSI现场犯罪调查(三部);
    2.危机边缘
    3.暗侠
    4.都市侠盗
随便溜达
最新评论
言论
  • ⒈决不能因为一件伤心的失望的事,就从此放弃生活中一切有价值的东西;
    ⒉要像一颗青树,大风将树根吹折,然而巨大的树干,却永远树立;
    ⒊想匆匆忙忙地完成一件事以期达到加快速度的目的,结果总是要失败的;
    ⒋如果你是对的,就要试着温和地,技巧地让对方同意你;如果你错了,就要迅速而热诚地承认。这要比为自己争辩有效和有趣的多;
    ⒌"思考"应当走到众人前面去,"冤枉"不妨留在后面;
    ⒍如果试图改变一些东西,首先应该接受很多东西;
    ⒎以后更新^_^
友情连接
存档