豆瓣猜的作用到底是什麼?

讓我來說一個令我奇怪的悖論, 請回答者幫我解釋下我的疑惑~ :

猜就是通過收集用戶的行為、屬性和好友數據進行分析後得出的推薦。

那麼,豆瓣猜到底是對新手豆瓣者有好處還是對豆瓣資深用戶有好處?是給哪類用戶做的?

如果是對新手有好處,給新手做的,那麼新手進來啥數據都沒,屬性也不會有多少,也沒好友,怎麼保證猜的準確性?演算法在沒數據的情況下怎麼搞?

如果是對老用戶有好處,給老手做的,我就更奇怪了。老手肯定有自己的圈子自己的活動方法自己的一套用豆瓣的路子了,一進來豆瓣主頁看到這麼大塊豆瓣猜(還不一定太合適),而不是之前的好友新鮮事,這真的幫到了老手么?


回答這個問題,其實可以參考豆瓣電台的成功原因。

為什麼豆瓣電台會成功呢?個人認為主要原因有這麼幾個:

第一,一般人很少願意去主動搜索一些音樂來聽;

第二,一般人不知道哪些歌好聽,哪些歌適合自己;

同樣的,對於新手而言,雖然他不知道怎麼用豆瓣,但是豆瓣猜同樣能起到作用。豆瓣猜可以根據總體數據,以及一般人的喜好,給新用戶推送一些內容,比如,豆瓣上很多人都喜歡《盜夢空間》這部電影,那麼豆瓣猜就可以選取一些相關的內容推送給新用戶。當然,這樣的推送是有一定的隨機性和風險性的,不能保證每個新用戶都喜歡推送的內容,但是根據大眾口味去推送的內容,可以保證絕大多數人都喜歡。在這樣的基礎上,慢慢地便有了新用戶喜好的數據。

與之相對的老用戶,提問者的糾結之處,似乎有點多餘。既然是老用戶,那麼可以肯定其對於豆瓣是具有一定的忠誠度的,他也知道如何在豆瓣上選擇自己需要的東西。但是:他真的全部都知道嗎?可以很負責任地說,任何一個老用戶,不可能瀏覽過豆瓣上所有自己感興趣的內容,也就是說,始終有很多內容是老用戶們所部知道的。那麼推送一些內容,有何不可呢?

不過,你的擔心不是沒有原因的。我還是要講回到豆瓣電台(我用這個最多)。由於經常使用豆瓣電台,可以說豆瓣電台很熟悉我的音樂品味。但是逐漸地我發現:

第一:很多時候,豆瓣猜我喜歡的音樂,會經常重合。也就是說,這歌我明明聽了很多次,它還是給我推薦;

第二:適合我口味的推薦,總是那麼幾個人。但是有的時候,我是希望它能夠推送一些其他的內容,這樣才有「發現」的樂趣。

同樣的問題,我覺得很有可能也發生在豆瓣猜上,就是:

第一:豆瓣猜推送的內容,可能會出現高頻率的隨機重複;

第二:當掌握了用戶的喜好數據之後,推送的內容僅僅根據用戶的喜好,從而失去了「發現」的樂趣。


猜!

http://blog.douban.com/douban/2012/01/10/1452/


今天聽說豆瓣改版了,立即上去看。我不算是豆瓣老用戶,用豆瓣一般是看電影前上來查下評分,買書前也來查一下。還有就是豆瓣FM。

說實話,第一眼沒看出任何對我造成影響的因素,瞅了半天發現右側有個「豆瓣首頁改版」的小提示,才確定看到的確實是新版。然後使勁想改版前是什麼樣子但是想不起來。。。

猜你喜歡推薦的幾篇文章和影片還正好是我感興趣的,都點過去看了。我感覺這個產品能推一些熱門內容還跟我的興趣掛鉤(哪怕初期數據積累不足推薦不那麼准),還是很好的。畢竟我不是資深豆瓣用戶,怎麼玩豆瓣也一直沒摸清楚,更懶得去發現一些有意思的東西,或者說不知道怎麼去發現。這樣一打開首頁就有內容倒是省了很多麻煩,而且內容不多,我也不必像小組一樣在一大堆列表裡找感興趣的內容(那還只有標題,遇到標題黨也很無奈)。

總的來說,這個產品對一些初級豆瓣用戶和介於初級與資深之間的用戶是有好處的。


演算法衍生的推薦當然對老用戶的意義更大些。

猜測豆娘此舉意圖讓老用戶擴展自己的興趣圈(加入新的小組,找到新的同好)。

首頁的magzine設計感覺更方便平板應用,平板化趨勢?

【PS:友鄰上已經對新版哀嚎一片了……】


內容為王,興趣交友

流量為王,小豆交友


豆瓣猜就是猜你喜歡的內容。


過濾信息 同時又提高了信息量


難道沒覺得像數據挖掘過的pinterest嗎


我覺著挺好的,

以前就有的功能。

不知有沒有熱點什麼的,

從友鄰的愛好關注等獲得熱點趨勢。

現在吐槽不好的

1 不能重新猜

2 有人反應取消關注某人後,重新猜了

是不是演算法固化了啊

看到討厭的真是想關掉啊!


我之前就說過了,這個是所有sns類網站的通病。人人給我推薦關注的根本就不認識,而且大部分我也不感興趣。大部分的sns類網站都是這樣的,我覺得他們沒有在關係上面下功夫,只是利用公式測算,然後實在不行,就隨便給你幾個。我目前正在致力於解決這個問題,想從社會心理學入手。而且,我覺得算不出來,就不要隨便搞幾個出來,我最討厭隨便搞幾個出來的。


最近研究推薦引擎,才發現很多網站/APP/產品的設計是很用心良苦的。從冷啟動(沒有任何原始數據)開始,從用戶的行為來推測用戶的喜好,不斷地增加規則,這個「調教」的過程是一個簡單的機器學習的過程。

比如對於豆瓣電影,你的喜好是從「收藏」和「評價」計算出的。

「豆瓣猜」裡面推薦的是你可能喜歡的電影,怎麼找到你可能喜歡的電影?

1. 通過物品相似度推薦

推薦演算法有很多,最簡單的是根據兩部電影的相似程度來推薦,如果A,B兩部電影很像,那就給喜歡A的人推薦B唄。怎麼計算相似程度?

一種方法是通過標籤。

常用的計算物品相似度的方法有餘弦夾角(cosin similarity),歐幾里得演算法等等,拿餘弦夾角演算法舉例子(這個我們中學的時候都學過),給物品加上很多標籤,

比如《星球大戰前傳3:西斯的復仇》,它的標籤有:

冒險 科幻 2005 美國 動作 戰爭 星球大戰 經典 史詩 奇幻

比如「冒險」,「科幻」,「星球大戰」,我們僅僅以這三個標籤建立一個三維坐標系:

x,y,z 軸分別表示一部電影在這三個維度的符合程度,比如5分是最符合,0分是最不符合;顯然,星球大戰1也會有完全一致的標籤(僅僅考慮這三個標籤的情況下),那麼星球大戰1的打分是(5,5,5),而《死侍》這樣的電影,打分是(3,4,0),《美國往事》這樣的電影打分就是(0,0,0),根據餘弦夾角計算公式,

夾角餘弦 = 向量點積/ (向量長度的叉積) = ( x1x2 + y1y2 + z1z2) / ( 跟號(x1平方+y1平方+z1平方 ) x 跟號(x2平方+y2平方+z2平方 ) )

可以計算出,星戰1跟星戰3的夾角餘弦是1,在空間上的反映是,這兩個向量的指向完全重合。《星戰3》跟《死侍》夾角次之,《美國往事》與《星戰3》夾角最大,完全反方向。那麼推薦用戶《星戰1》。那麼,給喜歡《星戰3》的用戶推薦《星戰1》

這種方法,怎麼說呢,還是不夠準確啊。如果能結合用戶的口味就好了,比如「喜歡這部電影的人也喜歡」這種想法。那麼就採用協同過濾演算法。

2. 協同過濾

根據用戶對物品或者信息的偏好,發現物品或者內容本身的相關性,或者是發現用戶的相關性,這種被稱為基於協同過濾的推薦(Collaborative Filtering-based Recommendation)。

簡單來說,這種推薦方法引入了一個「人」的因素。

有兩種角度,

第一種是從用戶的角度, USER-CF(會把用戶分類或者聚類,這種一般不會明確說出來)。

將一個用戶對所有物品的偏好作為一個向量(Vector)來計算用戶之間的相似度,找相似用戶

還是向量,對於《星戰》《死侍》《美國往事》...有很多很多電影,這裡只取3個,

A君喜歡的程度分別是(5,4,1),

B君喜歡的程度分別是(3,4,2),

B君喜歡的程度分別是(1,2,5),

..

顯然AB夾角小,AC夾角大,那麼A君跟B君是相似的用戶,那就把B喜歡的,A沒看過的電影的推薦給A。

第二種是從物品角度, ITEM-CF(對應「喜歡這部電影的人還喜歡..」)。

將所有用戶對某一個物品的喜好作為一個向量來計算物品之間的相似度,找相似物品。

對於《星戰》,A君B君C君的打分分別是(5,3,1),

對於《死侍》,A君B君C君的打分分別是(4,4,2),

對於《美國往事》,A君B君C君的打分分別是(1,2,5),

..

同樣,可以計算出《星戰》《死侍》是相似的物品。

怎麼選擇是用ITEM-CF還是USER-CF?很顯然,如果用戶的數量遠多餘物品的數量,那就應該用ITEM-CF,因為那樣計算相似度的次數會少得多。

注意,這個相似物品只是根據用戶口味(打分)來的,完全沒有考慮上面1中相似物品計算中提到的「標籤」

---

顯式反饋和隱式反饋

豆瓣是很幸福的,能直接得到用戶對物品的顯式反饋,也就是用戶會直接對物品就行打分,或者結合「想看」按鈕,都能直接得到用戶對物品的喜愛程度。

很多情況下是無法直接得到用戶對物品的喜愛程度的,只能靠猜,比如對於購物類型網站或app,怎麼判斷用戶是否喜歡一種商品呢,我能想出的隱式反饋有:

  • 在商品詳情頁面的停留時間(停留時間久,推測用戶喜愛商品)

  • 在商品詳情頁面的滑動速度(滾動速度快,推測用戶對物品不耐煩,(不準確))

  • 是否產生購買行為(購買了,說明用戶喜歡這種商品,這也是為什麼很多購物網站總是給你推薦你買過的商品。。)

有了這些反饋,再去計算喜愛程度。

最簡單的就是通過加權啦,越怕,越偏向顯示反饋的隱式反饋,給越高的權值。對於上面的三個隱式反饋,分別賦予權值0.3, 0.1, 0.6,產生正向行為給1分,反向行為給-1分,中間行為給0分。對於一個「頁面停留時間久,滑動速度慢,沒產生購買」的用戶,得分是0.3+0.1-0.6 = -0.3,得出的竟然是負分,用戶不喜歡?這個演算法不準確啊,或者說是權值、打分方式很難訂,比如,是否應該把沒買的權值/打分降低一點呢。

另外可以採用潛在因子(latent factor)演算法。可參考(智能運營系統的推薦策略)。

---

結語

匆匆寫了這些,也給自己理清了一下這幾天的思路。

這些東西很有意思,因為自然語言處理(Siri),機器學習等等讓機器理解你、學習你的方式,就是我能看得見的未來。通過它們的發展,我大概能窺見20年後的世界。

-


你用了一個「她」,又用了一個「他」。為何會有性別的不同?難道,我猜對了?!難道,你的壓力不僅來自你周圍?難道,我一直被瞞著?難道,你否認的那天,是「他」的介入?!我一直憑直覺在猜,憑心在感知,沒人給我標準答案,這是怎樣一齣劇!


很簡單,看你是喜歡天天看報紙呢,還是看 每個月 一期的雜誌呢


上來就給我推薦同志小站和美少年圖片

我不喜歡這個。也從沒訪問收集過這類網站

這樣的推薦,一瞬間讓我特別莫名其妙,覺得這推薦也太爛了吧

體驗不好


推薦閱讀:

想加強自己的演算法水平,求指出一條明路?
參加世界三大超算競賽是怎樣一種體驗?
應該向系統里加入怎樣的邏輯,使得交易系統能夠根據市場情況調整參與頻率?
國內的股票型公募是如何在資金量如此巨大(單只產品數十億)的情況下進行交易的?組合中通常包含多少只股票?

TAG:互聯網 | 社交網路 | 人工智慧 | 推薦 | 演算法 | 數據挖掘 | 數據分析 | 豆瓣 | 豆瓣猜 |