摘 要:以數據挖掘中的關聯規則為基礎,深入研究了基于關聯規則的個性化推薦技術在電子商務中的應用,提出了電子商務推薦系統的體系結構,并對系統涉及到的關鍵技術進行了詳細的描述。系統采用FP-Growth算法進行關聯規則的挖掘,緊緊結合了數據庫技術的優勢,對當前電子商務系統中大量復雜的數據具有很好的適應性。
關鍵詞:數據挖掘; 關聯規則; 電子商務推薦系統; 數據庫技術
中圖分類號:
TN915-34
文獻標識碼:A
文章編號:1004-373X(2011)19
-0179
-04
Application of Association Rules in E-commerce Recommendation System
WANG Jiang-wei, GUO Min
(College of Electronic and Control Engineering, Beijing University of Technology, Beijing 100124, China)
Abstract: On the basis of association rules in data mining, the application of a personalized recommendation based on association rules in E-commerce is deeply researched. The architecture of E-commerce recommendation system is proposed, and the related technology is described. The system uses FP-Growth algorithm to mine association rules, which makes full use the advantages of database technology, so it can process the complex data in the current E-commerce system very well.
Keywords: data mining; association rule; E-commerce recommendation system; database technology
收稿日期:2011-04-21
0 引 言
隨著電子商務的迅猛發展,人類進入了信息社會和網絡經濟時代,商務信息爆炸式增長,客戶選擇喜歡的商品變得困難。如何幫助各種客戶順利地完成購物活動成為網站贏得利潤和信譽的關鍵。在這種情況下,為客戶提供個性化推薦服務的電子商務推薦系統應運而生。電子商務推薦系統“利用電子商務網站向客戶提供商品信息和建議,幫助客戶決定應該購買什么產品,模擬銷售人員幫助客戶完成購買過程”[1]。電子商務推薦系統最大的優點在于它能收集用戶感興趣的資料,并根據用戶興趣偏好主動為用戶做出個性化推薦。
個性化推薦系統主要有3個作用:將電子商務網站的瀏覽者轉變為購買者;提高電子商務網站的交叉銷售能力;提高客戶對電子商務網站的忠誠度。
目前,學者對電子商務推薦系統有大量的研究,主要集中在數據的獲取和推薦技術[2]。個性化推薦是通過推薦算法從大量復雜的數據中分析出客戶的消費習慣和偏好,因此大量有價值的數據是推薦的基礎。隨著網絡技術的發展和數據庫技術的廣泛應用,電子商務中的數據也日益豐富和復雜。在推薦技術研究中,關鍵的問題是根據系統的數據確定合適的推薦算法。目前,學者主要致力于兩方面研究:一方面努力提高算法的效率,滿足實時性的要求;另一方面,改進目前的算法,使推薦效果更加完美準確。
電子商務分為B2C和B2B兩種模式。本文主要側重于對B2C電子商務的分析,應用于綜合性的零售網站。目前主要的推薦方法有基于關聯規則的推薦,基于內容的推薦,基于協同過濾的推薦等[3]。本文討論關聯規則在電子商務推薦系統中的應用。
1 數據挖掘與電子商務推薦
電子商務推薦系統是將數據挖掘技術應用到電子商務領域的范例。隨著電子商務的應用,數據庫中可以收集到大量的用戶數據,如用戶交易數據、用戶注冊數據、用戶評分數據、用戶咨詢數據等。這些數據中蘊含著豐富的知識,基于數掘的推薦系統通過數據挖掘技術對用戶行為和用戶屬性進行學習,從中獲取有價值的知識,根據得到的知識產生推薦。
基于數據挖掘的推薦系統根據數據挖掘技術建立用戶檔案。用戶檔案的建立可以基于對用戶長期行為的分析,如用戶的瀏覽記錄,購買歷史、性別、職業、收入、年齡等。也可以基于用戶的當前行為,如用戶當前的會話行為、當前購物籃信息、當前瀏覽商品等。
2 電子商務推薦系統
2.1 電子商務推薦系統的結構
電子商務推薦系統主要由三大部分構成:數據采集部分、推薦方法部分和輸出部分[4]。數據采集部分用來接收用戶的輸入信息;推薦方法部分根據一定算法和用戶數據,得出對目標用戶的推薦。該部分是整個推薦系統的核心部分,個性化推薦方面的研究很大一部分都集中在找到好的推薦方法;輸出部分主要是指將得到的推薦以某種形式反饋給用戶。
輸入部分主要負責對用戶信息的收集和更新。輸入主要指目標用戶,即要求獲得推薦的人為得到推薦而必須進行一些輸入,以表達自己的偏好,包括隱式瀏覽輸入、關鍵詞和項目屬性輸入和用戶購買歷史等。
輸出部分主要負責在系統獲得輸入信息后,輸出推薦給用戶的內容。主要形式有:
① 建議:又分為單個建議、未排序建議列表、排序建議列表,典型的如Top-N:推薦系統根據客戶的喜好向客戶推薦最可能吸引客戶的前N件產品;
② 預測:系統對給定項目的總體評分;
③ 個體評分:輸出其他客戶對商品的個體評分;
④ 評論:輸出其他客戶對商品的文本評價。
推薦方法部分是推薦系統的核心部分,負責對輸入數據的處理,決定著推薦系統的性能優劣。推薦方法部分以推薦算法為技術支撐。
2.2 電子商務推薦系統的信息模型
電子商務系統中存在著豐富而復雜的數據,如用戶交易數據、用戶注冊數據、用戶評價數據、用戶咨詢數據等。這些數據中蘊含著豐富的知識,是進行電子商務推薦的基礎。通過對當前主要大型購物網站的調查研究,總結出了電子商務網站的主要信息模型,如圖1所示。
另外,在大多數基于Internet的網上購物商店中,商家都對商品進行了明確的分類,圖2是一個簡單的示例。商品分類在知識發現過程中起著重要作用。在許多實際應用中,強關聯規則更易于出現在商品分類的高層,但可能會出現公共知識的重復;另一方面,低層的關聯規則可能更令人感興趣,但發現的難度更大。因此,在關聯規則挖掘中選擇適當的層次對于關聯規則的挖掘是非常重要的。
2.3 推薦技術的選擇
在進行個性化推薦時,選擇合適的推薦技術是成功的關鍵。零售網站的特點是商品種類繁多,顧客群廣泛,網站訪問量比較大。基于內容的推薦只能推薦與已購買商品相似的商品,不能發現潛在感興趣的商品;協同過濾推薦的效果取決于客戶的評價分數。在現有的零售網站中,大量的商品沒有客戶評價或評價稀少,不適合應用協同過濾推薦技術;關聯規則與其他的技術比較有如下的優點:數據源簡單,不需要特殊數據源,只要有準確的交易記錄即可;具有對用戶購買行為的預測性,挖掘用戶的潛在興趣;可以挖掘不同類型的商品,對商品特性沒有要求[5]。于是可以看出,關聯規則比較適合應用在零售網站中。
圖1 信息模型
圖2 商品的分類
關聯規則挖掘就是發現數據集中項集之間有趣的關聯或相互關系[6-7]。它是數據挖掘領域的一個重要分支,最近幾年已被業界所廣泛研究和應用。在電子商務領域,關聯規則主要用于商品、鏈接或頁面的個性化推薦。關聯規則常用的挖掘算法是Apriori算法和FP-Growth算法。
Apriori算法的缺陷是它會產生巨大的候選集,需要多次掃描數據庫[8-9]。如果最長的模式是n,則需要n+1次數據庫掃描,當數據庫較大時,性能會受到較大影響,大大降低挖掘的效率。研究者還提出了各種改進的Apriori算法,但是都不能克服原來固有的缺陷。
FP-Growth算法不需要生成大量候選項集,大大降低了搜索開銷,提高了挖掘效率[10-11]。對FP-Growth方法的性能研究表明:對于挖掘長的和短的頻繁模式,它都是有效的和可伸縮的,并且效率約比Apriori算法快1個數量級。
通過以上比較,本文選擇FP-Growth算法進行關聯規則的挖掘。
3 電子商務推薦系統的設計實現
在此提出了一個電子商務推薦系統的體系結構如圖3所示。該結構分為兩個部分:離線部分和在線部分。離線部分的功能是首先對原始數據進行預處理產生事務集,然后對事務集進行挖掘產生關聯規則;在線部分與用戶的實時交互,利用離線生成的關聯規則和數據庫中的信息進行分析,產生推薦,然后將推薦結果通過瀏覽器返回給用戶。
圖3 電子商務推薦系統
為了驗證系統的合理性和適用性,采用AdventureWorks數據源對系統進行了測試。
3.1 離線挖掘關聯規則
系統的離線挖掘部分使用VS2008進行開發,數據庫采用SQL Server 2005。在這一部分中,可以完成系統參數的設置、預處理、關聯規則的挖掘等功能,用戶界面如圖4所示。
圖4 離線挖掘部分的用戶界面
(1) 系統參數的確定
在關聯規則的挖掘中,首先要確定最小支持度和最小置信度兩個參數。支持度是對關聯規則重要性的衡量,表示這條規則的頻度;置信度是對關聯規則準確度的衡量,表示規則的強度。
(2) 預處理
數據庫中的原始數據不適合直接進行數據挖掘,需要進行預處理。預處理主要完成了以下數據處理:
① 聯合查詢顧客表、商品表、銷售訂單表、銷售訂單明細表、商品型號表、生成事務表。事務表包括訂單號,商品型號字段;
② 去除事務表中商品數為1的事務;
③ 生成頻繁項集表;
④ 去除事務中的非頻繁商品,并將事務中的商品按降序排列。
(3) 關聯規則的挖掘
這里選擇FP-Growth算法進行關聯規則的挖掘,在第2節已經作了詳細的分析。在FP-Growth算法中,最關鍵的兩個數據結構是FP-Tree和關聯規則表。將FP-Tree保存在數據表中,具體結構如圖5所示。這個數據表結構充分描述了FP-Tree中的節點間的關系,節點編號表示節點在樹中的惟一編號;名稱表示節點所代表項目的名稱;計數表示項目在事務集中出現的頻次;父節點編號指向本節點的父節點;子節點數表示本節點的孩子節點數,可以判斷該節點是否是葉節點。
關聯規則存儲在個性化推薦系統的數據庫中,以備在線推薦使用,如圖6所示。其中,置信度表示關聯規則的強度,反映了規則的可信度。置信度是生成推薦列表的重要指標。置信度越高的規則,其結果越容易被推薦給用戶。
圖5 FP-Tree表
圖6 規則表
圖5 FP-Tree表
圖6 規則表
在這一過程中主要分為3個步驟如圖7所示:首先根據事務集建立FP-Tree,然后挖掘FP-Tree生成頻繁項集,最后根據頻繁項集產生關聯規則。
圖7 FP-Growth算法
3.2 在線推薦
進行在線推薦時,系統首先識別當前登錄的用戶,然后通過分析用戶已購買商品信息與規則信息運算出推薦信息。在線推薦的流程如圖8所示。
圖8 在線推薦流程
4 結 語
本文以數據挖掘中的關聯規則理論為基礎,從應用的角度分析了電子商務系統中個性化推薦系統的需求和信息模型。針對B2C網上零售商店的特點,選擇基于關聯規則的個性化推薦技術,設計了一個電子商務個性化推薦系統。現實中的電子商務系統包含大量復雜的數據,只用關聯規則還不能達到完美的效果。因此,下一步的工作是結合多種數據挖掘模型,實現更加完善的個性化推薦服務。
參 考 文 獻
[1]RESNICK Varian. Recommendation systems \\.Communications of the ACM, 1997, 40(3): 56-58.
[2]易明.基于Web挖掘的電子商務個性化推薦機理與方法研究[D].武漢:華中科技大學,2006.
[3]SARWAR B, KARYPIS G, KONSTAN J. Analysis of re-commendation algorithms for E-commerce \\. \\: ACM Conference on Electronic Commerce, 2000.
[4]劉麗霞,莊奕琪.電子商務系統的數據挖掘與智能推薦預測的研究[J].計算機工程與科學,2008,30(2):92-95.
[5]高彩霞.基于關聯規則挖掘的網上書店電子商務的研究與設計[J].大同:山西大同大學,2008.
[6]HAN Jia-wei, KAMBER M. Data mining concepts techniques(Version 1) \\. Beijing: China Machine Press, 2001.
[7]張峰,常會友,衣楊.基于規則的電子商務推薦系統模型和實現\\.計算機集成制造系統,2004,10(8):898-902.
[8]BODON F. A fast APRIORI implementation \\. Florida: Proc. of the IEEEICDM Workshop on FIMI′03, 2003.
[9]AGRAWAL R, SRIKANT R. Fast algorithms for mining association rules in large databases \\// Proceedings of 20th International Conference on Very Large Data Bases. Santiago De Chile, Chile: \\, 2003: 487-499.
[10]王新宇,杜孝平,謝昆青.FP-Growth算法的實現方法研究[J].計算機工程與應用,2004,40(9):174-176.
[11]FRANCISCO G S. An integrated approach for developing E-commerce applications \\. Expert Systems with Applications, 2005,28: 223-235.