摘 要:本文在全面研究各類推薦算法的基礎上,提出了基于物聯網的推薦算法。該算法結合了基于內容的推薦和協同過濾推薦,綜合考慮了物聯網中設備的資源與資源相似性、設備與設備的評分矩陣,并基于用戶與用戶之間的相似性預測評分,給出推薦結果。
關鍵詞:推薦算法;相似性;混合推薦
中圖分類號:TP391.3
“物聯網”的概念是由麻省理工學院的Ashton教授提出的,其定義是把所有物品通過射頻識別等信息傳感設備與互聯網連接起來,實現智能化識別和管理。如今,隨著社交網絡的蓬勃發(fā)展,物聯網已將其用戶端延伸到人與人、人與物品、物品與物品之間,成為任何實體之間進行信息交換的一種網絡概念[1]。
隨著信息爆炸時代的到來,瀏覽者能夠獲取、理解并正確使用信息的難度越來越大,于是推薦系統作為一種引導用戶發(fā)現其潛在需求的工具應運而生[2]。隨著物聯網的普及,推薦系統也被拓展到了物聯網領域。物聯網中的各個實體都擁有一個社交網絡賬號,各實體通過建立好友關系相互發(fā)現,通過好友交互實現相互控制等操作。因此,研究物聯網中的推薦機制能夠幫助用戶更加方便、高效地發(fā)現設備、控制設備,并且使各設備之間協同工作,保證系統的穩(wěn)定運行。
1 推薦算法介紹
本文主要用到三種推薦算法:基于內容的推薦、協同過濾推薦和混合推薦算法。
1.1 基于內容的推薦算法
基于內容的推薦方法是信息檢索領域的重要研究內容[3],其核心思想是向用戶推薦與他們曾經喜歡的物品相似的新物品。該算法首先提取推薦對象的內容特征和用戶偏好信息,然后計算二者之間的相似性,選擇相似性較高的對象作為推薦結果推薦給用戶。
1.2 協同過濾推薦算法
協同過濾推薦技術是目前推薦系統中應用最廣泛、最成功的技術之一[4],其核心思想是基于與用戶相似的其他用戶的評價信息進行推薦。該算法首先找到與指定用戶興趣相似的用戶,然后分析這些用于對推薦對象的評價信息,形成對推薦對象的喜好程度預測,進而選擇預測得分高的對象作為推薦結果推薦給用戶。
1.3 混合推薦算法
推薦算法各有優(yōu)劣,所以實際中最常用的往往是混合推薦算法,即通過對不同算法的組合避免或彌補單個算法的弱點。研究人員提出了七種組合思路[5]:加權、變換、混合、特征組合、層疊、特征擴充和元級別。
2 物聯網中的推薦算法
本文采用了混合推薦算法,既考慮了設備的資源與資源相似性,也考慮了設備與設備的評分矩陣,將基于內容的推薦和協同過濾推薦算法結合在一起,使推薦結果更加準確。
2.1 資源與資源的相似性
我們規(guī)定每個設備擁有k個資源屬性,并采用向量來表示其資源屬性信息:A(A1,A2,……,Ak)。其中Aj代表A設備的第j個資源屬性,Aj可取資源值0或1,取1代表設備A具有該資源屬性,取0則代表設備A不具備該資源屬性。設備的資源屬性信息可以從設備xml文件中獲得,且在輸入數據庫中時已經確定。
我們通過n臺設備仿真該推薦算法的推薦過程,n臺設備各自定義k項屬性,建立的設備-資源屬性矩陣如表1所示,表中的行代表設備項,列表示資源類型。
假設兩個設備A和B,我們通過Jaccard系數來測量二者在共同屬性上的重疊度,對于二維二值矩陣,Jaccard相似度更加簡單準確,計算公式如下:
可以看出,Jaccard系數通過兩個屬性集合的交集與并集的元素數目之比衡量相似性,對于布爾矩陣的相似性度量更簡單高效。當設備A和B具有完全相同的資源屬性時,其相似性為1;當設備A和B具有完全不同的資源屬性時,其相似性為0,其余情況介于兩者之間。
2.2 設備與設備的評分矩陣
我們根據得到的資源與資源的相似性simJ(A,B),計算設備與設備的評分矩陣,具體構建過程如下:
首先,根據設備與設備的資源屬性Jaccard相似度向量simJ(A,B),將相似度大于0的設備按相似度降序排序,得到對于當前設備的部分設備相似度排序后的設備名稱向量D;
然后,對D中的設備賦初值,得到初始化的設備與設備評分矩陣R0;
最后,若存在真實的評分矩陣R’,則最終的設備與設備評分矩陣R= R0+ R’;若不存在真實的評分矩陣,則最終的設備與設備評分矩陣R=R0。
對于本文仿真的設備信息,我們得到的設備-設備評分矩陣如表2所示。
2.3 用戶與用戶的相似性
用戶之間的相似度計算基于用戶對推薦對象的評分,評分對象及評分值越相似,則認為用戶對于推薦對象的喜好也越相似。常用的方法有Person相關系數和余弦相似度。
Pearson相關系數:Ri,c代表用戶Ui對項目Ic的評分值; 代表用戶Ui對所有評分項目的評分平均值;Ii,j代表用戶Ui和用戶Uj共同評分的項目。
余弦相似度:Rik代表用戶Ui對項目Ik的評分,n代表用戶Ui和用戶Uj共同評分的項目數,如果用戶沒有對項目進行評分,則默認為0。本文采用余弦相似度計算用戶與用戶的相似性。
為了測試本文推薦算法的結果,我們模擬目標用戶和另外三位用戶的相似度情況如表3所示,表中的相似度采用余弦相似度進行計算。
2.4 評分預測并產生推薦結果
以用戶相似性sim(i,j)為權重,加權他們對未評價設備A的評分,可得到用戶i對A的預測評分。選擇預測評分最高的前N個對象,即可作為本次推薦的最終推薦結果。用戶i對設備A的預測評分計算如下:
其中,pi,A代表目標用戶i對設備A的預測評分,Rj,A代表目標用戶i的相似用戶j對于設備A的評分,這里我們用NN代表目標用戶i的相似用戶集合。
基于本文的推薦算法,我們得出對n臺測試設備的推薦結果評分如表4所示。
可以看出,由于目標用戶與user1的相似性最高,對設備的推薦結果評分與user1對設備的評分基本呈正相關;由于目標用戶與user3相似度最底,推薦結果的評分與user3基本呈負相關。同時,不同設備的評分浮動會受到設備-設備評分矩陣的影響,設備之間的相似性與推薦結果評分呈正相關。這一結果與實際中設備及用戶的相似性對其喜好的影響相同,從而證明本文提出的算法是可靠的。
3 結束語
本文提出的推薦算法將基于內容的推薦結果作為協同過濾推薦的輸入,首先根據設備資源信息計算其Jaccard相似度,然后將該結果用于初始化協同過濾的評分矩陣,并在該過程綜合考慮設備的靜態(tài)和動態(tài)評分屬性。實際運用中,我們可通過用戶反饋結果調整算法參數,進一步提高推薦結果的準確度。
參考文獻:
[1]孫其博,劉杰,黎羴.物聯網:概念?架構與關鍵技術研究綜述[J].北京郵電大學學報,2010(03).
[2]劉瑋.電子商務系統中的信息推薦方法研究[J].情報科學,2006(02):300-303.
[3]王國霞,劉賀平.個性化推薦系統綜述[J].計算機工程與應用,2012(07):66-76.
[4]黃正.協同過濾推薦算法綜述[J].價值工程,2012(21):226-228.
[5]李丹丹.基于混合算法的個性化電子商務推薦系統研究[D].天津財經大學,2008.
作者簡介:張貴元(1980-)男,陜西周至人,中級講師,本科,研究方向:計算機。
作者單位:東莞理工學校,廣東東莞 523000