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