今日頭條的個(gè)性化推薦算法
時(shí)間:2022-05-25 00:36:02 | 來(lái)源:網(wǎng)絡(luò)營(yíng)銷(xiāo)
時(shí)間:2022-05-25 00:36:02 來(lái)源:網(wǎng)絡(luò)營(yíng)銷(xiāo)
互聯(lián)網(wǎng)給用戶帶來(lái)了大量的信息,滿足了用戶在信息時(shí)代對(duì)信息的需求,但也使得用戶在面對(duì)大量信息時(shí)無(wú)法從中獲得對(duì)自己真正有用的那部分信息,對(duì)信息的使用效率反而降低了,而通常解決這個(gè)問(wèn)題最常規(guī)的辦法是推薦系統(tǒng)。
推薦系統(tǒng)能有效幫助用戶快速發(fā)現(xiàn)感興趣和高質(zhì)量的信息,提升用戶體驗(yàn),增加用戶使用產(chǎn)品時(shí)間,并有效減少用戶瀏覽到重復(fù)或者厭惡的信息帶來(lái)的不利影響,通常推薦系統(tǒng)越精準(zhǔn),用戶體驗(yàn)就越好,用戶停留時(shí)間也會(huì)越長(zhǎng),也越容易留住用戶。
今日頭條在北京國(guó)家會(huì)議中心舉辦了“算數(shù)·年度數(shù)據(jù)發(fā)布會(huì)”,數(shù)據(jù)發(fā)布會(huì)的主題名為“算數(shù)”,實(shí)際上指的是“算法”與“數(shù)據(jù)”,我也參加了這場(chǎng)發(fā)布會(huì),有些收獲不敢私藏與大家分享!
眾所周知,今日頭條是個(gè)個(gè)性化的新聞推薦引擎,在今日頭條CEO張一鳴看來(lái),算法是《今日頭條》這款興趣推薦搜索引擎應(yīng)用的核心,這也是與傳統(tǒng)媒體最本質(zhì)的區(qū)別,今日頭條之所以能夠非常懂用戶,精準(zhǔn)推薦出用戶所喜好的新聞,完全得益于算法,而正是精準(zhǔn)推薦,使得今日頭條在短短兩年多的時(shí)間內(nèi)擁有了2.2億用戶,每天有超過(guò)2000萬(wàn)用戶在今日頭條上閱讀自己感興趣的文章。
那么今日頭條是怎么做到為每一個(gè)用戶按興趣精準(zhǔn)推薦新聞的呢?在發(fā)布會(huì)上,今日頭條的技術(shù)副總裁楊震原給我們揭秘了今日頭條的個(gè)性化推薦核心“算法”。
1、今日頭條的個(gè)性化推薦算法原理 如下圖,有3篇文章,讓3個(gè)用戶投票[注:這3個(gè)用戶是一類人,有相同屬性(喜好和偏好)],那第4個(gè)用戶應(yīng)該被系統(tǒng)推薦的文章是那篇呢?第4個(gè)用戶與前3個(gè)用戶都是一類人,答案顯而易見(jiàn)是第一篇文章。
沒(méi)錯(cuò),今日頭條的個(gè)性化推薦算法原理就是基于投票的方法,其核心理念就是投票,每個(gè)用戶一票,喜歡哪一篇文章就把票投給這篇文章,經(jīng)過(guò)統(tǒng)計(jì),最后得到結(jié)果很可能是在這個(gè)人群下最好的文章,并把這篇文章推薦給同人群用戶過(guò)程就是個(gè)性化推薦,實(shí)際上個(gè)性化推薦并不是機(jī)器給用戶推薦,而是用戶之間在互相推薦,看起來(lái)似乎很簡(jiǎn)單,但實(shí)際上這需要基于海量的用戶行為數(shù)據(jù)挖掘與分析。
2、今日頭條是如何來(lái)劃分人群和文章 搞技術(shù)的朋友都知道,內(nèi)容推薦必須基于受眾人群,只有在確定受眾人群之后才能確定推薦內(nèi)容,有的放矢才叫精準(zhǔn)推薦。
上面那個(gè)例子只是很小的人群,但是現(xiàn)實(shí)生活中不會(huì)有這樣小的人群,而且太小的人群通過(guò)推薦投票的方式也很難推薦出很精細(xì)的內(nèi)容,只能推薦出一些熱門(mén)內(nèi)容,那今日頭條是如何來(lái)劃分人群?
我們假定上圖這個(gè)人群有8萬(wàn)人,只有兩類:一類叫喜歡科技的人群;一類喜歡娛樂(lè)的人群,我們先分成兩類,每類有4萬(wàn)人,我們又找到另一個(gè)維度地域:上海和北京,喜歡科技的人有上海和北京的,喜歡娛樂(lè)的也有北京和上海的,我們把8萬(wàn)人群分成四組,每組兩萬(wàn),我們?cè)僬夷挲g,30歲以上和以下,我們分成8個(gè)人群,每個(gè)人群1萬(wàn)人,第1個(gè)是喜好科技,位置在北京,年齡30歲以上,這有1萬(wàn)人,我們?cè)僖韵旅娴南矚g娛樂(lè),地點(diǎn)上海,人群1萬(wàn)。
根據(jù)人群不同維度,我們可以細(xì)分到一個(gè)合理的力度。特別需要注意的是:在細(xì)分的領(lǐng)域里面投票數(shù)既不要太多,但也不要太少,因?yàn)樘鄾](méi)有個(gè)性化,僅是一個(gè)大眾關(guān)心的話題而已,而投票數(shù)太少又沒(méi)有統(tǒng)計(jì)意義,支持度就低了。
人群特征可以是閱讀姓名,年齡,地域,職業(yè)等等,同理,文章也是類似的,文章有提到哪些名人,文章發(fā)布的時(shí)間,文章所屬的地區(qū)等等,也都有很多特性,這些都是可以去組合起來(lái)。
3、今日頭條是怎樣判斷一個(gè)人屬于怎樣的人群 判斷一個(gè)用戶屬于怎樣的人群相對(duì)簡(jiǎn)單,比如地域,用戶的手機(jī)在什么區(qū)域,就可以認(rèn)為用戶是什么地域的;比如說(shuō)用戶興趣,可以根據(jù)用戶的閱讀習(xí)慣去判斷,用戶會(huì)經(jīng)常去看科技的文章,那就可以判斷用戶屬于科技的人群;再比如說(shuō)用戶的好友關(guān)系,用戶在今日頭條上面注冊(cè)了,用戶的好友都是娛樂(lè)圈的人,則該用戶很有可能也是娛樂(lè)圈的人。
所以通過(guò)用戶在今日頭條上行為,以及用戶客觀的地理位置信息,就能判斷用戶到底屬于一個(gè)什么樣的人群。
4、今日頭條的個(gè)性推薦算法公式 精準(zhǔn)推薦最難的不是劃分人群,也不是判斷用戶人群歸屬,更不是文章屬性判斷,一個(gè)人可以屬于多個(gè)人群,也有多個(gè)文章候選,選那個(gè)推薦才是最難的,而今日頭條的推薦內(nèi)容是怎么算出來(lái)的呢?
通過(guò)上圖的計(jì)算公式:W1*候選1的投票率+W2*候選2的投票率+W3候選3的投票率+……=最高分,最后能計(jì)算出一個(gè)得分,按得分的高低來(lái)排序,就可以得到推薦文章的一個(gè)侯選,這個(gè)過(guò)程實(shí)際上是一個(gè)比較簡(jiǎn)單的算法,而這在今日頭條內(nèi)部叫邏輯回歸。
總的來(lái)說(shuō),個(gè)性化推薦技術(shù)本身并不神秘,歸根到底推薦算法關(guān)鍵是還在于對(duì)海量用戶行為的數(shù)據(jù)分析與挖掘,也許各家算法略有不同,但最終目的都是殊途同歸,為實(shí)現(xiàn)最精準(zhǔn)的內(nèi)容推薦而努力中(對(duì)于排序的算法,大家可查看一下億企邦《九大排序算法的實(shí)現(xiàn)方法及算法分析》的相關(guān)介紹)。
5、關(guān)于推薦算法的三大類 推薦算法大致可以分為三類:基于內(nèi)容的推薦算法、協(xié)同過(guò)濾推薦算法和基于知識(shí)的推薦算法。
(1)、基于內(nèi)容的推薦算法 基于內(nèi)容的推薦算法的原理是用戶喜歡和自己關(guān)注過(guò)的Item在內(nèi)容上類似的Item,比如你看了哈利波特I,基于內(nèi)容的推薦算法發(fā)現(xiàn)哈利波特II-VI,與你以前觀看的在內(nèi)容上面(共有很多關(guān)鍵詞)有很大關(guān)聯(lián)性,就把后者推薦給你,這種方法可以避免Item的冷啟動(dòng)問(wèn)題(冷啟動(dòng):如果一個(gè)Item從沒(méi)有被關(guān)注過(guò),其他推薦算法則很少會(huì)去推薦,但是基于內(nèi)容的推薦算法可以分析Item之間的關(guān)系,實(shí)現(xiàn)推薦)。
弊端在于推薦的Item可能會(huì)重復(fù),典型的就是新聞推薦,如果你看了一則關(guān)于MH370的新聞,很可能推薦的新聞和你瀏覽過(guò)的,內(nèi)容一致;另外一個(gè)弊端則是對(duì)于一些多媒體的推薦(比如音樂(lè)、電影、圖片等)由于很難提內(nèi)容特征,則很難進(jìn)行推薦,一種解決方式則是人工給這些Item打標(biāo)簽。
(2)、協(xié)同過(guò)濾算法 協(xié)同過(guò)濾算法的原理是用戶喜歡那些具有相似興趣的用戶喜歡過(guò)的商品,比如你的朋友喜歡電影哈利波特I,那么就會(huì)推薦給你,這是最簡(jiǎn)單的基于用戶的協(xié)同過(guò)濾算法(user-based collaboratIve filtering),還有一種是基于Item的協(xié)同過(guò)濾算法(item-based collaborative filtering),這兩種方法都是將用戶的所有數(shù)據(jù)讀入到內(nèi)存中進(jìn)行運(yùn)算的,因此成為Memory-based Collaborative Filtering,另一種則是Model-based collaborative filtering,包括Aspect Model,pLSA,LDA,聚類,SVD,Matrix Factorization等,這種方法訓(xùn)練過(guò)程比較長(zhǎng),但是訓(xùn)練完成后,推薦過(guò)程比較快。
(3)、基于知識(shí)的推薦算法 最后一種方法是基于知識(shí)的推薦算法,也有人將這種方法歸為基于內(nèi)容的推薦,這種方法比較典型的是構(gòu)建領(lǐng)域本體,或者是建立一定的規(guī)則,進(jìn)行推薦。
混合推薦算法,則會(huì)融合以上方法,以加權(quán)或者串聯(lián)、并聯(lián)等方式盡心融合。
當(dāng)然,推薦系統(tǒng)還包括很多方法,其實(shí)機(jī)器學(xué)習(xí)或者數(shù)據(jù)挖掘里面的方法,很多都可以應(yīng)用在推薦系統(tǒng)中,比如說(shuō)LR、GBDT、RF(這三種方法在一些電商推薦里面經(jīng)常用到),社交網(wǎng)絡(luò)里面的圖結(jié)構(gòu)等,都可以說(shuō)是推薦方法。
億企邦點(diǎn)評(píng): 個(gè)性化推薦的主要思想八個(gè)字概括之:物以類聚、人以群分。主要的方法及變種應(yīng)該有很多,像協(xié)同過(guò)濾、基于內(nèi)容的推薦、基于標(biāo)簽的推薦等等,以后推薦系統(tǒng)一個(gè)趨勢(shì)就是基于社交的,利用用戶反饋進(jìn)行實(shí)時(shí)推薦,多種推薦算法進(jìn)行混合,從而達(dá)到一個(gè)較好的推薦結(jié)果。