基于相對(duì)熵相似度的知識(shí)推薦方法
【專利摘要】本發(fā)明公開了一種基于相對(duì)熵相似度的知識(shí)推薦方法,基于構(gòu)建的在線學(xué)習(xí)用戶與在線知識(shí)資源模型,步驟一:根據(jù)在線學(xué)習(xí)用戶在線學(xué)習(xí)瀏覽記錄,建立在線學(xué)習(xí)用戶與項(xiàng)目關(guān)系的評(píng)分矩陣,對(duì)項(xiàng)目基于內(nèi)容進(jìn)行聚類,形成項(xiàng)目聚類集合;步驟二:建立在線學(xué)習(xí)用戶與項(xiàng)目聚類集合之間的典型度關(guān)系矩陣;步驟三:訓(xùn)練相對(duì)熵相似度計(jì)算公式參數(shù)α、β,得到其最優(yōu)值;步驟四:使用相對(duì)熵相似度公式計(jì)算用戶之間的相似度;步驟五:根據(jù)相似度計(jì)算結(jié)果,為用戶選取“鄰居”,形成鄰居用戶集合;步驟六、根據(jù)鄰居用戶集合,形成相應(yīng)在線知識(shí)資源推薦列。本發(fā)明提高傳統(tǒng)推薦算法應(yīng)用到知識(shí)推薦上時(shí)相似度計(jì)算的效果,從而優(yōu)化最終推薦效果。
【專利說明】
基于相對(duì)熵相似度的知識(shí)推薦方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于數(shù)據(jù)挖掘、人工智能和信息檢索領(lǐng)域,涉及推薦算法,尤其是一種基于 相對(duì)熵相似度的知識(shí)推薦算法,用來(lái)為用戶推薦知識(shí),以方便用戶獲取所需信息,并提高效 率。
【背景技術(shù)】
[0002] 推薦算法跟推薦技術(shù),核心是預(yù)測(cè)用戶對(duì)物品的評(píng)分,從而找出其可能感興趣的 部分。目前廣泛使用的推薦算法有基于內(nèi)容的推薦(Content-Based Recommendation),協(xié) 同過濾推薦(Collaborative Filtering Recommendation)和混合推薦算法(Hybrid Recommendation)〇
[0003] 推薦系統(tǒng)有三個(gè)重要的模塊:用戶建模模塊,推薦對(duì)象建模模塊,推薦算法模塊。 其中推薦算法模塊是推薦系統(tǒng)的核心。上述三種主要的推薦方法就是根據(jù)推薦算法模塊進(jìn) 行區(qū)分的。
[0004] 基于內(nèi)容的推薦算法主要利用推薦項(xiàng)目?jī)?nèi)容的相關(guān)屬性進(jìn)行建模,從而為用戶進(jìn) 行推薦。該類型推薦算法需要維護(hù)物品的信息,故人工參與較多,工作量大。另外,基于內(nèi)容 的推薦算法主要適用于能以文本描述的物品。
[0005] 從不同角度出發(fā),協(xié)同過濾推薦算法又可以分為基于用戶的協(xié)同過濾推薦算法和 基于項(xiàng)目協(xié)同過濾推薦算法?;谟脩舻膮f(xié)同過濾推薦算法主要是利用系統(tǒng)中用戶的歷史 瀏覽記錄,為推薦用戶找到與推薦用戶擁有相似行為的用戶,組成相似用戶集合,進(jìn)而為推 薦用戶推薦相似集合用戶中關(guān)注過,但是推薦用戶未曾關(guān)注過的項(xiàng)目。而基于項(xiàng)目的協(xié)同 過濾思想主要是利用所有用戶歷史瀏覽記錄,尋找與推薦用戶關(guān)注過的項(xiàng)目"相似的",但 是推薦用戶未曾關(guān)注的項(xiàng)目,為用戶進(jìn)行推薦。無(wú)論是基于項(xiàng)目的協(xié)同過濾推薦算法,還是 基于用戶的協(xié)同過濾算法均存在一定的問題,即傳統(tǒng)的相似度計(jì)算公式,不能很好的表達(dá) 兩個(gè)用戶或物品間真實(shí)的相似程度,另外,當(dāng)數(shù)據(jù)比較稀疏時(shí),協(xié)調(diào)過濾推薦難以預(yù)測(cè)用戶 對(duì)其評(píng)分。
【發(fā)明內(nèi)容】
[0006] 基于上述現(xiàn)有技術(shù)和存在的問題,本發(fā)明提出了本發(fā)明提供了一種基于相對(duì)熵相 似度的推薦方法,引入相對(duì)熵,重新定義用戶之間的相似度關(guān)系,從相似度計(jì)算公式方面進(jìn) 行優(yōu)化。
[0007] 1.本發(fā)明提出了一種基于相對(duì)熵相似度的知識(shí)推薦方法,基于構(gòu)建的在線學(xué)習(xí)用 戶與在線知識(shí)資源模型,該方法以下步驟:
[0008] 步驟101、根據(jù)在線學(xué)習(xí)用戶在線學(xué)習(xí)瀏覽記錄,建立在線學(xué)習(xí)用戶與項(xiàng)目關(guān)系的 評(píng)分矩陣,對(duì)項(xiàng)目基于內(nèi)容進(jìn)行聚類,形成項(xiàng)目聚類集合;
[0009] 步驟102、建立在線學(xué)習(xí)用戶與項(xiàng)目聚類集合之間的典型度關(guān)系矩陣;
[0010] 步驟103、訓(xùn)練相對(duì)熵相似度計(jì)算公式參數(shù)α、β,得到其最優(yōu)值;
[0011] 步驟104、通過相似度計(jì)算公式得到兩個(gè)用戶之間的相似度,基于典型度相對(duì)熵相 似度的具體計(jì)算方法如下式所示:
[0012]
[0013]其中,仏代表用戶1,山代表用戶j,Vl,t表示用戶i與推薦對(duì)象t關(guān)系評(píng)分。在基于典 型度推薦算法中,表示用戶i在聚類t典型度關(guān)系評(píng)分,α、β為步驟103訓(xùn)練得到的結(jié)果; [0014]步驟105、根據(jù)相似度計(jì)算結(jié)果,為用戶選取"鄰居",形成鄰居用戶集合;
[0015] 步驟106、根據(jù)鄰居用戶集合,形成相應(yīng)在線知識(shí)資源推薦列。
[0016] 與現(xiàn)有技術(shù)相比,上述技術(shù)方案的優(yōu)點(diǎn)在于:
[0017] 本發(fā)明針對(duì)知識(shí)推薦算法中存在的問題,提高傳統(tǒng)推薦算法應(yīng)用到知識(shí)推薦上時(shí) 相似度計(jì)算的效果,從而優(yōu)化最終推薦效果。
【附圖說明】
[0018] 圖1為整體不意圖;
[0019] 圖2為使用不同相似度計(jì)算公式對(duì)推薦算法結(jié)果的影響的實(shí)驗(yàn)結(jié)果示意圖。
【具體實(shí)施方式】
[0020] 以下結(jié)合附圖及【具體實(shí)施方式】,進(jìn)一步詳述本發(fā)明的技術(shù)方案。
[0021] 本發(fā)明的基于相對(duì)熵相似度的知識(shí)推薦方法,基于構(gòu)建的在線學(xué)習(xí)用戶與在線知 識(shí)資源模型,執(zhí)行如圖1所示的處理流程:
[0022]步驟101:根據(jù)在線學(xué)習(xí)用戶在線學(xué)習(xí)瀏覽記錄,建立在線學(xué)習(xí)用戶與項(xiàng)目關(guān)系的 評(píng)分矩陣R,對(duì)項(xiàng)目基于內(nèi)容進(jìn)行聚類,形成項(xiàng)目聚類集合Ν;
[0023]步驟102:建立在線學(xué)習(xí)用戶與項(xiàng)目聚類集合Ν之間的典型度關(guān)系矩陣;
[0024]步驟103:訓(xùn)練相對(duì)熵相似度計(jì)算公式參數(shù)α、β,得到其最優(yōu)值,參數(shù)ad的最優(yōu)值 需滿足使得損失函數(shù)f取最小值。損失函數(shù)f定義如公式(1)所示。
[0025] t=:i J=l
[0026] 其中,yi, j表示為0或1,當(dāng)Ri, j在訓(xùn)練集中出現(xiàn),即訓(xùn)練集數(shù)據(jù)中用戶i對(duì)項(xiàng)目j有評(píng) 分的時(shí)候,將yu表示為1,否則將yu表示為是用戶i對(duì)項(xiàng)目j的評(píng)分預(yù)測(cè)值。本發(fā)明中 采用隨機(jī)梯度下降算法尋找合適參數(shù),該目標(biāo)函數(shù)f關(guān)于參數(shù)下降的方向?qū)?shù)由公式(2)、 公式(3)定義:
[0029]其中,▽?表示目標(biāo)函數(shù)沿a的方向?qū)?shù);表示目標(biāo)函數(shù)沿邱勺方向?qū)?shù),故由隨 機(jī)梯度下降規(guī)則由公式(4)、公式(5)給出。
[0027]
[0028]
[0030]
[0031]
[0032] 與公式(5)相似,ri為常數(shù),表示梯度下降的步長(zhǎng),at為當(dāng)前推薦對(duì)象t的參數(shù)a,at+1 為推薦對(duì)象t的下一個(gè)推薦對(duì)象t+1的參數(shù)〇,0*為當(dāng)前推薦對(duì)象t的參數(shù)β,β?+1為推薦對(duì)象t 的下一個(gè)推薦對(duì)象t+1的參數(shù)β。
[0033] 步驟104:通過相似度計(jì)算公式得到兩個(gè)用戶之間的相似度。本發(fā)明中,用戶之間 的相似度采用基于典型度相對(duì)熵相似度計(jì)算公式計(jì)算,具體計(jì)算方法如公式(6)所示。
[0034]
[0035]其中,仏代表用戶1,山代表用戶j,Vl,t表示用戶i與推薦對(duì)象t關(guān)系評(píng)分。在基于典 型度推薦算法中,表示用戶i在聚類t典型度關(guān)系評(píng)分,α、β為步驟103訓(xùn)練得到的結(jié)果。 [0036]步驟105:根據(jù)相似度計(jì)算結(jié)果,為用戶選取"鄰居",形成鄰居用戶集合。
[0037]步驟106:根據(jù)鄰居用戶集合,形成相應(yīng)在線知識(shí)資源推薦列,步驟105和步驟106 為本專業(yè)人員所熟知的步驟,此處不再詳述。
[0038]使用不同相似度計(jì)算公式對(duì)推薦算法結(jié)果的影響的實(shí)驗(yàn)以Movielens為數(shù)據(jù)集, 采用平均絕對(duì)誤差MAE作為算法性能的評(píng)價(jià)標(biāo)準(zhǔn)。MAE值越小,代表算法的性能越好。MAE評(píng) 價(jià)標(biāo)準(zhǔn)在推薦算法中,從整體上衡量算法預(yù)測(cè)用戶對(duì)物品評(píng)分的準(zhǔn)確度,是一種公認(rèn)有效 的評(píng)價(jià)標(biāo)準(zhǔn)。
[0039]固定項(xiàng)目的聚類數(shù),選取不同的鄰居選擇閾值,實(shí)驗(yàn)結(jié)果如圖2所示。由圖2可知, 在較大范圍的閾值區(qū)間,使用相對(duì)熵相似度(the Relative Entropy Similarity)的知識(shí) 推薦算法跟使用其他相似度計(jì)算方法的推薦算法相比,性能更優(yōu)。"鄰居選擇"閾值表示兩 個(gè)用戶之間的相似度大于該閾值時(shí),認(rèn)為他們是"鄰居"。MAE和閾值均為本行業(yè)一般從業(yè)人 員所熟知的概念,此處不再詳述。當(dāng)閾值選取過大時(shí),所有算法的性能均下降,這是由于鄰 居選擇條件過嚴(yán),導(dǎo)致鄰居數(shù)太小導(dǎo)致的。從圖1可知,閾值選在〇. 3-0.6比較合理,并且在 這個(gè)范圍內(nèi),基于相對(duì)熵相似度的知識(shí)推薦算法性能最優(yōu)。
【主權(quán)項(xiàng)】
1. 一種基于相對(duì)賭相似度的知識(shí)推薦方法,基于構(gòu)建的在線學(xué)習(xí)用戶與在線知識(shí)資源 模型,其特征在于,該方法W下步驟: 步驟(101)、根據(jù)在線學(xué)習(xí)用戶在線學(xué)習(xí)瀏覽記錄,建立在線學(xué)習(xí)用戶與項(xiàng)目關(guān)系的評(píng) 分矩陣;對(duì)項(xiàng)目基于內(nèi)容進(jìn)行聚類,形成項(xiàng)目聚類集合; 步驟(102)、建立在線學(xué)習(xí)用戶與項(xiàng)目聚類集合之間的典型度關(guān)系矩陣; 步驟(103)、訓(xùn)練相對(duì)賭相似度計(jì)算公式參數(shù)α、β,得到其最優(yōu)值; 步驟(104)、通過相似度計(jì)算公式得到兩個(gè)用戶之間的相似度,基于典型度相對(duì)賭相似 度的具體計(jì)算方法如下式所示:其中,Ui代表用戶i,&代表用戶j,VI, t表示用戶i與推薦對(duì)象t關(guān)系評(píng)分。在基于典型度 推薦算法中,VI,t表示用戶i在聚類t典型度關(guān)系評(píng)分,α、β為步驟103訓(xùn)練得到的結(jié)果; 步驟(105)、根據(jù)相似度計(jì)算結(jié)果,為用戶選取"鄰居",形成鄰居用戶集合; 步驟(106)、根據(jù)鄰居用戶集合,形成相應(yīng)在線知識(shí)資源推薦列。
【文檔編號(hào)】G06F17/30GK105975564SQ201610286410
【公開日】2016年9月28日
【申請(qǐng)日】2016年4月29日
【發(fā)明人】于瑞國(guó), 劉志強(qiáng), 趙滿坤, 王建榮, 喻梅, 蔡智勇
【申請(qǐng)人】天津大學(xué)