王慶樺
關(guān)鍵詞: 數(shù)據(jù)挖掘; 關(guān)聯(lián)規(guī)則運(yùn)算; Apriori算法; 算法改進(jìn); 個性化推薦; 關(guān)聯(lián)分析
中圖分類號: TN911.1?34; TP391 ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼: A ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2019)05?0149?03
Research on library personalized fast?recommendation algorithm
based on data mining technology
WANG Qinghua
(Tianjin Sino?German University of Applied Sciences, Tianjin 300350, China)
Abstract: With the continuous development of the construction of university book management system, the book borrowing activities of teachers and students have generated a large amount of browsing data. In order to mine the above borrowing information to provide a higher level of service for readers, a library personalized fast?recommendation algorithm based on data mining technology is proposed. The main methods and organizational structure of data mining are introduced. The Apriori algorithm as a classical association rule mining algorithm is modified to improve the computing efficiency of association rules. The improved Apriori algorithm is used to perform the association analysis for the historical data of the book borrowing, so as to make the personalized recommendations for readers. The experimental results show that the proposed library personalized fast?recommendation algorithm has high accuracy and operational efficiency.
Keywords: data mining; association rule operation; Apriori algorithm; algorithm improvement; personalized recommendation; association analysis
數(shù)據(jù)挖掘作為近期全球范圍內(nèi)快速興起的一門交叉學(xué)科,匯集了來自機(jī)器學(xué)習(xí)、模式識別、數(shù)據(jù)庫、統(tǒng)計學(xué)、人工智能等各領(lǐng)域的研究成果[1?3]。計算機(jī)的大規(guī)模普及產(chǎn)生了海量的數(shù)據(jù),數(shù)據(jù)挖掘通過綜合以上學(xué)科領(lǐng)域的技術(shù)成果,對海量數(shù)據(jù)進(jìn)行處理和分析。目前,數(shù)據(jù)挖掘在信息管理系統(tǒng)中的應(yīng)用案例越來越多,相關(guān)領(lǐng)域的研究也層出不窮。文獻(xiàn)[4]提出面向機(jī)場場區(qū)管理的商務(wù)智能理念,設(shè)計一種應(yīng)用數(shù)據(jù)挖掘技術(shù)的機(jī)場場區(qū)數(shù)據(jù)挖掘系統(tǒng),并完成了具體應(yīng)用實(shí)例。文獻(xiàn)[5]利用數(shù)據(jù)挖掘技術(shù)對智能化車輛管理系統(tǒng)進(jìn)行設(shè)計,實(shí)現(xiàn)了系統(tǒng)的優(yōu)化升級,從而起到較好的控制分流和防止擁堵的作用。
目前,我國各大城市和高校的圖書館大都已經(jīng)使用了圖書自動化管理系統(tǒng)。這些管理系統(tǒng)一般將數(shù)據(jù)存放在專門的網(wǎng)絡(luò)服務(wù)器上。但是,隨著借閱歷史記錄的不斷增長,生成了數(shù)量越來越大的數(shù)據(jù)信息?,F(xiàn)有的圖書自動化管理系統(tǒng)僅能進(jìn)行查詢、統(tǒng)計匯總等表面分析工作。如果要對這些海量的數(shù)據(jù)進(jìn)行進(jìn)一步挖掘,就需要投入大量的人力和時間成本,而且往往得不到有價值的分析結(jié)果。因此,本文對經(jīng)典關(guān)聯(lián)規(guī)則挖掘算法中的Apriori算法進(jìn)行改進(jìn),提高了關(guān)聯(lián)規(guī)則的運(yùn)算效率。并將改進(jìn)算法應(yīng)用于圖書館個性化推薦,以便對圖書借閱歷史數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析,仿真結(jié)果表明,提出的改進(jìn)推薦算法具有較高的準(zhǔn)確度和運(yùn)行效率,能夠有效根據(jù)不同的讀者屬性提供有針對性的圖書推薦。
1.1 ?數(shù)據(jù)挖掘的主要方法
數(shù)據(jù)挖掘(Data Mining)是按照既定的業(yè)務(wù)目標(biāo)從海量數(shù)據(jù)中提取出潛在、有效并能被人理解的模式的高級處理過程[6]。它利用現(xiàn)有數(shù)據(jù)庫管理系統(tǒng)的查詢、檢索及報表功能,與多維分析、統(tǒng)計分析方法相結(jié)合,進(jìn)行聯(lián)機(jī)分析處理,從而得出可供決策參考的統(tǒng)計分析數(shù)據(jù)。數(shù)據(jù)挖掘的主要分析方法包括歸納學(xué)習(xí)法、聚類方法、統(tǒng)計分析方法、關(guān)聯(lián)規(guī)則分析、仿生物技術(shù)和分類預(yù)測等,如圖1所示。由于關(guān)聯(lián)規(guī)則分析能夠揭示出某個事務(wù)與其他事務(wù)之間隱含的關(guān)聯(lián)性。本文選擇關(guān)聯(lián)規(guī)則分析作為圖書借閱信息數(shù)據(jù)挖掘的方法。
1.2 ?數(shù)據(jù)挖掘的組織結(jié)構(gòu)
一個典型的數(shù)據(jù)挖掘系統(tǒng)通常包含:數(shù)據(jù)源、數(shù)據(jù)庫或數(shù)據(jù)倉庫服務(wù)器、知識庫、數(shù)據(jù)挖掘引擎、模式評估和圖形用戶界面,如圖2所示。
目前, 不少研究人員已經(jīng)提出將數(shù)據(jù)挖掘技術(shù)應(yīng)用于圖書管理工作。文獻(xiàn)[7]通過挖掘高校圖書館大量的借閱歷史數(shù)據(jù),從中提取出切實(shí)有用的信息及有效的借閱規(guī)則,可為讀者提供個性化的推薦服務(wù),進(jìn)而提高圖書館館藏圖書的流通率。文獻(xiàn)[8]提出將關(guān)聯(lián)規(guī)則挖掘算法中的Apriori算法應(yīng)用于高校圖書管理系統(tǒng),對圖書的擺放方式提出相關(guān)建議,從而達(dá)到方便圖書管理、便捷學(xué)生借閱的目的。但是傳統(tǒng)Apriori算法在運(yùn)行效率上存在缺陷,需要對數(shù)據(jù)庫進(jìn)行多次搜索,這在一定程度上降低了數(shù)據(jù)挖掘的執(zhí)行效率。因此,本文對經(jīng)典關(guān)聯(lián)規(guī)則挖掘算法中的Apriori算法進(jìn)行改進(jìn)。
關(guān)聯(lián)規(guī)則Apriori算法能夠通過某個規(guī)則發(fā)現(xiàn)兩種事物之間存在的一些隱藏關(guān)系。關(guān)聯(lián)規(guī)則可以用[X→Y]表示,其中,[X]表示關(guān)聯(lián)規(guī)則的條件,[Y]表示關(guān)聯(lián)規(guī)則的延續(xù)[9]。此外,關(guān)聯(lián)規(guī)則算法中具有支持度和置信度的定義,計算公式如下所示:
[P(AB)=P(AB)P(B)] (1)
式中[A]和[B]表示不同的事件。
可以通過式(2)計算支持度與置信度之間的對應(yīng)關(guān)系:
[conf(YX)=P(YX) =P(XY)P(X)≈XY出現(xiàn)次數(shù)X出現(xiàn)次數(shù)] (2)
在設(shè)定好最小支持度(Min_Sup)和最小置信度(Min_Conf)之后,Apriori算法首先會讀取數(shù)據(jù)庫中的所有事務(wù)集,產(chǎn)生候選1項目集合的支持度,然后再次搜索事務(wù)數(shù)據(jù)庫,產(chǎn)生候選2項目集合的支持度。在獲得所需的候選項目集合后,仍需搜索數(shù)據(jù)庫以便進(jìn)行支持度對比,得出頻繁項目集合從而最終生成新的候選項目集合。通過以上算法實(shí)現(xiàn)過程可以看出,傳統(tǒng)Apriori算法的步驟中,讀取和搜索數(shù)據(jù)庫的次數(shù)較多,這在一定程度上降低了數(shù)據(jù)挖掘的執(zhí)行效率。所以,本文對生成候選項目集[Ck]的過程進(jìn)行了優(yōu)化,以便減少數(shù)據(jù)庫讀取的次數(shù),并且避免產(chǎn)生更多的無用候選項目集。改進(jìn)Apriori算法的偽代碼如下:
1 ? ? for each [lxLk-1];
2 ? ? {
for each [lyLk-1]
3 ? ? ? {
if ([lx][1]=[ly][1]∧[lx[2]]=[ly][2]∧[lx[k-2]]=[ly[k-2]]∧[lx[k-1]<][ly[k-1]])
4 ? ?{
5 ? ? ?[c=lx∪ly] //完成2個項集的連接
6 ? ? [Ck=c∪Ck]
}
7 ? ?else break
}
}
8 ? ?end for
9 ?return [Ck] ? //返回連接生成的項集
3.1 ?實(shí)驗環(huán)境和參數(shù)
為了對本文提出的改進(jìn)Apriori算法進(jìn)行分析和驗證,進(jìn)行仿真測試。實(shí)驗硬件環(huán)境為: Intel Core i5 2.8 GHz處理器,2 GB內(nèi)存,300 GB硬盤。實(shí)驗軟件環(huán)境為:Windows XP操作系統(tǒng),Matlab 7.0仿真軟件。實(shí)驗采用某高校中圖書管理系統(tǒng)的數(shù)據(jù)集。該數(shù)據(jù)集包含圖書館5年內(nèi)的圖書借閱歷史記錄,并對其進(jìn)行數(shù)據(jù)泛化。由于本文研究不同圖書類別之間的關(guān)聯(lián)規(guī)則,所以把該數(shù)據(jù)集中的所有書籍分為6大類,分別為I(信息技術(shù)類)、E(英語類)、L(機(jī)械類)、A(藝術(shù)類)、B(電氣類)、H(文學(xué)類),對這6類圖書進(jìn)行數(shù)據(jù)泛化見表1。
為了驗證提出算法的先進(jìn)性,在相同的仿真條件下,分別對本文改進(jìn)算法和傳統(tǒng)Apriori算法進(jìn)行對比實(shí)驗。
3.2 ?評估指標(biāo)
本文采用平均絕對誤差(Mean Absolute Error,MAE)[10]完成推薦算法的性能評估。MAE的具體計算方法如下:
[MAE=i=1NPi-ViN] (3)
式中:[Pi]為推薦算法的預(yù)測評分;[Vi]為測試數(shù)據(jù)中用戶的實(shí)際評分;[N]表示測試的總數(shù)。MAE的取值范圍是[0,1],其值越接近0,則推薦算法的準(zhǔn)確度越高。
3.3 ?推薦性能分析
隨著圖書借閱記錄數(shù)據(jù)的不斷增加,2種不同推薦算法的MAE結(jié)果如圖3所示。2種不同算法的運(yùn)行效率比較如圖4所示。
從圖3中可以看出,隨著圖書借閱記錄的不斷增加,2種方法的準(zhǔn)確度都不斷提高,且兩者幾乎一致。但是,從圖4可以看出,相比傳統(tǒng)Apriori算法,本文提出改進(jìn)算法的所用時間增長較慢。也就是說,本文提出算法能有效完成個性化圖書推薦,并且在不降低準(zhǔn)確度的前提下,有效提升了數(shù)據(jù)挖掘的效率。
本文對經(jīng)典關(guān)聯(lián)規(guī)則挖掘算法中的Apriori算法進(jìn)行了改進(jìn),提高了關(guān)聯(lián)規(guī)則運(yùn)算效率。并將改進(jìn)算法應(yīng)用于圖書館個性化推薦,以便對圖書借閱歷史數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析,仿真結(jié)果表明,相比傳統(tǒng)Apriori算法提出的改進(jìn)推薦算法具有較好的準(zhǔn)確度和運(yùn)行效率,能夠有效根據(jù)不同的讀者屬性提供有針對性的圖書推薦。
參考文獻(xiàn)
[1] ESLING P, AGON C. Time?series data mining [J]. ACM computing surveys, 2012, 45(1): 1?34.
[2] MUKHOPADHYAY A, MAULIK U, BANDYOPADHYAY S, et al. Survey of multiobjective evolutionary algorithms for data mining: Part II [J]. IEEE transactions on evolutionary computation, 2014, 18(1): 20?35.
[3] HARPAZ R, DUMOUCHEL W, SHAH N H, et al. Novel data?mining methodologies for adverse drug event discovery and analysis [J]. Clinical pharmacology & therapeutics, 2012, 91(6): 1010?1021.
[4] 朱小棟,樊重俊,楊堅爭.面向機(jī)場場區(qū)管理的數(shù)據(jù)挖掘系統(tǒng)[J].計算機(jī)工程,2012,38(3):224?227.
ZHU Xiaodong, FAN Chongjun, YANG Jianzheng. Data mi?ning system for airport regional management [J]. Computer engineering, 2012, 38(3): 224?227.
[5] 周鵬.數(shù)據(jù)挖掘技術(shù)下的智能化車輛管理系統(tǒng)實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2016,39(16):52?54.
ZHOU Peng. Implementation of intelligent vehicle management system based on data mining technology [J]. Modern electronics technique, 2016, 39(16): 52?54.
[6] CAROLAN B V, NATRIELLO G. Data?mining journals and books: using the science of networks to uncover the structure of the educational research community [J]. Educational researcher, 2005, 34(3): 25?33.
[7] 楊國林,王飛,賀慧.基于數(shù)據(jù)挖掘的圖書館數(shù)據(jù)預(yù)處理方法研究[J].電子設(shè)計工程,2015(3):23?25.
YANG Guolin, WANG Fei, HE Hui. Research on the preprocessing methods of library data based on data mining [J]. Electronic design engineering, 2015(3): 23?25.
[8] 王娜,岳俊英.基于關(guān)聯(lián)規(guī)則的高校圖書信息數(shù)據(jù)挖掘[J].信息系統(tǒng)工程,2014(2):153?154.
WANG Na, YUE Junying. Colleges book information dada mi?ning based on association rules [J]. China CIO news, 2014(2): 153?154.
[9] POULIS G, SKIADOPOULOS S, LOUKIDES G, et al. Apriori?based algorithms for [km]?anonymizing trajectory data [J]. Tran?sactions on data privacy, 2014, 7(2): 165?194.
[10] BHANDARI A, GUPTA A, DAS D. Improvised Apriori algorithm using frequent pattern tree for real time applications in data mining [J]. Procedia computer science, 2015, 46: 644?651.