于春霞,宋新旗
YU Chun-xia,SONG Xin-qi
(黃河科技學(xué)院,鄭州 450063)
試驗(yàn)數(shù)據(jù)主要是其中的用戶點(diǎn)擊流文件。它包括217個(gè)屬性,777,480個(gè)記錄;測(cè)試數(shù)據(jù)集包括215個(gè)屬性,164,364個(gè)記錄。它的文件大小是1.148.6M,包含了很多原始記錄,每個(gè)記錄是一個(gè)網(wǎng)頁(yè)瀏覽,同時(shí)也包括了用戶的信息。
我們會(huì)從表中發(fā)現(xiàn)有許多重復(fù)的會(huì)話和用戶信息,另外原始的文件太大,其中有許多屬性與我們的問題關(guān)聯(lián)不大,如email,country等屬性,于是我們從中挑選了三十多個(gè)屬性,如服務(wù)器日志本身記錄的信息客戶端IP,服務(wù)器名稱,用戶請(qǐng)求,日期,協(xié)議版本等,用戶的一些信息性別,年齡,職業(yè),住址等。在這些屬性上面作投影,從而我們的訓(xùn)練數(shù)據(jù)得到很大的精簡(jiǎn)。在此基礎(chǔ)上,通過前面描述的數(shù)據(jù)凈化,用戶識(shí)別,會(huì)話識(shí)別等過程處理后,形成一個(gè)預(yù)處理的會(huì)話文件,其中的重復(fù)的會(huì)話信息和用戶信息可以合并。
在經(jīng)過預(yù)處理的web日志中尋找事務(wù)的方法如下[1]:
1)根據(jù)每一個(gè)訪問者的IP,劃分日志,即在日志中找到每一個(gè)訪問者的訪問記錄集。
2)對(duì)每一個(gè)訪問者的訪問記錄集,根據(jù)C進(jìn)行分割,找到每一個(gè)訪問者的每一次訪問記錄集,這時(shí),每一個(gè)訪問者的每一次訪問記錄就構(gòu)成了一個(gè)訪問事務(wù)。
3)最終按時(shí)間排序的所有訪問事務(wù)形成訪問事務(wù)集T。
每一個(gè)用戶訪問事務(wù)相當(dāng)于用戶對(duì)站點(diǎn)的一條訪問路徑。用戶的訪問事務(wù)集就是全體用戶在一個(gè)時(shí)間段內(nèi)對(duì)站點(diǎn)的訪問路徑集T,T構(gòu)成了我們進(jìn)行挖掘的基礎(chǔ)。
下面我們考慮解決問題2的方法,我們的目的是要預(yù)測(cè)用戶將要訪問含有那些品牌的網(wǎng)頁(yè)。我們的事務(wù)集T包括的屬性有網(wǎng)頁(yè)瀏覽的信息,如請(qǐng)求者的地址,請(qǐng)求的網(wǎng)頁(yè)地址,請(qǐng)求時(shí)間等屬性;另外,還包括用戶的一些信息,如收入,職業(yè),年齡等。我們要特別注意的是最后的一個(gè)屬性(ViewedBrand:Hanes,AmericanEssentials,DonnaKaran,Other,Null)。這是因?yàn)樵谖覀兊狞c(diǎn)擊流文件中,有很多用戶訪問了含有Hanes,AmericanEssentials,DonnaKaran品牌的網(wǎng)頁(yè),于是,我們把含有這些品牌的網(wǎng)頁(yè)各作為一類;訪問含有其他品牌的網(wǎng)頁(yè)的比例非常小,所以我們把所有這些含有這些品牌的網(wǎng)頁(yè)作為一類,用Other來(lái)表示;最后我們把不含有品牌的網(wǎng)頁(yè)用Null來(lái)表示。下面運(yùn)用上章討論的關(guān)聯(lián)關(guān)則分類方法將在己有的事務(wù)集上找出所有可能的CARS,然后用這些CARS構(gòu)造一個(gè)分類器來(lái)預(yù)測(cè)用戶的興趣。方法是這樣的,我們把ViewedBrands屬性看成類別屬性,剩下的屬性當(dāng)作條件屬性去處理。在挖掘關(guān)聯(lián)規(guī)則以前,我們先要確定最小的支持度和可信度。經(jīng)過多次試驗(yàn)之后,我們發(fā)現(xiàn)最小的支持度為0.1%,可信度為70%時(shí),試驗(yàn)的效果較好。我們分別用傳統(tǒng)的分類規(guī)則挖掘算法和改進(jìn)后的用于web挖掘的分類規(guī)則挖掘算法進(jìn)行處理。
下面是兩算法所用的時(shí)間對(duì)比圖:
圖1 傳統(tǒng)的和用于web使用挖掘的類別關(guān)聯(lián)規(guī)則挖掘算法效率對(duì)比圖
從圖1中,可以看出改進(jìn)后算法效率有很大的提高,這是因?yàn)楦倪M(jìn)的算法首先采用FP-growth算法挖掘頻繁項(xiàng)集,這要比Apriori算法的效率要提高一個(gè)數(shù)量集;另外,對(duì)頻繁項(xiàng)集中不包含決策屬性值的頻繁項(xiàng)集不做任何操作,因?yàn)檫@些頻繁項(xiàng)集無(wú)法產(chǎn)生所需的類別關(guān)聯(lián)規(guī)則;其次對(duì)剩余的頻繁項(xiàng)只以頻繁項(xiàng)中的決策屬性值作為規(guī)則的類別屬性Y,其余條件屬性值組合作為規(guī)則的前件(condset)來(lái)生成規(guī)則;所以算法效率有很大的提高。
分析我們的所得的規(guī)則,明顯看出當(dāng)用戶訪問了Fashionmall網(wǎng)頁(yè)或Winniecooper網(wǎng)頁(yè)時(shí),他就很可能訪問Hanes,DonnaKaran商標(biāo);而當(dāng)用戶訪問了Mycoxpons網(wǎng)頁(yè)或Tripod網(wǎng)頁(yè)時(shí),他就很可能訪問AmericanEssential商標(biāo)。為了更好的描述實(shí)驗(yàn)結(jié)果,設(shè)REL表示在測(cè)試數(shù)據(jù)集中的某一類別網(wǎng)頁(yè)頻道集合,RET表示在測(cè)試數(shù)據(jù)集中我們預(yù)測(cè)的某一類別網(wǎng)頁(yè)頻道集合。我們先作如下定義:
Recall=RET∩REL/REL,表示在測(cè)試數(shù)據(jù)集中,我們預(yù)測(cè)的某一網(wǎng)頁(yè)頻道類別集合實(shí)際上與某一類別頻道集合的百分比。
Precision=RET∩REL/RET,表示在測(cè)試數(shù)據(jù)集中,某一類別頻道與我們預(yù)測(cè)的某一類別頻道的百分比。實(shí)驗(yàn)結(jié)果如表1所示:
表1 傳統(tǒng)關(guān)聯(lián)分類方法的預(yù)測(cè)性能
事實(shí)上,Recall衡量了我們能預(yù)測(cè)多少用戶對(duì)某個(gè)網(wǎng)頁(yè)頻道感興趣,Precision衡量了預(yù)測(cè)的準(zhǔn)確性。在上面的實(shí)驗(yàn)數(shù)據(jù)中,我們可以看出,傳統(tǒng)的關(guān)聯(lián)分類方法和在改進(jìn)后用于web使用挖掘的關(guān)聯(lián)分類方法在預(yù)測(cè)的準(zhǔn)確性方面差別不大,但在效率方面,兩者差距較大。它們的Recall的值是相當(dāng)不錯(cuò)的,基本上達(dá)到了50。預(yù)測(cè)也是很準(zhǔn)確的,Precision的值也基本上達(dá)到了90%。
表2 改進(jìn)后用于web使用挖掘的關(guān)聯(lián)分類方法的預(yù)測(cè)性能
下面我們運(yùn)用ID3算法對(duì)web用戶興趣預(yù)測(cè),首先,我們來(lái)訓(xùn)練判定樹,然后,來(lái)用它來(lái)預(yù)測(cè)用戶的訪問興趣。
試驗(yàn)結(jié)果如表3所示:
表3 ID3算法的預(yù)測(cè)性能
在此,我們把這三種方法的試驗(yàn)效果用點(diǎn)線圖表示出來(lái),我們可以看到,傳統(tǒng)的關(guān)聯(lián)分類方法與用于web使用挖掘的關(guān)聯(lián)分類方法在效果上沒有大的差別,但它們的效果明顯的都要比ID3方法的試驗(yàn)效果好。
圖2 三種方法的試驗(yàn)效果對(duì)比圖
所以,改進(jìn)的用于web使用挖掘的關(guān)聯(lián)規(guī)則分類算法對(duì)web用戶的興趣預(yù)測(cè)是有效的,一方面,它比傳統(tǒng)的關(guān)聯(lián)規(guī)則分類算法的效率有很大的提高,另一方面,一般而言,它比一些決策樹方法的效果要好。
站點(diǎn)的個(gè)性化服務(wù)會(huì)針對(duì)不同的用戶提供不同的服務(wù),盡最大努力的使用戶方便,快捷的獲得信息,同時(shí),也可以對(duì)不同的用戶提供不同的商務(wù)活動(dòng)。它主要是根據(jù)用戶以前的訪問信息來(lái)提供服務(wù),也就是說,當(dāng)前用戶已有一個(gè)訪問序列,那么具有類似訪問序列的其他用戶(這些用戶與該用戶具有相同的訪問興趣)的下一次訪問可以為該用戶提供推薦[2]。當(dāng)然,要更好的對(duì)用戶提供個(gè)性化服務(wù),還必須對(duì)站點(diǎn)本身的內(nèi)容有更好的組織,所以,內(nèi)容挖掘和結(jié)構(gòu)挖掘?qū)μ峁﹤€(gè)性化服務(wù)來(lái)說也特別重要。本文提出一種站點(diǎn)的個(gè)性化推薦結(jié)構(gòu),它不僅用到使用挖掘,還要用到內(nèi)容挖掘等,結(jié)構(gòu)如下所示:
系統(tǒng)主要分為在線部分和離線部分:
離線部分:
使用挖掘:根據(jù)網(wǎng)站的結(jié)構(gòu)信息,使用記錄,用戶本身記錄進(jìn)行使用挖掘,找出站點(diǎn)的使用模式。
內(nèi)容挖掘:對(duì)站點(diǎn)的本身頁(yè)面信息,結(jié)構(gòu)信息和從搜索引擎搜到的頁(yè)面進(jìn)行內(nèi)容挖掘,來(lái)更好的對(duì)網(wǎng)站的信息進(jìn)行組織。同時(shí),可以通過搜索引擎來(lái)彌補(bǔ)站點(diǎn)本身內(nèi)容的有限性。
在線部分:
圖3 一種基于web挖掘的網(wǎng)站個(gè)性化推薦系統(tǒng)結(jié)構(gòu)
推薦引擎識(shí)別出每個(gè)用戶的當(dāng)前交互會(huì)話,得到每個(gè)用戶的當(dāng)前訪問序列,進(jìn)而根據(jù)使用模式信息得到用戶的下一些可能訪問的頁(yè)面類別,這些頁(yè)面的地址被附加到用戶當(dāng)前訪問頁(yè)面的底部,以進(jìn)行推薦。個(gè)節(jié)點(diǎn)可以通信,通過競(jìng)爭(zhēng)機(jī)制來(lái)獲取信道。每個(gè)節(jié)點(diǎn)周期性睡眠和監(jiān)聽信道,如果信道空閑則主動(dòng)搶占信道,如果信道繁忙則根據(jù)退避算法退避一段時(shí)間后重新監(jiān)聽信道狀態(tài)。在程序設(shè)計(jì)中主要采集中斷的方法完成信息的接收和發(fā)送。
圖3 主程序流程
基于無(wú)線傳感器網(wǎng)絡(luò)的智能小區(qū)監(jiān)控系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,耗電量小,布線方便,并能實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)覆蓋區(qū)域的煤氣泄流和火災(zāi)災(zāi)害。提高了小區(qū)安??刂葡到y(tǒng)的靈活性及安全性。
[1]鄧瑩,張麗,劉有源.基于無(wú)線傳感器網(wǎng)絡(luò)的智能建筑安防系統(tǒng)研究[J].中國(guó)水運(yùn),2007,(5).133-134.
[2]柴淑娟,趙建平,基于無(wú)線傳感器網(wǎng)絡(luò)的水質(zhì)監(jiān)測(cè)系統(tǒng)的研究[J].曲阜師范大學(xué)學(xué)報(bào),2010(36)75-77.
[3]基于CC2430的無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)[J].電子產(chǎn)品世界,2010,11.