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