毛宜鈺,劉建勛,胡 蓉,唐明董,石 敏
湖南科技大學(xué) 知識(shí)處理與網(wǎng)絡(luò)化制造湖南省普通高校重點(diǎn)實(shí)驗(yàn)室,湖南 湘潭 411201
采用Sigmoid函數(shù)的Web服務(wù)協(xié)同過(guò)濾推薦算法*
毛宜鈺+,劉建勛,胡 蓉,唐明董,石 敏
湖南科技大學(xué) 知識(shí)處理與網(wǎng)絡(luò)化制造湖南省普通高校重點(diǎn)實(shí)驗(yàn)室,湖南 湘潭 411201
協(xié)同過(guò)濾;Sigmoid函數(shù);數(shù)據(jù)稀疏性;推薦系統(tǒng);用戶(hù)興趣
近年來(lái)隨著服務(wù)計(jì)算及其相關(guān)技術(shù)的發(fā)展,互聯(lián)網(wǎng)上涌現(xiàn)出大量功能相同但服務(wù)質(zhì)量(quality of service,QoS)各異的Web服務(wù),人們?cè)跐M(mǎn)足功能需求的同時(shí)對(duì)服務(wù)的非功能性需求愈發(fā)重視,使得個(gè)性化服務(wù)推薦技術(shù)成為服務(wù)計(jì)算領(lǐng)域的一個(gè)研究熱點(diǎn)。
協(xié)同過(guò)濾推薦是目前個(gè)性化推薦系統(tǒng)中應(yīng)用最廣泛、最成功的技術(shù),它通常分為兩類(lèi)[1]:基于記憶的協(xié)同過(guò)濾(memory-based)和基于模型(model-based)的協(xié)同過(guò)濾?;谟洃浀膮f(xié)同過(guò)濾通過(guò)近鄰算法對(duì)整個(gè)用戶(hù)-項(xiàng)目評(píng)分?jǐn)?shù)據(jù)集進(jìn)行計(jì)算,求出用戶(hù)或項(xiàng)目的相似鄰居來(lái)進(jìn)行推薦?;谀P偷膮f(xié)同過(guò)濾通過(guò)對(duì)歷史評(píng)分記錄進(jìn)行學(xué)習(xí)來(lái)建立一個(gè)復(fù)雜的評(píng)分模型,然后基于該模型預(yù)測(cè)目標(biāo)用戶(hù)對(duì)未評(píng)分項(xiàng)目的評(píng)分值產(chǎn)生推薦。
由于傳統(tǒng)協(xié)同過(guò)濾方法完全依賴(lài)評(píng)分產(chǎn)生推薦,而在用戶(hù)和項(xiàng)目數(shù)量巨大的實(shí)際應(yīng)用中,用戶(hù)往往只對(duì)一小部分項(xiàng)目進(jìn)行評(píng)價(jià)。這使得可用于度量相似度的評(píng)分?jǐn)?shù)據(jù)極端稀疏,用戶(hù)之間常常因?yàn)闆](méi)有共同評(píng)分項(xiàng)目而無(wú)法進(jìn)行比較[2]。另外,不同于普通項(xiàng)目,服務(wù)質(zhì)量易隨各種客觀因素發(fā)生變化,用戶(hù)評(píng)分也會(huì)隨之改變,且用戶(hù)的評(píng)分尺度各異,評(píng)分結(jié)果可信度難以保證。因此在服務(wù)推薦領(lǐng)域,傳統(tǒng)的基于評(píng)分的協(xié)同過(guò)濾算法推薦質(zhì)量并不高。
本文針對(duì)上述問(wèn)題展開(kāi)研究,提出了一種采用Sigmoid函數(shù)的Web服務(wù)協(xié)同過(guò)濾推薦算法。本文算法通過(guò)分析用戶(hù)對(duì)服務(wù)的歷史調(diào)用記錄,利用TFIDF(term frequency-inverse document frequency)算法的思想計(jì)算用戶(hù)對(duì)服務(wù)內(nèi)容的興趣度;然后引入Sigmoid函數(shù)對(duì)調(diào)用次數(shù)進(jìn)行標(biāo)準(zhǔn)化處理,得到用戶(hù)對(duì)服務(wù)功能的興趣度;最后計(jì)算用戶(hù)興趣相似度,結(jié)合傳統(tǒng)協(xié)同過(guò)濾算法預(yù)測(cè)用戶(hù)興趣,從而進(jìn)行推薦。經(jīng)實(shí)驗(yàn)證明,本文算法能有效緩解數(shù)據(jù)稀疏性問(wèn)題,提高協(xié)同過(guò)濾方法在服務(wù)推薦領(lǐng)域的推薦質(zhì)量。
本文的創(chuàng)新點(diǎn)和主要貢獻(xiàn)有:
(1)利用調(diào)用次數(shù)預(yù)測(cè)用戶(hù)興趣,彌補(bǔ)了傳統(tǒng)方法中由評(píng)分?jǐn)?shù)據(jù)稀疏造成的不良影響,且調(diào)用次數(shù)易于獲得,抗干擾能力強(qiáng),比評(píng)分?jǐn)?shù)據(jù)更可信。
(2)發(fā)現(xiàn)了Sigmoid函數(shù)與用戶(hù)興趣變化之間的關(guān)系,充分利用該函數(shù)特點(diǎn)反映出用戶(hù)對(duì)服務(wù)的感興趣程度隨調(diào)用次數(shù)的變化情況。
(3)結(jié)合內(nèi)容興趣度與功能興趣度來(lái)計(jì)算用戶(hù)興趣相似度,既考慮了用戶(hù)興趣隨調(diào)用次數(shù)的變化情況,又考慮了調(diào)用同一個(gè)服務(wù)的不同用戶(hù)之間的特殊性。
本文組織結(jié)構(gòu)如下:第2章闡述背景與相關(guān)工作;第3章詳細(xì)介紹基于Sigmoid函數(shù)的協(xié)同過(guò)濾推薦方法;第4章通過(guò)實(shí)驗(yàn)驗(yàn)證本文算法在改善推薦質(zhì)量方面的有效性;最后對(duì)全文進(jìn)行總結(jié)。
為了幫助用戶(hù)從眾多功能相同而服務(wù)質(zhì)量不同的服務(wù)中選擇符合用戶(hù)非功能需求的服務(wù),不少學(xué)者將協(xié)同過(guò)濾方法運(yùn)用到服務(wù)推薦過(guò)程。Shao等人[3]基于協(xié)同過(guò)濾思想提出了一種根據(jù)用戶(hù)經(jīng)驗(yàn)進(jìn)行相似性挖掘和預(yù)測(cè)的方法,根據(jù)用戶(hù)歷史調(diào)用過(guò)的服務(wù)的QoS值預(yù)測(cè)用戶(hù)未使用過(guò)的服務(wù)的QoS值。Zheng等人[4]則在其基礎(chǔ)上,將基于用戶(hù)的協(xié)同過(guò)濾與基于項(xiàng)目的協(xié)同過(guò)濾相結(jié)合,提出了WSRec推薦系統(tǒng)來(lái)計(jì)算QoS的預(yù)測(cè)值。Rong等人[5]從協(xié)同過(guò)濾中受到啟發(fā),結(jié)合用戶(hù)興趣相似度和關(guān)聯(lián)規(guī)則對(duì)Web服務(wù)評(píng)分進(jìn)行預(yù)測(cè)。Chen等人[6]通過(guò)建立高效的區(qū)域模型來(lái)分析QoS特征,并基于該模型采用改進(jìn)的基于記憶的協(xié)同過(guò)濾來(lái)實(shí)現(xiàn)高效率的服務(wù)推薦,提高了推薦速度。Li等人[7]同Zheng等人一樣,結(jié)合兩種協(xié)同過(guò)濾算法,并將用戶(hù)對(duì)服務(wù)的歷史調(diào)用次數(shù)引入相似度計(jì)算過(guò)程,提高了QoS預(yù)測(cè)值的準(zhǔn)確度。Hu等人[8]根據(jù)用戶(hù)調(diào)用服務(wù)的時(shí)間和地點(diǎn)來(lái)為目標(biāo)用戶(hù)選擇最近鄰居,提出一種上下文感知的協(xié)同過(guò)濾方法進(jìn)行服務(wù)推薦。Zhao等人[9]則在協(xié)同過(guò)濾的基礎(chǔ)上,提出一種新的相似度計(jì)算方法,同時(shí)考慮兩個(gè)用戶(hù)共同調(diào)用的服務(wù)以及分別調(diào)用的服務(wù)數(shù)目,使得到的相似用戶(hù)更加準(zhǔn)確。Deng等人[10]認(rèn)為現(xiàn)有服務(wù)推薦方法大多只關(guān)注于單個(gè)服務(wù)的屬性,卻忽略了用戶(hù)與服務(wù)之間的關(guān)系,因此根據(jù)用戶(hù)對(duì)服務(wù)的評(píng)分建立信任網(wǎng)絡(luò),基于該網(wǎng)絡(luò)計(jì)算可信度來(lái)進(jìn)行預(yù)測(cè),提高了協(xié)同過(guò)濾算法的推薦質(zhì)量。王海艷等人[11]基于Beta信任模型建立用戶(hù)間信任關(guān)系,提出一種基于可信聯(lián)盟的服務(wù)推薦方法。該方法引入服務(wù)的推薦屬性特征,根據(jù)改進(jìn)的相似度計(jì)算方法與服務(wù)推薦行為的信任度構(gòu)建出鄰居用戶(hù)的可信聯(lián)盟,根據(jù)該可信聯(lián)盟來(lái)進(jìn)行推薦。
現(xiàn)存的服務(wù)推薦算法,絕大多數(shù)都是基于服務(wù)的QoS值來(lái)進(jìn)行推薦,而實(shí)際情況中服務(wù)的QoS易隨網(wǎng)絡(luò)狀況等客觀因素發(fā)生變化,針對(duì)不同用戶(hù)的QoS差別很大,可信度難以保證。觀察發(fā)現(xiàn),人類(lèi)的興趣與其行為有很大關(guān)聯(lián),如用戶(hù)對(duì)項(xiàng)目評(píng)分、評(píng)論、頻繁使用等行為,都表明了用戶(hù)的興趣。實(shí)際上,用戶(hù)對(duì)不同服務(wù)的調(diào)用次數(shù)相差很大,可以認(rèn)為,被用戶(hù)調(diào)用次數(shù)越多說(shuō)明該服務(wù)越受用戶(hù)關(guān)注。調(diào)用次數(shù)客觀上反映了用戶(hù)對(duì)服務(wù)的感興趣程度,具有很大的利用價(jià)值,且相對(duì)于評(píng)分而言,調(diào)用次數(shù)不需要用戶(hù)刻意反饋,易于收集,因此本文將調(diào)用次數(shù)引入?yún)f(xié)同過(guò)濾方法來(lái)進(jìn)行推薦。
在實(shí)際生活中,由于用戶(hù)和服務(wù)數(shù)目眾多,人們往往不會(huì)對(duì)每個(gè)使用過(guò)的服務(wù)進(jìn)行評(píng)價(jià),評(píng)分矩陣成為一個(gè)高維稀疏矩陣。這就使得用戶(hù)之間共同評(píng)分項(xiàng)目數(shù)量很少,甚至完全沒(méi)有共同評(píng)分,給相似度計(jì)算過(guò)程帶來(lái)了極大的挑戰(zhàn)。學(xué)者們經(jīng)過(guò)研究發(fā)現(xiàn),用戶(hù)在使用網(wǎng)絡(luò)時(shí)的點(diǎn)擊、瀏覽、評(píng)論、評(píng)分等行為能從某種程度上反映用戶(hù)興趣[12-13],為分析用戶(hù)興趣提供了更多有利資源。因此本文利用這一結(jié)論,將調(diào)用次數(shù)引入?yún)f(xié)同過(guò)濾推薦過(guò)程,根據(jù)TF-IDF算法的思想計(jì)算用戶(hù)對(duì)服務(wù)內(nèi)容的興趣度,然后用Sigmoid函數(shù)對(duì)調(diào)用次數(shù)進(jìn)行標(biāo)準(zhǔn)化處理,得到用戶(hù)對(duì)服務(wù)功能的興趣度,并結(jié)合兩種興趣度計(jì)算用戶(hù)興趣相似度,提出了基于Sigmoid函數(shù)的協(xié)同過(guò)濾算法。該算法分為4個(gè)步驟:興趣度計(jì)算,用戶(hù)的興趣相似度計(jì)算,興趣度預(yù)測(cè)值計(jì)算和推薦。
3.1 興趣度計(jì)算
3.1.1 內(nèi)容興趣度計(jì)算
調(diào)用次數(shù)在一定程度上反映了用戶(hù)對(duì)不同服務(wù)的感興趣程度,用戶(hù)ui對(duì)服務(wù)oj的興趣度隨ui對(duì)oj的調(diào)用次數(shù)的增加呈正比增加,同時(shí)也隨著oj被其他用戶(hù)的調(diào)用頻率呈反比下降。因此,利用TF-IDF算法[14]的思想,根據(jù)調(diào)用次數(shù)來(lái)計(jì)算用戶(hù)對(duì)服務(wù)內(nèi)容的興趣度。
在信息檢索領(lǐng)域,TF-IDF是一種評(píng)估一字詞對(duì)于一個(gè)文件集中的一份文件的重要程度的統(tǒng)計(jì)方法,從理論上講,它也可以用來(lái)評(píng)估K維空間中一個(gè)對(duì)象在某一特定維度的重要性。本文將推薦系統(tǒng)中每個(gè)用戶(hù)看成一個(gè)文檔,被用戶(hù)調(diào)用的服務(wù)為文檔中的單詞,用戶(hù)對(duì)服務(wù)的調(diào)用次數(shù)即文檔中單詞出現(xiàn)的次數(shù),由此來(lái)計(jì)算用戶(hù)對(duì)服務(wù)內(nèi)容的興趣度。
定義1(內(nèi)容興趣度)用戶(hù)對(duì)服務(wù)的內(nèi)容興趣度表示用戶(hù)對(duì)服務(wù)內(nèi)容的感興趣程度。假設(shè)在推薦系統(tǒng)中,存在一個(gè)包含n個(gè)用戶(hù)的集合U={u1,u2,…,un}和一個(gè)包含m個(gè)服務(wù)的集合O={o1,o2,…,om}。用戶(hù)ui對(duì)服務(wù)oj的調(diào)用次數(shù)為Ri,j,服務(wù)oj對(duì)用戶(hù)ui的“重要性”由詞頻TFi,j來(lái)計(jì)算:
其中,n是推薦系統(tǒng)中總的用戶(hù)個(gè)數(shù)。因此,用戶(hù)ui對(duì)服務(wù)oj的內(nèi)容興趣度由以下公式定義:
用戶(hù)ui對(duì)O={o1,o2,…,om}中所有服務(wù)的內(nèi)容興趣度值組成用戶(hù)ui的內(nèi)容興趣度向量,即Ci=(Ci,1,Ci,2,…,Ci,m)。
3.1.2 功能興趣度計(jì)算
用戶(hù)對(duì)不同服務(wù)的調(diào)用次數(shù)相差很大。一方面,調(diào)用次數(shù)可以無(wú)限增加沒(méi)有上限;另一方面,對(duì)于調(diào)用次數(shù)為0的服務(wù),用戶(hù)也并不是完全沒(méi)有興趣,只是尚無(wú)使用經(jīng)驗(yàn)。為了通過(guò)調(diào)用次數(shù)更合理地反映用戶(hù)興趣,防止調(diào)用次數(shù)特別多的服務(wù)將用戶(hù)對(duì)其他服務(wù)的興趣淹沒(méi),以及為用戶(hù)未調(diào)用的服務(wù)賦一個(gè)初始值,本文引入Sigmoid函數(shù)對(duì)調(diào)用次數(shù)進(jìn)行標(biāo)準(zhǔn)化,得到用戶(hù)對(duì)服務(wù)功能的興趣度。
Sigmoid函數(shù)是一個(gè)在生物學(xué)中常見(jiàn)的S形函數(shù),它由以下公式定義:
該函數(shù)連續(xù)、光滑、嚴(yán)格單調(diào),其值在區(qū)間(0,1)之間,且關(guān)于點(diǎn)(0,0.5)中心對(duì)稱(chēng),是一個(gè)良好的閥值函數(shù)。在區(qū)間(-∞,0]上呈先慢后快的非線性增長(zhǎng);反之,在區(qū)間[0,+∞)上呈先快后慢的增長(zhǎng)趨勢(shì)。
定義2(功能興趣度)在服務(wù)推薦系統(tǒng)中,用戶(hù)對(duì)服務(wù)的功能興趣度表示用戶(hù)對(duì)服務(wù)所提供的功能的感興趣程度。用戶(hù)ui對(duì)服務(wù)oj的功能興趣度Fi,j由以下公式得到:
Fig.1 User's function interestingness function and Sigmoid function圖1 用戶(hù)功能興趣度函數(shù)與Sigmoid函數(shù)
由式(5)可知,用戶(hù)ui對(duì)O={o1,o2,…,om}中所有服務(wù)的功能興趣度值組成用戶(hù)ui的功能興趣度向量,即Fi={Fi,1,Fi,2,…,Fi,m}。
3.2 用戶(hù)的興趣相似度計(jì)算
相似度計(jì)算是協(xié)同過(guò)濾推薦算法中的一個(gè)重要步驟,常用方法有夾角余弦法和Pearson相關(guān)系數(shù)法[15-16]。本文選用余弦相似度分別計(jì)算用戶(hù)間的內(nèi)容興趣相似度和功能興趣相似度,再結(jié)合二者來(lái)計(jì)算用戶(hù)的興趣相似度,具體公式如下:
其中,Sab表示用戶(hù)ua和ub之間的興趣相似度;‖Ca‖為向量的模;a為設(shè)定的可調(diào)節(jié)的基于內(nèi)容興趣相似度和功能興趣相似度的參數(shù)。不失一般性,本文將參數(shù)a設(shè)為0.5,即認(rèn)為兩者重要性相同,但根據(jù)應(yīng)用或數(shù)據(jù)集的不同特征,該參數(shù)可以進(jìn)行不同的設(shè)置。
3.3 興趣度預(yù)測(cè)值計(jì)算
在計(jì)算出用戶(hù)之間的興趣相似度后,選擇與目標(biāo)用戶(hù)相似度最大的前K個(gè)用戶(hù)組成目標(biāo)用戶(hù)ua的最近鄰居集Na,然后通過(guò)以下公式得出目標(biāo)用戶(hù)ua對(duì)目標(biāo)項(xiàng)目oq的興趣度:
3.4 推薦
得到目標(biāo)用戶(hù)對(duì)未調(diào)用過(guò)的服務(wù)的興趣度預(yù)測(cè)值后,就可以選擇出預(yù)測(cè)值最高的前N項(xiàng)服務(wù)推薦給用戶(hù),即目前推薦系統(tǒng)中運(yùn)用最為廣泛的top-N推薦。
算法1基于Sigmoid函數(shù)的Web服務(wù)協(xié)同過(guò)濾推薦算法
輸入:用戶(hù)-項(xiàng)目調(diào)用矩陣R(n,m),目標(biāo)用戶(hù)ua,最近鄰居個(gè)數(shù)K,推薦集Irec項(xiàng)目數(shù)N。
輸出:目標(biāo)用戶(hù)ua的top-N推薦集Irec。
步驟1根據(jù)式(3)求出矩陣R(n,m)中每個(gè)用戶(hù)對(duì)服務(wù)的內(nèi)容興趣度,得到一組用戶(hù)內(nèi)容興趣度向量C1,C2,…,Cn。
步驟2根據(jù)式(5)和用戶(hù)調(diào)用矩陣R(n,m),得到一組用戶(hù)功能興趣度向量P1,P2,…,Pn。
步驟3根據(jù)式(6)計(jì)算用戶(hù)的興趣相似度矩陣sim(ui,uj)n×n。
步驟4由sim(ui,uj)n×n,得到與目標(biāo)用戶(hù)ua相似度最大的前K個(gè)用戶(hù),組成ua的最近鄰居集Na。
步驟5根據(jù)式(7)計(jì)算目標(biāo)用戶(hù)ua對(duì)他未調(diào)用過(guò)的服務(wù)的興趣度pred(ua,oq)。
步驟6將步驟5中得到的一組興趣度按由高到低的順序排列。
步驟7將興趣度最大的前N個(gè)服務(wù)組成目標(biāo)用戶(hù)的推薦集Irec。
4.1 數(shù)據(jù)準(zhǔn)備
本文算法基于用戶(hù)對(duì)服務(wù)的調(diào)用次數(shù),因此必須建立用戶(hù)調(diào)用次數(shù)數(shù)據(jù)集。本實(shí)驗(yàn)通過(guò)數(shù)據(jù)采集程序?qū)? 000個(gè)隨機(jī)抽取的樣本用戶(hù)在4周內(nèi)的行為進(jìn)行采集。樣本用戶(hù)每次開(kāi)機(jī)時(shí),都會(huì)形成一個(gè)對(duì)應(yīng)的日志文件,數(shù)據(jù)采集程序以2 s一次的頻率掃描樣本用戶(hù)計(jì)算機(jī)的當(dāng)前焦點(diǎn)窗口,若焦點(diǎn)窗口發(fā)生變化,則會(huì)在日志中追加一條記錄。一個(gè)典型的樣本行為日志如圖2所示。
Fig.2 Log of use beharior圖2 用戶(hù)行為日志
本文利用Matlab對(duì)以txt文件形式存儲(chǔ)的日志文件進(jìn)行數(shù)據(jù)預(yù)處理,最后得到812個(gè)用戶(hù)對(duì)860個(gè)應(yīng)用程序在4周內(nèi)共31 206條的使用次數(shù)記錄,以此作為實(shí)驗(yàn)數(shù)據(jù)集。將數(shù)據(jù)集平均分為5份,每次實(shí)驗(yàn)選擇其中1份作為測(cè)試數(shù)據(jù)集,其余4份作為訓(xùn)練數(shù)據(jù)集。
4.2 準(zhǔn)確性分析
4.2.1 度量標(biāo)準(zhǔn)
本文采用平均絕對(duì)誤差(mean absolute error,MAE)和均方根誤差(root mean square error,RMSE)作為推薦質(zhì)量的度量標(biāo)準(zhǔn),通過(guò)計(jì)算預(yù)測(cè)的興趣度與實(shí)際中用戶(hù)對(duì)服務(wù)的興趣度(即標(biāo)準(zhǔn)化后的調(diào)用次數(shù))之間的偏差來(lái)度量預(yù)測(cè)的準(zhǔn)確性,MAE和RMSE越小,意味著推薦質(zhì)量越高。假設(shè)預(yù)測(cè)的興趣度集合表示為(p1,p2,…,pn),對(duì)應(yīng)的實(shí)際興趣度集合表示為(q1,q2,…,qn),則:
此外,本文還采用準(zhǔn)確率(Precision)來(lái)比較基于“調(diào)用次數(shù)”和基于“評(píng)分”的協(xié)同過(guò)濾算法的推薦質(zhì)量,它表示正確推薦數(shù)目占整個(gè)top-N推薦集的比例。如果top-N推薦集中某個(gè)服務(wù)oq出現(xiàn)在目標(biāo)用戶(hù)測(cè)試集中的訪問(wèn)記錄里,則表示生成了一個(gè)正確推薦。具體計(jì)算如下:
其中,Hits表示算法產(chǎn)生的正確推薦數(shù)目;N表示算法生成的推薦總數(shù)。
4.2.2 準(zhǔn)確性結(jié)果及分析
為了驗(yàn)證Sigmoid函數(shù)對(duì)于預(yù)測(cè)用戶(hù)興趣度的有效性,采用傳統(tǒng)標(biāo)準(zhǔn)化方法:
對(duì)用戶(hù)調(diào)用次數(shù)標(biāo)準(zhǔn)化,然后在此基礎(chǔ)上使用協(xié)同過(guò)濾方法來(lái)與本文方法相比較,分別計(jì)算兩種方法的RMSE和MAE。式(11)中ISi,j為用戶(hù)ui對(duì)服務(wù)oj的興趣度,ni,j是用戶(hù)ui對(duì)服務(wù)oj的調(diào)用次數(shù),maxni和minni
分別為用戶(hù)ui所調(diào)用的所有服務(wù)中調(diào)用次數(shù)的最大值和最小值。鄰居個(gè)數(shù)從5增加到40,間隔為5,基于5個(gè)不同訓(xùn)練集得到的實(shí)驗(yàn)結(jié)果如圖3和圖4所示。
圖3和圖4反映了本文算法的RMSE和MAE結(jié)果隨最近鄰居數(shù)目改變的變化情況。從圖中的結(jié)果可以看出,在任意訓(xùn)練集中,本文算法都具有更小的RMSE和MAE。且隨著最近鄰居數(shù)目的增加,基于Sigmoid函數(shù)的協(xié)同過(guò)濾推薦算法的RMSE和MAE值變化很小,說(shuō)明本文算法具有較高的穩(wěn)定性。因此在沒(méi)有用戶(hù)評(píng)分或用戶(hù)評(píng)分?jǐn)?shù)據(jù)極端稀疏的環(huán)境下,本文算法不但緩解了數(shù)據(jù)稀疏性問(wèn)題,也具有較高的推薦質(zhì)量。
為了進(jìn)一步驗(yàn)證本文算法在推薦質(zhì)量方面的優(yōu)勢(shì),將本文算法與傳統(tǒng)的基于用戶(hù)的協(xié)同過(guò)濾算法(user-based collaborative filtering,UBCF)以及基于項(xiàng)目的協(xié)同過(guò)濾算法(item-based collaborative filtering,IBCF)進(jìn)行比較,實(shí)驗(yàn)結(jié)果如圖5所示??梢钥闯觯疚乃惴黠@優(yōu)于另外兩種基于“評(píng)分”的協(xié)同過(guò)濾算法。
4.3 效率分析
Fig.3 Comparison onRMSEusing 5 different training sets圖3 5個(gè)不同訓(xùn)練集的RMSE值
為了考察基于Sigmoid函數(shù)的協(xié)同過(guò)濾推薦算法在不同用戶(hù)數(shù)量、不同服務(wù)數(shù)量下的運(yùn)行效率,通過(guò)實(shí)驗(yàn)記錄了本文算法與傳統(tǒng)標(biāo)準(zhǔn)化方法在用戶(hù)和服務(wù)數(shù)目由200增加至800時(shí)產(chǎn)生推薦所需的運(yùn)行時(shí)間,并將其繪制成圖6。
從圖6中可以看出,兩種算法的計(jì)算效率都隨著用戶(hù)和服務(wù)數(shù)目的增加而降低,但傳統(tǒng)標(biāo)準(zhǔn)化方法的速度降低更快。因此當(dāng)系統(tǒng)中用戶(hù)和服務(wù)數(shù)量過(guò)多時(shí),本文算法計(jì)算效率更高。
Fig.4 Comparison onMAEusing 5 different training sets圖4 5個(gè)不同訓(xùn)練集的MAE值
Fig.5 Recommendation precision using different CF methods圖5 不同協(xié)同過(guò)濾算法對(duì)準(zhǔn)確率的影響
Fig.6 Comparison of different methods on time to generate recommendations圖6 不同方法產(chǎn)生推薦所需運(yùn)行時(shí)間
推薦系統(tǒng)能幫助用戶(hù)從海量信息中獲取到自己真正需要的資源,給人們的生活帶來(lái)便利的同時(shí)也提高了網(wǎng)站收益,因此受到各界的廣泛關(guān)注,國(guó)內(nèi)外眾多學(xué)者為提高推薦準(zhǔn)確度而進(jìn)行了大量研究,提出了許多不同的方法。本文針對(duì)傳統(tǒng)協(xié)同過(guò)濾算法在用戶(hù)評(píng)分?jǐn)?shù)目很少的服務(wù)推薦領(lǐng)域推薦質(zhì)量不高的問(wèn)題,提出了一種根據(jù)用戶(hù)對(duì)服務(wù)的調(diào)用次數(shù)將Sigmoid函數(shù)與傳統(tǒng)協(xié)同過(guò)濾相結(jié)合的推薦算法。本文算法通過(guò)分析用戶(hù)對(duì)服務(wù)的歷史調(diào)用記錄,利用TF-IDF算法的思想計(jì)算用戶(hù)對(duì)服務(wù)的內(nèi)容興趣度;然后引入Sigmoid函數(shù)來(lái)描述用戶(hù)對(duì)服務(wù)的功能興趣隨調(diào)用次數(shù)非線性變化的情況,基于兩種興趣度計(jì)算用戶(hù)興趣相似度;并結(jié)合傳統(tǒng)協(xié)同過(guò)濾方法預(yù)測(cè)用戶(hù)興趣產(chǎn)生最終推薦。實(shí)驗(yàn)結(jié)果表明,本文算法能有效緩解數(shù)據(jù)稀疏性問(wèn)題,提高了推薦質(zhì)量。下一步工作將會(huì)考慮調(diào)用次數(shù)數(shù)據(jù)依然稀疏的情況,結(jié)合基于語(yǔ)義內(nèi)容的推薦,進(jìn)一步解決稀疏問(wèn)題,并提高推薦精度。
[1]Breese J S,Heckerman D,Kadie C.Empirical analysis of predictive algorithms for collaborative filtering[C]//Proceedings of the 14th Conference on Uncertainty in Artificial Intelligence,Madison,USA,Jul 24-26,1998.San Francisco:Morgan Kaufmann Publishers Inc,1998:43-52.
[2]Papagelis M,Plexousakis D,Kutsuras T.Alleviating the sparsity problem of collaborative filtering using trust inferences[C]//LNCS 3477:Proceedings of the 3rd International Conference on Trust Management,Paris,France,May 23-26,2005.Berlin,Heidelberg:Springer,2005:224-239.
[3]Shao Lingshuang,Zhang Jing,Wei Yong,et al.Personalized QoS prediction for Web services via collaborative filtering [C]//Proceedings of the 2007 IEEE International Conference on Web Services,Salt Lake City,USA,Jul 9-13,2007. Piscataway,USA:IEEE,2007:439-446.
[4]Zheng Zibin,Ma Hao,Lyu M R,et al.QoS-aware Web service recommendation by collaborative filtering[J].IEEE Transactions on Services Computing,2010,4(2):140-152.
[5]Rong Wenge,Liu Kecheng,Liang Lin.Personalized Web service ranking via user group combining association rule [C]//Proceedings of the 2009 IEEE International Conference on Web Services,Los Angeles,USA,Jul 6-10,2009. Piscataway,USA:IEEE,2009:445-452.
[6]Chen Xi,Liu Xudong,Huang Zicheng,et al.Regionknn:a scalable hybrid collaborative filtering algorithm for personalized Web service recommendation[C]//Proceedings of the 2010 IEEE International Conference on Web Services,Miami, USA,Jul 5-10,2010.Piscataway,USA:IEEE,2010:9-16.
[7]Li Yali,Pan Shanliang,Huang Xi.A kind of Web service recommendation method based on hybrid collaborative filterng [J].Journal of Computational Information Systems,2012, 8(20):8357-8364.
[8]Hu Rong,Dou Wanchun,Liu Jianxun.A context-aware collaborative filtering approach for service recommendation [C]//Proceedings of the 2012 International Conference on Cloud and Service Computing,Shanghai,China,Nov 22-24,2012.Piscataway,USA:IEEE,2012:148-155.
[9]Zhao Shuai,Zhang Yang,Cheng Bo,et al.A feedbackcorrected collaborative filtering for personalized real-world service recommendation[J].International Journal of Computers Communications&Control,2014,9(3):356-369.
[10]Deng Shuiguang,Huang Longtao,Wu Jian,et al.Trustbased personalized service recommendation:a network perspective[J].Journal of Computer Science and Technology, 2014,29(1):69-80.
[11]Wang Haiyan,Yang Wenbin,Wang Suichang,et al.A service recommendation method based on trustworthy community[J].Chinese Journal of Computers,2014,37(2):301-311.
[12]Li Yong,Meng Xiaofeng,Liu Ji,et al.Study of the longrange evolution of online human-interest based on small data [J].Journal of Computer Research and Development,2015, 52(4):779-788.
[13]Liu Jian,Sun Peng,Ni Hong.Estimation of user interest degree based on neural network[J].Computer Engineering, 2011,37(7):187-189.
[14]Chan N N,Gaaloul W,Tata S.A recommender system based on historical usage data for Web service discovery[J]. Service Oriented Computing and Applications,2012,6(1): 51-63.
[15]Su Xiaoyuan,Khoshgoftaar T M.A survey of collaborative filtering techniques[J].Advances in Artificial Intelligence, 2009,2009:4.
[16]Hofmann T.Latent semantic models for collaborative filtering[J].ACM Transactions on Informatiotems,2004,22(1): 89-115.
附中文參考文獻(xiàn):
[11]王海艷,楊文彬,王隨昌,等.基于可信聯(lián)盟的服務(wù)推薦方法[J].計(jì)算機(jī)學(xué)報(bào),2014,37(2):301-311.
[12]李勇,孟小峰,劉繼,等.基于小數(shù)據(jù)的在線用戶(hù)興趣長(zhǎng)程演化研究[J].計(jì)算機(jī)研究與發(fā)展,2015,52(4):779-788.
[13]劉建,孫鵬,倪宏.基于神經(jīng)網(wǎng)絡(luò)的用戶(hù)興趣度估計(jì)[J].計(jì)算機(jī)工程,2011,37(7):187-189.
MAO Yiyu was born in 1992.She is an M.S.candidate at Hunan University of Science and Technology.Her research interests include service computing and cloud computing,etc.
毛宜鈺(1992—),女,湖南邵陽(yáng)人,湖南科技大學(xué)碩士研究生,主要研究領(lǐng)域?yàn)榉?wù)計(jì)算,云計(jì)算等。
LIU Jianxun was born in 1970.He received the Ph.D.degree in computer science from Shanghai Jiao Tong University in 2003.Now he is a professor and Ph.D.supervisor at Hunan University of Science and Technology,and the member of CCF.His research interests include workflow and service computing,etc.
劉建勛(1970—),男,湖南衡陽(yáng)人,2003年于上海交通大學(xué)計(jì)算機(jī)系獲得博士學(xué)位,現(xiàn)為湖南科技大學(xué)教授、博士生導(dǎo)師,CCF會(huì)員,主要研究領(lǐng)域?yàn)楣ぷ髁?,服?wù)計(jì)算等。
HU Rong was born in 1977.She received the Ph.D.degree in computer aplications from Nanjing University in 2014.Now she is a lecturer at Hunan University of Science and Technology,and the member of CCF.Her research interests include service computing and data mining,etc.
胡蓉(1977—),女,湖南湘潭人,2014年于南京大學(xué)計(jì)算機(jī)應(yīng)用專(zhuān)業(yè)獲得博士學(xué)位,現(xiàn)為湖南科技大學(xué)講師,CCF會(huì)員,主要研究領(lǐng)域?yàn)榉?wù)計(jì)算,數(shù)據(jù)挖掘等。
TANG Mingdong was born in 1978.He received the Ph.D.degree from Institute of Computing Technology,Chinese Academy of Sciences in 2010.Now he is an associate professor and M.S.supervisor at Hunan University of Science and Technology,and the member of CCF.His research interests include service computing and cloud computing,etc.
唐明董(1978—),男,湖南永州人,2010年于中國(guó)科學(xué)院計(jì)算技術(shù)研究所獲得博士學(xué)位,現(xiàn)為湖南科技大學(xué)計(jì)算機(jī)學(xué)院副教授、碩士生導(dǎo)師,CCF會(huì)員,主要研究領(lǐng)域?yàn)榉?wù)計(jì)算,云計(jì)算等。
SHI Min was born in 1991.He is an M.S.candidate at Hunan University of Science and Technology.His research interests include information retrieval and service computing,etc.
石敏(1991—),男,湖北大冶人,湖南科技大學(xué)碩士研究生,主要研究領(lǐng)域?yàn)樾畔z索,服務(wù)計(jì)算等。
Sigmoid Function-Based Web Service Collaborative Filtering Recommendation Algorithm*
MAO Yiyu+,LIU Jianxun,HU Rong,TANG Mingdong,SHI Min
Key Lab of Knowledge Processing and Networked Manufacturing,Hunan University of Science and Technology, Xiangtan,Hunan 411201,China
+Corresponding author:E-mail:maoyiyu151@gmail.com
Collaborative filtering techniques have been widely used in various recommender systems.However,they are likely to suffer from the data sparsity problem which often results in inaccurate recommendation results.In view of this problem,this paper proposes a collaborative filtering recommendation algorithm based on Sigmoid function,by analyzing users'invocation records of services.Firstly,the relationship between a user and the invocation number of service is analyzed to acquire the user's interest in contents of service by using TF-IDF algorithm.Then,a Sigmoid function is used to calculate the user's interest in function of service according to the invocation number.Finally,personalized service recommendation is performed by combining the user's contents interestingness with the function interestingness.The experimental results show that this algorithm can effectively alleviate the data sparsity problem and thus achieve better prediction accuracy.
collaborative filtering;Sigmoid function;data sparsity;recommender system;users'interest
10.3778/j.issn.1673-9418.1511072
A
TP301
*The National Natural Science Foundation of China under Grant Nos.61572186,61572187(國(guó)家自然科學(xué)基金);the Scientific Research Fund of Education Department of Hunan Province under Grant No.15K043(湖南省教育廳科研基金);the Project of State Key Laboratory for Novel Software Technology at Nanjing University under Grant No.KFKT2015B04(南京大學(xué)計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室資助項(xiàng)目).
Received 2015-11,Accepted 2016-03.
CNKI網(wǎng)絡(luò)優(yōu)先出版:2016-03-07,http://www.cnki.net/kcms/detail/11.5602.TP.20160307.1710.008.html
MAO Yiyu,LIU Jianxun,HU Rong,et al.Sigmoid function-based Web service collaborative filtering recommendation algorithm.Journal of Frontiers of Computer Science and Technology,2017,11(2):314-322.
摘 要:協(xié)同過(guò)濾推薦技術(shù)被廣泛用于各個(gè)推薦系統(tǒng),但它仍然存在著用戶(hù)評(píng)分?jǐn)?shù)據(jù)稀疏性問(wèn)題,可能導(dǎo)致推薦結(jié)果不準(zhǔn)確。針對(duì)該問(wèn)題,提出了一種采用Sigmoid函數(shù)的協(xié)同過(guò)濾推薦算法。首先,分析用戶(hù)興趣與其調(diào)用服務(wù)的次數(shù)之間的關(guān)系,利用TF-IDF算法計(jì)算用戶(hù)對(duì)服務(wù)內(nèi)容的興趣度;其次,定義一個(gè)Sigmoid函數(shù),根據(jù)服務(wù)調(diào)用次數(shù)計(jì)算用戶(hù)對(duì)服務(wù)功能的興趣度;最后,基于內(nèi)容興趣度和功能興趣度計(jì)算用戶(hù)興趣相似度完成協(xié)同過(guò)濾算法,實(shí)現(xiàn)個(gè)性化的服務(wù)推薦。實(shí)驗(yàn)證明,該方法能有效緩解數(shù)據(jù)稀疏性問(wèn)題,提高了推薦質(zhì)量。