布艷艷
(西安科技大學(xué)高新學(xué)院 圖書館,陜西 西安 710109)
圖書館個性化服務(wù)是將用戶作為其中心,滿足不同用戶需求特征與個性特征的一種服務(wù)模式[1]。隨著圖書館內(nèi)海量信息資源的日益龐大,降低用戶搜尋所需圖書信息耗費的時間與精力,更加簡便快捷地從海量圖書信息中獲取所需圖書信息,成為當(dāng)前圖書館個性化服務(wù)中所面臨的關(guān)鍵問題之一[2-3]。
當(dāng)前圖書館個性化服務(wù)模型很多,其中SOM神經(jīng)網(wǎng)絡(luò)的圖書館個性化服務(wù)模型是通過SOM神經(jīng)網(wǎng)絡(luò)聚類算法聚類與分析圖書館用戶的訪問行為,并篩選整合用戶行為數(shù)據(jù)、特征信息等有關(guān)數(shù)據(jù),構(gòu)成數(shù)據(jù)集,再通過語義檢索等方式向用戶提供個性化服務(wù),但此系統(tǒng)受事務(wù)數(shù)的影響推薦率波動較大[4];個人小數(shù)據(jù)的圖書館聯(lián)盟用戶個性化服務(wù)是通過將圖書館聯(lián)盟目標(biāo)和數(shù)據(jù)現(xiàn)實狀況相結(jié)合,創(chuàng)建小數(shù)據(jù)的圖書館聯(lián)盟數(shù)據(jù)框架及用戶個性化服務(wù)系統(tǒng)模型,實現(xiàn)對聯(lián)盟用戶的個性化服務(wù),但此方法更多針對的是聯(lián)盟用戶,無法有效地為其它大眾用戶提供個性化服務(wù)[5]。
Web技術(shù)屬于1種包含數(shù)據(jù)挖掘、Web、信息學(xué)以及計算機語言學(xué)等數(shù)個領(lǐng)域的綜合技術(shù),可選取出有關(guān)資源內(nèi)有價值的以及用戶感興趣的信息[8]。為此,提出了Web技術(shù)的圖書館個性化服務(wù)模型,合理運用Web技術(shù)實現(xiàn)圖書館為不同用戶提供個性化服務(wù)的目的,提升用戶獲取圖書信息的效率與便捷性,增強用戶對圖書館的滿意程度。
在圖書館領(lǐng)域內(nèi)運用Web技術(shù),能夠提供給用戶更深層次的個性化服務(wù),用戶的興趣、訪問模式與資源間的關(guān)聯(lián)等信息可通過Web數(shù)據(jù)挖掘由圖書館歷史數(shù)據(jù)內(nèi)發(fā)現(xiàn)[6]。在數(shù)據(jù)倉庫、聯(lián)機分析及數(shù)據(jù)挖掘的基礎(chǔ)上創(chuàng)建的基于Web技術(shù)的圖書館個性化服務(wù)模型,屬于圖書館對用戶需求綜合了解的分析工具,在用戶數(shù)據(jù)庫、網(wǎng)站的Web Log數(shù)據(jù)庫或數(shù)據(jù)倉庫上運行。基于Web技術(shù)的圖書館個性化服務(wù)模型如圖1所示。
圖1 基于Web技術(shù)的圖書館個性化服務(wù)模型
模型內(nèi)主要模塊描述。
(1)數(shù)據(jù)源收集模塊:對用戶注冊與訪問圖書館網(wǎng)站等信息數(shù)據(jù)源實施收集,并儲存于Web日志文件與Web數(shù)據(jù)庫內(nèi);
(2)數(shù)據(jù)預(yù)處理模塊:以挖掘目標(biāo)為依據(jù)讀取Web日志文件或Web數(shù)據(jù)庫內(nèi)的有關(guān)數(shù)據(jù),刪除掉無關(guān)數(shù)據(jù)并將所需的優(yōu)質(zhì)數(shù)據(jù)保留,提供給接下來的數(shù)據(jù)挖掘過程中;
(3)數(shù)據(jù)挖掘模塊:以挖掘需求為依據(jù),選取適當(dāng)?shù)耐诰蛩惴?,同時運用所選取算法實施挖掘,屬于一個挖掘驅(qū)動部件;
(4)Web數(shù)據(jù)挖掘算法庫:將不同挖掘算法通過插件的方式組織起來,便于插入不同挖掘算法,提升算法的易選取性與可擴展性,并且能夠?qū)⑵渌碌耐诰蛩惴ǔ掷m(xù)融入其中,提升挖掘效率;
(5)挖掘結(jié)果輸出:通過直觀的報表等形式輸出挖掘結(jié)果,運用所挖掘的有價值信息實施對應(yīng)的個性化服務(wù)工作。
通過幫助挖掘算法搜集合適的數(shù)據(jù)是Web挖掘過程中的一個關(guān)鍵過程[7]。圖書館領(lǐng)域內(nèi)實施Web數(shù)據(jù)挖掘的數(shù)據(jù)來源主要有服務(wù)器端數(shù)據(jù)的收集與包監(jiān)測技術(shù)兩種。
(1)服務(wù)器端數(shù)據(jù)的收集:數(shù)據(jù)的收集可通過圖書館的Web服務(wù)器、代理服務(wù)器的Web日志(Web Log)文件內(nèi)完成,此類信息屬于最簡便的數(shù)據(jù)來源,它記錄了用戶的每次網(wǎng)頁請求信息。當(dāng)圖書館Web服務(wù)器的日志功能開啟之后,每次用戶由瀏覽器對某個網(wǎng)頁發(fā)出請求時,此請求信息均會被記錄于訪問日志內(nèi)。代理服務(wù)器向文本文件內(nèi)儲存所記錄信息,文件的擴展名大多為“.log”或“.txt”。用戶的每次Web頁面訪問形成一條記錄,由數(shù)條記錄共同構(gòu)成圖書館Web日志文件。
除此之外,圖書館Web服務(wù)器數(shù)據(jù)庫還能夠?qū)⑵溆嗟腤eb應(yīng)用信息儲存,如用戶所提交的查詢數(shù)據(jù)與Cookie等。其中通過服務(wù)器產(chǎn)生的Cookie,其作用為對用戶的訪問路徑或狀態(tài)實施記錄,因其涉及到用戶的隱私,故需用戶準(zhǔn)許配合方可運用Cookie;當(dāng)用戶對自己所需信息實施查詢時在服務(wù)器端所形成的記錄即為查詢數(shù)據(jù)。此外,文件的相關(guān)信息也記錄于服務(wù)器內(nèi),比如修改時間與文件的創(chuàng)建者等,另外個性化特征分析時還可應(yīng)用用戶的借閱數(shù)據(jù)。
(2)包監(jiān)測技術(shù):對全部抵達服務(wù)器的數(shù)據(jù)實施監(jiān)視,并提取出HTTP的請求信息。此類數(shù)據(jù)可用在對用戶行為表現(xiàn)的考察中,其來源重點為瀏覽者的點擊流[8]。對網(wǎng)絡(luò)整體的全部信息流量實行監(jiān)聽,同時以信息源主機、服務(wù)協(xié)議端口、目標(biāo)主機等信息為依據(jù),將無關(guān)的垃圾數(shù)據(jù)濾除掉,并實行如關(guān)鍵字搜索等進一步的處理后,向給定的數(shù)據(jù)接收程序內(nèi)發(fā)送用戶感興趣的數(shù)據(jù),并儲存到Web數(shù)據(jù)庫內(nèi)實施統(tǒng)計分析,此過程即為網(wǎng)絡(luò)底層信息監(jiān)聽過濾過程,如圖2所示。
圖2 網(wǎng)絡(luò)底層信息監(jiān)聽過濾過程
數(shù)據(jù)源收集完畢后,需要對所收集的數(shù)據(jù)源進行預(yù)處理,數(shù)據(jù)預(yù)處理步驟主要包括數(shù)據(jù)清洗、數(shù)據(jù)過濾、用戶識別及會話識別等。以數(shù)據(jù)源收集中的Web日志文件為例,其數(shù)據(jù)預(yù)處理過程如圖3所示。
圖3 數(shù)據(jù)預(yù)處理過程圖
數(shù)據(jù)預(yù)處理過程描述。
(1)數(shù)據(jù)清洗:刪除掉無關(guān)數(shù)據(jù)并保留所需數(shù)據(jù)的過程即為數(shù)據(jù)清洗[9];
(2)用戶識別:對通過清洗保留的數(shù)據(jù)實行用戶識別,通過不同IP地址代表不同用戶的方法實現(xiàn)用戶識別,提升識別的便利性;
(3)用戶會話識別:用戶針對某個話題實行的一系列有效訪問即為用戶會話,提取出用戶某段時間內(nèi)的訪問序列并生成會話文件即為會話識別[10]。對一個用戶連續(xù)兩次訪問服務(wù)器是否屬于同一個會話實行判別是識別出一個會話的重點。當(dāng)前的判別標(biāo)準(zhǔn)可選擇最大相鄰時間間隔與最大時間間隔兩種。若用戶訪問相鄰頁面間的時間間隔比最大相鄰時間間隔低,即識別為同一個會話;相反即識別為兩個會話。同樣若用戶所訪問的第一個頁面與訪問的最后一個頁面之間的時間間隔比最大時間間隔高時,即識別為兩個會話,相反的話即識別為一個會話。
1.4.1 FP-growth_S算法
FP-growth_S算法是在FP-growth算法的基礎(chǔ)上,通過改進FP-growth算法產(chǎn)生數(shù)量龐大關(guān)聯(lián)規(guī)則的弱點,防止冗余頻繁項目集的形成,避免重復(fù)性的推薦,提升圖書館個性化服務(wù)效率。設(shè)項目集合與項目分別為J={j1,j2,…,jn}和jq(q=1,2,…,n)。事務(wù)數(shù)據(jù)庫與事務(wù)分別以B={t1,t2,…,tm}和tj(j=1,2,…,m)表示,其中事務(wù)數(shù)據(jù)庫是由一系列具有唯一標(biāo)識符TID的事務(wù)所構(gòu)成的,事務(wù)與項目集合J中的一個子集相對應(yīng)。
定義1 頻繁項目集為項目集合J內(nèi)能夠滿足用戶所指定的最小支持度的項目集,也就是比最小支持度大或相等的J的非空子集。而最大頻繁項目集是指由頻繁項目集內(nèi)選取出全部不包含在其它元素內(nèi)的頻繁項目集。
以定義1為依據(jù),能夠推導(dǎo)出隨意一個頻繁項目集均屬于某個最大頻繁項目集的子集,運用此特性能夠找出最大頻繁項目集。具體算法過程如下。
(1)1-頻繁項目集生成。對事務(wù)數(shù)據(jù)庫B實施掃描,形成1-項目集合,以此集合支持?jǐn)?shù)遞減為依據(jù),將1-項目集列出,同時刪掉此集合內(nèi)低于最小支持度的項目,生成1-頻繁項目集K1;
(2)將支持度比最小支持度低的項目刪除。對事務(wù)數(shù)據(jù)庫B實施掃描,刪除支持度比最小支持度低的項目;
(3)各事務(wù)項重新排列。依據(jù)1-頻繁項目集K1的遞減順序重新排列事務(wù)數(shù)據(jù)庫內(nèi)的各事務(wù)項;
(4)創(chuàng)建FP-tree。先將樹的根節(jié)點創(chuàng)建完成,記為null,再對事務(wù)數(shù)據(jù)庫內(nèi)的全部事務(wù)記錄實施掃描,將各個事務(wù)記錄分別生成各個FP-tree樹枝,待完成掃描后形成FP-tree,由項目出現(xiàn)的次數(shù)、項目ID以及指向父節(jié)點指針3部分共同構(gòu)成樹的節(jié)點。如果出現(xiàn)重復(fù)項目,將項目出現(xiàn)的次數(shù)增加,如此即可實現(xiàn)FP-tree的創(chuàng)建;
(5)挖掘FP-tree生成最大頻繁模式樹max_tree。針對函數(shù)FP-max(tree,a,max-tree),由最低出現(xiàn)次數(shù)的項目cj開始,與遍歷FP-tree相連,若只存在一條抵達cj項的前綴路徑α,那么以cj項作為后綴的最大頻繁項目集即為α∪cj,也就是候選最大頻繁項目集,對最大頻繁模式樹予以調(diào)用形成函數(shù)Generate-max(α∪cj,tree),生成最大頻繁模式樹max-tree;若存在數(shù)條抵達cj項的前綴路徑,即將全部可抵達cj項的前綴路徑αj列出,將cj的條件模式庫獲取,并運算此模式庫內(nèi)各項的支持度,同時運用此模式庫內(nèi)的頻繁項目創(chuàng)建cj的條件FP-tree,如果所創(chuàng)建的cj條件FP-tree不為空,遞歸調(diào)用函數(shù)FP-max(cj條件FP-tree,αj∪cj,max-tree),生成最大頻繁模式樹max-tree,有效避免產(chǎn)生冗余頻繁項目集,可降低關(guān)聯(lián)規(guī)則產(chǎn)生的數(shù)量,防止出現(xiàn)重復(fù)推薦問題,能夠提升服務(wù)模型的運行效率。
1.4.2 IN_FP算法
可信度加權(quán)可定義為:
定義2 包含頁面興趣度的可信度即為包括Jn與Jm的事務(wù)數(shù)同包括Jn的事務(wù)數(shù)之比,并同(β+α×InterestDegree)相乘,也就是式(1)。
(1)
式中,Jn,Jm?J,α≤1,β≥0,同時β+α=1,依據(jù)事務(wù)數(shù)據(jù)庫的不同β和α取不同的值,二者屬于1種經(jīng)驗值,在此可設(shè)定其值為0.6。
采用FP-growth_s算法將最大頻繁項目集求出,并以包含頁面興趣度的可信度為依據(jù),實現(xiàn)關(guān)聯(lián)規(guī)則的最終生成。
1.4.3 IN_FP算法實現(xiàn)
經(jīng)過數(shù)據(jù)預(yù)處理后能夠獲得日志文件中相應(yīng)的會話文件,通過IN_FP算法對此會話文件實施挖掘的過程如圖4所示。
圖4 IN_FP算法的挖掘過程圖
采用IN_FP算法挖掘用戶會話文件,生成關(guān)聯(lián)規(guī)則,并按照可信度從大到小的順序依據(jù)規(guī)則前項排序關(guān)聯(lián)規(guī)則,生成挖掘結(jié)果并寫入推薦數(shù)據(jù)庫。當(dāng)用戶登錄圖書館網(wǎng)站時,圖書館個性化服務(wù)模型將以用戶的訂閱信息與訪問信息等為依據(jù),讀取推薦數(shù)據(jù)庫,并為用戶呈現(xiàn)相關(guān)的推薦圖書信息,完成對用戶的個性化推薦服務(wù),實現(xiàn)基于Web技術(shù)的圖書館個性化服務(wù)。
以某高校圖書館網(wǎng)站的借閱數(shù)據(jù)為例,此數(shù)據(jù)內(nèi)包含了2016年3月—6月的訪問日志記錄,具有894個統(tǒng)一資源定位符(URL),現(xiàn)分別采用本研究所提模型、SOM神經(jīng)網(wǎng)絡(luò)的圖書館個性化服務(wù)模型(文獻[6]模型)及個人小數(shù)據(jù)的圖書館聯(lián)盟用戶個性化服務(wù)模型(文獻[7]模型),依據(jù)實驗圖書館借閱數(shù)據(jù)實行個性化服務(wù),通過對比分析結(jié)果檢驗本研究所提模型的應(yīng)用效果與性能。
利用3種模型分別對實驗圖書館借閱數(shù)據(jù)實施預(yù)處理、挖掘及結(jié)果推薦,記錄各模型各個過程所消耗的時間,以此檢驗各模型的服務(wù)運行效率,對比結(jié)果如圖5所示。
通過圖5可看出,3種模型的各過程耗時對比結(jié)果中,本研究所提模型的挖掘與結(jié)果推薦過程耗時均最低,而預(yù)處理過程的耗時比文獻[6]模型稍高;文獻[6]模型的預(yù)處理過程耗時在3種模型中最低,而結(jié)果推薦的耗時最高;對比各模型的總體服務(wù)耗時,本研究所提模型的整體服務(wù)耗時最低,文獻[7]模型的耗時相對最高,由此可見,本研究所提模型的整體服務(wù)運行效率較高,性能更優(yōu)越。
圖5 各模型預(yù)處理耗時對比
為進一步檢驗各模型性能,現(xiàn)對實驗圖書館借閱數(shù)據(jù)隨事務(wù)數(shù)增長條件下各模型的推薦覆蓋率與推薦準(zhǔn)確率實施對比分析,通過測試得到準(zhǔn)確推薦的個數(shù)除以總測試數(shù),從而得出準(zhǔn)確推薦率。3種模型的對比結(jié)果如圖6所示。
(a)各模型推薦覆蓋率對比
分析圖6能夠得出,隨著事務(wù)數(shù)的增長,本研究所提模型的推薦覆蓋率與推薦準(zhǔn)確率均相對較為穩(wěn)定,且均高于其它兩種模型,文獻[6]模型的推薦覆蓋率與推薦準(zhǔn)確率受事務(wù)數(shù)的影響波動最大。說明本研究所提模型具有較高的推薦覆蓋率,且推薦準(zhǔn)確度高,推薦性能優(yōu)越。
本文提出了基于Web技術(shù)的圖書館個性化服務(wù)模型,模型內(nèi)包含數(shù)據(jù)源收集模塊、數(shù)據(jù)預(yù)處理模塊、數(shù)據(jù)挖掘模塊及挖掘結(jié)果推薦數(shù)據(jù)庫等,通過模型內(nèi)各部分相結(jié)合共同實現(xiàn)圖書館個性化推薦服務(wù),實例分析結(jié)果驗證了本研究所提模型具有較高的服務(wù)運行效率與推薦準(zhǔn)確率,能夠針對不同用戶提供差別性的個性化推薦服務(wù)。盡管本文所提模型能夠提供更好的個性化推薦服務(wù),但由于考慮的內(nèi)容不夠全面,在接下來的研究過程中還需要進一步分析各種因素的影響,實現(xiàn)個性化推薦服務(wù)效果的提升。