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