在大數(shù)據(jù)和人工智能時(shí)代,智能推薦技術(shù)作為一種應(yīng)對(duì)信息過載問題和提供個(gè)性化服務(wù)的有效手段,在學(xué)術(shù)研究和商業(yè)應(yīng)用方面受到了廣泛關(guān)注,并取得了巨大成功,甚至被稱為一個(gè)互聯(lián)網(wǎng)應(yīng)用系統(tǒng)的標(biāo)配。
從學(xué)術(shù)研究的角度來看,科研人員對(duì)用戶的各種行為數(shù)據(jù)進(jìn)行了深入的研究,包括顯式反饋數(shù)據(jù)(如用戶對(duì)物品的評(píng)分行為)、隱式反饋數(shù)據(jù)(如用戶對(duì)物品的瀏覽行為)、包含多種用戶行為的異構(gòu)反饋數(shù)據(jù)以及用戶的序列反饋數(shù)據(jù)等。此外,深度學(xué)習(xí)、遷移學(xué)習(xí)和聯(lián)邦學(xué)習(xí)等前沿技術(shù)也被引入用戶行為的建模中,以提升推薦的性能和隱私安全。
從商業(yè)應(yīng)用的角度來看,通過對(duì)系統(tǒng)中的用戶行為(或反饋)數(shù)據(jù)的建模,相關(guān)算法和技術(shù)能較為有效地挖掘和學(xué)習(xí)用戶的真實(shí)偏好,進(jìn)而為用戶提供精準(zhǔn)的個(gè)性化服務(wù),因此具有非常廣闊的應(yīng)用場(chǎng)景。近年來,在電子商務(wù)、新聞資訊、視頻點(diǎn)播、開放課程、智慧出行和人才招聘等應(yīng)用領(lǐng)域都有許多非常成功的案例。
本書圍繞這些應(yīng)用背后的內(nèi)核,即智能推薦技術(shù),系統(tǒng)介紹經(jīng)典和前沿技術(shù),包括基于鄰域、矩陣分解、深度學(xué)習(xí)、遷移學(xué)習(xí)、聯(lián)邦學(xué)習(xí)等的建模方法和推薦算法。本書圍繞用戶行為數(shù)據(jù)的建模問題組織內(nèi)容,主要包括單行為推薦、多行為推薦、序列推薦和聯(lián)邦推薦四方面。其中,單行為是指僅對(duì)一種顯式反饋(如評(píng)分)或一種隱式反饋(如瀏覽)數(shù)據(jù)進(jìn)行建模; 多行為是指同時(shí)考慮瀏覽和購買等包含多種行為的數(shù)據(jù); 序列是指同時(shí)關(guān)注用戶行為和這些行為的先后順序; 而聯(lián)邦則更加關(guān)注用戶行為中的隱私和數(shù)據(jù)安全問題。
本書綜合梳理了多個(gè)智能推薦問題和相關(guān)技術(shù),分析了方法的優(yōu)點(diǎn)、缺點(diǎn)和內(nèi)在聯(lián)系,并在每章章末提供了詳細(xì)的參考文獻(xiàn)和有針對(duì)性的習(xí)題。本書可以作為高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程等相關(guān)專業(yè)的教材,也可以作為推薦系統(tǒng)工程師的參考手冊(cè)。為了方便讀者查閱資料和擴(kuò)展閱讀,本書的附錄部分給出了部分知名學(xué)術(shù)期刊和學(xué)術(shù)會(huì)議的列表、推薦系統(tǒng)國(guó)際會(huì)議(ACM RecSys)歷年征文通知中的研究話題和研討會(huì)的主題以及書中涉及的中英文術(shù)語對(duì)照表。
書中的大部分內(nèi)容來自智能推薦研究組以往整理的課件或技術(shù)報(bào)告,介紹了研究組近年來學(xué)習(xí)和研究的一些比較經(jīng)典和基礎(chǔ)或比較有代表性的推薦方法。本書按照從問題描述,到方法詳解、推導(dǎo),再到實(shí)驗(yàn)和討論等的較為統(tǒng)一的框架介紹大部分方法,這是本書的一大特色。鑒于研究組研究方向和寫作時(shí)間等的限制,很多優(yōu)秀的推薦技術(shù)和算法尚未被包含進(jìn)來。書中難免有疏漏之處,懇請(qǐng)讀者和專家批評(píng)指正。
需要特別說明的是,智能推薦技術(shù)的研發(fā)和部署,可能會(huì)帶來一定的負(fù)面影響,因此必須在遵守有關(guān)法律法規(guī)和符合計(jì)算機(jī)倫理要求等的前提下開展工作。
后,希望本書能起到拋磚引玉的作用,也期待更多有關(guān)智能推薦系統(tǒng)和技術(shù)的書籍問世。
潘微科林晶明仲深圳大學(xué)計(jì)算機(jī)與軟件學(xué)院
2021年12月
第1章概述
1.1推薦技術(shù)簡(jiǎn)介
1.2推薦問題分類
1.3數(shù)學(xué)基礎(chǔ)知識(shí)
1.3.1線性代數(shù)
1.3.2概率論
1.3.3神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)
1.4常用數(shù)據(jù)集和驗(yàn)證方法
1.4.1常用數(shù)據(jù)集
1.4.2驗(yàn)證方法
1.5常用評(píng)價(jià)指標(biāo)
1.5.1面向評(píng)分預(yù)測(cè)的評(píng)價(jià)指標(biāo)
1.5.2面向物品排序的評(píng)價(jià)指標(biāo)
1.6深度學(xué)習(xí)平臺(tái)簡(jiǎn)介
1.7本章小結(jié)
1.8參考文獻(xiàn)
1.9習(xí)題
第2章基于顯式反饋的評(píng)分預(yù)測(cè)
2.1協(xié)同過濾(CF)問題
2.2基于均值填充的方法
2.2.1預(yù)測(cè)公式
2.2.2討論
2.3基于鄰域的方法
2.3.1基于用戶的協(xié)同過濾
2.3.2基于物品的協(xié)同過濾
2.3.3混合協(xié)同過濾
2.3.4討論
2.4基于矩陣分解的方法
2.4.1概率矩陣分解
2.4.2改進(jìn)的奇異值分解
2.4.3結(jié)合多類偏好上下文的矩陣分解
2.4.4因子分解機(jī)
2.5基于深度學(xué)習(xí)的方法
2.5.1受限玻爾茲曼機(jī)
2.5.2自編碼器
2.6本章小結(jié)
2.7參考文獻(xiàn)
2.8習(xí)題
第3章基于顯式反饋的物品排序
3.1協(xié)同排序(CR)問題
3.2粗精遷移排序
3.2.1模型介紹
3.2.2算法流程
3.2.3代碼實(shí)現(xiàn)
3.2.4實(shí)驗(yàn)設(shè)置
3.2.5討論
3.3上下文感知協(xié)同排序
3.3.1模型介紹
3.3.2算法流程
3.3.3代碼實(shí)現(xiàn)
3.3.4實(shí)驗(yàn)設(shè)置
3.3.5討論
3.4整全遷移排序
3.4.1模型介紹
3.4.2基于模型的整全遷移排序
3.4.3基于鄰域的整全遷移排序
3.4.4代碼實(shí)現(xiàn)
3.4.5實(shí)驗(yàn)設(shè)置
3.4.6討論
3.5本章小結(jié)
3.6參考文獻(xiàn)
3.7習(xí)題
第4章基于隱式反饋的物品排序
4.1單類協(xié)同過濾(OCCF)問題
4.2基于熱度的方法
4.3基于鄰域的方法
4.3.1相似度度量
4.3.2預(yù)測(cè)公式
4.4基于矩陣分解的方法
4.4.1貝葉斯個(gè)性化排序
4.4.2分解的物品相似度
4.4.3基于對(duì)數(shù)幾率損失的矩陣分解
4.4.4基于元素的交替小二乘
4.5基于深度學(xué)習(xí)的方法
4.5.1神經(jīng)協(xié)同過濾
4.5.2協(xié)同降噪自編碼器
4.5.3變分自編碼器
4.6本章小結(jié)
4.7參考文獻(xiàn)
4.8習(xí)題
第5章基于異構(gòu)反饋的評(píng)分預(yù)測(cè)
5.1異構(gòu)協(xié)同過濾(HCF)問題
5.2遷移共同分解
5.2.1技術(shù)細(xì)節(jié)
5.2.2算法流程
5.2.3代碼實(shí)現(xiàn)
5.2.4實(shí)驗(yàn)設(shè)置
5.2.5討論
5.3偏好感知遷移
5.3.1技術(shù)細(xì)節(jié)
5.3.2算法流程
5.3.3代碼實(shí)現(xiàn)
5.3.4實(shí)驗(yàn)設(shè)置
5.3.5討論
5.4本章小結(jié)
5.5參考文獻(xiàn)
5.6習(xí)題
第6章基于異構(gòu)反饋的物品排序
6.1異構(gòu)單類協(xié)同過濾(HOCCF)問題
6.2基于全量的異構(gòu)反饋建模
6.2.1技術(shù)細(xì)節(jié)
6.2.2算法流程
6.2.3代碼實(shí)現(xiàn)
6.2.4實(shí)驗(yàn)設(shè)置
6.2.5討論
6.3基于角色的異構(gòu)反饋建模
6.3.1技術(shù)細(xì)節(jié)
6.3.2算法流程
6.3.3代碼實(shí)現(xiàn)
6.3.4實(shí)驗(yàn)設(shè)置
6.3.5討論
6.4基于關(guān)系的異構(gòu)反饋建模
6.4.1技術(shù)細(xì)節(jié)
6.4.2代碼實(shí)現(xiàn)
6.4.3實(shí)驗(yàn)設(shè)置
6.4.4討論
6.5其他異構(gòu)反饋建模方法
6.5.1基于矩陣分解的方法
6.5.2基于遷移學(xué)習(xí)的方法
6.5.3基于深度學(xué)習(xí)的方法
6.6本章小結(jié)
6.7參考文獻(xiàn)
6.8習(xí)題
第7章單行為序列推薦
7.1序列單類協(xié)同過濾(SOCCF)問題
7.2基于分解馬爾可夫鏈的FPMC算法
7.2.1預(yù)測(cè)公式和優(yōu)化目標(biāo)
7.2.2梯度、更新公式和算法流程
7.2.3實(shí)驗(yàn)設(shè)置
7.2.4討論
7.3基于分解高階馬爾可夫鏈的Fossil算法
7.3.1預(yù)測(cè)公式和優(yōu)化目標(biāo)
7.3.2梯度、更新公式和算法流程
7.3.3實(shí)驗(yàn)設(shè)置
7.3.4討論
7.4基于雙向物品相似度的BIS算法
7.4.1BIS算法的原理
7.4.2BIS算法的實(shí)現(xiàn)
7.4.3討論
7.5基于循環(huán)神經(jīng)網(wǎng)絡(luò)的GRU4Rec算法
7.5.1GRU4Rec算法的原理
7.5.2GRU4Rec算法的實(shí)現(xiàn)
7.5.3討論
7.6基于卷積神經(jīng)網(wǎng)絡(luò)的Caser算法
7.6.1Caser算法的原理
7.6.2Caser算法的實(shí)現(xiàn)
7.6.3討論
7.7基于自注意力網(wǎng)絡(luò)的SASRec算法
7.7.1SASRec算法的原理
7.7.2SASRec算法的實(shí)現(xiàn)
7.7.3討論
7.8基于平移空間的TransRec算法
7.8.1預(yù)測(cè)公式與優(yōu)化目標(biāo)
7.8.2梯度、更新公式與算法流程
7.8.3實(shí)驗(yàn)設(shè)置
7.8.4討論
7.9本章小結(jié)
7.10參考文獻(xiàn)
7.11習(xí)題
第8章多行為序列推薦
8.1序列異構(gòu)單類協(xié)同過濾(SHOCCF)問題
8.2基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法
8.2.1RLBL算法
8.2.2RIB算法
8.2.3BINN算法
8.2.4討論
8.3基于圖神經(jīng)網(wǎng)絡(luò)的方法
8.3.1MSR算法
8.3.2MGNNSPred算法
8.3.3討論
8.4本章小結(jié)
8.5參考文獻(xiàn)
8.6習(xí)題
第9章跨用戶聯(lián)邦推薦
9.1跨用戶聯(lián)邦推薦(CUFR)問題
9.2隱私敏感的評(píng)分預(yù)測(cè)
9.2.1FedRec算法
9.2.2FedRec 算法
9.2.3SFSL算法
9.3隱私敏感的物品排序
9.3.1FCF算法
9.3.2PIOCCF算法
9.4本章小結(jié)
9.5參考文獻(xiàn)
9.6習(xí)題
第10章跨組織聯(lián)邦推薦
10.1跨組織聯(lián)邦推薦(COFR)問題
10.2共同矩陣分解
10.2.1技術(shù)細(xì)節(jié)
10.2.2討論
10.3聯(lián)邦矩陣分解
10.3.1技術(shù)細(xì)節(jié)
10.3.2討論
10.4聯(lián)邦共同矩陣分解
10.4.1技術(shù)細(xì)節(jié)
10.4.2算法流程
10.4.3討論
10.5本章小結(jié)
10.6參考文獻(xiàn)
10.7習(xí)題
第11章總結(jié)與展望
11.1總結(jié)
11.2展望
11.3參考文獻(xiàn)
11.4習(xí)題
附錄A學(xué)術(shù)期刊論文數(shù)量統(tǒng)計(jì)
附錄B學(xué)術(shù)會(huì)議論文數(shù)量統(tǒng)計(jì)
附錄C推薦系統(tǒng)國(guó)際會(huì)議研究話題
附錄D推薦系統(tǒng)國(guó)際會(huì)議研討會(huì)主題
附錄E中英文術(shù)語對(duì)照表
后記
致謝