中科院的xlvector(即項(xiàng)亮,他所在的團(tuán)隊(duì)The Ensemble在7月份獲得Netflix大獎(jiǎng)賽公開測(cè)試排名第一,但在9月22日Netflix宣布BPC獲勝,原因據(jù)說只是因?yàn)轫?xiàng)亮他們提交結(jié)果晚了20分鐘)最近發(fā)布了一個(gè)小工具GRSuggest,有點(diǎn)像之前Kuber在FeedzShare所做過的“個(gè)性化閱讀”,都屬于“基于某個(gè)Google Reader用戶的Shared Items中的文章,為該用戶推薦他可能感興趣的其他文章”,基本都是基于 User-based Collaborative Filtering 算法原理。
項(xiàng)亮在《關(guān)于GRSuggest的一些思考》中說:“去重的問題,這個(gè)問題在文章推薦中非常常見,很多文章都被轉(zhuǎn)載N次了,經(jīng)常發(fā)現(xiàn)一個(gè)幾年前的老貼又被轉(zhuǎn)載,其實(shí)我的推薦系統(tǒng)本身也是轉(zhuǎn)載”。
這個(gè)延伸出來的是三個(gè)常見問題,確實(shí)不好解決。
一、火星人現(xiàn)象
我前一段發(fā)了一個(gè)tweet:“不知道 Digg 能否解決火星帖頻頻被推薦的問題,這應(yīng)該是所有digg類社區(qū)共同面臨的問題:不管一個(gè)帖子或段子有多近期老多頻繁被digg,隔一段時(shí)間總會(huì)有一個(gè)人當(dāng)成寶貝發(fā)出來并被一大批火星人推薦。”
有人認(rèn)為,火星帖如果是優(yōu)秀的,當(dāng)然有權(quán)利被翻出來啊。但請(qǐng)注意,在某一個(gè)單一社區(qū)中,可以假設(shè)用戶群有相似的知識(shí)結(jié)構(gòu),那么以往的老貼子可以被翻出來,是可以的,天涯社區(qū)就屢屢這么搞,但在一個(gè)推薦系統(tǒng)中,如果還是不顧用戶的知識(shí)結(jié)構(gòu),屢屢出現(xiàn)很多老段子,那就真的是在驅(qū)趕用戶了。
火星人現(xiàn)象的關(guān)鍵是,以前大家也討論過很多遍的:“推薦系統(tǒng)無法獲知用戶以前的知識(shí)結(jié)構(gòu)”的問題。也就是說,一個(gè)單一的、新出現(xiàn)的個(gè)性化推薦系統(tǒng),由于不知道用戶的知識(shí)結(jié)構(gòu)(即以往的閱讀經(jīng)歷、經(jīng)驗(yàn)),推薦的很多Item一定是用戶已經(jīng)熟知和閱讀過的,這對(duì)于應(yīng)用創(chuàng)始人和用戶來說都是一個(gè)很不好的體驗(yàn),但又完全無法規(guī)避。我們舉一個(gè)很簡(jiǎn)單的例子,如果你在豆瓣中廝混時(shí)間不長(zhǎng)的話,總會(huì)被豆瓣猜按照你的寥寥無幾的動(dòng)作推薦很多你看過、聽過、讀過的東西,而且是屢屢如此,你被逼的不得不一個(gè)一個(gè)點(diǎn)擊掉,來讓豆瓣了解你許久以來的經(jīng)歷。
從Google Reader Shared Items衍生出來的推薦系統(tǒng)就存在這個(gè)問題,Shared Items并不能反映用戶的閱讀經(jīng)歷,因?yàn)槟阍贕Reader里看了一篇文章,不代表你會(huì)Shared它,也不一定會(huì)Like它。這是問題一:從根子上就無法完整反映用戶的閱讀經(jīng)歷。
經(jīng)過對(duì)Shared Items中文用戶統(tǒng)計(jì),相當(dāng)一部分用戶(我估計(jì)在50~60%)分享的文章所屬之channels(即博客源)數(shù)量不會(huì)超過5個(gè),10%的用戶甚至只分享至多2個(gè)源的文章。多數(shù)中文用戶分享的文章都出自“名人榜|LeaderBoard”所列出的這些站點(diǎn)。這是問題二:如此大量的閱讀視野狹窄的用戶,推薦系統(tǒng)能否發(fā)揮作用呢?
二、有時(shí)效性和無時(shí)效性
以前劉未鵬針對(duì)玩聚SR曾經(jīng)提過一個(gè)很好的建議:“應(yīng)該將文章分為"有時(shí)效性(如新聞時(shí)政類)"和"無時(shí)效性"(如讀書筆記、GTD方法等等),看上去這需要手工分配或者高級(jí)的自然語言處理,但我意識(shí)到一個(gè)很好的辦法:一般人們是在greader里面共享時(shí)效性文章,在twitter上討論時(shí)效性文章,但"無時(shí)效性",或者timeless的文章會(huì)收藏到delicious上面,因?yàn)間reader/twitter代表分享討論交流,而delicious則代表收藏以后翻查。”
他觀察到一個(gè)技巧:“無時(shí)效性的文章一般很久以后還會(huì)有人往delicious上面收藏,這是個(gè)極好的判斷依據(jù)。而時(shí)效性強(qiáng)的文章就不會(huì)存在這個(gè)屬性。”也就是說,你可以通過檢查一個(gè)文章在delicious的被用戶收藏的時(shí)間,從中發(fā)現(xiàn)哪些文章是有時(shí)效性的。
項(xiàng)亮也提到:“究竟要不要把老帖子翻出來,這個(gè)首先要解決一個(gè)新聞和文章的區(qū)別,對(duì)于新聞,翻出來是沒有意義的,但對(duì)于知識(shí)性的文章,還是可以翻出來的。”
這就是基于Google Reader的推薦系統(tǒng)的另一個(gè)問題:要不要推薦時(shí)效性強(qiáng)的文章?
如果真的能分辨一篇文章的時(shí)效性,那么可以針對(duì)“火星人現(xiàn)象”加一個(gè)規(guī)則:推薦系統(tǒng)不推薦時(shí)效性強(qiáng)的文章,因?yàn)橐皇怯脩敉耆锌赡芡ㄟ^各種渠道早已看到,比如論壇比如twitter比如IM,二是雖然用戶不一定看過,但讓使用推薦系統(tǒng)頻度不高的用戶總看過時(shí)的文章也會(huì)產(chǎn)生這個(gè)系統(tǒng)很爛的印象。畢竟,閱讀和電影不一樣,你可以推薦很老的電影,但不能推薦很老的新聞資訊。
無時(shí)效性的文章還可以這么搞:劉未鵬認(rèn)為可以“判斷時(shí)效性是為了增加信噪比,將無時(shí)效性的文章單立一個(gè)tab來做榜單,可以使后來的用戶持續(xù)訪問到以往一段時(shí)間的精華文章,而不是大量的八卦或時(shí)政,timeless的精華文章列表的好處是一下能夠建立新讀者對(duì)玩聚SR的高質(zhì)量的信任。”我后來雖然提供了存檔入口,但并沒有區(qū)分時(shí)效性。
三、驚喜很難嗎?
項(xiàng)亮認(rèn)為:“推薦文章除了要和用戶的興趣相關(guān),還要起到幫助用戶拓展眼界的作用,這個(gè)方面的研究這幾年已經(jīng)有不少了,也就是找出所謂的能讓用戶驚喜的東西,但是這方面的算法的主要問題是無法評(píng)測(cè),因?yàn)椴恢朗裁礀|西是用戶驚喜的。”
是的,驚喜很難。
何謂驚喜?就是在用戶的知識(shí)結(jié)構(gòu)之外,又是用戶當(dāng)下喜歡的條目(文章、電影、音樂、圖片、視頻)。所謂提及“當(dāng)下”,是因?yàn)橐粋€(gè)用戶的興趣點(diǎn)是動(dòng)態(tài)的。
stumbleupon為何總能給用戶帶來驚喜?
stumbleupon的算法設(shè)計(jì)師Garrett Camp曾給出一張流程圖,描述了當(dāng)按下stumbel!按鈕時(shí),stumbleupon的后臺(tái)流程:
圖中列出了三個(gè)因子:
A、Your Topics,也就是你對(duì)網(wǎng)頁的動(dòng)作,比如like、dislike、quick stumbles(指當(dāng)一個(gè)用戶stumble!到一個(gè)頁面時(shí),沒有對(duì)這個(gè)頁面做任何投票行為,而直接再次點(diǎn)擊stumble!按鈕跳轉(zhuǎn)到另一個(gè)頁面的動(dòng)作,他們將這個(gè)動(dòng)作定義為:“soft not for me” or “down-vote”)。
B、Socially Endorsed Pages,就是你的站內(nèi)好友所like的那些條目。
C、Peer Endorsed Pages,是系統(tǒng)計(jì)算出來的、跟你有相似投票習(xí)慣的人所like的條目。
從中我們可以總結(jié)以下要點(diǎn):
1、一個(gè)能讓用戶有“驚喜”的推薦系統(tǒng),必須捕捉足夠多的用戶行為細(xì)節(jié)。顯然,基于Google Reader的第三方推薦系統(tǒng),拿到的數(shù)據(jù)是嚴(yán)重不足的,你無法知道用戶有意忽略了哪些文章,你很難拿到他的好友列表,Google不像FriendFeed那樣提供Dislike/Hide的按鈕;你只知道他何時(shí)Share或like了某篇文章從何處(值得注意的一個(gè)細(xì)節(jié)是,如果用戶是自己訂閱了煎蛋并推薦其中一篇文章,顯然煎蛋對(duì)用戶來說更加重要;相比而言,用戶只是從其他人的Shared Items訂閱中share了煎蛋的某篇文章,卻不去訂閱煎蛋,說明煎蛋對(duì)他來說可能還不算重要。這個(gè)細(xì)節(jié)有點(diǎn)像“quick stumbles”的思路)。
2、一個(gè)能讓用戶有“驚喜”的推薦系統(tǒng),必須擁有海量用戶,處理海量數(shù)據(jù)。今年2月份,stumbleupon 即已突破七百萬用戶,每天估計(jì)處理1千萬以上次投票行為,至少新增3萬以上個(gè)新推薦條目。Google Reader中文用戶還是太少,而且用戶行為太集中,單憑Shared Items出來的新增文章數(shù)目太少。
這兩點(diǎn)都限制了第三方挖掘“驚喜”的力度。
目前貌似只有twitter能毫無保留地提供各種用戶行為細(xì)節(jié)以及海量數(shù)據(jù)。
聯(lián)系客服