宋倩
(咸陽職業技術學院 財經學院, 陜西 咸陽 712000)
隨著信息技術的發展,人們在享受科技帶來便利的同時也受到了信息過載的困擾,對于電子商務領域同樣如此。如何幫助用戶獲得滿意商品是電商企業獲取利潤和提升自身信譽的關鍵,電子商務商品推薦系統應運而生,將數據挖掘技術應用于用戶日常購物活動的場景之中,利用關聯挖掘算法分析歷史數據來實現潛在商機預測,既為用戶節約了尋找感興趣商品的時間,也為商家提升了銷量及用戶忠誠度。
電子商務的商品推薦系統主要是根據收集的用戶瀏覽行為以及歷史消費記錄分析其興趣偏好、挖掘預測潛在購買商機進行推薦。其中最關鍵的是個性化以及實時性。系統的主要功能體現在以下幾個方面。
(1) 數據采集:提取相關記錄及行為數據。
(2) 數據預處理:剔除無用數據、確保數據完整。
(3) 用戶興趣分析:構建用戶興趣模型,分析積累用戶興趣商品庫。
(4) 關聯規則庫:根據挖掘算法構建關聯規則庫。
(5) 商品推薦:推薦用戶感興趣的商品。
(1) 置信度:降低關聯規則中“規則爆炸”情況,提升算法精準率。
(2) 時效度:在實際場景中,人們的購物習慣是在不斷變化的,距現在時間越近的相關瀏覽記錄或購買記錄越能代表當前的需求偏重點。
(3) 興趣度:在電子商務領域可以反映用戶興趣的因素有很多,包括購買、瀏覽、收藏、評分、評論等。興趣度體現為將多種商務行為經過算法策略得出的興趣程度的權值[1-2]。
數據挖掘是一門新興的技術,是多學科綜合形成的產物,指的是從海量不完整的、存在臟數據的、比較模糊的數據集中抽取出未知的有潛在價值的、有意義的模式或規律的計算過程,主要包括數據清洗、數據集成、數據選擇、數據轉換、數據挖掘、數據評估及數據展示。
(1) 清洗與集成:數據質量是保證挖掘出來的知識可靠性的基礎,需要清除重復數據、不完整數據、臟數據,并將多個數據源的數據集成到一起完成后續操作。
(2) 選擇與轉換:選擇將進行數據挖掘的目標,針對不同數據類型進行統一化處理,消減特征維數,降低不必要的計算。
(3) 挖掘與評估:運用相關的聚類、分類算法進行數據計算,從挖掘結果中根據一定的評估標準選出有意義的知識。
關聯反映的其實是事物之間的依賴關系,其中兩個或多個屬性之間的取值如果呈現規律,則認為有關聯關系,根據其中一項屬性值即可預測其他屬性值。在數據挖掘領域中基于關聯規則挖掘的研究是其中的重要研究方向。關聯規則挖掘的基本概念如下。
(1) 數據項與數據項集:設I={i1,i2,…im)是m個不同項的集合,則每個ik(k=1,2,…,m)代表數據項,I為數據項集。
(2) 事務:事務T是數據項集的非空子集,每個事務與唯一標識符對應,記為TID。多個事務構成事務集D。

(4) 關聯規則:X?Y用的形式表示,其中X?I,Y?I且X∩Y=?,表示如果X項集在某一事務中出現,則Y也會出現。
(5) 關聯規則置信度:置信度指的是包含X和Y的事務數與包含X的事務數的比值,置信度越高,關聯規則的可靠性越好。計算式為式(1)。
confidence(X?Y)=|{T:X∪Y?T,T∈D}|/
(1)
|{T:X?T,T∈D}|
(6) 最小支持度和最小置信度:最小支持度用來過濾出現頻率低的項集,最小置信度用來剔除可靠性低的關聯規則。
FP_Growth算法采用模式增長的方式來發現頻繁項集,首先建立一棵頻繁模式數FP_tree,存放事務集的所有頻繁項集,然后將樹中壓縮后的事務集劃分為一組條件事務集,每個事務集關聯一個頻繁項,分別挖掘每個條件事務集。該算法可以明顯壓縮被搜索的事務集[3-4]。
由于FP_tree頻繁項集查找時存在節點多、遞歸調用次數多等問題,本文針對電子商務商品推薦的個性化應用性問題,對FP_Growth算法做出優化與改進,提出一種基于FP_Growth算法的約束事務擴展多層關聯規則挖掘算法CTE-MARM(Constraint Transaction Extension—Multi-level Association Rule Mining),以此提升挖掘效率、減少冗余規則。主要改進項如下。
(1) 對每條事務基于K層次約束擴充,將每個事務項的前k-1個祖先項添加到當前事務,之后剔除重復項,既約束數量的擴展又可以保證發現關聯規則。
(2) 創建FP_tree時對每個節點添加兩個域:ConditionMemory用來存放結點前綴路徑上的結點、IsVisited用來判斷當前結點是否被遍歷,避免多次回溯。
(3) 增加風險度閾值指標,確保事務約束擴展層次k選值合理。
用戶興趣模型是電子商務商品推薦系統的核心,是確保推薦質量的關鍵模塊。首先,構建商品-用戶行為特征矩陣。

good1…goodj…goodn點擊次數ccWc1…wcj…wcn訪問次數rcWr1…wrj…wrn停留時間stWs1…wsj…wsn用戶評價e1We1…wej…wen
然后,向量空間模型采用三元組〈用戶,商品集,興趣集〉的形式,〈useri,goods,interests〉,其中,
useri為具體用戶;
goods為商品集合,goods=〈good1,good2,…,goodj,…goodn〉;
interests為興趣度集合,interests=〈IRi1,IRi2,…,IRij,…IRin〉;
IRij為用戶i對商品j的興趣度。

通過三元組記錄用戶感興趣的商品集,按IRij降序排列,采用TOP-N策略,選取IR值前N個商品形成“用戶-興趣商品鏈”。另外,還需要考慮其他數據挖掘出的關聯規則,利用改進的CTE-MARM算法進行關聯挖掘,如果有用戶-興趣商品鏈表中的goodi存在強關聯規則的goodk,則將goodk也添加到三元組中[5-6]。模型構建流程如圖1所示。

圖1 用戶興趣模型構建流程
數據庫:MySQL
編譯環境:JDK+Tomcat
開發工具:MyEclipse
開發語言:Java、JavaScript、MySQL
基于關聯規則算法,本文將電子商務商品推薦系統功能劃分為數據采集及清洗、用戶興趣分析、構建關聯規則庫、TOP-N推薦4個部分,整體架構設計如圖2所示。

圖2 系統整體架構圖
(1) 數據采集及清洗模塊:數據采集包括兩類數據,一類是已購買記錄,一類是各種商務行為數據。這兩類數據是關聯規則挖掘以及用戶興趣度分析的基礎。另一方面,由于原始數據包含很多雜亂、模糊、殘缺的臟數據,為提升挖掘效率需要對原始數據進行清洗,通過檢測空訂單、檢測交易記錄中商品是否存在,剔除交易記錄中無關字段等方法對數據完成簡化處理[7-8]。
(2) 用戶興趣分析模塊:負責建立和更新興趣模型,前臺自動獲取用戶行為,存于相應數據庫表,按照前文闡述的計算興趣度算法構建用戶-興趣商品鏈。與關聯規則庫聯合,查找強關聯商品,作為TOP-N推薦模塊的輸入。
(3) 構建關聯規則庫模塊:采用前文介紹的CTE-MARM算法根據具體需求來挖掘指定層次間的關聯,約束層次k的值設置為2,針對事務交易表按置信度高低挖掘出規則存于規則表。
(4) TOP-N推薦模塊:在關聯規則庫中查詢與用戶興趣模型中存在強關聯關系的商品進行網頁可視化展示。
鑒于電子商務商品推薦系統的行為分析及商品推薦功能,構建數據庫E-R模型,如圖3所示。

圖3 數據庫E-R圖
其中,核心數據庫表如下。
(1) 用戶信息表user:主要包括用戶ID、注冊名稱、密碼、性別、聯系方式、地址。
(2) 商品信息表productInfo:主要包括商品ID、名稱、鏈接、層次、類別、價格、庫存。
(3) 事務交易表transactionOrders:主要包括事務交易ID、用戶ID。
(4) 購物記錄表orders:主要包括唯一標識ID、事務交易ID、商品ID。
(5) 用戶行為表userVisited:主要包括唯一標識ID、用戶ID、商品ID、點擊次數、重復訪問次數、瀏覽時間、是否收藏、評價得分。
(6) 關聯規則表rules:主要包括唯一標識ID、規則前件商品ID、規則后件商品ID、商品間置信度、類別與商品間置信度。
(7) 用戶興趣表userFavourite:主要包括唯一標識ID、用戶ID、商品ID、興趣度。
為驗證本文構建模型及推薦商品的準確性,將3 000個用戶的購買信息作為測試數據,通過人工統計的結果、人工分析的用戶習慣以及系統計算結果進行對比,每測試一次后,將數據重新交叉組合,共測試5次,得到結果如圖4所示。

圖4 人工分析與系統算法結果命中率分析
結果表明,人工分析的最暢銷商品命中率為31.8%,人工分析用戶興趣推薦的命中率為51.1%,而基于關聯規則算法構建的電子商務商品推薦系統推薦的商品命中率為55.8%,相對來說系統算法更為有效,命中率比較高,符合最初設計預期[9]。
本文利用優化改進的CTE-MARM算法提升挖掘效率,構建關聯規則庫,并通過用戶興趣模型實現用戶-興趣商品鏈分析,兩者聯合起來為用戶提供TOP-N商品推薦,經驗證具有較高實用性。但在多層關聯挖掘算法優化方面還需進一步探索,在商品推薦命中率提升方面還需要考慮更多的影響因素與技術手段。