算法為什么比你還懂你自己

4 評論 5546 瀏覽 19 收藏 19 分鐘

#本文為人人都是產品經理《原創激勵計劃》出品。

移動互聯網的快速發展、互聯網信息的爆發增長,都讓用戶面臨著某種信息無法完全消化的繭房困境。在這一問題維度上,推薦算法的應用可以幫助用戶過濾、篩選、乃至“便利”地獲取信息。不過,問題往往需要多維看待,當被賦予過強的商業化目的時,推薦算法應當回歸工具的本質。

又是一年一度的“618”購物節,瀏覽淘寶時,感嘆“為你推薦”越來越精準了,就像是肚子中的蛔蟲,我想要什么它馬上就可以推薦給我。

不光淘寶,還有網易云音樂、美團、快手、Bilibili ……“為你推薦”、“猜你喜歡”等推薦功能似乎成了大多 APP 的標配,既像一個貼心的管家關心著我的每一喜好,也像一個躲在屏幕后的偷窺狂窺視著我的一舉一動。

那么“為你推薦”,“猜你喜歡”背后的推薦算法是怎么做到比你還了解你呢?

一、推薦算法的由來

在介紹推薦算法之前,先問個問題:我們為什么需要推薦系統?是我們對發現自己需求產生了什么困難抑或是表達需求遇到了什么阻礙?

1. 從客觀環境上,信息時代為推薦算法的誕生提供了基礎

1)信息爆炸

我一直很喜歡“網上沖浪”這個詞,不僅表現出瀏覽信息的暢快感,也提醒隨時有沉溺于信息之海的危險。

現在就是這樣,每個人無時無刻被信息包裹,甚至“溺亡”。根據《科學》雜志的統計,截止2014年,互聯網信息1000萬億億字節,如果把這些信息打印出來,則需要1.36×1012張 A4 紙打印,一個人可能十輩子也無法看完這些信息,然而信息增長的速度還在加快。

2)碎片信息

信息時代的另一個特點是“碎片信息”,信息的碎片化導致從信息形式本身來說是反系統、反歸類的。文章的字數越來越少,視頻的時長越來越短,公眾號也經?!芭f坑還沒填完”就開始不斷“挖新坑”,就連持續關注也難以獲得系統的信息。

2. 從主觀需要上,我們某種程度上被裹挾著需要推薦算法

1)速食文化

“一分鐘學會**”,“十句話告訴你**的秘訣”……速食不僅僅在飲食上,也蔓延到對信息的攝取上,我們越來越缺乏耐心,期望可以更高效地獲取信息。

2)錯過焦慮

有沒有擔心錯過某篇“大佬”的內容,有沒有為看不完的“課程”而焦慮……我們擔心錯過一條有價值的信息而不斷刷新,訂閱或尋找下一條信息。這似乎是身體曾經對食物渴求記憶的遺留,這種渴求也反映在信息上。

3)選擇無能

選擇太多也意味著難以選擇。從剛開始訂閱三四個公眾號,每天還可以看一看,隨著公眾號訂閱得越來越多,除了焦慮,更多的是躺平,就這樣吧,反正也看不完,也不知道看什么。

我們對于信息的獲取,自古就有,只是以前由于技術資源等限制,這些只是少部分人才會有的煩惱,畢竟學富五車已經是很豐富的知識量了。然而,信息時代的到來,信息早就不能用“五車”來衡量,信息的量和形式都發生了飛速的變化,幾乎人手一臺手機,讓大部分人都擁有了這樣的煩惱。

就像淘寶,商品琳瑯滿目,已經多到一個人幾輩子都不可能買完,一方面想快速找到自己想要的商品,另一方面又不想錯過任何一個優惠。推薦算法提供了一個可行的方法,我幫你找到你想要的東西,或者我來告訴你,你想要什么。

二、推薦系統的定義

推薦系統是一種信息過濾系統,用于預測用戶對于物品的“評分”和“偏好”。
——維基百科

從維基百科的定義可以看出,推薦系統主要解決的問題是,幫助用戶發現自己喜歡的東西,并將其以適當的方式(APP 信息流)展現給用戶。

推薦系統一般由三個部分組成。

1. 行為采集模塊

主要負責采集記錄用戶的(與推薦對象交互)行為數據,比如瀏覽、收藏、點贊、評論、加入購物車等。

2. 模型分析模塊

包括用戶模型和推薦對象模型,主要利用采集到的用戶行為數據,分析用戶和不同推薦對象之間喜好程度,并結合相應模型分析用戶興趣。

3. 推薦算法模塊

根據用戶特征和推薦對象特征,結合當時的環境特征,對用戶進行推薦對象的推薦。

我們現在使用的APP,推薦結果一般都是以列表的形式展現,也就是“Top-N”問題,即在不同的場景下為用戶提供一個包含 N 個推薦對象的列表,這 N 個推薦對象是否是用戶喜歡的是推薦系統重點解決的問題。一般通過多個多個推薦引擎,每個引擎負責一類特性和一種任務產出相應的結果,結果再按照一定的權重進行排序生成列表。

三、常見的推薦算法

推薦算法是推薦系統的核心,在很大程度上決定了推薦系統的優劣,也就是我們常說的“推薦得準不準”。如何知道你的偏好,從而讓推薦準確,可以從以下四個方案提供思路。

1. 方案一:大家都喜歡的東西,你也會喜歡

人是集體性生物,個人行為會受到外界人群行為的影響,而在自己的判斷,偏好上表現得和大多數人一樣。這為推薦算法提供了一個思路,即“大家喜歡的東西,你也會喜歡”,熱度推薦算法也應用而生。

對不同物品賦予個初始得分,用戶對物品的交互會產生不同的分值,比如點贊 +2,點踩 -1,加入購物車 +3 等,根據發布時間與當前時間的差值再得出該物品“新鮮度”的衰減分,初始分加行為分再減去衰減分就可得出當前得分,按照得分值的大小進行排序就可得出推薦列表。那么大多數用戶都喜歡的(點贊、收藏、轉發)物品,結合發布時間,會優先推薦給你。

熱度算法的應用很多,比如淘寶、微博的熱搜,還可以根據不同維度生成分榜單。當然具體到各個產品當中,不會像上文寫的簡單加減,會根據場景、自身用戶特點進行加權等更復雜的計算。

2. 方案二:你喜歡這個東西,也會喜歡這一類東西

雖然會有“三分鐘熱度”,但在一段時間內,人對某物品的喜歡會保持穩定,即你喜歡這個東西,也會喜歡和它同屬一類的其他東西,比如你喜歡姜文導演的電影《讓子彈飛》,那么他導演的《鬼子來了》, 你也大概率也會喜歡。這種推薦方式就是利用內容過濾推薦算法。

基于內容推薦,需要提前對推薦對象進行分類,分類的方式有很多,可以按照種類,比如水果、蔬菜、糧油……也可以按照歸屬,比如某導演的所有電影、某歌手的所有歌曲……其實就是判斷不同對象之間的相關性,對相關性取值,劃分區間,不同區間內的所有對象歸為一類。比如抖音,一旦你瀏覽了這一類中的某個內容,就會推薦這一類中其他的內容給你。

相關性可以通過貝葉斯定理計算,以用戶觀看視頻為判斷相關性的標準,設用戶觀看視頻 A 的概率為 P(A),觀看視頻 B 的概率為 P(B),則:

  1. 用戶看完視頻 A 再看視頻 B 的概率為:P(B|A);
  2. 根據 P(B|A) 值的大小來決定是否來推送視頻 B。

3. 方案三:找到一個和你很像的人,他喜歡的東西你也會喜歡

人總是期望得到熟悉或相似的東西,就連人也是,兩個相似的人更容易產生交集,也有更多相同的東西可以進行分享,比如都喜歡某一首歌,某一部電影……

找到那個和你很像的人,不只是一個浪漫的夢想,也是推薦算法一直嘗試實現的事情,協同過濾推薦算法就是致力于解決這個問題。

協同過濾推薦算法利用用戶信息進行近鄰搜索,找到近鄰用戶,在根據近鄰用戶的喜好來進行相應的推薦。

舉個例子,在身高維度,身高差異最小的兩個人更像,再增加體重維度,就成了二維空間,通過兩點的夾角大小可以判斷相似性,如果再增加年齡維度,就是三維空間,也可以通過夾角大小來判斷相似性。

實際應用中一般都是多維空間,比如網易云音樂,以用戶對歌曲的交互行為(點贊、收聽、收藏等)建立多維空間,在多維空間中計算你與別人的夾角值,通過夾角值的大小來尋找近鄰用戶,再將她喜歡的歌曲推薦給你。還記得有段時間,網易云音樂推出了社交的功能,那個推薦給你的人可能是在音樂品味上與你最相似的人。

上圖所示的余弦相似度是一種典型的協同過濾相似辦法,還有對數似然相似度法、Pearson相似度法、Jaccard相似度法……都是基于存儲的協同過濾算法。

4. 方案四:找到一個和你存在某種關系的人,他喜歡的東西你也會喜歡

方案三中的方法主要是利用用戶在 APP 內的行為數據,如果是新用戶,行為數據非常少,那怎么辦?

既然 APP 中沒有你的信息,那么可以從你現實世界中尋找線索,通過社交圈是一個不錯的途徑,畢竟這也是你在現實生活中找到“近鄰用戶”。

當然這種現實關系不僅僅指社交圈,比如音樂網站 Spotify 宣布與 DNA 網站合作,任何人只要允許 Spotify 查看他的 DNA 序列,Spotify 就可以給用戶推薦根據他的 NDA 定制的歌曲。

上述的四個方案提供給算法了解用戶的思路,但各有利弊,比如方案三就會面臨“冷啟動”、“數據稀疏”等問題。所以實際使用中,都是好幾種算法的混合,即混合推薦算法。主要有七種不同的混合方式:加權、變換、混合、特征組合、層疊、特征擴充、元級別。

四、推薦算法的挑戰

大數據時代一個典型的特點是海量的信息,信息從未像現在一樣龐大,也從未像現在一樣易得,推薦系統幫助我們在海量信息中快速找到自己需要或感興趣的信息,提供便利的同時,也面臨著諸多挑戰。

1. 挑戰一:信息繭房

為了增強用戶黏性,提高用戶停留時間等,算法會遷就用戶的偏好,不斷預測并推薦符合其偏好的信息,這使得用戶接收的信息面越來越狹窄,并進一步強化其偏好,就像身處在一個繭房中,被層層束縛,無法“破繭而出”。算法讓興趣相投的用戶更容易產生聯結,但也加劇了社會價值觀念和意識形態的分化。

2. 挑戰二:信息暴食

“某音,某手正在毀掉一代人”這樣的營銷文甚囂塵上的同時也反映了一個現象,APP 越來越關注于爭奪用戶的時間,算法推薦無窮無盡的內容,刷完一屏,馬上生成下一屏的內容。

APP 設計也越來越看重“沉浸式體驗”,曾經抖音通過隱藏時鐘這一人為創造物,讓用戶更容易忽略掉時間流逝,一不留神好幾個小時就過去了。

3. 挑戰三:隱私風險

上文提到的方案四,在冷啟動階段,為了更精準地推薦,會挖掘用戶現實中的關系,其他方案也會存儲用戶行為數據以供模型的優化,但是如果這些數據被泄露呢?科技越發達,隱私越少,人們讓渡隱私,換取更便利的生活,但是什么該做、什么不該做,應該由誰來保障?

4. 挑戰四:黑箱操作

“你的 APP 在監聽你”,“APP 偷看了你的相冊”……等等諸多的懷疑都來自算法是“黑箱操作”,我們只知道被推薦了這些信息,但是不知道是怎么推給自己的,未知導致恐懼,恐懼加劇懷疑。

五、結語

這是一個最好的時代,也是一個最壞的時代。
——狄更斯 《雙城記》

推薦算法是技術的產物,也是時代的產物,誕生于如何在海量信息中幫助人們找到需要的信息,但是否“真正”需要是非常難界定的,是出于主觀意愿上的獨立選擇,還是外部干預下的被動選擇,到底是“我需要”還是“平臺覺得我需要”,是兩件非常不同的事情。

信息的攝取自人類誕生之日起就存在,推薦算法面臨的挑戰,曾經的信息攝取工具或多或少也遇到過。

信息繭房或許是算法建立的,但終究是自己選擇躲進去的。

信息暴食更多是物質匱乏時代的遺留,在物質過剩的現在,仍有很多人無法克服對脂肪淀粉等本能的生理渴望,錯過一篇公眾號文章都會焦慮不已,怎么能奢求他們克服對信息的暴食。

隱私風險一直存在,人們只是數據庫中的一串數據,我們用隱私作為交換,選擇便利。

黑箱操作,算法最初是作為核心機密來保護的,但隨著推薦系統回歸到數據本質,算法本身只是成了一把鑰匙,箱子里的寶藏是你擁有多少可用的數據,這樣也提供了一些了解黑箱操作的途徑,但是比起“沙雕視頻”,了解算法并沒有那么有趣。

推薦算法某種程度上是基于一種“無能”的假設,即:用戶沒有能力獨立找到自己所需的信息,所以需要算法“喂養”。

當然算法可以自信地拍著胸膛說,我比你還了解你,你為什么不愿意接受我的推薦,但是作為創造者,作為追求自由精神的人類,我們不是“事事掛在臉上”的三體人,我們需要一些私密的空間,需要有做出選擇權利??梢杂幸徊糠秩诉x擇放棄這個權利,也可以有一部分人選擇行使這個權利,但關鍵在于能夠給予用戶做出主觀選擇的權利。

工具應該回歸工具的本質,而不應該被賦予太多原本不屬于它的能力。

就像推薦算法被賦予太多商業上的目的后,它雖然依舊行使著工具的作用——幫助我們獲取到了信息,但卻讓我們存在著“被無微不至關心”和“被肆無忌憚窺視”兩種割裂的體驗。

 

本文由@Pluto_蛋蛋 原創發布于人人都是產品經理,未經許可,禁止轉載。

本文為人人都是產品經理《原創激勵計劃》出品。

題圖來自?Unsplash,基于 CC0 協議

給作者打賞,鼓勵TA抓緊創作!
4人打賞
更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 脈絡清晰,見解深刻,贊一個~

    回復
  2. 有太多人沉溺于信息之海了,水下待的太久就變成了魚,沒有思考,沒有記憶。

    回復
  3. 做推薦系統需要什么樣的人員組織架構???

    回復
    1. 架構師,高級程序員,算法

      回復