QQ在線客服

網(wǎng)站運(yùn)營(yíng)過(guò)程中常見(jiàn)的推薦算法

2017-06-08 16:38 來(lái)源: 站長(zhǎng)資源平臺(tái) 編輯: 等等 瀏覽(1148)人   

    網(wǎng)站運(yùn)營(yíng)過(guò)程中常見(jiàn)的推薦算法?在本文中,作者主要是介紹了常見(jiàn)推薦算法的基本原理。


    0. 從余弦公式講起


    先思考一個(gè)問(wèn)題,我們?cè)趺戳炕瘍蓚€(gè)事物的相似度呢?當(dāng)然,這也是推薦系統(tǒng)需要多次面臨的問(wèn)題。


    我們知道向量的概念,可以形象化地表示為帶箭頭的線段。二維空間向量表示方法為,多維空間向量表示為,向量是描述事物一種很好模型。


    比如,假設(shè)用戶有5個(gè)維度:


    對(duì)服裝的喜歡程度(1~5分)


    對(duì)家居的喜歡程度(1~5分)


    對(duì)3C的喜歡程度(1~5分)


    對(duì)圖書(shū)的喜歡程度(1~5分)


    對(duì)化妝品的喜歡程度(1~5分)


    一個(gè)用戶A:對(duì)服裝的喜歡程度3,對(duì)家居的喜歡程度1,對(duì)3C的喜歡程度4,對(duì)圖書(shū)的喜歡程度5,對(duì)化妝品的喜歡程度0,用戶A可以用向量表示為


    一個(gè)用戶B:對(duì)服裝的喜歡程度3,對(duì)家居的喜歡程度4,對(duì)3C的喜歡程度5,對(duì)圖書(shū)的喜歡程度0,對(duì)化妝品的喜歡程度2,用戶B可以用向量表示為


    這兩個(gè)用戶的相似程度是多大呢?既然我們把這兩個(gè)用戶表示為向量,那么我們可以考慮向量怎么判斷相似性。沒(méi)錯(cuò),看這兩個(gè)向量的夾角。夾角約小,則相似度越大。


    對(duì)于向量和而言,他們的在多維空間的夾角可以用向量余弦公式計(jì)算:


網(wǎng)站運(yùn)營(yíng)過(guò)程中常見(jiàn)的推薦算法


    余弦相似度的值本身是一個(gè)0~1的值,0代表完全正交,1代表完全一致。就剛才用戶A和用戶B的例子而言,我們可以知道他們的相似度為:


    余弦公式本身應(yīng)用范圍很廣,量化相似度在搜索推薦,商業(yè)策略中都是常見(jiàn)問(wèn)題,余弦公式是很好的解決方案。就推薦本身而言,計(jì)算內(nèi)容的相似度,計(jì)算用戶的相似度,計(jì)算用戶類(lèi)型的相似度,計(jì)算內(nèi)容類(lèi)型的相似度,這些都是可以應(yīng)用的場(chǎng)景。


    1. 推薦的本質(zhì)是什么


    推薦和搜索本質(zhì)有相似的地方。搜索滿足用戶從海量數(shù)據(jù)中迅速找到自己感興趣內(nèi)容的需求,屬于用戶主動(dòng)獲取。推薦則是系統(tǒng)從海量數(shù)據(jù)中根據(jù)獲取到的用戶數(shù)據(jù),猜測(cè)用戶感興趣的內(nèi)容并推薦給用戶,屬于系統(tǒng)推薦給用戶。本質(zhì)上都是為了在這個(gè)信息過(guò)載的時(shí)代,幫助用戶找到自己感興趣的東西。


    推薦系統(tǒng)有很多種形式。運(yùn)營(yíng)或者編輯篩選出自己認(rèn)為最好的內(nèi)容放在首頁(yè),廣義上講這也是一種推薦。不過(guò)這個(gè)不在我們本期文章的討論范圍,本期主要是討論系統(tǒng)級(jí)別的推薦。這里主要介紹四類(lèi)常見(jiàn)的推薦方法:


    基于內(nèi)容的推薦


    基于內(nèi)容的協(xié)同過(guò)濾


    基于用戶的協(xié)同過(guò)濾


    基于標(biāo)簽的推薦


    2. 基于內(nèi)容的推薦


    基于內(nèi)容的推薦是基礎(chǔ)的推薦策略。如果你瀏覽或購(gòu)買(mǎi)過(guò)某種類(lèi)型的內(nèi)容,則給你推薦這種類(lèi)型下的其他內(nèi)容。


    以電影推薦為例。比如你之前看過(guò)《盜夢(mèng)空間》,則系統(tǒng)會(huì)關(guān)聯(lián)數(shù)據(jù)庫(kù)中盜夢(mèng)空間的信息。系統(tǒng)會(huì)推薦克里斯托弗·諾蘭導(dǎo)演的其他作品,比如《致命魔術(shù)》;系統(tǒng)會(huì)推薦主演里昂納多的其他作品,比如《第十一小時(shí)》。


    如果這個(gè)電影系統(tǒng)的數(shù)據(jù)被很好地分類(lèi),那么推薦系統(tǒng)也會(huì)給用戶推薦這個(gè)分類(lèi)下的其他作品。盜夢(mèng)空間如果被歸為科幻作品,那么可能會(huì)推薦其他科幻作品,比如《星際迷航》。


    基于內(nèi)容的推薦好處在于易于理解,但是壞處是推薦方式比較依賴于完整的內(nèi)容知識(shí)庫(kù)的建立。如果內(nèi)容格式化比較差,那么基于內(nèi)容的推薦就無(wú)法實(shí)行。同時(shí)如果用戶留下的數(shù)據(jù)比較少,則推薦效果很差,因?yàn)闊o(wú)法擴(kuò)展。


    3. 基于內(nèi)容的協(xié)同過(guò)濾


    協(xié)同過(guò)濾(Collaborative Filtering)與傳統(tǒng)的基于內(nèi)容過(guò)濾直接分析內(nèi)容進(jìn)行推薦不同,協(xié)同過(guò)濾會(huì)分析系統(tǒng)已有數(shù)據(jù),并結(jié)合用戶表現(xiàn)的數(shù)據(jù),對(duì)該指定用戶對(duì)此信息的喜好程度預(yù)測(cè)。


    基于內(nèi)容的協(xié)同過(guò)濾(item-based CF),通過(guò)用戶對(duì)不同內(nèi)容的評(píng)分來(lái)評(píng)測(cè)內(nèi)容之間的相似性,基于內(nèi)容之間的相似性做出推薦;最典型的例子是著名的“啤酒加尿布”,就是通過(guò)分析知道啤酒和尿布經(jīng)常被美國(guó)爸爸們一起購(gòu)買(mǎi),于是在尿布邊上推薦啤酒,增加了啤酒銷(xiāo)量。


    需要計(jì)算用戶u對(duì)物品j的興趣,公式如下:


網(wǎng)站運(yùn)營(yíng)過(guò)程中常見(jiàn)的推薦算法


    這里N(u)表示用戶有關(guān)聯(lián)的商品的集合,wji表示物品j和i的相似度,rui表示用戶u對(duì)物品i的打分,示例如下:


網(wǎng)站運(yùn)營(yíng)過(guò)程中常見(jiàn)的推薦算法


    這里還有兩個(gè)問(wèn)題沒(méi)有仔細(xì)描述,如何打分,如何計(jì)算相似度。


    打分的話需要根據(jù)業(yè)務(wù)計(jì)算,如果有打分系統(tǒng)最好,沒(méi)有打分系統(tǒng),則需要根據(jù)用戶對(duì)這個(gè)物品的行為得到一個(gè)分?jǐn)?shù)。


    計(jì)算相似度除了之前我們提到的余弦公式,還可以根據(jù)其他的業(yè)務(wù)數(shù)據(jù)。比如對(duì)于網(wǎng)易云音樂(lè)而言,兩首歌越多的被加入兩個(gè)歌單,可以認(rèn)為兩首歌越相似。對(duì)于亞馬遜而言,兩個(gè)商品越多的被同時(shí)購(gòu)買(mǎi),則認(rèn)為兩個(gè)商品相似。這里其實(shí)是需要根據(jù)產(chǎn)品的具體情況進(jìn)行調(diào)整。


    4. 基于用戶的協(xié)同過(guò)濾


    基于用戶的協(xié)同過(guò)濾(user-based CF),通過(guò)用戶對(duì)不同內(nèi)容的行為,來(lái)評(píng)測(cè)用戶之間的相似性,基于用戶之間的相似性做出推薦。這部分推薦本質(zhì)上是給相似的用戶推薦其他用戶喜歡的內(nèi)容,一句話概括就是:和你類(lèi)似的人還喜歡下列內(nèi)容。


    需要計(jì)算用戶u對(duì)物品i的興趣,公式如下(可以和基于物品的協(xié)同過(guò)濾仔細(xì)對(duì)比):


網(wǎng)站運(yùn)營(yíng)過(guò)程中常見(jiàn)的推薦算法


    這里N(i)表示對(duì)物品i有過(guò)行為的用戶集合,wuv使用用戶u和用戶v的相似度,rvi表示用戶v對(duì)物品i的打分,示例如下:


網(wǎng)站運(yùn)營(yíng)過(guò)程中常見(jiàn)的推薦算法


    同樣的,這里計(jì)算相似度如果用到余弦公式,其實(shí)最主要的是選好維度。對(duì)于音樂(lè)而言,可能是每首歌都作為一個(gè)維度,對(duì)于電商而言,也可以是每個(gè)商品都是一個(gè)維度。當(dāng)然,用一些可理解的用戶標(biāo)簽作為維度也是可以的。


    5. 基于標(biāo)簽的推薦


    標(biāo)簽系統(tǒng)相對(duì)于之前的用戶維度和產(chǎn)品維度的推薦,從結(jié)構(gòu)上講,其實(shí)更易于理解一些,也更容易直接干預(yù)結(jié)果一些。關(guān)于tag和分類(lèi),基本上是互聯(lián)網(wǎng)有信息架構(gòu)以來(lái)就有的經(jīng)典設(shè)計(jì)結(jié)構(gòu)。內(nèi)容有標(biāo)簽,用戶也會(huì)因?yàn)橛脩粜袨楸淮蛏蠘?biāo)簽。通過(guò)標(biāo)簽去關(guān)聯(lián)內(nèi)容。


    需要計(jì)算用戶u對(duì)物品i的興趣,公式如下(可以和基于物品的協(xié)同過(guò)濾仔細(xì)對(duì)比):


網(wǎng)站運(yùn)營(yíng)過(guò)程中常見(jiàn)的推薦算法


    這里N(u.,i)表示用戶u和物品i共有的標(biāo)簽,wuk使用用戶u和標(biāo)簽k的關(guān)聯(lián)度,rki表示標(biāo)簽k和物品i的關(guān)聯(lián)性分?jǐn)?shù),示例如下:


網(wǎng)站運(yùn)營(yíng)過(guò)程中常見(jiàn)的推薦算法


    標(biāo)簽查找的方法這里有很大可以發(fā)揮的空間,比如,通過(guò)知識(shí)庫(kù)進(jìn)行處理,或者語(yǔ)義分析處理。而對(duì)于一些設(shè)計(jì)之初就有標(biāo)簽概念的網(wǎng)站, 就比較容易,比如豆瓣和知乎。對(duì)于知乎而言,公共編輯的標(biāo)簽是天然的標(biāo)簽內(nèi)容,對(duì)于知乎的用戶而言,瀏覽回答關(guān)注等行為則是天然的用戶標(biāo)簽素材。


    6. 總結(jié)


    對(duì)于推薦而言,這幾種基本的方法彼此之前都有些應(yīng)用場(chǎng)景的差別:比如基于知識(shí)的推薦,這是比較老舊的推薦方法,但是對(duì)于系統(tǒng)和結(jié)構(gòu)比較好的內(nèi)容,則低成本且高效。比如基于內(nèi)容的協(xié)同過(guò)濾,就適用于內(nèi)容比較有限,但是用戶數(shù)特別多的情況,比如電商公司。比如基于用戶的協(xié)同過(guò)濾,則比較容易根據(jù)用戶的興趣點(diǎn),發(fā)覺(jué)熱點(diǎn)內(nèi)容,比如新聞門(mén)戶。對(duì)于基于標(biāo)簽的推薦,有標(biāo)簽系統(tǒng)的很占便宜,它在靈活性和可控制性上都好一些,但是做好很難。


【版權(quán)與免責(zé)聲明】如發(fā)現(xiàn)內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息發(fā)郵件至 kefu@2898.com ,我們將及時(shí)溝通與處理。 本站內(nèi)容除了2898站長(zhǎng)資源平臺(tái)( afrimangol.com )原創(chuàng)外,其它均為網(wǎng)友轉(zhuǎn)載內(nèi)容,涉及言論、版權(quán)與本站無(wú)關(guān)。