鄒麗新
(福建江夏學(xué)院 電子信息科學(xué)系,福建 福州 350108)
用戶點(diǎn)擊網(wǎng)站每天都會(huì)產(chǎn)生大量的數(shù)據(jù),這些數(shù)據(jù)被稱作點(diǎn)擊流數(shù)據(jù).點(diǎn)擊流,顧名思義,就是訪問(wèn)者在網(wǎng)上的持續(xù)的訪問(wèn)軌跡.它從各方面詳盡地反映出用戶訪問(wèn)Web的細(xì)節(jié),其中包含很多潛在的非常有用的信息,例如,客戶的行為和客戶的興趣等.通過(guò)對(duì)其深入分析,能更深刻地理解用戶行為,也有利于明確數(shù)據(jù)挖掘的任務(wù),改善網(wǎng)頁(yè)設(shè)計(jì)和提供決策支持等.
本文所研究的點(diǎn)擊流數(shù)據(jù)為學(xué)校Web服務(wù)器上的日志文件.現(xiàn)在有3種公開的標(biāo)準(zhǔn)日志文件格式用來(lái)記錄日志文件.這3種開放格式是:NCSA的普通日志格式CLF(common log format);NCSA的擴(kuò)展日志格式ECLF(extendedcommon log format)和W3C的擴(kuò)展日志文件ExLF(extended logfile format).其中,ExLF是唯一一種能夠定制那些特殊的域并寫入日志的標(biāo)準(zhǔn)化日志格式.而且它還提供更詳細(xì)的可選域的集合.所以這種格式也比較適合于研究點(diǎn)擊流數(shù)據(jù).本文采用對(duì)ExLF格式進(jìn)行域擴(kuò)展來(lái)獲得學(xué)生點(diǎn)擊行為的數(shù)據(jù).ExLF的域很多,表1僅列出與本文的分析主題相關(guān)而所需的日志格式的域:
下文對(duì)教務(wù)網(wǎng)站服務(wù)器上的一條日志進(jìn)行直觀的分析:
#Software:Microsoft Internet Information Services 6.0
#Version:1.0
#Date:2008-05-16 16:00:01
#Fields:date time cs-method cs-uri-stem cs-uri-query cs-username c-ip cs(User-Agent)cs(Referer)sc-statustime-taken
2008-05-16 16:00:05 GET /WebCourse/courseelective/schoolelectivepublic.aspx--
192.168.6.43
Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506;+InfoPath.1;+.NET+CLR+1.1.4322)
http://10.4.12.13/webcourse/login.aspx 200 330
表1 W3C擴(kuò)展日志格式的部分域描述[1]
該例子中有四條指令,前三條說(shuō)明該網(wǎng)站的Web服務(wù)器采用微軟IIS6.0;日志版本使用1.0的ExLF格式;日志文件產(chǎn)生的時(shí)間是2008年5月16日16點(diǎn)00分01秒.第四條指令說(shuō)明日志文件包含的域有date、time、cs-method、cs-uri-stem、cs-uri-query、cs-username、c-ip、cs(User-Agent)、cs(Referer)、sc-status、time-taken,其中域前綴c-表示客戶端,cs-表示客戶端到服務(wù)器端,sc-表示服務(wù)器端到客戶端.
日志文件的數(shù)據(jù)記錄的第一行說(shuō)明,用戶訪問(wèn)時(shí)間是2008年5月16日,16點(diǎn)00分01秒,客戶請(qǐng)求命令的方式為GET,客戶請(qǐng)求的資源是/WebCourse/courseelective/schoolelectivepublic.aspx,查詢?yōu)榭?,訪客用戶名為空(由于通常用戶沒(méi)有進(jìn)行注冊(cè),故用‘-’符號(hào)表示日志中為空的域),客戶IP地址是192.168.6.43,訪客所用的操作系統(tǒng)為Windows NT 6.0,瀏覽器類型為微軟IE7.0,瀏覽本網(wǎng)頁(yè)前訪客訪問(wèn)的是http://10.4.12.13/webcourse/login.aspx,HTTP狀態(tài)碼為200,請(qǐng)求完成的時(shí)間為330秒.
點(diǎn)擊流數(shù)據(jù)的預(yù)處理技術(shù)關(guān)系著數(shù)據(jù)挖掘的質(zhì)量,是Web數(shù)據(jù)挖掘中的一個(gè)重要的研究方向.其預(yù)處理過(guò)程一般包括:數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換、用戶識(shí)別、用戶會(huì)話識(shí)別、補(bǔ)全路徑和事務(wù)識(shí)別等.
實(shí)驗(yàn)數(shù)據(jù)集:在現(xiàn)實(shí)的應(yīng)用中所涉及的數(shù)據(jù)應(yīng)該是幾個(gè)月、季度甚至幾年的龐大數(shù)據(jù),本文僅選用某高校教務(wù)管理系統(tǒng)服務(wù)器上一天的日志文件,記錄了從2008-01-02:16:00至2008-01-03:16:00,即24個(gè)小時(shí)的點(diǎn)擊信息,用來(lái)直觀說(shuō)明如何從這些點(diǎn)擊流數(shù)據(jù)中挖掘出學(xué)生的訪問(wèn)模式和網(wǎng)站的統(tǒng)計(jì)分析.
2.1數(shù)據(jù)清洗
Web日志的清洗工作在很多文獻(xiàn)都有討論[2-3].數(shù)據(jù)清洗就是要濾掉多余的記錄,合并相關(guān)數(shù)據(jù)并從數(shù)據(jù)集中清除不恰當(dāng)?shù)幕蛉哂嗟臄?shù)據(jù)項(xiàng).本文采用的方法是除去URL中包含后綴為gif,GIF,jpeg,JPEG,jpg,JPG,map,swf,css等與我們分析主題無(wú)關(guān)的圖形、圖像、聲音文件的日志記錄以及刪除請(qǐng)求被重定向和標(biāo)識(shí)存在錯(cuò)誤的記錄,本文中只取狀態(tài)碼以2開頭的成功訪問(wèn)的記錄.
所選用的日志數(shù)據(jù)集原始數(shù)據(jù)共有132497條,根據(jù)url字段后綴以及status字段值進(jìn)行數(shù)據(jù)清洗后剩余58673條記錄,約為原始記錄總數(shù)的44.28%,所得到的表記為tempclickfact.
2.2數(shù)據(jù)轉(zhuǎn)換
為便于數(shù)據(jù)的進(jìn)一步處理,需確定適當(dāng)?shù)臄?shù)據(jù)表示形式,為此本文對(duì)日志記錄中的訪問(wèn)頁(yè)url進(jìn)行編號(hào).采用的方法是利用SQL語(yǔ)句:select distict cs-uri-stem from WebLog,從已經(jīng)數(shù)據(jù)清洗過(guò)的日志表WebLog中選出用戶訪問(wèn)過(guò)的不同的URL,然后根據(jù)網(wǎng)站數(shù)據(jù)庫(kù)中的頁(yè)面維表分別給出頁(yè)面編號(hào)urlid.
通過(guò)數(shù)據(jù)轉(zhuǎn)換,統(tǒng)計(jì)出數(shù)據(jù)集中共有121個(gè)不同的頁(yè)面即url,在處理過(guò)程中也統(tǒng)計(jì)出各個(gè)頁(yè)面對(duì)應(yīng)的訪問(wèn)次數(shù)num.從結(jié)果可以看出,urlid為58的頁(yè)面在該時(shí)間段內(nèi)的點(diǎn)擊量為9876次,為訪問(wèn)次數(shù)最多的頁(yè)面.
2.3用戶識(shí)別
由于本地緩存、代理服務(wù)器和防火墻的存在,導(dǎo)致Web日志無(wú)法精確記錄用戶的瀏覽行為,也是用戶識(shí)別的困難所在.為了更準(zhǔn)確地確定用戶,利用結(jié)合IP地址和日志中的啟發(fā)式信息對(duì)用戶及用戶訪問(wèn)事務(wù)進(jìn)行識(shí)別.例如,對(duì)于IP地址相同的日志記錄,可以觀察日志記錄中主機(jī)代理cs(user-agent)這個(gè)字段,這個(gè)字段記錄了訪問(wèn)者使用的瀏覽器或操作系統(tǒng)的版本.如果該字段所記錄的瀏覽器或操作系統(tǒng)不一樣,那么就可以假設(shè)是不同的用戶使用了同樣的IP地址.
用戶識(shí)別后得到1464用戶,根據(jù)所得到的users表以及url表,進(jìn)一步對(duì)表tempclickfact進(jìn)行處理,得到表clickfact,即點(diǎn)擊事實(shí)表,部分?jǐn)?shù)據(jù)如圖1所示,其中字段clickid為點(diǎn)擊編號(hào).
圖1 clickfact表
2.4用戶會(huì)話識(shí)別
本文采用基于時(shí)間的啟發(fā)式方法進(jìn)行會(huì)話識(shí)別,即同一用戶依次發(fā)出相鄰的頁(yè)面請(qǐng)求之間的時(shí)間間隔如不超過(guò)時(shí)間閾值,那么這兩個(gè)頁(yè)面請(qǐng)求屬于同一個(gè)會(huì)話.如果一個(gè)用戶的日志記錄跨度超過(guò)時(shí)間閥值,那么可以猜測(cè),該用戶多次訪問(wèn)了該網(wǎng)站.本文將時(shí)間閥值設(shè)定為20分鐘,時(shí)限的選擇可以通過(guò)日志的統(tǒng)計(jì)分析來(lái)確定.當(dāng)判斷不屬于同一個(gè)會(huì)話時(shí),在數(shù)據(jù)庫(kù)表中添加一個(gè)域會(huì)話編號(hào)sessionid,用于存儲(chǔ)進(jìn)行識(shí)別后的會(huì)話標(biāo)識(shí).通過(guò)用戶會(huì)話識(shí)別,得到2062個(gè)會(huì)話,在圖2 sessionfact中,其中字段surlid表示會(huì)話入口頁(yè)面編號(hào),字段furlid表示會(huì)話結(jié)束頁(yè)面編號(hào),字段lasttime為會(huì)話的持續(xù)時(shí)間,sessionid為會(huì)話編號(hào).
圖2 sessionfact表
經(jīng)過(guò)上述四個(gè)步驟的數(shù)據(jù)預(yù)處理后,按照Raphl Kimball在《數(shù)據(jù)倉(cāng)庫(kù)工具箱》中提出的維度建模方法指導(dǎo)設(shè)計(jì)數(shù)據(jù)倉(cāng)庫(kù),分三個(gè)步驟逐步建立點(diǎn)擊流數(shù)據(jù)倉(cāng)庫(kù).
在點(diǎn)擊流數(shù)據(jù)倉(cāng)庫(kù)建成后,希望通過(guò)OLAP分析和數(shù)據(jù)挖掘了解網(wǎng)站的運(yùn)行情況和對(duì)用戶的行為進(jìn)行深入分析.因此建立的點(diǎn)擊流數(shù)據(jù)倉(cāng)庫(kù)應(yīng)支持網(wǎng)站流量統(tǒng)計(jì),實(shí)現(xiàn)用戶行為分析這兩個(gè)目標(biāo)(分析主題).本文通過(guò)在所建立的數(shù)據(jù)立方體結(jié)構(gòu)中,利用多維擴(kuò)展語(yǔ)言(MDX)分析數(shù)據(jù)和借助OLAP對(duì)數(shù)據(jù)立方體進(jìn)行切片、切塊、下鉆、上卷及旋轉(zhuǎn)等操作.
為了給網(wǎng)站管理員、網(wǎng)站運(yùn)營(yíng)商提供更全面的統(tǒng)計(jì)信息及用戶行為模式,本實(shí)驗(yàn)中通過(guò)圖表、透視圖等直觀的方式展示分析結(jié)果.
3.1統(tǒng)計(jì)分析
(1)某時(shí)段網(wǎng)站的總點(diǎn)擊量.該網(wǎng)站在2008-01-02:16:00至2008-01-03:16:00時(shí)段的總點(diǎn)擊量為58673次.
圖3顯示各個(gè)頁(yè)面每天的點(diǎn)擊次數(shù),圖中以u(píng)rlid為x軸,date為y軸,clickid的計(jì)數(shù)為z軸,urlid表示頁(yè)面編號(hào),date表示日期,clickid表示點(diǎn)擊編號(hào).從圖中可以很明顯看出各個(gè)頁(yè)面的訪問(wèn)情況,比如在2008-01-02,urlid為46的頁(yè)面被訪問(wèn)971次,為訪問(wèn)最頻繁的頁(yè)面.在實(shí)際應(yīng)用中,可以以年、月等為y軸,反映出較長(zhǎng)一段時(shí)間內(nèi)的訪問(wèn)情況.
圖3 各網(wǎng)頁(yè)訪問(wèn)頻率透視圖
(2)某時(shí)段網(wǎng)站的總訪問(wèn)人次.該網(wǎng)站在2008-01-02:16:00至2008-01-03:16:00時(shí)段內(nèi)的總訪問(wèn)人次為2062人次.圖4顯示按時(shí)段會(huì)話次數(shù),即訪問(wèn)人次進(jìn)行統(tǒng)計(jì).從中可以看出8時(shí)到11時(shí)以及13時(shí)到14時(shí)為訪問(wèn)人次比較多的時(shí)段.
圖4 各時(shí)段訪問(wèn)人次透視圖
(3)訪問(wèn)最頻繁與訪問(wèn)量最少的頁(yè)面.在數(shù)據(jù)轉(zhuǎn)換中我們得到的表中,可得出urlid為58的頁(yè)面總共有9876次,為訪問(wèn)最頻繁的頁(yè)面.
通過(guò)Analysis Servcies MDX查詢統(tǒng)計(jì)出總訪問(wèn)量為前三名的頁(yè)面:
Select
Topcount([url].[All].children,3,[measures].[urlid])on columns,
[measures].[urlid] on rows
From click_cube
與上同理,統(tǒng)計(jì)出urlid為120的頁(yè)面在實(shí)驗(yàn)時(shí)段內(nèi)總訪問(wèn)次數(shù)為2次,為訪問(wèn)量最少的頁(yè)面.
(4)某時(shí)段訪問(wèn)網(wǎng)站的總時(shí)間.通過(guò)SQL語(yǔ)句對(duì)表sessionfact進(jìn)行簡(jiǎn)單運(yùn)算,可以得到在實(shí)驗(yàn)數(shù)據(jù)集的時(shí)段內(nèi),總訪問(wèn)時(shí)間為592757秒,約164.64小時(shí),平均訪問(wèn)持續(xù)時(shí)間為287秒.
3.2用戶行為分析
(1)用戶喜歡從哪個(gè)頁(yè)面開始訪問(wèn)網(wǎng)站.通過(guò)MDX查詢可以得到1595次的會(huì)話在surlid為60的頁(yè)面開始會(huì)話.
通過(guò)OLAP分析,得到從urlid為60~70的頁(yè)面開始的會(huì)話有1668次,約占總會(huì)話次數(shù)(2062次)的81%.由此,可以給我們發(fā)布一些重要通知時(shí)選擇哪個(gè)網(wǎng)頁(yè)提供決策支持.
(2)用戶一般在哪個(gè)頁(yè)面結(jié)束了訪問(wèn).同上,通過(guò)MDX查詢可以得到541次的會(huì)話在furlid為93的頁(yè)面結(jié)束會(huì)話,480次的會(huì)話在furlid為66的頁(yè)面結(jié)束會(huì)話.其中在furlid為57~67的頁(yè)面結(jié)束的會(huì)話有748次,在furlid為90~100的頁(yè)面結(jié)束的會(huì)話有637次,總計(jì)約占總會(huì)話次數(shù)的67.2%.由此,可以考慮是這些網(wǎng)頁(yè)設(shè)計(jì)存在缺陷還是是學(xué)生已經(jīng)達(dá)到訪問(wèn)的目的離開了本網(wǎng)站.
(3)平均訪問(wèn)時(shí)間.圖5展示了會(huì)話持續(xù)時(shí)間分布圖,從圖中可以很直觀發(fā)現(xiàn)有1003次的會(huì)話,其會(huì)話持續(xù)時(shí)間在0~119S;285次的會(huì)話,其會(huì)話持續(xù)時(shí)間落在120~239S.對(duì)于網(wǎng)站來(lái)說(shuō),通過(guò)會(huì)話長(zhǎng)度可以判斷出用戶對(duì)該網(wǎng)站的興趣程度,幫助網(wǎng)站的進(jìn)一步改善.
圖5 會(huì)話持續(xù)時(shí)間分布圖
圖6 會(huì)話開始時(shí)間分布圖
(4)用戶一般喜歡在哪個(gè)時(shí)間段訪問(wèn)該網(wǎng)站.通過(guò)圖6可以很直觀看出在各時(shí)間段的訪問(wèn)人次比例,其中在2008-1-3的08:42~11:05開始的會(huì)話所占比例為20%,相對(duì)而言為訪問(wèn)人次最多的時(shí)間段.圖中,stime表示會(huì)話開始的時(shí)間,數(shù)值為相應(yīng)的時(shí)間段內(nèi)的會(huì)話總數(shù)(訪問(wèn)人次數(shù)),百分比為對(duì)應(yīng)時(shí)間段內(nèi)的訪問(wèn)人次數(shù)占總時(shí)間內(nèi)的訪問(wèn)人次的百分比.
本文引入了數(shù)據(jù)倉(cāng)庫(kù)技術(shù)和數(shù)據(jù)挖掘技術(shù)對(duì)教務(wù)管理網(wǎng)站的web日志進(jìn)行挖掘,實(shí)現(xiàn)了網(wǎng)站的統(tǒng)計(jì)分析和用戶行為分析,獲取了潛在的有用信息.高??梢酝ㄟ^(guò)對(duì)這些信息數(shù)據(jù)進(jìn)行深層次分析,了解網(wǎng)站的經(jīng)營(yíng)狀況、了解用戶行為,讓學(xué)校網(wǎng)站更好地為全校師生服務(wù).
參考文獻(xiàn):
[1]Mark Sweiger Jimmy Langston.點(diǎn)擊流數(shù)據(jù)倉(cāng)庫(kù)[M].陸昌輝,譯.北京:電子工業(yè)出版社,2004.
[2]李雙雙,陳毅文.點(diǎn)擊流:一種研究網(wǎng)上消費(fèi)者的新范式[J].心理科學(xué)進(jìn)展,2007,15(4):715-720.
[3]張波,巫莉莉,周敏.基于Web使用挖掘的用戶行為分析[J].計(jì)算機(jī)科學(xué),2006,33(8).