劉巖
摘? 要: 為了向讀者推薦更多感興趣的書目,提高讀者對圖書館書目推薦的滿意程度,文中提出基于機器學習算法的圖書館書目協(xié)同推薦系統(tǒng)。依托系統(tǒng)整體架構設計和實時協(xié)同推薦模塊設計,完成系統(tǒng)的硬件設計;通過書目間相似度的計算和數(shù)據(jù)庫設計,完成系統(tǒng)的軟件設計,實現(xiàn)圖書館書目協(xié)同推薦系統(tǒng)的設計。結果表明,基于機器學習算法的圖書館書目協(xié)同推薦系統(tǒng)相比于傳統(tǒng)協(xié)同推薦系統(tǒng),讀者的滿意程度提升了77%,讀者可以閱覽更多感興趣的書目。
關鍵詞: 圖書館書目; 協(xié)同推薦; 系統(tǒng)設計; 機器學習算法; 滿意程度; 對比驗證
中圖分類號: TN911?34; UP181? ? ? ? ? ? ? ? ? 文獻標識碼: A? ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)14?0180?03
Library bibliographic collaborative recommendation system based on
machine learning algorithm
LIU Yan
(Zhengzhou University of Light Industry, Zhengzhou 450000, China)
Abstract: A library bibliographic collaborative recommendation system based on machine learning algorithm is proposed to recommend more interested books to readers and improve reader satisfaction with bibliographic recommendation in libraries. The hardware design of the system is completed based on the design of overall system architecture and real?time collaborative recommendation module, the software design of the system is completed by means of the calculation of similarity between bibliographies and database′s design, and thus the design of collaborative recommendation system for library bibliography is realized. The results show that, in comparison with the traditional collaborative recommendation system, the reader satisfaction of the library bibliography collaborative recommendation system based on machine learning algorithm has increased by 77%, and readers can read more interested books.
Keywords: library bibliography; collaborative recommendation; system design; machine learning algorithm; satisfaction degree; comparison verification
0? 引? 言
圖書館書目協(xié)同推薦是指在機器學習算法的背景下,利用相似度計算的方式向讀者推薦相關書目。主要有兩種形式,分別是基于讀者的協(xié)同過濾和基于書目的協(xié)同過濾,基于讀者的協(xié)同過濾是根據(jù)讀者對書目的瀏覽記錄或購買行為,向讀者推薦相似書目的過程;基于書目的協(xié)同過濾是根據(jù)圖書館書目的被瀏覽記錄或被購買行為,向讀者推薦相似書目的過程[1]。協(xié)同推薦與機器學習之間有著密切的聯(lián)系,協(xié)同推薦需要利用大量的機器學習數(shù)據(jù),對系統(tǒng)的儲存能力有很高的要求,機器學習算法為實現(xiàn)圖書館書目的協(xié)同推薦帶來了可能性。機器學習算法在協(xié)同推薦系統(tǒng)中的應用是最廣泛的,主要應用在電子商務領域和社交媒體領域,在高校圖書館領域的應用相對較少。圖書資源是圖書館中一種比較傳統(tǒng)的資源類型,圖書館協(xié)同推薦系統(tǒng)主要是利用讀者的檢索歷史、書目瀏覽歷史以及借閱歷史等相關數(shù)據(jù),來為讀者提供推薦[2]。傳統(tǒng)的圖書館書目協(xié)同推薦系統(tǒng)是利用讀者的檢索詞匯和鏈接點擊行為,來構建讀者的興趣偏好,采用合適的方式將合適的書目在合適的時間推薦給讀者。本文在總結現(xiàn)有協(xié)同推薦系統(tǒng)不足的基礎上,考慮到圖書館環(huán)境的特殊性,提出基于機器學習算法的高校圖書館書目協(xié)同推薦系統(tǒng)。
1? 圖書館書目協(xié)同推薦系統(tǒng)硬件設計
由于圖書館書目的協(xié)同推薦需要利用大量的機器學習數(shù)據(jù),才能保證將用戶偏好的書目推薦給讀者。首先設計了系統(tǒng)的邏輯架構,圖書館書目協(xié)同推薦系統(tǒng)的邏輯系統(tǒng)架構分為存儲層、協(xié)同推薦層、業(yè)務層和邏輯層[3]。系統(tǒng)的邏輯體系結構如圖1所示。
協(xié)同推薦層的設計是整個系統(tǒng)的核心,可以加快圖書館書目協(xié)同推薦系統(tǒng)的響應速度,其中管理器的設計可以加強書目信息的管理,使書目信息順利傳輸?shù)紿adoop集群中,并在集群中顯示出書目的評分情況和瀏覽情況,將瀏覽數(shù)據(jù)儲存在集群中,作為下一次推薦的參考[4]。
系統(tǒng)的業(yè)務層設計是將協(xié)同推薦層和系統(tǒng)的應用層緊密聯(lián)系在一起,共同完成讀者在系統(tǒng)上的請求。業(yè)務層中計算機設計可以驗證讀者的身份信息,驗證后將讀者的信息上傳到服務器中[5],然后將書目推薦給讀者。服務器設計可以實現(xiàn)用戶的登錄、注冊、信息驗證,以及對圖書館書目的管理上包括圖書的詳細信息和推薦等。
將業(yè)務層和協(xié)同推薦層分開,可以增強系統(tǒng)的通用性,將存儲層與協(xié)同推薦層分開,可以降低系統(tǒng)的耦合性,使協(xié)同推薦層不用考慮書目數(shù)據(jù)的容災問題。如果系統(tǒng)的存儲服務器出現(xiàn)故障,在其他服務器上重啟即可,不需要考慮書目數(shù)據(jù)的遷移情況,提高了系統(tǒng)的可用性。
以上以確保系統(tǒng)穩(wěn)定運行為目的,設計系統(tǒng)的邏輯體系架構,以二次推薦為目的,設計Hadoop集群架構,完成系統(tǒng)的整體架構設計;并結合系統(tǒng)實時協(xié)同推薦模塊設計,實現(xiàn)系統(tǒng)的硬件設計[6?8]。
2? 圖書館書目協(xié)同推薦系統(tǒng)軟件設計
2.1? 計算書目間的相似度
在機器學習算法中,給定書目瀏覽量數(shù)據(jù)集[T=x1,y1,x2,y2,…,xn,yn∈X×Yt],對任意兩本書的瀏覽記錄[vi]和[vj],定義兩個特征量之間的距離度量為[δvi,vj],利用距離可以找到與數(shù)據(jù)集中瀏覽記錄相近的書目[9]。再根據(jù)讀者已經(jīng)選擇過的書目內(nèi)容信息,將與讀者曾經(jīng)選擇過的相似書目推薦給讀者。相似度的計算會抽取圖書館所有書目的特征詞匯來描述書目,并構建圖書館書目配置文件,利用讀者已經(jīng)選擇過的書目信息特征詞匯,來描述讀者對不同類型書目的興趣,構建讀者配置文件,通過將書目配置文件與讀者配置文件之間的相似度加以比較,向讀者推薦與讀者配置文件相似的書目。
在計算圖書館書目之間的相似度時,采用的是對讀者的不同特征關鍵詞的相似度函數(shù)[10],再將相似度函數(shù)進行組合,并賦予它們相應的權重[11],計算出書目之間的相似度:
[SimX,Y=i=1mwiSimXi,Yi]? ? ? ?(1)
式中:[SimX,Y]表示讀者選中的書目與目標書目之間的相似度;[wi]表示讀者在特征詞i上的權重系數(shù);[SimXi,Yi]表示讀者在特征詞匯i上的相似度。
對于有層次書目,屬性的相似度為[12]:
[SimX,Y=11+ρx,y]? ? ? ? ?(2)
機器學習算法的書目推薦原理如圖2所示。
將每一種書目的屬性描述出來才能計算出書目之間的相似度,簡單地說就是從圖書館書目的題材類型開始描述。假設讀者A喜歡A類型書目,讀者B和讀者C喜歡B類型的書目,根據(jù)書目間的信息描述可以確定,書目A和書目C會被協(xié)同推薦系統(tǒng)認為兩者是具有相似度的書目,因為他們的在題材類型上都屬于軍事小說;由于讀者A喜歡A類型圖書,那么協(xié)同推薦系統(tǒng)就會向A讀者推薦與書目A相似度高的書目C。
2.2? 數(shù)據(jù)庫設計
由于圖書館書目協(xié)同推薦系統(tǒng)具有較大的儲存數(shù)據(jù)量,在計算書目之間的相似度時,會使計算量和計算難度加大,因此數(shù)據(jù)庫的設計將書目的瀏覽記錄加以分類,降低相似度計算的難度。數(shù)據(jù)庫的設計主要分為非關系型數(shù)據(jù)庫和數(shù)據(jù)表的結構設計。在系統(tǒng)數(shù)據(jù)庫中,要根據(jù)書目的瀏覽信息,將瀏覽次數(shù)多的書目推薦給讀者,需要共享的信息有讀者基本信息、書目信息、書目瀏覽信息以及書目申請信息等[13]。文中讀者基本信息、書目信息和書目申請信息不做過多設計,下面只設計數(shù)據(jù)庫中的書目瀏覽信息表,如表1所示。
系統(tǒng)的管理員可以根據(jù)數(shù)據(jù)庫中的書目瀏覽記錄,將瀏覽次數(shù)多的書目推薦給讀者,為讀者減少尋找的時間[14]。根據(jù)讀者已經(jīng)選擇過的書目內(nèi)容信息,將與讀者曾經(jīng)選擇過的相似書目推薦給讀者,計算出目標書目與讀者選擇書目之間的相似度,完成書目之間相似度的計算。依托系統(tǒng)數(shù)據(jù)庫的E?R圖,設計書目瀏覽信息表,系統(tǒng)可以根據(jù)書目的瀏覽記錄向讀者推薦書目,完成系統(tǒng)數(shù)據(jù)庫的設計,從而實現(xiàn)系統(tǒng)的軟件設計。
3? 對比實驗
3.1? 準備階段
實驗數(shù)據(jù)來自于某一大學圖書館,從圖書館數(shù)據(jù)庫中隨機抽取985個讀者,按照上述實驗方式進行實驗。設定讀者預推薦感興趣的書目(10本),觀察實驗結果。
將讀者的短期書目信息需求界定為最近一學期內(nèi),可能產(chǎn)生于學習相關的書目信息需求。選取圖書館數(shù)據(jù)集中近4年的書目數(shù)據(jù)作為協(xié)同推薦模塊的數(shù)據(jù)集。為了區(qū)分同一個讀者在不同學期對圖書館書目的偏好值,針對書目的每一條閱覽記錄和借閱記錄,在讀者ID前面加上借閱或閱覽記錄產(chǎn)生時間所對應的學期編號,作為借閱記錄或閱覽記錄新的讀者ID。
3.2? 實驗參數(shù)訓練
實驗準備階段完成后,直接根據(jù)文中相似度的計算,計算出書目之間的相似度,并獲取到讀者偏好值數(shù)據(jù)。然后利用讀者對書目的偏好值數(shù)據(jù)來訓練系統(tǒng),選擇合適的讀者相似性測度方法以及近鄰數(shù)量K。不同的協(xié)同推薦系統(tǒng)得到的推薦效果是不同的。
本實驗選用平均絕對偏差來評估圖書館書目的推薦情況,這種方法的原理是選擇圖書館數(shù)據(jù)集中的一小部分數(shù)據(jù)作為推薦,剩下的一部分數(shù)據(jù)作為實驗參照數(shù)據(jù)集,計算出推薦結果的預計偏好值與參照數(shù)據(jù)集中的讀者實際偏好值之間的偏差。MAE的值越小,書目推薦的準確度越高,就越可以讓讀者滿意。
3.3? 實驗結果分析
傳統(tǒng)協(xié)同推薦系統(tǒng)推薦效果中,有322位讀者獲得2本感興趣的書目,讀者的態(tài)度標記為“不滿意”;有345位讀者可獲取 4本感興趣的書目,讀者的態(tài)度標記為“一般”;有180位讀者獲取到7本感興趣書目標記為“滿意”;有78位讀者獲得9本感興趣的書目,讀者的態(tài)度標記為“非常滿意”。
使用基于機器學習算法的圖書館書目協(xié)同推薦系統(tǒng)進行推薦時,有385位讀者獲得9本感興趣的書目,讀者的態(tài)度標記為“非常滿意”;有410位讀者獲得7本感興趣的書目,讀者的態(tài)度標記為“滿意”;有115位讀者獲得4本感興趣的書目,讀者的態(tài)度標記為“一般”;有75位讀者獲得2本感興趣的書目,讀者的態(tài)度標記為“不滿意”。經(jīng)過統(tǒng)計運算得到相應統(tǒng)計圖像如圖3所示。
從實驗結果中可以看出,讀者對傳統(tǒng)協(xié)同推薦系統(tǒng)的滿意程度較低,僅僅有78個讀者“非常滿意”,大多數(shù)讀者都表示“一般”或“不滿意”的態(tài)度,分別占35%和32.7%,“非常滿意”和“滿意”的讀者僅占0.08%和18.3%;而本文設計的協(xié)同推薦系統(tǒng),只有極少部分的讀者持有 “一般”和“不滿意”的態(tài)度,大部分讀者都持有“非常滿意”和“滿意”的態(tài)度,分別占39.1%和41.6%。因此可以得出本文設計的協(xié)同推薦系統(tǒng)可以滿足讀者對圖書館書目的推薦。
4? 結? 語
本文提出基于機器學習算法的圖書館書目協(xié)同推薦系統(tǒng)。依托圖書館書目協(xié)同推薦系統(tǒng)的硬件設計和軟件設計,實現(xiàn)了圖書館書目協(xié)同推薦系統(tǒng)的設計。結果表明,基于機器學習算法的圖書館書目協(xié)同推薦系統(tǒng)相比于傳統(tǒng)協(xié)同推薦系統(tǒng),讀者的滿意程度提升了77%。希望本文的研究可以為基于機器學習算法的圖書館書目協(xié)同推薦系統(tǒng)提供理論指導。
參考文獻
[1] 汪慧芳.淺析高校圖書館推薦書目工作[J].鄂州大學學報,2017,24(6):58?59.
[2] 肖紅.大數(shù)據(jù)下的機器學習算法探討[J].通訊世界,2017(6):265?266.
[3] 朱天元.機器學習算法在數(shù)據(jù)挖掘中的應用[J].數(shù)字技術與應用,2017(3):166.
[4] 沈晶磊,虞慧群,范貴生,等.基于隨機森林算法的推薦系統(tǒng)的設計與實現(xiàn)[J].計算機科學,2017,44(11):164?167.
[5] 梁建勝,黃隆勝,徐淑瓊.基于視頻內(nèi)容檢測的協(xié)同過濾視頻推薦系統(tǒng)[J].控制工程,2018,25(2):305?312.
[6] 劉一鷗.基于人工魚群算法的圖書館推薦平臺設計[J].電子設計工程,2017,25(15):6?8.
[7] 馬元元,蔣子規(guī),劉艷飛,等.基于室內(nèi)定位技術的圖書館推薦算法[J].蘭州理工大學學報,2018,44(2):102?106.
[8] 黃文明,程廣兵,鄧珍榮,等.基于用戶特征的分步協(xié)同推薦算法[J].計算機應用研究,2017,34(4):1047?1049.
[9] 朱白.數(shù)字圖書館推薦系統(tǒng)協(xié)同過濾算法改進及實證分析[J].圖書情報工作,2017,61(9):130?134.
[10] 廖漳.基于協(xié)同過濾算法的電影個性化推薦系統(tǒng)設計與實現(xiàn)[J].通訊世界,2017(5):278?279.
[11] 吳國麗,蔣昌睿.基于協(xié)同過濾算法的個性化醫(yī)療推薦系統(tǒng)設計與實現(xiàn)[J].福建電腦,2017,33(8):107.
[12] 梁建勝,黃隆勝,徐淑瓊.基于視頻內(nèi)容檢測的協(xié)同過濾視頻推薦系統(tǒng)[J].控制工程,2018,25(2):305?312.
[13] 羅亞.基于決策過程的個性化推薦系統(tǒng)設計[J].計算機工程與應用,2017,53(14):105?110.
[14] 張龍昌,張洪銳.數(shù)字資源云服務推薦系統(tǒng)設計[J].計算機技術與發(fā)展,2017,27(8):139?144.
[15] 馬元元,蔣子規(guī),劉艷飛,等.基于室內(nèi)定位技術的圖書館推薦算法[J].蘭州理工大學學報,2018,44(2):102?106.