本發(fā)明涉及數(shù)據(jù)挖掘領(lǐng)域,涉及一種基于異構(gòu)信息的評(píng)分推薦方法。
背景技術(shù):
隨著信息技術(shù)的飛速發(fā)展,大數(shù)據(jù)的各種技術(shù)應(yīng)運(yùn)而生,然而信息過(guò)載的問(wèn)題依然日趨嚴(yán)重。評(píng)分推薦系統(tǒng)作為解決信息過(guò)載的重要工具,它通過(guò)分析用戶與物品之間的行為信息,用戶與物品各自的描述信息等,把更加精準(zhǔn)的物品推薦給用戶,使信息價(jià)值最大化。
在評(píng)分推薦系統(tǒng)中,面臨的挑戰(zhàn)主要是數(shù)據(jù)的稀疏性。除了評(píng)分信息外,評(píng)論等文字信息成為了最好的補(bǔ)充。然而在把評(píng)分,評(píng)論信息融入到評(píng)分預(yù)測(cè)推薦系統(tǒng)的研究中,大部分是利用文字描述,利用主題模型通過(guò)分析物品相似性做出協(xié)同過(guò)濾,對(duì)推薦系統(tǒng)做一個(gè)額外的信息補(bǔ)充。然而,這樣的方法在文字信息大部分是短文本的事實(shí)下,會(huì)受到一定的影響。而且,文字信息的非精確性也讓傳統(tǒng)方法受到一定挑戰(zhàn)。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明提供了一種基于異構(gòu)信息的評(píng)分推薦方法,解決文字信息的短文本問(wèn)題,能夠更加有效地整合不同空間表達(dá)下的不同信息,讓評(píng)分信息、物品信息、評(píng)論信息得到更好的融合,最后做出更加精準(zhǔn)的推薦。
為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
一種基于異構(gòu)信息的評(píng)分推薦方法,包括以下步驟:
S1、獲取物品的用戶ID、物品ID、評(píng)分信息、評(píng)論信息和物品描述信息;
S2、將評(píng)分信息、評(píng)論信息和物品描述信息分別轉(zhuǎn)化成評(píng)分向量、評(píng)論向量和物品描述向量;
S3、將評(píng)分向量、評(píng)論向量和物品描述向量代入以下?lián)p失函數(shù)中,并通過(guò)梯度下降的方法進(jìn)行求解;其中,評(píng)論向量和物品描述向量為常量,評(píng)分向量為變量;
其中,u表示用戶特征向量,v表示物品特征向量,r表示評(píng)分向量,wr表示評(píng)分向量所處超平面的單位法向量;c表示評(píng)論向量,wc表示評(píng)論向量所處超平面的單位法向量;d表示物品描述向量,wd表示物品描述向量所處超平面的單位法向量,rp,rq分別指評(píng)分為p和q的評(píng)分向量,αr,αc,αd分別代表rp和rq、r、c、d所占損失函數(shù)的權(quán)重,Rr,Rc,Rd分別表示已經(jīng)存在的評(píng)分關(guān)系集合、評(píng)論關(guān)系集合、物品描述關(guān)系集合,e是超參數(shù),C(x)取sigmoid函數(shù);
進(jìn)一步地,損失函數(shù)中的函數(shù)F為:
其中,dis(x)表示向量x的歐幾里得距離,λc和λd是權(quán)重參數(shù),分別代表在函數(shù)F中評(píng)論信息和物品描述信息所占的比重;
S4、根據(jù)S3中的計(jì)算得到最終的變量u,v,wr,wc,wd,通過(guò)以下公式得到用戶u對(duì)于物品v的推薦度p:
進(jìn)一步地,還包括以下步驟:
S5、得到同一用戶u對(duì)于多個(gè)物品的推薦度,并按降序排序,最終得到同一用戶u對(duì)于所述多個(gè)物品的推薦度排序。
進(jìn)一步地,在S2中,將評(píng)論信息轉(zhuǎn)化成評(píng)論向量的方法為:
S211、使用word2vec工具對(duì)評(píng)論信息中的每一個(gè)單詞進(jìn)行詞向量訓(xùn)練;
S212、得到每個(gè)單詞的詞向量后對(duì)該條評(píng)論的所有詞向量求平均值,作為最終的評(píng)論向量。
進(jìn)一步地,在S2中,將物品描述信息轉(zhuǎn)化成物品描述向量的方法為:
S211、使用word2vec工具對(duì)物品描述信息中的每一個(gè)單詞進(jìn)行詞向量訓(xùn)練;
S212、得到每個(gè)單詞的詞向量后對(duì)該條物品描述的所有詞向量求平均值,作為最終的物品描述向量。
進(jìn)一步地,在使用word2vec工具進(jìn)行詞向量訓(xùn)練時(shí),采用skip-gram模型,向量維度大小取20。
進(jìn)一步地,其中,所有詞向量的平均值為:
其中,Q是所述評(píng)論信息的單詞合集或者所述物品描述信息的單詞集合,w是每一個(gè)單詞,vec(w)表示w的詞向量。
進(jìn)一步地,在S3中,
其中,num(x)表示x的個(gè)數(shù)。
進(jìn)一步地,在S2中,將評(píng)分信息轉(zhuǎn)化成評(píng)分向量的方法為:將每一個(gè)可能出現(xiàn)的不同評(píng)分值對(duì)應(yīng)映射成一個(gè)隨機(jī)的虛擬向量。
通過(guò)本發(fā)明提供的一種基于異構(gòu)信息的評(píng)分推薦方法,解決了文字信息的短文本問(wèn)題,而且還能夠更加有效地整合不同空間表達(dá)下的不同信息,讓評(píng)分信息、物品信息、評(píng)論信息得到更好的融合;此外,在解決了評(píng)分推薦系統(tǒng)中數(shù)據(jù)稀疏的難題的同時(shí),保持了不同用戶和物品之間的偏好多樣性和獨(dú)特性,最后做出更加精準(zhǔn)的推薦。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的一種基于異構(gòu)信息的評(píng)分推薦方法的步驟流程圖。
具體實(shí)施方式
下面將結(jié)合附圖和具體的實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。
如圖1所示,本發(fā)明提供了一種基于異構(gòu)信息的評(píng)分推薦方法,其具體包括以下步驟:
S1、獲取物品的用戶ID、物品ID、評(píng)分信息、評(píng)論信息和物品描述信息;
S2、將評(píng)分信息、評(píng)論信息和物品描述信息分別轉(zhuǎn)化成評(píng)分向量、評(píng)論向量和物品描述向量;
S3、將評(píng)分向量、評(píng)論向量和物品描述向量代入以下?lián)p失函數(shù)中,并通過(guò)梯度下降的方法進(jìn)行求解;其中,評(píng)論向量和物品描述向量為常量,評(píng)分向量為變量;
其中,u表示用戶特征向量,v表示物品特征向量,r表示評(píng)分向量,wr表示評(píng)分向量所處超平面的單位法向量;c表示評(píng)論向量,wc表示評(píng)論向量所處超平面的單位法向量;d表示物品描述向量,wd表示物品描述向量所處超平面的單位法向量,rp,rq分別指評(píng)分為p和q的評(píng)分向量,αr,αc,αd分別代表rp和rq、r、c、d所占損失函數(shù)的權(quán)重,Rr,Rc,Rd分別表示已經(jīng)存在的評(píng)分關(guān)系集合、評(píng)論關(guān)系集合、物品描述關(guān)系集合,是從網(wǎng)站獲取并通過(guò)S2中相同的方法處理所得的,e是超參數(shù),C(x)取sigmoid函數(shù);損失函數(shù)中的第二項(xiàng)是為了使得不同評(píng)分之間的差異最大化,第三項(xiàng)是為了保證評(píng)分向量r處于單位法向量wr所處的超平面,第四項(xiàng)是為了保證評(píng)論向量c處于單位法向量wc所處的超平面,第五項(xiàng)是為了保證物品描述向量d處于單位法向量wd所處的超平面。
進(jìn)一步地,損失函數(shù)中的函數(shù)F為:
其中,dis(x)表示向量x的歐幾里得距離,λc和λd是權(quán)重參數(shù),分別代表在函數(shù)F中評(píng)論信息和物品描述信息所占的比重;函數(shù)F中第一項(xiàng)代表了用戶、物品和評(píng)分信息的關(guān)系,第二項(xiàng)代表了用戶、物品和評(píng)論信息的關(guān)系,第三項(xiàng)代表了物品和物品描述信息的關(guān)系。
S4、根據(jù)S3中的計(jì)算得到最終的變量u,v,wr,wc,wd,通過(guò)以下公式得到用戶u對(duì)于物品v的推薦度p:
S5、得到同一用戶u對(duì)于多個(gè)物品的推薦度,并按降序排序,最終得到同一用戶u對(duì)于所述多個(gè)物品的推薦度排序。
具體地,在S2中,將評(píng)論信息轉(zhuǎn)化成評(píng)論向量的方法為:
S211、使用word2vec工具對(duì)評(píng)論信息中的每一個(gè)單詞進(jìn)行詞向量訓(xùn)練;
S212、得到每個(gè)單詞的詞向量后對(duì)該條評(píng)論的所有詞向量求平均值,作為最終的評(píng)論向量。
進(jìn)一步地,在S2中,將物品描述信息轉(zhuǎn)化成物品描述向量的方法為:
S211、使用word2vec工具對(duì)物品描述信息中的每一個(gè)單詞進(jìn)行詞向量訓(xùn)練;
S212、得到每個(gè)單詞的詞向量后對(duì)該條物品描述的所有詞向量求平均值,作為最終的物品描述向量。
其中,在使用word2vec工具進(jìn)行詞向量訓(xùn)練時(shí),采用skip-gram模型,向量維度大小取20。
根據(jù)以上方法得到的所有詞向量的平均值為:
其中,Q是所述評(píng)論信息的單詞合集或者所述物品描述信息的單詞集合,w是每一個(gè)單詞,vec(w)表示w的詞向量。
進(jìn)一步地,在S2中,將評(píng)分信息轉(zhuǎn)化成評(píng)分向量的方法為:將每一個(gè)可能出現(xiàn)的不同評(píng)分值對(duì)應(yīng)映射成一個(gè)隨機(jī)的虛擬向量。舉例而言,假設(shè)評(píng)分系統(tǒng)設(shè)定的可選分?jǐn)?shù)有1、2、3、4、5分,則將這五個(gè)分值分別隨機(jī)映射成虛擬向量,將映射得出的五個(gè)虛擬向量代入S3的公式中作為中間變量進(jìn)行求解。
進(jìn)一步地,在S3中,
其中,num(x)表示x的個(gè)數(shù)。
通過(guò)本發(fā)明提供的一種基于異構(gòu)信息的評(píng)分推薦方法,解決了文字信息的短文本問(wèn)題,能夠更加有效地整合不同空間表達(dá)下的不同信息,讓評(píng)分信息、物品信息、評(píng)論信息得到更好的融合,最后做出更加精準(zhǔn)的推薦。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。