“猜你喜歡”是怎么產(chǎn)生的?
在百度百科大致介紹了推薦算法,這是一個(gè)很有意思的人工智能(artificial intelligence)。想想看,計(jì)算機(jī)能夠根據(jù)大數(shù)據(jù)較為精確地了解人們的喜好、預(yù)測(cè)可能的結(jié)果,那如果輸入人類的表情、內(nèi)心與行為方式給機(jī)器人,它是不是也就能像人一樣進(jìn)行思考和對(duì)話呢?
目前的科技已部分地完成了這種可能。下面想介紹下小編個(gè)人對(duì)推薦算法的淺薄之見(jiàn),也是一個(gè)深入學(xué)習(xí)、認(rèn)真思考的開(kāi)篇。
推薦算法的Base可以分三類:用戶性質(zhì)、對(duì)象性質(zhì)、用戶與對(duì)象的交互過(guò)程。用網(wǎng)上的話來(lái)說(shuō),就是以人為本、以物為本和協(xié)同過(guò)濾(我喜歡稱之為“聯(lián)動(dòng)”)。這三類算法并不會(huì)孤立存在,一般會(huì)交錯(cuò)切換或者加權(quán)共生,意思就是會(huì)綜合起來(lái)使用或者在不同場(chǎng)景使用不同方法。我把它們單一的存在,稱為“一度推薦”;綜合在一起時(shí),稱為“二度推薦”。
首先說(shuō)說(shuō)“一度推薦”。
第一類叫基于用戶性質(zhì)的推薦,可以說(shuō)是用戶與用戶的交互過(guò)程,具體來(lái)說(shuō),就是根據(jù)用戶的label、喜好等個(gè)性來(lái)建立一個(gè)“同好會(huì)”。同好會(huì)也有分層,低層的只對(duì)應(yīng)一個(gè)關(guān)鍵字詞(tag),高層的會(huì)對(duì)應(yīng)多個(gè)tag,故每個(gè)用戶會(huì)有N個(gè)同好會(huì),越高層聯(lián)系越緊密。在推薦的時(shí)候,根據(jù)分層高低來(lái)進(jìn)行前后排序。說(shuō)白了,高層產(chǎn)生于低層,低層只是質(zhì)變之前的量變,可以不作他用。
第二類叫基于對(duì)象性質(zhì)的推薦,可以說(shuō)是對(duì)象與對(duì)象的交互過(guò)程,根據(jù)對(duì)象(產(chǎn)品/內(nèi)容)的本身相似度進(jìn)行同類推薦,這就包括作用、場(chǎng)景、品牌、價(jià)格、目標(biāo)用戶、label等tag,在用戶搜索瀏覽某些tag時(shí),系統(tǒng)會(huì)據(jù)此來(lái)進(jìn)行相應(yīng)推薦,推薦排序可以是以加權(quán)算法計(jì)算的相似度高低。例如,A與B-Z均有關(guān)聯(lián),但要做推薦,那么簡(jiǎn)化版的計(jì)算公式為相似度=tag1*權(quán)重1+tag2*權(quán)重2+…+tagN*權(quán)重N,所得結(jié)果按高低排序。
第三類叫用戶與對(duì)象的交互過(guò)程,根據(jù)用戶顯式或隱式的行為,比如搜索、瀏覽、關(guān)注、收藏、分享、下載、評(píng)價(jià)等加強(qiáng)的行為,或者取關(guān)、刪除、拉黑、秒關(guān)等減弱的行為,還有關(guān)系傳遞(同類用戶也看過(guò)B、買物品A的人80%的也買了B)。其中,根據(jù)用戶不同的行為及展現(xiàn)出的喜好的強(qiáng)弱,進(jìn)行權(quán)重的加減。另外我想到的用戶二次行為,也要加入到運(yùn)算中,比如推薦后主動(dòng)瀏覽、多次瀏覽等。除了這些用戶行為,系統(tǒng)也可以進(jìn)行預(yù)測(cè)型行為來(lái)進(jìn)一步提高推薦準(zhǔn)確度,比如消息推送后點(diǎn)開(kāi)鏈接、“換一組”的tag等。此類算法有幾個(gè)經(jīng)典的,例如余弦相似度、泊松相關(guān)系數(shù)等,稍后會(huì)一一說(shuō)明。
這里有幾種最主要的推薦算法供大家了解,因?yàn)樾【帞?shù)學(xué)一般,不能很深入了解,故寫(xiě)得較簡(jiǎn)略。
一,余弦相似度和修正余弦相似度,公式如下(截圖來(lái)自百度百科):
將向量根據(jù)坐標(biāo)值,繪制到向量空間中,求得他們的夾角,并得出夾角對(duì)應(yīng)的余弦值。余弦值的范圍在[-1,1]之間,值越趨近于1,代表夾角越小,兩個(gè)向量的方向越一致,相似度也越高。
修正余弦相似度是為了加入取關(guān)、刪除、低評(píng)價(jià)等影響相似度的用戶反向行為,也算是對(duì)余弦相似度缺點(diǎn)的修正
二,潛在因子(Latent Factor)算法,用戶-潛在因子矩陣Q(用戶多個(gè)tag的關(guān)注喜愛(ài)度)和對(duì)象-潛在因子矩陣P(對(duì)象多個(gè)tag的關(guān)聯(lián)包含度),用矩陣表示即為:R=QP,也是值高者勝。(本算法整理自知乎上的回答@nick lee)
三,Pearson相關(guān)系數(shù)是用來(lái)衡量?jī)蓚€(gè)數(shù)據(jù)集合是否在一條線上面,它用來(lái)衡量定距變量間的線性關(guān)系,公式如下:
通常情況下通過(guò)以下取值范圍判斷變量的相關(guān)強(qiáng)度:
- 0.8-1.0 極強(qiáng)相關(guān)
- 0.6-0.8 強(qiáng)相關(guān)
- 0.4-0.6 中等程度相關(guān)
- 0.2-0.4 弱相關(guān)
- 0.0-0.2 極弱相關(guān)或無(wú)相關(guān)
此外,還有一種我覺(jué)得特別有意思的推薦算法,可稱之為互動(dòng)的生態(tài)圈型,也就是UGC和官網(wǎng)的聯(lián)動(dòng)推薦。目前算法主要是官方來(lái)主導(dǎo)的,基于其背后的大數(shù)據(jù)系統(tǒng),但用戶參與很少,基于用戶的social性質(zhì),這種生態(tài)圈型的算法會(huì)成為一種趨勢(shì),用戶可以自行建立電臺(tái)、社區(qū)等個(gè)性化“文件夾”,進(jìn)行用戶之間的相互推薦,特別適用于電商、娛樂(lè)型產(chǎn)品,淘寶的社區(qū)、微淘都具有此類屬性。具體的方式可以是基于用戶之間的關(guān)聯(lián),推薦同類用戶的個(gè)人“文件夾”;基于對(duì)象之間的關(guān)聯(lián),推薦含有相同tag的個(gè)人“文件夾”,鼓勵(lì)和引導(dǎo)用戶貢獻(xiàn)內(nèi)容,加強(qiáng)社交屬性,增強(qiáng)用戶歸屬感和成就感,增加用戶黏性,這種知乎就做得很好,雖然不至于主動(dòng)推薦,但專為用戶開(kāi)放一個(gè)入口,可以接觸到可能感興趣的他人“文件夾”。
出現(xiàn)的疑問(wèn)一:如何避免推薦的單一化?解決方式可以是推薦用戶沒(méi)有加強(qiáng)或減弱行為下的tag,進(jìn)行熱門推薦、換一組形式的tag。在推薦比例上,遵循推薦數(shù)量為強(qiáng)關(guān)聯(lián):中等關(guān)聯(lián):弱關(guān)聯(lián)=4:2:1,。
出現(xiàn)的疑問(wèn)二:如何解決用戶冷啟動(dòng)的問(wèn)題?解決方式可以是排行榜、熱門推薦等,也可以在最初讓用戶選擇tag和拒絕部分tag,進(jìn)行初步推薦,在后續(xù)用戶行為增加后再進(jìn)行精細(xì)化推薦。
以上是從個(gè)人興趣點(diǎn)出發(fā),僅為拙見(jiàn)。
作者:小喬,公眾號(hào):亂入花間化綠葉。產(chǎn)品小白一枚,希望通過(guò)這種每周一次深入思考總結(jié)的方式,促進(jìn)自己的成長(zhǎng),走出從0到1到無(wú)窮的產(chǎn)品之路
本文由 @小喬 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
看不懂啊
那如何確定不同元素的向量坐標(biāo)?
??
不懂編程,不懂?dāng)?shù)據(jù)挖掘,這些就只能止步于理解層面……
好生澀啊
啊…… 看不懂
額總之就是基于物與物之間或人與人之間的相似性,通過(guò)復(fù)雜一點(diǎn)的算法,做出的推薦。我覺(jué)得算法究竟是怎樣的不必懂,只需要看到算法背后的邏輯就行。
看到算法層面確實(shí)有些看不懂了,請(qǐng)教下,作為產(chǎn)品,在進(jìn)行智能化產(chǎn)品設(shè)計(jì)時(shí),對(duì)算法不懂的話是不是阻礙比較大?