信息技術的發(fā)展和數據量的增加對圖書館的管理和服務都提出了更高的要求。在圖書館的研究中引入新的大數據技術,不僅可以為讀者的借閱提供參考,還可以更智能地發(fā)現更多且更有價值的管理知識。當前,由于讀者數量龐大和需求的多樣性,加上圖書價格上漲,造成購書資金的相對不足。如何提高圖書采購的水平、提高圖書的利用率、降低圖書閑置率就成為圖書管理的一項重要內容。另外,當讀者(特別是大學生)面對海量圖書時,需要圖書館工作人員給他們提供閱讀范圍和傾向性的指導。但是,據筆者所知,目前發(fā)行的圖書館管理軟件,包括圖書館匯文管理系統(tǒng)[1],ILAS(圖書館自動化集成系統(tǒng))[2]和美國Sirsi公司的Unicorn圖書館自動化管理系統(tǒng)[3]等等,都沒有讀者借閱行為分析和指導的功能。本文給出的數據挖掘算法和軟件可以部分彌補這一缺失。一般來說,大數據技術包含數據采集、數據分析、數據存取以及數據挖掘4個方面[4-9]。然而,一般的挖掘算法缺乏因果推理和對不同來源信息的整合能力,使得其信息挖掘能力受到限制。在本文中,筆者采用概率圖理論中的貝葉斯網絡算法[10-14],用后驗概率大小來表示讀者信息與所借閱圖書種類之間的依存關系,并把這個后驗概率作為分析讀者借閱行為的依據。
貝葉斯網絡也叫信念網絡,是一種有向無環(huán)圖模型(DAG)[15]。貝葉斯網絡模擬了人類在推理過程中對于因果關系的不確定性處理方法,從而有著廣泛的應用。貝葉斯網絡中的節(jié)點代表隨機變量,它們可以是可觀察的變量或隱變量等。貝葉斯網絡中,被認為有因果關系的兩個節(jié)點間以一個有向線段連接,箭頭出發(fā)的節(jié)點是“因(parents)”,箭頭終止的節(jié)點是“果(children)”,這兩節(jié)點間的關聯可用一組條件概率值p{果|因}來量化表示;而貝葉斯網絡學習就是利用數據來訓練節(jié)點之間的因果方向和條件概率值的過程,并依此來表征各個變量之間的本質關聯,常用的訓練的方法有:K2、爬山法、和SEM等[16]。貝葉斯網絡學習完成后,向網絡輸入讀者的信息或“證據”(evidence),就可以對取值未知的節(jié)點的各種取值概率作出估計。
為了分析借閱行為并預測讀者借閱各種圖書的可能性,本次研究在貝葉斯網絡中把讀者信息節(jié)點“性別,讀者類別,學科,年級”作為“因”,把準備借閱的22種“圖書類別”作為“果”(因果節(jié)點如圖1所示)。用MATLAB貝葉斯工具箱FULLBNT[17]訓練出貝葉斯模型bnet,并用matlab編寫了讀者借閱行為分析軟件Borrowbehavior。目前,使用該軟件時,讀者信息需在matlab下輸入,所以需要matlab的運行環(huán)境。
圖1 圖書借閱行為分析貝葉斯模型的5個節(jié)點及其因果關系
圖2 可供借閱的22類圖書種數所占比例
圖3 可供借閱的22類圖書種數一覽表
本文中,數據來源于河北科技大學圖書館2011-2015年56687名讀者的個人信息文件和包含943962條借閱記錄的借閱信息文件。其中,讀者個人信息文件包含6列信息:讀者借書證的ID、性別、所屬系級、所屬學院、辦證時間、讀者類別;借閱信息文件包含4列信息:此次借書操作的讀者借書證ID、借閱日期、還書日期、所借書籍的書號。依據書號的第一個字母,該圖書館的藏書按《中圖法》可分為22大類,這22類圖書的比例和數量見圖2和圖3。本研究主要關注5類讀者:(1)正式職工2949人;(2)碩士研究生2883人;(3)學校本部的本科生(包括一本、二本大學生)25094人;(4)專接本學生2287人;(5)獨立的理工學院的學生(三本大學生)23056人。另外,通過大學生的辦證時間可以推知他們具體的“年級”。在進行貝葉斯模型的訓練之前,需要先對其5個節(jié)點(見圖1)的取值進行離散數字化:對于性別節(jié)點,筆者用1表示男性,2表示女性;對于讀者類別,筆者用1表示正式職工,2表示碩士研究生,3表示本科生,4表示專接本學生,5表示理工學院學生,6代表其他讀者;對于學科節(jié)點,筆者用1-15來分別表示:“信息”“影視”“化工”“外語”“建工”“文法”“機械”“材料”“環(huán)工”“理學院”“生工”“電氣”“經管”“紡織”和“藝術”學院,用16表示其他學科;對于年級節(jié)點,筆者分別用1,2,3,4表示1-4年級,用5表示不屬于這4個年級的其他讀者;對于圖書類別節(jié)點,筆者用1-22分別代表下列學科:“A馬列”“B哲宗”“C社總”“D政法”“E軍事”“F經濟”“G文教”“H語言”“I文學”“J藝術”“K史地”“N自總”“O數理化”“P天地”“Q生物”“R醫(yī)衛(wèi)”“S農科”“T工技”“U交通”“V航空”“X環(huán)科”“Z綜合”。
圖書館大數據分析的原始數據包括讀者信息文件和借閱信息文件,需要先把他們整合到INTEG文件中,從中提取出一個5行876625列的訓練數據矩陣data。矩陣data的5行分別對應著5個節(jié)點(見圖1),而每一列則對應著一次借閱記錄。最后,基于有向圖的結構(圖1)和數據矩陣data,可以按著圖4的流程訓練出貝葉斯模型bnet。
示例代碼:
圖4 數據整合與貝葉斯模型bnet訓練流程
軟件Borrowbehavior的使用方法見圖5,包括用matlab的load命令導入訓練好的貝葉斯模型bnet,選擇貝葉斯的四種推理引擎,輸入讀者的信息,最后在matlab環(huán)境下運行Borrowbehavior。
示例代碼:
圖5 借閱行為分析軟件Borrowbehavior使用流程
借閱行為分析貝葉斯模型bnet的5個節(jié)點所包含的參數(即條件概率表CPT)個數分別為:性別節(jié)點S有2個參數;讀者類別節(jié)點R有6個參數;學科節(jié)點C有16*2*6=192個參數;年級節(jié)點G有5個參數;借閱的圖書類別節(jié)點B有22*2*6*5*16=21120個參數。有些節(jié)點包含著簡單的統(tǒng)計結果,比如性別節(jié)點處的CPT只包含男性讀者和女性讀者的借閱比例[0.4611,0.5389];而讀者類別節(jié)點處的CPT依次為6類讀者的借閱概率[0.05659, 0.049158, 0.62459, 0.034399,0.220434,0.0148216]。很明顯,借書的主體是本部的一本二本的本科生和理工學院的三本學生,兩者占84%還多;正式職工與碩士研究生借閱量基本持平,占5%左右;本文所關注的5類讀者借閱量覆蓋了全部讀者借閱量的98.5%,所以這些數據是有代表性的。下面重點分析學科、年級和圖書類別節(jié)點處的條件概率所包含的知識。
貝葉斯網絡bnet的學科節(jié)點處的CPT包含了2*6*16=192個條件概率p{學科|性別,讀者類別},由于篇幅限制,具體數值見附件數據bnetanddata.mat中的bnet.CPD{1,3}.CPT。值得注意的是,這里的條件概率是從借閱記錄中得到的、主要由讀者的借閱意愿決定的,與從學院里直接拿花名冊統(tǒng)計是不一樣的?;麅灾幸粋€學生能且只能出現一次,但是在圖書借閱記錄中一個學生可以不出現,也可以出現多次;人數少的讀者類別(或性別,學科)所貢獻的借閱次數也可以比人數多的讀者類別(或性別,學科)還多。因此,這樣統(tǒng)計出來的條件概率p{學科|性別,讀者類別}包含了讀者的借閱意愿信息,對于解讀他們的借閱行為很重要。筆者發(fā)現,在“本科生”讀者中,借書的男性來自于信息,材料,電氣3個學科的概率要大于其他12個學科的;“本科生”讀者中,借書的女性來自于化工和經管學科的概率較大。這種學科和性別的借閱意愿不均衡性,除了源于不同學科學生人數的差異外,應該還與圖書館購買的圖書是否符合學生的借閱意愿有關。圖書館需要調整和改進相關學科的圖書購買種類,同時加強對讀者的引導。筆者還發(fā)現,在“專接本”讀者中,不同學科的同學借書概率的差異比“本科生”更大,而且“專接本”同學中借書概率最大的來自于信息學科,男女讀者都是這樣,其次是化工學科的男女讀者。圖書館工作人員要針對“專接本”同學借閱意向偏弱的學科,適時調整購書和引導策略來提高這些同學的閱讀興趣。
必須指出的是,本軟件訓練數據的一個弱點是沒有給出正式職工和碩士研究生所從事的學科,所以,這兩類讀者在訓練集data中都屬于“其他學科”,導致訓練后模型bnet中學科節(jié)點處的四個條件概率非常大:p{其他學科|男性,正式職工}=0.9922,p{其他學科|男性,碩士研究生}=1,p{其他學科|女性,正式職工}=1,p{其他學科|女性,碩士研究生}=1,而這兩類讀者針對具體學科的條件概率幾乎都為0。研究人員用軟件Borrowingbehavior為所在大學建立貝葉斯借閱行為分析模型(或者在以后的模型改進)時,如果能添加上這兩類讀者的學科信息,必然會使模型更加精準。
圖6 男女讀者借閱圖書種類差異
貝葉斯模型bnet的年級節(jié)點的概率分布為[0.0139,0.0691,0.0816,0.1953,0.6399],這表明不同年級的大學生借閱量差異很大。顯然,從大學一年級到四年級借閱概率在逐年上升,特別是在大學二年級和四年級,借閱概率都比其前一年級發(fā)生了2倍以上的變化。所以,大二和大四同學應該是閱讀行為的重點指導對象,圖書館工作人員除了到各個學院講授閱讀指導課之外,還可以采用網上問卷和現場問卷的形式,積極全面了解大二和大四的讀者的借閱意向,從購書、排架和指導上給予他們更大的幫助。
貝葉斯模型bnet在借閱圖書類別節(jié)點處有22*2*6*5*16=21120個條件概率,表示了其他4個節(jié)點對于本節(jié)點的聯合影響。由于數據量過大,本文無法逐一分析這些條件概率。但是,可以通過分析其他4個節(jié)點對于第5節(jié)點的單獨影響,來抽取一些粗粒化的知識。結果發(fā)現,不同性別,不同學科,不同讀者類別,不同年級的讀者對于22類書籍的借閱偏好的確有顯著影響(見圖6至圖9)。這也側面說明,在Borrowbehavior中把這些特征作為節(jié)點是合理的和必要的。
性別對于借閱圖書的種類有顯著的影響(見圖6)。其中,女性讀者偏愛H語言、文字類和I文學類書籍;而男性讀者偏愛O數理化和T工業(yè)技術類書籍。男性讀者人均借閱圖書次數為12.9次,女性讀者人均借書18.58次。這種差異主要是由于女性對于語言文字和文學圖書的偏愛。
圖7 15個學院的學生對于22類圖書的人均借閱次數
圖8 5類讀者對于22類圖書的人均借閱次數
圖9 各年級學生對于22類圖書的人均借閱次數
不同學院的學生對于22類圖書的借閱次數存在極為顯著的差異,圖7展示了15個學院的學生對于22類圖書的平均借閱次數。這就為讀者的借閱咨詢提供了很好的提示。筆者發(fā)現,最喜歡借閱工業(yè)技術書籍的是信息學院的同學;化工和電氣學院對于數理化書籍的借閱熱情超過理學院;藝術和經管學院也有很多同學涉獵了工業(yè)技術;藝術和影視學院對于語言類圖書的借閱頻率比其他學院要少些。另外,筆者也研究了15個學院對于22類圖書借閱行為的相似性,每個學院以22維向量來表示。圖10給出了按這15個22維向量之間的pearson相關性作出的關系樹圖。從中可以看出,外語和文法學院分別自成體系;影視和藝術學院的讀者借閱偏好極其相似,且與其他學院迥然不同;建工、環(huán)工、材料、紡織4個學院的讀者的閱讀偏好之間很相似。還有一點值得注意的是,學校通常是把理學院、電氣、經管、信息看成一個學科群,但圖10顯示,機械學院與電氣、信息處在同一個簇類,而信息和電氣遠離了理學院和經管的簇類。這說明以往的學科群劃分與本文中筆者統(tǒng)計的閱讀行為的聚類并不完全一致,當前的結果對于學科群的重新定義可能有參考價值。
5類讀者對于22大類圖書有明顯不同的借閱偏好(見圖8)。本科生和碩士生對數理化類別的圖書很感興趣;碩士生借閱文學書的興趣比本科生低,但是借閱工業(yè)技術類圖書的興趣提高了;理工學院的同學對于文學和工業(yè)技術類書籍最感興趣;正式職工對于文學,工業(yè)技術類圖書比較感興趣,但對于語言類圖書的興趣不如其他讀者。
大學生處于不同年級時,對于圖書的借閱偏好有明顯差異(見圖9)。大學生對于數理化、語言、工業(yè)科技類書籍的興趣隨著年級由低到高而持續(xù)增長,大四時文學書閱讀最多,哲學、宗教、經濟類圖書也是在大學四年級才成為閱讀的熱點。究其原因,可能是因為前三年專業(yè)課負擔較重,主要時間用于專業(yè)課知識的學習,而大四的學生在有了一定的基礎知識之后,渴望涉獵更廣泛的社會和經濟學領域的圖書。另外,2010級學生的四年人均圖書借閱次數普遍超過了2011級同學的人均借閱次數。
圖10 根據各個學院讀者的借閱偏好繪制的學院關聯樹
為了考察圖書館中每類書籍的借閱利用效率,本研究統(tǒng)計了全體讀者對于這22類圖書平均每本的借閱次數。如圖11所示,哲學宗教、語言文字和文學被借閱的次數較高,反映了該大學讀者對于人生哲學和外語學習都有濃厚的興趣;同時也可以看出,同學們也想通過閱讀文學書籍來陶冶情操,了解社會發(fā)展和人生,這就使得這些文科書籍的閱讀量較高。而自然科學總論藏書(2111種)和農業(yè)科學藏書(416種)的平均每本借閱量最低,恰巧它們的保有量也是比較低的。這些說明該圖書館整體的圖書購買和使用是較科學的。作為河北科技大學重點學科的生物科學和工業(yè)科技,其書籍的利用率處于中等,不及數理化學科;環(huán)境科學書籍利用率不及生物、數理化和工業(yè)技術。值得關注的是,數理化類的書籍有80794種,幾乎占了全部書籍種數的四分之一,且保持著平均每本借閱5.5次的高利用率,說明這些書籍很符合河北科技大學讀者的需求特點。
眾所周知,增加有效的特征和數據可以提高機器學習模型的預測能力。貝葉斯算法的一個優(yōu)點是易于增加特征節(jié)點的取值個數或增加節(jié)點。比如,學科節(jié)點增加了一個取值“醫(yī)學院”,軟件更新時,只需要增加學科節(jié)點和圖書類別節(jié)點中相應的條件概率分布即可,其他參數都不用改變,節(jié)省了訓練時間。另外,若將來需要增加節(jié)點“英語四級成績”(取4個離散值“優(yōu)秀,良好,及格,不及格”),且認為“英語四級成績”是“圖書類別”的父節(jié)點,“學科”和“年級”的子節(jié)點,那么可把這個節(jié)點加入到原有網絡中,且僅僅改變與這個新節(jié)點關聯的節(jié)點上的條件概率即可。這也是本研究偏向于運用貝葉斯模型的原因之一。
圖11 22類圖書平均每冊的借閱次數
整合圖書館已有的讀者信息和借閱記錄作為訓練數據,用MATLAB貝葉斯工具箱FULLBNT[18]可訓練出描述讀者借閱行為的貝葉斯模型。該模型可以根據讀者信息來預測讀者借閱各類圖書的概率,為大學生讀者提供借閱的指導。另外,這個貝葉斯模型中包含的從圖書館大數據中挖掘出來的知識,對于圖書館的建設和管理有幫助。
參考文獻
[1] 鄂麗君.匯文系統(tǒng)使我館期刊實現了規(guī)范化管理[J].河北科技圖苑,2008(22):64-66.
[2] 深圳圖書館ILAS系統(tǒng)研制組.圖書館自動化集成系統(tǒng)(ILAS)及其應用[J].圖書情報知識,1992(4):10-14.
[3] 葛廷霞.Unicorn圖書館集成管理系統(tǒng)在人大圖書館的應用[J].現代圖書情報技術,2003(s2):46-48.
[4]J.W.Han,M.Kamber.數據挖掘:概念與技術[M].范明,孟小峰,譯.第2版.北京:機械工業(yè)出版社,2007.
[5]D.Hand,H.Mannila,P.Smyth.數據挖掘原理[M].張銀奎,廖麗,宋俊,譯.北京:機械工業(yè)出版社,2003.
[6] U.M.Fayyad,G.piatetsky-Shapiro,P.Smyth,et al.Advances in Knowledge Discovery and Data Mining[M].Menlo Pak,Calif.:The MIT Press,1996.
[7][16]朱廷劭,高文.KDD:數據庫中的知識發(fā)現[J].計算機科學,1997(6):5-9.
[8] 王清毅,陳恩紅,蔡慶生.知識發(fā)現的若干問題及應用研究[J].計算機科學,1997,24(5):73-77.
[9] 姚卿達,黃曉春,劉向民.數據倉庫和數據采掘應用研究[J].計算機科學,1996,23(6) :63-65.
[10]張連文,郭海鵬.貝葉斯網引論[M].北京:科學出版社,2006.
[11][15]劉偉娜,霍利民,張立國.貝葉斯網絡精確推理算法的研究[J].微計算機信息,2006,22(9):92-94.
[12]厲海濤,金光,周經倫,等.貝葉斯網絡推理算法綜述.系統(tǒng)工程與電子技術[J].2008,30(5):935-939.
[13][17][18]K P Murphy.Dynamic bayesian networks:Representation,inference and learning[D].Berkeley,University of California,2002.
[14]D.Koller,N.Friedman.概率圖模型:原理與技術[M].王飛躍,韓素青,譯.北京:清華大學出版社,2015.