秦曉安,王 睿,舒 升
(安徽商貿(mào)職業(yè)技術(shù)學(xué)院,安徽 蕪湖 241002)
隨著電子商務(wù)平臺(tái)的蓬勃發(fā)展,現(xiàn)在越來(lái)越多的交易是在網(wǎng)上完成的。根據(jù)最新的數(shù)據(jù),2018年,大約28.5%的交易是在線完成的,馬云在首屆中國(guó)國(guó)際進(jìn)口博覽會(huì)論壇上表示,未來(lái)95%的交易會(huì)在網(wǎng)上完成。人們可以從數(shù)十億的在線交易中獲得前所未有的深刻見(jiàn)解,并開(kāi)發(fā)了許多技術(shù)來(lái)改善消費(fèi)者的購(gòu)物體驗(yàn)。其中一種技術(shù)是基于個(gè)人客戶偏好的個(gè)性化交易推薦。目前,大多數(shù)零售商在進(jìn)行市場(chǎng)營(yíng)銷(xiāo)活動(dòng)時(shí),并不區(qū)分顧客,例如,向所有顧客發(fā)送所有電子優(yōu)惠券。這類(lèi)營(yíng)銷(xiāo)通常以向客戶發(fā)送垃圾信息而告終,因?yàn)榇蠖鄶?shù)客戶可能并不感興趣。即使一些顧客感興趣,他們關(guān)注的信息可能不太容易被發(fā)現(xiàn)。個(gè)性化推薦是解決這一問(wèn)題的最佳方式,它只向目標(biāo)客戶推薦相關(guān)產(chǎn)品,在幫助零售商獲得更多客戶的同時(shí),也為零售商節(jié)省了成本[1]。個(gè)性化的推薦引擎需要考慮個(gè)人客戶的偏好和購(gòu)買(mǎi)歷史,并找到最相關(guān)的產(chǎn)品。
個(gè)性化推薦可以被各類(lèi)零售商使用,并且不同的業(yè)務(wù)邏輯需要不同類(lèi)型的推薦算法。在文章中,我們討論了一種特殊類(lèi)型的交易,即優(yōu)惠券交易,它具有一些特定的特征。這種商業(yè)模式的一個(gè)典型例子是美團(tuán),所有的交易都是在短期內(nèi)有效。因此,我們必須處理所有建議的“冷啟動(dòng)”問(wèn)題。在文章中,我們討論了關(guān)鍵詞在類(lèi)交易推薦中的作用,實(shí)驗(yàn)表明,我們提出的方法在優(yōu)惠券個(gè)性化投放率上優(yōu)于現(xiàn)有的基線方法。
針對(duì)不同應(yīng)用推薦系統(tǒng)做了大量的研究,如好友推薦、基于位置的交易推薦、電影推薦、音樂(lè)推薦、產(chǎn)品推薦、app推薦[2]。在大多數(shù)情況下,評(píng)級(jí)信息可以用于推薦,如電影,音樂(lè)和產(chǎn)品交易[2]。在我們研究的案例中,優(yōu)惠券交易通常沒(méi)有任何評(píng)分或評(píng)級(jí)。因此,我們只能將每一個(gè)購(gòu)買(mǎi)行為視為一個(gè)“積極”的行為,而沒(méi)有來(lái)自用戶的“消極”輸入。
在傳統(tǒng)的推薦應(yīng)用中,被推薦的項(xiàng)目總是可用的,例如電影、音樂(lè)和產(chǎn)品,但是優(yōu)惠券交易只在短時(shí)間內(nèi)有效。因此,在推薦優(yōu)惠券交易時(shí),從其他人的歷史數(shù)據(jù)中引用交易在這種情況下不是很有用。協(xié)同過(guò)濾是最常用的一般項(xiàng)目推薦算法[3]。它計(jì)算項(xiàng)目到項(xiàng)目或用戶到項(xiàng)目的相似性,并使用組合相似性值推薦項(xiàng)目。但是我們希望推薦新的優(yōu)惠券交易,而協(xié)同過(guò)濾只有在所有交易都已經(jīng)有一些交易時(shí)才有效。根據(jù)協(xié)同過(guò)濾的公式,只推薦有交易的交易,不推薦沒(méi)有交易的新交易。
我們研究了一組來(lái)自在線優(yōu)惠券交易市場(chǎng)的真實(shí)交易數(shù)據(jù)。由于這個(gè)數(shù)據(jù)源不是公共的,通過(guò)校企合作授權(quán)得到,所以只能在文章中列出關(guān)于數(shù)據(jù)集的統(tǒng)計(jì)信息。數(shù)據(jù)集的描述如下:
(1) 交易筆數(shù):15萬(wàn)筆+
(2) 交易數(shù)量:2000+
(3) 交易用戶數(shù):76000+
(4) 至少有3筆交易的用戶數(shù):12000+
交易類(lèi)別:餐飲、酒店、教育培訓(xùn)、休閑娛樂(lè)、旅游。這些類(lèi)別是手動(dòng)定義的。表1為這些類(lèi)別交易的樣本,圖1為交易中的類(lèi)別分布。
表1 五類(lèi)交易樣本
圖1 各類(lèi)交易占比
為了便于理解,表1列出了每種類(lèi)別的一些類(lèi)似案例樣本。案例樣本的詳細(xì)描述可以在交易網(wǎng)站上中找到。在數(shù)據(jù)集中,我們還對(duì)人們是否反復(fù)購(gòu)買(mǎi)類(lèi)似的商品進(jìn)行了研究,例如,反復(fù)購(gòu)買(mǎi)美食消費(fèi)。但當(dāng)我們?cè)噲D向用戶推薦交易時(shí),總是面臨 “冷啟動(dòng)”問(wèn)題,即我們沒(méi)有足夠的交易歷史記錄來(lái)處理每天的新交易。因此,我們考慮使用關(guān)鍵詞將新交易與舊交易鏈接起來(lái),并基于交易之間的關(guān)鍵詞映射來(lái)執(zhí)行推薦,提出了一種新的基于關(guān)鍵詞關(guān)聯(lián)規(guī)則的推薦算法。
傳統(tǒng)的Apriori算法關(guān)注交易之間的關(guān)聯(lián)規(guī)則,例如啤酒和嬰兒尿布一起購(gòu)買(mǎi)。然而,在我們研究的數(shù)據(jù)集中,由于交易到期非???,我們的算法不能推薦基于關(guān)聯(lián)規(guī)則的過(guò)期交易。因此,我們不是計(jì)算交易之間的關(guān)系,而是計(jì)算交易描述中的關(guān)鍵詞之間的關(guān)系。我們對(duì)交易描述進(jìn)行預(yù)處理,只保留交易網(wǎng)站中描述的名詞[4]。
算法1計(jì)算關(guān)鍵詞關(guān)聯(lián)規(guī)則如下:
(4)將所有關(guān)鍵詞聚合到矩陣M中,每一行就是一個(gè)關(guān)鍵詞。所以M是一個(gè)R×2矩陣,R> 3 000 000。
(1)
(2)
(9)在160,000多個(gè)關(guān)鍵詞supp×conf中選擇值最高的5%。
表2 最常見(jiàn)的關(guān)鍵詞配對(duì)組合的例子
表2(續(xù))
我們?cè)诒?中選擇了一些具有高支持值和置信度值的典型關(guān)鍵詞組合,其中可以找出一些有趣的行為模式。我們可以把這些結(jié)果解釋為人們購(gòu)買(mǎi)了一筆描述上有“關(guān)鍵詞1”的交易時(shí)他們也傾向于購(gòu)買(mǎi)另一種帶有“關(guān)鍵詞2”的交易。例如,表2中支持度最高的關(guān)鍵詞組合是{自助餐, 自助餐}。說(shuō)明:(1)描述中有“自助餐”的交易較多;(2)以前買(mǎi)過(guò)自助餐的人傾向于買(mǎi)另一種不同的自助餐?!白灾汀?、“晚餐”、“酒店”、“休閑”等詞與“自助餐”一起出現(xiàn)的頻率最高,這意味著購(gòu)買(mǎi)了這些詞的人將來(lái)更傾向于購(gòu)買(mǎi)自助餐特惠產(chǎn)品。同樣的道理也適用于“醫(yī)療”、“全身”、“面部”、“spa”等,例如,買(mǎi)了全身按摩休閑的人以后會(huì)買(mǎi)面部醫(yī)療,這意味著人們會(huì)反復(fù)購(gòu)買(mǎi)美容保健產(chǎn)品。有趣的是,我們發(fā)現(xiàn)不僅是服務(wù)交易(如餐飲、美容),而且一些產(chǎn)品交易,如小米和華為產(chǎn)品也在人們的購(gòu)買(mǎi)模式中重復(fù)出現(xiàn)。這意味著我們可以向以前購(gòu)買(mǎi)過(guò)同一品牌的顧客推薦優(yōu)惠。鑒于這些發(fā)現(xiàn),我們提出一種基于關(guān)鍵詞關(guān)聯(lián)規(guī)則的推薦算法。
我們?cè)O(shè)計(jì)了一個(gè)推薦算法,根據(jù)客戶購(gòu)買(mǎi)歷史中的交易描述和4.1中計(jì)算的關(guān)鍵詞對(duì)關(guān)聯(lián)規(guī)則的先前知識(shí),向客戶推薦新的交易。
(3)交易權(quán)重dn的計(jì)算方法如下:
(3)
(4)通過(guò)除以DT中的最大值amax,將an值歸于[0, 1 ]范圍。
電子商務(wù)網(wǎng)站使用的最簡(jiǎn)單和有效的推薦方法是根據(jù)出售的優(yōu)惠券數(shù)量對(duì)所有交易進(jìn)行排序。我們定義為出售的優(yōu)惠券數(shù)量dn∈DT。每筆交易我們除以DT中最大值狻βmax得到正常狻βn值。
我們將關(guān)鍵詞關(guān)聯(lián)規(guī)則中的權(quán)重與銷(xiāo)售數(shù)量結(jié)合起來(lái):
Yn=αn+βn
(4)
并按值向下排序所有交易。從關(guān)鍵詞關(guān)聯(lián)度和整體人氣來(lái)看,排名靠前的交易是與用戶最相關(guān)的交易。
我們?cè)?.3節(jié)描述的優(yōu)惠券交易數(shù)據(jù)庫(kù)中,用基線算法對(duì)我們提出的算法進(jìn)行了實(shí)驗(yàn)測(cè)試。對(duì)于用戶購(gòu)買(mǎi)的每一筆交易,我們都將其視為未知交易,并根據(jù)查詢?nèi)掌谥暗馁?gòu)買(mǎi)歷史推薦一份交易列表,看看這樁交易是否屬于我們推薦的交易[6]。如果交易在推薦名單上,我們稱之為成功。在我們的實(shí)驗(yàn)中,我們報(bào)告所有交易的點(diǎn)擊率。由于我們的算法依賴于購(gòu)買(mǎi)歷史,因此我們跳過(guò)用戶購(gòu)買(mǎi)的第一次購(gòu)買(mǎi),只推薦從第二次購(gòu)買(mǎi)開(kāi)始的交易。很明顯,命中率越高,推薦效果越好。我們還計(jì)算了每次點(diǎn)擊的平均排名,rank=1表示用戶實(shí)際購(gòu)買(mǎi)的交易位于推薦列表的頂部[7]。所以較低的平均排名意味著更好的推薦。我們還根據(jù)以下等式計(jì)算平均倒數(shù)秩(MRR):
(5)
其中Q是所有熱門(mén)交易的集合。很容易看出,MRR值越高,推薦就越好。根據(jù)研究結(jié)果,我們知道,在餐飲、娛樂(lè)和旅游交易中,詞語(yǔ)的重復(fù)頻率更高,因?yàn)樗鼈兇蠖嗍欠?wù)交易,而對(duì)于產(chǎn)品和旅游交易,詞語(yǔ)不太可能有關(guān)聯(lián)。我們還觀察到,在這個(gè)數(shù)據(jù)庫(kù)中,人們往往購(gòu)買(mǎi)同一類(lèi)別的交易非常頻繁。例如,如果一個(gè)顧客購(gòu)買(mǎi)了一份餐飲套餐,那么他的下一次購(gòu)買(mǎi)很可能也是餐飲套餐。因此,我們的實(shí)驗(yàn)步驟如下:
(1)對(duì)于每個(gè)用戶,在查詢?nèi)掌讷@取購(gòu)買(mǎi)歷史記錄。
(2)如果最后購(gòu)買(mǎi)的類(lèi)別是餐飲、健康、活動(dòng),根據(jù)公式4推薦交易,否則按n值推薦交易。
(3)計(jì)算點(diǎn)擊率、所有點(diǎn)擊率的平均排名和MRR。
我們報(bào)告前5名、前10名和前20名推薦的點(diǎn)擊率、平均排名和平均倒數(shù)排名。從圖2、3、4實(shí)驗(yàn)的結(jié)果可以得出,我們提出的關(guān)鍵詞關(guān)聯(lián)的算法在所有實(shí)驗(yàn)中,無(wú)論是命中率、平均排名還是平均倒數(shù)排名,都優(yōu)于數(shù)量算法。前5名推薦的點(diǎn)擊率由12.9%提高到13.9%,前10名推薦的點(diǎn)擊率由21.1%提高到21.6%,前20名推薦的點(diǎn)擊率由35.7%提高到36.9%,不同情況的點(diǎn)擊率分別為7.8%、2.4%、3.4%。對(duì)于每次命中的平均秩,我們的算法總是有較低的秩,這意味著在所有情況下都有更好的性能。最后,我們還實(shí)現(xiàn)了在所有情況下比基線更高的平均倒數(shù)排名,分別為前5名、前10名和前20名的建議增加14.1%、9.3%和11.9%。
將來(lái),我們希望更深入地研究交易,以確定哪些交易更適合使用關(guān)鍵詞關(guān)聯(lián)規(guī)則進(jìn)行推薦。我們還計(jì)劃將關(guān)鍵詞關(guān)聯(lián)規(guī)則集成到協(xié)同過(guò)濾算法中,以獲得更好的性能[8]。
文章提出了一種基于關(guān)鍵詞關(guān)聯(lián)規(guī)則的優(yōu)惠券交易推薦新算法,以解決傳統(tǒng)推薦案例中不太明顯的“冷啟動(dòng)”問(wèn)題?;谙惹暗陌l(fā)現(xiàn),將該算法應(yīng)用于“餐飲”、“娛樂(lè)”和“旅游”交易是很有意義的。關(guān)鍵詞關(guān)聯(lián)規(guī)則被計(jì)算出來(lái),并用于計(jì)算推薦的每個(gè)交易的權(quán)重,權(quán)重以便于為特定用戶量身定制發(fā)放優(yōu)惠券。我們對(duì)提出的算法進(jìn)行了實(shí)驗(yàn),并與基線銷(xiāo)量算法進(jìn)行了比較,前5名、前10名和前20名的推薦點(diǎn)擊率得到了明顯改善,發(fā)放優(yōu)惠券時(shí)建議推薦按點(diǎn)擊率、平均排名和平均倒數(shù)排名。