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