国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Spark的高校圖書館書目推薦系統(tǒng)

2019-08-12 02:35常有學劉建勝劉旭波
現代電子技術 2019年14期
關鍵詞:個性化推薦協(xié)同過濾高校圖書館

常有學 劉建勝 劉旭波

關鍵詞: 高校圖書館; 個性化推薦; 協(xié)同過濾; Spark; 公開數據優(yōu)化; 時間偏置

中圖分類號: TN911?34; TP391.9 ? ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)14?0064?04

Spark?based bibliographic recommendation system for university libraries

CHANG Youxue, LIU Jiansheng, LIU Xubo

(Nanchang University, Nanchang 330030, China)

Abstract: How to apply the recommendation system to university libraries and recommend books to users in a personalized manner for offering superior services to users is a topic worthy of study. The recommendation accuracy is ensured by optimizing public data and eliminating time offset. The Spark big data calculation platform is used to improve the calculation efficiency. The test results show that the system has a greatly?improved operation speed, and significantly?reduced mean absolute errors (MAEs), which can provide users with fast and accurate personalized recommendations to enhance user experiences.

Keywords: university library; personalized recommendation; collaborative filtering; Spark; public data optimization; time offset

0 ?引 ?言

隨著互聯網技術的發(fā)展,網絡信息呈暴漲式增長,豐富多彩的網絡生活給人們帶來更多體驗的同時,也給高校圖書館帶來更大的壓力。如何讓高校圖書館保持活躍,給廣大師生提供優(yōu)質的服務,是一個比較重要的研究課題,如何在數以十萬甚至百萬的書籍中給用戶推薦最適合的圖書是其中的關鍵。

當前的圖書推薦研究中,涌現出各種協(xié)同過濾算法的應用和優(yōu)化。在應用方面,任星怡等人提出利用用戶的興趣點對書籍進行推薦,即通過跟蹤用戶的地理位置對用戶提供合適的推薦[1];何勝等人提出基于用戶行為的圖書推薦,不僅需要考慮到用戶的屬性,用戶行為代表的喜好也同樣重要[2];車晉強等人提出使用大數據框架處理推薦系統(tǒng)的大規(guī)模數據集,提高計算效率[3]。在協(xié)同過濾算法的優(yōu)化方面,王成等人面對協(xié)同過濾的矩陣稀疏情況,提出建立項目?用戶倒查表進行修正[4]。魏琳東等人提出一種基于矩陣分解和神經網絡映射的冷啟動推薦算法[5]。

以上方法均對推薦系統(tǒng)有不同程度的改進,并且收到了不錯的效果;但是在高校圖書推薦中,往往忽略了評分偏置和時間偏置的影響。本文通過建立用戶模型和圖書模型,結合用戶行為修正用戶模型,修正評分結果,消除時間因子的影響,并采用Spark作為計算平臺提高計算效率,提供更快、更準確的圖書推薦。

1 ?Spark技術

Spark源于美國加州大學伯克利分校AMPLab的集群計算平臺[6],它是一個開源的并行式處理框架。Spark通過操作分布式彈性數據集(RDD)對數據進行處理,是一種基于有向無環(huán)圖(DAG)的數據處理模型,相比于Hadoop在速度方面有很大提升;并且由于Spark快速、易用、通用、可拓展的特點,其已經逐漸應用在數據處理的各個方面。

2 ?模型構建

高校圖書館書目推薦系統(tǒng)是根據用戶的行為和屬性向其推薦相關書籍的推薦系統(tǒng)。根據用戶之間的聯系和書籍之間聯系實現個性化推薦,減少用戶搜索相關書籍的時間,提高用戶體驗。在系統(tǒng)中,用戶和書籍是兩個相互關聯的主體,發(fā)現兩者之間的相互關系和規(guī)律必須以兩者存在為前提。用戶在使用過程中,要經歷模型構建、模型分析和列表輸出3個階段,模型流程圖如圖1所示。

2.1 ?用戶模型

用戶模型的構建依賴于用戶的顯式信息和隱式信息。用戶的顯式信息又稱為基本信息,即用戶所在學院、專業(yè)、年級和所修課程等固定信息;用戶的隱式信息又稱為行為信息,包含用戶在圖書館所借書籍、網上圖書瀏覽書籍和觀看時長等不斷變化的信息。在數據分析中,考慮更多的隱式信息有助于系統(tǒng)精確用戶的愛好,并對其推薦相匹配的書籍。用戶模型構建機制如圖2所示。在本系統(tǒng)的用戶模型構建中,主要有以下幾個方面獲取用戶的相關信息:

1) 通過系統(tǒng)之間的相互連通,從高校管理系統(tǒng)中導入師生的相關基本信息。

2) 通過用戶的借閱記錄。用戶的借閱記錄通常代表著此時用戶的喜好和需求,是最直接的信息來源。

3) 通過用戶在網絡上的行為信息。高校在接入網絡上通常使用一號一機,即一個用戶只能使用一個固定的網絡賬號,可以確定個人在網絡圖書館中搜索的書籍。

在借閱時長行為中,根據天數判斷喜好程度。與網絡商城不同的是,高校圖書借閱行為是無代價的,因此在用戶借閱時通常不會仔細判斷是否是自己所需要的書籍。一般在兩天之內還書代表不需要或者不喜歡此書。

在用戶模型構建中,采用了SVD++的模型構建方法。其主要思想是根據用戶的相關屬性和行為構建一個f維的向量,即[Vf=V1,V2,…,Vf],再根據其代表的重要程度加以權重,構成一個完整的用戶模型[Uf={N1,N2,…,Nf}]。對于用戶的建模是本系統(tǒng)的關鍵,通過對比不同用戶模型在f維空間向量的相似程度,可以計算出不同用戶之間的相似程度。

2.2 ?圖書模型

圖書模型的建立用于向用戶推薦相應的圖書topN列表。與用戶模型類似,圖書模型也需要根據其屬性信息構建,包括圖書的類別、書名、出版日期和評分等信息。與網上商城推薦不同的是,高校圖書館借閱書籍后并沒有對圖書評價的信息,因此需要補全這種比較重要的數據。根據文獻[7],可以利用群體的智慧優(yōu)化推薦。本系統(tǒng)采用的方法是從網絡上(比如豆瓣讀書等)抓取相關圖書的評分,再根據用戶的相關行為和相應的權重,將其綜合為一個攜帶用戶特征的數據。

在本系統(tǒng)中構建的圖書模型有類別、書名、版本號、作者、出版日期和評分等信息,同樣考慮到某些技術性、時效性比較強的書籍,也需要對每類圖書做一個時效性的標志,用于區(qū)分該圖書是否有時效性。由此構建的圖書模型為[BOOK={class,name,][public_date,author,rate}],其中:

1) class為圖書的類別。在協(xié)同過濾中冷啟動是一直存在的問題,即用戶初次登錄沒有行為信息的時候推薦系統(tǒng)無法為其推薦所需的書籍,因此需要根據用戶所在學院、專業(yè)匹配相應類別的書籍。例如計算機類專業(yè)偏愛編程性書籍,金融類專業(yè)所借金融類書籍比較多。

2) name為圖書的名稱。圖書的名稱涵蓋本書的主要內容,依據圖書名稱的分析能進一步縮小書籍所涉及的內容。

3) public_date為圖書的出版時間,用于確定受時間影響的因子。

4) author為圖書作者。同一作者的書籍通常水平有保證,也更受一些用戶的青睞。

5) rate為該圖書的評分,即從網絡上抓取的書籍評分,加以分析修正后,更有代表性和普適性。

3 ?推薦算法的選擇與改進

3.1 ?推薦算法

協(xié)同過濾算法是推薦算法中最常見也是最有效的推薦算法之一,它的主要思想是利用群體智慧來進行事物的推薦。根據參照物的不同,協(xié)同過濾可分為基于用戶的協(xié)同過濾(UserCF)和基于事物的協(xié)同過濾(ItemCF)。二者都是基于鄰域的推薦模型,用于在N維空間計算用戶或事物的相似性,最后選取topN作為推薦結果。在圖書推薦領域中,最常用的推薦算法是基于事物的協(xié)同過濾,這是因為用戶的興趣愛好和偏愛書籍的類型往往是固定的,且高校圖書館中的書籍信息相對于用戶的數據而言更少,這不僅可以減少計算次數,還可以大幅度提高計算速度。在推薦結果中,基于事物的協(xié)同過濾也更具有個性化,對于冷啟動的問題優(yōu)化更好。

基于事物的協(xié)同過濾是以事物為主體,首先根據用戶對商品的評分(包括顯式評分和隱式評分)構建一個[m×n]的圖書?用戶評分矩陣:

[R=r11r12…r1nr21r22…r2n????rm1rm2…rmn] (1)

式中:m為圖書的數量;n為用戶的數量;r為不同圖書接收到的不同用戶的評分。

根據不同圖書接收到的各種評分,計算兩兩圖書之間的相似度,常用的計算相似度的方法有余弦相似度、修正的余弦相似度、杰卡德系數和皮爾遜系數。

1) 余弦相似性

將不同用戶的評分規(guī)劃為N維向量,通過計算兩個N維向量的夾角來判斷相似性。

[snm=p=1nirnprmpp=1nir2npp=1nir2mp] ?(2)

2) 修正的余弦相似性

在余弦相似性中沒有考慮到不同用戶的評分尺度問題,修正后的余弦相似性在評分中減去評分的平均值來消除這種影響。

[snm=p=1ni(rnp-rn)(rmp-rn)p=1ni(rnp-rn)2p=1ni(rmp-rn)2] (3)

3) 杰卡德系數

杰卡德系數考慮到評價數量和比例對于評分的影響。

[snm=n?mn?m] (4)

4) 皮爾遜系數

將兩個物品的相似性建模成衡量兩個線性相關的變量的方法,意義在于不同用戶對共同商品的評價。[snm=p∈Inm(rnp-ri)(rmp-rm)p∈Inm(rnp-ri)2p∈Inm(rmp-rm)2] (5)

由鄭炳維在公開數據集中測試,修正的余弦相似性具有更好的效果,因此本文以修正的余弦相似性作為相似性判定[8]。

3.2 ?優(yōu)化與改進

在推薦系統(tǒng)中,推薦結果往往會受很多方面的影響,如何根據應用情景精確推薦結果是一個值得研究的課題。在本設計中,來源于網絡的評分數據往往不能直接使用,要經過分析對數據進行優(yōu)化。同樣在某些時效性要求較高的書目中,尤其是技術性叢書、教學型叢書,需要考慮時間的影響。因此,從以下兩方面對其進行優(yōu)化與改進。

1) 用戶評分的優(yōu)化

本系統(tǒng)選取網絡上對書籍的評分,但這種評分對于圖書類別有很大的局限性。經常閱讀文學類書籍的用戶對文學類書籍評分尺度相同,而對于計算機類相關書籍評分卻很嚴格,這樣就造成了評分尺度的不同。與此同時,這類用戶可能很少甚至沒有對其他類書籍的評價,這就造成了不同種類不同類型用戶的評分,勢必會影響圖書的推薦結果。因此需要消除這些與商品?用戶交互無關的影響,即消除偏置,建立統(tǒng)一的基準。消除偏置的計算公式為:

[sj=si-s+μ+α] (6)

式中:[si]為該圖書的真實評分;[s]為該圖書的平均分;[μ]為所有圖書的平均分;[α]為用戶模型構建的綜合評分。該圖書在消除了不同類圖書的均值差異之后,再賦予共同的基準值,最后加上以用戶模型為評判的綜合評分,得到最終的用戶評分。修改后的值消除了不同用戶之間的偏置,更有代表性。

2) 時間因子的優(yōu)化

在某些圖書中,往往存在相應的時效性,隨著時間的推移推薦值逐漸減小。例如2013年出版的《hadoop權威指南》與2017年出版的《hadoop權威指南》,前者介紹的是hadoop0.X,與現在主流使用的hadoop2.X存在很大的差異,因此需要著重推薦后者而不是前者。但這種時間的推移并不是逐漸轉變的,而是階段性的降低。對于上述需求,引入了一個非線性函數作為評分的權重,計算公式為:

[Sut=12ceilingt-ti] (7)

式中:u為使用用戶;ceiling函數為向上取整函數;ti為該書籍的出版時間。由此可知,隨著時間的增長,權重逐漸降低,很好地模擬了技術類叢書隨著時間的推移,重要性呈階段性降低的情況。

4 ?實驗分析

以某高校圖書館推薦為例,選取了115 MB的數據集,其中包括11.7 MB用戶信息數據集,74.1 MB的圖書數據集和29.2 MB的用戶?圖書借閱數據集。為了模擬實際運行環(huán)境,本實驗運行在VMware虛擬機上,模擬4臺計算機并且每臺計算機分配1核CPU和2 GB內存的資源。計算速度記錄如表2所示。

由表2可知,在預先計算好用戶模型和圖書模型的情況下,傳統(tǒng)計算的時間平均為1.58 s,而Spark計算的時間平均為1.014 s,比傳統(tǒng)算法快了35.8%,由此說明應用Spark計算大幅度提高了計算效率。

在對推薦算法的評估中,最常用的指標是平均絕對偏差(MAE)[9]。平均絕對偏差是比較預測評分與實際評分和的平均值,其計算公式為:

[MAE=i=1Npi-qiN] (8)

式中:[pi]為預測評分;[qi]為實際評分。由此可見預測評分和實際評分的差距越小,MAE值就越小,所推薦的商品也就越準確。

不僅推薦質量對MAE的大小有影響,鄰居數量也會對MAE的大小有很大影響。選取鄰居數量分別為10,20,30,40,50,得到相應的MAE值如圖3所示。由圖3可知,改進的協(xié)同過濾算法MAE值不僅比傳統(tǒng)的協(xié)同過濾算法更低,而且隨著鄰居數量的增加,MAE上升速度也更慢。通過上述兩組對比,可以看出基于Spark平臺的推薦在速度上有了很大提升?;谟脩裟P秃蛨D書模型,并對評分偏置和時間偏置進行優(yōu)化的算法在準確率上也起到了很大的作用。

5 ?結 ?語

本文主要對傳統(tǒng)高校圖書館的書目推薦系統(tǒng)進行改進。雖然推薦系統(tǒng)在運行速度和準確率上有了很大提升,但是在用戶和圖書信息收集方面存在很大缺陷,尤其是如何判定書籍中的知識是否符合現在需求方面,還需要在未來的研究中繼續(xù)深入探索。

參考文獻

[1] 任星怡,宋美娜,宋俊德.基于用戶簽到行為的興趣點推薦[J].計算機學報,2017,40(1):28?51.

REN Xingyi, SONG Meina, SONG Junde. Point?of?interest recommendation based on the user check?in behavior [J]. Chinese journal of computers, 2017, 40(1): 28?51.

[2] 何勝,馮新翎,武群輝,等.基于用戶行為建模和大數據挖掘的圖書館個性化服務研究[J].圖書情報工作,2017,61(1):40?46.

HE Sheng, FENG Xinling, WU Qunhui, et al. Research on personalized services of library based on user behavior modelling and big data mining [J]. Library and information service, 2017, 61(1): 40?46.

[3] 車晉強,謝紅薇.基于Spark的分層協(xié)同過濾推薦算法[J].電子技術應用,2015,41(9):135?138.

CHE Jinqiang, XIE Hongwei. Hierarchical collaborative filtering algorithm based on Spark [J]. Application of electronic technique, 2015, 41(9): 135?138.

[4] 王成,朱志剛,張玉俠,等.基于用戶的協(xié)同過濾算法的推薦效率和個性化改進[J].小型微型計算機系統(tǒng),2016,37(3):428?432.

WANG Cheng, ZHU Zhigang, ZHANG Yuxia, et al. Improvement in recommendation efficiency and personalized of user?based collaborative filtering algorithm [J]. Journal of Chinese computer systems, 2016, 37(3): 428?432.

[5] 魏琳東,黃永峰.融合用戶屬性信息的冷啟動推薦算法[J].電子技術應用,2017,43(10):137?140.

WEI Lindong, HUANG Yongfeng. Incorporating user attribute data in recommendation system [J]. Application of electronic technique, 2017, 43(10): 137?140.

[6] 詹義,方媛.基于Spark技術的網絡大數據分析平臺搭建與應用[J].互聯網天地,2016(2):75?78.

ZHAN Yi, FANG Yuan. Building and application of network big data analysis platform based on Spark technology [J]. China Internet, 2016(2): 75?78.

[7] 馬玲娜.基于集體智慧的標簽推薦系統(tǒng)的設計與開發(fā)[D].西安:陜西師范大學,2013.

MA Lingna. Design and development of tag recommendation system based on collective intelligence [D]. Xian: Shaanxi Normal University, 2013.

[8] 鄭炳維.基于Spark平臺的協(xié)同過濾算法的研究與實現[D].廣州:華南農業(yè)大學,2016.

ZHENG Bingwei. Research and implementation of collaborative filtering algorithm based on Spark platform [D]. Guangzhou: South China Agricultural University, 2016.

[9] 張宏,王慧.基于用戶評分和共同評分項的協(xié)同過濾算法研究[J].計算機應用研究,2019,36(1):77?80.

ZHANG Hong, WANG Hui. Research on collaborative filtering algorithm based on user score and common score [J]. Application research of computers, 2019, 36(1): 77?80.

[10] 王捷.基于用戶行為數據分析的高校圖書館信息服務平臺研究[J].現代情報,2017,37(1):127?130.

WANG Jie. Study of information service platform based on data analysis of user behavior in university libraries [J]. Modern information, 2017, 37(1): 127?130.

猜你喜歡
個性化推薦協(xié)同過濾高校圖書館
基于鏈式存儲結構的協(xié)同過濾推薦算法設計與實現
基于相似傳播和情景聚類的網絡協(xié)同過濾推薦算法研究
個性化推薦系統(tǒng)關鍵算法探討
基于協(xié)同過濾算法的個性化圖書推薦系統(tǒng)研究
混合推薦算法在電影推薦中的研究與評述
高校圖書館閱讀推廣案例分析
微信公眾平臺在高校圖書館信息服務中的應用研究
高校圖書館閱讀推廣實踐探討
高校圖書館電子資源的宣傳與推廣