姚 震,孔 月,牛蘭金
(山東農(nóng)業(yè)大學(xué) 圖書館,山東 泰安 271018)
高校圖書館如何構(gòu)建全面而又富有特色的文獻(xiàn)資源是巨大挑戰(zhàn)。現(xiàn)行資源采購(gòu)模式是在現(xiàn)行招投標(biāo)體制下,由于合同定價(jià)較低,因而書商提供的圖書普遍低于合同折扣,意味著對(duì)于超過合同折扣的圖書,書商不可能主動(dòng)提供訂單,而這部分圖書往往是質(zhì)量較高、價(jià)值較大的圖書。另外,微觀上采購(gòu)人員面對(duì)海量條目時(shí)對(duì)影響采訪質(zhì)量的因素認(rèn)識(shí)不準(zhǔn)確,宏觀上采訪原則缺乏可操作性、采訪策略缺乏有效性、采訪實(shí)踐缺乏可行性等因素,都制約著圖書采購(gòu)的質(zhì)量和工作效率。設(shè)計(jì)完成一套方便有效的自動(dòng)化工具來輔助采購(gòu)員篩選出適合讀者使用、適應(yīng)學(xué)校專業(yè)設(shè)置和教學(xué)科研需要圖書是本文所做的一次探索。
該工具的設(shè)計(jì)首先考慮基于借閱行為記錄的挖掘,找出真正符合本館基本情況,并能揭示本館特點(diǎn)的數(shù)據(jù)和知識(shí)。國(guó)內(nèi)圖書情報(bào)領(lǐng)域?qū)?shù)據(jù)挖掘的研究和應(yīng)用現(xiàn)狀、研究熱點(diǎn)和重點(diǎn),多集中在關(guān)聯(lián)規(guī)則的數(shù)據(jù)挖掘,另外如決策樹或貝葉斯分類、序列模式挖掘、協(xié)同過濾等算法也是常用方法。后續(xù)研究發(fā)展多以此為基礎(chǔ),增加諸如語(yǔ)義或情感分析等參考模型。高校圖書館當(dāng)前主流管理系統(tǒng)沒有數(shù)據(jù)挖掘的功能,且統(tǒng)計(jì)分析以借閱次數(shù)為基礎(chǔ),加以分類號(hào)、典藏或借閱日期等數(shù)據(jù)項(xiàng)計(jì)算借閱次數(shù),缺乏靈活的數(shù)據(jù)組織方式。借閱行為雖多具有讀者的主觀性,但綜合分析數(shù)據(jù)時(shí)更容易總結(jié)出隨機(jī)性和時(shí)間規(guī)律等屬性特點(diǎn)。利用借閱行為所包含的數(shù)據(jù)信息,借鑒網(wǎng)絡(luò)行為的量化方法,根據(jù)借閱行為的特點(diǎn)和規(guī)律,設(shè)計(jì)了借閱行為的量化計(jì)算公式。計(jì)算借閱行為有效性的值,結(jié)合MARC數(shù)據(jù)中的信息,探尋有效的分析模式。最后依據(jù)B/S架構(gòu)部署該服務(wù),使Browser端實(shí)現(xiàn)上傳書單文件,Server端處理完成后將文件以FTP鏈接形式返回給Browser端,采購(gòu)員可根據(jù)經(jīng)驗(yàn)調(diào)整書單后確定采購(gòu)清單。
借助Toad軟件和PowerDesign軟件解構(gòu)從匯文LIBSYS的Oracle中導(dǎo)出的數(shù)據(jù)庫(kù)文件,得到數(shù)據(jù)庫(kù)的表結(jié)構(gòu)和各表之間的關(guān)系。解構(gòu)后的數(shù)據(jù)庫(kù)可以看到有讀者表、MARC記錄表、財(cái)產(chǎn)表等,其中借閱歷史表的部分結(jié)構(gòu),如圖1所示。

圖1 借閱歷史表結(jié)構(gòu)示例
本次實(shí)驗(yàn)預(yù)處理借閱記錄852 874條,每條數(shù)據(jù)包含的信息有讀者證件號(hào)、財(cái)產(chǎn)號(hào)、館藏地、借出時(shí)間、還書時(shí)間、續(xù)借日期、續(xù)借次數(shù)、索書號(hào)等數(shù)據(jù)項(xiàng)。借閱歷史表中包含讀者證件號(hào)、財(cái)產(chǎn)號(hào)、館藏地、借出日期、還書日期、續(xù)借日期、續(xù)借次數(shù)、索書號(hào)、借書地、還書地、MARC記錄號(hào)等數(shù)據(jù)項(xiàng)。讀者表則包括讀者證件號(hào)、總借閱量、讀者類型等數(shù)據(jù)項(xiàng)。財(cái)產(chǎn)表中則包括財(cái)產(chǎn)號(hào)、入藏日期、書刊狀態(tài)代碼、分配館藏地代碼等數(shù)據(jù)項(xiàng)。
對(duì)借閱數(shù)據(jù)的挖掘可充分發(fā)現(xiàn)館藏資源的利用情況,分析借閱趨勢(shì)和讀者偏好。數(shù)據(jù)預(yù)處理是數(shù)據(jù)挖掘的必備步驟,主要工作包括對(duì)源數(shù)據(jù)進(jìn)行再加工、檢查數(shù)據(jù)的完整性和數(shù)據(jù)的一致性(包括排除重復(fù)記錄、消除噪聲、數(shù)據(jù)類型轉(zhuǎn)換等)。首先在數(shù)據(jù)抽取時(shí)判斷數(shù)據(jù)完整性,將超長(zhǎng)時(shí)間借出未還的條目作為不完整數(shù)據(jù)剔除。然后進(jìn)行冗余處理,因借閱歷史中的數(shù)據(jù)冗余多以重復(fù)借閱的情形出現(xiàn),所以將同一讀者ID在一定時(shí)間范圍(如30d)內(nèi)對(duì)同一種圖書的多次借閱只保留最后一次。然后處理符合要求的借閱數(shù)據(jù)的被借閱圖書的索書號(hào)字段,截取對(duì)應(yīng)索書號(hào)的首字符判斷大類,再根據(jù)中圖法子類分散情況截取對(duì)應(yīng)后續(xù)字母的若干位,直到確定分類號(hào)。
在數(shù)據(jù)集成的過程中,對(duì)每條借閱歷史記錄的借出時(shí)間和歸還時(shí)間分別與該種書的最初使用時(shí)間和最后使用時(shí)間進(jìn)行比較,保留最小的借出時(shí)間和最大的歸還時(shí)間。未歸還圖書的最后還書時(shí)間設(shè)置為做數(shù)據(jù)集成時(shí)的時(shí)間。如此便可在數(shù)據(jù)集成后計(jì)算出該書的生命周期。
另外,借閱數(shù)據(jù)集成時(shí)還需針對(duì)每條借閱記錄讀取讀者ID,將該第N次借閱記錄的圖書MarcID和借閱時(shí)間寫入“讀者借閱行為表”中的“LendHistN”字段中。“借閱歷史表”遍歷完成后還將對(duì)“讀者行為表”中的借閱記錄字段內(nèi)容按時(shí)間排序。
為了定量計(jì)算出每條借閱記錄的有效性,設(shè)計(jì)了基于借閱圖書持有時(shí)長(zhǎng)的量化計(jì)算方法:根據(jù)流通工作中的經(jīng)驗(yàn),可總結(jié)出超短期借閱行為,代表著讀者判斷該書不符合閱讀習(xí)慣或知識(shí)所求,應(yīng)賦予低有效性;另一方面,超期時(shí)間越長(zhǎng),也代表讀者所借閱的圖書越?jīng)]有被充分利用(如果是高效利用圖書,讀者會(huì)在借期內(nèi)歸還并重新借閱),也應(yīng)賦予低有效性。因此,總結(jié)算法為:①有續(xù)借操作則有效性值置為1;②沒有續(xù)借操作且沒有超期,則有效性置為1;③沒有續(xù)借且超期時(shí)先求超期天數(shù)x,當(dāng)x≥60(d)時(shí)置有效性為0,否則按照1-x/60求有效性值。此處60d是本館完整借期,該參數(shù)可按照各館實(shí)際情況設(shè)置。
探索性數(shù)據(jù)分析(ExploratoryDataAnalysis,EDA)是數(shù)據(jù)科學(xué)過程的第一步,有助于了解數(shù)據(jù)集、檢查數(shù)據(jù)集特征等。本次實(shí)驗(yàn)預(yù)處理借閱記錄852 874條,其中有效借閱記錄791 325條,涉及圖書129 965種,涉及作者99 402位、出版商1 424家,平均每種書被借閱6.6次,低于平均有效借閱次數(shù)的圖書有95 269種,占出借圖書的73.3%(其中有38 014和20 923種書分別僅有1次和2次有效借閱),另外有1 503種書被借閱超過50次。圖書有效借閱次數(shù)最多503次,是三毛的著作《傾城》,其次是王小波的《黃金時(shí)代》,出借283次,第三是東野圭吾的《信》,出借273次。借閱有效值累計(jì)>200的圖書共15種,其中有11種是I大類,兩種K大類(當(dāng)年明月所著《明朝那些事兒》的前兩卷,該系列圖書屬于I或K類一般依采編經(jīng)驗(yàn)判斷),R和H各一種。
以作者(作者數(shù)據(jù)中包含部分重復(fù),如由于翻譯不同造成的“褚威格”與“茨威格”,“某某著”與“某某編”,或是“孔子”與“孔丘”造成的不同。這種情況復(fù)雜多變,多因MARC記錄編輯不規(guī)范和個(gè)人編輯習(xí)慣的差別造成,因此需另外的數(shù)據(jù)格式規(guī)范統(tǒng)一處理。本次實(shí)驗(yàn)過程中合并處理了一百多位知名作者信息)為單位計(jì)算該作者所著圖書的總有效被借次數(shù),以此為依據(jù)制作了作者文字云(見圖2),大小和頻次正比于有效借閱值的和,可見文學(xué)社科類的暢銷作者為圖書館讀者所追捧。因此,需考慮學(xué)科與分類對(duì)圖書借閱的影響,在資源建設(shè)規(guī)劃時(shí)也應(yīng)對(duì)該方面的影響深入研并究綜合衡量。

圖2 推薦作者文字云
另一方面,按照最早借出時(shí)間和最后還回時(shí)間計(jì)算出某種書的實(shí)際流通生命周期。圖書流通生命周期按天統(tǒng)計(jì),不足1d則為0,最長(zhǎng)的有8 153d,平均生命周期為489.9d,中位數(shù)為380d,標(biāo)準(zhǔn)差為451.4。在文獻(xiàn)生命周期<30d的圖書中,有1 472種是當(dāng)天借閱并歸還,且1 373種僅有這一次的借閱。將流通生命周期統(tǒng)計(jì)總結(jié)為表1。這些數(shù)據(jù)有力揭示了圖書文獻(xiàn)的利用情況。

表1 流通時(shí)長(zhǎng)與圖書種數(shù)對(duì)照
數(shù)據(jù)清洗后可得到讀者的借閱行為,表2是“讀者借閱行為表”的結(jié)構(gòu)示例。令集合I={i1,i2,…,in}是所有被借閱圖書的集合,T={t1,t2,…,tm}是所有借閱行為的集合。每個(gè)借閱行為ti包含的項(xiàng)集都是I的子集。因此截取字符串中的MarcID子串,遍歷借閱數(shù)據(jù)后可得頻繁項(xiàng)集,這些是高利用率圖書。標(biāo)記時(shí)間的子字符串可用于關(guān)聯(lián)時(shí)間規(guī)則的挖掘。

表2 讀者借閱行為表示例
另外,令支持度S(X→Y)=δ(X∪Y)/N,置信度C(X→Y)=δ(X∪Y)/δ(X),則可得圖書之間的關(guān)聯(lián)規(guī)則。將計(jì)算結(jié)果記錄到對(duì)應(yīng)MarcID的圖書表中。完成后還可以依據(jù)As=∑piSi,Ac=∑piCi,其中集合Si為和Ci某作者的圖書集合的方式更新著者對(duì)應(yīng)的支持度和置信度值,是該種圖書對(duì)應(yīng)某次借閱的有效性(根據(jù)讀者ID、MarcID和借閱時(shí)間查找對(duì)應(yīng)借閱記錄及有效性的值)。同理計(jì)算出版社的支持度和置信度的值。
利用頻繁項(xiàng)集中各分類的占比、各出版社的占比、支持度和可信度計(jì)算出版商的推薦度。表3展示了是根據(jù)實(shí)驗(yàn)結(jié)果測(cè)算的前30名出版社及其推薦度,值越高越受推薦。例如清華大學(xué)出版的TP類的圖書、中國(guó)林業(yè)出版的S7類或中信出版的I類圖書會(huì)得到較高推薦值。

表3 出版社推薦度示例
利用網(wǎng)絡(luò)爬蟲爬取豆瓣圖書中對(duì)某書的評(píng)分作為圖書推薦的補(bǔ)充方法。利用Python的爬蟲,可快速實(shí)現(xiàn)爬蟲功能。設(shè)置爬蟲URL,首先爬取豆瓣圖書的檢索頁(yè)面,檢索項(xiàng)設(shè)置為ISBN。利用Beautiful Soup(Python的第三方插件用來提取HTML中的數(shù)據(jù))解析該頁(yè)面,獲取檢索結(jié)果(精確找到了該書頁(yè)面)的鏈接并再次爬取該頁(yè)面,然后利用文本解析找到頁(yè)面中的“豆瓣評(píng)分”及后面排列的數(shù)值(此為該書評(píng)分),取評(píng)分的1/2(豆瓣評(píng)分以10為滿分)作為網(wǎng)絡(luò)推薦值。讀取書單后借助該爬蟲獲取評(píng)分,每讀一條ISBN記錄執(zhí)行一次,而數(shù)據(jù)挖掘部分則是提前計(jì)算完成的,只需調(diào)用結(jié)果。
為了保障各學(xué)科圖書采購(gòu)的均衡與覆蓋率,仍然需要采購(gòu)參數(shù)以達(dá)到一些既定目標(biāo),例如設(shè)置各大類圖書選購(gòu)種數(shù)或比例、熱門書的最大副本數(shù)、校區(qū)或館藏地?cái)?shù)量等。利用B/S架構(gòu),設(shè)計(jì)Browser頁(yè)面實(shí)現(xiàn)文件上傳,并做好格式和數(shù)據(jù)規(guī)范說明等。書單上傳到部署算法的Server端,算法讀取文件,讀取出版社、ISBN等字段。設(shè)出版社推薦度的80%加網(wǎng)站爬取分值的20%作為整體推薦值。另外,還可以依據(jù)推薦度來給出推薦副本數(shù),此處算法需配合采購(gòu)參數(shù)來確保推薦副本數(shù)符合要求。
完成推薦值計(jì)算后輸出到文件,最后頁(yè)面跳轉(zhuǎn)到該文件的FTP地址,供用戶下載。按照推薦度排序的書單經(jīng)本館具有豐富采編和流通工作經(jīng)驗(yàn)的老師審校后,認(rèn)為書單質(zhì)量可靠性極高。
該工具的實(shí)現(xiàn)對(duì)優(yōu)化資源建設(shè)有較大幫助,使新采購(gòu)的圖書更具實(shí)效。該系統(tǒng)的使用提高了圖書館采購(gòu)新書的可用性和利用率,采購(gòu)員也在數(shù)量巨大的書單中極大提高了選書效率,從往常巨大工作量中解放出來,轉(zhuǎn)而進(jìn)行專業(yè)資源建設(shè)或特色館藏建設(shè),提高了文獻(xiàn)資源保障力度,補(bǔ)強(qiáng)了特色館藏。新書典藏后利用率的提高,也證明了資源更符合本館讀者需求。另外,推薦度還可為流通工作提供參考,保留受歡迎圖書,排架時(shí)也參照受歡迎著者預(yù)留更多空間,提高了流通工作效率。