推薦系統已經被越來頻繁地應用到各種電子商務網站與一些社交網站,在提高用戶的滿意度的同時也帶來了巨大的商業 利益。然而,當前的推薦算法由于原始數據的不完整性以及算法本身處理數據的特殊性,運行效果不理想。
孔欣欣 蘇本昌 王宏志 高宏 李建中
(哈爾濱工業大學計算機科學與技術學院 哈爾濱 150001)
摘要:推薦系統已經被越來頻繁地應用到各種電子商務網站與一些社交網站,在提高用戶的滿意度的同時也帶來了巨大的商業 利益。然而,當前的推薦算法由于原始數據的不完整性以及算法本身處理數據的特殊性,運行效果不理想。例如,某些推薦 系統會產生冷啟動、復雜興趣推薦困難、解釋性差等問題。為此,本文提出一種基于標簽權重評分的推薦系統模型,旨在使 用一種較為簡潔的方式——標簽權重評分來獲取用戶最準確的評價和需求,并通過改進當前的一些推薦算法來處理標簽權重 評分數據,從而生成對用戶的推薦,最后以標簽權重評分的形式向用戶展示推薦結果并作出合理的解釋。擴展實驗中,本文 通過進行電影推薦實驗,證明了本文技術的有效性和可行性。
數值計算與計算機應用
關鍵詞:計算機科學論文,推薦系統,標簽權重評分,數據挖掘
論文引用格式
孔欣欣,蘇本昌,王宏志,高宏,李建中,基于標簽權重評分的推薦模型及算法研究,2015,Vol.38:在線出版號 No.23 Kong XinXin, SU Ben-Chang, WANG Hong-Zhi, GAO Hong, LI Jian-Zhong,Research onthe Modeling and Related Algorithms of Label-Weight Rating Based Recommendation System,Chinese Journal of Computers,2015, Vol.38: Online Publishing No.23
Research onthe Modeling and Related Algorithms of Label-Weight Rating Based
Recommendation System
Kong XinXin, SU Ben-Chang, WANG Hong-Zhi, GAO Hong, LI Jian-Zhong
(School of Computer Science, Harbin Intstitute of Technology, Harbin 150001)
AbstractRecommendation System has been frequently applied into various e-commerce websites and social networking sites.With improving users’ satisfaction,recommendation system has also brought huge commercial interests.However,as the original data is incomplete and some recommendation algorithms have their own special way of processing data,current recommendation system sometimes cannot work very well.For example,some
recommendation systems are bothered with cold-start problem 、 difficult for complex interest
recommendationproblem、poor interpretability and so on.Consequently,in the paper,we propose a recommendation system modeling based on label-weight rating.In this system,first we will get the most accurate evaluation
anddemandinginformation of users in a more concise way—label-weight rating method.Then we will generate recommendations using improvedexisting recommendation algorithm.Finally,we will show the recommendations to the users in the form of label-weight rating and make reasonable explanation to users. In the extended experiments we design a series of movie recommendationsexperiments to prove the effectiveness and feasibility of the modeling.
Keywords recommendation system;label; label-weight rating;data mining
———————————————
本課題得到國家自然科學基金(61003046,61472099)、國家“九七三”重點基礎研究發展規劃項目基金(2012CB316200)、國家科技支撐計劃
(2015BAH10F00)資助.蘇本昌,男,1989 年生,碩士研究生,主要研究方向為數據質量,孔欣欣,女,1994 年生,碩士研究生,主要研究方向為數
據質量,王宏志 (通信作者),男,1978 年生,博士,副教授,博士生導師,主要研究方向為大數據管理、數據質量管理、XML 數據管理等,
wangzh@hit.edu.cn. 高宏,女,1966 年生,博士,教授,博士生導師,主要研究領域為無線傳感器網絡、物聯網、海量數據管理和數據挖掘.李建中,
男,1950 年生,教授,博士生導師,主要研究領域為無線傳感器網絡、物聯網、數據庫和海量數據管理.
1 引言
推薦系統[1-3]的主要任務通過分析用戶信息、 物品信息或其他輔助信息,獲得用戶對物品的偏好特征,并據此為用戶進行物品推薦。
當前的推薦算法主要包括以下三種[4]:基于內 容的算法、基于協同過濾的算法和基于標簽的方法。
基于內容的算法[5,6](Content-Based Algorithm, 以下簡稱 CB)通過為每個物品抽取內容特征來描述
該物品,通過用戶過去所喜好的物品的特征描述用戶偏好特征,通過計算用戶與物品之間相關性進行 推薦。
基于協同過濾的算法[7,8] (Collaborative Filter Algorithm,簡稱 CF)有兩種情況:一種是通過對不同用戶對相同物品的行為分析找出相似用戶,根據 相似用戶的偏好對指定用戶進行物品推薦,這種稱 為 基 于 用 戶 的 協 同 過 濾 推 薦 (User-based Recommendation);另外一種是通過對相同用戶對不 同物品的行為分析找出相似物品,根據相似物品的
相似度為指定用戶進行推薦,這種稱為基于物品的協同過濾推薦(Item-based Recommendation)。
基于標簽的方法[9,10](Tag-Based Algorithm,簡 稱 TB)引入了標簽信息,形成用戶-標簽-物品三元 關系,其中標簽來源于 Web2.0 環境下用戶對物品的描述。TB 算法通過分析用戶的標簽偏好、物品
的標簽特征,基于二者相似性為用戶進行物品推薦。 以上三種方法在當前推薦系統中已得到廣泛
應用,然而它們都有著以下缺陷:
(1)冷啟動問題[11-13]。當推薦系統中加入了新 的用戶,由于沒有該用戶歷史偏好數據(如 CB 算法
和 CF 算法)或標簽數據(如 TB 算法),以致無法為用戶進行有效的推薦。
(2)復雜興趣推薦困難。當用戶的興趣突然發生變化或者多個用戶共用一個賬戶時,用戶的興趣就變得復雜。以上三種方法對用戶歷史興趣依賴過重, 很難適應這種情況,推薦也就變得不準確。
(3)可解釋性差問題。為提高用戶滿意度,推薦 系統在進行物品推薦的同時會提供解釋來說明推薦原因。推薦解釋的方式與所使用的推薦算法有著
直接關系。CB 算法會提供抽取的內容特征來作解釋,但是物品的特征一般很難提取。比如電影推薦, 很有可能從兩部不同電影描述信息中提取出相同 的演員導演的信息,這樣的推薦解釋缺乏區分度和
信服力。CF 算法會提供與所推薦物品相似的物品 作為說明或者提供同樣偏好所推薦物品的用戶作為解釋。這樣的推薦解釋的不足之處在于它默認相似用戶偏好同一物品是基于相同的理由,這顯然是不準確的。比如用戶 A 和用戶 B 都喜歡“阿甘正傳”,而用戶 A 是因為喜歡“幽默”,用戶 B 是因為喜歡 “湯姆漢克斯”。如果向 A 推薦一部電影,解釋為 “B 也喜歡”,就不合適了。TB 算法會為推薦的物品提供標簽解釋,但是不同的物品可能具有相同的 標簽,這時區分度就不大,會影響用戶滿意度。比 如電影“美國隊長”具有標簽“科幻”“劇情”兩個標簽,電影“黑暗騎士”也具有“科幻”“劇情” 兩個標簽,然而看過的人知道“美國隊長”中科幻 元素更強些,“黑暗騎士”的劇情更勝一籌,所以僅僅有標簽還是不夠。
針對以上問題,本文提出了一種基于標簽權重 評 分 的 推 薦 系 統 模 型 (Label-WeightRating based Recommendation ,簡稱 LWR) 。 標 簽 權 重 評 分 (Label-Weight Rating,簡稱 LWR)是對傳統標簽的 一種擴展,我們通過為每個標簽配以相應的評分,來描述該物品或用戶在該標簽上的權重。同時,該 方法較以往的方法還能最大化地降低客觀因素對 用戶評分的影響。例如[14]中的示例,某用戶可能
生過不愉快的事情,則用戶在對該餐館打分時極可
能給出較低分數,這就使得評分出現了偏差。而當 前提出的方法可以較為公正客觀地解決這一問題,例如可以采用標簽權重評分方法,我們可以將對餐 館的標簽評分分為:飯菜質量,用餐環境,餐廳服 務。此時用戶可以對每一項打分,因為這種細分能
夠最大化地降低客觀因素對用戶打分的影響,使得評分更為準確、真實。
本文的組織結構如下:第 1 章提出標簽權重評
分推薦模型;第 2 章設計標簽權重評分推薦算法;
第 3 章進行相關實驗及其結果分析;第 4 章總結全 文。
2 系統模型
這一章我們介紹了基于標簽權重評分推薦系 統模型。首先我們給出標簽權重評分數據表示,然 后給出推薦系統架構及其數據處理流程,最后說明了本文模型在解決冷啟動問題、復雜興趣推薦問題、 可解釋性差問題上的優越性。
2.1 數據表示
定義 1(標簽)
標簽是用來描述物品特征的,我們把標簽定義
定義 4(標簽權重評分數據表示相關符號定義)
數據源模塊 圖
1 推薦系統基本架構
基于標簽權重評分推薦系統的架構如圖 1 所示,主要分為數據源模塊、推薦引擎模塊、推薦結果處理模塊和用戶反饋模塊。具體解釋如下:
數據源模塊:數據源是推薦系統進行推薦的 依據來源,主要包括用戶信息集合、物品信息集 合、用戶對物品的偏好評分信息、用戶對物品的 標簽權重評分。數據源模塊的主要任務是對數據 源的獲取以及預處理。
推薦引擎是推薦系統的核心,其主要作用是 使用推薦算法處理分析來自數據源的信息,根據
一 定 的 推 薦 標 準 為 用 戶 推 薦 最 需 要 的 物 品 集 合
()。
推薦結果處理模塊:在推薦引擎計算出對用戶
進行推薦的初始物品列表后,我們要對推薦物品進 行過濾、排名,以及加上相應的標簽權重向用戶解 釋推薦這些物品的原因。
用戶反饋模塊:用戶在看到推薦系統提供的推 薦的物品以及推薦解釋后,可以進行相應的用戶信 息反饋,用戶反饋模塊收集并處理反饋信息,并傳
的在線概念,即強調用戶在在線狀態下,用戶能夠 在線實時輸入信息,并進行實時地反饋。
在線計算推薦,指的是用戶在登錄推薦系統后, 以標簽權重評分的形式表達出當前的興趣需求,系 統獲取當前用戶偏好數據,并令用戶選擇是否考慮 歷史興趣,若是,則結合離線計算的結果,進行在線計算,若否,則只根據當前用戶偏好數據進行在線計算,最后將推薦結果進行展示。
具體流程如圖 3:不管是新用戶還是老用戶, 都可以通過標簽權重評分表達當前的偏好需求。推
薦系統獲得當前的偏好數據之后首先進行預處理, 然后根據用戶的選擇是否依賴歷史偏好數據,來決 定是否獲取離線計算的結果,然后調用在線推薦算 法,進行用戶的物品推薦。另外,在線計算的結果 通過計算加入到用戶的歷史偏好數據中。
在線
送給推薦引擎模塊完成新一輪的推薦。
2.3 數據處理流程
數據預處理
數據源 推薦引擎
在線計算
離線計算 中間結果
推薦結果處理
更新 離線數據源
針對當前推薦系統存在的冷啟動、復雜興趣推 薦困難、可解釋性差三個缺陷,我們給出在上述系 統架構下的三種基本推薦方式及其數據處理流程 如下:
2.3.1 離線計算推薦離線計算推薦,指的是在獲得大量用戶的評分
數據后,通過離線計算為用戶進行物品推薦,然后 在用戶登陸系統時進行結果展示。這種推薦情況把 大量計算放在線下,避免了讓用戶長時間等待。
具體流程如圖 2:在獲得用戶的基本信息和偏好數據后,數據源模塊首先進行預處理,然后調用相應的推薦算法進行計算,生成對每個用戶的物品
推薦并把結果存儲起來。最后在用戶使用推薦系統時將推薦的物品通過推薦結果處理模塊展示,并且
圖 3 在線計算推薦數據流程
2.3.3 反饋計算推薦
反饋計算推薦,指的是用戶在看到推薦結果時 通過標簽權重評分機制進行反饋,即重新對系統推薦的物品進行評分以及給相應的標簽進行評分。系 統獲得反饋后,獲取并更新與該用戶相關的離線數據,結合離線計算結果形成新一輪的推薦。
具體流程如圖 4:反饋計算推薦的整個過程與在線計算推薦是相似的,不同的地方是,在獲得用戶的反饋數據后,為了進行更好地推薦需要把反饋 數據更新到與該用戶相關的歷史數據中去,然后根 據更新后的數據,結合離線計算的結果進行在線計
算推薦。
反饋 獲取并更新
為物品推薦標簽權重解釋推薦原因。
數據源
相關
離線數據 推薦引擎
在線計算
離線計算
推薦結果處理
更新
離線
數據源
數據預處理
推薦引擎 離線計算
推薦結果處理
中間結果
離線數據源
圖 2 離線計算推薦數據流程
2.3.2 在線計算推薦
本文提出的在線不同于傳統意義上的在線算 法,傳統意義上的在線算法是在解決一個問題時事先不知道問題的所有輸入數據,是序列化地一個個
地處理輸入,并在有限的已知條件下做出最優選擇。而本文中的在線含義類似于 QQ、飛信等通訊工具
圖 4 反饋計算推薦數據流程
2.4 模型優越性闡述
這一小節,我們介紹如何利用上述三種推薦方 式來解決冷啟動、復雜興趣推薦困難、可解釋性差這三個缺陷。
由于沒有新用戶的歷史數據,無法進行離線計算,不能作出有效的推薦,也就是會出現冷啟動問 題。但基于本文模型,我們允許用戶通過標簽權重評分機制準確表達自己的興趣偏好,同時,我們會
對標簽權重說明:1.0 表示非常不喜歡,2.0 表示不 太喜歡,3.0 表示一般喜歡,4.0 表示很喜歡,5.0 表示非常喜歡。系統把新獲取的數據作為用戶的標 簽權重特征,調用在線計算推薦算法進行物品推薦。
例如,用戶可以選擇如下標簽并賦予相應的
權重來表達自己的標簽權重特征:
() = {("科幻", 5.0), ("超級英雄", 4.0),
("人性", 4.0), ("情節", 3.0)}
對于用戶興趣突然發生變化或多人共用一個
賬戶的復雜興趣推薦問題,據筆者所知,當前還沒 有很有效的在線計算方法解決。但與解決冷啟動問
題相似,在本文模型下,我們允許用戶通過標簽權重評分機制準確表達當前的興趣偏好,系統把新獲 取的標簽權重評分數據作為用戶的臨時標簽權重特征,調用在線計算推薦算法進行物品推薦。
可以看出,冷啟動問題和復雜興趣推薦問題, 都可以在本文模型下通過在線計算解決,當然在線 計算也需要使用離線計算的結果,至于具體的在線 計算和離線計算推薦算法我們將在下一章介紹。
另外,對于當前推薦系統可解釋性差的問題,
在本文模型下,我們提供基于標簽權重評分的推薦 解釋。這樣可以讓用戶更詳細地了解所推薦物品的特征以及在這些特征上的權重,在提高用戶滿意度的同時,可以讓用戶作出準確地反饋。系統接收到 反饋,經過用戶反饋模塊進行數據預處理,然后調 用反饋計算推薦算法進行物品推薦。例如可以為用
戶推薦物品并提供推薦解釋為:
() = {("科幻", 5.0), ("超級英雄", 5.0),
("人性", 3.0), ("情節", 4.0)}
雖然該方法使得用戶操作復雜度增加,但是很
多用戶還是愿意對自己的傾向做細致區分并做出 選擇,以提高檢索或者推薦結果的精度。以淘寶網 (www.taobao.com)和豆瓣網(www.douban.com)為例, 淘寶網用戶為了購買到最符合自身需求的物品,他 們很樂意使用標簽的方式來明確表明自身需求,他 們為了追求更高的準確度而可以進一步進行復雜操作,同時他們也愿意進行反饋評價,故該方法適用于淘寶網這類電子商務網站。在豆瓣網中標簽應用很廣泛,豆瓣用戶為了找志同道合的瓣友、看感興趣的帖子而使用標簽,他們為了找出符合自身品
味的作品而愿意進行較為復雜的標簽操作。因此, 該方法具有一定的實用價值。
3 算法研究
本章我們將基于標簽權重評分推薦模型進行 相關算法的研究與設計。
3.1 節我們介紹了數據源分解算法,目的是通 過數據預處理獲得用戶與物品的標簽權重特征。 3.2 節給出基于矩陣填充的離線計算推薦算法。3.3 節給出基于聚類的在線計算推薦算法。3.4 節給出 基于標簽權重評分的反饋計算推薦算法。3.5 節為 本章小結。
3.1 數據源分解算法
數據源分解算法用在數據源模塊,通過分解獲 得的用戶標簽權重特征將用于相似用戶的計算以及其他用戶標簽權重特征的計算。物品標簽權重特 征將用于相似物品的計算以及作為物品的推薦解釋提供給用戶。
3.1.1 用戶標簽權重特征求解算法
求解用戶的標簽權重特征,其基本思想是:如果用
戶對物品的偏好評分比較高,那么我們有理由認為 用戶對其給予該物品的具有較高評分的標簽特征 更為看重。于是我們就在計算用戶的標簽權重特征 時把該標簽的權重按照一定的規則提高。具體流程如算法 1 所示:
算法 1:用戶標簽權重特征求解算法
算法流程如下:首先對所有參與計算的用戶的
降低該特征的權重(7 行)。迭代地判定每個元組,直
到所有元組判定完畢(3-7 行),最后規范化() (8
3.2.1 關于奇異值分解 奇異值分解[15]是線性代數中的一種重要的矩行),返回所有參與標簽權重計算的用戶的標簽權重
集合() (9 行)。
0]是奇異值矩陣,對角元素
由于只需要遍歷一遍數據源,該分解算法的時
3.1.2 物品標簽權重特征求解算法
求解物品的標簽權重特征,其基本思想是:物品被
描述次數較多的標簽權重特征應該被賦予較大的 權重。這里簡單地把被描述的特征次數作為權重加減,也可以把標簽權重評分也考慮作為特征權重加入到物品的標簽權重特征。
具體流程如算法 2 所示:
算法 2:物品標簽權重特征求解算法
算法流程如下:首先對計算的物品標簽權重特
前的特征權重累計添加到物品 i 的相應標簽權重特
征()中(5 行)。迭代地判定每個元組,直到所有元 組判定完畢(3-5 行),最后規范化()(6 行),返回得
出所有參與標簽權重計算的物品的標簽權重特征
3.2 離線計算推薦算法
離線推薦算法應用在推薦引擎的離線計算模 塊。本文的離線推薦算法利用了奇異值分解的性質,所以首先介紹下奇異值分解相關知識。
3.2.2 基于矩陣填充的物品推薦算法
離線計算推薦算法基本思想是:利用奇異值分 解提取偏好評分矩陣的主要特征;并根據這些特征 計算用戶之間的相似度;根據用戶相似度找到指定
用戶的近鄰;根據近鄰的評分數據填充指定用
戶的未評分數據,得到近似評分矩陣;根據近似評
分矩陣的評分數據進行物品推薦。 具體流程如算法 3 所示:
算法 3:基于矩陣填充的推薦算法
輸入:用戶對物品的偏好評分矩陣(, )
為每位用戶選擇個鄰居
輸出:為每位用戶推薦的物品矩陣 ( )
算法流程如下:首先對推薦物品列表初始化為
空(1 行),接著利用奇異值分解提取偏好評分矩陣的
個主要特征(2-3 行),利用奇異值分解求得近似矩
陣(4 行)。對于每一個用戶,循環計算與其他用戶的
相似度,并據用戶相似度找到該用戶的 K 近鄰,直
到每個用戶均計算出了自己的近鄰(5-7 行)。對于 每一個用戶,根據該用戶的近鄰的相似度,依次 補充該用戶的個偏好評分特征矩陣中的未評分數
據,得到完整的近似評分矩陣(8-11 行)。根據近似
評分矩陣為用戶推薦前個排名的物品,并且將結
果 進 行 離 線 存 儲 , 最 后 返 回 物 品 推 薦 列 表
用戶相似度采用余弦相似度[16]進行計算,公
式如下:
先對用戶進行兩級聚類。通過兩級聚類,為指定用 戶進行推薦在線推薦時,只需要比較該用戶與各類代表用戶的相似度找到該用所屬的類,然后在類內 部計算推薦。
3.3.1 兩級聚類算法 兩級聚類算法先利用用戶的注冊信息進行粗
粒度聚類,再利用用戶的標簽權重特征進行細粒度 聚類。兩級聚類所采用的算法是一致的,只是所利用的數據不同。
聚類算法基本思想是:初始每個用戶單獨成一
個集合,利用用戶注冊信息特征向量進行粗粒度聚 類或者利用用戶標簽權重特征進行細粒度聚類,計 算任意兩個用戶集合的相似度,然后從中選出相似度最大的兩個用戶集合進行合并,并作為一個用戶 集合參與下一輪的合并,直至用戶集合只剩下我們所需要的個數。另外,在聚類過程中,我們還會求出每個類的類代表,以便以后計算用戶與類的相似度。
具體流程如算法 4 所示:
算法 4:聚類算法
輸入:待聚類的用戶集合 = {1, 2, … , } 需要生成的用戶相似類的個數 輸出:完成聚類的屬性集合′ = {1, 2, … , }
算法過程:
在計算出為用戶推薦的物品后,推薦結果處理
模塊把我們上一節計算出的物品標簽權重特征作 為推薦原因,與物品推薦列表一起展示給用戶。
對于 × 的矩陣 ,該算法時間復雜度 為
所以對系統的性能影響不大。下面我們給出在線計
算推薦算法。
3.3 在線計算推薦算法
在線計算推薦算法應用在推薦引擎的在線計 算推薦模塊。為了減少在線推薦所用時間,本文首
16. returnU ¢
算法流程如下:首先將每個用戶初始化為一個
集合,通過循環迭代,計算出每兩個類之間的相似
度,并將相應的相似對和相似度存儲到中
(3-6 行)。當類的個數大于時,循環迭代(8-15 行),
尋找相似度最大的兩個初始類合并為一個新類(8
行),且從中去除這兩個初始類組成的相似 類和相似對(9 行)。并迭代更新(10-13 行),
更新任何一個類與這個新類的相似度為該類與這
兩個初始類的相似度的均值(10 行),且從中
去除所有與這兩個初始類之一相關的相似類和相
似對,同時添加該類與新類組成的相似對和相似度 (11-13 行),直到掃描完所有的類(10-13 行)。同時 從相似類集合中去除進行合并的兩個類,而將新類添加到集合中(14-15 行),故每次迭代會使得生成的
相似類集合個數減 1,直到最終用戶相似類類別為
算法 5:基于聚類的物品推薦算法
輸入:粗粒度聚類結果′ = {1, 2, … , }
細粒度聚類結果′′ = { | = {| = 1,2, … }}
為每位用戶選擇個鄰居
輸出:為用戶推薦的物品推薦列表()
算法過程:
1. () = ∅//初始推薦物品列表為空
2. foreach ′do
4. find which has highest similarity
5. foreach do
6. � = 4(, )//與細粒度類代表相似度
7. find which has highest similarity
為止。最后返回個用戶相似類集合′(16 行)。
8. for each
do
在粗粒度聚類中,利用注冊信息進行計算用戶
其中| ∩ |表示用戶 和用戶 的共有信息 個數,| ∪ |表示用戶 和 的總的屬性個數。
在細粒度聚類中,利用標簽權重特征進行計算
用戶相似度時,我們采用余弦距離相似度:
算法流程如下:首先初始化物品推薦列表為空 (1 行),依次計算出當前用戶與每個粗粒度類代表的 相似度(2-3 行),比較得出與當前用戶相似度最大的粗粒度類(4 行)。依次計算當前用戶與這個粗粒度類內部的每個細粒度類代表的相似度(5-6 行),比較得
出與當前用戶相似度最大的細粒度類(7 行)。循環迭
其中,⃑ 表示用戶 的標簽權重特征向量,在
3.1 節計算得出。
我們利用類內部各用戶信息的平均值計算出
類代表用戶⃑ 。粗粒度類代表的屬性信息使用類內
部在該屬性上出現最多的屬性值。細粒度類代表使
用類內部用戶標簽權重特征的平均值作為代表用 戶的標簽權重特征。
3.3.2 基于聚類的物品推薦算法
代計算當前用戶與該細粒度類內用戶的相似度(8-9
行),并找出該用戶的近鄰用戶,并根據近鄰的
評分信息計算出該用戶的用戶評分信息(10 行)。并
為該用戶推薦前個排名的物品,最后返回物品推 薦列表()(11-12 行)。
為指定新用戶進行物品推薦,需要先找到所屬
的粗粒度類與細粒度類,然后找到類內部的鄰居,
· )。其中, 為粗粒度類個數, 為細粒度類
2 3 1 2
基于聚類的物品推薦算法基本思想是:在收到
標簽權重評分后,將其作為用戶的臨時標簽權重特征,首先根據用戶注冊信息,通過計算與各個粗粒 度類代表的相似度找到所屬粗粒度類,再根據標簽權重特征,通過計算與各個細粒度代表的相似度找到所屬的細粒度類,然后在細粒度內部找鄰居,通
過判定與類內用戶的相似度,得出個最近鄰用戶, 并根據近鄰用戶對物品的評分信息計算該用戶的
物品評分信息,最后根據該用戶的評分數據進行物
品推薦。 具體流程如算法 5 所示:
個數,3為類內鄰居數。
3.4 反饋計算推薦算法
反饋計算推薦算法應用在推薦引擎的反饋計 算模塊。算法基本思想是:收到用戶的反饋時,首 先計算該用戶的真實評分與預估評分之間的差距, 以該用戶與鄰居的相似度作為權重對鄰居未評分 數據進行調整。然后根據調整后的用戶數據調用在線計算推薦算法進行推薦。
具體流程如算法 6 所示:
算法 6:基于標簽權重評分的用戶反饋算法
輸入:用戶反饋數據
′ = {(, , , 1), (, , , 2), . . , (, , , )}
用戶的鄰居()
輸出:為用戶推薦的物品推薦列表()
算法過程:
1. () = ∅//初始推薦物品列表為空
5. foreach () do//更新鄰居評分
� �
薦難、可解釋性差三個當前推薦系統所具有的缺陷。 下面我們通過實驗驗證本文模型及算法的有效性。
4 實驗驗證
基于標簽權重評分模型我們實現了一個電影 推薦系統。開發工具為 MyEclipse10.6,運行環境為 ubuntu 12.04-32 位系統,機器為 3.10GHz Intel(R)
Core(TM) i5-2400 CPU,4G 內存。 實驗中我們使用的數據集是 GroupLens 實驗室
6. ̂
· Δ//更新偏好評分
提供的 MovieLens 的電影評分數據集。該數據集包
7. foreach(, , , ) ′do//更新標簽權重評分
括 1000209 個偏好評分記錄和 95580 個標簽描述記
8.(̂ ) − ∑
9. ̂ = ̂ − ∆//更新用偏評�)
錄,有 6040 個用戶,3952 部電影和 1127 個標簽。
通過 3.1 節數據預處理我們得到用戶對物品的
10. foreach(, , , ) ′do//該用戶標簽權重評分
11. (̂ ) −� )
12. () =調用在線計算推薦算法(())
13. return ()
算法流程如下:首先初始化用戶的推薦物品列
為(1),根用的估分,戶真實分,計算出前戶預評與實分間差∆ = ̂ − (2)對用的簽重
依次循環迭代計算出當前用戶的每個預估標簽權
重評分與真實標簽評分的差距∆ (3-4 行)。對于該
用戶的每個鄰居,迭代更新鄰居的偏好評分和標簽
重分58行。次代,據∆及當前戶鄰的似,更新該居偏評(6 )。 據 及當用戶與度,循環更
當前鄰居的每個標簽權重評分值(7-8 行)。直到所有
鄰居評分均更新為真實值為止。最后更新當前用戶的偏好評分(9 行),并迭代更新當前用戶的每個標簽
權重評分為真實評分(10-11 行)。最后調用在線推薦
算法計算出推薦物品列表(),并返回推薦物品列 表()(12-13 行)。
當收到用戶的反饋,我們計算該用戶的反饋評
分與我們的預估評分之間的差距,然后只更新該用
鄰的關分據算復度
該算法避免了大規模數據的重新計算,而只調
整與反饋用戶相關的數據,花費時間少,適合在線推薦。
3.5 本章小結
這一章我們介紹了在基于標簽權重評分模型 下的相關算法,分別應對離線計算推薦、在線計算
偏好評分以及用戶和電影的標簽權重評分。其中, 偏好評分從 1~5 分別表示很不喜歡、不喜歡,一般,很喜歡,非常喜歡。同樣標簽權重評分從 1~5 表示 電影或用戶與標簽的關聯度為:沒有關聯、很少關 聯、一般關聯、很大關聯、非常有關聯。
4.1 離線計算推薦實驗
在離線計算推薦電影的實驗中,我們將用戶對電影的偏好評分數據集均勻分成 M 份(本文 M=8), 將每個子集數據分別做一次驗證集,其余 M-1 份子 集數據作為訓練集,從而得到 M 個模型,用這 M 個模型最終的驗證集的分類準確率的平均數作為 整體的性能評價指標。然后調用 3.2 節的基于矩陣 填充的物品推薦算法為用戶生成電影推薦列表。在 生成推薦電影列表時,我們采用如下規則:只有在
用戶對電影的預估評分≥3 分時才被推薦給用戶。
我們采用的評測系統性能的指標是準確率、召
回率和覆蓋率[18]。一個系統推薦覆蓋率越高,系 統給用戶推薦的商品種類就越多,推薦多樣新穎的 可能性就越大。如果一個推薦算法總是推薦給用戶流行的商品,那么它的覆蓋率往往很低,通常也是 多樣性和新穎性很低的推薦[18]。當覆蓋率相對較 高時,多樣性也會較高,新穎性也不會過低。故覆蓋率能有效反映推薦的多樣性和新穎性指標,故采 用覆蓋率來間接雙重反映系統的多樣新穎性。令
()為我們為用戶推薦的電影列表,()為測試 集中用戶評分在 3 分以上的電影列表。
那么準確率和召回率的計算如下:
推薦、反饋計算推薦三種基本推薦情況。如 2.4 節
所述,這樣就可以很好地解決冷啟動、復雜興趣推
率都優于參與對比的其他方法。其中,五種算法在 覆蓋率上都比較接近。由于 PMF、QSA 還有本文
覆蓋率是衡量推薦系統推薦的物品在總的物
品種類中所占比例的指標。在本文中覆蓋率計算如 下:
算法由于加入了標簽這一數據,所以在準確率和召
回率上要高于簡單的基于用戶或電影的協同過濾 推薦,而本文的基于標簽權重評分的算法不僅加入 了標簽數據,還加入了對標簽的權重描述,所以在
||
性能上要優于 PMF 和 QSA。
其中,為進行推薦的用戶集合。
如 3.2 節所述,我們用戶鄰居為用戶填充未評
分數據,所以鄰居數目 K 是一個很關鍵的參數。我們通過改變 K 進行了對比實驗。實驗結果如表 1 所
示:
K準確率(%)召回率(%)覆蓋率(%)
516.998.2151.33
1020.599.9541.49
2022.9911.1133.17
4024.5011.8325.87
8025.2012.1720.29
16024.9012.0315.21
表 1 基于矩陣填充的推薦算法在不同 K 參數下的性能
從表 1 可以看到,選擇 K=80 左右會獲得比較高的準確率和召回率。另外可以看出,隨著選擇鄰居數目的增加,覆蓋率會不斷降低,這是因為鄰居 數目的增加會導致為用戶推薦的電影越來越傾向 于熱門電影,一些冷門電影就得不到推薦,覆蓋率就會下降。
為了說明本文離線推薦算法(LWR-Offline)的 優越性,我們選擇 K=80,L=10,并且與現有的推薦 算法 UPCC、IPCC、PMF、QSA 做了對比實驗。這 四種推薦算法的簡介如下:
UPCC[19]這個方法使用皮爾遜相關系數對用 戶進行聚類,然后基于相似用戶進行物品推薦。
IPCC[8]這個方法使用皮爾遜相關系數對物品 進行聚類,然后基于相似物品進行物品推薦。
PMF[7]這個方法是基于用戶、物品與標簽的三元關系的協同過濾算法。
QSA[4]這個方法基于用戶-物品-標簽-評分四 階張量的語義分析進行物品推薦。
對比實驗結果如表 2 所示:
表 2 離線推薦算法與當前算法性能對比
因此,從表 2 的對比實驗可以看出,盡管該方 法用戶操作設置較為復雜,但是它并沒有降低離線 模型的準確度,該方法的準確率、召回率、覆蓋率相比其它經典推薦算法均得到了提高。因為采用這 種基于標簽權重評分的模型相比以往的方法,離線訓練數據中增加了標簽權重值,同時結合用戶的海量評分信息,能夠對用戶的品味做出更細化的劃分,因此離線模型的準確度會更高。
4.2 在線計算推薦實驗
這部實驗我們結合離線計算的結果,調用在線 計算推薦算法,為只有注冊信息的新用戶或者突然改變興趣愛好的老用戶進行推薦,即主要為了解決 冷啟動問題與復雜興趣推薦問題。
實驗設計如下:隨機抽取 N(本文 N=1000)個用 戶,通過 3.1.1 數據預處理獲得這些用戶的標簽權 重評分;從數據集中抽出這些用戶的評分信息作為 測試集,清除這些用戶在數據集中的評分信息但保 留注冊信息,剩余數據作為訓練集;把選中的 N 個 用戶看作新用戶,當這些新用戶登錄至推薦系統后, 把他們的標簽權重評分輸入系統以表達當前的興 趣要求,調用在線推薦算法,首先根據用戶注冊信息找到所屬粗粒度類,再根據用戶標簽權重評分在 細粒度內找鄰居,根據鄰居對物品的評分信息計算
出該用戶的物品評分信息,最后進行物品推薦。數據集中 N 個用戶的評分信息為測試集,且測試集中
用戶評分在 3 分以上的電影列表為()。通過在 線推薦算法得到的物品推薦為()。準確率、召回
率、覆蓋率計算公式同離線計算推薦實驗。
計算 N 個用戶的平均準確率和召回率。與離線 計算推薦、Radom 推薦、Popular 推薦進行對比實 驗。其中,Radom 推薦是指為每次用戶隨機推薦 L(本文 L=10)部電影;Popular 推薦是指每次為用戶 推薦整體評分最高的 L(本文 L=10)部電影。結果如
表 3 所示:
Algorithm準確率(%)召回率(%)覆蓋率(%)
UPCC15.797.1818.33
IPCC15.867.9519.15
PMF19.899.8319.17
QSA21.4311.9620.02
LWR-Offline25.2012.1720.29
表 3 在線推薦算法性能
可以發現,本文模型在準確率、召回率和覆蓋
Algorithm 準確率(%) 召回率(%) 覆蓋率(%)
Random 0.765 0.455 100
Popular 10.73 5.95 3.10
LWR-Offline 25.20 12.17 20.29
LWR-Online 18.15 10.08 16.17
從表 3 可以發現,從多個角度分析,在線計算 推薦算法(LWR-Online)在性能上與離線計算推薦算 法是有一定差距,這是因為輸入數據并沒用到被推 薦用戶的本身的偏好評分信息,而只用了用戶的標簽權重特征。但是該算法的準確率和召回率遠遠高 于 Random 推薦算法和 Popular 推薦算法,所以對 于解決冷啟動和復雜興趣推薦問題還是很有幫助 的。另外,對比研究前沿的算法[20]實驗數據,針
對數據集 MovieLens 時,[20]算法 Recall[1%,5%],
從召回率的角度分析,LWR-Online 算法明顯優于
[20]的算法。從[21]中的算法 NBI 的實驗數據分析, Precision=16.2%,從精確度角度分析,LWR-Online 算法也優于 NBI 算法。故 LWR-Online 具有非常好 的性能。另外,為了提高在線推薦算法的性能我們加入了用戶反饋機制,我們將通過用戶反饋計算推 薦實驗證明該機制的有效性。
4.3 反饋計算推薦實驗
實驗設計如下:隨機抽取 N(本文 N=1000)個用 戶,首先進行 3.2 節的在線計算推薦實驗,不同的是每次為用戶推薦 L(本文 L=10)部電影,同時提供 標簽權重評分形式的推薦解釋,即為每個電影配以 L(本文 L=10)個標簽,并且每個標簽都會有相應的 權重表明該電影在該標簽上的重要性。然后用戶可 以通過標簽權重評分對推薦的電影進行反饋,系統接收反饋,調用反饋計算推薦算法進行下一輪的推薦。
每一輪實驗我們將數據集的 N 個用戶的評分信
息作為測試集,且測試集中用戶評分在 3 分以上 的電影列表為(),每次調用在線反饋機制后得出的物品推薦為()。推薦準確率計算方式同離線計
算推薦實驗。將每次調用我們都計算平均絕對誤差
�、推薦準率作為量用戶饋能標
計算如下
Algorithm MAE Precision(%)
Round5 0.95 23.44
從表中可以看出,從第 1 輪到第 5 輪,我們通
用戶反調整推使得平絕對�有了
17%的提升,準確率有了 25%的提升,而且通過 5
輪反饋對新用戶的在線計算推薦的準確率已經非 常接近對老用戶的離線計算推薦,再次體現出本文 模型在解決冷啟動與復雜興趣推薦問題上的優越性。
另外,為了檢驗用戶對于基于標簽權重評分的
推薦解釋的滿意度,我們進行了一場用戶問卷調查。 我們對 65 名用戶進行問卷調查:每位用戶被推薦一個自己比較喜歡的電影,并且會被提供四種推薦 解釋;每位用戶要求對這些推薦進行評分,來表達 他們對這些推薦解釋的滿意程度。我們通過計算用 戶的平均評分來對比用戶滿意度。評分從 1 到 5 表 示非常不滿意、不太滿意、一般滿意、很滿意、非常滿意。
調查結果如表 5 所示:
表 5 推薦解釋的用戶問卷調查
類型 平均分 排名
基于相似用戶 3.6 4
基于相似物品 4.2 3
基于標簽 4.4 2
基于標簽權重評分 4.5 1
從表 5 中可以看出,用戶對基于標簽權重評分 的推薦解釋更能讓人滿意,因為這樣的解釋不僅能 清楚地給出了推薦物品的特征,而且能描述物品在這些特征上的重要性。該調查表明了本文所提出的 模型在解決推薦原因可解釋性差問題上的優越性。
通過本模型的離線推薦算法,在線推薦算法及
反饋推薦算法較相關推薦算法的實驗對比,可以看 出本模型的準確率、召回率均較高,這體現了本方法的性能上的優越性。同時表 5 說明用戶對基于標簽權重評分推薦系統解釋很滿意,這表明本文提出 方法的合理性。
||
5 總結
對比實驗結果如表 4 所示:
AlgorithmMAEPrecision(%)
Round11.1518.63
Round21.0320.22
Round30.9523.17
Round40.9323.45
表 4 反饋推薦算法在多輪反饋中的性能對比
為了當前推薦系統存在的冷啟動、復雜興趣推 薦困難、可解釋性差三個問題,本文提出了基于標 簽權重評分的推薦系統模型,介紹在該模型下的三 種推薦方式在解決這三個問題上的優越性。然后為 了實現這三種推薦方式,我們進行了相關算法的深 入研究。最后通過實驗驗證了本文技術的有效性。
未來擬對基于標簽權重推薦系統的效率和有 效性進行進一步優化,使之適應大規模數據。另外 一項未來的研究工作是如何提高離線訓練數據的收集質量,進一步提高模型的準確度。
參考文獻
[1] Burke R. Knowledge-based recommender systems. Encyclopedia of Library and Information Science, 2000, 4:2000.
[2] Lü L, Medo M, Yeung C H, et al. Recommender systems. Physics Reports, 2012, 519(1):1-49.
[3] Liu Jian-Guo, Zhou Tao, Wang Bing-Hong. The research progress of personal recommender systems.Progress in Natural Science,2009,19(1):1-15.
劉建國, 周濤, 汪秉宏. 個性化推薦系統的研究進展. 自然科學進
展, 2009, 19(1):1-15.
[4] Wei C, Hsu W, Lee M L. A unified framework for recommendations based on quaternary semantic analysis//Proceedings of the 34th international ACM SIGIR conference on Research and development in Information Retrieval. Beijing, China,2011:1023-1032.
[5] Balabanovic M, Shoham Y. Fab: Content-based, collaborativerecom- mendation//Communications of the ACM.Zurich,Switzerland, 1997:66-72.
[6] Mooney R J, Roy L. Content-based book recommending using learning for text categorization//Proceedings of the fifth ACM conference on Digital libraries. San Antonio, USA, 2000:195-204.
[7] Salakhutdinov R. and AndriyMnih. 2007. Probabilistic matrix factorization. Advances in Neural Information Processing Systems, 2008:1257-1264.
[8] Sarwar B, Karypis G, Konstan J, et al. Item-based collaborative filtering recommendation algorithms//Proceedings of the 10th international conference on World Wide Web. Hong Kong, China, 2001:285-295.
[9] Tso-Sutter K H L, Marinho L B, Schmidt-Thieme L. Tag-aware recommender systems by fusion of collaborative filtering algorithms//Proceedings of the 2008 ACM symposium on Applied Computing.Fortaleza, Brazil,2008: 1995-1999.
[10] Zhang Z K, Zhou T, Zhang Y C. Tag-aware recommender systems: astate-of-the-art survey. Journal of Computer Science & Technology, 2011, 26(5):767-777.
[11] Zhang Z K, Liu C, Zhang Y C, et al. Solving the cold-start problem in recommender systems with social tags. EPL (Europhysics Letters), 2010, 92(2): 28002-28007(6).
[12] Schein A I, Popescul A, Ungar L H, et al. Methods and metrics for cold-start recommendations//Proceedings of the 25th annual
international ACM SIGIR conference on Research and development in information retrieval.Tampere, Finland, 2002:253-260.
[13] Lin J, Sugiyama K, Kan M Y, et al. Addressing cold-start in app recommendation: latent user models constructed from twitter followers//Proceedings of the 36th international ACM SIGIR conference on Research and development in information retrieval, Dublin,Ireland, 2013: 283-292.
[14] Qu Yi-Heng, He Jia-Peng, Liang Zhou-Yang. The application of multidimensional scoring criteria in recommender systems.Collective economy of China, 2008, (21):85-86.
曲懿恒, 何嘉鵬, 梁周揚. 多維評分標準在推薦系統中的應用. 中
國集體經濟, 2008, (21):85-86.
[15] Herlocker J L, Konstan J A, Riedl J. Explaining collaborative filtering recommendations//Proceedings of the 2000 ACM conference on Computer supported cooperative work. Philadelphia, USA, 2000:241-250.
[16] Tintarev N. Explanations of recommendations//Proceedings of the 2007 ACM conference on Recommender systems.Minneapolis, USA, 2007: 203-206.
[17] Chen W, Hsu W, Lee M L. Tagcloud-based explanation with feedback for recommender systems//Proceedings of the 36th international ACM SIGIR conference on Research and development in information retrieval. Dublin,Ireland, 2013: 945-948.
[18] Zhu Yu-Xiao, Lü Lin-Yuan. Evaluation metrics for recommender systems.Journal of University of Electronic Science and Technology of China, 2012, 41(2):163-175.
朱郁筱, 呂琳媛. 推薦系統評價指標綜述. 電子科技大學學報, 2012,
41(2):163-175.
[19] Resnick, Paul, Iacovou, Neophytos, Suchak, Mitesh, et al. GroupLens: an open architecture for collaborative filtering of netnews//In Proceedings of the 1994 ACM conference on Computer supported cooperative work. Chapel Hill, USA, 1994:175-186.
[20] Zhang Z K, Zhou T, Zhang Y C. Personalized recommendation via integrated diffusion on user–item–tag tripartite graphs. Physica A: Statistical Mechanics and its Applications, 2010, 389(1): 179-186.
[21] Zhou T, Ren J, Medo M, et al. Bipartite network projection and person- al recommendation. Physical Review E, 2007, 76(4): 70-80.
附錄X.
Kong XinXin,born in 1994, M.S. candidate. Her research interests focus on data quality.
Ph.D.. His research interests include data quality,XML data management.
GAO Hong , born in 1966, Ph.D.,professor,Ph.D.
supervisor. Her research interests include wireless sensor networks,cyber-physical systems,massive data management and data mining.
LI Jian-Zhong , born in 1950, professor,Ph.D.
supervisor. His research interests include wireless sensor
SU Ben-Chang, born in 1989,M.S.candidate.His research interests focus on data quality.
WANG Hong-Zhi,born in 1978, associate professor,
Background
Recommendation System has been frequently applied into people’s real-life. With improving users’ acceptance, recommendation system has brought huge commercial interests. However, as the original data is incomplete and some recommendation algorithms have their own special ways of processing data, current recommendation system sometimes cannot work very well. For example, some recommendation systems are bothered with cold-start problem, difficult for complex interest recommendationproblem,poor interpretability and so on. There already have existed some methods on solving these problems. However, they all have their own restrictions. As far as I know, there haven’t had any effective methods tosolvecomplex-interest recommendations problem.
In the paper, we propose a label-weight rating based recommendation system model. In the model, we will get the
networks,cyper-physical system, database, massive data processing etc
precise information of users’ need by the simple way of using label-weight rating. Then we will generate recommendations using improved existing recommendation algorithm. At last, we will show the recommendations to the users in the form of label-weight rating. In addition, it is feasible for users to give their’ feedback to the system and get more accuracy recommendations.
This work is supported in part by the This paper was partially supported by NGFR 973 grant 2012CB316200, NSFC grant 61472099,61133002 and National Sci-Tech Support Plan 2015BAH10F00.
聯系人:王宏志電話:130*****146
Email:wangzh@hit.edu.cn
推薦閱讀:《數值計算與計算機應用》(季刊)創刊于1980年,是由中國科學院數學與系統科學研究院主辦的學術性刊物。