出版時間:2012-6 出版社:人民郵電出版社 作者:項 亮 頁數(shù):197 字?jǐn)?shù):319000
Tag標(biāo)簽:無
前言
說起本書,還要追溯到2010年3月份的ResysChina推薦系統(tǒng)大會。在那次會議上,我遇到了劉江老師。劉老師看過我之前寫的一些推薦系統(tǒng)方面的博客,希望我能總結(jié)總結(jié),寫本簡單的書。當(dāng)時國內(nèi)還沒有推薦系統(tǒng)方面的書,而國外已經(jīng)有這方面的專業(yè)書了,因此圖靈公司很想出版一本介紹推薦系統(tǒng)的書。所以,去年7月博士畢業(yè)時,我感覺有時間可以總結(jié)一下這方面的工作了,于是準(zhǔn)備開始寫這本書?! 戇@本書的目的有下面幾個。首先,從個人角度講,雖然寫博士論文時已經(jīng)總結(jié)了讀博期間在推薦系統(tǒng)方面的工作,但并沒有全部涉及整個推薦系統(tǒng)的各個方面,因此我很希望通過寫作這本書全面地閱讀一下相關(guān)的文獻(xiàn),并在此基礎(chǔ)上總結(jié)一下推薦系統(tǒng)各個方面的發(fā)展現(xiàn)狀,供大家參考。其次,最近幾年從事推薦系統(tǒng)研究的人越來越多,這些人中有些原來是工程師,對機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘不太了解,有些是在校學(xué)生,雖然對數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)有所了解,卻對業(yè)界如何實現(xiàn)推薦系統(tǒng)不太清楚。因此,我希望能夠通過本書讓工程師了解推薦系統(tǒng)的相關(guān)算法,讓學(xué)生了解如何將自己了解的算法實現(xiàn)到一個真實的工業(yè)系統(tǒng)中去?! ∫话阏J(rèn)為,推薦系統(tǒng)這個研究領(lǐng)域源于協(xié)同過濾算法的提出。這么說來,推薦系統(tǒng)誕生快20年了。這期間,很多學(xué)者和公司對推薦系統(tǒng)的發(fā)展起到了重要的推動作用,各種各樣的推薦算法也層出不窮。本書希望將這20年間誕生的典型方法進(jìn)行總結(jié)。但由于方法太多,這些方法的歸類有很多不同的方式。比如,可以按照數(shù)據(jù)分成協(xié)同過濾、內(nèi)容過濾、社會化過濾,也可以按照算法分成基于鄰域的算法、基于圖的算法、基于矩陣分解或者概率模型的算法。為了方便讀者入門,本書基本采用數(shù)據(jù)分類的方法,每一章都介紹了一種可以用于推薦系統(tǒng)設(shè)計的、新類型的用戶數(shù)據(jù),然后介紹如何通過各種方法利用該數(shù)據(jù),最后在公開數(shù)據(jù)集上評測這些方法。當(dāng)然,不是所有數(shù)據(jù)都有公開的數(shù)據(jù)集,并且不是所有算法都可以進(jìn)行離線評測。因此,在遇到?jīng)]有數(shù)據(jù)集或無法進(jìn)行離線評測的問題時,本書引用了一些著名學(xué)者的實驗結(jié)果來說明各種方法的效果?! 榱耸贡緯瑫r適合工程師和在校學(xué)生閱讀,本書在寫作中同時使用了兩種介紹方法。一種是利用公式,這樣方便有一些理論基礎(chǔ)的同學(xué)很快明白算法的含義。另一種是利用代碼,這樣可以方便工程師迅速了解算法的含義。不過因為本人是學(xué)生出身,工程經(jīng)驗還不是特別足,所以有些代碼寫得不是那么完美,還請工程師們海涵?! ”緯婚_始寫的時候有3位作者,除了我之外還有豆瓣的陳義和騰訊的王益。他們兩位都是這方面的前輩,在寫作過程中提出了很多寶貴的意見。但因為二位工作實在太繁忙,所以本書主要由我操刀。但書中的很多論述融合了大家的思想和經(jīng)驗,是我們很多次討論的結(jié)果。因此在這里感謝王益和陳義二位合作者,雖然二位沒有動筆,但對這本書做出了很大的貢獻(xiàn)?! ∑浯危€要感謝吳軍老師和谷文棟為本書作序。感謝谷文棟、穩(wěn)國柱、張夏天各自審閱了書中部分內(nèi)容,提出了很多寶貴的意見。感謝我在Hulu的同事鄭華和李航,鄭華給了我充分的時間完成這本書,對這本書能夠按時出版功不可沒,而李航審閱了書中的部分內(nèi)容,提出了很多有價值的修改意見。 最后感謝我的父母和妻子,他們在我寫作過程中給予了很大照顧,感謝他們的辛勤付出。
內(nèi)容概要
《推薦系統(tǒng)實踐》通過大量代碼和圖表全面系統(tǒng)地闡述了和推薦系統(tǒng)有關(guān)的理論基礎(chǔ),介紹了評價推薦系統(tǒng)優(yōu)劣的各種標(biāo)準(zhǔn)(比如覆蓋率、滿意度)和方法(比如AB
測試),總結(jié)了當(dāng)今互聯(lián)網(wǎng)領(lǐng)域中各種和推薦有關(guān)的產(chǎn)品和服務(wù)。另外,本書為有興趣開發(fā)推薦系統(tǒng)的讀者給出了設(shè)計和實現(xiàn)推薦系統(tǒng)的方法與技巧,并解答了在真實場景中應(yīng)用推薦技術(shù)時最常遇到的一些問題。
《推薦系統(tǒng)實踐》適合對推薦技術(shù)感興趣的讀者學(xué)習(xí)參考。
作者簡介
項亮
畢業(yè)于中國科學(xué)技術(shù)大學(xué)和中國科學(xué)院自動化所,研究方向為機(jī)器學(xué)習(xí)和推薦系統(tǒng),現(xiàn)任職于北京Hulu軟件技術(shù)開發(fā)有限公司,從事視頻推薦的研究和開發(fā)。2009年參加Netflix
Prize推薦系統(tǒng)比賽獲得團(tuán)體第二名,且于當(dāng)年參與創(chuàng)建了Resys China推薦系統(tǒng)社區(qū)。
書籍目錄
第1章 好的推薦系統(tǒng) 1<br>
1.1 什么是推薦系統(tǒng) 1<br>
1.2 個性化推薦系統(tǒng)的應(yīng)用 4<br>
1.2.1 電子商務(wù) 4<br>
1.2.2 電影和視頻網(wǎng)站 8<br>
1.2.3 個性化音樂網(wǎng)絡(luò)電臺 10<br>
1.2.4 社交網(wǎng)絡(luò) 12<br>
1.2.5 個性化閱讀 15<br>
1.2.6 基于位置的服務(wù) 16<br>
1.2.7 個性化郵件 17<br>
1.2.8 個性化廣告 18<br>
1.3 推薦系統(tǒng)評測 19<br>
1.3.1 推薦系統(tǒng)實驗方法 20<br>
1.3.2 評測指標(biāo) 23<br>
1.3.3 評測維度 34<br>
<br>
第2章 利用用戶行為數(shù)據(jù) 35<br>
2.1 用戶行為數(shù)據(jù)簡介 36<br>
2.2 用戶行為分析 39<br>
2.2.1 用戶活躍度和物品流行度的分布 39<br>
2.2.2 用戶活躍度和物品流行度的關(guān)系 41<br>
2.3 實驗設(shè)計和算法評測 41<br>
2.3.1 數(shù)據(jù)集 42<br>
2.3.2 實驗設(shè)計 42<br>
2.3.3 評測指標(biāo) 42<br>
2.4 基于鄰域的算法 44<br>
2.4.1 基于用戶的協(xié)同過濾算法 44<br>
2.4.2 基于物品的協(xié)同過濾算法 51<br>
2.4.3 UserCF和ItemCF的綜合比較 59<br>
2.5 隱語義模型 64<br>
2.5.1 基礎(chǔ)算法 64<br>
2.5.2 基于LFM的實際系統(tǒng)的例子 70<br>
2.5.3 LFM和基于鄰域的方法的比較 72<br>
2.6 基于圖的模型 73<br>
2.6.1 用戶行為數(shù)據(jù)的二分圖表示 73<br>
2.6.2 基于圖的推薦算法 73<br>
<br>
第3章 推薦系統(tǒng)冷啟動問題 78<br>
3.1 冷啟動問題簡介 78<br>
3.2 利用用戶注冊信息 79<br>
3.3 選擇合適的物品啟動用戶的興趣 85<br>
3.4 利用物品的內(nèi)容信息 89<br>
3.5 發(fā)揮專家的作用 94<br>
<br>
第4章 利用用戶標(biāo)簽數(shù)據(jù) 96<br>
4.1 UGC標(biāo)簽系統(tǒng)的代表應(yīng)用 97<br>
4.1.1 Delicious 97<br>
4.1.2 CiteULike 98<br>
4.1.3 Last.fm 98<br>
4.1.4 豆瓣 99<br>
4.1.5 Hulu 99<br>
4.2 標(biāo)簽系統(tǒng)中的推薦問題 100<br>
4.2.1 用戶為什么進(jìn)行標(biāo)注 100<br>
4.2.2 用戶如何打標(biāo)簽 101<br>
4.2.3 用戶打什么樣的標(biāo)簽 102<br>
4.3 基于標(biāo)簽的推薦系統(tǒng) 103<br>
4.3.1 實驗設(shè)置 104<br>
4.3.2 一個最簡單的算法 105<br>
4.3.3 算法的改進(jìn) 107<br>
4.3.4 基于圖的推薦算法 110<br>
4.3.5 基于標(biāo)簽的推薦解釋 112<br>
4.4 給用戶推薦標(biāo)簽 115<br>
4.4.1 為什么要給用戶推薦標(biāo)簽 115<br>
4.4.2 如何給用戶推薦標(biāo)簽 115<br>
4.4.3 實驗設(shè)置 116<br>
4.4.4 基于圖的標(biāo)簽推薦算法 119<br>
4.5 擴(kuò)展閱讀 119<br>
<br>
第5章 利用上下文信息 121<br>
5.1 時間上下文信息 122<br>
5.1.1 時間效應(yīng)簡介 122<br>
5.1.2 時間效應(yīng)舉例 123<br>
5.1.3 系統(tǒng)時間特性的分析 125<br>
5.1.4 推薦系統(tǒng)的實時性 127<br>
5.1.5 推薦算法的時間多樣性 128<br>
5.1.6 時間上下文推薦算法 130<br>
5.1.7 時間段圖模型 134<br>
5.1.8 離線實驗 136<br>
5.2 地點上下文信息 139<br>
5.3 擴(kuò)展閱讀 143<br>
<br>
第6章 利用社交網(wǎng)絡(luò)數(shù)據(jù) 144<br>
6.1 獲取社交網(wǎng)絡(luò)數(shù)據(jù)的途徑 144<br>
6.1.1 電子郵件 145<br>
6.1.2 用戶注冊信息 146<br>
6.1.3 用戶的位置數(shù)據(jù) 146<br>
6.1.4 論壇和討論組 146<br>
6.1.5 即時聊天工具 147<br>
6.1.6 社交網(wǎng)站 147<br>
6.2 社交網(wǎng)絡(luò)數(shù)據(jù)簡介 148<br>
社交網(wǎng)絡(luò)數(shù)據(jù)中的長尾分布 149<br>
6.3 基于社交網(wǎng)絡(luò)的推薦 150<br>
6.3.1 基于鄰域的社會化推薦算法 151<br>
6.3.2 基于圖的社會化推薦算法 152<br>
6.3.3 實際系統(tǒng)中的社會化推薦算法 153<br>
6.3.4 社會化推薦系統(tǒng)和協(xié)同過濾推薦系統(tǒng) 155<br>
6.3.5 信息流推薦 156<br>
6.4 給用戶推薦好友 159<br>
6.4.1 基于內(nèi)容的匹配 161<br>
6.4.2 基于共同興趣的好友推薦 161<br>
6.4.3 基于社交網(wǎng)絡(luò)圖的好友推薦 161<br>
6.4.4 基于用戶調(diào)查的好友推薦算法對比 164<br>
6.5 擴(kuò)展閱讀 165<br>
<br>
第7章 推薦系統(tǒng)實例 166<br>
7.1 外圍架構(gòu) 166<br>
7.2 推薦系統(tǒng)架構(gòu) 167<br>
7.3 推薦引擎的架構(gòu) 171<br>
7.3.1 生成用戶特征向量 172<br>
7.3.2 特征-物品相關(guān)推薦 173<br>
7.3.3 過濾模塊 174<br>
7.3.4 排名模塊 174<br>
7.4 擴(kuò)展閱讀 178<br>
<br>
第8章 評分預(yù)測問題 179<br>
8.1 離線實驗方法 180<br>
8.2 評分預(yù)測算法 180<br>
8.2.1 平均值 180<br>
8.2.2 基于鄰域的方法 184<br>
8.2.3 隱語義模型與矩陣分解模型 186<br>
8.2.4 加入時間信息 192<br>
8.2.5 模型融合 193<br>
8.2.6 Netflix Prize的相關(guān)實驗結(jié)果 195<br>
<br>
后記 196
章節(jié)摘錄
版權(quán)頁: 插圖: 眾所周知,為了解決信息過載的問題,已經(jīng)有無數(shù)科學(xué)家和工程師提出了很多天才的解決方案,其中代表性的解決方案是分類目錄和搜索引擎。而這兩種解決方案分別催生了互聯(lián)網(wǎng)領(lǐng)域的兩家著名公司——雅虎和谷歌。著名的互聯(lián)網(wǎng)公司雅虎憑借分類目錄起家,而現(xiàn)在比較著名的分類目錄網(wǎng)站還有國外的DMOZ、國內(nèi)的Hao123等。這些目錄將著名的網(wǎng)站分門別類,從而方便用戶根據(jù)類別查找網(wǎng)站。但是隨著互聯(lián)網(wǎng)規(guī)模的不斷擴(kuò)大,分類目錄網(wǎng)站也只能覆蓋少量的熱門網(wǎng)站,越來越不能滿足用戶的需求。因此,搜索引擎誕生了。以谷歌為代表的搜索引擎可以讓用戶通過搜索關(guān)鍵詞找到自己需要的信息。但是,搜索引擎需要用戶主動提供準(zhǔn)確的關(guān)鍵詞來尋找信息,因此不能解決用戶的很多其他需求,比如當(dāng)用戶無法找到準(zhǔn)確描述自己需求的關(guān)鍵詞時,搜索引擎就無能為力了。和搜索引擎一樣,推薦系統(tǒng)也是一種幫助用戶快速發(fā)現(xiàn)有用信息的工具。和搜索引擎不同的是,推薦系統(tǒng)不需要用戶提供明確的需求,而是通過分析用戶的歷史行為給用戶的興趣建模,從而主動給用戶推薦能夠滿足他們興趣和需求的信息。因此,從某種意義上說,推薦系統(tǒng)和搜索引擎對于用戶來說是兩個互補(bǔ)的工具。搜索引擎滿足了用戶有明確目的時的主動查找需求,而推薦系統(tǒng)能夠在用戶沒有明確目的的時候幫助他們發(fā)現(xiàn)感興趣的新內(nèi)容。 從物品的角度出發(fā),推薦系統(tǒng)可以更好地發(fā)掘物品的長尾(long tail)。美國《連線》雜志主編Chris Anderson在2004年發(fā)表了“The Long Tail”(長尾)一文并于2006年出版了《長尾理論》一書。該書指出,傳統(tǒng)的80/20原則(80%的銷售額來自于20%的熱門品牌)在互聯(lián)網(wǎng)的加入下會受到挑戰(zhàn)?;ヂ?lián)網(wǎng)條件下,由于貨架成本極端低廉,電子商務(wù)網(wǎng)站往往能出售比傳統(tǒng)零售店更多的商品。雖然這些商品絕大多數(shù)都不熱門,但與傳統(tǒng)零售業(yè)相比,這些不熱門的商品數(shù)量極其龐大,因此這些長尾商品的總銷售額將是一個不可小覷的數(shù)字,也許會超過熱門商品(即主流商品)帶來的銷售額。主流商品往往代表了絕大多數(shù)用戶的需求,而長尾商品往往代表了一小部分用戶的個性化需求。因此,如果要通過發(fā)掘長尾提高銷售額,就必須充分研究用戶的興趣,而這正是個性化推薦系統(tǒng)主要解決的問題。推薦系統(tǒng)通過發(fā)掘用戶的行為,找到用戶的個性化需求,從而將長尾商品準(zhǔn)確地推薦給需要它的用戶,幫助用戶發(fā)現(xiàn)那些他們感興趣但很難發(fā)現(xiàn)的商品。 要了解推薦系統(tǒng)是如何工作的,可以先回顧一下現(xiàn)實社會中用戶面對很多選擇時做決定的過程。仍然以看電影為例,一般來說,我們可能用如下方式?jīng)Q定最終看什么電影。 向朋友咨詢。我們也許會打開聊天工具,找?guī)讉€經(jīng)??措娪暗暮门笥眩瑔枂査麄冇袥]有什么電影可以推薦。甚至,我們可以打開微博,發(fā)表一句“我要看電影”,然后等待熱心人推薦電影。這種方式在推薦系統(tǒng)中稱為社會化推薦(social recommendation),即讓好友給自己推薦物品。 我們一般都有喜歡的演員和導(dǎo)演,有些人可能會打開搜索引擎,輸入自己喜歡的演員名,然后看看返回結(jié)果中還有什么電影是自己沒有看過的。比如我非常喜歡周星馳的電影,于是就去豆瓣搜索周星馳,發(fā)現(xiàn)他早年的一部電影我還沒看過,于是就會看一看。這種方式是尋找和自己之前看過的電影在內(nèi)容上相似的電影。推薦系統(tǒng)可以將上述過程自動化,通過分析用戶曾經(jīng)看過的電影找到用戶喜歡的演員和導(dǎo)演,然后給用戶推薦這些演員或者導(dǎo)演的其他電影。這種推薦方式在推薦系統(tǒng)中稱為基于內(nèi)容的推薦(content-based filtering)。 我們還可能查看排行榜,比如著名的IMDB電影排行榜,看看別人都在看什么電影,別人都喜歡什么電影,然后找一部廣受好評的電影觀看。這種方式可以進(jìn)一步擴(kuò)展:如果能找到和自己歷史興趣相似的一群用戶,看看他們最近在看什么電影,那么結(jié)果可能比寬泛的熱門排行榜更能符合自己的興趣。這種方式稱為基于協(xié)同過濾(collaborative filtering)的推薦。
媒體關(guān)注與評論
“工程師大都喜歡‘In Action’型的書籍,但這并非‘又一本’工具型的‘In Action’讀物,透過它你將涉足現(xiàn)代互聯(lián)網(wǎng)公司孜孜以求的用戶核心價值所在——個性化服務(wù)。也許一次全新的旅程就從這里開始?!薄 ⒎€(wěn),豆瓣資深算法工程師 “作者結(jié)合了多年的推薦系統(tǒng)理論研究和在Hulu的具體實踐經(jīng)驗,汲取精華并以深入淺出的方式展示給讀者。無論是對于剛?cè)腴T的新手還是推薦領(lǐng)域的老兵,這本書都是不可多得的必備參考,在此我誠摯地向大家推薦它。” ——鄭華, Hulu資深軟件開發(fā)主管 “2009年8月,我和項亮一起發(fā)起了 Resys China——一個面向推薦系統(tǒng)領(lǐng)域的專業(yè)社區(qū)。在組織 Resys China 業(yè)內(nèi)分享活動的過程中,我們迫切感受到,出版《推薦系統(tǒng)實踐》這樣一本傳授實戰(zhàn)經(jīng)驗的書籍,對推動這個領(lǐng)域的發(fā)展是多么必要。項亮作為國內(nèi)推薦系統(tǒng)領(lǐng)域一位理論與實踐并重的專家,把最具實用價值的推薦技術(shù)進(jìn)行了系統(tǒng)整理,深入淺出地呈現(xiàn)到讀者面前。作為一本主要面向業(yè)內(nèi)人員的技術(shù)書籍,這點尤其難能可貴。個性化推薦技術(shù)是最具人文關(guān)懷的技術(shù)之一,它尊重個體,相信每個人都是與眾不同的,在這個以‘人’為中心的社會化時代,它的興起與發(fā)揚(yáng)光大只是時間問題。我與項亮相識,是因為對推薦技術(shù)的熱愛,希望借助此書,可以讓更多的人成為朋友?!薄 任臈?,個性化推薦社區(qū)Resys China發(fā)起人 “從大家經(jīng)常使用的相關(guān)搜索、話題推薦、電子商務(wù)的各種產(chǎn)品推薦,到社交網(wǎng)絡(luò)上的交友推薦等,推薦系統(tǒng)在今天互聯(lián)網(wǎng)的產(chǎn)品和應(yīng)用中被廣泛采用。但是,至今還沒有一本書系統(tǒng)地從理論上對此進(jìn)行分析和論述。《推薦系統(tǒng)實踐》恰恰彌補(bǔ)了這個空白?!薄 獏擒?,騰訊副總裁,《數(shù)學(xué)之美》和《浪潮之巔》作者
編輯推薦
《推薦系統(tǒng)實踐》適合對推薦技術(shù)感興趣的讀者學(xué)習(xí)參考。
名人推薦
“工程師大都喜歡‘In Action’型的書籍,但這并非‘又一本’工具型的‘In Action’讀物,透過它你將涉足現(xiàn)代互聯(lián)網(wǎng)公司孜孜以求的用戶核心價值所在——個性化服務(wù)。也許一次全新的旅程就從這里開始?!?——阿穩(wěn),豆瓣資深算法工程師 “作者結(jié)合了多年的推薦系統(tǒng)理論研究和在Hulu的具體實踐經(jīng)驗,汲取精華并以深入淺出的方式展示給讀者。無論是對于剛?cè)腴T的新手還是推薦領(lǐng)域的老兵,這本書都是不可多得的必備參考,在此我誠摯地向大家推薦它?!?——鄭華,Hulu資深軟件開發(fā)主管 “2009年8月,我和項亮一起發(fā)起了Resys China——一個面向推薦系統(tǒng)領(lǐng)域的專業(yè)社區(qū)。在組織Resys China業(yè)內(nèi)分享活動的過程中,我們迫切感受到,出版《推薦系統(tǒng)實踐》這樣一本傳授實戰(zhàn)經(jīng)驗的書籍,對推動這個領(lǐng)域的發(fā)展是多么必要。項亮作為國內(nèi)推薦系統(tǒng)領(lǐng)域一位理論與實踐并重的專家,把最具實用價值的推薦技術(shù)進(jìn)行了系統(tǒng)整理,深入淺出地呈現(xiàn)到讀者面前。作為一本主要面向業(yè)內(nèi)人員的技術(shù)書籍,這點尤其難能可貴。個性化推薦技術(shù)是最具人文關(guān)懷的技術(shù)之一,它尊重個體,相信每個人都是與眾不同的,在這個以‘人’為中心的社會化時代,它的興起與發(fā)揚(yáng)光大只是時間問題。我與項亮相識,是因為對推薦技術(shù)的熱愛,希望借助此書,可以讓更多的人成為朋友?!?——谷文棟,個性化推薦社區(qū)Resys China發(fā)起人 “從大家經(jīng)常使用的相關(guān)搜索、話題推薦、電子商務(wù)的各種產(chǎn)品推薦,到社交網(wǎng)絡(luò)上的交友推薦等,推薦系統(tǒng)在今天互聯(lián)網(wǎng)的產(chǎn)品和應(yīng)用中被廣泛采用。但是。至今還沒有一本書系統(tǒng)地從理論上對此進(jìn)行分析和論述?!锻扑]系統(tǒng)實踐》恰恰彌補(bǔ)了這個空白?!?——吳軍,騰訊副總裁,《數(shù)學(xué)之美》和《浪潮之巔》作者
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載