本發(fā)明涉及個性化推薦技術(shù),具體涉及一種基于隱語義模型的個性化推薦方法。
背景技術(shù):
隨著網(wǎng)絡(luò)的發(fā)展,海量數(shù)據(jù)的出現(xiàn)導(dǎo)致了信息過載的情況,個性化推薦系統(tǒng)應(yīng)運而生?,F(xiàn)在推薦系統(tǒng)已經(jīng)廣泛應(yīng)用在包括電子商務(wù)、社交網(wǎng)絡(luò)、基于位置的服務(wù)、廣告等多個領(lǐng)域中,并且變得越來越重要和流行。
個性化推薦系統(tǒng)是根據(jù)用戶的興趣特點和購買行為,向用戶推薦用戶感興趣的信息和商品。它是建立在海量數(shù)據(jù)挖掘基礎(chǔ)上的一種高級商務(wù)智能平臺,為用戶提供完全個性化的決策支持和信息服務(wù)。
現(xiàn)有的推薦算法主要包括基于內(nèi)容的推薦算法、協(xié)同過濾推薦算法,還有基于圖論的推薦算法,包括矩陣分解、社會過濾和基于網(wǎng)絡(luò)的算法。但是,往往大多數(shù)的推薦系統(tǒng)都面臨著數(shù)據(jù)稀疏性、冷啟動等問題。社交網(wǎng)絡(luò)中包含了大量信息,充分挖掘并利用好這類信息,并結(jié)合用戶屬性,在一定程度上緩解傳統(tǒng)推薦系統(tǒng)面臨的問題。
隱語義模型推薦算法是一種準(zhǔn)確性較高的算法,算法給出了隱因子的概念,隱因子是用戶和物品聯(lián)系的橋梁。隱語義模型推薦算法是一種學(xué)習(xí)方法,它通過迭代調(diào)整模型中的參數(shù),最終建立最優(yōu)模型。同時,其在離線計算空間復(fù)雜度上的表現(xiàn)也更為優(yōu)秀。
公布號cn106384259a中,提出一種融合社交信息的推薦系統(tǒng)解決方法,其融合社交信息,在隱語義模型的基礎(chǔ)上提出該推薦系統(tǒng)解決方法。本發(fā)明提出一種基于隱語義模型的個性化推薦方法,在隱語義模型基礎(chǔ)上,融合用戶社交網(wǎng)絡(luò)特征和用戶屬性信息,從而進一步地解決推薦系統(tǒng)冷啟動、數(shù)據(jù)稀疏等問題,同時,有效提高對新用戶的推薦準(zhǔn)確度。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于,提出一種基于隱語義模型的個性化推薦方法,以解決冷啟動問題,同時提高推薦準(zhǔn)確。該方法將社交網(wǎng)絡(luò)數(shù)據(jù)和用戶屬性融入隱語義模型中,從而能夠更為快速而準(zhǔn)確地為每個用戶提供個性化推薦。具體技術(shù)方案實現(xiàn):一種基于隱語義模型的個性化推薦方法,步驟如下:
(1)選取一段時間內(nèi)的用戶對商品評分,以評分,用戶社交網(wǎng)絡(luò)特征和用戶屬性作為數(shù)據(jù)集;
(2)構(gòu)建用戶-商品評分矩陣,從中隨機選取80%的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),20%作為測試數(shù)據(jù),同時處理用戶社交網(wǎng)絡(luò)特征,用戶屬性信息;
(3)用戶屬性值用0或1來表示,使用支持向量機方法為每個屬性訓(xùn)練一個分類模型,以用戶對隱因子的關(guān)聯(lián)程度作為模型的輸入,輸出用戶屬性值;
(4)根據(jù)(2)中用戶屬性值,用戶u的特征屬性可用向量attru=(au1,au2,…,aun)表示,其中,n為用戶屬性的個數(shù),則下述公式計算用戶u和用戶v的相似度:
其中,ws是屬性s的重要程度,上述公式可得到rattr(u,i),即根據(jù)用戶屬性信息預(yù)測用戶u對物品i的評分;
(5)以社交網(wǎng)絡(luò)為基礎(chǔ),對用戶進行聚類處理,而用戶u與用戶v之間的信任強度與兩個用戶間的最短路徑直接相關(guān),計算得到兩個用戶之間的信任程度,從而得到rtrust(u,i);
(6)采用隱語義模型,所有用戶對隱因子的關(guān)聯(lián)向量組成矩陣p,所有物品對隱因子的關(guān)聯(lián)向量組成矩陣q,則矩陣相乘得到原始的評分矩陣,用戶u對每個隱因子的關(guān)聯(lián)程度與每個隱因子對物品i的關(guān)聯(lián)程度的乘積求和,得到用戶u對物品i的原始預(yù)測評分值:
(7)當(dāng)新用戶從加入系統(tǒng)到用戶對物品有一定數(shù)評分的過程中,推薦系統(tǒng)依據(jù)社交網(wǎng)絡(luò)特性和用戶屬性信息推薦,過渡到利用用戶的評分數(shù)據(jù),則將三種評分數(shù)據(jù)加權(quán),得到最后的預(yù)測評分:
(8)采用測試集數(shù)據(jù),測試算法的準(zhǔn)確性,選用平均絕對誤差(mae)作為衡量標(biāo)準(zhǔn),mae越小推薦結(jié)果越好,根據(jù)預(yù)測分數(shù)從大到小對商品進行排序,若該用戶滿意的商品集中在排序列表中靠前部分,則證明算法有效,反之無效。
本發(fā)明針對于推薦系統(tǒng)冷啟動、數(shù)據(jù)稀疏和準(zhǔn)確度不高的問題,在采用隱語義模型的基礎(chǔ)上,融合用戶社交網(wǎng)絡(luò)特征和用戶屬性信息有效提高對新加入用戶的推薦精確度。
附圖說明
圖1是本發(fā)明中基于隱語義模型的個性化推薦系統(tǒng)框圖
圖2是本發(fā)明中融合社交網(wǎng)絡(luò)特征和用戶屬性信息的隱語義模型圖
具體實施方式
本發(fā)明用于提供一種基于隱語義模型的個性化推薦方法,為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對本發(fā)明進一步詳細說明。
(1)選取一段時間內(nèi)的用戶對商品評分,以評分,用戶社交網(wǎng)絡(luò)特征和用戶屬性作為數(shù)據(jù)集;
(2)構(gòu)建用戶-商品評分矩陣,從中隨機選取80%的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),20%作為測試數(shù)據(jù),同時處理用戶社交網(wǎng)絡(luò)特征,用戶屬性信息;
(3)用戶屬性值用0或1來表示,使用支持向量機方法為每個屬性訓(xùn)練一個分類模型,以用戶對隱因子的關(guān)聯(lián)程度作為模型的輸入,輸出用戶屬性值;
(4)根據(jù)(2)中用戶屬性值,用戶u的特征屬性可用向量attru=(au1,au2,…,aun)表示,其中,n為用戶屬性的個數(shù),則下述公式計算用戶u和用戶v的相似度:
其中,ws是屬性s的重要程度,上述公式可得到rattr(u,i),即根據(jù)用戶屬性信息預(yù)測用戶u對物品i的評分;
(5)以社交網(wǎng)絡(luò)為基礎(chǔ),對用戶進行聚類處理,而用戶u與用戶v之間的信任強度與兩個用戶間的最短路徑直接相關(guān),計算得到兩個用戶之間的信任程度,從而得到rtrust(u,i);
(6)采用隱語義模型,所有用戶對隱因子的關(guān)聯(lián)向量組成矩陣p,所有物品對隱因子的關(guān)聯(lián)向量組成矩陣q,則矩陣相乘得到原始的評分矩陣,用戶u對每個隱因子的關(guān)聯(lián)程度與每個隱因子對物品i的關(guān)聯(lián)程度的乘積求和,得到用戶u對物品i的原始預(yù)測評分值:
(7)當(dāng)新用戶從加入系統(tǒng)到用戶對物品有一定數(shù)評分的過程中,推薦系統(tǒng)依據(jù)社交網(wǎng)絡(luò)特性和用戶屬性信息推薦,過渡到利用用戶的評分數(shù)據(jù),則將三種評分數(shù)據(jù)加權(quán),得到最后的預(yù)測評分:
(8)采用測試集數(shù)據(jù),測試算法的準(zhǔn)確性,選用平均絕對誤差(mae)作為衡量標(biāo)準(zhǔn),mae越小推薦結(jié)果越好,根據(jù)預(yù)測分數(shù)從大到小對商品進行排序,若該用戶滿意的商品集中在排序列表中靠前部分,則證明算法有效,反之無效。