摘 要:針對傳統(tǒng)圖書館信息服務(wù)方式的不足,本文提出了一種基于混合推薦模式的圖書推薦系統(tǒng),即結(jié)合了基于內(nèi)容的推薦,基于關(guān)聯(lián)規(guī)則的推薦和基于協(xié)同過濾的推薦方法來產(chǎn)生推薦結(jié)果。本文詳細(xì)闡述系統(tǒng)設(shè)計(jì)方案和這種混合推薦模式的實(shí)施方案,最后對系統(tǒng)的運(yùn)行情況進(jìn)行了總結(jié),并提出了將來的研究方向。
關(guān)鍵詞:推薦系統(tǒng);基于內(nèi)容的推薦;關(guān)聯(lián)規(guī)則推薦;協(xié)同過濾推薦;混合推薦
中圖分類號(hào):TP319
在傳統(tǒng)的圖書館服務(wù)中,用戶主要通過搜索來獲取所需信息,這是一種被動(dòng)的服務(wù)方式,只能滿足用戶的基本需求。和搜索相比,推薦系統(tǒng)能夠通過研究用戶的歷史行為,發(fā)現(xiàn)用戶的興趣偏好,據(jù)此主動(dòng)為用戶提供推薦服務(wù),不但可以使用戶獲得滿意的結(jié)果,還能引導(dǎo)用戶發(fā)現(xiàn)自己潛在的信息需求。將推薦技術(shù)應(yīng)用于圖書館系統(tǒng),是圖書館實(shí)現(xiàn)信息服務(wù)的有效手段,可以提高圖書館的服務(wù)質(zhì)量和圖書資源的利用率。本文提出了一種基于混合推薦模式的圖書推薦系統(tǒng),結(jié)合了基于內(nèi)容的推薦,基于關(guān)聯(lián)規(guī)則的推薦和基于協(xié)同過濾的推薦方法來產(chǎn)生推薦結(jié)果。
1 系統(tǒng)設(shè)計(jì)
1.1 系統(tǒng)的體系結(jié)構(gòu)
本文提出的基于混合推薦模式的圖書推薦系統(tǒng)的體系結(jié)構(gòu)如下圖所示:
圖1 圖書推薦系統(tǒng)的體系結(jié)構(gòu)
該體系結(jié)構(gòu)把系統(tǒng)主要分成4個(gè)模塊:
(1)數(shù)據(jù)庫模塊:存儲(chǔ)和管理用戶和圖書的基本信息數(shù)據(jù)。
(2)數(shù)據(jù)處理模塊:對數(shù)據(jù)進(jìn)行預(yù)處理和特征提取,分別建立3個(gè)特征庫。根據(jù)用戶對圖書的借閱信息,建立用戶借閱特征庫;根據(jù)用戶/圖書的描述信息,建立用戶/圖書特征庫;根據(jù)用戶對圖書的評分信息,建立用戶評分特征庫。
(3)推薦模塊:采用了基于關(guān)聯(lián)推薦,內(nèi)容推薦和協(xié)同過濾推薦的混合推薦模式來產(chǎn)生推薦書目列表。
(4)用戶接口模塊:獲取用戶與系統(tǒng)的交互信息,并將推薦書目結(jié)果展現(xiàn)給用戶。
1.2 推薦模式設(shè)計(jì)
推薦算法是一個(gè)推薦系統(tǒng)中最核心和關(guān)鍵的部分,很大程度上決定了推薦系統(tǒng)類型和性能的優(yōu)劣[1]。由于各種推薦算法都有各自的優(yōu)缺點(diǎn),為了改善推薦質(zhì)量,本文采用了一種混合推薦模式,結(jié)合了基于內(nèi)容的推薦,基于關(guān)聯(lián)規(guī)則的推薦和基于協(xié)同過濾的推薦方法來產(chǎn)生推薦結(jié)果。
1.2.1 基于內(nèi)容的推薦
在系統(tǒng)運(yùn)行初期,只有用戶和圖書的基本信息數(shù)據(jù),沒有用戶的行為數(shù)據(jù)?;趦?nèi)容的推薦方法,利用用戶的特征信息,如教師用戶所屬教研室信息,學(xué)生用戶的專業(yè)信息,圖書的類別,主題,書名等信息來建立用戶/圖書特征庫,通過簡單的匹配來產(chǎn)生推薦書目。這一方法可以為新用戶推薦圖書,新入館的圖書也可以獲得均等的推薦機(jī)會(huì)。但是,這種方法產(chǎn)生的推薦結(jié)果非常粗糙,不能準(zhǔn)確反應(yīng)用戶的興趣。本系統(tǒng)運(yùn)行初期,主要利用這種方法來引導(dǎo)用戶行為,后期則只是作為補(bǔ)充。
1.2.2 基于關(guān)聯(lián)規(guī)則的推薦
在系統(tǒng)運(yùn)行期間,當(dāng)用戶利用系統(tǒng)借閱圖書時(shí),就已經(jīng)在系統(tǒng)產(chǎn)生用戶行為數(shù)據(jù)。對用戶借閱圖書的信息進(jìn)行分析,可以發(fā)現(xiàn)兩類關(guān)聯(lián)規(guī)則:相關(guān)圖書和相關(guān)用戶。以發(fā)現(xiàn)相關(guān)圖書規(guī)則為例進(jìn)行說明。假定表1是用戶借閱圖書的事務(wù)記錄。
表1 用戶借閱圖書事務(wù)記錄
讀者證號(hào)借閱圖書記錄
0001Android程序設(shè)計(jì),Java程序設(shè)計(jì),Java EE 6權(quán)威指南
0002Android程序設(shè)計(jì),JavaScript程序設(shè)計(jì)
0003JavaScript程序設(shè)計(jì),IT項(xiàng)目管理
0004Android程序設(shè)計(jì),Java程序設(shè)計(jì),JavaScript程序設(shè)計(jì)
0005Android程序設(shè)計(jì),Java程序設(shè)計(jì),JSP程序設(shè)計(jì),JavaScript程序設(shè)計(jì),Java EE 6權(quán)威指南
0006Java程序設(shè)計(jì),JSP程序設(shè)計(jì),Java EE 6權(quán)威指南
0007Java程序設(shè)計(jì),Java EE 6權(quán)威指南,JSP程序設(shè)計(jì),
給定最小支持度minsup=30%和最小置信度minconf=80%,則下面這條關(guān)聯(lián)規(guī)則是符合要求的(sup是支持度,conf是置信度):
《Java程序設(shè)計(jì)》,《JSP程序設(shè)計(jì)》→《Java EE 6權(quán)威指南》
根據(jù)上述規(guī)則,就可以給以后借閱過《Java程序設(shè)計(jì)》和《JSP程序設(shè)計(jì)》的用戶推薦《Java EE 6權(quán)威指南》這本書。
本系統(tǒng)運(yùn)行中,當(dāng)數(shù)據(jù)量比較小的時(shí)候,基于關(guān)聯(lián)規(guī)則的推薦還是可以產(chǎn)生比較準(zhǔn)確的推薦結(jié)果。但是,當(dāng)數(shù)據(jù)規(guī)模擴(kuò)大的時(shí)候,由于規(guī)則的產(chǎn)生比較繁瑣,所以對推薦性能的影響較大。而且,在這個(gè)過程有可能產(chǎn)生冗余規(guī)則,出現(xiàn)重復(fù)推薦的情況。
1.2.3 基于協(xié)同過濾的推薦
協(xié)同過濾根據(jù)用戶對項(xiàng)目的評分來產(chǎn)生推薦,是目前在推薦系統(tǒng)中應(yīng)用最成功和廣泛的推薦技術(shù)[2]。根據(jù)推薦產(chǎn)生過程的不同,通常可以將協(xié)同過濾算法分為基于內(nèi)存的算法和基于模型的算法。基于內(nèi)存的協(xié)同過濾的推薦算法是直接將整個(gè)用戶-項(xiàng)目評分矩陣加載到系統(tǒng)內(nèi)存,基于相似的用戶或項(xiàng)目來產(chǎn)生推薦結(jié)果。根據(jù)相似性計(jì)算的對象的不同,又可以分為基于用戶的算法和基于項(xiàng)目的算法。本系統(tǒng)主要采用了基于用戶的協(xié)同過濾算法來產(chǎn)生推薦結(jié)果。根據(jù)算法的基本原理,可以把算法的實(shí)施分為四個(gè)階段:(1)用戶相似性計(jì)算;(2)選擇近鄰;(3)預(yù)測評分;(4)推薦。基于協(xié)同過濾的推薦算法,實(shí)施簡單有效,可以發(fā)現(xiàn)用戶潛在的但自己尚未覺察的興趣偏好。但是,當(dāng)用戶的評分?jǐn)?shù)據(jù)較少時(shí),這一方法無法產(chǎn)生推薦結(jié)果。當(dāng)系統(tǒng)的數(shù)據(jù)規(guī)模不斷擴(kuò)大之后,推薦的效率又會(huì)受到影響。由于本系統(tǒng)的數(shù)據(jù)規(guī)模不大,基于協(xié)同過濾的推薦方法是系統(tǒng)運(yùn)行中后期的主要推薦技術(shù)。
1.2.4 混合推薦模式
本文采用的混合推薦模式,主要是對上述三種方法推薦結(jié)果的加權(quán)組合。假定N1為基于內(nèi)容的推薦結(jié)果,N2為基于關(guān)聯(lián)規(guī)則的推薦結(jié)果,N3為基于協(xié)同過濾的推薦結(jié)果,則最終的推薦結(jié)果計(jì)算如下:
N=a*N1+b*N2+c*N3,其中參數(shù)a+b+c=1 (1)
在系統(tǒng)運(yùn)行初期,主要采用基因內(nèi)容的推薦,即a=1,b=c=0。當(dāng)用戶的借閱記錄和評分記錄大于2的時(shí)候,開始啟動(dòng)基于關(guān)聯(lián)規(guī)則的推薦和基于協(xié)同過濾的推薦。通過對參數(shù)的調(diào)試,發(fā)現(xiàn)當(dāng)參數(shù)a和b取值較小,特別是c取值超過50%的時(shí)候,推薦的結(jié)果相對比較準(zhǔn)確。這說明基于協(xié)同過濾的推薦結(jié)果更加符合用戶的需求,而另外兩種方法可以作為補(bǔ)充。
2 總結(jié)和展望
本文提出了一種基于混合推薦模式的協(xié)同過濾圖書推薦系統(tǒng),可以主動(dòng)為用戶提供圖書推薦服務(wù)。從系統(tǒng)實(shí)際運(yùn)行效果來看,這種模式可以彌補(bǔ)各種推薦方法的不足,為用戶產(chǎn)生比較準(zhǔn)確的推薦結(jié)果。但是,隨著系統(tǒng)數(shù)據(jù)規(guī)模的不斷擴(kuò)大,系統(tǒng)實(shí)時(shí)推薦效率有所下降。為了解決這個(gè)問題,還需要考慮引入其他推薦方法,比如基于模型的協(xié)同過濾算法。此外,在混合推薦模式中,本文只采用了最簡單的加權(quán)組合方法。如何有效組合這些推薦方法,提高推薦精度,也是值得研究的方向。
參考文獻(xiàn):
[1]許海玲,吳瀟,李曉東.互聯(lián)網(wǎng)推薦系統(tǒng)比較研究[J].軟件學(xué)報(bào),2009(02):350-362.
[2]Adomavicius G and Tuzhilin A.Towards the next generation of recommender systems:A survey of the state-of-the-art and possible extensions[J].IEEE Transactions on Knowledge and Data Engineering,2005(06):734–749.
作者單位:廣東東軟學(xué)院,廣東佛山 528225