亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

推薦方法和系統(tǒng)與流程

文檔序號:12124035閱讀:301來源:國知局
推薦方法和系統(tǒng)與流程

本發(fā)明涉及計算機軟件和數(shù)據(jù)挖掘技術領域,特別是涉及一種推薦方法和系統(tǒng)。



背景技術:

為了更好的解決信息過載問題,推薦系統(tǒng)應運而生。它試圖通過分析用戶和商品的內(nèi)容信息以及用戶與商品的交互信息,來幫助用戶發(fā)掘其潛在的興趣對象,從而將用戶可能感興趣的對象推薦給用戶。比如,在某一個應用領域,數(shù)據(jù)分析發(fā)現(xiàn)用戶存在對某一類電影的觀看記錄,則認為用戶對這一類電影感興趣,可將該類別的用戶未觀看過的電影推薦給用戶。

隨著社會化網(wǎng)絡的興起,社會化推薦成為了可能。社會化推薦的基本思想是根據(jù)用戶之間的交往分析用戶的朋友圈進行推薦。朋友之間一般具有相同的興趣愛好,而且來自朋友的推薦也比較值得信賴。因此,傳統(tǒng)技術中,大部分推薦方法都是基于用戶的社交關系數(shù)據(jù)進行推薦的。

然而,傳統(tǒng)的這種社會化推薦方式會面臨社交關系數(shù)據(jù)稀疏的難題。在很多的實際應用領域中,社交關系數(shù)據(jù)是極其系數(shù)甚至根本不存在。例如,Amazon用戶之間是不存在社交關系的,80%的Yelp用戶的關注人數(shù)小于3。因此,傳統(tǒng)的推薦方法不能很好的應付數(shù)據(jù)稀疏的問題,推薦效果受限。



技術實現(xiàn)要素:

基于此,有必要針對上述技術問題,提供一種能很好的應付數(shù)據(jù)稀疏問題 的,從而能提高推薦效果的推薦方法和系統(tǒng)。

一種推薦方法,所述方法包括:

將推薦數(shù)據(jù)集中的對象和對象之間的關系建模為異質(zhì)信息網(wǎng)絡;

獲取所述異質(zhì)信息網(wǎng)絡中連接兩個對象的元路徑;

根據(jù)所述連接兩個對象的元路徑計算對象之間的相似度數(shù)據(jù);

根據(jù)所述對象之間的相似度數(shù)據(jù)構建目標函數(shù),通過所述目標函數(shù)對所述推薦數(shù)據(jù)集進行訓練,得到用戶對物品的預測評分;

根據(jù)所述用戶對物品的預測評分將物品推薦給用戶。

一種推薦系統(tǒng),所述系統(tǒng)包括:

建模模塊,用于將推薦數(shù)據(jù)集中的對象和對象之間的關系建模為異質(zhì)信息網(wǎng)絡;

元路徑獲取模塊,用于獲取所述異質(zhì)信息網(wǎng)絡中連接兩個對象的元路徑;

相似度計算模塊,用于根據(jù)所述連接兩個對象的元路徑計算對象之間的相似度數(shù)據(jù);

訓練模塊,用于根據(jù)所述對象之間的相似度數(shù)據(jù)構建目標函數(shù),通過所述目標函數(shù)對所述推薦數(shù)據(jù)集進行訓練,得到用戶對物品的預測評分;

推薦模塊,用于根據(jù)所述用戶對物品的預測評分將物品推薦給用戶。

上述推薦方法和系統(tǒng),通過將推薦數(shù)據(jù)中的對象和對象之間的關系建模為異質(zhì)信息網(wǎng)絡,獲取異質(zhì)信息網(wǎng)絡中連接兩個對象的元路徑,根據(jù)元路徑計算對象之間的相似度數(shù)據(jù),再根據(jù)相似度數(shù)據(jù)構建目標函數(shù),使用目標函數(shù)對推薦數(shù)據(jù)集進行訓練,從而得到用戶對物品的預測評分,進而可以根據(jù)用戶對物品的預測評分將物品推薦給用戶。由于異質(zhì)信息網(wǎng)絡包含至少兩種對象類型和/或至少兩種關系類型,因此該推薦方法和系統(tǒng)不僅僅利用了用戶之間的社會化 關系數(shù)據(jù),而是利用了異質(zhì)信息網(wǎng)絡中的異質(zhì)信息,并且構建目標函數(shù)時利用了對象之間的相似度數(shù)據(jù),因而能夠得到更準確的用戶對物品的預測評分,該推薦方法和系統(tǒng)現(xiàn)對于現(xiàn)有技術更加全面,能獲得更好的推薦效果。

附圖說明

圖1為一個實施例中推薦方法的流程示意圖;

圖2為一個實施例中異質(zhì)信息網(wǎng)絡的示意圖;

圖3為一個實施例中推薦系統(tǒng)的結(jié)構框圖;

圖4為一個具體的實驗中SimMF附帶不同的規(guī)則化項的推薦效果的對比圖;

圖5為一個具體的實驗中SimMF融合不同元路徑下的推薦效果的對比圖;

圖6為一個實施例中服務器的內(nèi)部結(jié)構圖。

具體實施方式

為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

如圖1所示,在一個實施例中,提供了一種推薦方法,該方法包括:

步驟110,將推薦數(shù)據(jù)集中的對象和對象之間的關系建模為異質(zhì)信息網(wǎng)絡。

推薦數(shù)據(jù)集是指一個應用中根據(jù)推薦需求選取的與推薦的對象有關的數(shù)據(jù)的集合。比如,在一個社交網(wǎng)絡應用需要給用戶推薦電影,則可獲取該社交網(wǎng)絡應用中所有用戶的用戶信息、所有電影的電影信息和電影被觀看的記錄信息作為推薦數(shù)據(jù)集。推薦數(shù)據(jù)集中的對象包括用戶、物品以及用戶和物品的屬性 信息,其中物品可因不同的應用而有所不同,比如可以是電影、書籍、商品、網(wǎng)站、廣告等,在此不一一列舉。

異質(zhì)信息網(wǎng)絡是一種特殊的信息網(wǎng)絡,其中包括至少兩種對象類型或至少兩種關系類型。異質(zhì)信息網(wǎng)絡中包含的異質(zhì)信息包括對象之間的關系信息和對象本身的屬性信息,其中,對象之間的關系信息是對象之間因在應用中存在的關系產(chǎn)生的關聯(lián)信息,比如用戶與用戶之間的社交關系、用戶對物品的反饋信息等。將對象和對象之間的關系建模為異質(zhì)信息網(wǎng)絡,則對象和對象之間在異質(zhì)信息網(wǎng)絡中存在連接路徑,該路徑稱之為元路徑。比如用戶與用戶之間可能存在觀看過的相同的電影,則這兩個用戶之間通過電影進行了連接??梢岳斫?,對象和對象之間的元路徑可以有多條。

步驟120,獲取異質(zhì)信息網(wǎng)絡中連接兩個對象的元路徑。

具體的,可先確定連接兩個對象的多種元路徑,再根據(jù)這多種元路徑獲取異質(zhì)信息網(wǎng)絡中連接這兩個對象的元路徑。比如,連接兩個用戶的元路徑包括用戶-電影-用戶、用戶-群組-用戶、用戶-用戶等。根據(jù)確定的這多種元路徑再從建模得到的異質(zhì)信息網(wǎng)絡中獲取連接兩個用戶的元路徑。

元路徑在數(shù)學形式上表現(xiàn)為對象和對象之間的復合關系,蘊含在不同元路徑中的語義信息是不同的。比如,用戶-電影-用戶表示觀看過相同電影的用戶,用戶-群組-用戶表示同一群組中的用戶等?;诓煌脑窂接嬎愠龅膶ο笾g的相似度一般是不同的。

步驟130,根據(jù)連接兩個對象的元路徑計算對象之間的相似度數(shù)據(jù)。

由于連接兩個對象的元路徑有多條,每一條元路徑上都可以計算出這兩個對象的相似度,則這兩個對象之間的相似度為在每一條元路徑上的相似度的加權和。在異質(zhì)信息網(wǎng)絡中,由兩個對象之間的相似度可以組成一個對象的相似 度矩陣,該相似度矩陣中的元素為兩個對象之間的相似度,因此該相似度矩陣的維度為異質(zhì)信息網(wǎng)絡中該對象的數(shù)量。具體的,包括用戶相似度矩陣和物品相似度矩陣。

步驟140,根據(jù)對象之間的相似度數(shù)據(jù)構建目標函數(shù),通過該目標函數(shù)對推薦數(shù)據(jù)集進行訓練,得到用戶對物品的預測評分。

本實施例中,目標函數(shù)由基礎矩陣分解模型和根據(jù)對象之間的相似度數(shù)據(jù)構建的規(guī)則化項所構成。其中,基礎矩陣分解模型包括真實評分和預測評分的平方誤差項和對象的隱性特征向量的規(guī)則化項,新添的根據(jù)對象之間的相似度數(shù)據(jù)構建的規(guī)則化項包括用戶相似度規(guī)則化項和物品相似度規(guī)則化項。其中,用戶相似度規(guī)則化項可將某一個用戶的隱性特征向量趨近于與該用戶最相似的前預設數(shù)量的用戶的隱性特征向量的平均水平,或者,可將某一個用戶的隱性特征向量趨近于與該用戶有著高相似度的用戶的隱性特征向量。物品相似度規(guī)則化項與之類似,也可將某一個物品的隱性特征向量趨近于與該物品最相似的前預設數(shù)量的物品的隱性特征向量的平均水平,或者,可將某一個物品的隱性特征向量趨近于與該物品有著高相似度的物品的隱性特征向量。

進一步的,通過構建的目標函數(shù)對推薦數(shù)據(jù)集進行訓練,也就是說對目標函數(shù)進行最優(yōu)化,獲取使得目標函數(shù)最小的用戶的隱性特征向量和物品的隱性特征向量。所謂隱性特征,是指無法確定具體物理含義的特征,其體現(xiàn)了用戶和物品的一些人為無法用語言直接描述的特征,但對用戶和物品的描述具有實際意義。根據(jù)用戶的隱性特征向量和物品的隱性特征向量即可計算得到用戶對物品的預測評分。所謂預測評分,是使用預測函數(shù),根據(jù)用戶的隱性特征向量和物品的隱性特征向量預測出的用戶對物品的評分,該評分體現(xiàn)了用戶對物品的感興趣程度,或者稱之為用戶對物品的偏好值。

步驟150,根據(jù)用戶對物品的預測評分將物品推薦給用戶。

本實施例中,可根據(jù)用戶對物品的預測評分,將預測評分最高的一些物品推薦給用戶。在實際應用中,推薦時還可參考應用領域的其它因素。比如,可將預測評分最高的且最熱門的物品推薦給用戶,將預測評分最高且地理位置與用戶所在地理位置最近的物品推薦給用戶,等等,本實施例對此不做限定。

本實施例中,由于異質(zhì)信息網(wǎng)絡包含至少兩種對象類型和/或至少兩種關系類型,因此該推薦方法不僅僅利用了用戶之間的社會化關系數(shù)據(jù),而且利用了異質(zhì)信息網(wǎng)絡中的異質(zhì)信息,并且構建目標函數(shù)時利用了對象之間的相似度數(shù)據(jù),因而能夠得到更準確的用戶對物品的預測評分,該推薦方法相對于現(xiàn)有技術更加有效處理數(shù)據(jù)稀疏問題,能獲得更好的推薦效果。

進一步的,在一個實施例中,異質(zhì)信息網(wǎng)絡能夠有效組織異質(zhì)信息,其中異質(zhì)信息包括用戶對物品的反饋信息、用戶與用戶之間的社交關系、用戶屬性信息和物品屬性信息。

其中,用戶對物品的反饋信息根據(jù)不同的應用領域有所不同,比如可以是用戶對電影的評分信息、用戶對書籍的評論信息等。用戶與用戶之間的社交關系,比如可以是用戶之間的好友關系、關注關系、收聽關系等,用戶屬性信息,比如可以是用戶所在的群組、用戶的位置信息等,物品屬性信息,比如可以是電影的類型、導演,書籍的作者等。

異質(zhì)信息網(wǎng)絡的底層數(shù)據(jù)結(jié)構是有向圖,包含多種類型的對象或者多種類型連邊。給定模式S=(A,R),其中A={A}是對象集合,R={R}是關系集合。信息網(wǎng)絡為以有向圖G=(V,E)及其對象類型映射函數(shù)V→A和關系類型映射函數(shù)E→R。如果對象類型數(shù)目A|>1或者關系類型數(shù)目R|>1,則此信息網(wǎng)絡被稱為異質(zhì)信息網(wǎng)絡,否則稱為同質(zhì)信息網(wǎng)絡。因此,可以理解,異質(zhì)信息網(wǎng)絡是包 括至少兩種對象類型或至少兩種關系類型的信息網(wǎng)絡。

圖2示出了一個具體的實施例中的一種異質(zhì)信息網(wǎng)絡,其中包含了多種類型的實體對象:用戶(U)、電影(M)、群組(G)、位置(L)、演員(A)、導演(D)以及電影類型(T)。對于每一個用戶結(jié)點,它與該用戶的一組好友結(jié)點,一組所屬群組結(jié)點以及一組評過分的電影結(jié)點都會形成連接。如圖2所示,用戶與用戶之間具有連接關系,用戶還與群組、位置之間也具有連接關系,電影與用戶之間具有連接關系,電影還與導演、演員和類型之間也具有連接關系。用戶與用戶之間存在的連接表示好友關系,用戶與群組之間存在的連接表示成員關系,用戶與電影之存在的連接表示評分與被評分關系。電影結(jié)點則與之類似,也會形成一系列連接關系。因此在這樣的一個異質(zhì)信息網(wǎng)絡中蘊含了推薦系統(tǒng)所需的不同類型的信息,比如反饋信息(如用戶-電影)、社交關系(如用戶-用戶)以及屬性信息(如用戶-群組、電影-演員等)。

在異質(zhì)信息網(wǎng)絡中的兩個對象之間的連接路徑,稱之為元路徑。元路徑,也就是連接兩種類型對象的構成關系,每條元路徑蘊含了豐富的語義信息。例如,元路徑“用戶-電影-用戶”表示觀看過同一部電影的用戶。在異質(zhì)信息網(wǎng)絡中,兩個對象可以通過不同類型的元路徑進行連接。

在數(shù)學形式上,元路徑P是定義在模式S=(A,R)上的一條路徑,表示為(一般縮寫為A1A2...Al+1)。這樣一條元路徑其實定義了對象類型A1和對象類型Al+1之間的復合關系R=R1οR2ο...οRl,其中ο表示關系的組合運算符。如圖2所示,用戶與用戶可以通過“用戶-用戶”(UU)、“用戶-群組-用戶”(UGU)、“用戶-電影-用戶”(UMU)等元路徑進行連接。蘊含在不同的元路徑中的語義信息明顯是不同的,比如元路徑UU表示用戶的好友,而UMU表示觀看過相同電影的用戶。由于不同的元路徑具有不同的語義信息,因此基 于不同元路徑計算出對象之間的相似度是不同的。在計算對象之間的相似度時,使用的相似度度量方法是基于元路徑的。例如,在計算兩個用戶間相似度時,可考慮基于元路徑UU、UGU、UMU或者其它元路徑。類似的,連接電影的元路徑有MAM、MDM等。

進一步的,在一個實施例中,根據(jù)連接兩個對象的元路徑計算對象之間的相似度數(shù)據(jù)的步驟,包括:根據(jù)兩個用戶在給定元路徑上的相似度的加權和構造用戶相似度矩陣;和/或,根據(jù)兩個物品在給定元路徑上的相似度的加權和構造物品相似度矩陣。

本實施例中,可先為用戶和物品選擇合適的元路徑。在異質(zhì)信息網(wǎng)絡中,連接用戶或者連接物品都存在大量的元路徑可供選擇。具體的,可選擇長度短且語義信息強烈的元路徑,因為這類元路徑有利于生成較好的相似度數(shù)據(jù)。另外,還可以結(jié)合領域知識和使用者需求進行元路徑的選擇。

具體的,計算對象在給定元路徑上的相似度的方法有多種,比如,可采用傳統(tǒng)的PathSim方法來度量相同類型對象間的相似性,它要求計算時所使用的元路徑必須是對稱路徑。也可以使用傳統(tǒng)的PCRW方法來在一個有向圖中進行對象間相似度度量。或者使用傳統(tǒng)的HeteSim方法基于任意元路徑計算異質(zhì)信息網(wǎng)絡中兩個對象間的相似度。本實施例中,由于HeteSim方法對元路徑是否對稱沒有特殊要求,因此,可采用HeteSim方法計算異質(zhì)信息網(wǎng)絡中對兩個用戶或者兩個物品在給定元路徑上的相似度。

進一步的,在一個實施例中,所述兩個用戶在給定元路徑上的相似度為兩個用戶在給定的元路徑上的相似度進行正則化后的相似度;所述兩個物品在給定元路徑上的相似度為兩個物品在給定的元路徑上的相似度進行正則化后的相似度。

本實施例中,定義表示兩個對象ui和uj間基于給定元路徑Pl的相似度。相似度(S)是由給定的元路徑(P)和計算時所使用的相似度度量方法(M)所決定的,即S=P×M?;诓煌窂接嬎阃粚ο箝g的相似度時一般是不同的,并且這些相似度數(shù)據(jù)間是不具可比性的。為了能夠?qū)ν粚ο箝g基于不同元路徑的相似度數(shù)據(jù)進行線性運算,可使用Sigmoid函數(shù)進行正則化。即采用如下公式進行計算:

其中,為進行正則化后的相似度,表示對于所有i,j組合下的平均值。也就是說,對于用戶來說,是異質(zhì)信息網(wǎng)絡中所有兩兩用戶基于給定元路徑的相似度的平均值,對于物品來說,是異質(zhì)信息網(wǎng)絡中所有兩兩物品基于給定元路徑的相似度的平均值。為描述簡便,本申請中,直接用表示進行正則化后的相似度。

對對象在給定元路徑上的相似度進行正則化具有以下有益效果:1)能將相似度約束到[0,1]區(qū)間并且沒有改變相似度之間的大小關系;2)避免多條元路徑相似度進行線性運算時各條路徑相似度數(shù)值分布上的差異。

具體的,可采用如下公式分別構造用戶的相似度矩陣和物品的相似度矩陣:

其中,和分別表示用戶間以及物品間基于不同元路徑的相似度的權重。

本實施例中,為選取的每個元路徑,根據(jù)其重要程度為其設置相應的權重,可簡單的將每條元路徑的權重設為平均權重。根據(jù)經(jīng)驗可以表明,設計有監(jiān)督的權重學習方法來自動設置每條元路徑的權重,相對于設置每條元路徑的權重 設為平均權重,其優(yōu)越性并未突出,因此,本實施例可簡單將每條元路徑的權重設為相同。

根據(jù)上述用戶相似度矩陣和物品相似度矩陣的計算公式,可以理解,用戶相似度矩陣中的元素為兩個用戶在給定元路徑上的相似度的加權和,物品相似度矩陣中的元素為兩個物品在給定元路徑上的相似度的加權和。

進一步的,在一個實施例中,根據(jù)計算得到的用戶相似度矩陣和物品相似度矩陣來構建目標函數(shù),使用目標函數(shù)對推薦數(shù)據(jù)集進行訓練,實現(xiàn)低秩矩陣分解。在推薦領域,低秩矩陣分解的基本思想是將用戶-物品評分矩陣分解為兩個分別表示用戶的隱性語義分布的低秩矩陣U和表示物品的隱性語義分布的低秩矩陣V。然后直接將分解出的這兩個低秩矩陣進行矩陣乘法運算就可以得到用戶對物品的預測評分,該評分反應了用戶對物品的感興趣程度。

本實施例中,提出了一種基于基礎矩陣分解模型的模型,稱之為SimMF模型。該SimMF模型在基礎矩陣分解模型的基礎上增加了新添的規(guī)則化項,包括基于用戶相似度矩陣所構建的規(guī)則化項和基于物品相似度矩陣所構建的規(guī)則化項。

具體的,目標函數(shù)采用如下公式得到:

目標函數(shù)=基礎矩陣分解模型+用戶相似度規(guī)則化項*α/2+物品相似度規(guī)則化項*β/2;其中,α和β分別為用于控制用戶相似度規(guī)則化項和物品相似度規(guī)則化項在目標函數(shù)中所占比例的參數(shù),且α≥0,β≥0。

其中,基礎矩陣分解模型包括真實評分和預測評分的平方誤差項和對象的隱性特征向量的規(guī)則化項,對象的隱性特征向量的規(guī)則化項包括用戶的隱性特征向量的規(guī)則化項和物品的隱性特征向量的規(guī)則化項。

具體的,假設m×n評分矩陣R表示m個用戶對n個物品的評分,則基礎矩 陣分解的主要思想是最小化以下目標函數(shù):

其中,表示真實評分和預測評分的平方誤差項,表示用戶的隱性特征向量的規(guī)則化項,表示物品的隱性特征向量的規(guī)則化項,這兩個規(guī)則化項的目的是避免模型訓練時出現(xiàn)過擬合問題。其中,Iij是指示函數(shù):如果用戶i對物品j評過分,則Iij=1,否則Iij=0。U∈Rm×d,V∈Rn×d,d每個用戶或物品的隱性特征向量的維數(shù)且d<<min(m,n)。||||2表示弗羅賓尼斯范數(shù)。Ui是矩陣U的第i行元素所形成的行向量,同理,Vj是矩陣V的第j行元素所形成的行向量。λ1和λ2是規(guī)則化系數(shù)。

進一步的,根據(jù)用戶相似度矩陣構建用戶相似度規(guī)則化項,根據(jù)物品相似度矩陣構建物品相似度規(guī)則化項,根據(jù)用戶相似度規(guī)則化項和物品相似度規(guī)則化項構建的目標函數(shù)如下:

其中,是用戶相似度規(guī)則化項,是物品相似度規(guī)則化項。α和β分別為用于控制用戶相似度規(guī)則化項和物品相似度規(guī)則化項在目標函數(shù)中所占比例的參數(shù),且α≥0,β≥0。因此,可以理解,該目標函數(shù)即矩陣分解模型中,可能只包含用戶相似度規(guī)則化項,或者只包含物品相似度規(guī)則化項,或者同時包含用戶及物品相似度規(guī)則化項。

在一個實施例中,提出了兩種相似度規(guī)則化項:面向平均(Average-based)的規(guī)則化項和面向個體(Individual-based)的規(guī)則化項。用戶相似度規(guī)則化項可以為面向平均或者面向個體的規(guī)則化項,物品相似度規(guī)則化項可以為面向平均或者面向個體的規(guī)則化項。因此,可以理解,SimMF模型可以有四種形式。

定義來表示用戶或物品的Average-based規(guī)則化項或Individual-based規(guī)則化項,其中,x∈{U,I}代表用戶或者物品,y∈{ave,ind}代表Average-based或Individual-based規(guī)則化方式,則用戶相似度規(guī)則化項表示為:

其中,Ui是行向量,即矩陣U的第i行,表示用戶i的隱性特征向量,Uf表示矩陣U的第f行;Vj是行向量,即矩陣V的第j行,表示物品j的隱性特征向量。表示用戶i的top k相似用戶的集合,也就是與用戶i最相似的前k個用戶的集合,是用戶相似度矩陣SU的i行f列的元素。

同理,物品相似度規(guī)則化項表示為:

其中,Vj是行向量,即矩陣V的第i行,表示物品j的隱性特征向量,Vf表示矩陣V的第f行。表示物品j的top k相似物品的集合,也就是與物品j最相似的前k個物品的集合,是物品相似度矩陣SI的j行f列的元素。

下面將詳細描述構建的目標函數(shù)只添加一類相似度規(guī)則化項的情形。

在基礎矩陣分解模型中只添加用戶相似度規(guī)則化項,且采用Average-based規(guī)則化方式,則構建的目標函數(shù)為:

其中,表示用戶i的top k相似用戶的集合,也就是與用戶i最相似的 前k個用戶的集合,是用戶相似度矩陣SU的i行f列的元素。

該構建的目標函數(shù)的原理是:直觀來說,用戶與和其相似的人們有著類似的行為模式,從數(shù)學角度分析就是,相似用戶的隱性特征向量也相近。Average-based規(guī)則化實際上是限制矩陣分解結(jié)果中某一用戶的隱性特征向量趨近該用戶的top k相似用戶的隱性特征向量的平均水平。Average-based規(guī)則化不僅將用戶線上朋友拓展為用戶的top k相似用戶,而且同時將相似度數(shù)據(jù)當作權重在模型中使用。通過top k的參數(shù)k的設置能夠平衡推薦效果和計算復雜度。比如,適當將參數(shù)k設置為較大數(shù)值就意味著更好的推薦效果但卻更低的訓練效率。

構建得到目標函數(shù),可通過梯度下降求解該目標函數(shù)。上述目標函數(shù)的局部最小值可通過在每個向量Ui和Vj上進行梯度下降獲取。對上述目標函數(shù)進行梯度下降學習過程中所用到的目標函數(shù)對Ui以及對Vj的偏導結(jié)果如下:

其中,表示top k相似用戶中包含用戶i的用戶集合。

在基礎矩陣分解模型中只添加用戶相似度規(guī)則化項,且采用Individual-based規(guī)則化方式,則構建的目標函數(shù)為:

如果數(shù)值較大,則Individual-based規(guī)則化方式就約束矩陣分解的結(jié)果使向量Ui和向量Uj之間擁有較小的距離,即限制用戶的品味接近與該用戶有著高相似度用戶的品味。

同樣的,通過梯度下降求解該目標函數(shù)。對上述目標函數(shù)進行梯度下降學習過程中所用到的目標函數(shù)對Ui以及對Vj的偏導結(jié)果如下:

同理,在基礎矩陣分解模型的基礎上只添加物品相似度規(guī)則化項,則采用Average-based規(guī)則化方式和Individual-based規(guī)則化方式構建的目標函數(shù)分別為:

同理,也可以通過梯度下降方法來求解該目標函數(shù),在此則不再贅述。

對于同時在基礎矩陣分解模型的基礎上既添加用戶相似度規(guī)則化項,又添加物品相似度規(guī)則化項。通過α和β來分別用來控制用戶和物品規(guī)則化項目的所占比例。同樣的,對于構建的目標函數(shù)使用梯度下降方法來進行求解。

進一步的,在一個實施例中,通過構建的目標函數(shù)對推薦數(shù)據(jù)集進行訓練,得到用戶對物品的預測評分的步驟,包括:求解目標函數(shù),得到使目標函數(shù)最小化的用戶的隱性特征向量和物品的隱性特征向量,根據(jù)所述用戶的隱性特征向量和物品的隱性特征向量得到用戶對物品的預測評分。

具體的,可采用如下公式計算用戶對物品的預測評分:

其中,為預測的用戶i對物品j的預測評分,Ui為矩陣U的第i行,表示用戶i的隱性特征向量,Vj為矩陣V的第j行,表示物品j的隱性特征向量。

計算得到用戶對物品的預測評分,便可以根據(jù)用戶對物品的預測評分進行物品的推薦。具體的,在一個實施例中,根據(jù)用戶對物品的預測評分將物品推薦給用戶的步驟,包括:根據(jù)用戶對物品的預測評分,選取與用戶不存在關聯(lián)記錄的預測評分最高的預設數(shù)量個物品推薦給用戶。本實施例中,用戶對物品的預測評分反應了用戶對物品的感興趣程度,預測評分越高,表明用戶對物品的感興趣程度越高。物品與用戶存在關聯(lián)關系,表明用戶已獲知該物品。例如,用戶對某個電影存在觀看記錄,用戶對某本書籍存在購買記錄等。在選擇物品推薦給用戶時,可對這些已存在關聯(lián)關系的物品進行過濾,將不存在關聯(lián)關系切預測評分最高的一些物品推薦給用戶。

上述推薦方法,通過將推薦數(shù)據(jù)集建模為異質(zhì)信息網(wǎng)絡,根據(jù)異質(zhì)信息網(wǎng)絡來獲取對象之間的相似度,在基礎矩陣模型的基礎上添加用戶相似度規(guī)則化項和/或物品相似度規(guī)則化項,構建新的矩陣模型(即SimMF模型),SimMF模型可以根據(jù)推薦數(shù)據(jù)集來確定用戶相似度規(guī)則化項和物品相似度規(guī)則化項所占的比例,進行矩陣分解后得到用戶的隱性特征向量和物品隱性特征向量,進而可以計算得到用戶對物品的預測評分。除了利用用戶的社交關系,還整合了用戶對物品的反饋信息、用戶屬性信息和物品屬性信息,并可以結(jié)合數(shù)據(jù)集本身特點來確定用戶相似度規(guī)則化項和物品相似度規(guī)則化項所占的比例,因此能夠得到更加準確的推薦效果。

可以理解,α和β是控制SimMF模型多大比例整合社交關系以及用戶和物品屬性等信息。用戶相似度矩陣和物品相似度矩陣則決定了哪些或者哪種相似性信息將被使用。如果α和β同時設置為0,則SimMF模型退化為基礎矩陣模型;當α設置為0時,則SimMF模型僅僅融合了物品信息;當β設置為0時,則SimMF模型僅僅融合了用戶社交關系及屬性信息。因此SimMF模型具有較 高的靈活性。另外,SimMF模型考慮到了兩種規(guī)則化方式來融合相似度信息,因而可以得到多樣的推薦效果。

如圖3所示,在一個實施例中,還提供了一種推薦系統(tǒng),該系統(tǒng)包括:

建模模塊310,用于將推薦數(shù)據(jù)集中的對象和對象之間的關系建模為異質(zhì)信息網(wǎng)絡。

元路徑獲取模塊320,用于獲取異質(zhì)信息網(wǎng)絡中連接兩個對象的元路徑。

相似度計算模塊330,用于根據(jù)連接兩個對象的元路徑計算對象之間的相似度數(shù)據(jù)。

訓練模塊340,用于根據(jù)對象之間的相似度數(shù)據(jù)構建目標函數(shù),通過所述目標函數(shù)對所述推薦數(shù)據(jù)集進行訓練,得到用戶對物品的預測評分。

推薦模塊350,用于根據(jù)用戶對物品的預測評分將物品推薦給用戶。

在一個實施例中,異質(zhì)信息網(wǎng)絡中的異質(zhì)信息包括用戶對物品的反饋信息、用戶與用戶之間的社交關系、用戶屬性信息和物品屬性信息。

在一個實施例中,相似度計算模塊330用于根據(jù)兩個用戶在給定元路徑上的相似度的加權和構造用戶相似度矩陣;和/或,用于根據(jù)兩個物品在給定元路徑上的相似度的加權和構造物品相似度矩陣。

在一個實施例中,所述兩個用戶在給定元路徑上的相似度為兩個用戶在給定的元路徑上的相似度進行正則化后的相似度;所述兩個物品在給定元路徑上的相似度為兩個物品在給定的元路徑上的相似度進行正則化后的相似度。

在一個實施例中,所述目標函數(shù)采用如下公式得到:

目標函數(shù)=基礎矩陣分解模型+用戶相似度規(guī)則化項*α/2+物品相似度規(guī)則化項*β/2;

其中,α和β分別為用于控制用戶相似度規(guī)則化項和物品相似度規(guī)則化項在目標函數(shù)中所占比例的參數(shù),且α≥0,β≥0。

在一個實施例中,所述用戶相似度規(guī)則化項是面向平均或者面向個體的規(guī)則化項,所述物品相似度規(guī)則化項是面向平均或者面向個體的規(guī)則化項。

在一個實施例中,訓練模塊340用于求解所述目標函數(shù),得到使所述目標函數(shù)最小化的用戶的隱性特征向量和物品的隱性特征向量;根據(jù)所述用戶的隱性特征向量和物品的隱性特征向量得到用戶對物品的預測評分。

在一個實施例中,訓練模塊340用于根據(jù)如下公式計算用戶對物品的預測評分:

其中,為預測的用戶i對物品j的預測評分,Ui為矩陣U的第i行,表示用戶i的隱性特征向量,Vj為矩陣V的第j行,表示物品j的隱性特征向量。

在一個實施例中,推薦模塊350用于根據(jù)用戶對物品的預測評分,選取與用戶不存在關聯(lián)記錄的預測評分最高的預設數(shù)量個物品推薦給用戶。

為了證明本發(fā)明實施例所提出的推薦方法和系統(tǒng)的有益效果,以下將結(jié)合具體的實驗來說明本發(fā)明實施例所提出的推薦方法和系統(tǒng)的優(yōu)越性。

為了能夠從數(shù)據(jù)上證明其優(yōu)越性,在具體實施例中,通過兩個評估指標來進行實驗。這兩個評估指標為平均絕對誤差(MAE)和均方根誤差(RMSE)。其中,MAE和RMSE分別通過以下公式計算得到:

其中,Rij是用戶i對物品j的實際評分(即實際的預測評分),表示由推薦方法預測到的用戶i對物品j的評分,T是測試集大小??梢钥闯?,MAE或者RMSE越小意味著推薦方法的推薦效果越好。

互聯(lián)網(wǎng)上有很多的公開數(shù)據(jù)集,但是很多的數(shù)據(jù)都主要集中在評分信息與社交關系。為了獲得更加全面的異質(zhì)信息,包含評分信息、社交關系以及用戶和物品的屬性信息。實驗采用的數(shù)據(jù)集為從豆瓣網(wǎng)抓取的一個新數(shù)據(jù)集,共包括13616位用戶、34453部電影以及1301072個電影評分(評分等級從1到5)。同時,數(shù)據(jù)集還包括用戶間的社交關系數(shù)據(jù)以及用戶的屬性信息(如所屬群組、位置等)和電影的屬性信息(如演員、導演和類型等)。為了更好的說明SimMF模型的一般性,實驗中還采用了另一個廣泛使用的Yelp挑戰(zhàn)賽的數(shù)據(jù)集,該數(shù)據(jù)集包含用戶對本地商戶的評分和商戶的屬性信息。這兩個數(shù)據(jù)集的統(tǒng)計信息見下表1:

表1

從表1可以看出,這兩個數(shù)據(jù)集具有不同的特點,豆瓣數(shù)據(jù)集擁有比較密集的評分信息但是社交網(wǎng)絡比較稀疏,Yelp數(shù)據(jù)集的評分信息稀疏但有著比較密集的社交網(wǎng)絡。

在進行對比時,使用了4種具有代表性的用來與SimMF模型對照的推薦方 法,分別是:1)UseMean:直接使用某一用戶的評分平均值作為此用戶對任何未評分物品的預測評分;2)ItemMean:直接使用某一物品所得評分的平均值作為任一未評分用戶對此物品的預測評分;3)PMF:一種經(jīng)典的矩陣分解方法;4)SoMF:一種僅使用了用戶線上社交關系信息的社會化推薦方法。

由于SimMF模型中可以組合不同的用戶相似度規(guī)則化項和物品相似度規(guī)則化項,有多種變型。具體實驗中,使用SimMF-U(y)I(y)來表示SimMF中的不同規(guī)則化項組合。其中,y∈{a,i}表示Average-based規(guī)則化方式和Individual-based規(guī)則化方式。類似的,SimMF-U(y)表示帶有用戶相似度規(guī)則化項的SimMF模型,SimMF-I(y)表示帶有物品相似度規(guī)則化項的SimMF模型。針對SimMF模型的實驗中,使用HeteSim方法來計算對象間的相似度。

在選取元路徑時,對于豆瓣數(shù)據(jù)集,對用戶選取了7條有意義且長度小于等于4的元路徑(即UU,UGU,ULU,UMU,UMDMU,UMTMU,UMAMU),對于電影選取了5條有意義且長度小于等于3的元路徑(即MTM,MDM,MAM,MUM,MUUM)。類似的,Yelp數(shù)據(jù)集中對于用戶選取了4條有意義的元路徑(即UU,UBU,UBCBU,UBLBU),對于商戶選取了4條有意義的元路徑(即BUB,BCB,BLB,BUUB)。

在有效性驗證實驗中,可將SimMF模型的不同形式與以上用來對照的四種方法進行實驗對比,從而驗證SimMF模型應用到推薦領域的有效性和優(yōu)越性。具體的,分別選擇SimMF-U(a)I(i)、SimMF-U(a)I(a)在豆瓣數(shù)據(jù)集、Yelp數(shù)據(jù)集上進行有效性驗證實驗。同時,分別選取了特殊變形的SimMF-U(a)和SimMF-I(i)、SimMF-U(a)和SimMF-I(a)在豆瓣數(shù)據(jù)集、Yelp數(shù)據(jù)集上進行實驗。參數(shù)α和β分別設置為100和10,參數(shù)λ1和λ2均設置為0.001,隱性特征向量Ui和Vj的長度均設置為10。

對于實驗中涉及到的兩個數(shù)據(jù)集,使用不同的數(shù)據(jù)比例(80%,60%,40%,20%)作為訓練集。例如,80%訓練數(shù)據(jù)表示隨機選取數(shù)據(jù)集的80%用戶-物品評分數(shù)據(jù)作為訓練集來預測剩余的20%評分數(shù)據(jù),再根據(jù)預測得到的評分數(shù)據(jù)與實際評分數(shù)據(jù)進行評估指標的計算。在所有的實驗中,這樣的隨機選取過程將會獨立進行10次,即同一比例訓練數(shù)據(jù)的條件下實驗將獨立進行10次,然后將10次實驗的平均評估指標記錄在表2和表3中。在結(jié)果表格中,還另外提供了其它推薦方法的評估指標相對于PMF模型的提升比例。其中,表2為在豆瓣數(shù)據(jù)集中的推薦方法性能對比(指標提升的基準方法為PMF),表3為在Yelp數(shù)據(jù)集中的推薦方法性能對比(指標提升的基準方法也為PMF)。

表2

表3

從表2和表3的實驗結(jié)果可以看出,SimMF模型的3種不同形式在絕大部分訓練數(shù)據(jù)比例下均顯著優(yōu)于另外4中對照方法。此外,SimMF同時帶有用戶和物品規(guī)則化項的形式(豆瓣數(shù)據(jù)集上的SimMF-U(a)I(i)和Yelp數(shù)據(jù)集上的SimMF-U(a)I(a))總是推薦效果是最好的。這種實驗結(jié)果說明了整合更多的用戶和物品的屬性信息確實有助于推薦效果的提升。對于SimMF-U(a)與SoMF的實驗結(jié)果,我們可以得出這樣的結(jié)論:額外整合的用戶屬性信息能夠提升傳統(tǒng)社會化推薦的性能。當考慮不同的訓練數(shù)據(jù)比例時,我們可以發(fā)現(xiàn)隨著訓練數(shù)據(jù)比例的下降,SimMF相比于其它方法所呈現(xiàn)出的優(yōu)勢愈發(fā)明顯。特別相對于其它方法,SimMF-I(i)的推薦效果受訓練數(shù)據(jù)稀疏的影響較小,表明SimMF能夠有效緩解冷啟動問題。通過設置不同的元路徑可以充分利用用戶和物品豐富的屬性信息,因而從不同側(cè)面反應出用戶和物品的相似性。用戶和物品多種相似度的融合能夠全面表達用戶和物品的實際相似性,可以補償訓練數(shù)據(jù)不足的問題。

通過實驗還可以檢驗對用戶和物品應用不同的規(guī)則化方式對推薦效果的不同影響。在實驗中,考慮同時添加用戶和物品的規(guī)則化項的四種SimMF變型形式(即SimMF-I附帶U(a)I(i),U(a)I(a),U(i)I(i),U(i)I(a)),以及只添加用戶或物品的規(guī)則化項的四種SimMF變型形式(即SimMF附帶U (a),U(i),I(a),I(I)),實驗結(jié)果如圖4所示。從圖4的實驗結(jié)果可以發(fā)現(xiàn),同時融合用戶和物品相似度信息的SimMF推薦效果總是由于只融合用戶或物品相似度信息的SimMF。且觀察到當訓練數(shù)據(jù)比例較低時,如20%訓練數(shù)據(jù)比例時,SimMF-U(i)和SimMF-U(a)的推薦效果尤為糟糕。另外,SimMF附帶不同的用戶和物品規(guī)則化項對推薦效果的影響是不同的。兩個數(shù)據(jù)集上的實驗,SimMF-U(a)表現(xiàn)均優(yōu)于SimMF-U(i),這表明Average-based規(guī)則化方式更適合用戶。不多對于物品就不是這種狀況了,豆瓣數(shù)據(jù)集上SimMF-I(i)優(yōu)于SimMF-I(a),而Yelp數(shù)據(jù)集上SimMF-I(a)優(yōu)于SimMF-I(i)。因此,豆瓣數(shù)據(jù)集上SimMF-U(a)I(i)表現(xiàn)最優(yōu),Yelp數(shù)據(jù)集上SimMF-U(a)I(a)表現(xiàn)最優(yōu)。從而表明了,不同的規(guī)則化方式對SimMF的推薦效果影響較大。因此,在實際應用中,可以根據(jù)數(shù)據(jù)的真實特性選擇最優(yōu)的規(guī)則化方式。

通過實驗還可以驗證選擇不同元路徑對推薦效果的影響。以豆瓣數(shù)據(jù)集為例,通過實驗分析不同元路徑對推薦效果的不同影響。如上文實驗中提到的,對于用戶選取了7條元路徑,對于電影選取了5條元路徑。實驗中,SimMF融合單一元路徑生成的相似度矩陣,我們將會觀察這種條件下SimMF的推薦效果。保持相同的參數(shù)設置,對于用戶的7條元路徑使用SimMF-U(a),對于電影的5條元路徑使用SimMF-I(i)進行實驗。實驗結(jié)果如圖5所示。從圖5可以觀察到用戶及電影相關的元路徑對推薦效果的不同影響。圖5(a)中,不同的用戶元路徑上的SimMF-U(a)有著比較接近的推薦表現(xiàn)。其中,使用元路徑UMU的SimMF-U(a)有著相對較好的推薦表現(xiàn),但使用元路徑UU的SimMF-U(a)的推薦效果最差。圖5(b)中,不同的電影元路徑上的SimMF-I(i)推薦效果差異較大,其中,使用元路徑MDM的SimMF-I(i)的推薦效果最差,甚至在某些情況下劣于PMF。然而,使用元路徑MTM或者MUM的SimMF-I(i)卻有 著較好的推薦效果。我們分析為以下兩個原因:1)觀察表1,可以發(fā)現(xiàn)SimMF的推薦效果受關系密度影響較大。MT和MU的關系密度遠遠高于MD和MA。更為密集的關系數(shù)據(jù)有助于生成電影間的相似度。2)更富語義信息的元路徑有助于揭示對象間的相似性。MTM表示具有相同類型的電影,MUM表示被同一用戶觀看過的電影。這兩條元路徑能夠高度揭示電影的相似性。這兩點可以解釋為何相比其它用戶元路徑,富含語義信息但關系數(shù)據(jù)卻及其稀疏的元路徑UU上的SimMF-U(a)推薦效果最差。因此我們只需要選取一條關系數(shù)據(jù)密集且富含語義信息的元路徑來生成相似度矩陣就可以達到相當好的推薦效果。

如圖6所示,在一個實施例中,提供了一種服務器,該服務器包括通過系統(tǒng)總線連接的處理器、存儲介質(zhì)、內(nèi)存和網(wǎng)絡接口。其中,該服務器存儲介質(zhì)存儲有一種推薦系統(tǒng),該推薦系統(tǒng)用于實現(xiàn)一種推薦方法。該服務器的處理器用于提供計算和控制能力,支撐整個接入服務器的運行。該服務器的內(nèi)存為存儲介質(zhì)中的推薦系統(tǒng)的運行提供環(huán)境。該服務器的網(wǎng)絡接口用于與外部的終端或服務器通過網(wǎng)絡連接通信,比如接收終端發(fā)送的應用數(shù)據(jù),向終端返回推薦結(jié)果等。

本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。

以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。

以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1