秦曉安,路賀龍
(安徽商貿職業(yè)技術學院,安徽 蕪湖 241002)
推薦系統(tǒng)所用到的是一種特定類型的信息過濾技術,用于推薦特定用戶可能感興趣的商業(yè)項目.近年來,這些系統(tǒng)已變得非常普遍,并應用于各種應用中.目前最受歡迎的是電影、音樂、新聞、書籍、研究文章、搜索查詢和社交標簽等方面.不過,也有短視頻、笑話、餐館、金融服務、人壽保險、在線約會和粉絲的推薦系統(tǒng)[1].
Adomavicius G將推薦方法分為3類:基于內容的推薦算法、協(xié)作推薦算法和混合推薦算法[2].基于內容的方法是根據用戶偏好所表示內容的相似性為用戶提取合適的內容.協(xié)作方法推薦由共享目標用戶偏好的其他用戶高度評價的內容.混合方法結合了基于內容和協(xié)作的方法.這些推薦方法都試圖發(fā)現(xiàn)用戶期望,從而為了找到有趣的內容.
盡管大多數(shù)推薦系統(tǒng)在某些情況下會為單個用戶提供建議,但大多數(shù)的建議是為一組用戶群體所提供的.例如,一群朋友或一個家庭正計劃看一部電影.在這種團購商務的情況下,賣家以顯著折扣的價格在網上提供產品或服務,前提是有最低數(shù)量的買家愿意購買同一商品.盡管顧客會被大幅度折扣提供的產品所吸引,但他們可能沒有耐心去努力形成一個消費群體.盡管有人試圖建立小組來相互討論,但他們主要還是在線下環(huán)境.本文提出了一種向顧客推薦位置敏感產品的推薦方法,該方法有助于形成一個群體,使產品獲得最大的折扣.
在表1中,對目前國內外現(xiàn)有的推薦算法技術進行了比較.在編號1中,他們提出了一個基于協(xié)同過濾框架的系統(tǒng)設計,他們主要使用遺傳算法來預測群體成員之間可能的相互作用.有了這一點,他們就可以預估一組成員對某一特定項目的評價[3].在編號2中,作者提出了一種改進的群體推薦流程,可以提高群體推薦的有效性和個體群體成員的滿意度.它由2個階段組成,第一個階段是使用現(xiàn)有的群組推薦系統(tǒng)所使用的協(xié)同過濾方法為群組生成推薦集.第二階段是從推薦中剔除不相關的條目,提高個體成員偏好的滿意度[4].在編號3中,作者提出了一個基于地圖的個性化推薦系統(tǒng).它反映了由貝葉斯網絡(BN)建模的用戶偏好.這里BN的結構是由專家建立的,參數(shù)是通過數(shù)據集來學習的.該系統(tǒng)從移動設備收集位置、時間、天氣和用戶請求等上下文信息.它推斷出最喜歡的項目,并通過在迷你地圖上顯示它來提供適當?shù)姆誟5].在編號4中作者引入內容排序聚合策略,使覺得電影有趣的組成員使用合并策略探索自己的個人利益,群體成員在電影中創(chuàng)建一個概要文件,從而可以反映群體的偏好,使用單詞的相關性因素找到電影在內容上的相似性[6].在編號5中,作者引入了層次聚類技術和決策樹相結合的群體推薦系統(tǒng)(GRS).他們認為,F(xiàn)acebook的社交網絡群組可以根據其成員的個人資料進行識別[7].在編號6中,作者提出了群組建議的協(xié)作咨詢渠道.他們提供了一個基于web的環(huán)境,在基于案例的群組推薦的幫助下,支持來自任何位置的用戶進行交互[8].由于該方法與本文所提出的移動用戶群優(yōu)惠券推薦系統(tǒng)相似度最高,在本文后的實驗結果中將會與該方法進行比較.在編號7中,他們使用了一種混合技術,將協(xié)作、基于內容和人口統(tǒng)計過濾相結合,為游客提供群體推薦.他們的方法在一個名為Hermes的推薦系統(tǒng)中得以實現(xiàn),它向個人和用戶群體推薦旅游景點[9].雖然已有文獻提出了群組推薦系統(tǒng),但對移動商務關注較少.隨著人們轉向智能手機,有必要提供一個移動應用程序,可以在團購時推薦打折產品.為此,本文提出了一種新的團購商品推薦方法.
表1 國內外現(xiàn)有算法技術比較
該方法主要針對特定客戶推薦位置敏感產品.我們分析了顧客在實體店進行購買決策的3個主要因素:用戶偏好與產品特征的相似性、商店位置的地理便利性以及朋友對產品評價的影響.為了能在移動設備上使用群組建議的推薦系統(tǒng),我們開發(fā)了一個名為聚省匯的移動應用程序,用于團購折扣推薦機制.前人的算法技術大多只適用于個人推薦,不鼓勵團購.因此,該系統(tǒng)以團體折扣的方式出售大量產品,可以讓群組中的成員以最高折扣獲得產品,這其實對商家和客戶都有好處.
我們開發(fā)的目的是使當?shù)氐纳碳遗c用戶群體都可以受益于這一促銷應用.當本地商家在這個應用程序中注冊時,他們的位置通過GPS獲取并存儲在系統(tǒng)中.他們可以發(fā)布商鋪中提供的產品,還可以通過此應用程序查看在商鋪中進行選購的客戶詳細信息.商家提供一個二維碼掃描儀,他們可以掃描二維碼并為顧客提供折扣.系統(tǒng)在交易達成后,提供給雙方所出售產品的交易細節(jié).
這些產品會被推薦給此商店附近的其他顧客.當客戶登錄時,系統(tǒng)為客戶列出銷量最高的產品,如果用戶希望查看其他排名情況,他可以使用評級排序功能,根據所需要的評級對產品進行排序.用戶可以通過分享商品來增加折扣,當他的朋友一起購買此共享產品時,用戶將獲得新的折扣券.當產品達到團購所需購買人數(shù)時,所有用戶可以獲得最大的折扣.當客戶需要實際購買此產品時,系統(tǒng)會根據客戶當前所在位置列出附近幾家可以購買的商店.當顧客選擇其中一家時,就會生成該產品的二維碼并發(fā)送到顧客的手機上.顧客可以在相應的商店提供二維碼,并獲得最大的折扣.
我們所開發(fā)的聚省匯App系統(tǒng)提供以下幾種功能,這些功能用于向用戶提供產品和服務的最佳推薦.關于客戶界面的工作流程如圖1所示.關于商家界面的工作流如圖2所示.
圖1 客戶界面的工作流程圖
圖2 商家界面的工作流程圖
3.2.1 注冊與登錄
用戶首先需要在聚省匯中注冊,注冊之后就可用注冊的用戶名和密碼登錄.當用戶登錄時,系統(tǒng)會使用GPS或網絡提供商檢索其當前位置.然后,系統(tǒng)將為他列出當前購買最多的產品的排序.當用戶同步登錄他的微信并授權之后,他的微信好友聯(lián)系人信息會同步到服務器數(shù)據庫.這些微信好友聯(lián)系人可以用來分享產品,也可以邀請朋友來進一步推廣.同樣,商家也可以在聚省匯上注冊,然后他們可以通過指定產品類型、名稱和折扣來發(fā)布在他們的商店中可以買到的產品.
3.2.2 評級
用戶可以通過選擇評級欄中的星級對產品進行評級.評級如下:
★ 比較差的
★★ 稍差的 評級步驟:
★★★ 一般的 ?將所評星級用浮點數(shù)形式記錄.
★★★★ 較好的 ?使用加權平均方法進行計算.
★★★★★ 非常好的 ?權數(shù)是用星星來計算小數(shù)的.
評級計算如下:(權重之和*該權重下的評論數(shù))/總用戶評論數(shù).某個商品的評級計算示例如表2:
表2 評級計算案例
(5*252+4*124+3*40+2*29+1*33)/(252+124+40+29+33)=4.1
在上面的例子中,252個用戶為一個產品提供了5顆星.124位用戶給出了4星,40位用戶給出了3星,29位用戶給出了2星,33位用戶給出了1星.計算產品的總星數(shù),總評價星級數(shù)除以總用戶評論數(shù),得出加權平均值.加權平均值最高的產品將是用戶評價最高的產品.
3.2.3 搜索
用戶可以根據產品名稱或產品類型搜索產品.系統(tǒng)根據搜索關鍵詞接收查詢并搜索數(shù)據,然后顯示結果.后臺調用諸如啟動服務、搜索引擎等組件,最終在移動應用程序API中顯示產品信息.在此過程中,搜索引擎主要用于與其他組件通信傳遞消息,將客戶需要的搜索結果返回給適配器;適配器主要提供對數(shù)據項的訪問;瀏覽器主要負責顯示數(shù)據集中的項目,顯示客戶列表視圖的結果.列表視圖在App產品頁上以列表的形式顯示內容和圖像,同時也顯示客戶想要購買的產品名稱和類型.
3.2.4 聯(lián)系人同步
聚省匯利用微信來建立與目標用戶相關的群組.當用戶登錄時,用戶被要求同步微信聯(lián)系人以共享產品.當數(shù)據取自用戶的個人帳戶時,需要進行授權.聚省匯需要獲得用戶對微信聯(lián)系人進行同步的許可.如果用戶允許,聚省匯將獲取聯(lián)系人并將其存儲在后端服務器中.當用戶授予同步權限時,將收到一個啟動同步界面,用戶點擊開始,啟動一個線程來運行該操作,并在該線程上調用執(zhí)行同步.所有聯(lián)系人將在服務器中更新,當取消接收到的同步與現(xiàn)有同步操作匹配時,運行中的線程將被中斷并取消,服務器中將不會更新聯(lián)系人信息.
3.2.5 購物車
如果客戶想購買任何商品,他可以添加到購物車.在購物車頁面中,客戶可以將商品共享給他的朋友.通過從服務器數(shù)據庫檢索到的用戶位置將商品顯示給他.這一功能使用了地理編碼技術,地理編碼是將街道地址或其他位置描述轉換為經緯度坐標的過程,反向地理編碼是將經緯度坐標轉換為地址的過程.從附近商店列表中,用戶可以選擇一個商店.選擇之后,系統(tǒng)將要求用戶通過信用卡支付一些初始金額,聚省匯也會同時檢查信用卡的有效性.
一旦選擇了某一商店,該商店就會詢問用戶的微信信息.顧客會收到一條消息,連同二維碼和其他有關產品的詳細信息.用戶需要前往指定商家,商家會掃描二維碼來確認該用戶的優(yōu)惠信息.
3.2.6 共享
如果用戶需要獲得最大折扣的任何商品,他需要與他的朋友分享商品.當用戶的朋友也購買共享商品時,用戶和用戶的朋友都將獲得折扣,此過程將重復,直到該商品達到最大折扣為止.用戶可以通過好友列表中的所有聯(lián)系人或只與特定的好友共享產品.如果用戶想分享的朋友不在聚省匯的會員列表中,則會有一條消息通過微信提示他,要求他注冊聚省匯以成為會員,從而可以購買共享產品.第一個共享產品的人將被視為目標,分組將針對目標進行折扣商品信息分享.
3.2.7 二維碼
二維碼簡稱快速響應碼,是一種二維條碼.聚省匯主要用于優(yōu)惠券生成,即二維碼生成.通過將文本加密成虛線圖像生成二維碼,這是通過DES算法和用于電子數(shù)據加密的對稱密鑰算法實現(xiàn)的.解密過程是將虛線圖像轉換為文本格式,這是通過將二維碼中的小點轉換為二進制數(shù)字,并通過糾錯技術進行驗證來實現(xiàn)的.
二維碼信息記錄用于符號的錯誤糾正級別和掩碼模式.消息數(shù)據集以“之”字形從右向左放置.
所開發(fā)的聚省匯App是使用Eclipse 4.4.0 Jre 8作為前端,MySQL作為后端,Android 4.3作為平臺開發(fā)的.圖3為商家發(fā)布產品的示例.商家最初需要在聚省匯注冊,發(fā)布產品并更新所需要求.注冊時,商家的位置由GPS獲取緯度和經度,并轉換為地址并存儲在數(shù)據庫中.在注冊成功后商家可以通過指定產品的標題、產品的類型和產品的最大折扣來發(fā)布產品.在指定產品的細節(jié)后,商家可以使用拍攝按鈕獲取產品的照片,也可以使用添加圖像按鈕從圖庫中添加圖像,最后他可以通過添加產品按鈕發(fā)布到聚省匯中.發(fā)布產品后,該產品將自動更新并推廣到應用程序,用戶可以方便地通過產品的類型或名稱搜索該產品.圖4為買家用戶與朋友分享產品界面.
圖3 商家發(fā)布產品界面 圖4 買家用戶與朋友分享產品界面
為了評估聚省匯App的效率,我們選擇50組用戶,為每一組預先確定2至8人的人數(shù).在為50個組中的每個組生成推薦建議時,考慮聚省匯的平均處理時間.從圖5可以看出,聚省匯生成群組推薦信息所需的平均處理時間(以毫秒為單位)并沒有隨著群組成員數(shù)量的增加而呈指數(shù)增長而是呈線性趨勢,這說明了聚省匯的可擴展性.
圖5 聚省匯App的平均處理時間
基于提供的前N項建議,我們使用精確率(Precision)、召回率(Recall)和綜合評價指標(F1 Measure)來分析所提出方法的有效性.精確率是被檢測出來的信息當中正確的或者相關信息中所占的比例,召回率是所有正確的信息或者相關信息被檢測出來的比例,綜合評價指標是精確率和召回率的加權平均值.表3和表4中列出了對于50個用戶的前5個推薦產品在已有的基于案例的群組推薦技術方法和聚省匯App技術方法的實驗結果.表5提供了精確率、召回率和綜合評價指標的平均值.從表5可以看出,與基于案例的群組推薦技術方法相比,聚省匯App技術方法的執(zhí)行情況更好.
表3 基于案例的群組推薦技術方法的實驗結果
表4 聚省匯App技術方法的實驗結果
表5 前5項推薦產品的精確度、召回率和綜合評價指標的平均值
目前已有的推薦系統(tǒng)通常只能為單個客戶提供個性化推薦,對于由一群人的團購活動,這些系統(tǒng)不能提供群組推薦.本文提出了一種生成團購的推薦系統(tǒng),基于該推薦系統(tǒng),開發(fā)聚省匯App的移動應用程序,通過生成團購優(yōu)惠券二維碼的方式,為客戶推薦基于位置的產品.通過實驗可以觀察到,為團購成員推薦打折產品不僅可以顯著提高顧客的購買意愿,而且所提出的群體折扣機制也可以有效地幫助用戶通過其自身的社會影響力和位置敏感性吸引最大數(shù)量的群體來增加他們的優(yōu)惠力度.