2009年3月26日 星期四

[技術]推薦系統及APACHE TASTE

之前初到宇匯工作時,公司很得意的產品就是推薦系統,不過宇匯在行的推薦系統其實是一個大型向量空間模型,要推薦的事物必須可被向量化,這類推薦其實是尋找相似性,和使用者沒有關係,最近看到個類似專案http://code.google.com/p/semanticvectors/.更棒的DEMO是YAHOO的Correlator http://correlator.sandbox.yahoo.net/,難怪MS要買YAHOO.

第二種推薦很簡易,忽略使用者部份,直接分析項目間共現關係,Frequent Itemset Mining http://fimi.cs.helsinki.fi/,典型應用是尋找相關詞.

最後一種和使用者相關,沒有深奧原理,對硬體RAM需求高是特點,優點是簡單可延伸出使用者相關應用,缺點是難說明推薦結果如何形成.網路上最熟悉就是AMAZON書單推薦,台灣博客來(應該說台灣AMAZON 笑)也有嘗試效法,其他應用包括推薦新聞(FINDORY),或是目前很流行的個人化廣告.

在宇匯工作後期,公司花了不少精力發展這類系統,只不過網路上Cofi,CoFE,APACHE TASTE都可以使用,為什麼要自己發展呢?尤其是APACHE TASTE,文件清楚,程式架構簡單易懂,10M以下資料量效果很好,對中小型需求來說,絕對綽綽有餘.TASTE最大缺點是無法處理10M以上資料,這部份作者也沒提到怎麼解決.http://www.nabble.com/user/UserPosts.jtp?user=660570,另外未來如果需要在TASTE上加上什麼東西,或許可以參考http://en.wikipedia.org/wiki/Root_mean_squared_error

目前則是拿TASTE分析BLOGGER遊玩過地方,提供推薦,效果還不確定.

[2009/4/20]TASTE專案似乎加入了SVD和KNN,對平行處理幫助不大,有另外一個專案http://code.google.com/p/netflixhadoop,似乎探討平行方面問題,不過好像沒什麼具體呈現

沒有留言:

張貼留言