張鵬程 馬佳琳
摘 要:伴隨著網(wǎng)購的不斷發(fā)展,各大電商網(wǎng)站均引入了商品推薦系統(tǒng)。但消費(fèi)者卻常常對(duì)這類系統(tǒng)的有效性抱有疑問,因?yàn)樗麄儼l(fā)現(xiàn)自己前一天剛買的商品依然出現(xiàn)在今天的推薦列表中,而自己已經(jīng)不再需要這類商品了。針對(duì)這樣的情況,需要給推薦系統(tǒng)增加一個(gè)過濾模塊,將一些在當(dāng)前明顯不會(huì)被目標(biāo)用戶所需要的商品去除。本文在前人提出的回購周期去重方案的基礎(chǔ)上進(jìn)行優(yōu)化,提出了一套綜合去重方案。
關(guān)鍵詞:推薦方法;推薦去重;推薦過濾;大數(shù)據(jù)
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼: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)
互聯(lián)網(wǎng)的出現(xiàn)使人們足不出戶就能獲得各類信息。而多年以來互聯(lián)網(wǎng)的發(fā)展也呈現(xiàn)出爆炸性趨勢,加上物流運(yùn)輸產(chǎn)業(yè)的的發(fā)展,越來越多的人選擇通過網(wǎng)上商城進(jìn)行購物。商家們?yōu)榱双@取更多的利潤,幾乎都在網(wǎng)站上使用了商品推薦系統(tǒng),以期獲得更大的利潤。
Resnick和Varian在1997年給出了推薦系統(tǒng)的定義:“它利用電子商務(wù)網(wǎng)站向客戶提供商品信息和建議,幫助用戶決定應(yīng)該購買什么產(chǎn)品,模擬銷售人員幫助客戶完成購買過程”[1]。推薦系統(tǒng)的核心是推薦方法,經(jīng)過多年的發(fā)展,當(dāng)前較為成熟的推薦方法包括協(xié)同過濾,基于內(nèi)容推薦,基于圖結(jié)構(gòu)推薦和混合推薦[2]。
然而當(dāng)前幾乎所有的購物網(wǎng)站使用的推薦系統(tǒng)在對(duì)消費(fèi)者進(jìn)行商品推薦時(shí)都沒有考慮推薦去重的問題。例如目標(biāo)用戶經(jīng)過一個(gè)月的篩選,最終買下了一臺(tái)幾千元的手機(jī),而當(dāng)用戶第二天打開網(wǎng)站的時(shí)候,網(wǎng)站的推薦系統(tǒng)卻仍然在賣力的向其推薦手機(jī)。這樣的情況不僅浪費(fèi)了推薦的機(jī)會(huì),更讓消費(fèi)者對(duì)網(wǎng)站的推薦系統(tǒng)能力產(chǎn)生懷疑,用戶對(duì)系統(tǒng)推薦性能持否定態(tài)度的結(jié)果將導(dǎo)致其不再關(guān)注系統(tǒng)推薦的任何商品。這樣的局面不僅是消費(fèi)者的損失,更是商家的損失。
而對(duì)購買過的商品采取“一刀切”,不再推薦的做法也顯然不行,如果消費(fèi)者購買的商品屬于消耗類商品,例如牙膏,那么顯然很有必要再次進(jìn)行推薦,但推薦的時(shí)機(jī)是一個(gè)很重要的問題。
針對(duì)以上的問題,張志清[3]等人提出了一種考慮商品重復(fù)購買周期[4]的協(xié)同過濾推薦方案。本文則受其啟發(fā),在其基礎(chǔ)上提出一種獨(dú)立的去重模塊,以期能與各類推薦方法組合使用在推薦系統(tǒng)中,提升推薦系統(tǒng)的有效性。
2 去重方案(Filtering scheme)
2.1 考慮商品重復(fù)購買周期的協(xié)同過濾推薦方案
該方案主要包括如下步驟:第一是建立商品數(shù)據(jù)庫和顧客交易數(shù)據(jù)庫,并將所有商品分成三類,即長重復(fù)購買周期、短重復(fù)購買周期和零重復(fù)購買周期的商品;第二步是計(jì)算短重復(fù)購買周期商品的重復(fù)購買周期,生成重復(fù)購買周期表;第三步則是計(jì)算目標(biāo)推薦用戶已購商品的回購狀態(tài),找出處于消費(fèi)周期,失效狀態(tài)和長重復(fù)購買周期的商品;最后一步是將傳統(tǒng)的協(xié)同過濾方法得到的商品推薦列表與以上三步獲得的商品列表進(jìn)行比對(duì),將兩個(gè)列表中重復(fù)的商品從協(xié)同過濾結(jié)果的列表中去除,最后將過濾后列表內(nèi)的商品推薦給用戶。
2.2 考慮商品重復(fù)購買周期方案的局限性
首先是分類的局限,原方案中對(duì)商品進(jìn)行了事先人工分類,但這樣的分類缺乏個(gè)性化,因?yàn)橐恍┥唐穼?duì)于不同的人來說情況不同,存在一部分人幾年內(nèi)只購買一次,而另一部分人會(huì)隔一段時(shí)間就購買一次的商品,這樣的情況下人工分類吃力不討好。第二是重復(fù)購買周期計(jì)算方法的局限。原方案對(duì)顧客遇到特價(jià)活動(dòng)時(shí)的提前重復(fù)購買行為在計(jì)算時(shí)僅簡單的去除,沒有考慮提前重復(fù)購買對(duì)于后續(xù)購買周期的影響。第三是對(duì)重復(fù)購買周期離散值確定上的局限。原方案將離散值設(shè)定為固定的30天,但由于商品特性和消費(fèi)者復(fù)雜的情況,該離散值在實(shí)際使用上很難取得較好的效果。最后是對(duì)失效期商品去除的局限。當(dāng)超出回購周期后,原方案會(huì)認(rèn)為用戶已經(jīng)在其他地方購買了商品,于是不再對(duì)其推薦該商品,這其中沒有考慮消費(fèi)者不購買的原因而是做簡單拋棄。
2.3 基于消費(fèi)者購物記錄的去重方案
針對(duì)以上問題,本文提出了一套綜合的去重方案,主要改動(dòng)包括:首先是不再進(jìn)行人工三段式分類,改為先按商品品種[5,6]簡單分類(這樣的分類每個(gè)電商網(wǎng)站本來就有,相當(dāng)于不需要做額外分類),再通過計(jì)算來劃分出真正的針對(duì)目標(biāo)用戶的個(gè)性化分類的方式。其次,充分考慮優(yōu)惠打折活動(dòng)對(duì)消費(fèi)者帶來的影響,修改計(jì)算方式,使得到的回購周期更加合理。第三,通過考慮用戶多次購買同類產(chǎn)品的回購周期離散值來決定商品的黃金推薦周期,消費(fèi)周期和超期失效周期。第四,對(duì)于超過回購周期的商品,通過參考用戶在最后一次購買后的瀏覽記錄,購物車記錄和商品售價(jià)情況綜合判斷用戶對(duì)商品的態(tài)度后,在有必要的情況下會(huì)根據(jù)實(shí)際情況再次計(jì)算回購周期來決定待推薦的商品的去留,不再是一超期就無條件丟棄。
3 方案實(shí)現(xiàn)(Scheme realization)
3.1 數(shù)據(jù)準(zhǔn)備
在進(jìn)行去重前,需要在數(shù)據(jù)庫中先建立如下表格:
表1:用戶歷史購買記錄表。表中記錄項(xiàng)目包括“商品ID,購買日期,購買數(shù)量,單件容量,單價(jià),購買時(shí)是否享有折扣”。
表2:商品分類表。表中記錄項(xiàng)目包括“商品ID,商品所屬類別ID,全體用戶日均消耗離散值”,其中商品的分類按照商品品種進(jìn)行劃分。
表3:用戶瀏覽記錄表。表中記錄項(xiàng)目包括“商品ID,瀏覽日期,單件容量,單價(jià),用戶瀏覽時(shí)是否有折扣”。
表4:用戶購物車記錄表。表中記錄項(xiàng)目包括“商品ID,放入購物車時(shí)間,單件容量,單價(jià),放入購物車時(shí)是否有折扣”。
以上表中的“單件容量”屬性均指代消耗類商品的容量,非消耗類商品此值留空??紤]到節(jié)省存儲(chǔ)空間問題,一個(gè)用戶對(duì)一個(gè)商品的瀏覽或購物車放入記錄都只保留最后一次。
3.2 去重方案具體步驟
在正式開始去重前還需要準(zhǔn)備以下列表用于計(jì)算:一個(gè)針對(duì)目標(biāo)用戶的推薦列表I,該列表通過任意一種推薦算法得出;一個(gè)待處理列表I*,I*的內(nèi)容與I一致;一個(gè)排除列表Ik,Ik初始為空,用以保存待清除的推薦商品。以上列表均只保存商品的ID。
步驟1:依次檢查I*中的所有商品,若目標(biāo)用戶對(duì)待檢商品及與待檢商品同類商品的購買次數(shù)之和僅為1次,則將商品ID從I*移動(dòng)到Ik中,而購買記錄為0的商品ID則從I*中刪除。I*經(jīng)過處理后稱為I2*。
步驟2:依次檢查I2*中所有非特價(jià)購買次數(shù)小于等于1次的商品,若這些商品正在打折,則將其從I2*中刪除,否則將商品ID從I*移動(dòng)到Ik中。I2*經(jīng)過處理后稱為I3*。
步驟3:嘗試從I3*中取一個(gè)商品,若I3*為空,則將I與Ik中均存在的ID值相同的商品從I中刪除,I經(jīng)處理后最終得到I2,將I2中的商品推薦給用戶,全部流程結(jié)束;否則將取到的商品ID記為C,并獲得C所屬的商品類別,記為U。接著計(jì)算目標(biāo)用戶對(duì)該類商品的日均消耗量:
其中,DEnR代表目標(biāo)用戶最后一次以非打折價(jià)格購買U類商品的日期,DFiR代表目標(biāo)用戶第一次以非打折價(jià)格購買U類商品的日期,WN代表單次購買U類商品的數(shù)量,WC代表單次購買U類商品的容量(若WC為空或0,則WC=1,之后步驟同理),n代表在DEnR與DFiR之間購買過U類商品的次數(shù)。
計(jì)算用戶對(duì)U類商品的單次回購周期內(nèi)對(duì)U的日均消耗量Gct:
計(jì)算用戶對(duì)商品C的日均消耗量的離散程度SDc:
其中,Dt為第t次購買U類商品的日期,Gct為第t次和t+1次購買的U類商品的日均消耗量,n代表在Dt與Dt+1之間購買過U類商品的次數(shù)。
步驟4:最后一次以非特價(jià)購買U類商品到最后一次購買U類商品期間總購買量PE:
其中,N為最后一次以非特價(jià)購買U類商品到最后一次購買U類商品期間對(duì)U類商品的購買次數(shù)。
步驟5:計(jì)算目標(biāo)用戶對(duì)商品C的消耗周期預(yù)測范圍(即黃金回購周期):
其中,SDCA*代表商品C的全體用戶日均消耗離散程度,SDA為可選參數(shù),默認(rèn)為0,該值代表與目標(biāo)用戶相似的其他用戶對(duì)U類商品的離散程度,例如推薦算法中使用到“相似用戶”[7]時(shí)可以計(jì)算相似用戶對(duì)商品C的離散程度。
另外考慮到電商的物流情況,若計(jì)算后THMax<1,則令THMax=1。
步驟6:判定當(dāng)前日期與黃金回購周期的關(guān)系:
若THMin≤ TAct≤ THMax,說明商品處于黃金回購周期,可以推薦。將C從I3*中刪除,完成后執(zhí)行步驟3。
若THMin>TAct,說明商品處于消耗周期,不需要推薦。將C從I3*移動(dòng)到Ik內(nèi),完成后執(zhí)行步驟3。
若TAct>THMax,說明商品處于失效周期,需要進(jìn)一步確定情況,執(zhí)行下一步驟。
其中,前時(shí)間與最后一次非特價(jià)購買U類商品的時(shí)間差為TAct。
步驟7:檢查目標(biāo)用戶在回購期開始后有無將U類商品放入購物車的記錄,若無,執(zhí)行步驟8,否則首先檢查購物車記錄中商品價(jià)格情況,若滿足MNow≥MSe≥MCM,說明消費(fèi)者因?yàn)閮r(jià)格因素放棄購買,則將C從I3*移動(dòng)到Ik內(nèi),完成后執(zhí)行步驟3;若不滿足,說明消費(fèi)者超期未購買的因素可能與價(jià)格無關(guān),將DEnR值設(shè)置為購物車記錄生成日期,而PE值通過購物車信息計(jì)算得到,之后返回步驟5。
其中,MNow代表當(dāng)前商品C的最新單價(jià),MSC代表目標(biāo)用戶最后一次將U類商品放入購物車時(shí)的商品單價(jià),MCM代表用戶購買過的U類商品的平均單價(jià)。
步驟8:檢查目標(biāo)用戶在回購期開始后有無對(duì)U類商品頁面的瀏覽記錄,若無,則將商品C從I3*中刪除,完成后執(zhí)行步驟3,否則采用與購物車記錄相同的處理步驟,如果需要重新計(jì)算黃金回購周期,則DEnR的值設(shè)置為目標(biāo)用戶對(duì)U類商品最后瀏覽日期,PE值設(shè)置為:
4 算法檢驗(yàn)(Algorithm inspection)
4.1 去重有效性評(píng)價(jià)指標(biāo)
主要從兩個(gè)指標(biāo)進(jìn)行評(píng)價(jià):召回率和誤識(shí)別率[8,9]。
召回率。召回率在本文中定義為正確去除的推薦商品占所有需要去除的推薦商品的百分比,召回率越高越好。其計(jì)算公式為:
召回率=(正確識(shí)別的多余推薦商品數(shù)目/實(shí)際包含的多余推薦商品總數(shù))×100%
誤識(shí)別率。誤識(shí)別率在本文中定義為被錯(cuò)誤去除的推薦商品占所有被識(shí)別為待去除商品的百分比,誤識(shí)別率越低越好。其計(jì)算公式如下:
誤識(shí)別率=(錯(cuò)誤識(shí)別為待去除商品的數(shù)量/被識(shí)別為待去除商品的總數(shù))×100%
4.2 評(píng)價(jià)指標(biāo)獲取方案
步驟1:獲取算法所需表格。
步驟2:任意取一個(gè)用戶P,統(tǒng)計(jì)其歷史購買記錄,獲取每個(gè)類別商品的總購買次數(shù)。
步驟3:對(duì)每種購買次數(shù)>2的商品,忽略掉其最后一次購買記錄。將剩余相關(guān)記錄導(dǎo)入算法中計(jì)算,算法會(huì)輸出每一個(gè)商品的黃金回購周期。
步驟4:將黃金回購周期與用戶最后一次購買該商品的日期進(jìn)行比對(duì),若用戶最后一次購買該商品的日期在黃金回購周期內(nèi),則判定為成功識(shí)別,否則為錯(cuò)誤識(shí)別。
步驟5:通過前四個(gè)步驟獲取的參數(shù)計(jì)算召回率和誤識(shí)別率。
4.3 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)采用的數(shù)據(jù)集是包含有關(guān)網(wǎng)站部分用戶購物信息匯總的數(shù)據(jù)集,實(shí)驗(yàn)結(jié)果如表1所示。
5 結(jié)論(Conclusion)
目前各大電商網(wǎng)站的推薦系統(tǒng)基本都存在重復(fù)推薦消費(fèi)者當(dāng)前所不需要的商品的情況。本文在前人的基礎(chǔ)上提出了一種以重復(fù)購買周期為主,考慮多種情況的推薦商品去重方案,讓商家和消費(fèi)者能得到雙贏的結(jié)果。該去重方案還可以反向運(yùn)用,即作為一種推薦方法,定期向用戶推薦其可能需要重復(fù)購買的商品。
在后續(xù)的研究中,將著重處理以下問題:一是對(duì)于某些商品來說,消費(fèi)者重復(fù)購買并不是因?yàn)橹芷谙囊蛩?,例如目?biāo)用戶間隔一段時(shí)間就幫不同的朋友購買一塊電腦硬盤,這時(shí)候計(jì)算消耗周期的意義不大,因?yàn)榧词鼓繕?biāo)用戶也不一定清楚自己會(huì)在什么時(shí)候需要硬盤;而直接將硬盤歸入非消耗類商品從而排除計(jì)算周期的方案也不可行,因?yàn)榇嬖谝恍┫M(fèi)者需要大量的存儲(chǔ)空間而定期購買硬盤的情況,例如商店內(nèi)的監(jiān)控錄像存儲(chǔ),因此需要研究一種全新的思路。另一個(gè)問題是分類計(jì)算周期,在本文的算法中,考慮到很多用戶在重復(fù)購買時(shí)并不局限于購買一個(gè)品牌的商品,因此在第一次人工分類時(shí)沒有細(xì)化分類,但部分同類產(chǎn)品高端與低端之分,消費(fèi)者可能出現(xiàn)種種原因?qū)е赂叩投水a(chǎn)品都有購買,這時(shí)在計(jì)算周期前可能還需要考慮例如價(jià)格等因素來進(jìn)行更細(xì)致的分類,之后才計(jì)算回購周期。
參考文獻(xiàn)(References)
[1] 王國霞,劉賀平.個(gè)性化推薦系統(tǒng)綜述[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(07):66-76.
[2] 楊博,趙鵬飛.推薦算法綜述[J].山西大學(xué)學(xué)報(bào),2012(3):337-350.
[3] 張志清,李夢,胡竹青.考慮商品重復(fù)購買周期的協(xié)同過濾推薦方法改進(jìn)[J].武漢科技大學(xué)學(xué)報(bào),2017,40(04):307-313.
[4] 羅子明.消費(fèi)者購買行為的測量指標(biāo)[J].北京商學(xué)院學(xué)報(bào),2000(04):30-33.
[5] 陳立平.淺談商品分類的目的[N].中國商報(bào),2004-05-21.
[6] 聯(lián)商.便利店商品分類與編碼[N].中國商報(bào),2003-11-28.
[7] 高董英,鄧新國,肖如良.融合相似用戶和信任關(guān)系的動(dòng)態(tài)反饋協(xié)同過濾推薦算法[J].福州大學(xué)學(xué)報(bào),2017,45(01):25-31.
[8] 周奕辛.數(shù)據(jù)清洗算法的研究與應(yīng)用[D].青島大學(xué),2005:40-41.
[9] 朱郁筱,呂琳媛.推薦系統(tǒng)評(píng)價(jià)指標(biāo)綜述[J].電子科技大學(xué)學(xué)報(bào),2012,41(02):163-175.
作者簡介:
張鵬程(1993-),男,碩士生.研究領(lǐng)域:中小企業(yè)信息化.
馬佳琳(1972-),女,碩士,教授.研究領(lǐng)域:中小企業(yè)信息化,電子商務(wù).