劉曉鵬,楊懷卿,楊 華
(山西農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院,山西 太谷030800)
據(jù)研究,目前常用的產(chǎn)品個(gè)性化推薦方法主要包括:基于人口統(tǒng)計(jì)學(xué)推薦算法、基于內(nèi)容推薦算法、協(xié)同過(guò)濾推薦算法等。
基于人口統(tǒng)計(jì)學(xué)推薦算法是將每個(gè)用戶(hù)的個(gè)人數(shù)據(jù)進(jìn)行建模,使用人口統(tǒng)計(jì)學(xué)的方法推薦產(chǎn)品存在過(guò)度依賴(lài)用戶(hù)個(gè)人數(shù)據(jù),協(xié)同過(guò)濾算法是推薦系統(tǒng)中實(shí)際應(yīng)用較早,推薦效果較高的一種算法。協(xié)同過(guò)濾主要包括:基于用戶(hù)的協(xié)同過(guò)濾和基于產(chǎn)品的協(xié)同過(guò)濾算法。
如表1所示,T表示用戶(hù)對(duì)產(chǎn)品感興趣,F(xiàn)表示不感興趣,用戶(hù)3為目標(biāo)用戶(hù)。
表1 基于用戶(hù)的協(xié)同過(guò)濾推薦
分析各個(gè)用戶(hù)對(duì)產(chǎn)品的感興趣程度。采用基于用戶(hù)的協(xié)同過(guò)濾算法進(jìn)行產(chǎn)品推薦時(shí),存在和基于人口統(tǒng)計(jì)推薦方法一樣的計(jì)算用戶(hù)與用戶(hù)之間相似的問(wèn)題,且推薦的產(chǎn)品往往是與目標(biāo)用戶(hù)有著相同喜好的熱門(mén)產(chǎn)品。
表2 基于產(chǎn)品的協(xié)同過(guò)濾推薦
表2中,T表示用戶(hù)對(duì)產(chǎn)品感興趣,F(xiàn)表示不感興趣,用戶(hù)3為目標(biāo)用戶(hù)。分析各個(gè)用戶(hù)對(duì)產(chǎn)品的感興趣程度。使用基于產(chǎn)品的協(xié)同過(guò)濾算法推薦產(chǎn)品,能為用戶(hù)推薦感興趣的類(lèi)似產(chǎn)品,但基于產(chǎn)品的協(xié)同過(guò)濾算法需要分析產(chǎn)品的相似度,不適合用于產(chǎn)品種類(lèi)更新較快的領(lǐng)域。
文章將基于內(nèi)容的協(xié)同過(guò)濾算法和基于用戶(hù)的協(xié)同過(guò)濾算法進(jìn)行結(jié)合,提出了一種混合協(xié)同過(guò)濾算法。如圖1所示。
圖1 面向農(nóng)產(chǎn)品的混合協(xié)同過(guò)濾算法
如圖1所示,根據(jù)Top-N和Top-M生成策略分析出候選項(xiàng)后需要經(jīng)過(guò)產(chǎn)品選擇策略和替補(bǔ)策略共同決定推薦給目標(biāo)用戶(hù)的最終產(chǎn)品列表。
由于可供用戶(hù)選擇的農(nóng)產(chǎn)品種類(lèi)較多,產(chǎn)品推薦首先要考慮按類(lèi)別對(duì)用戶(hù)進(jìn)行推薦。其次,可以通過(guò)用戶(hù)對(duì)某些產(chǎn)品的關(guān)注程度。因此,文章選擇基于產(chǎn)品類(lèi)別的點(diǎn)擊率衡量方法作為產(chǎn)品選擇的基礎(chǔ)策略。整理Top-N和Top-M策略生成的候選項(xiàng),去除掉候選項(xiàng)中重復(fù)的產(chǎn)品。系統(tǒng)根據(jù)用戶(hù)對(duì)兩種生成策略推薦的產(chǎn)品的點(diǎn)擊量對(duì)兩種生成策略加權(quán),來(lái)判斷將哪種策略推薦的產(chǎn)品反饋給用戶(hù)。
Top-N和Top-M策略生成候選項(xiàng)需要使用用戶(hù)歷史數(shù)據(jù),當(dāng)用戶(hù)的歷史數(shù)據(jù)較少時(shí)或是注冊(cè)的新用戶(hù)沒(méi)有歷史數(shù)據(jù),推薦算法將產(chǎn)生冷啟動(dòng)問(wèn)題。為了避免冷啟動(dòng)問(wèn)題,系統(tǒng)將平臺(tái)熱門(mén)產(chǎn)品或銷(xiāo)量較高的產(chǎn)品作為候補(bǔ)推薦項(xiàng)推薦給用戶(hù)。待用戶(hù)的歷史數(shù)據(jù)能夠支持生產(chǎn)策略,系統(tǒng)再按照產(chǎn)品選擇策略對(duì)用戶(hù)進(jìn)行推薦。
農(nóng)產(chǎn)品個(gè)性化推薦的實(shí)現(xiàn)包括對(duì)用戶(hù)歷史瀏覽、購(gòu)買(mǎi)、評(píng)分等數(shù)據(jù)的采集,將獲取的數(shù)據(jù)通過(guò)推薦算法進(jìn)行分析得到產(chǎn)品候選項(xiàng),對(duì)產(chǎn)品候選項(xiàng)進(jìn)行重復(fù)過(guò)濾和冷問(wèn)題替補(bǔ)得到最終產(chǎn)品推薦列表,將產(chǎn)品列表反饋給目標(biāo)用戶(hù)。具體流程如圖2所示。
圖2 面向農(nóng)產(chǎn)品的個(gè)性化推薦架構(gòu)
系統(tǒng)采用的混合協(xié)同過(guò)濾方法主要是對(duì)用戶(hù)的歷史行為數(shù)據(jù)進(jìn)行分析。進(jìn)行數(shù)據(jù)分析之前,需要將用戶(hù)的歷史記錄進(jìn)行數(shù)據(jù)化表示。用瀏覽的網(wǎng)址、瀏覽該網(wǎng)址的用戶(hù)ID、瀏覽時(shí)間等具體數(shù)據(jù)的集合來(lái)描述瀏覽記錄。用購(gòu)買(mǎi)產(chǎn)品的網(wǎng)址、購(gòu)買(mǎi)產(chǎn)品的用戶(hù)ID、購(gòu)買(mǎi)時(shí)間等具體數(shù)據(jù)的集合來(lái)描述購(gòu)買(mǎi)記錄。用產(chǎn)品ID、用戶(hù)ID、評(píng)分等級(jí)、評(píng)價(jià)等具體數(shù)據(jù)的集合來(lái)描述用戶(hù)評(píng)分行為。用戶(hù)通過(guò)網(wǎng)頁(yè)提交表單,系統(tǒng)將用戶(hù)輸入的評(píng)分、評(píng)價(jià)轉(zhuǎn)換成字符串存儲(chǔ)至數(shù)據(jù)庫(kù)中,可從數(shù)據(jù)庫(kù)中獲取該信息。
產(chǎn)品候選推薦的好壞關(guān)系到個(gè)性化產(chǎn)品推薦的準(zhǔn)確性和有效性,是產(chǎn)品推薦模塊的核心部分。
首先獲取用戶(hù)歷史行為數(shù)據(jù),通過(guò)Top-N和Top-M兩種策略生成Top-(N+M)種候選項(xiàng),候選項(xiàng)集合作為推薦的初步結(jié)果。接著對(duì)候選項(xiàng)集合進(jìn)行遍歷,將不適合性較高的產(chǎn)品去除掉。當(dāng)用戶(hù)歷史行為數(shù)據(jù)過(guò)少時(shí),產(chǎn)生用戶(hù)推薦點(diǎn)擊率產(chǎn)品作為替補(bǔ)加入候選項(xiàng)中。
產(chǎn)品的推薦應(yīng)用既要合理、高效的利用系統(tǒng)頁(yè)面,又要適度、有效的展示給用戶(hù)。
推薦產(chǎn)品的展示應(yīng)該高度滿(mǎn)足用戶(hù)對(duì)產(chǎn)品主要信息需求。因此,在設(shè)計(jì)農(nóng)產(chǎn)品推薦應(yīng)用模塊時(shí)要充分掌握用戶(hù)對(duì)哪類(lèi)農(nóng)產(chǎn)品的什么數(shù)據(jù)比較關(guān)注。充分理解使用者的購(gòu)買(mǎi)心理,將消費(fèi)者關(guān)注的信息以明顯的方式向用戶(hù)展示。為了提高個(gè)性化推薦的效率,合理部署、安排推薦列表在系統(tǒng)頁(yè)面的位置能大大提高用戶(hù)的關(guān)注度。
農(nóng)產(chǎn)品電商平臺(tái)的主頁(yè)是每個(gè)用戶(hù)登錄后跳轉(zhuǎn)的第一個(gè)頁(yè)面,將推薦列表設(shè)置在主頁(yè)顯眼的位置能第一時(shí)間吸引到用戶(hù)關(guān)注。當(dāng)用戶(hù)通過(guò)賬號(hào)登錄到系統(tǒng)主頁(yè)時(shí),系統(tǒng)通過(guò)獲取用戶(hù)唯一標(biāo)識(shí)用戶(hù)ID字段,將該字段的用戶(hù)定位為推薦目標(biāo)用戶(hù)并獲取該ID在數(shù)據(jù)庫(kù)中存儲(chǔ)的信息數(shù)據(jù),將這些信息傳輸至推薦信息數(shù)據(jù)庫(kù)來(lái)進(jìn)行推薦分析。
文章分析了幾種常見(jiàn)的推薦方法存在的缺陷,根據(jù)其存在的弊端,改進(jìn)了傳統(tǒng)協(xié)同過(guò)濾算法從而提出了一種適合面向農(nóng)產(chǎn)品的個(gè)性化推薦算法。最后,通過(guò)農(nóng)產(chǎn)品推薦的效果對(duì)改進(jìn)的算法進(jìn)行了測(cè)試與分析,證實(shí)了該推薦算法對(duì)農(nóng)產(chǎn)品個(gè)性化推薦效果較好。