孫進(jìn)強(qiáng) 肖銀寶
摘要:目前存在的圖書(shū)推薦算法普遍都只考慮了讀者對(duì)圖書(shū)的評(píng)分等數(shù)據(jù),忽略了圖書(shū)的其他屬性,并且這種推薦算法都會(huì)面臨冷啟動(dòng)等問(wèn)題。為了緩解圖書(shū)推薦系統(tǒng)準(zhǔn)確率低、可解釋性差和數(shù)據(jù)稀疏等問(wèn)題,本文將圖書(shū)評(píng)分和圖書(shū)標(biāo)簽數(shù)據(jù)相結(jié)合,實(shí)現(xiàn)圖書(shū)的精準(zhǔn)推薦。首先通過(guò)圖書(shū)與圖書(shū)標(biāo)簽之間的關(guān)系構(gòu)建圖書(shū)知識(shí)圖譜,提取出圖書(shū)與圖書(shū)之間的關(guān)系,通過(guò)前文提到的算法模型計(jì)算推測(cè)出讀者的讀書(shū)偏好,還可以利用圖書(shū)和讀者之間的交互信息,通過(guò)協(xié)同過(guò)濾算法計(jì)算出讀者偏好,綜合上述兩種方法得到推薦列表進(jìn)行最終的TopK推薦。
關(guān)鍵詞:圖書(shū);推薦系統(tǒng);協(xié)同過(guò)濾;知識(shí)圖譜
1概述
進(jìn)入21世紀(jì)以來(lái),互聯(lián)網(wǎng)技術(shù)的快速發(fā)展、計(jì)算能力的快速提升,各行業(yè)中產(chǎn)生的大量數(shù)據(jù)開(kāi)始受到學(xué)者、企業(yè)的重視,但用戶在享受其帶來(lái)的便利同時(shí),也面臨著信息過(guò)載、信息泄露等問(wèn)題。用戶在信息資源的快速不停地產(chǎn)生情況下無(wú)法準(zhǔn)確獲取自己需要的目標(biāo)信息。推薦系統(tǒng)的出現(xiàn),有效緩解了上述問(wèn)題。而協(xié)同過(guò)濾算法利用協(xié)同信息推薦用戶感興趣的信息,被廣泛運(yùn)用于圖書(shū)、電影、電商等領(lǐng)域。但在實(shí)際應(yīng)用過(guò)程中,協(xié)同過(guò)濾的數(shù)據(jù)稀疏問(wèn)題嚴(yán)重,實(shí)際的推薦效果并不理想。為此,學(xué)者們提出了在協(xié)同過(guò)濾算法中添加各種輔助信息來(lái)解決這個(gè)問(wèn)題。
2研究方案
分析圖書(shū)數(shù)據(jù)集的數(shù)據(jù)構(gòu)成,設(shè)計(jì)圖書(shū)知識(shí)圖譜的實(shí)體、關(guān)系、屬性以及標(biāo)簽的結(jié)構(gòu),從圖書(shū)數(shù)據(jù)集中抽取出知識(shí)語(yǔ)義信息,并對(duì)知識(shí)語(yǔ)義信息進(jìn)行預(yù)處理。對(duì)錯(cuò)誤、缺失信息進(jìn)行合理化處理,直接提取出實(shí)體信息,預(yù)定義實(shí)體之間的關(guān)系,對(duì)實(shí)體進(jìn)行抽取找到匹配關(guān)系,并將實(shí)體和關(guān)系信息存入圖形數(shù)據(jù)庫(kù)中。通過(guò)低維的圖形化表示來(lái)直觀地顯示出高維語(yǔ)義信息,以此設(shè)計(jì)并構(gòu)建圖書(shū)推薦模型并進(jìn)行驗(yàn)證。
構(gòu)建基于知識(shí)圖譜與協(xié)同過(guò)濾的推薦模型之前,首先需要考慮其主要的目標(biāo)需求和重點(diǎn)難點(diǎn),并調(diào)研實(shí)際應(yīng)用中不同類別信息對(duì)用戶做出選擇的影響程度因子,確定問(wèn)題的輸入、輸出、約束以及邊界條件,通過(guò)對(duì)問(wèn)題的目標(biāo)函數(shù)、約束條件等進(jìn)行梳理,設(shè)計(jì)適合圖書(shū)推薦的推薦模型。
根據(jù)軟件工程中的相關(guān)概念,在設(shè)計(jì)系統(tǒng)軟件時(shí)首先需要進(jìn)行需求分析,得到完整的需求定義,從而避免后續(xù)開(kāi)發(fā)時(shí)的不斷修改任務(wù)需求,可以減少開(kāi)發(fā)周期。
3知識(shí)圖譜和協(xié)同過(guò)濾算法的引進(jìn)
個(gè)性化推薦的基礎(chǔ)原理就是通過(guò)采集用戶的信息以及相關(guān)行為進(jìn)行分析推測(cè),以此為基礎(chǔ)向用戶推薦其感興趣的項(xiàng)目,例如在短視頻行業(yè)中,用戶的點(diǎn)贊記錄、興趣愛(ài)好等都會(huì)被推薦系統(tǒng)抓取,用來(lái)提高服務(wù)質(zhì)量,提高用戶黏性。而傳統(tǒng)的推薦算法有:協(xié)同過(guò)濾算法、基于內(nèi)容的推薦算法、混合推薦算法等。
協(xié)同過(guò)濾算法的原理是計(jì)算兩兩個(gè)體之間的相似度分析預(yù)測(cè)用戶可能感興趣的項(xiàng)目,從而快速準(zhǔn)確地實(shí)現(xiàn)將合適的項(xiàng)目推薦給合適的用戶。協(xié)同過(guò)濾算法按照根據(jù)主體可劃分為基于項(xiàng)目的協(xié)同過(guò)濾推薦(ICF)、基于用戶的協(xié)同過(guò)濾(UCF)以及基于模型的協(xié)同過(guò)濾(MCF)。前兩種方法都是利用“用戶—項(xiàng)目評(píng)分矩陣”進(jìn)行推薦,本文主要采用的是基于用戶的協(xié)同過(guò)濾推薦算法。
如圖1所示,在推薦系統(tǒng)中根據(jù)用戶對(duì)項(xiàng)目的評(píng)分可以得到如下的“用戶項(xiàng)目評(píng)分矩陣”,矩陣中的元素值就是特定用戶對(duì)特定項(xiàng)目的評(píng)分,“*”代表用戶并未對(duì)此項(xiàng)目進(jìn)行評(píng)分,將該矩陣通過(guò)訓(xùn)練得到用戶模型,從中選取出與目標(biāo)用戶最相似的n個(gè)用戶,從而為目標(biāo)用戶進(jìn)行推薦。但在實(shí)際運(yùn)用過(guò)程時(shí)發(fā)現(xiàn)用戶對(duì)項(xiàng)目評(píng)分的數(shù)量較少,形成的該矩陣非常稀疏。
基于用戶的協(xié)同過(guò)濾是利用每個(gè)用戶對(duì)同一個(gè)項(xiàng)目的不同感興趣程度,計(jì)算出兩兩用戶之間的相似度找到每個(gè)用戶的相似用戶集,在相似用戶集的感興趣項(xiàng)目集合中預(yù)測(cè)推薦用戶感興趣的項(xiàng)目,其工作原理如圖2所示,UserB和UserC相似,他們的興趣愛(ài)好很大程度相似,而UserB喜歡Bookb,所以推測(cè)UserC大概率也會(huì)喜歡Bookb,所以給他推薦這本書(shū)。
其工作流程:
Step1:采用余弦相似度計(jì)算公式計(jì)算任意兩個(gè)用戶之間的相似度
Wμv=N(μ)∩N(v)N(μ)N(v)(1)
Ssep2:建立一張用戶相似度表,其中保存任意兩個(gè)用戶之間的相似度,方便后續(xù)挑選出若干個(gè)與目標(biāo)用戶最相似的用戶。
Step3:采用如下公式度量用戶μ對(duì)物品i的感興趣程度。
p(μ,i)=∑v∈S(μ,K)∩N(i)WμvRvi(2)
其中S(μ,K)表示與用戶μ最相似的K個(gè)用戶,將與用戶μ相似的用戶列表按照相似度進(jìn)行排序就可以得到,N(i)表示喜歡物品i的用戶集合,Wμv是用戶μ和用戶v之間的相似度,Rvi表示用戶v對(duì)物品i的興趣。
Step4:對(duì)于與用戶μ最相似的k個(gè)用戶,分別計(jì)算用戶μ與這k個(gè)用戶喜歡的物品集合In,n∈1,2,…,N之間的感興趣程度,得到用戶μ對(duì)這N個(gè)物品的感興趣程度排序列表,取前m個(gè)物品推薦給用戶μ。
知識(shí)圖譜(KnowledgeGraph,KG)是由節(jié)點(diǎn)和邊組成的語(yǔ)義網(wǎng)絡(luò)圖,包含豐富的語(yǔ)義知識(shí)被廣泛應(yīng)用到搜索引擎、推薦系統(tǒng)、智能問(wèn)答等領(lǐng)域。其運(yùn)用在推薦系統(tǒng)上具有準(zhǔn)確率高、可解釋強(qiáng)等優(yōu)點(diǎn),其按照運(yùn)用方向可以分為兩類,其中最普遍的就是項(xiàng)目知識(shí)圖譜,此外還可以將用戶—項(xiàng)目之間存在的各種關(guān)系類型轉(zhuǎn)換為圖譜可表達(dá)的關(guān)系,在此基礎(chǔ)上搭建出用戶—項(xiàng)目關(guān)系的知識(shí)圖譜,根據(jù)其圖譜上距離計(jì)算相似度從而進(jìn)行推薦。圖書(shū)的知識(shí)圖譜示例圖如下圖3所示
圖3圖書(shū)知識(shí)圖譜
知識(shí)圖譜是由一條條基礎(chǔ)知識(shí)表達(dá)構(gòu)成的,其中每條知識(shí)都可以用一個(gè)三元組表達(dá):(實(shí)體,關(guān)系,實(shí)體)或(實(shí)體,屬性,屬性值),例如,某作者與《××》就是通過(guò)“作者”關(guān)系建立一個(gè)三元組表達(dá)的知識(shí),2012年與《××》通過(guò)“出版時(shí)間”屬性建立一個(gè)三元組。多個(gè)這類三元組之間相互關(guān)聯(lián),從而形成了一個(gè)關(guān)于圖書(shū)的知識(shí)圖譜。根據(jù)這種規(guī)則搭建的圖書(shū)知識(shí)圖譜,那么兩兩圖書(shū)在圖譜中距離就可以代表這兩本圖書(shū)之間的相似性。
目前利用知識(shí)圖譜進(jìn)行推薦主要采用知識(shí)圖譜嵌入、路徑實(shí)例挖掘以及高階信息聚合三種技術(shù)。其中知識(shí)圖譜嵌入法的主要思想是利用圖譜嵌入技術(shù)獲取用戶和項(xiàng)目的圖譜表示,Wang在論文中將知識(shí)圖譜嵌入技術(shù)詳細(xì)分成兩種:基于語(yǔ)義匹配的嵌入和基于距離的翻譯嵌入?;诰嚯x的翻譯嵌入模型將實(shí)體和關(guān)系分別以低維向量表示,這是訓(xùn)練知識(shí)圖譜中Trans系列算法普遍采用的函數(shù)思想,即:
h+r≈t(3)
其中h,t分別代表知識(shí)圖譜中的頭實(shí)體和尾實(shí)體的向量,r代表關(guān)系的向量。Trans系列方法主要有TransE、TransH以及TransR等。本文的知識(shí)圖譜技術(shù)主要采用基于距離的翻譯嵌入TransE算法,其示意圖如圖4所示。
給定圖書(shū)的知識(shí)圖譜(h,r,t),其中h為頭實(shí)體集合,t為尾實(shí)體集合,r為關(guān)系集合。然后將實(shí)體和關(guān)系在各自的空間中(實(shí)體空間和關(guān)系空間)表示為向量,使知識(shí)圖譜中的每個(gè)三元組的實(shí)體向量和關(guān)系向量滿足公式三:即如果三元組是正確的,則頭實(shí)體向量加上關(guān)系向量的結(jié)果應(yīng)該和尾實(shí)體向量極為接近;反之,頭實(shí)體向量和關(guān)系向量的加和應(yīng)該與尾實(shí)體向量相差很多?;诖?,TransE算法的目標(biāo)函數(shù)設(shè)計(jì)為:
L=∑(h,r,t)∈S∑(h′,r′,t′∈S′)γ+d(h+r,t)-d(h′+r,t′)+(4)
其中h表示正確的三元組集合,h′表示錯(cuò)誤的三元組集合,γ表示正負(fù)樣本之間的間距,是一個(gè)常數(shù),x+表示max0,x,通常為了訓(xùn)練方便且避免過(guò)擬合問(wèn)題,會(huì)加上約束條件
模型優(yōu)化過(guò)程為最小化目標(biāo)函數(shù)L,即此時(shí)d(h+l,t)的值小,d(h′+l,t′)的值大,同時(shí)采用隨機(jī)梯度下降(SGD加速優(yōu)化過(guò)程,其算法主要可分為三步,偽代碼描述如下圖5所示:
Step1:對(duì)源數(shù)據(jù)進(jìn)行預(yù)處理,設(shè)計(jì)實(shí)體以及關(guān)系。
Step2:對(duì)實(shí)體以及關(guān)系進(jìn)行抽取,初始化頭實(shí)體、尾實(shí)體和關(guān)系向量,并對(duì)初始化向量做歸一化處理,構(gòu)建圖書(shū)的知識(shí)圖譜。
Step3:對(duì)數(shù)據(jù)集中的三元組抽樣,并對(duì)抽樣出來(lái)的三元組進(jìn)行實(shí)體替換,形成負(fù)樣本。
Step4:優(yōu)化目標(biāo)函數(shù),得到實(shí)體和關(guān)系的向量表示。
混合推薦系統(tǒng)是采用多種推薦方式相結(jié)合產(chǎn)生的,將各種推薦方式的優(yōu)點(diǎn)融合在一起?;旌贤扑]技術(shù)可以分為推薦算法的混合技術(shù)和推薦結(jié)果的混合技術(shù)。推薦算法的混合是將不同的推薦算法融合在一起,從而改善嵌入向量的計(jì)算過(guò)程,以此來(lái)獲得更加優(yōu)質(zhì)的推薦結(jié)果。推薦結(jié)果的混合式指通過(guò)不同的推薦方式,得到多個(gè)推薦結(jié)果,再通過(guò)不同的參數(shù)將每個(gè)推薦技術(shù)的推薦結(jié)果合并至最終的推薦結(jié)果列表中,以達(dá)到最優(yōu)的推薦結(jié)果。
結(jié)語(yǔ)
通過(guò)對(duì)讀者興趣愛(ài)好進(jìn)行合適表達(dá),基于協(xié)同過(guò)濾算法和知識(shí)圖譜構(gòu)建出適合圖書(shū)的推薦模型,在實(shí)踐中反復(fù)驗(yàn)證并改進(jìn),以提升推薦系統(tǒng)的運(yùn)行速度和準(zhǔn)確率,主要是在傳統(tǒng)的協(xié)同過(guò)濾算法基礎(chǔ)上融合了知識(shí)圖譜技術(shù),彌補(bǔ)了協(xié)同過(guò)濾算法的不足;對(duì)參數(shù)進(jìn)行多次調(diào)優(yōu),使之符合圖書(shū)推薦系統(tǒng)的特點(diǎn),符合用戶對(duì)圖書(shū)推薦的期望,在推薦效果上優(yōu)于單一技術(shù)應(yīng)用的使用;搭建系統(tǒng)的客戶端和服務(wù),為讀者提供可視化界面。
參考文獻(xiàn):
[1]趙俊逸,莊福振,敖翔,等.協(xié)同過(guò)濾推薦系統(tǒng)綜述[J].信息安全學(xué)報(bào),2021,6(05):1734.
[2]黃勃,嚴(yán)非凡,張昊,等.推薦系統(tǒng)研究進(jìn)展與應(yīng)用[J].武漢大學(xué)學(xué)報(bào)(理學(xué)版),2021,67(06):503516.
[3]劉佳奇,王全民.基于改進(jìn)的用戶協(xié)同過(guò)濾算法的高校個(gè)性化圖書(shū)推薦系統(tǒng)[J].計(jì)算機(jī)與數(shù)字工程,2020,48(10):24582461.
[4]于洪,李俊華.一種解決新項(xiàng)目冷啟動(dòng)問(wèn)題的推薦算法[J].軟件學(xué)報(bào),2015,26(06):13951408.
[5]趙杰.基于改進(jìn)用戶興趣模型的個(gè)性化圖書(shū)推薦算法(英文)[J].機(jī)床與液壓,2018,46(06):193198.
[6]鄒海濤,陳沁梅.基于信任網(wǎng)絡(luò)與協(xié)同過(guò)濾的自適應(yīng)推薦模型研究[J].江蘇科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2019,33(04):4550.
[7]劉嶠,李楊,段宏,等.知識(shí)圖譜構(gòu)建技術(shù)綜述[J].計(jì)算機(jī)研究與發(fā)展,2016,53(03):582600.
[8]VrandeCˇiC'D,KrtzschM.Wikidata:afreecollaborativeknowledgebase[J].CommunicationsoftheACM,2014,57(10):7885.
[9]李雪婷,楊抒,賽亞熱·迪力夏提,等.融合內(nèi)容與協(xié)同過(guò)濾的混合推薦算法應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2021,31(10):2429+37.
項(xiàng)目:廣東高校重點(diǎn)領(lǐng)域?qū)m?xiàng)新一代信息技術(shù)重點(diǎn)領(lǐng)域?qū)m?xiàng)項(xiàng)目(編號(hào):2021ZDZX1019)
作者簡(jiǎn)介:孫進(jìn)強(qiáng)(1999—),男,漢族,安徽安慶人,碩士研究生在讀,專業(yè):人工智能,研究方向:大數(shù)據(jù)應(yīng)用;肖銀寶(1973—),男,漢族,云南昆明人,碩士,助理研究員,研究方向:科技管理及信息化。