




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、【Resys】如何從無到有建立推薦系統(tǒng)推薦系統(tǒng)廣泛應用于各類網(wǎng)站,電子商務中的商品推薦、博客網(wǎng)站的文章推薦,以及幫助人們尋找音樂和影片的各類應用。但如何才能從無到有的給網(wǎng)站配備一個推薦系統(tǒng)呢?針對這個問題,我在搜索引擎中遍尋多時,但始終沒有找到滿意的答案。這期間我也加入了國內(nèi)推薦系統(tǒng)高手聚集的推薦系統(tǒng)郵件列表,其中不乏當當、卓越亞馬遜、豆瓣等業(yè)內(nèi)在推薦系統(tǒng)上領先的產(chǎn)品、技術高手,但浸淫多日卻始終無法在腦海中形成一個以內(nèi)容推薦為最終目的的產(chǎn)品框架或產(chǎn)品路線圖。這種狀態(tài)一直持續(xù)到我購買了集體智慧編程(Programming Collective Intelligence)后才得以改觀,現(xiàn)在我將此書
2、的部分讀書筆記予以整理,希望能給同樣對推薦系統(tǒng)感興趣的朋友整理出一個可操作的、適合內(nèi)容型網(wǎng)站推薦系統(tǒng)產(chǎn)品框架。正文分割線我們知道,要想了解內(nèi)容網(wǎng)站的推薦信息,最沒有技術含量的方法莫過于向朋友詢問。我們也知道,這其中有一部分人的品位會比其他人的高一些,通過觀察這些人是否通常也和我們一樣喜歡同樣的東西,可以逐漸對這些情況有所了解。不過隨著選擇越來越多,要想通過詢問一小群人來確定我們想要的東西,將會變得越來越不切實際,因為他們可能并不了解所有的選擇。這就是為什么人們要發(fā)展出一套被稱為協(xié)同過濾(collaborative filtering)的技術。從實際的情況看,目前我們所能接觸到的領先推薦系統(tǒng),包
3、括Netfilx、豆瓣、Amazon等等都是利用協(xié)同過濾技術來實現(xiàn)的。協(xié)同過濾又分成幾種:基于用戶的協(xié)同過濾、基于項目的協(xié)同過濾、基于模型的協(xié)同過濾。那么到底什么是協(xié)同過濾?它需要產(chǎn)品設計者做哪些事情才能實現(xiàn)?(為了讓問題簡化,這里著重介紹基于用戶的協(xié)同過濾)一個基于用戶的協(xié)同過濾過濾算法通常的做法是對一大群人進行搜索,并從中找出與我們品位相近的一小群人。算法會對這些人所偏愛的其他內(nèi)容進行考察,并將它們組合起來構(gòu)成一個經(jīng)過排名的推薦列表。因此產(chǎn)品設計者需要理解你的網(wǎng)站需要依次做以下這幾件事情:1.搜集偏好(Collecting Preferences)要搜集偏好意味著要尋找一種表達不同人及其偏
4、好的方法。例如,豆瓣會要求用戶對每部電影用1到5顆星來評分,以此來體現(xiàn)包括本人在內(nèi)的每位影評者對某一給定影片的喜愛程度。假如你正在設計一個購物網(wǎng)站,那不妨用數(shù)字1來代表有人過去購買過某件商品,用數(shù)字0來代表未曾購買過任何商品。而對于一個新聞故事投票網(wǎng)站,我們可以分別用數(shù)字-1、0和1來表達“不喜歡”、“沒有投票”、“喜歡”。不管偏好如何表達的,你要做的是建立一種方法來使得你的用戶來參與表達,并把他們表達的內(nèi)容對應到數(shù)字以形成相應的數(shù)據(jù)集合。2.尋找相近的用戶(Finding Similar Users)有了人們偏好的數(shù)據(jù)集后,我們需要有一種方法來確定人們在品位方面的相似程度。為此,我們可以將每
5、個人與所有其他人進行對比,并計算他們的相似度評價值。有若干種方法可以達到此目的:歐幾里德距離(Euclidean Distance Score)、皮爾遜相關度(Person Correlation Coefficient)、余弦相似性(Cosine-based Similarity)、調(diào)整余弦相似性(Adjusted Cosine Similarity)、Jaccard系數(shù)或曼哈頓距離算法等。請記住,各種相似度的計算方法各有所長,要根據(jù)具體的應用場景來選取一種或幾種綜合使用。下面以實際例子簡單介紹兩種:歐幾里德距離(Euclidean Distance Score):它以經(jīng)過人們一致評價的物品
6、為坐標軸,然后將參與評價的人繪制到圖上,并考察他們彼此間的距離遠近。x軸、y軸分別代表電影Dupree和Snake,而在第一象限偏好空間里的則是每個人對這兩部電影的評分。不難發(fā)現(xiàn),Toby對Snakes和Dupree這兩部電影的評分是4.5和1.0,而LaSalle的則是4.0和2.0。按照歐幾里德距離的結(jié)論,偏好越相似的人,其在偏好空間的距離就越短。至于如何計算兩者的距離,運用你初中學的幾何知識就行,計算兩點每個坐標的差值,求平方后再相加,最后對總和取平方根。值得一提的是此方法對于數(shù)量多于兩項的評分也同樣適用。因此,你可以設計一個函數(shù)來計算2個用戶間的相似度,當然前提是兩者需要有一定重合的評
7、分項。皮爾遜相關度(Pearson Correlation Score):它的原理是通過判斷兩組數(shù)據(jù)與某一直線擬合程度來判斷相似度。它在數(shù)據(jù)不是很規(guī)范(normalized)的時候,如影評者對影片的評價總是相對于平均水平偏離很大時,會傾向于給出更好的結(jié)果。如下圖是Mick LaSalle和Gene Seymour分別對5部電影的評分(與上圖不同,x軸和y軸對應的是兩個人),虛線被稱為最佳擬合線(best-fit line),其繪制原則是盡可能地靠近圖上的所有坐標點。如果兩位評論者對所有影片的評分情況都相同,那么這條直線將成為對角線,并且會與圖上所有的坐標點都相交。下圖展示了一個有著更高相關系數(shù)
8、的例子,這意味著Lisa Rose和Jack Matthews在這幾部電影上有著更高的相似度(各點更靠近最佳擬合曲線)。采用皮爾遜方法可以修正“夸大分值(grade inflation)”的情況。在上圖中,雖然Jack總是傾向于給出比Lisa更高的分數(shù),但最終的直線仍然擬合度較高,這是因為他們兩者有著相對近似的偏好。也就是說,如果某人總是傾向于給出比另一人更高的分數(shù),而兩者的分差又始終保持一致,則他們依然可能會存在很好的相關性。而此前提到過的歐幾里德距離評價方法,會因為一個人的評價始終比另一個人更為“嚴格”(從而導致評價始終相對較低),而得出兩者不相近的結(jié)論,即使他們的品位很相似也是如此。而這
9、一行為是否是我們想要的結(jié)果,取決于具體的應用場景。皮爾遜的相關度算法首先會找出兩位評論者都曾評價過的物品,然后計算兩者的評分總和和平方和,并求得評分的乘積之和。最后,利用這些計算結(jié)果計算出相關系數(shù):PS:公式能看懂,但我還未能從數(shù)學上去理解此公式的推導過程,慚愧-_-|3.為評論者打分(Ranking the Critics)理解了上一步后,這步就簡單了?,F(xiàn)在只需根據(jù)指定的人員對每個人進行打分,找出最接近的匹配結(jié)果,也即所謂該人的最近鄰?;氐缴厦娴睦樱覀兊哪康氖且獙ふ遗c自己品位相似的影評者,那么所需要做的就是以你自己為基準,計算每個人和你的相似度,然后排序輸出前幾項即可。現(xiàn)在假設你是Tob
10、y,那么經(jīng)過這一步的計算你會得到一個你的最近鄰列表,也就是說你可能會知道Lisa、Mick和Claudia可能是和你品位最相近的3個人。4.推薦物品(Recommending Items)找到一位和你趣味相投的影評者固然不錯,但我們的最終目的是一份影片的推薦列表(上面提到過的以內(nèi)容推薦為最終目的)。當然,簡單的做法是查找與自己品位最相近的人,并從他所喜歡的影片中找出一部自己還未看過的影片,但這樣做有些隨意或者是粗糙。因為如果該人還未對某些影片做過評論,但這些影片也許就是我們所喜歡的。又或者另外的一種情況就是推薦給你某人特別熱衷的一部影片,但有其他可靠數(shù)據(jù)表明所有的其他評論者都不看好這部影片。為
11、了解決上述問題,我們需要一個經(jīng)過加權(quán)的評價值來為影片打分:上圖中Critic列是與Toby進行相似度對比的人名,Similarity列表示他們與Toby的相似度系數(shù)。Night、Lady和Luck都是電影名,所在列是這些人對這些電影的評分。S.x打頭的那幾列給出了相似度系數(shù)和評分后相乘的結(jié)果。如此一來,相比于我們不相近的人,那些與我們相近的人將會對整體評價擁有更多的貢獻。那有人會問為什么不直接采用Total這行,而需要Total/Sim.Sum?這是因為,一部受更多人評論的影片會對結(jié)果產(chǎn)生更大的影響,因此我們必須要除以Sim.Sum,它代表了所有對這部電影有過評論的評論者的相似度之和。就像Night這部電影,Total為12.89,有5個人為其評分,而Lady為8.38,4個人評分。假設電影Night有和當前相同的Total分數(shù)卻多了一倍的人為其評分,那最后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度辦公空間玻璃隔斷藝術裝飾設計與施工合同
- 老人急救護理規(guī)范
- 班級創(chuàng)意活動課件
- 建筑涂料運輸租車合同
- 2024沈陽市于洪區(qū)職業(yè)教育中心工作人員招聘考試及答案
- 2024濟南市萊蕪職業(yè)中等專業(yè)學校工作人員招聘考試及答案
- 藥品運輸操作流程
- 房地產(chǎn)租賃合同模板
- 森林撫育承包合同協(xié)議書范本
- 酒店委托管理合同協(xié)議書
- 2025屆湖北省武漢市高考數(shù)學一模試卷含解析
- 2024年廣西高考生物試卷真題(含答案)
- 承插型盤扣式腳手架安全知識培訓
- 撫州市崇仁縣鄉(xiāng)鎮(zhèn)街道社區(qū)行政村統(tǒng)計表
- 扒胎機的使用
- 民用爆炸物品出口審批單
- 好書推薦——《青銅葵花》PPT課件
- 乙烯裂解爐焊接施工工藝及驗收規(guī)程
- 鋼格柵板安裝方案
- 2009東風風神s30全車電路圖
- 常用鋼制管件彎頭、三通、異徑管、管帽理論重量體積表
評論
0/150
提交評論