1 引言
隨著數(shù)據(jù)分析、數(shù)據(jù)挖掘技術(shù)以及互聯(lián)網(wǎng)的不斷發(fā)展,人們逐漸發(fā)現(xiàn)了將兩者結(jié)合的巨大價值。通過對Web的分析和挖掘,可以使互聯(lián)網(wǎng)企業(yè)發(fā)現(xiàn)隱藏在互聯(lián)網(wǎng)中有價值的信息,掌握海量數(shù)據(jù)中蘊藏的廣闊商機,從而在競爭激烈的互聯(lián)網(wǎng)業(yè)處于不敗之地。
2 基本概念
2.1 商業(yè)智能
商業(yè)智能(Business Intelligence),又稱商務(wù)智能,指通過使用數(shù)據(jù)倉庫(Data Warehouse)、在線分析處理(OLAP)和數(shù)據(jù)挖掘(Data Mining)等技術(shù),對數(shù)據(jù)進行分析,以實現(xiàn)商業(yè)價值。
2.2 數(shù)據(jù)倉庫
數(shù)據(jù)倉庫是一個面向主題的、集成的、穩(wěn)定的、隨時間不斷變化、并且支持企業(yè)或組織的管理或決策過程的技術(shù)!懊嫦蛑黝}”是指一個數(shù)據(jù)倉庫包含的內(nèi)容通常是一個領(lǐng)域內(nèi)的知識;“集成”是指數(shù)據(jù)倉庫中的數(shù)據(jù)并不是按照原始的流水的方式存放的,而是經(jīng)過分析、建模,經(jīng)過抽取、轉(zhuǎn)換、導入過程的結(jié)構(gòu)化的數(shù)據(jù);穩(wěn)定是指數(shù)據(jù)被放入到數(shù)據(jù)倉庫中后,很少會變動:隨時間變化是指新的數(shù)據(jù)可以不斷被入到數(shù)據(jù)倉庫中;而支持決策是因為結(jié)構(gòu)化的數(shù)據(jù)更有利于分析,從大量的數(shù)據(jù)中找出有價值的內(nèi)容。
2.3 OLAP
OLAP (Online Analytical Processing,聯(lián)機分析處理)系統(tǒng)是相對與OLTP(Online Transaction Processing,聯(lián)機事務(wù)處理)系統(tǒng)而言的。
OLTP系統(tǒng)記錄企業(yè)的日常數(shù)據(jù),旨在處理同時輸入的成百上千的事務(wù)。盡管OLTP系統(tǒng)擅長記錄支持日常操作所需的數(shù)據(jù),但是OLTP系統(tǒng)并不善于協(xié)助管理人員對數(shù)據(jù)進行匯總,以獲取分析影響單位或小組的趨勢所需的信息。
OLAP系統(tǒng)則旨在處理發(fā)現(xiàn)趨勢和關(guān)鍵因素所需的查詢。通常OLAP系統(tǒng)的查詢需要更多的數(shù)據(jù)。能包括一到多個OLTP系統(tǒng)的數(shù)據(jù)。存在OLAP系統(tǒng)中的數(shù)據(jù),不像OLTP系統(tǒng)中的數(shù)據(jù)那樣頻繁變更。OLAP數(shù)據(jù)被組織到多維數(shù)據(jù)集(cube)中,cube中的基本單元稱為度量值(Measure),記錄著經(jīng)過處理、計算的OLTP系統(tǒng)中的數(shù)據(jù)。由于Measure中的數(shù)據(jù)是經(jīng)過處理、計算的,并且cube可以有多個維度,因此非常便于查詢、分析。
2.4 數(shù)據(jù)挖掘
數(shù)據(jù)挖掘也被成為數(shù)據(jù)庫中的知識發(fā)現(xiàn)(Knowledge Discovery in Databases),是在OLAP或數(shù)據(jù)倉庫或大型數(shù)據(jù)庫的基礎(chǔ)上,從大量的數(shù)據(jù)中分析、提取出有價值的信息,發(fā)掘數(shù)據(jù)中存在的不易被發(fā)現(xiàn)的模式,或依據(jù)發(fā)掘出的模式做出預測。數(shù)據(jù)挖掘中常見的算法包括關(guān)聯(lián)、聚類、決策樹、時間序列、序列聚類、nalve貝葉思等。
Web挖掘是數(shù)據(jù)挖掘在web領(lǐng)域中一個應(yīng)用,主要分為三類:web內(nèi)容挖掘、web結(jié)構(gòu)挖掘、以及web日志挖掘。其中web日志挖掘是通過對用戶瀏覽網(wǎng)站的記錄進行分析與處理,得到互聯(lián)網(wǎng)用戶的偏好、習慣的使用模式等有價值的信息。這在互聯(lián)網(wǎng)企業(yè)的業(yè)務(wù)分析、調(diào)整方面有非常重要的作用。
3 Web日志分析系統(tǒng)的實現(xiàn)
3.1 基本結(jié)構(gòu)
圖1 Web日志分析系統(tǒng)結(jié)構(gòu)圖
從系統(tǒng)的結(jié)構(gòu)圖中可以看出。Web日志分析系統(tǒng)是由4部分組成的:“數(shù)據(jù)處理”、“數(shù)據(jù)倉庫”、“OLAP”和“數(shù)據(jù)挖掘”。整個流程使用Microsoft SQL Server數(shù)據(jù)轉(zhuǎn)換服務(wù)(Data Transformation Services,DTS)作為流程驅(qū)動,不需要人為參與,可以按計劃自動運行。
3.2 數(shù)據(jù)預處理與轉(zhuǎn)換
在大型的互連網(wǎng)站的Web日志中,出現(xiàn)亂碼、數(shù)據(jù)不合理等現(xiàn)象都是正常的,常見的原因主要有“并發(fā)訪問量大,日志記錄程序在并發(fā)壓力較大的情況下記錄出錯”、“網(wǎng)站系統(tǒng)的Bug”、“新舊系統(tǒng)不一致”、“用戶沒有輸入真實信息”等,同時日志中的數(shù)據(jù)格式并不一定符合分析系統(tǒng)的需要。所以必須先對日志進行預處理,才能導入到數(shù)據(jù)倉庫系統(tǒng)中,也就是通常說的ETL(Extracting,Transforming,LOAding抽取、轉(zhuǎn)換、加載)。
*去掉“噪聲”數(shù)據(jù)
首先應(yīng)當去掉日志中的亂碼與明顯不合理的數(shù)據(jù),這可以通過對日志中的字符與值的范圍做限定實現(xiàn)。其次,通過用戶請求的文件的類型,可以排除掉一些對日志分析意義不大的記錄。如在某些情況下,指向圖片文件的點擊并不代表有意義的操作。因此在這種情況下,應(yīng)將這些記錄清洗掉。除此之外,還會有更多的特殊情況需要清洗,有些情況是設(shè)計、開發(fā)人員預先想不到的,可以通過取出部分數(shù)據(jù)樣例,經(jīng)加載、處理到OLAP系統(tǒng)中,利用對cube中數(shù)據(jù)的查詢發(fā)現(xiàn)特殊情況,再判斷是否需要清洗掉。有一些日志分析的目的就是要找出特殊的記錄,在這種情況下,清洗工作就需要謹慎的進行,以免將有意義的“噪聲”清洗掉。
*IP地址反查
日志中通常會記載訪問者的IP地址,這個信息可以用來得到匿名用戶所屬的地區(qū)。但IP地址對于業(yè)務(wù)分析人員并不直觀,因此可以利用IP地址對照表,將IP對應(yīng)到所屬地區(qū)。通過IP地址的反查,也可部分彌補注冊會員在注冊時輸入不真實信息的影響,為分析人員多提供一種參考。
*用戶識別
登陸的會員可以用用戶名來確認身份,但對于匿名訪問的情況,則較難處理。由于動態(tài)IP的存在,也很難通過IP地址來判斷操作是否屬于同一個用戶。目前比較通用的解決辦法是使用SessionID。有些網(wǎng)站通過cookie等方式,可以確保一段時間內(nèi),同一臺電腦對該網(wǎng)站的訪問使用相同的SessionID。在用戶沒有禁用cookie的情況下。這種方法極大的方便了用戶身份的確認。當然,也不能僅僅依靠SessionID做出判斷,比如SessionID相同,但登陸的用戶名不同,或操作系統(tǒng)版本不同的情況,就明顯不是同一個訪問者。
*訪問路徑識別
判斷哪些操作是屬于用戶的同一次訪問路徑。以及這些操作的順序,對于分析用戶的瀏覽習慣是很重要的。通常的做法是設(shè)定一個時間閥值δ。當同一用戶的兩條記錄之間的間隔超過δ,則可認為這兩條記錄屬于不同的路徑。同時也應(yīng)該參考其它因素,例如雖然兩條記錄之間的時間間隔并沒有超過δ,但已經(jīng)使用不同的SessionID,則這兩條記錄應(yīng)屬于不同的訪問路徑。
用來進行日志分析的路徑,應(yīng)該是“最大前向路徑”,例如實際的訪問路徑為ABCDABEAF,則應(yīng)用來進行分析的“最大前向路徑”有3條:ABCD、ABE和AF。
在識別訪問路徑過程中,可能會遇到“補全訪問路徑”的問題。例如,通過時間閥值、SessionID等條件判斷出ABCD是用戶的一個訪問路徑。但從頁面C沒有到頁面D的直接鏈接,而頁面B有,則很可能用戶通過瀏覽器的“后退”按鈕退回到B頁面然后鏈接到D頁面的,因此實際的訪問路徑為ABCBD。這種補全方法需要對網(wǎng)站的結(jié)構(gòu)做出分析,才能夠做出正確的補全。
目前有些網(wǎng)站出于安全性或其它考慮,不將鏈接的地址直接放在頁面上,而是通過POST的方式,從服務(wù)器端進行跳轉(zhuǎn)。如果這種網(wǎng)站能夠?qū)⒚恳淮吸c擊的起點和目標均記錄在日志中,則對路徑識別有很大幫助。
鑒于本文項目的需求,經(jīng)過預處理的數(shù)據(jù)被分成了三種文本文件。一種是維度文件。這種文件中記錄著需求中要求的各種維度的信息,例如在記錄屏幕分辨率維度信息的文件中,存儲著“800×600”、“1024×768”等內(nèi)容。如果最初給的樣本數(shù)據(jù)有一定代表性。則維度文件將很少變動。第二類文件是事實數(shù)據(jù)文件,存儲著將被更新到數(shù)據(jù)倉庫的事實表中的數(shù)據(jù)。這類文件的內(nèi)容將隨著日志的更新而更新。第三類是輔助數(shù)據(jù)挖掘工作的文件,如訪問路徑文件等。這三類文件將被導入到數(shù)據(jù)倉庫中。導入的過程以及前面的日志預處理過程,均可由DTS來驅(qū)動自動完成。
3.3 數(shù)據(jù)倉庫
針對本文項目的需求與特點,數(shù)據(jù)倉庫按照如下方式建立:
事實表有2個,分別是:
表1 事實表名稱與含義
維度表共有18個,分別為:
表2 維度表名稱與含義
除此之外還有一些表和視圖,輔助后續(xù)的數(shù)據(jù)挖掘工作。
3.4 OLAP
根據(jù)數(shù)據(jù)倉庫結(jié)構(gòu),在OLAP服務(wù)器上建立了17個共享維度,對應(yīng)于數(shù)據(jù)倉庫中除DimMember外的17個維度表。由于一般大型網(wǎng)站的會員數(shù)量龐大,如果將會員作為cube的一個維度,將會影響處理與查詢的效率,而且針對每一個會員個體的查詢意義并不是很大。在本文項目中雖然在數(shù)據(jù)倉庫中建立會員的維度表,但是在OLAP中只將會員維度作為一個可選項。
本文項目中。為了查詢方便,總共建立了5個cube,分別為“訪客事實”、“會員事實”、“會員事實一獨立用戶”、“全部會員事實”、“全部事實”。其中“全部會員事實”與“全部事實”為虛擬cube。虛擬cube與其它3個cube的關(guān)系依圖2所示。其中“訪客事實”與“會員事實”中的度量值為Count人次數(shù),而“會員事實_獨立用戶”中的度量值為依會員用戶名的“獨立計數(shù)”。通過一些客戶端軟件,我們可以查看OLAP中的信息。
圖2 cube之間的關(guān)系
3.5 數(shù)據(jù)挖掘
3.5.1 欄目的用戶重合度分析
欄目的用戶重合度分析是要找出欄目之間的關(guān)聯(lián)程度。通過應(yīng)用“決策樹(Decision Trees)”算法和“關(guān)聯(lián)規(guī)則(Association Rules)”算法,可以實現(xiàn)這個目標。
在重合度分析中,使用SessionID列表和SessionID對各個欄目的訪問次數(shù)列表作為案例和嵌套案例。在嵌套案例中去掉了訪問次數(shù)很低的記錄,既可以減少偶然性(例如點錯了點到該欄目)的情況,又加快了處理的速度。決策樹分析可以利用依賴網(wǎng)絡(luò)視圖展現(xiàn)數(shù)據(jù)挖掘結(jié)果,也可以用決策樹視圖展現(xiàn),而關(guān)聯(lián)規(guī)則分析只能用依賴網(wǎng)絡(luò)視圖展現(xiàn),不過關(guān)聯(lián)規(guī)則分析的速度比決策樹分析要快。從依賴網(wǎng)絡(luò)視圖中可以看出各個欄目之間的依賴程度,通過改變查看器中的閥值,可以找出依賴關(guān)系最強的幾個欄目,在決策樹視圖中,可以瀏覽某一個欄目是否被訪問的影響因素。
圖3 依賴網(wǎng)絡(luò)視圖
圖4 決策樹視圖
3.5.2 瀏覽習慣聚類
瀏覽習慣的聚類是為了從大量的數(shù)據(jù)中找出普遍的模式,發(fā)現(xiàn)用戶的瀏覽習慣,可以分為靜態(tài)聚類與動態(tài)聚類。靜態(tài)聚類挖掘的是用戶的匯總信息,而動態(tài)聚類挖掘的是用戶的瀏覽過程。也就是在數(shù)據(jù)預處理階段準備的訪問路徑信息。
靜態(tài)聚類采用“聚類(Clustering)”算法。以訪問者的個人信息與訪問各個欄目次數(shù)的列表為案例,進行挖掘,得到結(jié)果如圖5所示。案例中的訪問者被分為幾類,每一類都有其特征。
圖5 聚類算法的聚類外觀視圖
動態(tài)聚類采用“序列聚類(Sequence Clustering)”算法,以訪問者列表為案例表,以訪問者以及訪問路徑為嵌套案例表進行挖掘,得到結(jié)果如圖6所示。從結(jié)果中可以看出,不同聚類的瀏覽習慣有著明顯的不同。
圖6 序列聚類算法的聚類外觀視圖
3.5.3 預測訪客個人信息
預測的過程分為兩步,首先通過“決策樹算法”分析會員個人信息的相關(guān)因素,找出具備哪些因素的會員具有什么樣的個人信息,再利用得到的決策樹挖掘模型和訪客日志中的相關(guān)因素,預測訪客的個人信息。這種預測方式經(jīng)某網(wǎng)站的實際數(shù)據(jù)驗證,得到了較好的效果。
3.6 項目實現(xiàn)
本文項目選用.Net Framework,Microsoft 2000 DTS,Microsoft 2000 Analysis Service,Microsoft SQL Server 2005 BI Workbench實現(xiàn),在實際檢驗中取得了很好的效果。在P4 3.0、1G內(nèi)存、Windows 2000的環(huán)境下,對約1.2G大小的原始日志文件進行操作。從最初的預處理到將數(shù)據(jù)處理到cube中,只用了8分鐘的時間,而且整個流程由DTS驅(qū)動,不需要人為參與。這樣的處理能力對于一般大型網(wǎng)站每天的日志量和服務(wù)器的配置來說,是可以接受的。通過數(shù)據(jù)分析、數(shù)據(jù)挖掘得到的結(jié)果,對于互聯(lián)網(wǎng)企業(yè)的業(yè)務(wù)分析與調(diào)整,是有很大幫助的。
4 思考
有數(shù)據(jù)表明,自20世紀90年代以來,人類積累的數(shù)據(jù)量以每月高于15%的速度增長。僅僅依靠人力。要理解這些數(shù)據(jù),將其變?yōu)橛杏玫摹爸R”,幾乎是不可能的。商業(yè)智能(數(shù)據(jù)倉庫、OLAP與數(shù)據(jù)挖掘),是能夠?qū)⒑A康臄?shù)據(jù)變?yōu)椤爸R”的有效方法。數(shù)據(jù)倉庫用于抽取、整合、分布、存儲有用的信息;OLAP用于全方位分析現(xiàn)狀,通過前端展現(xiàn)工具,將“知識”從多種角度以多種形式展現(xiàn)給管理人員。在此基礎(chǔ)結(jié)構(gòu)之上,數(shù)據(jù)挖掘通過“描述”與“預測”兩種方式,更進一步的展現(xiàn)海量數(shù)據(jù)中存在的“知識”。
本文中,針對互聯(lián)網(wǎng)日志分析業(yè)務(wù)提出的解決方案,也可以類似的用到其它業(yè)務(wù)領(lǐng)域。例如,在銀行信貸領(lǐng)域,可以將用戶的還款行為作為事實數(shù)據(jù),將用戶的個人信息,如年齡、職業(yè)、收入等作為維度數(shù)據(jù)建立數(shù)據(jù)倉庫與多維數(shù)據(jù)集,在此基礎(chǔ)上進行數(shù)據(jù)挖掘的“描述”與“預測”,從而對貸款者的還款能力做出分析。商業(yè)智能的技術(shù)在國防、軍事領(lǐng)域也有著很大作用,例如在“反恐”中,可以通過對嫌疑人個人信息以及行為的分析。判斷嫌疑人是恐怖分析的可能性以及其危險性。另一方面,在戰(zhàn)場上,可以通過實時的數(shù)據(jù)挖掘?qū)?zhàn)場上發(fā)生的復雜情況做出分析,進而對敵軍的行動做出預測,對戰(zhàn)場形式做出正確判斷。除了上面舉的幾個例子之外,商業(yè)智能技術(shù)在各種領(lǐng)域中,都可以發(fā)揮出巨大作用。
5 結(jié)束語
本文在綜合利用商業(yè)智能技術(shù),從網(wǎng)站的點擊日志中分析、挖掘有價值信息的過程做了初步探索。本文項目仍然存在著很多值得改進的方面,例如,可以充分利用SQL Server 2005數(shù)據(jù)挖掘算法可擴充的特性,將一些更適合Web日志挖掘具體情況的算法應(yīng)用到這個系統(tǒng)中。相信隨著技術(shù)的日趨完善,商業(yè)智能將在互聯(lián)網(wǎng)業(yè)中發(fā)揮更大的作用。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標題:商業(yè)智能在互聯(lián)網(wǎng)業(yè)務(wù)分析中的研究與應(yīng)用
本文網(wǎng)址:http://www.oesoe.com/html/support/1112185433.html