推薦系統(tǒng)架構(gòu)-1 推薦系統(tǒng)

目錄

一、推薦系統(tǒng)

1、推薦系統(tǒng)介紹

????1.1 什么是推薦系統(tǒng)

????1.2 推薦方法

????1.3 推薦系統(tǒng)的應(yīng)用

????1.4 評(píng)測(cè)推薦系統(tǒng)

2、利用用戶行為數(shù)據(jù)

????2.1 用戶行為數(shù)據(jù)

????2.2 用戶行為分析

????2.3 基于領(lǐng)域的方法

????2.4 隱語(yǔ)義模型

????2.5 基于圖的隨機(jī)游走算法

3、推薦系統(tǒng)冷啟動(dòng)問題

????3.1 冷啟動(dòng)問題

????3.2 利用用戶注冊(cè)信息

????3.3 選擇合適的物品啟動(dòng)用戶的興趣

????3.4 利用物品的內(nèi)容信息

????3.5 發(fā)揮專家的作用

4、利用用戶標(biāo)簽數(shù)據(jù)

? ? 4.1 標(biāo)簽系統(tǒng)中的推薦問題

? ? 4.2 基于標(biāo)簽的推薦系統(tǒng)

? ? 4.3 基于標(biāo)簽的推薦解析

? ? 4.4 給用戶推薦標(biāo)簽

5、利用上下文信息

? ? 5.1 時(shí)間上下文信息

? ? 5.2 地點(diǎn)上下文信息

6、利用社交網(wǎng)絡(luò)數(shù)據(jù)

7、推薦系統(tǒng)架構(gòu)

? ? 7.1 外圍架構(gòu)

? ? 7.2 基于特征的推薦系統(tǒng)架構(gòu)

? ? 7.3 推薦引擎架構(gòu)


一、推薦系統(tǒng)

1、推薦系統(tǒng)介紹

1.1 什么是推薦系統(tǒng)

????隨著信息技術(shù)和互聯(lián)網(wǎng)的發(fā)展,人們逐漸從信息匱乏的時(shí)代走入了信息過載(information overload)的時(shí)代。在這個(gè)時(shí)代,無(wú)論是信息消費(fèi)者還是信息生產(chǎn)者都遇到了很大的挑戰(zhàn):作為信息消費(fèi)者,如何從大量信息中找到自己感興趣的信息是一件非常困難的事情;作為信息生產(chǎn)者, 如何讓自己生產(chǎn)的信息脫穎而出,受到廣大用戶的關(guān)注,也是一件非常困難的事情。

????為了解決信息過載問題,截至至今,人們經(jīng)歷了分類目錄、搜索引擎、推薦系統(tǒng)三個(gè)階段。? ?


? ? 通過搜索引擎查找內(nèi)容是以用戶有明確的需求為前提的,當(dāng)用戶沒有明確的需求時(shí),『神通廣大』的搜索引擎也會(huì)變成無(wú)能為力。

????推薦系統(tǒng)就是解決這一矛盾的重要工具。推薦系統(tǒng)的任務(wù)就是聯(lián)系用戶和信息,一方面幫助用戶發(fā)現(xiàn)對(duì)自己有價(jià)值的信息,另一方面讓信息能夠展現(xiàn)在對(duì)它感興趣的用戶面前,從而幫忙用戶從海量的信息中發(fā)掘自己潛在的需求。

1.2 推薦方法

??專家推薦

??基于統(tǒng)計(jì)的推薦

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

??協(xié)同過濾推薦

??混合推薦

1.3 推薦系統(tǒng)的應(yīng)用

電子商務(wù):amazon “推薦系統(tǒng)之王”

傳統(tǒng)的80/20原則(80%的銷售額來(lái)自于20%的熱門品牌),但是通過推薦系統(tǒng)發(fā)掘長(zhǎng)尾,目前推薦系統(tǒng)在amazon帶來(lái)的收入占比已經(jīng)超過35%。

附:長(zhǎng)尾效應(yīng)

在線音視頻:Netflix、Youtube、Kugou、FM

社交網(wǎng)絡(luò):Facebook、Twitter

基于位置的服務(wù):美團(tuán)點(diǎn)評(píng)

個(gè)改化廣告:Google、Facebook、百度推薦

個(gè)性化閱讀:GoogleReader、今日頭條

1.4 評(píng)測(cè)推薦系統(tǒng)

????好的推薦系統(tǒng)不僅僅能夠準(zhǔn)確預(yù)測(cè)用戶的行為,而且能夠擴(kuò)展用戶的視野,幫助用戶發(fā)現(xiàn)那些他們可能會(huì)感興趣,但卻不那么容易發(fā)現(xiàn)的東西。同時(shí),推薦系統(tǒng)還要能夠幫助商家將 那些被埋沒在長(zhǎng)尾中的好商品介紹給可能會(huì)對(duì)它們感興趣的用戶。

1.4.1 評(píng)測(cè)方法:

??離線實(shí)驗(yàn)

??用戶調(diào)查

??在線實(shí)驗(yàn)

AB測(cè)試

1.4.2 評(píng)測(cè)指標(biāo)

??用戶滿意度

??預(yù)測(cè)準(zhǔn)確度

??覆蓋率

??多樣性

??新穎性

??驚喜度

??信任度

??實(shí)時(shí)性

??透明度

1.4.3 評(píng)測(cè)維度

? 用戶維度? ? 主要包括用戶的人口統(tǒng)計(jì)學(xué)信息、活躍度以及是不是新用戶等。

? 物品維度? ??包括物品的屬性信息、流行度、平均分以及是不是新加入的物品等。

? 時(shí)間維度? ??包括季節(jié),是工作日還是周末,是白天還是晚上等。

2、利用用戶行為數(shù)據(jù)

2.1 用戶行為數(shù)據(jù)

用戶行為數(shù)據(jù)在網(wǎng)站上最簡(jiǎn)單的存在形式就是日志

用戶行為數(shù)據(jù)可以分為

??顯性反饋,如:點(diǎn)贊、評(píng)分

??隱性反饋,如:瀏覽、瀏覽

按照反饋的方向, 又可以分為:

??正反饋,如:喜歡

??負(fù)反饋,如:不喜歡


2.2 用戶行為分析

用戶活躍度和物品流行度的分布

用戶活躍度和物品流行度的關(guān)系


2.3?基于鄰域的方法(neighborhood-based)

2.3.1?基于用戶的協(xié)同過濾算法(UserCF)

(1) 找到和目標(biāo)用戶興趣相似的用戶集合。?

(2) 找到這個(gè)集合中的用戶喜歡的,且目標(biāo)用戶沒有聽說過的物品推薦給目標(biāo)用戶。?

隨著網(wǎng)站的用戶數(shù)目越來(lái)越大,計(jì)算用戶興趣相似度矩陣將越來(lái)越困難,其運(yùn)算時(shí)間復(fù)雜度和空 間復(fù)雜度的增長(zhǎng)和用戶數(shù)的增長(zhǎng)近似于平方關(guān)系。其次,基于用戶的協(xié)同過濾很難對(duì)推薦結(jié)果作出解釋。

2.3.2 基于物品的協(xié)同過濾算法(ItemCF)

(1) 計(jì)算物品之間的相似度。

(2) 根據(jù)物品的相似度和用戶的歷史行為給用戶生成推薦列表。

2.3.3?UserCF和ItemCF優(yōu)缺點(diǎn)的對(duì)比

2.4?隱語(yǔ)義模型 (latent factor model)

????自從Netflix Prize比賽舉辦以來(lái),LFM(latent factor model)隱語(yǔ)義模型逐漸成為推薦系統(tǒng)領(lǐng)域耳熟能詳?shù)拿~。其實(shí)該算法最早在文本挖掘領(lǐng)域被提出,用于找到文本的隱含語(yǔ)義。相關(guān)的名詞有LSI、pLSA、LDA和Topic Model。

? ? 隱語(yǔ)義模型是最近幾年推薦系統(tǒng)領(lǐng)域最為熱門的研究話題,它的核心思想是通過隱含特征(latent factor)聯(lián)系用戶興趣和物品。

LFM和基于鄰域的方法的比較

????LFM是一種基于機(jī)器學(xué)習(xí)的方法,具有比較好的理論基礎(chǔ)。這個(gè)方法和基于鄰域的方法(比如UserCF、ItemCF)相比,各有優(yōu)缺點(diǎn)。

? ?理論基礎(chǔ)

? ?離線計(jì)算的空間復(fù)雜度

? ?離線計(jì)算的時(shí)間復(fù)雜度

? ?在線實(shí)時(shí)推薦

? ?推薦解釋

2.5 基于圖的隨機(jī)游走算法(random walk on graph)

用戶行為很容易用二分圖表示,因此很多圖的算法都可以用到推薦系統(tǒng)中。

? ?用戶行為數(shù)據(jù)的二分圖表示

? ?基于圖的推薦算法

3、推薦系統(tǒng)冷啟動(dòng)問題

????推薦系統(tǒng)需要根據(jù)用戶的歷史行為和興趣預(yù)測(cè)用戶未來(lái)的行為和興趣,因此大量的用戶行為數(shù)據(jù)就成為推薦系統(tǒng)的重要組成部分和先決條件。對(duì)于很多像百度、當(dāng)當(dāng)這樣的網(wǎng)站來(lái)說,這或許不是個(gè)問題,因?yàn)樗鼈兡壳耙呀?jīng)積累了大量的用戶數(shù)據(jù)。但是對(duì)于很多做純粹推薦系統(tǒng)的網(wǎng)站(比如Jinni和Pandora),或者很多在開始階段就希望有個(gè)性化推薦應(yīng)用的網(wǎng)站來(lái)說,如何在沒有大量用戶數(shù)據(jù)的情況下設(shè)計(jì)個(gè)性化推薦系統(tǒng)并且讓用戶對(duì)推薦結(jié)果滿意從而愿意使用推薦系統(tǒng),就是冷啟動(dòng)的問題。

3.1 冷啟動(dòng)問題

冷啟動(dòng)問題(cold start)主要分3類。

? ?用戶冷啟動(dòng)? ??用戶冷啟動(dòng)主要解決如何給新用戶做個(gè)性化推薦的問題。

? ?物品冷啟動(dòng)? ??物品冷啟動(dòng)主要解決如何將新的物品推薦給可能對(duì)它感興趣的用戶這一問題。

? ?系統(tǒng)冷啟動(dòng)? ??系統(tǒng)冷啟動(dòng)主要解決如何在一個(gè)新開發(fā)的網(wǎng)站上(還沒有用戶,也沒有用戶行為,只有一些物品的信息)設(shè)計(jì)個(gè)性化推薦系統(tǒng),從而在網(wǎng)站剛發(fā)布時(shí)就讓用戶體驗(yàn)到個(gè)性化推薦服務(wù)這一問題。

3.2 利用用戶注冊(cè)信息

(1) 獲取用戶的注冊(cè)信息;

(2) 根據(jù)用戶的注冊(cè)信息對(duì)用戶分類;

(3) 給用戶推薦他所屬分類中用戶喜歡的物品。

3.3 選擇合適的物品啟動(dòng)用戶的興趣

豆瓣fm:

Netflix:

Kindle:

3.4 利用物品的內(nèi)容信息

3.5 發(fā)揮專家的作用

????眾所周知,計(jì)算音樂之間的相似度是比較困難的。首先,音樂是多媒體,如果從音頻分析入手計(jì)算歌曲之間的相似度,則技術(shù)門檻很高,而且也很難計(jì)算得令人滿意。其次,僅僅利用歌曲的專輯、歌手等屬性信息很難獲得令人滿意的歌曲相似度表,因?yàn)橐幻枋?、一部專輯往往只有一兩首好歌。為了解決這個(gè)問題,Pandora雇用了一批懂計(jì)算機(jī)的音樂人進(jìn)行了一項(xiàng)稱為音樂基因的項(xiàng)目。他們聽了幾萬(wàn)名歌手的歌,并對(duì)這些歌的各個(gè)維度進(jìn)行標(biāo)注。最終,他們使用了400多個(gè)特征(Pandora稱這些特征為基因)。標(biāo)注完所有的歌曲后,每首歌都可以表示為一個(gè)400維的向量,然后通過常見的向量相似度算法可以計(jì)算出歌曲的相似度。

????Jinni在電影基因工程中采用了半人工、半自動(dòng)的方式。首先,它讓專家對(duì)電影進(jìn)行標(biāo)記,每個(gè)電影都有大約50個(gè)基因,這些基因來(lái)自大約1000個(gè)基因庫(kù)。然后,在專家標(biāo)記一定的樣本后,Jinni會(huì)使用自然語(yǔ)言理解和機(jī)器學(xué)習(xí)技術(shù),通過分析用戶對(duì)電影的評(píng)論和電影的一些內(nèi)容屬性對(duì)電影(特別是新電影)進(jìn)行自己的標(biāo)記。同時(shí),Jinni也設(shè)計(jì)了讓用戶對(duì)基因進(jìn)行反饋的界面,希望通過用戶反饋不斷改進(jìn)電影基因系統(tǒng)。

4、利用用戶標(biāo)簽數(shù)據(jù)

????打標(biāo)簽作為一種重要的用戶行為,蘊(yùn)含了很多用戶興趣信息,因此深入研究和利用用戶打標(biāo)簽的行為可以很好地指導(dǎo)我們改進(jìn)個(gè)性化推薦系統(tǒng)的推薦質(zhì)量。同時(shí),標(biāo)簽的表示形式非常簡(jiǎn)單, 便于很多算法處理。

????典型應(yīng)用:豆瓣

4.1 標(biāo)簽系統(tǒng)中的推薦問題

? ?用戶為什么進(jìn)行標(biāo)注

首先是社會(huì)維度,有些用戶標(biāo)注是給內(nèi)容上傳者使用的(便于上傳者組織自己的信息),而有些用戶標(biāo)注是給廣大用戶使用的(便于幫助其他用戶找到信息)。

另一個(gè)維度是功能維度,有些標(biāo)注用于更好地組織內(nèi)容,方便用戶將來(lái)的查找,而另一些標(biāo)注用于傳達(dá)某種信息,比如照片的拍攝時(shí)間和地點(diǎn)等。

? ?用戶如何打標(biāo)簽

標(biāo)簽的流行度分布也呈現(xiàn)非常典型的長(zhǎng)尾分布

? ?用戶打什么樣的標(biāo)簽

表明物品是什么

表明物品的種類

表明誰(shuí)擁有物品

表達(dá)用戶的觀點(diǎn),如:funny(有趣)、boring(無(wú)聊)

用戶相關(guān)的標(biāo)簽,如:my favorite(我最喜歡的)、my comment(我的評(píng)論)

用戶的任務(wù),如:to read(即將閱讀)、job search(找工作)

類型(Genre)

時(shí)間

人物

地點(diǎn)

語(yǔ)言

獎(jiǎng)項(xiàng)

其它

4.2 基于標(biāo)簽的推薦系統(tǒng)

? ?數(shù)據(jù)稀疏性

????用戶興趣和物品的聯(lián)系是通過標(biāo)簽匹配建立的,對(duì)于新用戶或者新物品標(biāo)簽匹配的數(shù)量會(huì)很少。為了提高推薦的準(zhǔn)確率,我們可能要對(duì)標(biāo)簽集合做擴(kuò)展,比如若用戶曾經(jīng)用過“推薦系統(tǒng)”這個(gè)標(biāo)簽,我們可以將這個(gè)標(biāo)簽的相似標(biāo)簽也加入到用戶標(biāo)簽集合中,比如“個(gè)性化”、“協(xié)同過”等標(biāo)簽。

? ?標(biāo)簽清理

去除詞頻很高的停止詞;

去除因詞根不同造成的同義詞,如:recommender system和recommendation system;

去除因分隔符造成的同義詞,如:collaborative_filtering和collaborative-filtering;

用戶反饋

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

??RelSort 對(duì)推薦物品做解釋時(shí)使用的是用戶以前使用過且物品上有的標(biāo)簽,給出了用戶對(duì)標(biāo)簽的興趣和標(biāo)簽與物品的相關(guān)度,但標(biāo)簽按照和物品的相關(guān)度排序。

? PrefSort 對(duì)推薦物品做解釋時(shí)使用的是用戶以前使用過且物品上有的標(biāo)簽,給出了用戶對(duì)標(biāo)簽的興趣和標(biāo)簽與物品的相關(guān)度,但標(biāo)簽按照用戶的興趣程度排序。

? RelOnly 對(duì)推薦物品做解釋時(shí)使用的是用戶以前使用過且物品上有的標(biāo)簽,給出了標(biāo)簽與物品的相關(guān)度,且標(biāo)簽按照和物品的相關(guān)度排序。

? PrefOnly 對(duì)推薦物品做解釋時(shí)使用的是用戶以前使用過且物品上有的標(biāo)簽,給出了用戶對(duì)標(biāo)簽的興趣程度,且標(biāo)簽按照用戶的興趣程度排序。

對(duì)4種不同推薦解釋界面的總體滿意度調(diào)查,結(jié)果顯示PrefOnly > RelSort > PrefSort > RelOnly,不同場(chǎng)景的結(jié)果不同,僅供參考。

4.4 給用戶推薦標(biāo)簽

為什么要給用戶推薦標(biāo)簽

? 方便用戶輸入標(biāo)簽

? 提高標(biāo)簽質(zhì)量

如何給用戶推薦標(biāo)簽

??給用戶u推薦整個(gè)系統(tǒng)里最熱門的標(biāo)簽

??給用戶u推薦物品i上最熱門的標(biāo)簽

??給用戶u推薦他自己經(jīng)常使用的標(biāo)簽

? 混合方法

5、利用上下文信息

5.1 時(shí)間上下文信息

??用戶興趣是變化的

我們這里提到的用戶興趣變化是因?yàn)橛脩糇陨碓虬l(fā)生的變化。比如隨著年齡的增長(zhǎng),用戶小時(shí)候喜歡看動(dòng)畫片,長(zhǎng)大了喜歡看文藝片。一位程序員隨著工作時(shí)間的增加,逐漸從閱讀入門書籍過渡到閱讀專業(yè)書籍。一個(gè)人參加工作了,工作后的興趣和學(xué)生時(shí)代的興趣相比發(fā)生了變化。那么,如果我們要準(zhǔn)確預(yù)測(cè)用戶現(xiàn)在的興趣,就應(yīng)該關(guān)注用戶最近的行為,因?yàn)橛脩糇罱男袨樽钅荏w現(xiàn)他現(xiàn)在的興趣。當(dāng)然,考慮用戶最近的興趣只能針對(duì)漸變的用戶興趣,而對(duì)突變的用戶興趣很難起作用,比如用戶突然中獎(jiǎng)了。

??物品也是有生命周期的

一部電影剛上映的時(shí)候可能被很多人關(guān)注,但是經(jīng)久不衰的電影是很少的,很多電影上映后不久就被人們淡忘了。此外,物品也可能受新聞事件的影響,比如一部已經(jīng)被淡忘的電影會(huì)因?yàn)橥蝗槐荒硞€(gè)新聞事件涉及而重新熱門起來(lái)。因此,當(dāng)我們決定在某個(gè)時(shí)刻給某個(gè)用戶推薦某個(gè)物品時(shí),需要考慮該物品在該時(shí)刻是否已經(jīng)過時(shí)了。比如,我們給一個(gè)NBA迷推薦10年前的某個(gè)NBA新聞顯然是不太合適的(當(dāng)然這也不一定,比如用戶當(dāng)時(shí)就是在尋找舊的NBA新聞時(shí))。不同系統(tǒng)的物品具有不同的生命周期,比如新聞的生命周期很短暫,而電影的生命周期相對(duì)較長(zhǎng)。

??季節(jié)效應(yīng)

季節(jié)效應(yīng)主要反映了時(shí)間本身對(duì)用戶興趣的影響。比如人們夏天吃冰淇淋,冬天吃火鍋,夏天穿T恤,冬天穿棉衣。當(dāng)然,我們也不排除有特別癖好的人存在,但大部分用戶都是遵循這個(gè)規(guī)律的。除此之外,節(jié)日也是一種季節(jié)效應(yīng):每年的圣誕節(jié),人們都要去購(gòu)物;每年的奧斯卡頒獎(jiǎng)禮,人們都要關(guān)注電影。2011年ACM推薦大會(huì)的一個(gè)研討會(huì)曾經(jīng)舉辦過一次上下文相關(guān)的電影推薦算法比賽1,該比賽要求參賽者預(yù)測(cè)數(shù)據(jù)集中用戶在奧斯卡頒獎(jiǎng)禮附近時(shí)刻的行為。關(guān)注季節(jié)效應(yīng)的讀者可以關(guān)注一下這個(gè)研討會(huì) 3上發(fā)表的相關(guān)論文。

5.2 地點(diǎn)上下文信息

????除了時(shí)間,地點(diǎn)作為一種重要的空間特征,也是一種重要的上下文信息。不同地區(qū)的用戶興趣有所不同,用戶到了不同的地方,興趣也會(huì)有所不同。在中關(guān)村逛街逛累了,希望尋找美食時(shí),你可能會(huì)考慮幾個(gè)因素,包括距離、價(jià)位、口味和口碑,而在這些因素里,最重要的因素可能是距離。因此,很多基于位置的服務(wù)(LBS)軟件都提供了推薦附近餐館和商店的功能。

? 興趣本地化 不同地方的用戶興趣存在著很大的差別。

? 活動(dòng)本地化 一個(gè)用戶往往在附近的地區(qū)活動(dòng)。

6、利用社交網(wǎng)絡(luò)數(shù)據(jù)

????基于社交網(wǎng)絡(luò)的推薦可以很好地模擬現(xiàn)實(shí)社會(huì)。在現(xiàn)實(shí)社會(huì)中,很多時(shí)候我們都是通過朋友獲得推薦。美國(guó)著名的第三方調(diào)查機(jī)構(gòu)尼爾森調(diào)查了影響用戶相信某個(gè)推薦的因素2。調(diào)查結(jié)果顯示,90%的用戶相信朋友對(duì)他們的推薦,70%的用戶相信網(wǎng)上其他用戶對(duì)廣告商品的評(píng)論。從該調(diào)查可以看到,好友的推薦對(duì)于增加用戶對(duì)推薦結(jié)果的信任度非常重要。

??基于社交網(wǎng)絡(luò)的推薦

??給用戶推薦好友

7、推薦系統(tǒng)架構(gòu)

7.1 外圍架構(gòu)

7.2 基于特征的推薦系統(tǒng)架構(gòu)

推薦系統(tǒng)的核心任務(wù):

??如何為給定用戶生成特征(用戶畫像)

??如何根據(jù)特征找到物品



推薦系統(tǒng)需要由多個(gè)推薦引擎組成,每個(gè)推薦引擎負(fù)責(zé)一類特征和一種任務(wù),而推薦系統(tǒng)的任務(wù)只是將推薦引擎的結(jié)果按照一定權(quán)重或者優(yōu)先級(jí)合并、排序然后返回,這樣做還有兩個(gè)好處:

??可以方便地增加/刪除引擎,控制不同引擎對(duì)推薦結(jié)果的影響

??可以實(shí)現(xiàn)推薦引擎級(jí)別的用戶反饋

7.3?推薦引擎架構(gòu)

7.3.1 生成用戶特征向量

特征向量

??特征

??權(quán)重:用戶行為的種類、用戶行為產(chǎn)生的時(shí)間、用戶行為的次數(shù)、物品的熱門程度

7.3.2?特征—物品相關(guān)推薦

7.3.3?過濾模塊

??用戶已經(jīng)產(chǎn)生過行為物品

??候選物品以外的物品

??某些質(zhì)量很差的物品

7.3.4?排名模塊

??新穎性排名

??多樣性

??時(shí)間多樣性

??用戶反饋

二、阿里云智能推薦產(chǎn)品

三、用戶畫像介紹

四、用戶行為日志

五、總體架構(gòu)設(shè)計(jì)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容