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

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

good1…goodj…goodn點(diǎn)擊次數(shù)ccWc1…wcj…wcn訪問次數(shù)rcWr1…wrj…wrn停留時(shí)間stWs1…wsj…wsn用戶評價(jià)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個(gè)商品形成“用戶-興趣商品鏈”。另外,還需要考慮其他數(shù)據(jù)挖掘出的關(guān)聯(lián)規(guī)則,利用改進(jìn)的CTE-MARM算法進(jìn)行關(guān)聯(lián)挖掘,如果有用戶-興趣商品鏈表中的goodi存在強(qiáng)關(guān)聯(lián)規(guī)則的goodk,則將goodk也添加到三元組中[5-6]。模型構(gòu)建流程如圖1所示。

圖1 用戶興趣模型構(gòu)建流程
數(shù)據(jù)庫:MySQL
編譯環(huán)境:JDK+Tomcat
開發(fā)工具:MyEclipse
開發(fā)語言:Java、JavaScript、MySQL
基于關(guān)聯(lián)規(guī)則算法,本文將電子商務(wù)商品推薦系統(tǒng)功能劃分為數(shù)據(jù)采集及清洗、用戶興趣分析、構(gòu)建關(guān)聯(lián)規(guī)則庫、TOP-N推薦4個(gè)部分,整體架構(gòu)設(shè)計(jì)如圖2所示。

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

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

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