孟秋晴,童兆莉,丁紅發
(1.華中師范大學信息管理學院,武漢403792;2.貴州財經大學信息學院,貴陽550025;3.湖北交通職業技術學院圖書館,武漢430079)
農產品電商繼圖書、服裝、3C 三大電商熱潮后,成為第四輪電商熱潮,標志著我國農產品互聯網化進入高速成長階段[1]。農產品的季節地域性、易腐性、數量大等特殊性質對農產品交易要求苛刻,讓傳統的線下交易面臨巨大的阻力,而農產品電商的發展則讓農產品交易煥發了新的活力。如今各種農產品網站層出不窮,大規模的農產品信息給人們的購物帶來了便利,與此同時,也增加了用戶的信息負載。個性化推薦技術主要依據用戶的歷史行為數據,挖掘出用戶感興趣的內容,并自動推送給用戶,減少了用戶的人工搜索量,提高檢索效率。將個性化推薦算法[2]應用到農產品電商領域,能夠挖掘用戶興趣,使用戶快速找到符合自己需求的農產品信息,降低了購物的盲目性,促進農產品的銷售,對農村電商的發展有著重要意義。
目前,個性化推薦算法雖然已經應用到農產品電商中,但相關研究才剛剛起步,并不成熟。農產品電商中推薦算法的分類、模型、適用場景等都沒有系統的研究成果,無法較好地支持推薦算法在農產品電商中的應用研究。基于此現狀,本文對個性化推薦算法在農產品電商中的應用研究進行了梳理和總結,分類闡述了個性化推薦算法的模型、特征和應用優勢,分析了推薦算法在農產品電商中的應用研究及其評價指標,并進一步梳理分析了面向農產品的推薦算法應用所存在的問題,提出了進一步的研究方向,以期為個性化推薦算法在農產品電商的深入應用和普及提供有力支持。
20 世紀90 年代中期,在美國人工智能協會上,“Web Watcher”和“LIRA”兩個個性化推薦系統[3]的出現標志著個性化推薦技術的研究正式開始。Resnick 等人[4]在1997 年針對個性化推薦系統首次給出了定義,認為完整的推存系統具體包括三個構成要素,即用戶模型、產品模型以及推薦算法。其中,用戶模型主要是用于儲存用戶的歷史行為信息,信息獲取方式一般分為顯示獲取和隱式獲取兩種。顯式獲取采用用戶的評分來衡量用戶對產品的偏好程度,隱式獲取是通過用戶的網頁瀏覽信息,購買日志等隱式信息獲取用戶的偏好。產品模型主要用于表示產品的特征信息。個性化推薦系統流程如圖1 所示,包括數據輸入、個性化推薦算法和生成推薦列表三個步驟[5]。其中,個性化推薦算法是推薦系統的核心環節,主要通過對用戶歷史行為數據進行挖掘,揭示用戶的消費習慣以及興趣偏好,從而進行個性化推薦。

圖1 個性化推薦系統流程
目前,個性化推薦已廣泛應用于電子商務、廣告服務以及社交媒體等領域當中。其中,以在電商中的應用最為成熟,如在亞馬遜、eBay、淘寶網、當當網等電商網站中,個性化推薦技術的使用已經產生了巨大的商業價值。盡管不同的應用領域使用到了不同的推薦算法,從推薦策略的角度,可將推薦算法分為協同過濾推薦、基于內容的推薦、基于知識的推薦以及混合推薦等不同的推薦方案[6]。
協同過濾的概念最先由Goldberg 等人在1992 年提出[7],最初應用于過濾電子郵件,目前在推薦領域中應用最為廣泛。協同過濾算法由三個步驟組成:第一步,獲取“用戶-項目”評分矩陣;第二步,通過相似度計算得到目標用戶的最近鄰用戶集合或目標項目的最近鄰項目集合;最后,通過上一個步驟得到的最近鄰集合,計算目標用戶對目標項目的預測評分,根據評分生成最終推薦結果,如圖2 所示。協同過濾算法主要分為基于用戶的協同過濾推薦、基于項目的協同過濾推薦、基于模型的協同過濾推薦三種。

圖2 協同過濾推薦算法流程
基于用戶的協同過濾要找出與當前用戶過去有相似偏好的其他用戶群體,將該用戶群體感興趣且當前用戶沒有見過的內容推薦給當前用戶;基于項目的協同過濾推薦是要找出跟當前用戶感興趣的項目相似度較高的項目,把這些項目作為推薦。基于模型的協同過濾推薦則是基于各種機器學習的方法離線建立模型,然后根據用戶興趣模型,計算用戶對產品的預測評分,從而進行推薦。相似度的計算主要的方法有Pearson 相似度計算,修正的余弦相似度計算、歐幾里得距離法等[8]。
利用協同過濾算法,可以借助用戶評分矩陣R,計算得到用戶a 和用戶b 的相似度sim(a,b),可利用Pearson 相似度計算得出,如公式(1)所示:

其中,P 代表產品集,ri,j表示評分矩陣R 中的評分項,表示用戶i 的平均評分。目標用戶a 對目標產品p 的預測評分pred(a,p)可由公式(2)得到:

其中,N 為目標用戶a 的最相似的用戶集。該預測評分是基于目標用戶a 的最相似的N 個近鄰用戶得到的。計算出目標用戶a 對所有目標產品的預測評分,最后將預測評分排序后生成最終的推薦列表。
協同過濾算法最顯著的問題是其計算復雜度會隨著用戶和商品規模的增加而急速增加。近年來,深度學習[9]因為在大規模數據處理方面具有突出表現,目前被廣泛應用于協同過濾推薦領域當中[10,11],采用深度學習方法通過學習用戶或項目的隱向量,基于隱向量預測用戶對項目的評分或偏好,成為協同過濾算法的一大研究熱點。
協同過濾算法主要以“用戶-項目”評分矩陣作為用戶興趣偏好,但沒有考慮到諸如用戶的年齡、職業、社會地位等用戶特征信息,以及項目的類別、生產時間、價格等項目特征信息。基于內容的推薦需要依賴對用戶或項目的特征描述,在這里把對用戶或項目的特征描述稱為“內容”。基于內容的推薦能夠自動從項目的文本描述中抽取特征關鍵詞,生成與項目內容相關的特征描述,根據特征描述對當前用戶過去感興趣的項目和還沒有看到的項目之間的相似度做出評估,借助相似度計算得出最近鄰集合,從而生成推薦列表。
在文本信息推薦中,基于內容的推薦算法應用較多。其中,最常使用到的特征描述方式有空間向量模型和TF-IDF 技術[12],即詞頻和反文檔頻率。通過TFIDF 值表征向量模型中的特征值。詞頻是表示一個詞在一篇文檔中出現的頻繁程度,文檔j 中關鍵詞i 的歸一化詞頻值TF(i,j)可由公式(3)得到:

其中,freq(i,j)表示i 在j 中出現的絕對頻率,maxOthers(i,j)為最大頻率。關鍵詞i 的反文檔頻率IDF(i)可由公式(4)得到:

其中,N 為所有可推薦文檔的數量,n(i)表示的是N 中關鍵詞i 出現過文檔的數量。反文檔頻率的設定是為了降低在所有文檔中都會出現的關鍵詞的權重,增大出現在較少文檔中的關鍵詞的權重。
文檔j 中關鍵詞i 的組合TF-IDF 值可表示為:

目前,基于內容的推薦多應用于社會化推薦[13]領域,即立足于傳統推薦算法,將用戶或是項目所具備的社會化屬性信息(如標簽信息和信任關系等)當成關鍵影響因素,并融入推薦算法里,從而達到提高推薦系統性能與精度的目的[14]。
基于知識的推薦算法與其他推薦算法存在的最大差異在于,其需要利用特定領域當中的專業知識以及規則約束。基于知識的推薦算法不需要考慮用戶評分以及興趣偏好等因素,因此不會出現數據稀疏性以及冷啟動等問題。該算法通常依賴用戶的特定需求,或者明確給定的推薦規則。其可以看作是語義推理技術的一種形式,在實際應用中依據知識架構體系實現個性化推薦,因此一般需要針對特定領域建立專業知識庫。
目前,基于知識的推薦方法的研究熱點是基于本體[15]理論構建模型的方法。
個性化推薦算法存在的問題主要包括用戶評分矩陣的稀疏性、可擴展性以及冷啟動等[16]。用戶評分矩陣的稀疏性問題主要是因為用戶對物品進行的評分會存在大量的數據缺失,所以用戶評分矩陣是一個稀疏矩陣。冷啟動問題指的是當新用戶剛進入系統時,由于還沒有任何購買行為,因此缺乏相應的評分數據。可擴展性是指隨著數據量及數據結構的擴展,構造適應的訓練模型的能力。
每一種個性化推薦算法都會存在自身獨有的優點和缺點,以上幾種形式的推薦算法對比如表1 所示,因此在解決實際問題的時候,多會采用多種推薦算法相互融合的方式以達到更好的推薦效果,也即是混合推薦算法。混合推薦方案通常有三種:整體混合、并行混合以及流水線混合。其中,整體混合是把多種推薦策略納入到一個算法中的混合設計方案,這種算法設計是通過對算法進行內部組合調整,從而能夠利用不同類型的輸入數據進行推薦;并行混合是指同時用到幾個推薦算法的結果,利用加權或其他特殊的混合機制將他們的輸出結果整合起來做出最后的推薦;流水線混合具體是把推薦過程劃分成多個階段,多種技術順序作用,上一個階段推薦算法的輸出作為下一個階段推薦算法的輸入,直到產生最后的推薦結果。

表1 主流推薦算法對比
面向農產品的推薦主要是在傳統推薦算法的基礎上,結合農產品電商的特征來進行推薦算法的選擇和優化設計。以下從協同過濾、基于內容的推薦、基于知識的推薦和其他推薦四個角度詳細介紹面向農產品的推薦算法應用。
目前,國內外基于農產品的推薦算法應用最廣泛的是協同過濾算法以及對其的改進算法。李寧[17]、鄭云飛等人[18]都選取基于項目的協同過濾推薦算法設計并實現了農產品推薦系統。于金明[16]通過分析農產品和其他產品的特征差別,通過ICP-IPSS 方法改進了項目間的相似性度量,設計了基于項目譜聚類的優化協同過濾推薦算法。李圣秋[19]提出了農產品商城系統中的整體式混合推薦模式。其中,針對用戶在不同時期做出的評分進行不同的權重設置,設計了一個引入時間因子的協同過濾算法,這種算法優化了傳統算法沒有考慮特征的問題,降低了推薦算法的平均絕對誤差。郭安邦[20]使用Item CF-Time Grade 協同過濾推薦算法構建了Grecs 農產品電商系統,該算法在基于項目的協同過濾算法基礎上增加了時間和評分因子兩個影響因素,該算法生成的基于物品相似度的推薦結果具有更快的物品更新速度,取得了較好的用戶反饋。裘進[21]同樣將原有計算物品間相似度的余弦相似度公式加入時間、用戶評分等內容,從而調整預測權重值得到較好的推薦結果。
在面向農產品的協同過濾推薦中,大部分研究是對協同過濾算法中相似度計算的部分進行改進,根據農產品具有的特性,針對評分矩陣的稀疏性等問題優化協同過濾推薦算法。但現有算法中并沒有采用深度學習等目前協同過濾算法中的最新研究成果,使得在農產品及其用戶規模異常龐大的電商環境下,推薦效果并不理想。
管慶超[22]進行了農產品電商推薦系統的設計與實現。其根據線上農產品交易的特點,構建了基于農產品屬性和類別的農產品推薦模型,該模型對農產品屬性相似度的計算使用了一種融合信息熵的加權Jaccard系數[23]的相似度改進算法,對農產品類別的相似性計算引入了用戶偏好度因子,將計算的結果作為權值來調整最后的計算結果,由此能夠有效解決數據稀疏方面的問題。彭潔[24]提出一種基于潛在類回歸模型(LCRM)的農產品推薦方案,從用戶評價的角度,通過LCRM 將具有相同興趣愛好的用戶劃分為一個組群,構建組群偏好,再通過與目標用戶的相似度計算來定位組群和定位農產品,實現較為準確的農產品推薦,并且具有較低的計算復雜度。
面向農產品的基于內容的推薦中,需要進行文本分析,以及對推薦對象的特征描述等工作。目前,該方面研究成果較少,主要研究著重于特征相似度計算的改進,對農產品的特征描述、特征表示、特征存儲等并沒有形成成熟的方法與思路。
魏同[25]設計并實現了大別山農產品電商語義推薦系統。其工作以大別山茶葉產品作為研究對象,通過構建茶葉領域本體,并挖掘用戶興趣,經過本體投影算法形成用戶興趣本體,完成基于茶葉領域本體的用戶建模,并基于語義相似度和相關度進行語義推薦。秦志遠[26]根據農產品目錄信息以及農業物聯網感知信息分別構建了農產品上層本體和下層本體,然后依據消費者信息建立消費者興趣本體,并將消費者興趣本體和農產品上層本體進行概念語義相似度計算,進而實現個性化推薦。郭安邦[20]設計和構建了基于本體的Greenhouse-Expert 農產品專家系統。通過分析基于本體的專家系統設計方法,并結合農產品的類別特征,提出了Greenhouse-Expert 推薦算法,該算法能夠較好地解決推薦系統的冷啟動問題,提供更為專業、精準的推薦結果。
當前基于知識的農產品推薦的研究熱點是基于本體理論構建模型的方法。基于本體的推薦一方面需要對本體所在的領域和范圍進行確定,然后在此基礎上構建領域內的物品本體和用戶興趣本體,對其進行相似度計算從而生成推薦。基于知識的農產品推薦研究目前相對較少,主要是目前對基于本體的研究還存在一些問題,如還沒有形成統一的構建本體模型的標準;領域本體構建過程中需要一定的領域知識,并且不能實現本體的自動構建,需要大量的人工干預等。
除了上述應用,丁昭巧[27]通過分析農產品購買者偏好,設計了多Agent 策略下的農業電商個性化推薦整體和各部分架構,采用協作過濾完成推薦數據和隱性反饋分析。
目前,對于農產品電商的推薦算法,最常用的評價指標為預測準確率和分類準確率[7]。預測準確率主要由平均絕對誤差(MAE)來評估,公式如下:

MAE 對所有評估用戶u ∈U 和測試集(testsetu)的所有物品,計算推薦得分rec(u,i)與實際得分ru,i的平均偏差。預測準確率還可以由在評分值的范圍內歸一化后的MAE 或NMAE 和平方根誤差(RMSE)來評估。
分類準確率主要有準確率和召回率兩個指標來衡量,分類準確率通常也用于衡量信息檢索任務的質量。準確率(P)是指命中物品數占推薦物品總數|recsetu|的比例,公式如下:

召回率(R)是指命中物品數在理論上最大的命中數量|testsetu|中所占的比例,公式如下:

在本文第2 節面向農產品的推薦算法應用中,大多數學者都選用了平均絕對誤差、準確率或者召回率的全部或部分指標來對推薦算法進行評價。
目前,個性化推薦算法在電商中的應用已經非常廣泛,但針對農產品電商的應用研究相對較少。在農產品電商領域,農產品推薦的效果直接影響了農產品的銷售和用戶體驗,而農產品推薦效果的好壞主要是由其推薦算法所決定。從相關文獻的發表時間和數量可以看出,面向農產品電商的推薦算法研究相對較少,且是從近幾年才開始逐步增多。同時,將推薦算法應用于農產品電商的關注度正日益增多,還有很大的發展空間,但仍存在著一些問題,需要不斷的改進與擴展。
上述基于推薦算法在農產品電商的應用研究中,由于農產品電商數據的獲取難度較大,只有少數的研究者使用的是農產品電商真實數據來進行推薦算法的測試與評估,大多數研究者使用的實驗數據質量參差不齊,甚至有部分學者使用的是其他領域內的電商數據(如MovieLens、Jester 數據集)來進行評估測試,無法良好達到針對農產品進行推薦的目的。電商平臺中用戶行為數據的獲取難度最大,因涉及用戶隱私問題往往不作公開,極大制約了學者們的研究。因此,學者們應高度關注農產品電商領域內的商品信息以及用戶行為信息采集問題。可以通過跟農產品機構合作構建農產品電商推薦系統,基于系統的運行搜集真實的商品及用戶行為數據,以支持面向農產品推薦的研究。
目前的研究成果大部分都集中在基于協同過濾的農產品推薦方面,旨在解決傳統算法中存在的冷啟動,評分矩陣稀疏性等問題,且大量研究人員都只關注于對其相似度計算的改進。但是基于協同過濾的推薦算法的最大問題是不能準確揭示用戶和項目的語義信息,因此無法揭示其之間的語義關系,無法進一步對用戶和項目的關系特征信息進行深入挖掘,因此推薦效果并不理想。面向農產品的推薦算法的研究應該更多的考慮農產品的特征,以及領域知識,從而挖掘他們之間的語義關系。目前基于內容的農產品推薦和基于知識的農產品推薦研究較少,可以作為今后重點關注的研究方向。
農產品最終推薦效果是由推薦算法評估策略判定,而評估策略的優劣決定著推薦算法的發展方向,從上述研究中可以看出目前評價指標主要采用預測準確率(如:MAE、RMSE)和分類準確率(如:precision、recall)。由于大數據環境下農產品推薦系統的復雜性,使得推薦算法的推薦評估成為一個難題。僅僅靠平均絕對誤差、分類準確率和召回率來衡量推薦結果的好壞顯然是不夠的,因此推薦算法的效果評估仍然是研究領域面臨的一個重要的問題,也是學者們需要繼續研究的方向。
在當今大數據時代的背景下,伴隨系統規模的持續拓展以及農產品數量和用戶的指數級增長,導致用戶對農產品的評分數據更為稀疏,同時,系統的計算開銷龐大,算法的實時性難以保證,相應的推薦系統所面臨的算法擴展性問題也更加嚴峻。諸多學者提出的改進算法都在致力于緩解矩陣稀疏性問題和擴展性問題,但大數據環境下,數據的稀疏性問題和擴展性問題依然是推薦面臨的一個嚴峻挑戰,學者們有待繼續深入研究。同時,大數據環境下,數據來源的多樣性,數據的非結構化等特征,需要對農產品電商信息進行信息融合處理以及相應的預處理,融合多源異構數據[28]的混合推薦方法研究是今后學者們要注意的工作。
另外值得注意的是,立足于大數據環境,未來可以基于大數據技術設計分布式并行計算的農產品推薦算法,已經有學者基于分布式工作原理,將推薦算法引入到Hadoop 平臺和Apache Spark 平臺進行并行化處理[29-31]。通過并行處理,數據能夠有效提高推薦系統的響應時間,大大增強推薦系統的性能,生成優化推薦結果,但該方面研究才剛剛起步,并不成熟。可以推測分布式并行計算會是農產品電商推薦系統中應用研究的新方向。
推薦算法在農產品電商中的應用意義重大,能夠幫助消費者快速識別出自己感興趣的農產品,提高了購物效率。目前已能夠實現基于農產品的推薦系統,現有研究多是對推薦算法中基于協同過濾算法的改進,以及對相似度的計算提出不同優化策略;也有少數學者從語義相似度的角度來進行研究,從而基于語義相似度進行推薦;還有學者基于本體理論進行推薦。現有研究已經能夠實現電商領域中農產品的常規推薦,但也存在一些問題,如針對評分矩陣的稀疏性等推薦算法問題依然沒有得到較好解決,且研究數據質量參差不齊,推薦算法研究范圍較為局限。未來可著眼于大數據環境下數據多源異構的特征,以及基于分布式原理優化推薦算法。可以看出推薦算法在農產品電商中的應用還有待更深入地研究,且還有較大的發展空間。