項亮 推薦系統實踐

2022-01-15 17:53:16 字數 3469 閱讀 3099

專題直播:

2023年8月21日至8月22日,中國移動在北京國際會議中心舉辦「第六屆移動網際網路國際研討會」,聚焦於雲、管、端、「臺」,更廣泛、更深入地探索構建合作共贏的產業新生態,打造移動互聯新生活。以下為hulu軟體研究人員項亮發表演講。   

以下為演講速記:  

謝謝大家來聽我們的報告。之前的嘉賓都講了很多介面怎麼設計、產品怎麼定義之類的,我今天給大家分享一些演算法方面的東西。首先關於推薦系統。這是我今天的主要內容,關於推薦系統,什麼是推薦系統?大家有兩種不同的認識,從狹義的方面來講,大家會認為比如說亞馬遜首頁給你推薦,這個就叫做推薦系統,其他的都不算,這個在我看來,其實推薦系統給他乙個比較明確的定義,就是能夠通過使用者行為的變化,來改變使用者瀏覽所看到的東西的東西,就叫做推薦系統,比如說你在網上買了一雙鞋,然後你買完鞋以後去了乙個頁面,發現這個頁面和別人不一樣,是跟你剛剛買鞋這個行為發生的變化非常相關的一種變化,這是推薦系統所產生的。

推薦系統有一些任務,首先推薦系統在整個**裡面,它連線了三方面的參與者。首先是使用者,然後是物品,我要賣的東西,然後還有**本身,對這三方面的人,或者是說提供這些東西的這些提供商來說,這些系統需要解決三個問題,第乙個是我們知道現在的社會是乙個資訊擴充套件社會。會在**上看到各種各樣的東西,特別是**興起之後大家的選擇範圍比以前大很多,所以如何從這些海量的商品中或者是資訊中找到使用者感興趣的資訊,是推薦系統的第乙個任務。

第二個任務是推薦系統在滿足使用者的同時,也要滿足物品的提供商,比如說我們hulu最主要的提供商是賣電視的,像美國的福克斯,cps,這些內容提供商。我們必須要把他們很長遠的電影給推薦出去,不能說他賣一千部電影,我們只推薦一部,其他的不放這是乙個推薦任務。另外乙個是很多**有很多搜尋,還有各種各樣的排行榜,為什麼要用推薦系統,如果其他的產品能夠帶來推薦系統,能夠帶來的所有好處,就沒有必要用推薦系統,所以說推薦系統的第三個任務是要幫助使用他的**增加他的使用者粘性。

跟我們一樣的,亞馬遜也是,大家如果看到亞馬遜在**上的首頁,會發現有各種各樣的繁雜的分類目錄,最近改過版,比以前好多了,但是在手機上只有乙個搜尋和推薦。其實就滿足了使用者的需求,一種是使用者有明確的目的,我今天想買乙個襪子我就去搜尋了,另外是客戶不知道幹什麼,就想買乙個東西,就去推薦。這是中國的大眾點評。主要是考慮使用者所處的上下文,比如說他所處的時間和地點,給他推薦的餐館之類的。

這個豆瓣也是一樣,**可以是是推薦最適合的場景。在我看來乙個好的推薦系統,最好的場景是使用者極端的無聊,極端的不知道自己想幹什麼,這種情況下你聽**,很少有人說我今天就要聽這麼乙個**,不會有這樣乙個人。大家就是說我只是想聽**,我不知道我想聽什麼,你按照我的風格給我推薦就可以了。豆瓣電台在iphone上的介面,把手機開啟,登上豆瓣電台,戴上耳機就可以聽了,你不告訴他你想聽什麼,他也不讓你有選擇。你也沒辦法搜尋我想聽什麼。

除了這個之前的個性化推薦以外,還有相關的產品,相關物品推薦,比如說你在hulu上看到了乙個電影,我們會給你推薦相似的東西,或者是說你在亞馬遜上買了一本書,我們會給你推薦一些相似的書。其實這個用的範圍更廣泛。很多的**沒有個性化的推薦,也就是說首頁沒有推薦,但是每乙個商品的頁面都有推薦。而且這個推薦給電子商務**帶來的銷售量的增加也是有很大的影響的。

比如說我們之前在實驗中發現,美國的使用者,我不知道中國使用者有沒有這種特點。他們平時不怎麼看電影,週末會看電影。你平時給他積攢的電影他會積攢到週末看。如果記錄了那一天的轉化率的話,可能算不出轉化,但是如果時間往後的話,會發現在一定時間內會轉化的。

離線指標非常多了,這個指標多得讓人覺得你不知道以哪乙個目標作為優化為主。其中乙個比較著名的是推薦的準確率,主要是描述了推薦系統**一件事情的能力。比如說我推薦系統**你明天會去買一雙鞋,你明天真的去買一雙鞋了,就叫做**準確了。很多時候不能代表推薦系統的真實的能力,因為推薦系統,包括我們設計很多離線演算法**正確的都是非常顯而易見的事情,比如說我**你明天會吃飯,明天太陽從東邊公升起。很多時間我們所評測的準確率高的推薦系統,是因為他**到了顯而易見的事情,對於不顯而易見的事情,很多系統沒有**準。

覆蓋度呢,我前面說這個使用者系統對內容和提供商來說都是很重要的,比如說以前一千本書,你只把其中的十本推薦給了客戶,另外的沒有給客戶推薦,那麼你的覆蓋率是1%。也就是說覆蓋率描述了這個系統,是否可以把常規的系統推薦給使用者的能力。

多樣性是說使用者看到的推薦結果是多樣的,為什麼是多樣的呢。大家覺得這只是這個研究人員追求的指標,我覺得應該多樣就應該多樣。其實不是這樣的,因為使用者的興趣本身是多樣的。而我們推薦系統的能力,並不能知道使用者在當時和當地需要什麼東西。那麼為了解決我不知道他在當時當地需要什麼東西的問題,我們最簡單的解決方案,我們把他可能喜歡的各種各樣的東西都弄出來,讓他自己選擇乙個,比如說這個人曾經喜歡這個劉德華的歌,也喜歡張學友的歌,今天這個客戶來了,他可能也是想找劉德華,但是你並不知道他今天只是想找劉德華,所以你要使你的結果多樣,使他能夠更容易的擊中他的興趣。

新穎性和準確率有一點關係,很多的推薦系統只是把一些顯而易見的東西**出來了,所以新穎性是考量了把一些使用者不知道的,比如說使用者天天吃飯,今天也吃飯,這個沒意義,如果客戶天天吃飯,今天沒吃飯你告訴他,這個會很新穎。

另外信任度呢,大家知道推薦這個東西和社交網路一樣都是乙個線下活動的線上表現。比如說現實生活中會交朋友,比如說趙本山的賣拐,會推薦乙個拐給你,如何認為我要買這個拐呢,必須有乙個信任度,同樣乙個東西,趙本山賣給你你可能會買,但是我賣給你你並不一定會買。我的推薦結果是一樣的,但是你給使用者的信任度不同,會影響使用者的最後決策。信任度的下乙個是可解決性,主要是說提高推薦系統信任度的方法,是讓你的結果可以解釋,告訴使用者為什麼推薦這個東西,使用者很多時候知道這個原因以後可以更好的相信你的結果,最後乙個指標是你的系統能不能受到一些攻擊,我這個人,我自己賣鞋的,我想把我的鞋天天弄到首頁上,我攻擊你的系統。你的系統在這種攻擊下怎麼樣應對。

最後這個是上下文的推薦,這幅圖表現什麼事情呢,像大家都看過了希爾頓和他的朋友在家裡面看電影,這個包含了很多上下文,第乙個是在家裡面看的,地點,第二個是和什麼人看,和朋友,沒有說時間,可以說是晚上看的,一般的pc肯定放在家裡面,所以在pc上放的時候,肯定在同乙個時間,同乙個地方,同乙個什麼什麼,一般不會和好友圍著pc看,但是移動裝置不一樣,可以變化的,可以通過gps資料很容易拿到的,所以上下文決定了對推薦效果很大的影響。

最後說一下我們前面提到了很多推薦演算法,但是有一些很好,有一些在某種程度上好,但是怎麼樣才能讓這些演算法發揮最大的作用呢。我們要把這個推薦演算法融合一下,不僅要融合演算法,還要融合各種行為。我們說推薦系統就是使用者的行為了,使用者的行為非常的。所以好的推薦演算法,應該融合使用者的各種各樣的行為,利用各種各樣不同的演算法給使用者推薦乙個結果。

我前面講了很多,推薦系統也有很多挑戰,比如說冷啟動,優化目標,我前面那麼多指標,哪一些指標更重要,還有異購的,多源的資料,各種各樣的資料。最後是前面很多人提到了產品設計,和使用者介面怎麼做。

推薦系統和移動網際網路來說,我的經驗並不是特別多,我只是總結了一些移動網際網路的特點。第乙個是使用者大部分的時候都是處於無聊的心態,大部分都是處於地鐵上或者是電梯裡看移動網際網路,很少有人在工作的時候看,螢幕很小,很多人說過了。第三個是移動裝置上輸入文字很困難,大家覺得ipad和iphone很可以,但是要想在電視上輸入一句話很難。使用者一般是處在一般的明確上下文當中,使用者的裝置是各種各樣的,比如說有安卓和iphone等等。最後是使用者的資料比pc上更豐富,因為有各種各樣的資料。我的演講到這裡,謝謝大家。

推薦系統實踐 項亮(1)好的推薦系統

目錄 第1章 好的推薦系統 1.1 什麼是推薦系統 1.2 個性化推薦系統的應用 1.2.1 電子商務 1.2.3 個性化 網路電台 1.2.4 社交網路 1.2.5 個性化閱讀 1.2.6 基於位置的服務 1.2.7 個性化郵件 1.2.8 個性化廣告 1.3 推薦系統評測 1.3.1 推薦系統實...

項亮 陳義 王益《推薦系統實踐》

最近很多讀者關注 推薦系統實踐 一書,詢問本書目前的寫作進展和出版時間。自今日起,本書正式進入開放出版流程,作者會全程在本社群中互動,與大家分享寫做過程中的點滴。技術背景 推薦系統從1994年開始,經過amazon,netflix等著名公司的努力,已經充分證明了它的作用。最近,越來越多的國內公司開始...

推薦系統實踐 項亮(2)利用使用者行為資料

目錄 第2章 利用使用者行為資料 2.1 使用者行為資料簡介 2.2 使用者行為分析 2.2.1 使用者活躍度和物品流行度的分布 長尾分布 2.2.2 使用者活躍度和物品流行度的關係 2.3 實驗設計和演算法評測 2.4 基於領域的演算法 2.4.1 基於使用者的協同過濾演算法usercf 2.4....