楊玉枝
摘? 要:針對圖書館圖書協(xié)同過濾自動推薦系統(tǒng),因數(shù)據(jù)缺失對圖書推薦結(jié)果產(chǎn)生影響。該文借助廣東嶺南職業(yè)技術(shù)學院圖書館50萬條樣本數(shù)據(jù),通過對部分變量缺失數(shù)據(jù)進行插值,設(shè)計一種改進的缺失數(shù)據(jù)協(xié)同過濾圖書自動推薦系統(tǒng)模型(xDeepFM-D)。試驗結(jié)果表明,在模型訓練150輪后,測試集總損失為0.072 8,AUC(Area Under roc Curve)為0.927 4。對比常見推薦系統(tǒng)模型xDeepFM、DeepFM、FM&DNN以及FM,AUC分別提升了0.17%、0.64%、1.27%、1.03%。xDeepFM-D模型為圖書推薦系統(tǒng)提供了良好的應(yīng)用條件。
關(guān)鍵詞:協(xié)同過濾? 推薦系統(tǒng)? 缺失數(shù)據(jù)? 數(shù)據(jù)插值
中圖分類號:G250.76? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A文章編號:1672-3791(2021)04(a)-0181-06
Research on an Improved Automatic Book Recommendation Model for Collaborative Filtering of Missing Data
YANG Yuzhi
(Guangdong Lingnan Institute of Technology Library, Guangzhou, Guangdong Province, 510663? China)
Abstract: For the library book collaborative filtering automatic recommendation system, the lack of data has an impact on the book recommendation results. Based on the 500 000 sample data from the library of Guangdong Lingnan Institute of Technology, this paper designs an improved automatic book recommendation system model (xDeepFM-D) for collaborative filtering of missing data by interpolating the missing data of some variables. The test results show that after 150 rounds of model training, the total test set loss is 0.072 8, and the AUC (Area Under roc Curve) is 0.927 4. Compared with the common recommendation system models xDeepFM, DeepFM, FM&DNN and FM, AUC increased by 0.17%, 0.64%, 1.27%, 1.03%, respectively. The xDeepFM-D model provides good application conditions for the book recommendation system.
Key Words: Collaborative filtering; Recommendation system; Missing data; Data interpolation.
圖書館在讀者借書環(huán)節(jié),若選擇自動推薦系統(tǒng),將會給讀者選書帶來極大的便利。不僅可以提高讀者選書挑書的效率,還可以提高圖書的借閱使用頻次,較好地促進圖書的流轉(zhuǎn)使用率。傳統(tǒng)的圖書推薦系統(tǒng)中,在讀者選書環(huán)節(jié),系統(tǒng)給讀者提供的推薦信息存在準確性低的缺點。分析其主要原因,傳統(tǒng)推薦系統(tǒng)僅憑借讀者注冊時填寫的興趣愛好信息來判斷圖書推薦優(yōu)先級,存在一定程度的不合理性。比如:讀者在圖書系統(tǒng)中注冊個人信息資料時,并沒認真填寫個人興趣信息一欄,填報信息的準確性不高;還有部分讀者隨著時間的推移,興趣發(fā)生了改變,但信息填報系統(tǒng)并沒有及時更新讀者的個人信息。綜合這些因素都會對圖書推薦信息準確率產(chǎn)生較大影響。然而主流的協(xié)同過濾圖書自動推薦系統(tǒng)比較依賴較完整的龐大數(shù)據(jù),而數(shù)據(jù)缺失對協(xié)同過濾圖書推薦系統(tǒng)會產(chǎn)生較大影響。因此,設(shè)計一種改進的缺失數(shù)據(jù)協(xié)同過濾圖書自動推薦系統(tǒng)模型,具有重要意義。
1? 相關(guān)研究
隨著個性化推薦技術(shù)的發(fā)展[1-5],其在圖書館推薦中的應(yīng)用逐漸成為了研究熱點[6-10]。國內(nèi)外很多學者也對其進行了研究[11-12],通過關(guān)聯(lián)規(guī)則分析讀者的借閱記錄實現(xiàn)了圖書館藏圖書的推薦、分析FP-growth關(guān)聯(lián)規(guī)則算法在圖書資源個性化推薦中的應(yīng)用、分析讀者在圖書館的日常借閱和檢索行為構(gòu)建了讀者興趣模型以及通過協(xié)同過濾算法實現(xiàn)了圖書資源的個性推薦等。當前,圖書館的推薦系統(tǒng)大多數(shù)是基于內(nèi)容的推薦技術(shù)和基于協(xié)同過濾的推薦技術(shù),這些推薦系統(tǒng)雖然實現(xiàn)了讀者大眾數(shù)據(jù)的統(tǒng)計和分析,但是忽視了讀者個性化信息的深層次特征。隨著深度學習技術(shù)在計算機視覺CV和自然語言處理NLP等領(lǐng)域取得不錯的效果,研究基于深度學習技術(shù)的推薦系統(tǒng)也成為當今的熱門領(lǐng)域[13]。然而傳統(tǒng)的圖書自動推薦系統(tǒng)存在準確性低等缺點,因此該文著手研究基于深度學習技術(shù)的推薦系統(tǒng),解決傳統(tǒng)推薦系統(tǒng)的不足,為讀者提供更加靈活的個性化圖書推薦服務(wù)。
xDeepFM模型[11]已經(jīng)在廣告、餐飲、新聞等領(lǐng)域具有應(yīng)用成功的案例,如在Criteo、大眾點評和必應(yīng)新聞等3個數(shù)據(jù)集上對上述模型進行評測,這3個數(shù)據(jù)集分別對應(yīng)廣告推薦、餐館推薦和新聞推薦等不同的應(yīng)用場景,所采用的評測指標為AUC和LogLoss。通過將xDeepFM與多種當前主流的深度推薦模型進行對比,在3個數(shù)據(jù)集上,xDeepFM模型在AUC和LogLoss上均超過了其他基準模型。這說明,結(jié)合顯式和隱式的特征交互能夠有效提高推薦系統(tǒng)的準確性。
盡管xDeepFM在廣告推薦系統(tǒng)中具有較高的推薦準確性,但該模型仍較大地依賴較完整的龐大數(shù)據(jù)[13]。該數(shù)據(jù)結(jié)合圖書館圖書靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)的特點,靜態(tài)數(shù)據(jù)指用戶特征等學生個人信息;而動態(tài)數(shù)據(jù)指書籍特征等,如標簽、分類、關(guān)鍵詞、歷史借閱次數(shù)等。兩種數(shù)據(jù)均存在一定程度的數(shù)據(jù)丟失,因此需要探索一種改進的缺失數(shù)據(jù)協(xié)同過濾圖書推薦系統(tǒng)。
2? 算法原理
2.1 插值方法回歸
插值方法中的回歸模型填充方法是基于線性回歸理論為基礎(chǔ)[14],采用對因變量和自變量中的原始數(shù)據(jù)進行回歸建模,選取建模后的模型預測值作為模型缺失值的估計值。具體思想是,通過建立因變量Y對自變的回歸模型,進一步達到預測因變量Y的缺失數(shù)據(jù)目的。對k個缺失值的填充值可表示為:
假如模型各變量之間的回歸關(guān)系顯著,采用該回歸模型得到的估計值也會比較接近真實預測值。然而在對模型進行構(gòu)造和對模型進行評估的步驟相對繁瑣,需要對模型進行顯著性評價,因此該模型的應(yīng)用場景對于重要變量的缺失值填充比較有效。
由式(1)可知,對于相同的,經(jīng)過建立回歸模型后,得到的模型估計值是相同的,因此需要在回歸估計中增加隨機成分信息,回歸方程可表示為:
在式(2)中,需要特別關(guān)注εk的處理,常用的構(gòu)造隨機成分信息的方法有多種,該文選用正態(tài)變異估計方法,選取模型變量期望為0,標準差為回歸誤差項均方的平方根,隨機提取誤差項。
2.2 插值方法EM
若研究的觀測數(shù)據(jù)缺失類型為隨機缺失[15],通過觀測數(shù)據(jù)的邊緣概率分布對未知參數(shù)進行極大似然估計。EM算法是受缺失數(shù)據(jù)思想的影響,當觀測數(shù)據(jù)服從高斯正態(tài)分布時,觀測數(shù)據(jù)的似然密度函數(shù)為:
(3)
式中,θ為待定參數(shù)(μ,σ),Y為已知觀測數(shù)據(jù),Z為缺失數(shù)據(jù)In。因此,缺失數(shù)據(jù)In基于已知觀測數(shù)據(jù)和參數(shù)的條件概率分布密度函數(shù)為:
(4)
式中,μi、σi為第i次迭代后的參數(shù)估計值。
由式(3)和式(4)可以得到EM算法的期望:
(5)
將積分后得到的最大化,得到θi+1,將θi+1反帶入式(5)中重新得到期望值,如此反復循環(huán),直至‖θi+1-θi‖或‖Q(θi+1|θi,Y)-Q(θi|θi,Y)‖足夠小為止。迭代結(jié)束后,即可求解出缺失數(shù)據(jù)下未知參數(shù)的最佳估計。
2.3 推薦模型xDeepFM-D
谷歌公司在2016年首次提出了模型Wide&Deep [16],該模型由單層Wide部分和多層Deep部分組成的混合模型。其中,Wide部分用于模型的“記憶功能”,而Deep部分用于模型的“泛化能力”。整個模型既具有邏輯回歸和深度神經(jīng)網(wǎng)絡(luò)的優(yōu)點,能夠快速處理并記憶大量的歷史數(shù)據(jù)行為特性,同時也具有較強的模型表達能力。
為實現(xiàn)自動學習顯式的高階特征交互,首先借鑒壓縮交互網(wǎng)絡(luò)(CIN,Compressed Interaction Network)的神經(jīng)模型,每一層神經(jīng)元均由上一層的隱層和原特征向量計算而來,具體公式:
(6)
其中,第k-1層隱層含有Hk-1條神經(jīng)元向量,W為網(wǎng)絡(luò)權(quán)重,隱層的計算可分兩步:式(6)根據(jù)前一層隱層的狀態(tài)xk和原特征矩陣X0,計算出一個三維張量的中間結(jié)果 ,具體變換過程見圖1。
基于CIN隱層計算步驟介紹的中間結(jié)果基礎(chǔ)上,采用Hk+1個尺寸為m.Hk的卷積核生成下一層隱層的狀態(tài),具體計算過程見圖2。
該運算操作符合計算機視覺中最流行的卷積神經(jīng)網(wǎng)絡(luò)(CNN)計算法方法[17]。CNN卷積神經(jīng)網(wǎng)絡(luò)模型的神經(jīng)元連接是非全連接的,同一層中某些神經(jīng)元之間的連接的權(quán)重是共享的特點,極大地降低了網(wǎng)絡(luò)模型的復雜度,減少了網(wǎng)絡(luò)權(quán)值數(shù)量。CIN中單個神經(jīng)元其相關(guān)的接受域是垂直于特征維度D的整個平面,而CNN中的接受域是當前神經(jīng)元周圍的局部小范圍區(qū)域,CIN中經(jīng)過卷積操作得到的特征圖是一個向量,并非矩陣形式。
其最終學習出的特征交互的階數(shù)是由網(wǎng)絡(luò)的層數(shù)決定的,每一層隱層都通過一個池化操連接到輸出層,從而保證了輸出單元可以見到不同階數(shù)的特征交互模式。與此同時,CIN的結(jié)構(gòu)與循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是很類似的[18-20]。RNN屬于節(jié)點定向連接成環(huán)的神經(jīng)網(wǎng)絡(luò),具有較好的記憶功能,利用記憶來處理任意時序的輸入序列,對手寫識別和語音識別具有優(yōu)越性。網(wǎng)絡(luò)特點是,每一層的狀態(tài)是由前一層隱層的值與一個額外的輸入數(shù)據(jù)計算所得。然而,CIN中不同層的參數(shù)是不同的,而RNN中是相同的。另外,RNN中每次額外的輸入數(shù)據(jù)是不同的,而CIN中額外的輸入數(shù)據(jù)是固定的,始終設(shè)定為X0。
CIN框架搭建完成后,參考Wide&Deep和DeepFM等模型的設(shè)計,發(fā)現(xiàn)同時包含多種不同結(jié)構(gòu)的成分可以提升模型的表達能力。因此,將CIN與線性回歸單元、全連接神經(jīng)網(wǎng)絡(luò)單元組合在一起,得到最終的模型并命名為極深因子分解機xDeepFM,其結(jié)構(gòu)見圖4。
集成的CIN和DNN兩個模塊能夠幫助模型同時以顯式和隱式的方式學習高階的特征交互,而集成的線性模塊和深度神經(jīng)模塊也讓模型兼具記憶與泛化的學習能力。為了提高模型的通用性,xDeepFM中不同的模塊共享相同的輸入數(shù)據(jù)。而在具體的應(yīng)用場景下,不同的模塊也可以接入各自不同的輸入數(shù)據(jù)。例如,線性模塊中依舊可以接入很多根據(jù)先驗知識提取的交叉特征來提高記憶能力,而在CIN或者DNN中,為了減少模型的計算復雜度,可以只導入部分稀疏的特征子集。
3? 算法實現(xiàn)
針對廣東嶺南職業(yè)技術(shù)學院圖書館,選取用戶特征、書籍特征、過往行為統(tǒng)計特征作為模型輸入,標簽選取0代表未借這本書,1代表已借這本書。用戶特征是指學生個人信息;書籍特征是指標簽、分類、關(guān)鍵詞、歷史借閱次數(shù)等;過往行為統(tǒng)計特征是指分組統(tǒng)計特征,采用xDeepFM模型訓練學習出適合高校圖書館有效可靠的推薦系統(tǒng)。
以借書與否作為模型因變量,共選取ID變量:表示圖書登錄號;Type變量:0表示圖書,1表示光盤;Borrow變量:表示借書的日期,周一至周日分別用1~7表示;Return變量:表示還書的日期,周一至周日分別用1~7表示;Time變量:表示還書和借書之間時間差;Index變量:索書號,比如:20160242表示第20個字母和16個字母,以及242號,字母從1~26分別表示A~Z;Seedtime變量:種次號;Code變量:證號;Control變量:控制號;IP變量:借書站點;Level變量:年級;Name變量:專業(yè)名稱,0是學生,1是教師;Overpayfor變量:0是不產(chǎn)生超期款,1是產(chǎn)生超期款。
共選取13共自變量中,數(shù)據(jù)缺失比例嚴重的還書和借書之間時間差為例,采用插值回歸(回歸-D)和插值EM(EM-D)模型進行對比試驗[21-25],隨機選取10 000組未缺失的完整數(shù)據(jù)進行建模,其中分別以10%和20%的比例進行缺失處理。
樣本集的殘差平方和(Residual Sum of Squares, RSS)與均方誤差(Mean Squared Error, MSE):
RSS(7)
MSE(8)
采用RSS和MSE,針對還書和借書之間時間差變量,對比兩種插值模型的優(yōu)劣,對比結(jié)果見表1。
通過表1可知,EM模型僅考慮了自身數(shù)據(jù)的特點,而真實情況是自變量之間是存在較強的相關(guān)性,采用回歸模型更能符合圖書館數(shù)據(jù)的特點,而最終結(jié)果也表明,回歸模型效果更優(yōu)。
因此,該文采用插值回歸和xDeepFM相結(jié)合的方案。首先,用插值回歸對數(shù)據(jù)缺失嚴重的數(shù)據(jù),進行插值回歸;然后,用xDeepFM對圖書館數(shù)據(jù)進行推薦系統(tǒng)建模,該模型命名為xDeepFM-D模型。
該文基于Pytorch實現(xiàn)的xDeepFM-D模型,通過xDeepFM-D模型,預測出是否借書的概率,來判定是否推薦該圖書,為圖書館圖書推薦系統(tǒng)提供指南。模型共有樣本519 646,選取的訓練樣本415 674,占總樣本的80%,測試樣本103 972,占總樣本的20%,數(shù)據(jù)采用“random”方法隨機打亂。數(shù)據(jù)預處理部分僅對數(shù)據(jù)缺失超過10%以上的變量采用插值回歸模型進行插值處理,其余類別特征缺失,用-1代替,數(shù)值特征缺失,用0代替。模型DNN部分隱含層特征分別為[400,400,400],dropout隨機失活比例0.9,模型訓練部分,batchsize數(shù)量設(shè)定為50 000,迭代輪次選取150輪。
模型訓練150輪后,測試集整體損失為0.072 8,AUC為0.927 4,模型取得了較好的預測效果,從圖5中ROC曲線可知,插值回歸模型對推薦系統(tǒng)整體模型效果有所提升,xDeepFM-D對比xDeepFM的ROC曲線,更接近(0,1)。
進一步對比各主流模型的測試結(jié)果,選取AUC和Logloss兩組變量,對比結(jié)果見表2。
通過對比發(fā)現(xiàn),xDeepFM-D測試集總損失為0.072 8,AUC為0.927 4。對比主流xDeepFM、DeepFM、FM&DNN以及FM模型,AUC指標分別提升了0.17%、0.64%、1.27%、1.03%。
4? 結(jié)論
推薦模型通常應(yīng)用在廣告、餐飲以及新聞等領(lǐng)域的推薦系統(tǒng),較少在圖書推薦系統(tǒng)上的應(yīng)用,選題角度具有新意。對高校圖書推薦系統(tǒng)提供有力保障,傳統(tǒng)的推薦系統(tǒng)僅借助讀者注冊時填寫的興趣愛好判斷,無法較好地提高圖書的流通率,xDeepFM-D模型通過對缺失數(shù)據(jù)的插值補充,結(jié)合圖書推薦的特點,最終實現(xiàn)在圖書推薦系統(tǒng)上的應(yīng)用,使得圖書推薦的準確率進一步提高,更好地滿足圖書館的個性化需求。
參考文獻
[1] 姚舜.關(guān)聯(lián)規(guī)則算法在圖書自動推薦系統(tǒng)中的應(yīng)用[J].四川圖書館學報,2012(6):55-58.
[2] 紀文璐,王海龍,蘇貴斌,等.基于關(guān)聯(lián)規(guī)則算法的推薦方法研究綜述[J].計算機工程與應(yīng)用,2020,56(22):
33-41.
[3] 鄧浩偉,楊書新,裴嘉琪,等.基于矩陣分解和Meanshift聚類的協(xié)同過濾推薦算法[J].計算機科學與應(yīng)用,2020,10(4):649-658.
[4] 高雅平,詹華清.基于人工智能的圖書館建設(shè)研究[J].數(shù)字圖書館論壇,2020(11):20-26.
[5] 沈佳.基于深度學習的圖書推薦系統(tǒng)研究[D].武漢理工大學,2018.
[6] 殷宏磊.基于深度學習的推薦系統(tǒng)研究與實現(xiàn)[D].電子科技大學,2019.
[7] 李丹,高茜基于深度學習推薦系統(tǒng)的研究與展望[J].齊魯工業(yè)大學學報,2020,34(6):29-38.
[8] He X, Liao L, Zhang H, et al. Neural collaborative filtering[C]//Proceedings of the 26th International Conference on World Wide Web.International World Wide Web Conferences Steering Committee, 2017:173-182.
[9] Wang Xiang,He Xiangnang,Nie liqiang,et al.Item silk road: Recommending items from information domains to social users[C]//Proceedings of the 40th International ACM SIGIR conference on Research and Development in Information Retrieval.ACM,2017:185-194.
[10] 鄺耿力.基于“圖書足跡”的閱讀推薦系統(tǒng)研究[J].四川圖書館學報,2020(2):38-43.
[11] 冷亞軍,陸青,梁昌勇.協(xié)同過濾推薦技術(shù)綜述[J].模式識別與人工智能,2014(8):720-734.
[12] d goldberg,d nichols, Oki B M, et al. Using collaborative filtering to weave an information tapestry[J].Communications of the Acm,1992, 35(12):61-70.
[13] 張華潔.基于卷積神經(jīng)網(wǎng)絡(luò)和協(xié)同過濾的圖書推薦系統(tǒng)[D].山西大學,2019.
[14] 陳朋.傳感器網(wǎng)絡(luò)數(shù)據(jù)插值算法研究[D].湖南大學,2011.
[15] 程詩奮,彭澎,張恒才,等.異質(zhì)稀疏分布時空數(shù)據(jù)插值、重構(gòu)與預測方法探討[J].武漢大學學報:信息科學版,2020,45(12):1919-1929.
[16] heng-tze cheng, levent koc, jeremiah Harmsen, et al. Wide & Deep Learning for Recommender Systems[C]//Proceedings of the 1st workshop on Deep Learning for Recommender Systems. ACM,2016:7-10.
[17] 沈佳.基于深度學習的圖書推薦系統(tǒng)研究[D].武漢理工大學,2018.
[18] 劉寧寧.基于深度因子分解機和循環(huán)神經(jīng)網(wǎng)絡(luò)的位置預測研究[D].重慶郵電大學,2020.
[19] 余夢夢,孫自強.基于FGx_Deep算法的深度推薦[J].計算機工程與設(shè)計,2020,41(11):3204-3211.
[20] BAGCI H, KARAGOZ P. Context-aware friend recommendation for location based social networks using random walk[C]//Proceedings of the 25th International Conference Companion on World Wide Web. Montréal. ACM, 2016:531-536.
[21] 古萬榮,謝賢芬.面向非隨機缺失數(shù)據(jù)的協(xié)同過濾評分方法[J].華南理工大學學報:自然科學版,2021,49(1):47-57.
[22] 王夢晗.推薦系統(tǒng)中數(shù)據(jù)缺失問題的研究[D].浙江大學,2019.
[23] 周明升,韓冬梅.一種改進的缺失數(shù)據(jù)協(xié)同過濾推薦算法[J].微型機與應(yīng)用,2016,35(17):17-19.
[24] 楊彥榮,張瑩.基于用戶聚類的圖書協(xié)同推薦算法研究[J].科技資訊,2020,18(9):198-199.
[25] 廖志平.數(shù)據(jù)挖掘在學校圖書館的應(yīng)用[J].科技創(chuàng)新導報,2012,(12):211-213.