[轉]個性化推薦技術的十大挑戰

近期公司安排咱們部門研究關於手機遊戲平臺的個性化推薦,翻閱了大量的國內外文獻,這裏轉發一翻我的以爲寫的比較實在的隨筆:算法


  個性化推薦常常被人誤解爲細分市場和精準營銷這兩個概念。雖然它們之間有一些聯繫,但實質上卻相差甚遠。本文不只清楚地講述了個性化推薦技術,更列出了其所面臨的十大挑戰。網絡

  不少人都知道個性化推薦,卻有很多認識上的誤區。有的人認爲個性化推薦就是細分市場和精準營銷,但實際上細分市場和精準營銷每每是把潛在的用戶分紅 不少羣體,這與基於全體的統計相比當然有了長足的進步,但距離「爲每個用戶量身定作的信息服務」還有很大的差距,只有作個性化才能實現亞馬遜CEO Jeff Bezos的夢想「若是我有100萬個用戶,我就爲他們作100萬個亞馬遜網站」。dom

  因此,市場細分只是初級階段,而個性化推薦則是市場細分的極致。還有人 認爲個性化推薦等同於協同過濾,這多是由於協同過濾出現得比較早而且比較容易被大衆理解,但實際上協同過濾只不過是衆多個性化推薦技術中的一個早期成 員,遠不能表明個性化推薦技術。機器學習

  隨着個性化的商業應用延展到用戶生活信息流的方方面面,個性化推薦技術也在突飛猛進不斷髮展,相似於協同過 濾這樣的早期技術已經不能知足新環境下的要求,沒法解決新出現的問題。使人興奮的是,過去十年中,咱們見證了無數頂尖級專家與學者投身於推薦方法與技術的 創新中。今天,還些人認爲個性化推薦技術的研究已經進入了很成熟階段,沒有什麼特別激動人心的問題和成果。事實卻偏偏相反,如今個性化推薦技術面臨很大的 挑戰,咱們以前只看到了個性化推薦技術難題這座冰山所露出的一角。ide

  本文將列出個性化推薦技術所面臨的十個挑戰(僅表明我的觀點),其中有一些是不少年前就認識到但一直沒有獲得解決的長期問題。事實上,有些挑戰是不可能徹底解決的,只能提出改良方案,還有一些是在最近研究中提出來的焦點問題。學習

  數據稀疏性問題測試

  如今推薦系統規模愈來愈大,用戶和商品(包括音樂、網頁、文獻等 物品)數目動輒百千萬計,並且用戶之間選擇的重疊很是少。若是以用戶和商品之間已有的選擇關係佔全部可能存在的選擇關係的比例來衡量系統的稀疏性,那麼我 們平時研究最多的MovieLens數據集的稀疏度是4.5%,Netflix是1.2%,Bibsonomy是0.35%,Delicious是 0.046%,這些實際上是很是密的數據。大數據

  想一想淘寶上號稱有8億商品,平均而言一個用戶能瀏覽800件嗎?估計不能,所以稀疏度應該在百萬分 之一或如下的量級。數據很是稀疏,使得絕大部分基於關聯分析的算法(如協同過濾)效果都很差。本質上,這個問題是沒法徹底克服的。解決這個問題的辦法很 多,例如能夠經過擴散的算法,從原來的一階關聯(兩個用戶有多少類似打分或者共同購買的商品)到二階甚至更高階的關聯(假設關聯性或者說類似性自己是能夠 傳播的),也能夠添加一些默認的打分,從而提升類似性的分辨率。通常而言,數據規模越大就越稀疏。如今認爲可以處理稀疏數據的算法(如擴散、迭代尋優、轉 移類似性等)更有價值。優化

  冷啓動問題網站

  由於新用戶罕有能夠利用的行爲信息,因此很難給出精確的推薦。反過來,因爲新商品被選擇次數不多,也難以找到合適的辦法推薦給用戶。一種辦法是利用文本信息進行輔助推薦,或者經過註冊和詢問得知一些用戶的屬性信息,好比年齡、居住城市、受教育程度、性別和職業等。

  最 近普遍應用的標籤系統提供瞭解決冷啓動問題的可能方案,由於標籤既能夠看做是商品內容的萃取,同時也反映了用戶的個性化喜愛。以《桃姐》這部電影爲例,有 的人打的標籤是「倫理」,有的人打的標籤是「劉德華」,兩我的看的電影同樣,但興趣點可能不盡相同。固然,利用標籤也只能是提升有少許行爲的用戶的推薦準 確性,對於純粹的冷啓動用戶,沒有任何幫助,由於這些人尚未打過任何標籤。

  有趣的是,最近的研究顯示,新用戶更容易選擇特別流行的商品。不管如何,這都是一個好消息,說明使用熱銷榜也能得到不錯的結果。冷啓動問題還能夠經過多維數據的交叉推薦部分解決,其精確度和多樣性又遠勝於熱銷榜,這一點後面會進一步介紹。

  大數據處理與增量計算問題

  因 爲數據很稀疏,大部分數據都擁有百千萬計的用戶和商品,因此如何快速高效地處理這些數據成爲迫在眉睫的問題。而算法時間和空間上的複雜性,尤爲是前者,得 到了空前重視。一個高效的算法,要麼複雜性很低,要麼可以很好地並行化,要麼二者兼具。局部擴散算法在這兩個方面都具備明顯優點。

  另外一種解 決方法是設計增量算法。也就是說,當產生新用戶、新商品和新的鏈接關係時,算法的結果不須要在整個數據集上從新進行計算,而只需考慮所增長節點和連邊局部 的信息,對原有的結果進行微擾,快速獲得新結果。通常而言,隨着加入的信息量的增多,這種算法的偏差會積累變大,最終每過一段時間仍是須要利用全局數據重 新進行計算。

  一個特別困難的挑戰是如何設計一種可以保證其偏差不會累積的算法,也就是說其結果與利用所有數據從新計算的結果之間的差別不會單調上升。咱們把這種算法叫作自適應算法,它是增量算法的一個增強版本,其設計要求和難度更高。

  如今業界已經在應用增量算法。例如,百分點科技推薦引擎中的若干算法都採用了增量技術,使得用戶每次瀏覽收藏或者購買商品後其推薦列表馬上獲得更新。固然,只是該引擎的部分算法實現了增量技術,沒有達到全部算法都可以自適應學習的程度,還有很長的路要走。

  多樣性與精確性的兩難困境

  如 果要給用戶推薦他喜歡的商品,最「保險」的方式就是給他特別流行或者得分特別高的商品,由於這些商品有更可能被喜歡(至少Bezos會這麼想),往壞了 說,也很難特別被討厭。但這種推薦產生的用戶體驗並不必定好,由於用戶極可能已經知道這些熱銷或流行的產品,因此獲得的信息量不多,而且用戶不會認爲這是 一種「個性化」推薦。

  事實上,Mcnee等人已經警告你們,盲目崇拜精確性指標可能會傷害推薦系統,由於這樣可能會致使用戶獲得一些信息量 爲0的「精準推薦」而且視野變得愈來愈狹窄。讓用戶視野變得狹窄是協同過濾算法的一個主要缺陷。與此同時,應用個性化推薦技術的商家,也但願推薦中有更多 的品類出現,從而激發用戶新的購物需求。

  遺憾的是,推薦多樣的商品和新穎的商品與推薦的精確性之間存在矛盾,由於前者風險很大—推薦一個沒 人看過或者打分較低的東西,極可能被用戶憎惡,從而效果更差。不少時候,這是一個兩難的問題,只能經過犧牲多樣性來提升精確性,或者犧牲精確性來提升多樣 性。一種可行之策是直接對推薦列表進行處理,從而提高其多樣性。這種方法當然在應用上是有效的,但沒有任何理論的基礎和優美性可言,只能算一種實用的招 數。

  咱們發現,精巧混合精確性高和多樣性好的兩種算法,能夠同時提升算法的多樣性和精確性,不須要犧牲任何一方。遺憾的是,咱們尚未辦法就這個結果提供清晰的解讀和深入的看法。多樣性和精確性之間錯綜複雜的關係和隱匿其後的競爭,到目前爲止仍是一個很棘手的難題。

  推薦系統的脆弱性問題

  推 薦系統在電子商務領域能帶來重大的經濟利益的驅動,致使一些心懷不軌的用戶會提供一些虛假或惡意的行爲,故意增長或者壓制某些商品被推薦的可能性。所以, 一個算法可否在必定程度上保持對惡意攻擊的魯棒性,成爲須要認真考慮的一個特徵。以最簡單的關聯規則挖掘算法爲例,Apriori算法的魯棒性就遠勝於k 近鄰算法。

  已有一些技術專門用來提升推薦系統面對惡意攻擊的魯棒性。好比,經過分析對比真實用戶和疑似惡意用戶之間打分行爲模式的差別,提早對惡意行爲進行判斷,從而阻止其進入系統或將惡意用戶的影響力降至最低。

  總 體來講,這方面的研究相對較少,系統性的分析還很缺少,反而是攻擊策略層出不窮,有種「道高一尺,魔高一丈」的感受。Burke等人2011年的研究報告 「Robust Collaborative Recommendation」中就分析了4大種類、8種不一樣的攻擊策略。

  用戶行爲模式的挖掘和利用

  深刻挖掘用戶的行爲模式有望提升推薦的效果或在更復雜的場景下進行推薦。好比,新用戶和老用戶具備很不同的選擇模式:一般,新用戶傾向於選擇熱門商品,而老用戶對小衆商品關注更多;新用戶所選擇的商品類似度更高,老用戶所選擇的商品多樣性較高。

  有 些混合算法能夠經過一個參數調節推薦結果的多樣性和熱門程度。在這種狀況下,就能夠考慮爲不一樣用戶賦予不一樣參數(從算法結果的個性化到算法自己的個性 化),甚至容許用戶本身移動一個滑鈕調節這個參數—當用戶想看熱門產品時,算法提供熱門推薦;當用戶想找點很酷的產品時,算法也能夠提供冷門推薦。用戶行 爲的時空統計特性也能夠用於提升推薦或者設計針對特定場景的應用。

  用戶的選擇可能同時蘊含了長期的興趣和短時間的興趣,經過將這兩種效應分離出來,能夠明顯提升推薦的精確度。事實上,假設用戶興趣隨時間按照指數遞減,也可以獲得改進的推薦效果。

  現 在用手機上網已經愈來愈普及,與此同時,嵌入GPS的手機愈來愈多,所以,基於位置的服務成爲一個受到學術界和業界普遍關注的問題。基於位置信息的推薦可 能會成爲個性化推薦的一個研究熱點和重要的應用場景,而解決這個問題須要可以對用戶的移動模式有深刻理解(包括預測用戶的移動軌跡和判斷用戶在當前位置是 否有可能進行餐飲購物活動等),同時還要有定量的辦法定義用戶之間以及地點之間的類似性。另外,不一樣用戶打分的模式也很不同,用戶針對不一樣商品的行爲模 式也不同(想象一下在網上下載一首歌和團購房子時的區別),這些均可以用來提升推薦的效果。

  推薦系統效果評估

  推 薦系統的概念已經提出幾十年了,但怎樣評價推薦系統,仍然是一個很大的問題。常見的評估指標能夠分爲四大類,分別是準確度、多樣性、新穎性和覆蓋率。每一 類還有不一樣的指標。好比,準確度指標還可分爲四大類,分別是預測評分準確度、預測評分關聯、分類準確度和排序準確度。以分類準確度爲例,又包括準確率、召 回率、準確率提升率、召回率提升率、F1指標和AUC值。

  朱鬱筱和呂琳媛撰寫的《推薦系統評價綜述》一文幾乎總結了文獻中曾經出現過的全部 推薦系統指標,這些指標都是基於數據自己的指標,能夠認爲是第一層次。實際上,在真實應用時,更爲重要的是另外兩個層次的評價。第二個層次是商業應用上的 關鍵表現指標,如受推薦影響的轉化率、購買率、客單價、購買品類數等。第三個層次是用戶真實的體驗。

  絕大部分研究只針對第一個層次的評價指 標,而業界真正感興趣的是第二個層次的評價(好比,究竟是哪一個指標或者哪些指標組合的結果可以提升用戶購買的客單價),而第三個層次最難,沒人能知道,只 能經過第二層次來估計。所以,如何創建第一層次和第二層次指標之間的關係,就成爲了關鍵。這一步打通了,理論和應用之間的屏障就通一大半了。

  用戶界面與用戶體驗

  與其說,這是一個學術性質的問題,不如說是真實應用的問題。十年前就有學者指出,推薦結果的可解釋性,對於用戶體驗有相當重要的影響—用戶但願知道這個推薦是怎麼來的。在這個意義上,協同過濾有明顯的優點。

  基於商品的協同過濾,亞馬遜在發送推薦的電子郵件時會告訴用戶之因此向其推薦某書,是由於用戶之前購買過某些書。相對地,矩陣分解或者集成學習算法就很難向用戶解釋推薦結果的起源。用戶更喜歡來自朋友的推薦而不是系統的推薦,這一點在後面還會詳細提到。

  另 外,推薦列表每每含有不少項,這些推薦項最好可以分紅不少類別,不一樣類別每每來自於不一樣的推薦方法。好比,看過還看過(瀏覽過本商品的客戶還瀏覽過的商 品)、買過還買過(購買過本商品的客戶還購買過的商品)、看過最終購買(瀏覽過本商品的客戶最終購買的商品)、個性化熱銷榜(個性化流行品推薦)和猜你喜 歡(個性化冷門商品推薦)等。

  固然,如何更好呈現推薦,是一個很難創建理論模型和進行量化的問題。對於不一樣的被推薦品而言,用戶界面設計的 準則也可能大不相同。好比,在首頁、類目頁、具體商品頁、購物車頁都應該分別放置哪些推薦欄?不一樣的推薦欄放在頁面的什麼位置可以優化用戶體驗?什麼狀況 下應該讓用戶本身選擇推薦的個性化程度?基於用戶行爲的實證研究能夠回答一部分問題,同時須要創建一個能夠進行A/B測試的系統,或可積累重要的實驗數 據。

  多維數據的交叉利用

  目前網絡科學研究 一個廣受關注的概念是具備相互做用的網絡的結構和動力學。網絡與網絡之間的相互做用大致能夠分紅三類。第一類是依存關係。好比,電力網絡和 Internet,若是發生了大規模停電事故,當地的自主系統和路由器也會受到影響,致使網絡局部中斷。第二類是合做關係,好比人的一次出行,能夠看做航 空網絡、鐵路網絡和公路網絡的一次合做。第三類是交疊關係,主要針對社會網絡,這也是咱們最關注的。

  幾乎咱們每個人都參與了不止一個大型 的社會網絡,既有新浪微博的帳號,又是人人網的註冊用戶,仍是手機用戶,那麼你已經同時在三個巨大的社會網絡中了。與此同時,你可能還常常在淘寶、京東、 麥包包、1號店、庫巴網等網站上進行網購,那麼你就成爲了一張巨大的用戶-商品圖中的一員。

  想象若是可以把這些網絡數據整合起來,特別是知 道每一個節點身份的對應關係(不須要知道真實身份,只須要知道不一樣網絡中存在的一些節點是同一我的),那麼其中定會有特別巨大的社會經濟價值。舉個例子,你 可能已經在新浪微博上關注了不少數據挖掘達人的微博,而且分享了不少算法學習的心得和問題。而當你第一次上當當網購書時,主頁向你推薦數據挖掘的最新專著 並附有折扣,你會心動嗎?交疊社會關係中的數據挖掘,或稱多維數據挖掘,是真正解決系統內部冷啓動問題的終極法寶—只要用戶在系統外部的其餘系統有過活 動。

  單純從個性化商品推薦來說,能夠利用用戶在其餘電商網站的瀏覽購買歷史來提升在目標電商推薦的精確度—固然,每個電商既是付出者,也 是獲利者。整體而言,你們可以經過提升用戶體驗和點擊深度實現雙贏。與此同時,能夠利用微博和其餘社會網絡的活動提升商品推薦的精度,還能夠反過來利用商 品瀏覽歷史提升微博關注對象推薦的精度。推薦一個常常購買專業羽毛球和瀏覽各類專業羽毛球設備的用戶關注羽毛球的專業選手和業餘教練的成功率應該很高,而 且不會陷入「總在一個圈子裏面來回推薦」的毛病中。從機器學習的角度,楊強等人提出的「遷移學習」算法有望用來解決這種跨鄰域的推薦。

  咱們 分析了百分點科技服務客戶的真實數據,發現有至關比例的用戶都具備交叉購物的習慣(在多個獨立B2C電商有瀏覽和購買行爲)。即使只考慮兩個點,例如利用 麥包包的瀏覽購買數據爲拍鞋網的用戶進行個性化推薦(這些用戶是在拍鞋網上沒有任何歷史記錄的新用戶,但在麥包包上有瀏覽購買行爲),就能夠明顯提升推薦 的準確度(比徹底冷啓動的隨機推薦高數十倍)。而若是利用3家或以上的外部電商的數據,其推薦的精確度能夠明顯高於熱銷榜(注意,熱銷榜一點個性化都沒 有),特別在團購類網站上表現很是好。

  雖然針對多維數據挖掘的研究剛起步,但咱們徹底能夠相信這在學術和應用上都將是一個焦點和難點。

  社會推薦

  很早之前,研究人員就發現,用戶更喜歡來自朋友的推薦而不是被系統「算出來的推薦」。社會影響力被認爲比歷史行爲的類似性更加劇要。例如經過社會關係的分 析,能夠大幅度提升從科研文獻到網購商品推薦的精確度。來自朋友的社會推薦有兩方面效果:一是增長銷售(含下載、閱讀……),二是在銷售後提升用戶的評 價。

  社會推薦的效果也不徹底是正面的,譬如Leskovec等人在論文「The Dynamics of Viral Marketing」中舉了一個反例:朋友推薦對書的銷售增加幾乎沒有幫助,有時會起到負面做用。

  在社會推薦方面,國內作得最出色的是豆瓣網,其朋友推薦被接受被高度評價的比例很是高。最近有證據顯示,朋友推薦也是淘寶商品銷售一個很是重要的驅動力量。

  社 會推薦方向存在的挑戰主要能夠分爲三類:一是如何利用社會關係提升推薦的精確度;二是如何創建更好的機制以促進社會推薦;三是如何將社會信任關係引入到推 薦系統中。社會推薦的效果可能來自於相似口碑傳播的社會影響力,也多是由於朋友之間原本就具備類似的興趣或者興趣相投更易成爲朋友。對這些不一樣的潛在因 素進行量化區別,也是學術研究的熱點之一。

  相關閱讀

  有些朋友可能還不是很瞭解個性化推薦,推薦閱讀《天然科學進展》上的綜述,能快速獲得不少信息,瞭解個性化推薦研究的概貌。有了這個基礎,若是想要了解應用級別的算法和技術,推薦閱讀項亮、陳義和王益合著的《推薦系統實踐》一書。

  同 時建議關注國外最近出版的《Recommender Systems Handbook: A Complete Guide for Scientists and Practioners》和《Recommender Systems: An Introduction.》。前者其實是不少文章的彙總,寫這些文章的做者都是技術專家,文章質量不錯。Adomavicius和Tuzhilin撰 寫的「Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions」一文特別有影響力,不只系統回顧了推薦系統研究的全貌,還提出了一些有趣的開放性問題。今年在《物理報導》上有一篇關於推薦系統的 大綜述,應該是目前最全面的,所強調的不只是算法,還有不少現象和思路,推薦你們閱讀。

  做者周濤,電子科技大學互聯網科學中心主任、教授、博士生導師,阿里巴巴商學院錢塘特聘教授,北京計算科學研究中心客座教授。畢業於瑞士弗裏堡大學,獲物理系哲學博士。

相關文章
相關標籤/搜索