都說現(xiàn)在算法很智能,那音樂軟件為什么還老給我推薦神曲

有天午睡前,我像往常一樣點(diǎn)開了我的日推。一首《La vie en rose》結(jié)束,我滿足地準(zhǔn)備睡覺。

突然,耳機(jī)里響起了有節(jié)奏的喵喵叫。。。?
我

往下一翻,我還看到了令我崩潰的其它類似歌曲。。。

所以。。這個(gè)軟件是怎么了。。。為什么要給我這樣一個(gè)平時(shí)聽玫瑰人生的高冷人兒推薦這些歌?
想把算法工程師打一頓的好奇的小編立刻決定起床,一定要把這件事搞清楚。
經(jīng)過一番調(diào)查,我終于發(fā)現(xiàn),電商平臺(tái)、短視頻平臺(tái)等背后的一切都是類似的。一切都是因?yàn)樗?span id="s0sssss00s" class="color-purple-01">推薦系統(tǒng)在作妖。
所以,這些軟件到底是怎么給你推薦的?

以人為本

這套推薦系統(tǒng)最早來源于亞馬遜。當(dāng)時(shí)亞馬遜的工程師們厭煩了復(fù)雜繁瑣的人工推薦,就開發(fā)了這樣一套系統(tǒng)來做自動(dòng)購物推薦。
他們大致貫徹了一個(gè)原則——喜好相似的人和人之間有相似的消費(fèi)模式。喜歡這個(gè)東西的人,傾向于也喜歡另一個(gè)。

這種算法叫做「協(xié)同過濾」,它會(huì)依據(jù)每個(gè)用戶的歷史數(shù)據(jù)來推薦其他相似用戶曾經(jīng)接觸過的東西。
舉個(gè)栗子:我和老王都喜歡a, b這兩首歌,并且老王還喜歡c這首歌。那么,有比較大的概率我也會(huì)喜歡c這首歌。

我們可以在亞馬遜看到「瀏覽此商品的顧客也同時(shí)瀏覽」

或

豆瓣搜索電影也常常會(huì)出現(xiàn)

這樣的推薦系統(tǒng)分析的是用戶的口味之間的相似度。
我們可以把推薦系統(tǒng)想象成一個(gè)多維空間,存在很多個(gè)不同的標(biāo)簽,每個(gè)標(biāo)簽都是一個(gè)維度,我們可以把它想象成空間坐標(biāo)的x, y, z軸。每首音樂都有一個(gè)或幾個(gè)事先加好的標(biāo)簽。用戶的感興趣程度就作為該維度的坐標(biāo),比如切掉=-2,收藏=2,單曲循環(huán)=4等等。
于是,用戶在系統(tǒng)的眼中就是空間中的一個(gè)點(diǎn),也是由原點(diǎn)指向這個(gè)點(diǎn)的向量。不同的用戶有不同的喜好,也就有了不同的空間坐標(biāo)和向量。
聽到這里,我知道你現(xiàn)在大概是這樣的

舉個(gè)栗子你就懂了。
假如我和老王都收藏過歌曲a和b,老王還單曲循環(huán)過歌曲c。歌曲a具有“純音樂”的標(biāo)簽,歌曲b具有“鋼琴”的標(biāo)簽,歌曲c具有“二次元”的標(biāo)簽。所以,在 (純音樂,二次元,鋼琴) 的三維坐標(biāo)系中,我的向量是 (2,0,2),而老王的向量是 (2,4,2)。
假如這個(gè)時(shí)候又來了個(gè)小明,他的向量是(0,4,4)。求我與他倆之間的相似度?
按照「英雄所見略同」的常識(shí),發(fā)展方向接近的人之間相似度較高。所以,我們可以用向量之間的夾角來衡量相似度。夾角越小,相似度越高。

所以,現(xiàn)在問題變成了一道高中數(shù)學(xué)題:已知向量A、B、C,求三個(gè)向量之間的夾角。根據(jù)這個(gè)夾角,就能夠算出你的口味是跟老王更接近還是跟小明更相似,然后根據(jù)跟你口味更相似的那個(gè)人的歌單,給你推薦歌曲。

聽起來很不錯(cuò),但仔細(xì)想想你就會(huì)發(fā)現(xiàn),不管計(jì)算出來誰跟你更接近,你都有可能被推薦他們所鐘愛的二次元歌曲。但從你以往的聽歌歷史上根本看不出你有二次元傾向啊。。。
而且,這樣單純而不做作的推薦算法在如今多元化的市場上是會(huì)水土不服的,在樣本量比較小的情況下精度尤其低。小編就常常懷疑,音樂軟件是不是悄悄把我的坐標(biāo)挪到了“鋼鐵直男”們附近。。。不然它為什么老是給我推薦喵喵歌?我才不會(huì)承認(rèn)我前一天收藏了一首小黃人的歌呢。
好在后來,程序猿們又開發(fā)出了一套基于內(nèi)容的推薦系統(tǒng)。

內(nèi)容為本

這套系統(tǒng)著眼于需要推薦的商品本身,不同的商品會(huì)有很多種不同的屬性。比如音樂有流派、藝術(shù)家、歌詞等屬性,書籍有文體、出版社等屬性,商品有用途、顏色等。
按照這些屬性,我們可以計(jì)算兩件商品的相似度。推薦系統(tǒng)會(huì)使用商品的不同屬性作為不同的維度,構(gòu)建一個(gè)屬性空間。此時(shí),每件物品就像前面的用戶一樣,成為算法的研究對(duì)象,擁有屬于自己的坐標(biāo)。算法會(huì)計(jì)算每件物品之間的距離或向量夾角,作為判斷它們相似度的依據(jù)。
所以,在一定的方向上或一定的位置上,相似的商品會(huì)聚集在一起,也就是「物以類聚」。

推薦算法認(rèn)為,當(dāng)你喜歡一個(gè)物品時(shí),你會(huì)傾向于也喜歡同類型的其他物品。于是,當(dāng)用戶翻牌了其中一首歌,與它相似的那一堆歌曲很快就會(huì)亮起來然后被放進(jìn)推薦中。
這個(gè)邏輯本身沒毛病,但你會(huì)發(fā)現(xiàn),這些音樂軟件往往都把你想象成一個(gè)聽歌口味異常專一、收藏歌曲異常慎重而且耐心異常充足的人。
但你知道,大多數(shù)人聽歌心態(tài)都比較放松,態(tài)度也都比較寬松,并不會(huì)對(duì)于點(diǎn)紅心這件事很慎重。這樣導(dǎo)致的后果就是,推薦系統(tǒng)會(huì)對(duì)你的操作過度解讀。一旦發(fā)生了過度解讀的慘案,你的日推就會(huì)像脫韁的野馬一樣擁有一顆自由自在的靈魂。

小編就常常聽到什么歌覺得還可以,就隨便點(diǎn)了收藏,然后第二天崩潰地發(fā)現(xiàn)自己的日推畫風(fēng)突變了。。。
就在我收藏喵喵歌的第二天,它又給我推薦了歡樂斗地主的歌。。。天知道我點(diǎn)了多少次「不感興趣」才脫離日推就此跑偏的深淵。

所以,如果把音樂比作星星,聽歌比較雜的人恐怕經(jīng)常被推薦整個(gè)宇宙。。。

現(xiàn)在的推薦系統(tǒng)智能多了

為了避免再出現(xiàn)這樣蠢蠢的情況,現(xiàn)在的推薦算法一般都是以上「以人為本」和「內(nèi)容為本」兩種的結(jié)合。
它們對(duì)用戶口味相似度和商品本身相似度的計(jì)算都會(huì)更加嚴(yán)格,會(huì)加上各種實(shí)際情況的限制條件,比如對(duì)用戶對(duì)歌曲的喜好程度的分級(jí):有的軟件會(huì)采取 單曲循環(huán)>分享>評(píng)論>收藏>聽完>切掉 的順序,用戶不同的操作意味著不同的權(quán)重,不同的軟件分級(jí)策略不一樣。
這些限制或附加的條件會(huì)讓算法更合理,使用起來會(huì)讓用戶自作多情地認(rèn)為「它懂我」。這就會(huì)大大提升用戶體驗(yàn),從而吸粉。

不僅是音樂軟件,很多的電商平臺(tái)、新聞推送軟件,包括短視頻平臺(tái)等等,它們也都有著各自的一套復(fù)雜的推薦系統(tǒng),其中不乏深度學(xué)習(xí)等看似高端的操作和標(biāo)簽二次過濾等。
雖然現(xiàn)在的個(gè)性化推薦系統(tǒng)已經(jīng)發(fā)展得比較成熟了,推薦算法也都層出不窮花里胡哨,但因?yàn)槿说南埠檬菑?fù)雜多變的,想要完全滿足人類的需求還是很難。
總有那么些時(shí)候,你會(huì)發(fā)現(xiàn),在你買了一雙拖鞋甚至已經(jīng)用了幾個(gè)月后,某寶仍然能夠源源不斷持之以恒地給你推薦各種塑料拖鞋、布拖鞋、男士拖鞋、女士拖鞋。。。所以我是干了什么讓它覺得我很缺拖鞋。。。

又有些時(shí)候,你突然想聽一首歌,而卻死活都想不起它的名字歌詞和調(diào)調(diào)時(shí),你也許會(huì)突然嘗試聽同類型歌曲,期盼軟件能夠把那首歌給你找出來。然而這個(gè)時(shí)候的推薦系統(tǒng)又常常get不了你的心意。。。

今天為了寫這篇文章,我又把那首喵喵歌翻出來了。現(xiàn)在我很擔(dān)心我明天的日推。。。
最后,答應(yīng)我,千萬不要去搜喵喵歌!千萬不要!更不要點(diǎn)收藏!
部分圖片來源于網(wǎng)絡(luò)
參考文獻(xiàn):
[1] 網(wǎng)易云音樂首次披露推薦算法: 讓單身狗猶如過情人節(jié)的日推原來是這樣生成的 http://dy.163.com/v2/article/detail/DAKB3SMV05118DFD.html
[2] 讓你上癮的網(wǎng)易云音樂推薦算法,用Word2vec就可以實(shí)現(xiàn) https://baijiahao.baidu.com/s?id=1588907299848655339&wfr=spider&for=pc
[3] 網(wǎng)易云音樂的歌單推薦算法是怎樣的? https://www.zhihu.com/question/26743347

>>熱門文章推薦<<




