李奕杭 于世東
摘 要:電子商務以及社交網站的興起加快了網絡信息資源的增長速度,用戶越來越難從海量數據中找到需要的信息。個性化推薦技術應運而生,它可以分析用戶的歷史行為信息,根據用戶的偏好從海量數據中檢索用戶感興趣的內容,并在實際應用中取得了良好的效果。
關鍵詞:群體推薦;社交網絡;推薦系統
1 概述
互聯網信息的迅速增長產生了海量的數據,用戶往往要耗費大量的時間和精力,才能找到自己感興趣的信息??梢院敛豢鋸埖卣f,低效率的互聯網信息檢索技術已經成為阻礙用戶有效利用信息的瓶頸,推薦技術就是在這樣的背景下產生的。推薦技術可以有效解決信息過載的問題,從海量數據中檢索到對用戶有所幫助的內容。
目前的推薦技術在同一時刻一般都是為單個用戶進行推薦,但現實應用中可能經常需要為某一群體進行推薦,比如一個旅游團要旅游的目的地、一次聚會的用餐地點以及一個家庭的觀影計劃等。群體成員間的興趣愛好具有很大的差異性,所以傳統的推薦技術已經難以適用于群體推薦的要求,研究基于社交網絡的群體推薦技術就具有重要的現實意義。
2 推薦系統及社交網絡
群體推薦系統的研究涉及到個人推薦系統、社交網絡以及群體決策等技術領域。
現存的推薦系統多數為個人推薦系統,即推薦行為旨在為單個用戶提供服務,其最常用的推薦算法為協同過濾推薦算法和基于內容的推薦算法;協同過濾算法借鑒與被推薦用戶具有相似興趣的用戶的行為進行推薦,基于內容的推薦算法分析被推薦用戶訪問的歷史內容,并利用不同內容的相似程度來進行推薦。不論是哪種推薦方法,在進行推薦時都是先從用戶數據庫中挖掘相關的信息,比如用戶的標簽數據、用戶對物品的評分數據、用戶的瀏覽歷史數據等,然后依據這些信息為用戶進行推薦[1]。
與個人推薦系統不同的是,群體推薦系統在進行推薦時,服務的并不是單一用戶,而是一個用戶群體。群體成員間可能具有不同的愛好、興趣等,所以不能單純得按照個人推薦系統的方法進行推薦,而應該要考慮到不同用戶的權重。目前主要有兩種群體推薦方法[2],一種方法是先為每個用戶提供推薦,然后將所有用戶的推薦列表綜合起來,得到群體推薦列表。
另外一種群體推薦算法先將所有用戶具有共性的項目綜合起來,然后再進行推薦。
不論是哪種群體聚合策略都存在一定的局限性,用戶的評價特征進行聚合后得到的單個評價向量,和群體中特定的用戶評價向量還有一定的差距。這兩種群體推薦方法得到的推薦結果是一個有序的內容列表,例如,可以為一個具有一定聯系的群體提供合理的旅游線路,為一組家庭提供一系列的娛樂電影等。
社交網絡是最近幾年發展最火的互聯網產品,反應了朋友、同事、同學等線下關系在網絡上建立起來的線上交互行為。社交網絡的基本概念包括:節點、關系、社區以及用戶群。節點指的是每一個用戶個體;多個用戶組成用戶群,用戶群可能是為達到某一目的而臨時組成的,也可以是因為興趣、愛好等組成的長期關系。一般而言,直接的節點關系比間接的節點關系可靠度更高,所以在進行群體推薦時應該注意到不同的節點關系所占的比重也應該有所不同。另外,群體中不同用戶的重要性也不同,所以在進行群體推薦時有必要引入權重的概念。
社交網絡的基礎是“社交圖譜”和“興趣圖譜”。社交圖譜表明了某一特定用戶和其他用戶之間的直接關系,將線下的用戶關系反應到線上;社交圖譜反應了以下幾種線下社交關系:用戶間聯系比較頻繁、交互密切的關系是一種強關系的社交圖譜,弱關系的社交圖譜正好相反;臨時關系的社交圖譜是一種臨時性的社交行為,聯系的雙方之間沒有承認的契約關系。興趣圖譜和社交圖譜有所不同,它借助用戶間的興趣、愛好等建立網絡社交關系,用戶間的連接基礎是共同的愛好,所以興趣圖譜中存在聯系的兩個用戶在線下可能沒有直接的交互作用。一般而言,社交圖譜和興趣圖譜是相輔相成的,用戶可以利用興趣圖譜的重合點交互在一起,從而進一步組成用戶群的社交圖譜。
社交網絡中在進行群體決策時,往往會由于群體中各成員的認知不同而產生不一致的意見,真正決策時需要在多方意見中進行妥協和協調,所以群體決策只是綜合反應了群體中多數成員的意見,并一定是最適合解決問題的方法。群體決策的相關原理也是基于個人用戶決策的,所以很多個體決策的理論在進行群體決策時仍然適用,在進行群體決策時,最應該注意的核心問題是,如何找到一種可以集結群體中各個用戶的偏好的方法,基于社交網絡的群體決策應運而生。
3 基于社交網絡的群體推薦系統
考慮到社交網絡的復雜性,基于社交網絡的群體推薦一般只適用于評價用戶比較多的項目。在進行群體推薦時,所需要的主要步驟如下:
(1)假設用戶群體G的規模為s(用戶數為s)都評價過的項目數達到預先設定的閾值n,且所有共同評價過的項目集合為I;(2)為使方便為具有強相似程度的用戶組成的用戶群推薦,可以先將用戶群劃分為m個不同的簇,借助K均值聚類方法可以很容易實現這一點。在用戶群分簇完成后,簇內的用戶具有較高的相似度,進行推薦時可以為這些用戶推薦同樣的內容;簇間的用戶相似度比較低,推薦結果中如果為他們推薦的是同一內容的話,說明群體推薦算法不夠精確。(3)求簇的權重。簇中每個用戶都有對應的權重,簇的權重等于簇中每個用戶的權重之和。簇的權重越高,說明此簇在整個用戶群中所占的地位越高,其推薦列表在整個用戶群的推薦列表中也就占越高的比例。
有兩種方法可以確定推薦項目集合:評分數據方法和標簽數據方法。在應用評分數據方法時,簇中的每個用戶事先都會有一些評分數據,對這些評分數據進行聚合后,可以得到該簇中每個用戶的評分向量,此評分向量可以看作是一個虛擬用戶。計算目標用戶的推薦項目時,首先計算虛擬用戶的評分向量與所有用戶群中其他用戶的皮爾遜相關性相似度,并選擇一定數目(比如10個)的用戶作為虛擬用戶的鄰居用戶集合,接下來就可以再用傳統的協同過濾算法計算目標用戶的預測評分;當所有的虛擬用戶的相似度都計算完畢后,對預測評分值的集合進行排序,選擇要推薦數目的推薦列表提供給目標用戶即可。
在應用標簽數據方法進行推薦時,先提取簇中每個用戶的標簽數據,并統計每個標簽在標簽集合中出現的頻率,排序后選擇出現頻率最高的若干數目(比如10個)的標簽,作為能夠代表用戶的標簽信息。然后可以利用余弦相似度等傳統方法計算標簽之間的相似程度,進而衡量項目的相似度。
基于評分數據的群體推薦方法可以找出簇中用戶的相同點,而基于標簽數據的群體方法可以找到用戶間的不同點,在使用時可以根據實際情況進行選擇。
參考文獻
[1]徐莉.基于數據挖掘技術的電子商務推薦系統的研究[D].北京郵電大學,2013.
[2]唐曉玲.基于本體和協同過濾技術的推薦系統研究[J].情報科學,2013(12).
作者簡介:李奕杭(1990,4-),男,籍貫:遼寧省丹東市,現職稱:學生,學歷:本科,研究方向:網絡工程。