南京工業(yè)職業(yè)技術(shù)學(xué)院 陳 敏
一種改進(jìn)的基于標(biāo)簽推薦方法
南京工業(yè)職業(yè)技術(shù)學(xué)院 陳 敏
大眾分類網(wǎng)絡(luò)已允許用戶根據(jù)自身喜好自由的加入標(biāo)簽,因此結(jié)合標(biāo)簽的推薦算法能增加推薦的個性化和準(zhǔn)確度,文章將用戶打分分?jǐn)?shù)轉(zhuǎn)移到標(biāo)簽上,同時結(jié)合用戶興趣易發(fā)生轉(zhuǎn)移的特點,提供更精確的用戶偏好模型,提出一種基于標(biāo)簽和項目評分的混合推薦算法。實驗結(jié)果證明,該算法在命中率、平均排序分和推薦多樣性等方面都獲得更好的表現(xiàn)。
推薦系統(tǒng);標(biāo)簽;時間加權(quán)
Web2.0的發(fā)展讓社會標(biāo)簽系統(tǒng)得到廣泛應(yīng)用,用戶在標(biāo)簽系統(tǒng)中可以隨意添加關(guān)鍵詞標(biāo)注,這使得用戶的個性偏好更加具體化,因此通過標(biāo)簽進(jìn)行個性資源推薦將大大提高推薦的精度?;跇?biāo)簽的推薦系統(tǒng)的關(guān)鍵點在于如何利用標(biāo)簽集為目標(biāo)用戶建立偏好模型。通常,標(biāo)簽的使用頻率、詞義特點等作為建立偏好模型的著手點。文獻(xiàn)[1]建立用戶-項目-標(biāo)簽三維網(wǎng)絡(luò),提出個性化的協(xié)同標(biāo)簽算法。文獻(xiàn)[2]提出了重要性傳遞論,加強(qiáng)了標(biāo)簽系統(tǒng)中網(wǎng)絡(luò)結(jié)構(gòu)的三維關(guān)系。文獻(xiàn)[3]利用標(biāo)簽的關(guān)聯(lián)規(guī)則進(jìn)行標(biāo)簽預(yù)測。本文提出一種改進(jìn)的衡量標(biāo)簽重要性的方法。將基于標(biāo)簽和項目評分及評分時間進(jìn)行加權(quán),使得待推薦項目獲得更好的偏好度。
協(xié)同過濾算法將用戶對項目的評分都視為平等,沒有先后的區(qū)別,并且忽略時間的影響,不利于準(zhǔn)確分析用戶偏好。如某用戶在大學(xué)時可能喜歡小說,而有了孩子以后更喜歡育兒方面的書。所以很久之前選擇的資源對當(dāng)前的預(yù)測貢獻(xiàn)度不大。用戶對項目的評分和添加過的標(biāo)簽及時間三者都影響著推薦的準(zhǔn)確度,因此,如何有效的利用這三者關(guān)系是本文的研究重點。文中所需的數(shù)據(jù)集有:
1.1 基于標(biāo)簽和打分偏好度的用戶偏好模型建立
本文將用戶對項目的打分轉(zhuǎn)移到標(biāo)簽上,即用戶使用過的標(biāo)簽都具獲得了一定的偏好度,其值定義為:
1.2 時間加權(quán)因子
一個高效的推薦系統(tǒng)需要考慮到時間對推薦結(jié)果的影響,本文引入時間衰減因子,改善用戶對項目的偏好度的預(yù)測。定義為:
1.3 基于標(biāo)簽和打分偏好度的用戶偏好模型建立
本文將用戶對項目的評分轉(zhuǎn)移到項目標(biāo)簽上,將用戶-項目-標(biāo)簽的三維結(jié)構(gòu)轉(zhuǎn)變成用戶-項目的二維結(jié)構(gòu),同時綜合考慮用戶評分的時間進(jìn)行加權(quán)處理,可以得到改進(jìn)后的待測項目推薦能力公式:
2.1 數(shù)據(jù)集
本文算法測試流行的MovieLens數(shù)據(jù)集。數(shù)據(jù)集采取5分評分制,并具備添加標(biāo)簽功能。先對數(shù)據(jù)集進(jìn)行精簡,然后分割實驗數(shù)據(jù),測試集和訓(xùn)練集按不同比例劃分,共劃分成9組,進(jìn)行多次取樣實驗分析結(jié)果。
實驗中,將本文提出的改進(jìn)的基于標(biāo)簽的推薦算法(AIR),與協(xié)同過濾算法(CF)和基于網(wǎng)絡(luò)結(jié)構(gòu)的推薦算法(NBI)[4]進(jìn)行比較分析。
2.2 實驗結(jié)果
本文從命中率、平均排序分和多樣性[5]三個指標(biāo)來分析算法性能。實驗測試推薦列表長度分別取為20、60和100。
(1)命中率
命中率的定義是命中次數(shù)與推薦列表長度的比值。結(jié)果如表2所示。
表2 典型推薦列表長度下的命中率
由表2中數(shù)據(jù)對比可以得到,在推薦列表長L=60時,AIHR推薦算法命中率相比CF和NBI推薦算法分別提高了28.57%和35.81%。
(2)平均排序分
用于衡量推薦算法的排序準(zhǔn)確度的推薦指標(biāo),值越小說明推薦算法的排序準(zhǔn)確度越高。平均排序分的測試結(jié)果如圖2所示,本文提出的AIR推薦方法在精確度上明顯好于其他幾個方法。
圖2 幾種算法對應(yīng)的平均排序分比較
(3)多樣性
推薦列表的多樣性可以利用平均海明距離來衡量海明距離的定義為:
由表3不同推薦算法在不同列表長度下的多樣性結(jié)果可以看出,在列表長度為20時,AIHR算法的多樣性比CF和NBI兩種算法分別提高了73.52%和14.80%。
表3 不同推薦列表長度下的多樣性
本文的算法目的是將用戶打分及打分時間和添加標(biāo)簽的行為結(jié)合起來,為用戶構(gòu)建更精確的資源偏好模型。因此,將用戶對項目的評分轉(zhuǎn)移到項目標(biāo)簽上,將用戶-項目-標(biāo)簽的三維結(jié)構(gòu)轉(zhuǎn)變成用戶-項目的二維結(jié)構(gòu),同時綜合考慮用戶評分的時間進(jìn)行加權(quán)處理,提出一種改進(jìn)的基于標(biāo)簽的推薦方法。實驗結(jié)果表明,在準(zhǔn)確度、命中率和多樣性方面等評價指標(biāo)上都有更好的表現(xiàn),提高推薦算法的精度,改善了用戶興趣改變帶來的推薦準(zhǔn)確率的問題。
[1]Zhou T,Ren J,Medo M.,et al.Bipartite network projection and personal recommendation[J].Phys Rev E,2007,76:046-115.
[2]CLAYPOOL M,GOKHALE A,et al.Combining contentbased and collaborative filters in an online newspaper[C].Proceeding of ACM SIGIR Workshop on Recommender Systems,1999.
[3]Cattuto C,Loreto V,Pietronero L.Semiotic dynamics and collaborative tagging[J].PNAS,2007,104(5):1461-1464
[4]Zhang Z K,Liu C,Zhang Y C,Zhou T.Solving the cold-start problem in recommender systems with social tags[J].EPL,2010,92(2):28002.
[5]劉建國,周濤,汪秉宏.個性化推薦系統(tǒng)研究進(jìn)展[J].自然科學(xué)進(jìn)展,2009,19(1):1-15.