年輕人都在「反算法」,沒想到它先站出來了
編輯導語:算法推薦通過用戶點擊、搜索等相關數據猜測用戶喜好,進而推送用戶喜歡的內容。但是在長時間跨度中,平臺可能無法捕捉用戶的動態喜好。因此,Spotify開發出了新的算法——偏好轉化模型。本文作者針對Spotify算法設計進行了分析,一起來看一下。
你的音樂品味變了,Spotify 的算法也是。
作為煎餅果子圣地,天津人評價最高的煎餅店,一定不是人們趨之若鶩的網紅店,而是「我家樓下那家」。
人們對于音樂的喜好,和天津人對煎餅果子的愛有異曲同工之處,好友熱情分享過來的音樂,通常會被你歸為「垃圾」。隨著卡帶、CD、MP3 逐漸被移動互聯網取代,音樂應用最終承載起滿足人們音樂品味的重任。
社交媒體上經久不衰的唯二的兩個問題,一個是為什么「隨機」推薦并不真的「隨機」,另一個就是為什么音樂平臺推薦的音樂都這么「垃圾」。如果有機會,估計所有人最想做的事情就是去面對面問一下音樂應用的程序員,自己到底怎么才能「調教」好這個 App,讓它推薦更多自己喜歡的音樂。
以用戶數最多的音樂平臺 Spotify 為例,他們最近開發出了一種新的算法——偏好轉化模型(Prefenrence Transition Model,PTM),想要預測,一年后的你會聽什么音樂。
一、揭開 Spotify「算法黑箱」
抖音、微博、淘寶、YouTube、Spotify,這些平臺的算法想盡辦法猜測我們喜好,然后把它們覺得我們會喜歡的內容推給我們。
有些時候,這些算法確實猜得很準,我們看到的都是喜歡的內容。但從另一方面來說,我們只看了自己喜歡的內容。
互聯網活動家伊萊·帕里瑟(Eli Pariser)在 2011 年的時候提出了他著名的「過濾氣泡」(Filter Bubble)理論:算法會根據用戶的地址、歷史點擊、過往搜索等用戶相關信息猜測用戶喜好。這個過程中,那些與用戶意見相悖的信息就被過濾了。長期下來,用戶就會無法接觸新的想法和信息,逐漸隔絕在自己的意識形態泡沫中。
在處理過濾氣泡的問題上,Spotify 一直因為精準的算法而為人稱道。不只是讓用戶在自己熟悉的內容中打轉,它總能幫用戶發現那些新鮮的歌曲。而恰好,這些歌曲還很討人喜歡。
「每周發現」(Discovery Weekly)是 Spotify 在 2015 年 7 月的王牌欄目。每周一,Spotiy 就會向用戶推送 30 首完全沒聽過的歌曲。同時,它又總能帶來非常好的用戶體驗。截至 2020 年 6 月 25 日,每周發現總共被播放了 23 億小時,約合 26.65 萬年,比人類文明存在的時間還長。
Spotify 是怎么做到這一切的?當然還是算法。
Spotify 主要使用了三種推薦機制——協同過濾算法(Collaborative Filtering Model)、卷積神經網絡(Convolutional Neural Networks)和自然語言分析(Natural Language Processing)。
Netflix 是最早使用協同過濾算法來推薦內容的平臺。在 Netflix 大獲成功之后,這種算法就變得越來越流行。簡單來說,它會根據用戶之間的相似性而不是內容的相似性來推薦新事物。
對 Spotify 來說,擺在它面前的是一個巨大的數據庫,里面裝滿了用戶聽過內容的歷史。協同過濾算法會根據用戶 A 聽過的歌曲,找到也喜歡這些歌的另一個用戶 B,然后向 A 推送只有 B 聽過的歌曲。
但協同過濾算法的一大缺點是所謂的「冷啟動」問題,只有掌握足夠多的數據,協同過濾算法才能起作用。如果用戶是一個還沒有聽過多少歌的新用戶,或者內容庫里有一首非常冷門歌曲,協同過濾算法就無法精準匹配。
這就引入了另一種算法——自然語言處理。Word2Vec 常被用在自然語言處理中,它可以將我們日常的對話編碼成數學關系——向量。
Spotify 做了和 Word2Vec 相似的工作。它會抓取網絡上描述音樂、歌曲或者歌手的詞語,通過算法分配給它們不同的權重。這個權重,很大程度上代表了人們用這個詞來描述音樂的概率。通過自然語言處理,Spotify 就能確定那兩首歌彼此是相似的,從而解決冷啟動問題。即使是冷門的歌曲或歌手,也能得到推薦。
Spotify 的第三種方式是卷積神經網。
在前兩種算法的幫助下,Spotify 已經獲得了足夠多的數據,但卷積神經網絡可以進一步提高了音樂推薦的準確性。
卷積神經網絡會分析歌曲的特征,包括拍子、音調、模式、節奏、響度等。通過閱讀這些歌曲的特征,Spotify 就可以根據用戶的收聽歷史了解它們之間的相似性,匹配用戶的喜好。
Daft Punk 的歌曲「環游世界」的數據分析圖|The Echo Nest
正是通過這三種算法,Spotify 像魔法一般猜準了用戶的喜好,打造出了千人千面的 Discover Weekly。
但即使 Spotify 已經成為了世界上最流行的流媒體播放軟件,即使世界上最聰明的人在這里構建出了無比精巧的算法,過濾氣泡的「詛咒」依舊存在。
于是,Spotify,又多做了一步。
二、但是,人是會變的呀!
2021 年 4 月,Spotify 聯合多倫多大學發布了一篇論文《下一步去哪兒?一種用戶偏好的動態模型》(Where To Next?A Dynamic Model of User Preferences)。
他們在 4 年間(2016 年至 2020 年)分析了 10 萬名用戶的收聽數據,來觀察用戶的消費分布變化。他們發現,隨著時間的變化,用戶的消費習慣也在發生變化。先前的算法擅長捕捉用戶的靜態喜好,但當面對長時間的跨度時,卻無法捕捉用戶動態的喜好變化。對于 Spotify 的長期用戶來說,他們依舊可能困在過濾氣泡中。
這是 2016 年第一季度對比隨后每個季度的總消費變化直方圖。顏色越深,對比的時間跨度就越長。比如,最左邊的淺色曲線是 2016 年第一季度和 2016 年第二季度的對比;最右邊的深色曲線是 2016 年第一季度和 2020 年第二季度的對比。隨著時間的增加,變化也越來越明顯|圖片來源:Spotify
Spotify 同時發現,當免費用戶消費的音樂種類越多時,他們越有可能轉化為付費用戶。也就是說,用戶聽到的音樂類型越多,他們越喜歡 Spotify。
那么該如何知道,一個人未來的音樂口味呢?
Spotify 給出了一個新的算法——偏好轉化模型(Prefenrence Transition Model,PTM)。
在這張偏好轉化模型的草圖中,我們可以大致窺見 PTM 的工作原理。
圖片來源:Spotify
我們現在有個用戶 1 號,根據歷史,可以知道他喜歡聽靈魂樂(Soul)。我們想知道,他以后會不會喜歡新世紀音樂(New Age)和布魯斯(Blues)。
轉換矩陣 A 是 PTM 的核心,將上述的數據輸入 A,就會得到一個預測的結果??梢钥吹?,新世紀音樂的數值(0.5)和靈魂樂(0.4)非常接近,那用戶 1 將來很有可能會喜歡上新世紀音樂。
當然,這只是一個最簡單的模型演示,實際情況要比這復雜得多。Spotify 總共歸納了 4000 種音樂流派。而在 Spotify 的數據庫中,還有有 3.56 億個這樣的「用戶 1 號」。
PTM 的核心算法:指數加權移動平均分布和泊松多項式兩級分布|Spotify
與之前的算法相比,PTM 在各項測試中都得到了最好成績|Spotify
除了預測性能,PTM 的另一大特點就是可以直觀地解釋從一種音樂是如何轉換到另一種音樂的。假定我們現在有兩個音樂流派 a 和 b,PTM 就可以提供用戶在聽完 a 之后轉換到 b 的概率。這就解釋了兩個問題:
- a 到 b,哪條路徑是最短的?
- 如果用戶聽了 a,那么他接下來最有可能播放哪個流派?
回答這兩個問題,大大提高了 PTM 的效率和預測準確性。
這是一張偏好轉化的示意圖,顯示了初始流派(綠色)到目標流派(紅色)的最短路徑|Spotify
三、如何「馴服」算法
看起來,Spotify 已經做得很好了。但再聰明的算法,都可能時不時抽一下風。畢竟,人確實很復雜,沒有人可以像你自己一樣了解自己。
Spotify 官方也給出了一些建議,希望幫助你更好地「馴服」他們的算法。
- 給你喜歡的歌曲點個??。
- 如果你不喜歡一首歌,在 30 秒之前跳過它。30s 是個關鍵節點,如果在這之前跳過一首歌,相當于算法在內部給它點了?。
- 聽聽新的歌手和他們的音樂。這樣算法就可以更好地學習你的行為模式。
- 提供你的年齡和位置信息——要是你不介意的話。Spotify 會根據用戶的年齡和地理位置推薦不同的音樂類型。
- 如果你不想 Spotify 注意到你的行為,可以使用「私密模式」。
- 最后,保持耐心。算法在設計中會忽略新的收聽行為中一些迅速的、突然出現的峰值,因為許多人會分享他們的 Spotify 登錄信息。因此新的收聽活動可能不會立刻導致你的播放列表變化。
作者:湯一濤,微信公眾號:極客公園
來源:https://mp.weixin.qq.com/s/nCzADELz_04jZL1LQNp9_g
本文由 @極客公園 授權發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自Unsplash,基于CC0協議。
- 目前還沒評論,等你發揮!