黃燕
(西南政法大學(xué)圖書館,重慶 401120)
高校圖書館是師生讀者獲取知識的主要場所,一方面大量新書的采購為高校圖書館增加了藏書量,另一方面圖書的利用率卻不高。造成高校圖書館圖書利用率不高的原因是多方面的,但圖書館書目推薦系統(tǒng)的不完善是其中重要的原因之一。本文基于關(guān)聯(lián)規(guī)則挖掘,在滿足最小支持度和最小置信度的基礎(chǔ)上對圖書管理系統(tǒng) (這里指亞德公司的Lib 2.0)的流通日志進行關(guān)聯(lián)規(guī)則挖掘,找出讀者借閱書目之間的強關(guān)聯(lián)規(guī)則,根據(jù)這些強關(guān)聯(lián)規(guī)則,設(shè)計了一種新的書目推薦系統(tǒng)的體系架構(gòu),并運用實例分析了該系統(tǒng)的推薦流程。
推薦系統(tǒng)是一種為了減少使用者在搜尋信息過程中所附加的額外成本而提出的信息過濾機制。Resnick認為一般信息過濾系統(tǒng)也泛稱為推薦系統(tǒng),可以依據(jù)使用者的偏好、興趣、行為或需求,推薦出使用者可能有所需求的潛在信息、服務(wù)或產(chǎn)品。書目推薦系統(tǒng)是一種根據(jù)讀者愛好、興趣、行為、需求,向讀者推薦書目的一種服務(wù)系統(tǒng)。
目前書目推薦方式主要有以下幾種:(1)熱門圖書推薦。這種方式主要是向讀者推薦圖書館里借閱量大的圖書,表明很多讀者喜歡這些圖書。雖然這種推薦方式簡單、可信度高,但個性化程度低,僅能滿足少數(shù)人的要求;(2)新書推薦。此種方式是向讀者推薦圖書館剛?cè)氩氐男聲c熱門圖書推薦相似;(3)相似讀者推薦。這是一種相互推薦的方式,系統(tǒng)將讀者的借閱軌跡記錄下來,當(dāng)另一位讀者借閱到軌跡中的某一種文獻,系統(tǒng)就會向該讀者推薦軌跡中的其他文獻,是一種主動性的個性化信息推薦;(4)相似書目推薦。此種方式以某一種文獻為基準(zhǔn),當(dāng)讀者借閱了該種文獻,系統(tǒng)就能自動地搜索出與該文獻題目、內(nèi)容相似的文獻推薦給讀者;(5)讀者興趣相關(guān)的書籍推薦。此種方法是基于讀者興趣愛好的推薦方法,將適合讀者興趣的書推薦給讀者。掌握讀者的興趣是關(guān)鍵,也是決定推薦系統(tǒng)個性化服務(wù)的質(zhì)量。目前,獲取讀者興趣的主要方法有:利用聚類算法對讀者進行聚類,然后對每一類讀者的借閱記錄進行分析,得到每一類讀者的借閱文獻的關(guān)聯(lián)規(guī)則,然后有目的地向讀者推薦滿意的圖書。這種推薦是個性化、主動的基于用戶興趣度的推薦,也是本文所提倡的書目推薦方式。
清華大學(xué)圖書館通過多種途徑向讀者提供書目推薦服務(wù),如通過編寫《圖書館與讀者》發(fā)布有關(guān)推薦書目信息,但并不具有廣泛性。雖然OPAC系統(tǒng)提供圖書評論功能,允許讀者對每本書進行打分,根據(jù)讀者的評分分5個等級,但尚未就評分結(jié)果進行研究分析,也就無法開展更多樣的服務(wù)。中山大學(xué)圖書館的書目推薦系統(tǒng)“我的圖書館”根據(jù)讀者自己選擇的感興趣的分類,推薦該分類的書目。這種推薦的書目針對性和個性化都不強,對讀者利用圖書的價值不大,未能很好地根據(jù)讀者的個體差異推薦。西南政法大學(xué)圖書館的“我的書齋”也有推薦功能,但只側(cè)重于新書推薦。目前,國內(nèi)還沒有一所高校圖書館利用關(guān)聯(lián)規(guī)則對讀者的借閱數(shù)據(jù)進行分析,對興趣度相同的讀者進行聚類,然后對每一類讀者的借閱記錄進行關(guān)聯(lián)規(guī)則挖掘,并將規(guī)則存入規(guī)則庫,當(dāng)讀者進行借閱時,針對讀者興趣度進行書目推薦。
如圖1所示,圖書館書目推薦系統(tǒng)包括三層結(jié)構(gòu):(1)數(shù)據(jù)倉庫。數(shù)據(jù)倉庫處于書目推薦系統(tǒng)的最底層,我們把流通數(shù)據(jù)、讀者信息、館藏數(shù)據(jù)信息等數(shù)據(jù)從圖書集成管理系統(tǒng)中提取出來,去除無關(guān)信息,并經(jīng)過必要的處理存放到數(shù)據(jù)倉庫,形成事物數(shù)據(jù)庫,為以后的數(shù)據(jù)挖掘做好準(zhǔn)備;(2)數(shù)據(jù)挖掘引擎。數(shù)據(jù)挖掘引擎是一組程序代碼,其主要任務(wù)是對數(shù)據(jù)倉庫進行關(guān)聯(lián)規(guī)則挖掘,得出讀者借閱各類圖書的潛在關(guān)聯(lián)規(guī)則知識,從而向用戶層輸出得到的結(jié)果,向用戶推薦合適的圖書。它是整個推薦系統(tǒng)的技術(shù)核心;(3)用戶層。它是用戶和書目推薦系統(tǒng)的用戶界面。讀者通過它輸入相應(yīng)的信息,如借閱證號、專業(yè)、年級,而推薦系統(tǒng)將向讀者推薦出相應(yīng)的圖書,推薦出的結(jié)果也由用戶層來顯示。所以,這一層主要是讀者提交信息和查看結(jié)果的一層。
圖1 書目推薦系統(tǒng)結(jié)構(gòu)圖
通過圖1,我們大致了解了書目推薦系統(tǒng)的基本架構(gòu),下面分析書目推薦系統(tǒng)工作流程。書目推薦系統(tǒng)的工作流程是根據(jù)讀者要求從數(shù)據(jù)庫中抽取數(shù)據(jù)源然后進行數(shù)據(jù)清洗,并進行相應(yīng)的分類匯總 (這里根據(jù)讀者的年紀(jì)和專業(yè)進行匯總),并把處理好的數(shù)據(jù)存入數(shù)據(jù)庫 (即建立數(shù)據(jù)倉庫),再進行關(guān)聯(lián)規(guī)則挖掘并提交結(jié)果,最后將結(jié)果提交給WEB服務(wù)器,顯示給用戶。工作流程圖如圖2所示。書目推薦系統(tǒng)主要由三大模塊來實現(xiàn)其功能,每一個模塊都有自己的功能,其中最主要的是關(guān)聯(lián)規(guī)則挖掘這個模塊,它是整個書目推薦系統(tǒng)的核心。
圖2 書目推薦系統(tǒng)工作流程圖
讀者到圖書館借閱圖書,都會在圖書館自動化系統(tǒng)中留下借閱記錄,包括讀者號、借閱時間、館藏地、書名等流通日志。本文實驗數(shù)據(jù)均來自西南政法大學(xué)圖書館的圖書管理系統(tǒng)lib 2.0,從該系統(tǒng)中抽取10名法律碩士2009年9月1日~2010年1月10日的流通日志進行實例分析。通過對流通日志的分析,主要目的是為了了解讀者與圖書、圖書與圖書之間的關(guān)系。提取出的流通日志中包括8個字段,這里只提取其中兩個字段即讀者號與索書號。對于索書號只取四位號碼,即把索書號前五位相同的數(shù)看成一類,同類書目借閱多次,只算作一次。為方便敘述,筆者對數(shù)據(jù)再作了一定的處理,分別用A、B、C、D、E、F、G 分別表示 D(9)997、D(9)20.5、 D(9)90、D(9)22.281、 D(9)22.29、D(9)22.282、D(9)22.5,從而建立讀者借閱信息表,如表1所示:
表1 讀者借閱記錄
本文運用的是Apriori算法,Apriori算法是由Rakesh Agr,awal和Ramakrishnan Srikant于 1994年提出,其后又?jǐn)U展到對數(shù)值型關(guān)聯(lián)規(guī)則及分類關(guān)聯(lián)規(guī)則的挖掘。它是最有影響的一種挖掘布爾關(guān)聯(lián)規(guī)則頻繁項集的算法,其核心原理是非頻繁項目集的超集一定是非頻繁項目集,頻繁項目集的子集一定是頻繁項目集。Apriori算法是基于這一原理對候選集進行剪枝的,它是關(guān)聯(lián)規(guī)則挖掘的經(jīng)典算法。首先設(shè)定最小支持度為30%,那么最小支持度計數(shù)應(yīng)該為10*30%=3。下面敘述此算法挖掘的實例過程:(1)掃描事物數(shù)據(jù)庫。將支持度計數(shù)小于3的1-候選項集剔除,生成1-頻繁項集L1,如表2所示;(2)將1-頻繁項集兩兩相連接,生成2-候選項集,并掃描事物數(shù)據(jù)庫,對其進行支持度計數(shù),得到2-候選項集C2,將支持度計數(shù)小于3的項集進行剪枝,得到2-頻繁項集L2,如表3、表4所示;(3)將2-頻繁項集兩兩相連接,生成3-候選項集,并掃描事物數(shù)據(jù)庫,對其進行支持度計數(shù),得到3-候選項集C3,將支持度計數(shù)小于3的項集進行剪枝,得到3-頻繁項集L3,如表5、表6所示。
表2 1-頻繁項集L1
表3 2-候選項集C2
表4 2-頻繁項集L2
表5 3-候選項集C3
表6 3-頻繁項集L3
利用Apriori算法進行挖掘,得到了兩個最大頻繁項集,利用置信度對這兩個頻繁項集所能產(chǎn)生的關(guān)聯(lián)規(guī)則進行判定是否是強關(guān)聯(lián)規(guī)則,利用提升度判定關(guān)聯(lián)規(guī)則是否是正向關(guān)聯(lián)。關(guān)于置信度和提升度的定義如下:如果有關(guān)聯(lián)規(guī)則如下:,規(guī)則中,且。則規(guī)則R的置信度(conf)和提升度(lift)可定義為:
在上面公式中表示在事務(wù)數(shù)據(jù)庫中出現(xiàn)X的事物的個數(shù),n為事務(wù)數(shù)據(jù)庫中所有事務(wù)的個數(shù)。由頻繁項目集的性質(zhì)可知道最大頻繁項目集已經(jīng)隱含了所有的頻繁項目集,所以可以將發(fā)現(xiàn)頻繁項目集的問題轉(zhuǎn)化為發(fā)現(xiàn)最大頻繁項目集的問題。定義:如果頻繁項目集L的所有超集都是非頻繁項目集,那么稱L為最大頻繁項目集(或模式),所有L的集合稱為最大頻繁項目集集合,記為MFS(MaximalFrequent Sets)。經(jīng)過上面的挖掘產(chǎn)生的最大頻繁項集有{B,C,D}和{B,E},{C,E},將這些最大頻繁項集生成關(guān)聯(lián)規(guī)則,求出置信度和提升度如表7所示。
表7 關(guān)聯(lián)規(guī)則各項指標(biāo)
提升度是評判關(guān)聯(lián)規(guī)則好壞的一個重要標(biāo)準(zhǔn),它的取值范圍為{0,+∞}。當(dāng)提升度大于1時,說明得到了正相關(guān)規(guī)則,也就是說在同一個事務(wù)中出現(xiàn)了相集X,那么出現(xiàn)相集Y的可能性就很大,是很好的關(guān)聯(lián)規(guī)則;當(dāng)提升度等于1時,說明相集X與相集Y相對獨立,屬于同概率事件,關(guān)聯(lián)規(guī)則沒有什么意義,稱為不相關(guān)規(guī)則。設(shè)定最小置信度為50%,符合標(biāo)準(zhǔn)的關(guān)聯(lián)規(guī)則有:B?C,B∧D?C,C∧D?B。據(jù)此可以做以下結(jié)論:如果讀者借閱的書目包含了B文獻,我們可以向讀者推薦書目C;如果讀者借閱的書目包含B和D文獻,我們可以向讀者推薦書目C;如果讀者借閱的書目包含了C和D文獻,我們可以向讀者推薦書目B。
由于B?C包含了B∧D?C,所以只將B?C和C∧D?B存入到規(guī)則庫里面。當(dāng)讀者登錄系統(tǒng)借閱文獻,就將文獻的書目與關(guān)聯(lián)規(guī)則進行匹配,進行相應(yīng)的書目推薦。
通過上面的實踐,在進行關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘的過程中,應(yīng)該注意以下三個問題:(1)首先應(yīng)該注意必須結(jié)合使用三項技術(shù)標(biāo)準(zhǔn) (即支持度 、置信度、提升度),缺少任何一項都有可能造成挖掘出的關(guān)聯(lián)規(guī)則錯誤或者無意義。從上面的實踐過程可以看出,雖然B?D的支持度和置信度都滿足要求,但是它的提升度卻不是很理想,說明該班借閱B或者D圖書的都不少,但同時借閱了B和D學(xué)生太少,所以這樣的關(guān)聯(lián)規(guī)則不是很理想;(2)關(guān)聯(lián)規(guī)則知識具有單向性,它表示的是“某類項目或特征與另一類項目或特征間所存在的單向影響關(guān)系”。關(guān)聯(lián)規(guī)則知識X?Y是強關(guān)聯(lián)規(guī)則并不代表Y?X也是強關(guān)聯(lián)規(guī)則,這種知識具有單向性。如果說某班借閱了D(9)1就有借閱D(9)2的趨勢,那并不一定存在借閱D(9)2就借閱了D(9)1的趨勢;(3)人的主觀原因?qū)﹃P(guān)聯(lián)規(guī)則挖掘有較大影響。讀者群的選擇對于確定挖掘目標(biāo)具有非常重要意義。選擇范圍過大的讀者群只會使研究者迷失在龐大復(fù)雜的數(shù)據(jù)海洋中,加大研究者發(fā)現(xiàn)有用信息的難度。在合理的時間周期提取適當(dāng)規(guī)模的數(shù)據(jù),能夠保證數(shù)據(jù)挖掘工作的順利開展。過大的數(shù)據(jù)量會明顯增加挖掘的復(fù)雜度和難度,降低數(shù)據(jù)挖掘的效率;過小的數(shù)據(jù)量則難以說明挖掘出來的結(jié)果具有普遍實用性,容易使結(jié)果產(chǎn)生偏差,給用戶帶來錯誤的指導(dǎo)。在實際操作過程中,我們可以根據(jù)預(yù)定的目標(biāo)和規(guī)則產(chǎn)生的實際數(shù)量,來適當(dāng)?shù)卣{(diào)整最小支持度、最小置信度和提升度標(biāo)準(zhǔn),這樣可以避免過少或過多關(guān)聯(lián)規(guī)則的出現(xiàn)。在實際工作中,圖書館主要通過讀者訪談、讀者問卷調(diào)查等方式獲取讀者對圖書的需求。這些方式主要存在兩方面的局限:一是人的學(xué)識、觀察力、認知力和溝通能力等綜合素質(zhì),導(dǎo)致不同的館員對讀者信息需求的理解停留在不同的廣度和深度上;二是這些方式所獲取的信息僅僅來源于館員的感知,沒有量化的標(biāo)準(zhǔn)。因此,這些方式欠缺全面性和準(zhǔn)確性。流通數(shù)據(jù)進行關(guān)聯(lián)規(guī)則挖掘,不但能夠發(fā)現(xiàn)龐雜的流通數(shù)據(jù)中所存在的隱含關(guān)聯(lián)規(guī)則,而且也為這種隱含的指示提供了科學(xué)的技術(shù)手段,從而使圖書館對讀者的信息需求分析由定性上升到定量的水平。毫無疑問,這會對圖書館的信息服務(wù)工作和決策管理工作起到很好的指導(dǎo)作用。
本文在基于關(guān)聯(lián)規(guī)則挖掘的基礎(chǔ)上研究設(shè)計了書目推薦系統(tǒng),用實例證明了此系統(tǒng)在圖書館行業(yè)有著良好的發(fā)展前景。這種推薦系統(tǒng)具有很高的可靠性。
[1] RESNICK P,VARIAN H.R.Recommender Systems[J],Communications of ACM,1997(3):56-58.
[2] INMON W H.數(shù)據(jù)倉庫[M].王志海,林友芳,譯.北京:機械工業(yè)出版社,2000.
[3] HAN J,KAMBE M.數(shù)據(jù)挖掘概念與技術(shù)[M].范明,孟小峰,譯.北京:機械工業(yè)出版社,2001.
[4] 毛國君,段立娟,王實,等.數(shù)據(jù)挖掘原理與算法[M].北京:清華大學(xué)出版社,2005:1-21,64-68,72.
[5] 魏育輝,潘潔.圖書流通數(shù)據(jù)的關(guān)聯(lián)挖掘量化分析方法[J].現(xiàn)代情報.2005:11,109-110.