楊葛英,沈夏炯,史先進(jìn),張 磊
1.河南大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,河南 開封475004
2.河南大學(xué) 河南省大數(shù)據(jù)分析與處理重點(diǎn)實(shí)驗(yàn)室,河南 開封475004
隨著數(shù)據(jù)挖掘領(lǐng)域的發(fā)展,關(guān)聯(lián)規(guī)則的可視化作為一種重要的知識發(fā)現(xiàn)和模式識別方法,已經(jīng)成為一個重要的研究方向?,F(xiàn)有的機(jī)器學(xué)習(xí)方法雖然能夠從大量的原始數(shù)據(jù)中提煉出關(guān)鍵信息,但是這些信息只有在經(jīng)過人們的理解并產(chǎn)生最后的決策的時候才能真正體現(xiàn)它們的價值,而可視化恰恰能幫人們完成這最重要的一點(diǎn)。數(shù)據(jù)可視化是通過可視化技術(shù)把原始數(shù)據(jù)之間不容易被人發(fā)現(xiàn)的數(shù)據(jù)關(guān)系給表示出讓人易于發(fā)現(xiàn)的模式,關(guān)聯(lián)規(guī)則作為一種重要的規(guī)則,表現(xiàn)數(shù)據(jù)之間的相關(guān)關(guān)系,幫助用戶進(jìn)行數(shù)據(jù)分析。概念格是一種在海量數(shù)據(jù)中提取關(guān)聯(lián)信息的工具,概念格的生成過程其實(shí)就是概念聚類的過程,通過生成Hasse 圖能夠直觀表示出概念之間的層次關(guān)系,體現(xiàn)概念之間的泛化和例化關(guān)系[1-2]。將概念格與關(guān)聯(lián)規(guī)則結(jié)合,不僅可以展示出關(guān)聯(lián)關(guān)系,而且有助于知識的全面分析和潛在知識發(fā)現(xiàn)。關(guān)聯(lián)規(guī)則本身是以邏輯表達(dá)式的形式存在,隨著數(shù)據(jù)可視化技術(shù)的發(fā)展,有學(xué)者開始研究關(guān)聯(lián)規(guī)則的可視化,將關(guān)聯(lián)規(guī)則轉(zhuǎn)換為圖的樣式,增加用戶的理解。郭曉波等人[3]利用概念格的結(jié)構(gòu),把關(guān)聯(lián)規(guī)則轉(zhuǎn)換為概念格的形式,實(shí)現(xiàn)了關(guān)聯(lián)規(guī)則的可視化,但是并沒有真正意義上實(shí)現(xiàn)在概念的本質(zhì)和含義上可視化。陳敏等人[4]將關(guān)聯(lián)規(guī)則表示為Vis-Meta圖的樣式,能夠?qū)﹃P(guān)聯(lián)知識進(jìn)行詳細(xì)分析,但是結(jié)構(gòu)比較抽象、復(fù)雜。高琳等人[5]在給出超圖中BF超邊理論的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了基于超圖的關(guān)聯(lián)規(guī)則可視化,沙漏型的布局設(shè)計(jì)使得關(guān)聯(lián)規(guī)則前后件關(guān)系很明確,但是忽略了概念之間的相互關(guān)系和連通性,不利于進(jìn)行數(shù)據(jù)分析和知識發(fā)現(xiàn)。文獻(xiàn)[6]在分子結(jié)構(gòu)的基礎(chǔ)上實(shí)現(xiàn)了關(guān)聯(lián)規(guī)則的可視化,但是主要是用來展示項(xiàng)對規(guī)則的重要程度,無法展示關(guān)聯(lián)規(guī)則的分布情況。文獻(xiàn)[7]提出將彩色二維矩陣與布爾矩陣相結(jié)合的方法建模,將關(guān)聯(lián)規(guī)則在布爾庫中建模后,再通過布爾推理進(jìn)行著色實(shí)現(xiàn)二維矩陣的關(guān)聯(lián)規(guī)則可視化,這種可視化方法能夠有效提高用戶聯(lián)想的形象化,但是忽略了用戶對規(guī)則的認(rèn)知有限性。文獻(xiàn)[8]研究基于分組矩陣的關(guān)聯(lián)規(guī)則可視化方法,通過k-均值聚類對規(guī)則進(jìn)行分組,再匯總矩陣的行和列來顯示這些分組,此方法能夠?qū)⒁?guī)則進(jìn)行層次化的分析,但是在一定程度上降低了規(guī)則的可解釋性,不利于用戶的理解。文獻(xiàn)[9]設(shè)計(jì)了交互式的關(guān)聯(lián)規(guī)則可視化系統(tǒng)AssocExplorer,用戶可以查看到所有的關(guān)聯(lián)規(guī)則并查看規(guī)則的詳細(xì)信息,但是容易造成視覺上的混亂,難以被用戶理解。文獻(xiàn)[10]提出了交互式分層級關(guān)聯(lián)規(guī)則可視化系統(tǒng),該方法采用前件遞歸向下分組的思想,增加了用戶的認(rèn)知負(fù)擔(dān)。文獻(xiàn)[11]提出了基于S-C元圖的關(guān)聯(lián)規(guī)則表示方法,將S-C元圖結(jié)合紡錘體展示關(guān)聯(lián)規(guī)則,利用了元邊存儲支持度和置信度的信息。此方法避免了二維平面上邊的交叉,但是隨著關(guān)聯(lián)規(guī)則數(shù)量的增多,可讀性隨之降低。
綜上,目前存在的關(guān)聯(lián)規(guī)則可視化方法主要存在的問題有:領(lǐng)域知識展示不夠充分[12-13],僅站在屬性這個單一角度去思考關(guān)聯(lián)規(guī)則,增加了用戶的認(rèn)知負(fù)擔(dān);可視化的背景知識共享性不夠[14-15],忽略了知識系統(tǒng)中非關(guān)聯(lián)關(guān)系的潛在影響,失去了知識背景下全局信息的作用和關(guān)系;對潛在知識和非關(guān)聯(lián)關(guān)系的利用和發(fā)掘程度降低。
為解決上述問題,本文提出了一種以概念格為背景的關(guān)聯(lián)規(guī)則可視化方法。該方法基于概念格這個知識背景,在概念層次上進(jìn)行了規(guī)則的可視化,給出了以概念格為背景的關(guān)聯(lián)規(guī)則可視化的策略,實(shí)現(xiàn)了一對一、一對多、多對一和多對多的多模式關(guān)聯(lián)規(guī)則可視化,所提出的算法能夠有效地進(jìn)行關(guān)聯(lián)規(guī)則的可視化,具有較好的可讀性和可解釋性,最重要的是,它不僅在規(guī)則表示方面具有創(chuàng)新性,而且又能將屬性間的關(guān)系進(jìn)行全面的分析和應(yīng)用,更進(jìn)一步將屬性間關(guān)系擴(kuò)展到概念間關(guān)系,從而能夠幫助用戶發(fā)掘一些潛在的關(guān)系,在一定程度上幫助用戶進(jìn)行決策與智能推薦。最后,基于某校的圖書館借書記錄,對算法進(jìn)行了具體分析和實(shí)現(xiàn),以證明本文的方法可行性以及創(chuàng)新性。
形式概念分析是德國數(shù)學(xué)家Wille 教授在1982 年提出的[1],概念格是形式概念分析中的一種非常重要的數(shù)據(jù)結(jié)構(gòu),概念格的每一個節(jié)點(diǎn)代表一個概念,每個概念由外延和內(nèi)涵兩部分組成,外延表示這個概念所含有的對象的集合,內(nèi)涵表示這個概念所含有的屬性的集合。通過概念格,不僅能夠在本質(zhì)上表示出對象和屬性之間的關(guān)系,而且還能夠生動直觀地表示出概念之間的泛化和例化關(guān)系,因此概念格被廣泛用于知識工程[16]、數(shù)據(jù)挖掘[17-18]和信息檢索[19]等領(lǐng)域,以下給出有關(guān)的定義和形式化表示。
在形式概念分析中,通過建立概念格這一基于形式背景中屬性和對象之間的二元偏序關(guān)系的概念層次結(jié)構(gòu),來實(shí)現(xiàn)對象、屬性和概念之間的蘊(yùn)含關(guān)系進(jìn)行描述,進(jìn)而可以對知識進(jìn)行表示。
定義1(形式背景)形式背景是一個三元組K(G,M,I)其中G代表對象集合,M代表屬性集合,I代表對象和屬性之間的關(guān)系。I?G×M則對任一個對象g∈G,任一屬m∈M,若有(g,m)∈I,則表示對象g具有m屬性。
定義2(形式概念)設(shè)K=(G,M,I)是一個形式背景,若A?G,B?M,令:
如果A、B滿足f(A)=B且g(B)=A,則稱二元組(A,B)是一個概念,其中A是概念的外延,B是概念的內(nèi)涵。
定義3(概念格)形式背景C=(O,P,R)是一個三元組,其中O是對象集合,P是屬性集合,R是O和P之間的一個二元關(guān)系,若該形式背景上存在(A1,B1) 、(A2,B2) 兩個概念,并且A1?A2或B1?B2成立,則(A1,B1)和(A2,B2)具有父子關(guān)系,(A2,B2)為(A1,B1)的父概念,(A1,B1)為(A2,B2)的子概念,并寫為(A1,B1)≤(A2,B2),關(guān)系“≤”稱為是概念的“序?qū)哟巍保ê喎Q“序”)。如果A1?A2且不存在概念(A3,B3)使A1?A2?A3,則稱(A1,B1)是(A2,B2)的直接子概念,(A2,B2)是(A1,B1)的直接概念,記作(A1,B1)?(A2,B2),C=(O,P,R)的所有概念用這種序組成的集合稱為概念格,記作L=(O,P,R)。
定義4(獨(dú)有屬性)每個節(jié)點(diǎn)上所獨(dú)有的屬性即為ownAttributes,表明此屬性為此概念所有,此概念的上層概念不具有此屬性,下層概念具有此屬性。
定義5(關(guān)聯(lián)規(guī)則)對于X,Y∈A,關(guān)聯(lián)規(guī)則表示,其中Smin和Cmin分別為最小支持度和最小置信度,且關(guān)聯(lián)規(guī)則的支持度定義為Support(X→Y)=置信度定義為Confidence(X→Y)=其中N為用戶事務(wù)模式集T的事務(wù)支持度的總和。
定義6(Hasse圖)哈斯圖是一種來表示有限偏序集的數(shù)學(xué)圖表,它能夠以圖的形式對偏序集進(jìn)行傳遞和簡約。概念格可以通過Hasse 圖來進(jìn)行可視化,線圖作為最基礎(chǔ)的方式,在線圖中一個節(jié)點(diǎn)代表一個概念,一條邊代表著概念之間的偏序關(guān)系,例如節(jié)點(diǎn)之間的上下關(guān)系可以表示為:N1≤N2,即節(jié)點(diǎn)N1在節(jié)點(diǎn)N2之上,它們之間存在偏序關(guān)系,所以需要用線連接。這樣的方式能夠讓人們直觀觀察到概念之間的關(guān)系,所以借助Hasse圖來進(jìn)行關(guān)聯(lián)規(guī)則的可視化也是十分有必要且有意義的。
在關(guān)聯(lián)規(guī)則表示方法中,如何將挖掘到的結(jié)果可視化為用戶可以直觀讀懂[20-21],并且能夠幫助用戶進(jìn)行有效分析和決策是一個核心問題。概念格本身是一種能夠表示概念之間泛化與例化關(guān)系的數(shù)據(jù)結(jié)構(gòu),能夠形象描述概念之間存在的聯(lián)系。概念格的Hasse圖又十分清晰直觀地把概念之間的這種泛化和例化關(guān)系表示出來,非常便于用戶分析與觀察概念之間的內(nèi)在聯(lián)系以及屬性與概念之間的關(guān)系。所以,本文提出的基于概念格的關(guān)聯(lián)規(guī)則可視化算法,是在概念格原有的哈斯圖的基礎(chǔ)上,進(jìn)行關(guān)聯(lián)規(guī)則的可視化表示和查找。
算法思想:算法在實(shí)現(xiàn)概念格的構(gòu)造時,在現(xiàn)有的概念格探索工具Conexp 基礎(chǔ)上進(jìn)行二次開發(fā)與實(shí)驗(yàn),概念格中每一個節(jié)點(diǎn)代表一個概念,向上所到達(dá)的所有屬性,即為此概念的所含有屬性,向下所能到達(dá)的所有對象即為此概念所含的對象。當(dāng)點(diǎn)擊一個概念節(jié)點(diǎn)的時候,將這個概念節(jié)點(diǎn)的ownAttribute 作為驅(qū)動去查找關(guān)聯(lián)規(guī)則中以這個屬性為后繼的規(guī)則。高亮節(jié)點(diǎn)的策略也是按照ownAttribute 去高亮,因?yàn)楦拍罟?jié)點(diǎn)通常含有很多的屬性,但是對于用戶來說所能看到的僅僅是每個節(jié)點(diǎn)標(biāo)簽上對應(yīng)的屬性,所以以概念節(jié)點(diǎn)的ownAttribute 的查詢和可視化具有更加清晰直觀的作用,同時也能夠反映出在關(guān)聯(lián)規(guī)則中概念節(jié)點(diǎn)之間的關(guān)系和作用。
高亮節(jié)點(diǎn)的策略可以分為三類:一對多、多對一和多對多。
(1)一對多(包含前件屬性為一個,后件屬性N個,和前件和后件的屬性都為一個的情況)。高亮節(jié)點(diǎn)在查找的時候,先查找一個同時具有所有前后件屬性的概念,由此概念向上到達(dá)的概念的ownAttributes中等于前件或者后件屬性的概念節(jié)點(diǎn)。
(2)多對一(前件屬性為N個,后件屬性為一個)。先依次查找任意一個含有前件或后件屬性的概念,如果這個節(jié)點(diǎn)存在,把這個節(jié)點(diǎn)存入高亮集合中,如果不存在這個點(diǎn),依次找出所有同時含有任意一個前件和后件屬性的并集的概念,把這個概念節(jié)點(diǎn)存入高亮節(jié)點(diǎn)的集合里,然后再向上尋找ownAttributes中含有前件或后件的節(jié)點(diǎn),直到到達(dá)概念的屬性集合等于前件或者后件停止。
(3)多對多(前件屬性為N個,后件屬性也為N個)。先查找具有所有前件屬性的概念節(jié)點(diǎn),然后再查找具有所有后件屬性的概念節(jié)點(diǎn),最后把同時具有這兩個概念所含有屬性的概念節(jié)點(diǎn)找到,再向上查找節(jié)點(diǎn),直到找到概念的ownAttribute 等于前件和后件停止,這個過程所得到的所有節(jié)點(diǎn)都存入應(yīng)該高亮概念節(jié)點(diǎn)集合中。
高亮邊的策略:將需要高亮的節(jié)點(diǎn)和邊分別存入集合中,當(dāng)兩個節(jié)點(diǎn)中存在多條路徑時,按照最短路徑優(yōu)先策略選擇最短的那一條路徑。其算法過程如下所示。
算法1 VRulesBaseOnCL()//以概念格為背景的關(guān)聯(lián)規(guī)則可視化算法
輸入:點(diǎn)擊概念格中任意一個節(jié)點(diǎn),查找以這個概念的ownAttribute為后繼的關(guān)聯(lián)規(guī)則。
輸出:在概念格中找到相關(guān)的關(guān)聯(lián)規(guī)則,并高亮此路徑。
集合:
1. Rn:所有符合條件的關(guān)聯(lián)規(guī)則集合
2. Nn:=?需要高亮的節(jié)點(diǎn)集合
3. PNode:規(guī)則前件節(jié)點(diǎn)
4. PLength:規(guī)則前件屬性的個數(shù)
5. CNode:規(guī)則后件節(jié)點(diǎn)
6. CLength:規(guī)則后件屬性的個數(shù)
7. Egn:=?需要高亮的邊集合
Begin:
1. For I from 0 to n Do{
2. IF(PLength==1)THEN {
3. 添加前件節(jié)點(diǎn)到高亮集合中
4. IF(CLength==1)
5. 添加后件節(jié)點(diǎn)到高亮集合中
6. ELSE
7. 將多屬性的后件分割成多個單一屬性,將單屬性節(jié)點(diǎn)添加到高亮集合中
8. 使用深度優(yōu)先遍歷算法,計(jì)算從前件節(jié)點(diǎn)、單屬性節(jié)點(diǎn)到前件和后件并集節(jié)點(diǎn)的路徑,將路徑中滿足條件的節(jié)點(diǎn)添加到高亮集合中
9. }
10.ELSE(CLength==1)THEN{
11.將多屬性前件進(jìn)行分割,得到多個單屬性節(jié)點(diǎn),然后分別添加到高亮集合中
12.添加后件節(jié)點(diǎn)到高亮集合中
13.將多個單一屬性節(jié)點(diǎn)分別同后件節(jié)點(diǎn)進(jìn)行“與”運(yùn)算,并將計(jì)算結(jié)果添加到高亮集合中
14.使用深度優(yōu)先遍歷算法,計(jì)算從多個單屬性節(jié)點(diǎn)、前件節(jié)點(diǎn)到并集節(jié)點(diǎn)的路徑,并將路徑上滿足條件的節(jié)點(diǎn)添加到高亮集合
15. }
16. ELSE( CLength>1 )THEN {
17.將多個屬性的前件、后件,分割成多個單屬性的節(jié)點(diǎn),添加到高亮集合中
18.使用“與”運(yùn)算,求得前件和后件節(jié)點(diǎn)的并集節(jié)點(diǎn),并添加到高亮集合中
19.使用深度優(yōu)先遍歷算法,分別求得從前件、后件節(jié)點(diǎn)到并集節(jié)點(diǎn)所經(jīng)過的路徑,并將路徑上滿足條件的節(jié)點(diǎn)添加到高亮集合
20. }
21. END IF
22.}END For
算法的輸入是所有滿足條件的關(guān)聯(lián)規(guī)則,算法的輸出是集合Nn,該集合存儲算法的計(jì)算結(jié)果,經(jīng)過整個流程后集合中存儲的是不含重復(fù)的所有需要高亮的節(jié)點(diǎn)對象,所有滿足條件的節(jié)點(diǎn)都以鏈?zhǔn)浇Y(jié)構(gòu)存儲,方便后續(xù)算法的使用。
算法第7、11、17行,將前(后)件的屬性分割成多個單一屬性,該操作將用戶點(diǎn)擊操作選中的關(guān)聯(lián)規(guī)則的前(后)件轉(zhuǎn)化為背景中的相應(yīng)節(jié)點(diǎn)并正確的高亮,同時也是后續(xù)深度優(yōu)先遍歷的前提。
算法中使用的深度優(yōu)先遍歷,通過計(jì)算從開始節(jié)點(diǎn)到結(jié)束節(jié)點(diǎn)的路徑,同時使用相應(yīng)的策略選擇最優(yōu)路徑。路徑上的邊,以<開始節(jié)點(diǎn),結(jié)束節(jié)點(diǎn)>的形式存儲在集合Egn中供后續(xù)高亮操作使用。
算法功能:高亮節(jié)點(diǎn)和路徑
1. For I from 0 to n Do {
2. IF(Nn中包含此節(jié)點(diǎn))THEN {
3. 該節(jié)點(diǎn)調(diào)用節(jié)點(diǎn)的高亮策略
4. }END IF
5. }END For
6. For I from 0 to n Do {
7. IF(Egn中包含此邊)THEN {
8. 該邊調(diào)用邊的高亮策略
9. }END IF
10. }END For
第1~8 行,設(shè)置高亮策略,算法中所用到的高亮策略定義了節(jié)點(diǎn)和邊的屬性信息,其中包括節(jié)點(diǎn)和邊是否高亮以及高亮的顏色等。Nn與Egn包含了所有需要高亮的點(diǎn)和邊。此算法將滿足條件的點(diǎn)和邊高亮。
本章以某校圖書館學(xué)生借書情況為數(shù)據(jù)源,對源數(shù)據(jù)、關(guān)聯(lián)規(guī)則的可視化進(jìn)行了具體的實(shí)現(xiàn)。下面是對圖書和圖書之間、學(xué)生和學(xué)生之間,以及圖書和學(xué)生之間的相關(guān)關(guān)系進(jìn)行了具體的分析,用戶可以結(jié)合概念格這個完備的概念結(jié)構(gòu),在分析屬性之間的關(guān)聯(lián)關(guān)系的同時,也將之?dāng)U展到概念之間的關(guān)系,將非關(guān)聯(lián)的關(guān)系也給予一定的分析和應(yīng)用,增加知識的共享性,實(shí)現(xiàn)潛在的知識發(fā)現(xiàn)。在概念格上的關(guān)聯(lián)規(guī)則可視化是對知識全面分析和理解的一個表示方法,在分析圖書之間的關(guān)聯(lián)關(guān)系的同時,能夠直觀地在概念格上看到與規(guī)則相關(guān)的對象,從而可以將有關(guān)聯(lián)的圖書推薦他們,以此實(shí)現(xiàn)圖書的智能推薦和分析學(xué)生對圖書的偏好和借書趨勢。
數(shù)據(jù)源的整理:圖書館的借書記錄反映著學(xué)生的閱讀情況,也能從側(cè)面分析出學(xué)生閱讀的興趣愛好。根據(jù)用戶的借書記錄,借的書重復(fù)的越多證明學(xué)生之間的興趣關(guān)聯(lián)性越大。通過對書的關(guān)聯(lián)規(guī)則分析與可視化,在概念格上能夠更加清晰看出兩個興趣關(guān)聯(lián)性大的用戶之間的關(guān)系,可以根據(jù)關(guān)聯(lián)規(guī)則的可視化,輕松地分析出學(xué)生將很大程度上會感興趣的圖書,并推薦給學(xué)生。
首先,通過數(shù)據(jù)的整理與分析,選取借閱最多的20本書和借閱這20本書最多的13名學(xué)生,構(gòu)造相應(yīng)的“學(xué)生-書名”形式背景,分析學(xué)生和書籍之間的關(guān)聯(lián)關(guān)系,從而發(fā)現(xiàn)一些潛在的知識,如表1所示。然后進(jìn)行概念格的生成和關(guān)聯(lián)規(guī)則生成的引入:在現(xiàn)有的概念格構(gòu)造工具中,基于概念格構(gòu)造工具Concept Explore 形成的概念格結(jié)構(gòu)如圖1 所示。通過設(shè)置支持度為1,可信度為100%,形成的關(guān)聯(lián)規(guī)則挖掘結(jié)果如表2所示。
從圖1可以看出,在二維平面上概念格能夠清晰看出概念之間的泛化和例化關(guān)系,但是缺乏對概念之間的關(guān)聯(lián)性的可視化;從表2 可以看出,關(guān)聯(lián)規(guī)則的邏輯表達(dá)式形式對用戶來說十分抽象難懂,而且忽略了概念之間的知識共享性,將關(guān)聯(lián)規(guī)則和概念格相結(jié)合,實(shí)現(xiàn)以概念格為背景的關(guān)聯(lián)規(guī)則可視化,具有很好的效果。
基于概念格構(gòu)造工具Concept Explorer1.3 進(jìn)行二次開發(fā)與實(shí)現(xiàn),在概念格上,當(dāng)用戶點(diǎn)擊某個概念節(jié)點(diǎn),以某節(jié)點(diǎn)的ownAttribute 為查找條件,查找后件含有此屬性的關(guān)聯(lián)規(guī)則,將此關(guān)聯(lián)規(guī)則在概念格中高亮出來。根據(jù)表2 形成的關(guān)聯(lián)規(guī)則進(jìn)行可視化表示,第一步,選擇需要展示的模式:1 ?N,N?1,N?N三種模式,如圖2所示。
表1 基于“學(xué)生-書名”形式背景
圖1 基于“學(xué)生-書”名形式背景生成的概念格
表2 基于“學(xué)生-書名”生成的關(guān)聯(lián)規(guī)則
圖2 關(guān)聯(lián)規(guī)則模式選擇框
(1)選擇“N?1”模式;然后,點(diǎn)擊標(biāo)簽為《且聽風(fēng)吟》的概念,對應(yīng)的關(guān)聯(lián)規(guī)則應(yīng)該為:《麥琪的禮物》《呼嘯山莊》=[100%]?<1>《且聽風(fēng)吟》,可視化的結(jié)果如圖3所示。
圖3 N ?1 模式的關(guān)聯(lián)規(guī)則可視化
圖4 N ?N 模式的關(guān)聯(lián)規(guī)則可視化
由圖3 可以看到,《呼嘯山莊》《麥琪的禮物》《且聽風(fēng)吟》這3 本書之間存在關(guān)聯(lián)關(guān)系,并且可以很直觀看出“學(xué)生6”這個對象含有《且聽風(fēng)吟》和《呼嘯山莊》這兩個屬性,但是沒有《麥琪的禮物》這個屬性。因此,通過分析可以將《麥琪的禮物》這本書推薦給“學(xué)生6”。換句話說,由概念格上的關(guān)聯(lián)規(guī)則的可視化分析,能夠更加直觀地分析出書和學(xué)生之間的多種關(guān)系,這樣就把關(guān)聯(lián)規(guī)則真正地應(yīng)用起來,易于理解和分析,并且提高了圖書館管理員對圖書分析與推薦的準(zhǔn)確性。
(2)選擇“N?N”模式,點(diǎn)擊標(biāo)簽為《平凡的世界》的概念節(jié)點(diǎn),對應(yīng)的關(guān)聯(lián)規(guī)則應(yīng)該為1條:《麥田里的守望者》《呼嘯山莊》=[100%]?<1>《平凡的世界》《傲慢與偏見》,如圖4所示。
由圖4 可以看出,“學(xué)生7”同時借過《平凡的世界》《傲慢與偏見》《麥田里的守望者》《呼嘯山莊》這4 本書。對于“學(xué)生12”“學(xué)生3”“學(xué)生2”“學(xué)生5”來說,他們只借過其中的幾本書,所以可以把這4 本書中,各自沒借閱過的圖書推薦給他們。
(3)選擇“1 ?N”模式,點(diǎn)擊標(biāo)簽為《呼嘯山莊》的概念,對應(yīng)的關(guān)聯(lián)規(guī)則有2條:1 ?1模式的關(guān)聯(lián)規(guī)則為《傲慢與偏見》=[100%]?<2>《呼嘯山莊》。
“1 ?N”模式的關(guān)聯(lián)規(guī)則為:《羊脂球》=[100%]?<2>《紅與黑》《呼嘯山莊》;根據(jù)這兩種模式的關(guān)聯(lián)規(guī)則可視化的結(jié)果,如圖5所示。
由圖5 可以看出,《呼嘯山莊》與《傲慢與偏見》《紅與黑》《羊脂球》這3 本書之間存在的關(guān)聯(lián)關(guān)系,這種多條規(guī)則融合的關(guān)聯(lián)規(guī)則可視化提高了數(shù)據(jù)分析的多樣性。通過分析,對借閱過《傲慢與偏見》和《呼嘯山莊》的“學(xué)生7”來說,他沒有借閱過《紅與黑》《羊脂球》這2 本書,但是由于這4 本書之間的強(qiáng)關(guān)聯(lián)關(guān)系,所以可以把《紅與黑》和《羊脂球》推薦給他;同樣地,對借閱過《呼嘯山莊》和《紅與黑》的“學(xué)生5”來說,可以把《羊脂球》和《傲慢與偏見》推薦給他。
由圖3、4、5可以看到,以概念格為背景的關(guān)聯(lián)規(guī)則可視化很直觀且有意義,特別是在融合多條相關(guān)的關(guān)聯(lián)規(guī)則的時候,能夠在較為全面的知識背景下進(jìn)行數(shù)據(jù)分析。對于用戶來說,不僅僅是對于規(guī)則本身的認(rèn)識,更是將對象與屬性結(jié)合起來全面分析,使用戶對關(guān)聯(lián)規(guī)則的理解和使用更加充分,對知識的發(fā)現(xiàn)更加徹底。
目前,關(guān)聯(lián)規(guī)則的可視化受限于傳統(tǒng)的具有強(qiáng)烈前后指向表示的方法。隨著數(shù)據(jù)科學(xué)的發(fā)展,知識背景下的每一條數(shù)據(jù)都是有價值的,因此忽略非關(guān)聯(lián)的關(guān)系是不合理的。將關(guān)聯(lián)規(guī)則具體表示在一個較為全面的數(shù)據(jù)結(jié)構(gòu)-概念格中,能夠在較為完備的知識背景下進(jìn)行數(shù)據(jù)的可視化,并且在數(shù)據(jù)分析和潛在知識分析和挖掘方面具有很好的效果。
本文實(shí)現(xiàn)的關(guān)聯(lián)規(guī)則以概念格為背景的可視化與現(xiàn)有的基于表、矩陣,基于有向圖以及基于Vis_Meta 圖和超圖相比具有以下優(yōu)點(diǎn):能夠?qū)ο蠛蛯傩越Y(jié)合在一起進(jìn)行更全面的數(shù)據(jù)分析,原來關(guān)聯(lián)規(guī)則僅僅是分析屬性之間的關(guān)聯(lián)關(guān)系具有一定的局限性,現(xiàn)結(jié)合對象和屬性兩個層次,在一定程度上提高了數(shù)據(jù)分析的準(zhǔn)確性;能夠?qū)崿F(xiàn)一對多、多對一和多對多的多模式關(guān)聯(lián)規(guī)則可視化,提高可視化的程度;能夠充分將關(guān)聯(lián)規(guī)則融入知識背景,幫助用戶得到更多的信息和發(fā)掘一些潛在的知識,從而促進(jìn)用戶決策和幫助智能數(shù)據(jù)分析與推薦,提高了知識的共享性;能夠?qū)㈥P(guān)聯(lián)關(guān)系更清晰直觀地展示,促進(jìn)用戶對知識的理解與掌握。
圖5 1 ?N 模式的關(guān)聯(lián)規(guī)則可視化
通過對概念格和關(guān)聯(lián)規(guī)則的分析與研究,本文提出了一種以概念格為背景的關(guān)聯(lián)規(guī)則可視化方法,增加了關(guān)聯(lián)規(guī)則可視化的多樣性,并將概念格的理論和應(yīng)用密切結(jié)合,實(shí)現(xiàn)了一對一、多對一、一對多和多對多這4種模式的關(guān)聯(lián)規(guī)則可視化,在概念格的基礎(chǔ)上展示關(guān)聯(lián)規(guī)則,不僅能夠提高關(guān)聯(lián)規(guī)則可視化的多樣性,而且使用戶在概念層次對關(guān)聯(lián)規(guī)則的理解更加深刻,并且能夠幫助用戶更加全面地分析概念之間的關(guān)系,最終得到一些潛在的知識發(fā)現(xiàn)和推論。文中以圖書館借書記錄為數(shù)據(jù)源,對算法進(jìn)行了實(shí)現(xiàn)和驗(yàn)證。實(shí)驗(yàn)結(jié)果表明本文所提出的關(guān)聯(lián)規(guī)則可視化方法具有良好的效果,提高知識共享性和用戶交互性,在很大程度上提高了數(shù)據(jù)分析的全面性,在圖書館管理系統(tǒng)等平臺中能提高智能推薦的準(zhǔn)確性和多樣性。
在高維大數(shù)據(jù)的應(yīng)用方面,針對屬性多的情況,可通過允許用戶自定義興趣點(diǎn)屬性,快速聚焦用戶感興趣的內(nèi)容,從而實(shí)現(xiàn)維規(guī)約,提高計(jì)算效率,然后在此基礎(chǔ)上通過本文可視化方法進(jìn)行規(guī)則的高亮,幫助用戶深化對知識的見解。針對概念節(jié)點(diǎn)較多的情況,由于概念格現(xiàn)有布局結(jié)構(gòu)的局限性,大量數(shù)據(jù)的可視化可能會造成視覺的混亂。因此,在下一步的工作中,一方面可研究如何結(jié)合概念格的布局算法將該可視化方法擴(kuò)展到高維大數(shù)據(jù)中;另一方面可研究子格的折疊與展開理論,將之加入布局算法中,從而減少節(jié)點(diǎn)多而造成的視覺混亂的情況,讓用戶能夠直觀獲取和理解更多的知識,提高軟件的通用性和實(shí)用性。