朱子江+劉東+劉壽強



摘 要:推薦系統是對用戶的歷史行為進行挖掘,對用戶興趣信息進行建模,并對用戶未來行為進行預測,從而建立用戶和內容的關系,滿足用戶對商品的推薦需求的一種智能系統。通過對主要的推薦算法進行比較分析,提出一種基于用戶行為的推薦算法,挖掘用戶瀏覽閱讀行為的關聯規則,模擬實現了基于用戶行為的智能推薦系統,提高了推薦算法的有效性。
關鍵詞:推薦系統;關聯規則;用戶行為;數據挖據
DOIDOI:10.11907/rjdk.171378
中圖分類號:TP312
文獻標識碼:A 文章編號文章編號:1672-7800(2017)008-0043-03
0 引言
商家為了提高商品交易額,往往非常重視推薦活動,推薦方式豐富多彩。隨著電子商務平臺的出現和計算機技術發展,推薦方法升級到了智能推薦系統。智能推薦系統是建立在海量數據挖掘基礎上的一種商務智能平臺,在電子商務網站中為顧客購物提供決策支持和信息服務,旨在根據顧客的購物信息和對所購商品的反饋信息推薦顧客需求的商品,以及具有相同效能不同種類的商品[1-3]。
推薦系統主要由推薦候選對象、用戶、推薦算法3個要素組成[2],能否達到智能推薦效果的關鍵是推薦算法。推薦系統分為單一推薦模式和協同推薦模式。例如,利用顧客和顧客之間的相似度進行推薦,或者利用商品與商品之間的相似度進行推薦,均為單一推薦模式,而兩者相結合取其相應比重進行的推薦則為協同推薦模式。推薦系統的有效性取決于所采用的推薦算法。
本文在分析推薦算法的基礎上,模擬實現了一種新的基于用戶行為的推薦系統,同時根據協同推薦系統中存在的問題,結合實際提出了一種改進算法和推薦策略。
1 主要推薦算法
推薦系統中比較關鍵的算法是相似度計算,有顧客與顧客之間的相似度計算,也有商品與商品之間的相似度計算。相似度計算函數要具有同樣的函數簽名、返回值為浮點數等特征,其返回數值越大表示相似度越大。目前主要的推薦算法有基于內容的推薦、基于協同過濾的推薦、基于關聯規則的推薦、基于效用推薦、基于知識推薦等。
由文獻[1]、[2]的研究可知:基于內容的推薦算法優點是用戶資料模型可隨用戶的偏好改變而發生變化,缺點是需要有用戶的歷史數據;協同過濾推薦算法主要采用最近鄰技術,最大優點是能處理非結構化數據,能處理視頻、聲音等復雜推薦對象,但處理稀疏問題時精確度不高;基于關聯規則的推薦算法優點是可以發現不同商品在銷售過程中的相關性,但關聯規則發現很耗時;基于效用推薦算法的優點是它能把非產品的屬性考慮到效用計算中,但需要為每一個用戶創建一個效用函數;基于知識的推薦算法能解釋需求和推薦之間的關系,但對用戶群具有局限性。
綜上所述,各推薦方法優點和缺點并存,由此可見,單一的推薦方法不能滿足推薦系統需求。實際應用中,通過組合推薦的方法解決推薦系統運行中所發現的問題,由此產生了基于內容的協同過濾推薦方法。該方法通過基于內容的算法產生一個推薦結果,再用協同過濾推薦算法產生一個推薦結果,將兩者根據某一權值進行結合,得出一個新的推薦結果[4]。組合推薦理論方法很多,但在同一推薦系統中,對不同問題的推薦結果不一定都有效,組合推薦所要解決的問題就是盡可能地避免推薦算法各自的缺點。
2 基于用戶行為的關聯規則推薦算法
在電子商務或網絡瀏覽行為場景中,通過用戶對已購商品的評價來進行推薦是比較普遍的做法,但用戶有時沒有給出評價。當用戶只提供二元數據(購買與否或者是有沒有點擊過)時,就無法應用基于評價的算法。這時可以采用關聯規則挖掘算法,即僅對最鄰近用戶的購買記錄分析,取得潛在的相似信息。當用戶A在瀏覽某一商品S時,購買過商品S的鄰居用戶會將已買的商品推薦給用戶A,這種算法可以推薦給感興趣但從來沒有瀏覽過此商品的用戶。
2.1 關聯規則
以關聯規則[5-8]為基礎的推薦算法,把推薦對象作為規則體,把已購商品作為規則頭,對購買記錄進行技術處理,發現最鄰近用戶以及商品購買習慣,挖掘出相關性。具體關聯規則應用場景如表1所示。
在上述場景中,商品1和商品2的余弦相關系數為: (1,0,0)·(0,1,1)||(1,0,0)||||(0,1,1)||=0(1)
商品1和商品3的余弦相關系數為: (1,0,0)·(1,1,0)||(1,0,0)||||(1,1,0)||=12(2)
商品2和商品3的余弦相關系數為:
(0,1,1)·(1,1,0)||(0,1,1)||||(1,1,0)||=12(3)
由公式(1)-(3)可推導出:瀏覽商品1的顧客會被推薦購買商品3,而瀏覽商品2的顧客會被推薦購買商品3,瀏覽了商品3的會被推薦購買商品1(并由1推薦2)。該模型只使用了每對項目間的一個參數(余弦相關系數)產生推薦。因此,如果有n個商品,則需要計算和存儲 n(n-1)/2次余弦相關系數[9-11]。
2.2 算法實現
根據上述關聯規則并進行改進,建立基于用戶行為的關聯規則推薦算法[9-12],算法流程如圖1所示。
2.2.1 用戶行為記錄庫建立
實驗數據取5個用戶和15種讀物作為樣本。用戶編號為0-4,讀物編號為:0理想國、1論語、2英語、3悲慘世界、 4大學、5中庸、6大千世界、7數學、8地理、9物理、10生物、11化學、12國富論、13模電、14信號系統。用戶行為標記:讀過標記為1,沒有讀標記為0。構建用戶行為數據樣本庫如表2所示。
2.2.2 運算矩陣建立
建立用戶-讀物矩陣A1,讀物和用戶編號為從0開始的整數,橫向15個,為讀物編號。
2.2.3 矩陣運算假設有用戶U想讀理想國和論語,當選擇了理想國和論語這兩個讀物后(編號為0和1),系統開始進行推薦運算:在運算矩陣A2中取理想國和論語這兩個列,第0列和第1列,然后進行&(and)運算得到右邊的列(第3列,理想國&論語),見矩陣A3。第1行、第2行、第3行的值都為1,則代表這個編號為1、2、3的用戶(下標從第0行開始計算)曾同時閱讀過理想國和論語,即用戶U的鄰居用戶集為U鄰居{用戶1,用戶2,用戶3}。endprint
2.2.4 鄰域矩陣
由用戶U的鄰居用戶集U鄰居可知,有相同閱讀記錄的用戶行為具有一定的相似性。只要能知道用戶1、2、3還閱讀了其它讀物,然后按閱讀比率進行統計,就可給用戶U進行有效推薦[13]。
用戶1、2、3還閱讀了哪些讀物可由運算矩陣A2推導得知,見矩陣A4, 矩陣的每一行代表每個用戶的讀物記錄。
設矩陣A4這3行分別為 T1、T2、T3,進行與運算(or)后,可以得出用戶1、2、3閱讀行為相似性矩陣T=T1|T2|T3 ,求得T=[1 1 1 0 0 0 0 0 0 0 1 0 1 0 0],即閱讀行為相似性矩陣T代表這3個用戶都閱讀了哪些讀物。對照讀物編號表,這3個用戶閱讀了0理想國、1論語、2英語、10生物、12國富論。
由運算矩陣A3可知,用戶U已經選擇了理想國和論語,即用戶U的行為矩陣A=[1 1 0 0 0 0 0 0 0 0 0 0 0 0 0],通過矩陣減法可得用戶U的鄰域矩陣L=T-A=[0 0 1 0 0 0 0 0 0 0 1 0 1 0 0]。
2.2.5 推薦結果
由鄰域矩陣L對照讀物編號可知:2英語、10生物、12國富論3本讀物都可以作為用戶U的推薦讀物,這些數據來源于3個用戶的閱讀記錄。根據運算矩陣A4閱讀記錄(0英語,1論語),統計這些用戶(1,2,3)閱讀2英語、10國富論、12生物的百分比,再根據百分比的高低向用戶U列出3本讀物的推薦強度(強烈推薦、首要推薦、次要推薦),提出推薦的有效性。
由運算矩陣A4可知:
(1)2英語在矩陣第3列上,所有的位置都為1,表示閱讀過英語的鄰居用戶占100%。
(2)10生物在矩陣第11列上,3個中有2個位置為1,表示閱讀過生物的鄰居用戶占67%。
(3)12國富論在矩陣第13列上,3個位置只有一個1,表示閱讀過國富論的鄰居用戶占33%。
綜上最終給用戶U的推薦結果為:強烈推薦—2英語,首要推薦—10生物,次要推薦—12國富論。
實驗仿真結果如圖2所示。
3 算法總結
基于用戶行為的關聯規則推薦算法是通過加權和對最鄰域運算得出的推薦結果,可以根據系統要求來限定推薦條件,從而實現項目的推薦。從實驗仿真結果來看,該算法在一個中小型系統中應用完全沒有問題,而且推薦結果有效性高。對一些大型的具有上千萬用戶的商業網站應用,將一個用戶和其他所有用戶進行比較,然后再對每位用戶行為進行比較,會使系統負荷非常大,為解決這一問題,目前最好的方法是對相似度進行離線計算[13-14]。在針對大規模樣本數據集進行推薦時,基于項目進行過濾的方式明顯要比基于用戶行為的過濾更快,但它有離線計算、維護項目相似度列表等系統開銷。從推薦的有效性來看,基于用戶行為的推薦優勢更明顯。
4 結語
智能推薦系統是未來電子商務和社交網絡發展的必然需要[15]。本文介紹和分析了一些主流的推薦算法,比較分析了各自的優缺點,結合實際情況,闡述了推薦技術應用和需要改進的問題。本文實現了基于用戶行為的關聯規則算法的推薦系統,將用戶的隱形購買或瀏覽行為應用到推薦系統上。
參考文獻:
[1] 夏培勇.個性化推薦中的協同過濾算法[D].青島:中國海洋大學,2011.
[2] 夏小伍.基于信任模型的協同過濾推薦算法的研究[D].合肥:中國科技大學,2011.
[3] 王偉軍,宋梅青.一種面向用戶偏好定向挖掘的協同過濾個性化推薦算法[J]. 現代圖書情報技術,2014(6):25-30.
[4] 張春生,圖雅,翁慧,等.基于電子商務同類商品的推薦算法研究[J].計算機技術與發展,2016(5):17-21.
[5] 陳潔敏,湯庸,李建國,等.個性化推薦算法研究[J].華南師范大學學報:自然科學版,2014(9):8-13.
[6] 榮輝桂,火生旭,胡春華,等.基于用戶相似度的協同過濾推薦算法[J].通信學報,2014(2):16-24.
[7] 王冰怡,劉楊,聶長新,等.基于用戶興趣三維建模的個性化推薦算法[J].計算機工程,2015(1):65-70.
[8] 曹斌,龔佼蓉,彭宏杰,等.基于用戶閱讀時間-頻次行為的書籍推薦方法[J].計算機科學,2015(11):36-54.
[9] 高山,劉煒,崔勇,等.一種融合多種用戶行為的協同過濾推薦算法[J].計算機科學,2016(9):227-231.
[10] 杜彥永.基于用戶行為協同過濾推薦算法[D]. 淮南:安徽理工大學,2015.
[11] 胡亞慧,李石君,余偉,等.基于時空感知的用戶角色推理[J].電子與信息學報,2016(3):517-522.
[12] 任帥,王浙明,王明敏.基于用戶行為模型和蟻群聚類的協同過濾推薦算法[J].微型電腦應用,2014(3):5-8.
[13] 孟祥武,劉樹棟,張玉潔,等.社會化推薦系統研究[J].軟件學報,2015(6):1356-1372.
[14] 趙海燕,侯景德,陳慶奎.結合時間權重與信任關系的協同過濾推薦算法[J].計算機應用研究,2015(5):3565-3568.
[15] 李鵬澎,肖如良,鄧新國,等.一種融合引力影響的新的矩陣分解推薦方法[J].小型微型計算機系統,2015(4):696-700.endprint