?

基于消費者購物記錄的商品推薦去重方案

2018-05-15 02:19張鵬程馬佳琳
軟件工程 2018年3期
關鍵詞:大數據

張鵬程 馬佳琳

摘 要:伴隨著網購的不斷發展,各大電商網站均引入了商品推薦系統。但消費者卻常常對這類系統的有效性抱有疑問,因為他們發現自己前一天剛買的商品依然出現在今天的推薦列表中,而自己已經不再需要這類商品了。針對這樣的情況,需要給推薦系統增加一個過濾模塊,將一些在當前明顯不會被目標用戶所需要的商品去除。本文在前人提出的回購周期去重方案的基礎上進行優化,提出了一套綜合去重方案。

關鍵詞:推薦方法;推薦去重;推薦過濾;大數據

中圖分類號:TP391 文獻標識碼:A

Abstract:With the continuous development of online shopping,the main e-commerce websites have all introduced commodity recommendation systems.However,consumers usually have doubts on the effectiveness of such kind of system,as they find that the commodities they purchased a day before still appear on the recommendation list today,which they do not need any more.Aimed at such cases,a filtering module needs to be added to the recommendation system to eliminate the commodities that are obviously undesired by the target users at present.This paper conducted optimization based on the filtering schemes put forward on buy-back cycle previously and put forward a set of comprehensive filtering scheme.

Keywords:Recommendation method;repetition removal;recommendation filtering;big data

1 引言(Introduction)

互聯網的出現使人們足不出戶就能獲得各類信息。而多年以來互聯網的發展也呈現出爆炸性趨勢,加上物流運輸產業的的發展,越來越多的人選擇通過網上商城進行購物。商家們為了獲取更多的利潤,幾乎都在網站上使用了商品推薦系統,以期獲得更大的利潤。

Resnick和Varian在1997年給出了推薦系統的定義:“它利用電子商務網站向客戶提供商品信息和建議,幫助用戶決定應該購買什么產品,模擬銷售人員幫助客戶完成購買過程”[1]。推薦系統的核心是推薦方法,經過多年的發展,當前較為成熟的推薦方法包括協同過濾,基于內容推薦,基于圖結構推薦和混合推薦[2]。

然而當前幾乎所有的購物網站使用的推薦系統在對消費者進行商品推薦時都沒有考慮推薦去重的問題。例如目標用戶經過一個月的篩選,最終買下了一臺幾千元的手機,而當用戶第二天打開網站的時候,網站的推薦系統卻仍然在賣力的向其推薦手機。這樣的情況不僅浪費了推薦的機會,更讓消費者對網站的推薦系統能力產生懷疑,用戶對系統推薦性能持否定態度的結果將導致其不再關注系統推薦的任何商品。這樣的局面不僅是消費者的損失,更是商家的損失。

而對購買過的商品采取“一刀切”,不再推薦的做法也顯然不行,如果消費者購買的商品屬于消耗類商品,例如牙膏,那么顯然很有必要再次進行推薦,但推薦的時機是一個很重要的問題。

針對以上的問題,張志清[3]等人提出了一種考慮商品重復購買周期[4]的協同過濾推薦方案。本文則受其啟發,在其基礎上提出一種獨立的去重模塊,以期能與各類推薦方法組合使用在推薦系統中,提升推薦系統的有效性。

2 去重方案(Filtering scheme)

2.1 考慮商品重復購買周期的協同過濾推薦方案

該方案主要包括如下步驟:第一是建立商品數據庫和顧客交易數據庫,并將所有商品分成三類,即長重復購買周期、短重復購買周期和零重復購買周期的商品;第二步是計算短重復購買周期商品的重復購買周期,生成重復購買周期表;第三步則是計算目標推薦用戶已購商品的回購狀態,找出處于消費周期,失效狀態和長重復購買周期的商品;最后一步是將傳統的協同過濾方法得到的商品推薦列表與以上三步獲得的商品列表進行比對,將兩個列表中重復的商品從協同過濾結果的列表中去除,最后將過濾后列表內的商品推薦給用戶。

2.2 考慮商品重復購買周期方案的局限性

首先是分類的局限,原方案中對商品進行了事先人工分類,但這樣的分類缺乏個性化,因為一些商品對于不同的人來說情況不同,存在一部分人幾年內只購買一次,而另一部分人會隔一段時間就購買一次的商品,這樣的情況下人工分類吃力不討好。第二是重復購買周期計算方法的局限。原方案對顧客遇到特價活動時的提前重復購買行為在計算時僅簡單的去除,沒有考慮提前重復購買對于后續購買周期的影響。第三是對重復購買周期離散值確定上的局限。原方案將離散值設定為固定的30天,但由于商品特性和消費者復雜的情況,該離散值在實際使用上很難取得較好的效果。最后是對失效期商品去除的局限。當超出回購周期后,原方案會認為用戶已經在其他地方購買了商品,于是不再對其推薦該商品,這其中沒有考慮消費者不購買的原因而是做簡單拋棄。

2.3 基于消費者購物記錄的去重方案

針對以上問題,本文提出了一套綜合的去重方案,主要改動包括:首先是不再進行人工三段式分類,改為先按商品品種[5,6]簡單分類(這樣的分類每個電商網站本來就有,相當于不需要做額外分類),再通過計算來劃分出真正的針對目標用戶的個性化分類的方式。其次,充分考慮優惠打折活動對消費者帶來的影響,修改計算方式,使得到的回購周期更加合理。第三,通過考慮用戶多次購買同類產品的回購周期離散值來決定商品的黃金推薦周期,消費周期和超期失效周期。第四,對于超過回購周期的商品,通過參考用戶在最后一次購買后的瀏覽記錄,購物車記錄和商品售價情況綜合判斷用戶對商品的態度后,在有必要的情況下會根據實際情況再次計算回購周期來決定待推薦的商品的去留,不再是一超期就無條件丟棄。

3 方案實現(Scheme realization)

3.1 數據準備

在進行去重前,需要在數據庫中先建立如下表格:

表1:用戶歷史購買記錄表。表中記錄項目包括“商品ID,購買日期,購買數量,單件容量,單價,購買時是否享有折扣”。

表2:商品分類表。表中記錄項目包括“商品ID,商品所屬類別ID,全體用戶日均消耗離散值”,其中商品的分類按照商品品種進行劃分。

表3:用戶瀏覽記錄表。表中記錄項目包括“商品ID,瀏覽日期,單件容量,單價,用戶瀏覽時是否有折扣”。

表4:用戶購物車記錄表。表中記錄項目包括“商品ID,放入購物車時間,單件容量,單價,放入購物車時是否有折扣”。

以上表中的“單件容量”屬性均指代消耗類商品的容量,非消耗類商品此值留空??紤]到節省存儲空間問題,一個用戶對一個商品的瀏覽或購物車放入記錄都只保留最后一次。

3.2 去重方案具體步驟

在正式開始去重前還需要準備以下列表用于計算:一個針對目標用戶的推薦列表I,該列表通過任意一種推薦算法得出;一個待處理列表I*,I*的內容與I一致;一個排除列表Ik,Ik初始為空,用以保存待清除的推薦商品。以上列表均只保存商品的ID。

步驟1:依次檢查I*中的所有商品,若目標用戶對待檢商品及與待檢商品同類商品的購買次數之和僅為1次,則將商品ID從I*移動到Ik中,而購買記錄為0的商品ID則從I*中刪除。I*經過處理后稱為I2*。

步驟2:依次檢查I2*中所有非特價購買次數小于等于1次的商品,若這些商品正在打折,則將其從I2*中刪除,否則將商品ID從I*移動到Ik中。I2*經過處理后稱為I3*。

步驟3:嘗試從I3*中取一個商品,若I3*為空,則將I與Ik中均存在的ID值相同的商品從I中刪除,I經處理后最終得到I2,將I2中的商品推薦給用戶,全部流程結束;否則將取到的商品ID記為C,并獲得C所屬的商品類別,記為U。接著計算目標用戶對該類商品的日均消耗量:

其中,DEnR代表目標用戶最后一次以非打折價格購買U類商品的日期,DFiR代表目標用戶第一次以非打折價格購買U類商品的日期,WN代表單次購買U類商品的數量,WC代表單次購買U類商品的容量(若WC為空或0,則WC=1,之后步驟同理),n代表在DEnR與DFiR之間購買過U類商品的次數。

計算用戶對U類商品的單次回購周期內對U的日均消耗量Gct:

計算用戶對商品C的日均消耗量的離散程度SDc:

其中,Dt為第t次購買U類商品的日期,Gct為第t次和t+1次購買的U類商品的日均消耗量,n代表在Dt與Dt+1之間購買過U類商品的次數。

步驟4:最后一次以非特價購買U類商品到最后一次購買U類商品期間總購買量PE:

其中,N為最后一次以非特價購買U類商品到最后一次購買U類商品期間對U類商品的購買次數。

步驟5:計算目標用戶對商品C的消耗周期預測范圍(即黃金回購周期):

其中,SDCA*代表商品C的全體用戶日均消耗離散程度,SDA為可選參數,默認為0,該值代表與目標用戶相似的其他用戶對U類商品的離散程度,例如推薦算法中使用到“相似用戶”[7]時可以計算相似用戶對商品C的離散程度。

另外考慮到電商的物流情況,若計算后THMax<1,則令THMax=1。

步驟6:判定當前日期與黃金回購周期的關系:

若THMin≤ TAct≤ THMax,說明商品處于黃金回購周期,可以推薦。將C從I3*中刪除,完成后執行步驟3。

若THMin>TAct,說明商品處于消耗周期,不需要推薦。將C從I3*移動到Ik內,完成后執行步驟3。

若TAct>THMax,說明商品處于失效周期,需要進一步確定情況,執行下一步驟。

其中,前時間與最后一次非特價購買U類商品的時間差為TAct。

步驟7:檢查目標用戶在回購期開始后有無將U類商品放入購物車的記錄,若無,執行步驟8,否則首先檢查購物車記錄中商品價格情況,若滿足MNow≥MSe≥MCM,說明消費者因為價格因素放棄購買,則將C從I3*移動到Ik內,完成后執行步驟3;若不滿足,說明消費者超期未購買的因素可能與價格無關,將DEnR值設置為購物車記錄生成日期,而PE值通過購物車信息計算得到,之后返回步驟5。

其中,MNow代表當前商品C的最新單價,MSC代表目標用戶最后一次將U類商品放入購物車時的商品單價,MCM代表用戶購買過的U類商品的平均單價。

步驟8:檢查目標用戶在回購期開始后有無對U類商品頁面的瀏覽記錄,若無,則將商品C從I3*中刪除,完成后執行步驟3,否則采用與購物車記錄相同的處理步驟,如果需要重新計算黃金回購周期,則DEnR的值設置為目標用戶對U類商品最后瀏覽日期,PE值設置為:

4 算法檢驗(Algorithm inspection)

4.1 去重有效性評價指標

主要從兩個指標進行評價:召回率和誤識別率[8,9]。

召回率。召回率在本文中定義為正確去除的推薦商品占所有需要去除的推薦商品的百分比,召回率越高越好。其計算公式為:

召回率=(正確識別的多余推薦商品數目/實際包含的多余推薦商品總數)×100%

誤識別率。誤識別率在本文中定義為被錯誤去除的推薦商品占所有被識別為待去除商品的百分比,誤識別率越低越好。其計算公式如下:

誤識別率=(錯誤識別為待去除商品的數量/被識別為待去除商品的總數)×100%

4.2 評價指標獲取方案

步驟1:獲取算法所需表格。

步驟2:任意取一個用戶P,統計其歷史購買記錄,獲取每個類別商品的總購買次數。

步驟3:對每種購買次數>2的商品,忽略掉其最后一次購買記錄。將剩余相關記錄導入算法中計算,算法會輸出每一個商品的黃金回購周期。

步驟4:將黃金回購周期與用戶最后一次購買該商品的日期進行比對,若用戶最后一次購買該商品的日期在黃金回購周期內,則判定為成功識別,否則為錯誤識別。

步驟5:通過前四個步驟獲取的參數計算召回率和誤識別率。

4.3 實驗結果

實驗采用的數據集是包含有關網站部分用戶購物信息匯總的數據集,實驗結果如表1所示。

5 結論(Conclusion)

目前各大電商網站的推薦系統基本都存在重復推薦消費者當前所不需要的商品的情況。本文在前人的基礎上提出了一種以重復購買周期為主,考慮多種情況的推薦商品去重方案,讓商家和消費者能得到雙贏的結果。該去重方案還可以反向運用,即作為一種推薦方法,定期向用戶推薦其可能需要重復購買的商品。

在后續的研究中,將著重處理以下問題:一是對于某些商品來說,消費者重復購買并不是因為周期消耗因素,例如目標用戶間隔一段時間就幫不同的朋友購買一塊電腦硬盤,這時候計算消耗周期的意義不大,因為即使目標用戶也不一定清楚自己會在什么時候需要硬盤;而直接將硬盤歸入非消耗類商品從而排除計算周期的方案也不可行,因為存在一些消費者需要大量的存儲空間而定期購買硬盤的情況,例如商店內的監控錄像存儲,因此需要研究一種全新的思路。另一個問題是分類計算周期,在本文的算法中,考慮到很多用戶在重復購買時并不局限于購買一個品牌的商品,因此在第一次人工分類時沒有細化分類,但部分同類產品高端與低端之分,消費者可能出現種種原因導致高低端產品都有購買,這時在計算周期前可能還需要考慮例如價格等因素來進行更細致的分類,之后才計算回購周期。

參考文獻(References)

[1] 王國霞,劉賀平.個性化推薦系統綜述[J].計算機工程與應用,2012,48(07):66-76.

[2] 楊博,趙鵬飛.推薦算法綜述[J].山西大學學報,2012(3):337-350.

[3] 張志清,李夢,胡竹青.考慮商品重復購買周期的協同過濾推薦方法改進[J].武漢科技大學學報,2017,40(04):307-313.

[4] 羅子明.消費者購買行為的測量指標[J].北京商學院學報,2000(04):30-33.

[5] 陳立平.淺談商品分類的目的[N].中國商報,2004-05-21.

[6] 聯商.便利店商品分類與編碼[N].中國商報,2003-11-28.

[7] 高董英,鄧新國,肖如良.融合相似用戶和信任關系的動態反饋協同過濾推薦算法[J].福州大學學報,2017,45(01):25-31.

[8] 周奕辛.數據清洗算法的研究與應用[D].青島大學,2005:40-41.

[9] 朱郁筱,呂琳媛.推薦系統評價指標綜述[J].電子科技大學學報,2012,41(02):163-175.

作者簡介:

張鵬程(1993-),男,碩士生.研究領域:中小企業信息化.

馬佳琳(1972-),女,碩士,教授.研究領域:中小企業信息化,電子商務.

猜你喜歡
大數據
基于在線教育的大數據研究
“互聯網+”農產品物流業的大數據策略研究
基于大數據的小微電商授信評估研究
大數據時代新聞的新變化探究
淺談大數據在出版業的應用
“互聯網+”對傳統圖書出版的影響和推動作用
大數據環境下基于移動客戶端的傳統媒體轉型思路
基于大數據背景下的智慧城市建設研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合