劉哲
摘 要:大數據背景下,如何利用信息化技術,掌握在校學生的閱讀習慣,在海量的圖書資源中,快速有效地找到需要的書籍,為學生提供個性化服務推薦,是文章研究的主要目的。主要研究方法是通過Sqoop工具將北京中醫藥大學數據中心8 304名學生的圖書借閱信息同步到Hadoop平臺并進行整理,以Python作為數據處理語言,通過K-means聚類算法獲取有相似閱讀習慣的書籍。處理結果可以將有相似閱讀習慣的學生挖掘出來,將他們所閱讀的書籍作為互相推薦的依據,實現了個性化的圖書服務。但當前的研究也存在局限性,即不包括半結構化的電子閱讀信息的采集和分析。文章通過對研究進行結果分析,提供了一種個性化圖書服務的框架和處理方法,并實現了個性化圖書推薦,為提供個性化服務的研究提供了一種思路和方法。
關鍵詞:大數據;高校圖書館;個性化服務
隨著大數據和人工智能的到來,在信息爆炸的今天,傳統的借閱方式已經不能滿足高校學生高質量的閱讀的要求。高校圖書館與學生之間不再是一個簡單的借閱關系,而應該根據學生的興趣愛好、閱讀習慣、所關注的熱點等信息,有針對性地快速提供個性化服務推薦[1],提高學生的閱讀效率和質量。隨著高校信息化的蓬勃發展,高校數據中心日趨完善,數據量指數級增長,大數據平臺的數據存儲與處理已經在高校中應用的越來越廣泛。本文利用Sqoop工具[2],將學生閱讀相關的數據同步到Hadoop平臺[3]的Hive表中,利用Hive所提供的完整SQL語句對數據進行整理,對整理后的數據利用Python語言[4]進行分析,根據學生的閱讀習慣進行聚類,找到相似閱讀興趣的學生,獲取他們的閱讀書籍,相互推薦,實現個性化服務。
1 中國圖書館圖書分類方法
中國圖書館圖書分類法[5]是按照圖書的內容、形式、體裁和讀者用途等,在一定的哲學思想指導下,運用知識分類的原理,采用邏輯方法,將所有學科的圖書按其學科內容分成幾大類,每一大類下分許多小類,每一小類下再分小類。最后,每一種書都可以分到某一個類目下,每一個類目都有一個類號。分類詞表是層次結構的類號和類目的集合。中國圖書館分類法,簡稱《中圖法》,現為第5版。包括馬列主義、毛澤東思想,哲學,社會科學,自然科學,綜合性圖書5大部類,22個基本大類。
北京中醫藥大學圖書館的所有圖書都是按照中國圖書館圖書分類方法進行的分類,并且所有圖書的基本信息都已經錄入圖書管理系統的數據庫[6]。本文主要的研究方法,就是獲取學生所有借閱圖書的基本大類,按照分類號分組統計書籍的數量,確定學生借讀的廣度和深度,是否與本專業相關等信息,來了解學生個性化閱讀的習慣。
2 基于Hadoop平臺的數據采集
隨著云計算、大數據等技術的興起與發展,教育信息化領域也迎來了大數據技術帶來的機遇和挑戰。高校各業務系統和互聯網數據的極速增長,利用海量數據分析和挖掘學生的行為軌跡、消費習慣,學習成績、就業傾向,創建學生個人畫像等,已經成為智慧化校園面對的挑戰。
Hadoop是Apache基金會維護的分布式系統基礎架構[7],它實現了一個分布式文件生態系統(Hadoop Distributed File System,HDFS),通過Map Reduce的技術,來滿足海量數據存儲和高性能的分析處理[8]。同時,Hadoop有HBase、Hive、Pig、Sqoop等眾多開源項目的支持,形成了一個完善的、選擇多樣的大數據解決方案。Cloudera公司推出了Hadoop集成發行版本[9],極大地簡化了大數據平臺的部署和維護流程。本文選擇了Cloudera的開源版本CDH5,構建了一個5臺物理機節點的大數據分析平臺(5個存儲計算結點,2個管理節點),每個節點64 G內存,2路4核CPU,1 T的存儲空間,各節點之間通過千兆以太網互聯互通,完全能滿足學校的數據分析需求。
本文采集全校8 304名在讀學生的借閱數據,采用增量追加,編寫Shell批量命令到文件SqoopTime.sh,設置每天執行一次,保持數據的同步。采集到Hadoop平臺的數據,利用Hive中提供了類似SQL的完整查詢語句,進行預處理,處理結果如表1所示,該表按分類號分組統計了每個學生的閱讀量。
3 基于Python的數據分析與處理
通過HIVE預處理后的數據,并不適合數值計算或數據挖掘的格式[10],本文利用Python自帶的數值分析庫Pandas提供的pivot_table()函數,將預處理結果進行轉換得到二維矩陣,表2是學生借閱圖書分類矩陣。
3.1 獲取閱讀量排前的圖書分類
熱圖(Heatmap)分析[11]是可以用顏色變化來反映二維矩陣或表格中的數據信息,它可以直觀地將數據值的大小以定義的顏色深淺表示出來。常根據需要將數據進行物種或樣品間豐度相似性聚類[12],將聚類后數據表示在heatmap 圖上,可將高豐度和低豐度的物種分塊聚集,通過顏色梯度及相似程度來反映多個樣品在各分類水平上群落組成的相似性和差異性。Python提供了一個Seaborn庫,它主要關注統計模型的可視化,該庫提供了heatmap函數,反映二維矩陣的相似度聚類關系,可以得到所有圖書22個分類的熱圖。
3.2 閱讀量數字化分析與處理
統計出學生閱讀總量后,我們通過Python語言Pandas包提供的describe()函數獲取相關統計值[13],結果如表3所示。在校生中共有4 910人借閱過書籍,其中,平均借閱量3本,借閱量標準差4本,學生個人最大借閱量72本及借閱量的四分位數[14]的3個分割點分別為2、3、6。
分位數回歸思想的提出至今已經有近30多年了,分位數回歸在理論和方法上都越來越成熟,并被廣泛應用于多種學科中。它對于實際問題能提供更加全面的分析,無論是線性模型還是非線性模型,分位數回歸都是一種很好的工具。本文用四分位數將閱讀量分為4個等級(見表4),這樣我們就得到了每個在校學生閱讀量數字化。
3.3 閱讀種類數字化分析與處理
本文分析學生所借圖書的種類,并將其作為學生閱讀是否廣泛的指標。首先,我們通過分組計數獲取每個學生借閱種類數,再通過describe()函數獲取統計值,結果如表5所示。平均借閱種類為4種,借閱種類標準差3種,學生個人最大借閱種類18種及借閱種類的四分位數的3個分割點分別為2、3、5。同樣,用分位數將閱讀種類分為4個等級,我們就可以得到每個學生在校借閱種類的數字化,如表6所示。
3.4 閱讀興趣的數字化分析與處理
通過對借閱圖書的數量和種類分析得知,學生閱讀量80%集中在前6個圖書分類中。故而,我們只將閱讀種類在前6的圖書作為學生閱讀興趣的主要書籍。學生只要對這6類圖書有借閱量,就認定該學生對該類圖書感興趣,可以得到該學生的閱讀興趣表,如果一個學生閱讀興趣的6位編碼是101100,這表明該學生對R、B、H類的圖書非常感興趣。六位二進編碼并不利于聚類計算,為了方便計算分析,本文對六位二進制編碼轉換為十進制,就得到每個學生閱讀興趣數字化分類結果(見表7)。
3.5 基于聚類分析的圖書個性化推薦服務
經過以上分析,將編碼后的結果,反映在一張表上,如表8所示,我們得到一個學生圖書借閱總體情況表。K-means算法[15]是很典型的基于距離的聚類算法,采用距離作為相似性的評價指標,即認為兩個對象的距離越近,其相似度就越大。該算法認為簇是由距離靠近的對象組成的,因此把得到緊湊且獨立的簇作為最終目標。本文采用聚類算法對學生借況處理完的數據聚類,在同一聚類的學生是有相似的閱讀習慣,他們之間的有著相似的閱讀興趣,從而將他們之間所閱讀的書相互推薦,實現個性化的服務。
4 結語
隨著大數據技術的不斷完善,人們對服務質量的要求也越來越高,個性化服務已經成功的滲透到人們生活的各個方面。本文對高校數據中心所收集的全校學生的借閱信息研究與分析,在8 304學生中,有4 910人學生在學校圖書館里借閱過圖書。學生的平均借閱量為3本,最大借閱量為72本。學生的平均借閱各類為4種,最多借閱種類18種。學生借閱量最多的前6種圖書是:R(醫藥、衛生)—I(文學)—B(哲學)—K(歷史、地理)—H(語言、文學)—J(藝術),分別代表了。本文還對每個學生的閱讀量、閱讀種類、閱讀興趣進行數字化分析和處理,將處理完的3個特征,采用K-means聚類算法,將有相似閱讀習慣的學生挖掘出來,將他們所閱讀的書籍作為互相薦,實現了個性化的圖書服務。本文提供了一種個性化圖書服務的框架和處理方法,目前是基于圖書管理系統的結構化圖書信息進行分析和處理,筆者下一步會對多半結構化的電子圖書數據的采集、分析和處理進行深入研究,使該框架更加完善,為高校師生提供更加全面和精準的圖書個性化服務。
[參考文獻]
[1]何波,章宏遠,裴劍輝.基于大數據的高校圖書館個性化服務研究[J].新世紀圖書館,2017(10):59-62.
[2]DEEPA K VOHR A.Apache sqoop[J].Practical Hadoop Ecosystem,2016(9):261-286.
[3]馮興杰,王文超.Hadoop與Spark應用場景研究[J].計算機應用研究,2018(9):2561-2566.
[4]趙金暉.基于Python的數據處理和模糊層次聚類[J].無線互聯科技,2018(14):141-142.
[5]王帥騰.基于《中分表》和標簽的本體構建方法研究[D].長春:東北師范大學,2018.
[6]張靜.圖書管理系統數據庫的優化設計研究[J].黑龍江科學,2018(20):23-24,27.
[7]蘭舟.分布式系統中的調度算法研究[D].成都:電子科技大學,2008.
[8]毛國君.數據挖掘原理與算法[M].北京:清華大學出版社,2005.
[9]李杰.R科學計量數據可視化[M].北京:首都經濟貿易大學出版社,2018.
[10]范明,孟小峰.數據挖掘概念與技術[M].北京:機械工業出版社,2008.
[11]雷金貴,李建良,蔣勇.數值分析與計算方法[M].北京:科學出版社,2017.
[12]范明,孟小峰.數據挖掘概念與技術[M].北京:機械工業出版社,2008.
[13]雷金貴,李建良,蔣勇.數值分析與計算方法[M].北京:科學出版社,2017.
[14]劉攀,馮長煥.基于四分位數的線性無量綱化方法與變異系數賦權法[J].平頂山學院學報,2018(2):22-26.
[15]袁文鐸.基于改進k-means案例檢索優化算法[J].計算機測量與控制,2013(7):1933-1934.