專利名稱:一種數(shù)字信息推薦預(yù)測模型的訓(xùn)練方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字信息處理領(lǐng)域,具體地,涉及數(shù)字信息推薦領(lǐng)域。
背景技術(shù):
隨著互聯(lián)網(wǎng)的快速發(fā)展,用戶在各個門戶網(wǎng)站、電子商務(wù)網(wǎng)站、視頻或者音樂視聽網(wǎng)站都面臨信息過載的問題,因此挖掘用戶的可能喜好,提供個性化的服務(wù)對提高用戶的滿意度和忠誠度具有非常重大的意義。推薦系統(tǒng)正是在這個背景產(chǎn)生的,并且近二十年來得到了非常迅猛的發(fā)展。IT巨頭如亞馬遜,谷歌,雅虎等,國內(nèi)如當(dāng)當(dāng)網(wǎng),淘寶網(wǎng)等都在其不同的應(yīng)用中提供了個性化的推薦系統(tǒng),極大的方便了用戶并且也給商家?guī)砹司薮蟮睦?br>
益 ο推薦系統(tǒng)大致可以分為兩類基于內(nèi)容的推薦系統(tǒng)及基于協(xié)同過濾的推薦系統(tǒng)。 基于內(nèi)容的推薦系統(tǒng)主要是利用項目(item)的內(nèi)容信息,例如項目名字等文字信息來找出相似的項目集合,然后根據(jù)用戶喜歡的項目推薦該項目的相似項目?;趨f(xié)同過濾的推薦系統(tǒng)主要是利用用戶對項目的反饋,例如用戶對項目的打分記錄,購買記錄,瀏覽記錄等挖掘用戶的可能喜好,推薦其可能喜歡的項目集合。因為基于內(nèi)容的推薦系統(tǒng)只與當(dāng)前用戶選擇的項目有關(guān),該方法沒有考慮到對用戶的歷史行為進(jìn)行建模,因此該方法無法滿足用戶的個性化需求。對于基于協(xié)同過濾的推薦系統(tǒng),這類系統(tǒng)不需要考慮項目的屬性以及領(lǐng)域知識即可獲得很好的推薦效果,因此大多數(shù)推薦系統(tǒng)都是基于協(xié)同過濾技術(shù)的。然而由于在實際中用戶的打分?jǐn)?shù)往往比較少,所以協(xié)同過濾技術(shù)在應(yīng)用時面臨很多問題,例如冷啟動問題,數(shù)據(jù)稀疏問題等。其中數(shù)據(jù)稀疏性對產(chǎn)生精確推薦往往造成很大的影響,因此合理的解決打分?jǐn)?shù)據(jù)的稀疏性問題往往能夠?qū)Ξa(chǎn)生精確推薦帶來意想不到的影響。下面以音樂系統(tǒng)為例來詳細(xì)說明以上兩種推薦系統(tǒng)。對于音樂推薦,可以根據(jù)音樂的音頻建立相似度矩陣,然后根據(jù)用戶聽的音樂進(jìn)行推薦。也可以根據(jù)音樂的相關(guān)文本標(biāo)簽(tag),屬性,上下文信息(context information) 等進(jìn)行推薦,這些都可以看作是和基于內(nèi)容推薦相關(guān)的方法,其難以滿足用戶的個性需求。當(dāng)前各個提供在線音樂的網(wǎng)站例如谷歌,雅虎,百度,搜狐等,他們的音樂推薦一般都是根據(jù)于用戶的聽歌記錄以及用戶對相關(guān)音樂的反饋(打分,喜歡/不喜歡)進(jìn)行建模,然后將用戶可能喜歡的音樂推薦給用戶。這屬于基于協(xié)同過濾的推薦系統(tǒng),其推薦過程主要包括下列步驟第一步獲得用戶對各個音樂的打分情況,然后對打分?jǐn)?shù)據(jù)進(jìn)行預(yù)處理; 第二步是使用相關(guān)協(xié)同過濾的相關(guān)算法對打分?jǐn)?shù)據(jù)進(jìn)行建模,預(yù)測,這個過程是離線完成的;第三步是對于每個活躍用戶,將預(yù)測完的該用戶對各個音樂的可能打分值取最高的前 K個(Top-K)項目進(jìn)行在線推薦。圖1示出了上述推薦過程的流程圖。如上所述,用戶打分?jǐn)?shù)據(jù)稀疏性使得難以對用戶進(jìn)行準(zhǔn)確推薦
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種推薦效果更理想的數(shù)字信息推薦預(yù)測模型的訓(xùn)練方法及系統(tǒng)。
根據(jù)本發(fā)明的一個方面,提供了一種數(shù)字信息推薦預(yù)測模型的訓(xùn)練方法,包括
1)接收打分?jǐn)?shù)據(jù);
2)確定數(shù)字信息的不同類別,每個類別中包括多個項目,其中所述類別之間存在關(guān)聯(lián)關(guān)系;
3)基于所述關(guān)聯(lián)關(guān)系建立所述模型并訓(xùn)練獲得所述模型,其中所述模型中包括一個或多個和集合相關(guān)的參數(shù),其中所述集合為與一個類別的項目相關(guān)的另一個類別的項目的集合或者多個與一個類別的項目相關(guān)的另一個類別的項目的集合的并集。
上述方法中所述建立模型是基于隱參數(shù)模型建立。
上述方法中所述步驟幻中建立的所述模型為Λ
rm =Z^WqTipjkkk ^ aj)JG album (u)
其中所述μ是所有已知打分值的平均打分值,bu是用戶u所打的打分值相對于平均打分的偏差,bi是關(guān)于項目i的打分值相對于平均打分的偏差,Pu是和用戶U相關(guān)的特征向量,Qi是和項目i相關(guān)的特征向量,album (u)是與一個類別的項目相關(guān)的另一個類別的項目的集合或者多個與一個類別的項目相關(guān)的另一個類別的項目的集合的并集,aj表示和集合album(u)相關(guān)的參數(shù),kkk為album(u)的系數(shù)。
上述方法中,所述kkk 為(| album(u) |+1)_"2。
上述方法中,所述模型還包括與用戶打過分的項目集合相關(guān)的參數(shù)。
上述方法中,所述模型還包括與用戶已經(jīng)實踐的項目集合相關(guān)的參數(shù)。
上述方法中,所述模型還包括打分時間段對用戶偏差的影響參數(shù)。
上述方法中,所述模型還包括打分時間段對用戶的影響參數(shù)。
上述方法中,所述模型還包括(i^-by的補償參數(shù),
其中表示已知的用戶u對項目j打分的打分值,bUJ表示用戶u對項目j打分的打分值相對于平均打分值的偏差。
上述方法中,所述( -^)的補償參數(shù)的系數(shù)為(| (Rk(i ;u) +I)"172,
其中Rk(i ;u) =R(U) Π Sk(i),其中R(u)是用戶打分值已知的項目集合,Sk(i)表示與項目i最相似的k個項目的集合。
上述方法中,所述模型還包括隱式反饋。
上述方法中,所述隱式反饋的系數(shù)為(|Nk(i ;u) +I)"172,
其中Nk(i ;u) =N(U) Π Sk(i),其中N(u)是用戶打過分的項目集合,Sk(i)表示與項目i最相似的k個項目的集合。
上述方法中,所述Sk(i)是基于打分的項目相似集合、基于所述類別之間存在的關(guān)聯(lián)關(guān)系的項目相似集合和基于內(nèi)容的項目相似集合中的任意一個或任意二或三個的融合結(jié)果。
上述方法中,所述步驟幻的所述訓(xùn)練是基于最小化損失函數(shù)來訓(xùn)練。
上述方法中,所述最小化損失函數(shù)的求解是采用梯度下降法。
根據(jù)本發(fā)明另一方面,還提供了一種數(shù)字信息推薦預(yù)測模型的訓(xùn)練系統(tǒng),包括
接收模塊,用于接收打分?jǐn)?shù)據(jù);類別確定模塊,用于確定數(shù)字信息的不同類別,每個類別中包括多個項目,其中所述類別之間存在關(guān)聯(lián)關(guān)系;建模模塊,用于基于所述關(guān)聯(lián)關(guān)系建立所述模型并訓(xùn)練獲得所述模型,其中所述模型中包括一個或多個和集合相關(guān)的參數(shù),其中所述集合為與一個類別的項目相關(guān)的另一個類別的項目的集合或者多個與一個類別的項目相關(guān)的另一個類別的項目的集合的并集。該發(fā)明所訓(xùn)練的預(yù)測模型可以有效的在實際推薦中緩解用戶打分?jǐn)?shù)不足造成的可利用打分?jǐn)?shù)據(jù)嚴(yán)重稀疏的問題,具有很好的推薦效果。
圖1是基于協(xié)同過濾的推薦方法的流程圖;圖2是根據(jù)本發(fā)明優(yōu)選實施例的音樂類別之間的關(guān)聯(lián)關(guān)系示意圖;圖3是根據(jù)本發(fā)明優(yōu)選實施例的打分?jǐn)?shù)據(jù)集劃分示意圖;圖4是根據(jù)本發(fā)明優(yōu)選實施例的音樂類別的層次結(jié)構(gòu)圖;圖5是根據(jù)Yahoo ! Music打分?jǐn)?shù)據(jù)集的時間段劃分示意圖;圖6是根據(jù)本發(fā)明優(yōu)選實施例的項目相似集合劃分示意圖;圖7是根據(jù)本發(fā)明優(yōu)選實施例的數(shù)字信息推薦系統(tǒng)框圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖,對根據(jù)本發(fā)明一個實施例的數(shù)字信息推薦預(yù)測模型的訓(xùn)練方法和系統(tǒng)進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明基于數(shù)字信息的層次結(jié)構(gòu)以及各層次之間的關(guān)聯(lián)關(guān)系來建模以提高推薦效果。下面以音樂推薦預(yù)測模型為例來詳細(xì)說明本發(fā)明的方法和系統(tǒng)。音樂類別通常可以分為歌曲,專輯,演唱家,流派,并且這些類別之間存在一種層次結(jié)構(gòu),不同類別在層次結(jié)構(gòu)中可能存在關(guān)聯(lián)關(guān)系。每個類別中包括多個項目,例如演唱家類別中包括李谷一、孫燕姿、孫楠等,流派類別包括抒情、歡快等。圖2是音樂類別之間的關(guān)聯(lián)關(guān)系示意圖。例如,歌曲1屬于專輯1,其由某演唱家發(fā)行,并且它屬于一個流派集合。對于推薦問題,可以讓用戶分別對各個類別進(jìn)行打分,利用各類別之間的關(guān)聯(lián)關(guān)系進(jìn)行建模,進(jìn)而緩解打分?jǐn)?shù)據(jù)稀疏的問題,從而提高推薦效果。具體地,首先挖掘音樂類別間的關(guān)聯(lián)關(guān)系,主要包括歌曲,專輯,演唱家,流派之間的聯(lián)系。然后根據(jù)音樂類別間的層次關(guān)系建立預(yù)測模型,基于該預(yù)測模型對用戶進(jìn)行音樂推薦。該模型可以有效緩解音樂打分?jǐn)?shù)據(jù)的稀疏性,具有很好的推薦精度。在詳細(xì)介紹本發(fā)明的訓(xùn)練方法前,首先介紹下本發(fā)明所涉及到的符號定義>用U,ν指代用戶,用i,j指代項目,其中項目包括歌曲、專輯、流派和演唱家;>用m表示用戶總數(shù),η表示項目的總數(shù);> rui是已知的u對i打分的打分值;>。是對rui的預(yù)測值;>定義R是打分值已經(jīng)知道的(u,i)集合R= Ku,i) Irui是已經(jīng)知道的};
>定義N是所有的打過分的(u,i)集合,即使打分值尚未知道
>定義T是測試集的打分集合;
>定義R(U)是打分值已知的u打分的項目,N(U)是u打過分的所有項目集合 R(U) [ N(u)ο
下面根據(jù)本發(fā)明一個優(yōu)選實施例,詳細(xì)介紹本發(fā)明的訓(xùn)練方法所涉及的步驟,主要包括打分?jǐn)?shù)據(jù)的預(yù)處理和根據(jù)預(yù)處理后的打分?jǐn)?shù)據(jù)建立和訓(xùn)練預(yù)測模型。
1.打分?jǐn)?shù)據(jù)的預(yù)處理
首先,獲取用戶對音樂項目的打分情況;然后,對打分?jǐn)?shù)據(jù)進(jìn)行預(yù)處理。優(yōu)選地,預(yù)處理過程包括刪除打分總數(shù)很少的用戶、總的打分?jǐn)?shù)很少的項目,以及不滿足打分要求的打分。預(yù)處理的主要步驟如下
(1)對于打分?jǐn)?shù)據(jù)中的每個打分,如果打分值不在規(guī)定的范圍內(nèi)則刪除該打分,該規(guī)定的范圍例如
或
;
(2)對于給出打分?jǐn)?shù)據(jù)的每個用戶,如果該用戶的打分總數(shù)小于規(guī)定的閾值(如 10),那么刪除與該用戶的所有打分?jǐn)?shù)據(jù),不使用該用戶進(jìn)行建模;
(3)對于打分?jǐn)?shù)據(jù)中的每個項目(item),如果給該項目打分的用戶總數(shù)小于規(guī)定的閾值,例如10,那么刪除該項目的所有分?jǐn)?shù),不使用該項目進(jìn)行建模。
根據(jù)該優(yōu)選實施例,經(jīng)過預(yù)處理的打分?jǐn)?shù)據(jù)格式如下,對于每個用戶有
用戶ID,音樂項目ID,打分值,打分日期,打分的具體時間。
優(yōu)選地,對于經(jīng)過預(yù)處理的打分?jǐn)?shù)據(jù)集,按照一定比例將每個用戶的打分集合根據(jù)用戶打分時間的先后順序進(jìn)行劃分,主要分為三個部分訓(xùn)練集、驗證集和測試集,其中訓(xùn)練集和驗證集用于學(xué)習(xí)模型的參數(shù),測試集主要用來評估模型的好壞。參見圖3,根據(jù)本發(fā)明的一個優(yōu)選實施例,80%的打分?jǐn)?shù)據(jù)屬于訓(xùn)練集,10%的打分?jǐn)?shù)據(jù)屬于驗證集,10%的打分?jǐn)?shù)據(jù)屬于測試集。
2.建立預(yù)測模型
根據(jù)本發(fā)明的優(yōu)選實施例,基于隱參數(shù)模型來建立本發(fā)明的預(yù)測模型。本領(lǐng)域普通技術(shù)人員可以理解,也可以基于圖挖掘或者矩陣分解等方法來建立本發(fā)明的預(yù)測模型。
經(jīng)典的隱參數(shù)模型(SVD)是通過發(fā)掘已知打分值潛在的特征來表示預(yù)測的打分值。該情況下,SVD的模型形式如下
rm=M + bi+bu+qfPu
其中μ是所有已知打分值的平均打分值,其根據(jù)已知打分值直接計算。bu表示的是用戶u所打的打分值相對于平均打分情況的偏差,h表示的是關(guān)于項目i的打分值相對于平均打分的偏差。Pu是和用戶U相關(guān)的特征向量,其中的每個元素表示和用戶U相關(guān)的隱參數(shù)。Cli是和項目i相關(guān)的特征向量,其中的每個元素表示和項目i相關(guān)的隱參數(shù)。
如前所述,在音樂四種類別當(dāng)中存在層次結(jié)構(gòu),并且不同層次的項目之間存在著關(guān)聯(lián)關(guān)系。根據(jù)本發(fā)明的一個優(yōu)選實施例,主要考慮三種層次關(guān)系,如圖4所示,具體地,主要考慮以專輯,演唱家,流派為中心的三種關(guān)聯(lián)關(guān)系即對于每張專輯,考慮它包含的歌曲, 所屬的演唱家,以及相關(guān)的流派;對于每個演唱家,考慮他發(fā)行的歌曲,專輯以及和這些歌曲,專輯相關(guān)的流派;對于每個流派,考慮其相關(guān)的歌曲,專輯,以及這些歌曲、專輯所屬的演唱家?;谏厦嫠龅囊魳奉悇e的層次關(guān)系,在經(jīng)典隱參數(shù)模型上進(jìn)行擴展,考慮到音樂類別的層次關(guān)系對用戶偏好的影響,可以得到如下的模型
Λ
權(quán)利要求
1.一種數(shù)字信息推薦預(yù)測模型的訓(xùn)練方法,包括1)接收打分?jǐn)?shù)據(jù);2)確定數(shù)字信息的不同類別,每個類別中包括多個項目,其中所述類別之間存在關(guān)聯(lián)關(guān)系;3)基于所述關(guān)聯(lián)關(guān)系建立所述模型并訓(xùn)練獲得所述模型,其中所述模型中包括一個或多個和集合相關(guān)的參數(shù),其中所述集合為與一個類別的項目相關(guān)的另一個類別的項目的集合或者多個與一個類別的項目相關(guān)的另一個類別的項目的集合的并集。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟幻中所述建立模型是基于隱參數(shù)模型建立。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟幻中建立的所述模型為Λrm =U + bu+b1+qiT(pu+kkk Yj Cij)jL· album (u)其中所述μ是所有已知打分值的平均打分值,bu是用戶u所打的打分值相對于平均打分的偏差,h是關(guān)于項目i的打分值相對于平均打分的偏差,Pu是和用戶u相關(guān)的特征向量,Qi是和項目i相關(guān)的特征向量,album(u)是與一個類別的項目相關(guān)的另一個類別的項目的集合或者多個與一個類別的項目相關(guān)的另一個類別的項目的集合的并集,aj表示和集合album(u)相關(guān)的參數(shù),kkk為album(u)的系數(shù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述kick為(|album(u)|+1)_"2。
5.根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,所述模型還包括與用戶打過分的項目集合相關(guān)的參數(shù)。
6.根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,所述模型還包括與用戶已經(jīng)實踐的項目集合相關(guān)的參數(shù)。
7.根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,所述模型還包括打分時間段對用戶偏差的影響參數(shù)。
8.根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,所述模型還包括打分時間段對用戶的影響參數(shù)。
9.根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,所述模型還包括(rUJ-bUJ)的補償參數(shù),其中、表示已知的用戶u對項目j打分的打分值,bUJ表示用戶u對項目j打分的打分值相對于平均打分值的偏差。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述的補償參數(shù)的系數(shù)為(I (Rk α ;u) ι+υ-172,其中Rk(i ;u) =R(U) η Sk(i),其中R(U)是用戶打分值已知的項目集合,Sk(i)表示與項目i最相似的k個項目的集合。
11.根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,所述模型還包括隱式反饋。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述隱式反饋的系數(shù)為(|Nk(i; u)|+l)-1/2,其中Nk(i ;U) =N(U) η Sk(i),其中N(U)是用戶打過分的項目集合,Sk(i)表示與項目 i最相似的k個項目的集合。
13.根據(jù)權(quán)利要求9或12所述的方法,其特征在于,所述Sk(i)是基于打分的項目相似集合、基于所述類別之間存在的關(guān)聯(lián)關(guān)系的項目相似集合和基于內(nèi)容的項目相似集合中的任意一個或任意二或三個的融合結(jié)果。
14.根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,所述步驟幻的所述訓(xùn)練是基于最小化損失函數(shù)來訓(xùn)練。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述最小化損失函數(shù)的求解是采用梯度下降法。
16.一種數(shù)字信息推薦預(yù)測模型的訓(xùn)練系統(tǒng),包括接收模塊,用于接收打分?jǐn)?shù)據(jù);類別確定模塊,用于確定數(shù)字信息的不同類別,每個類別中包括多個項目,其中所述類別之間存在關(guān)聯(lián)關(guān)系;建模模塊,用于基于所述關(guān)聯(lián)關(guān)系建立所述模型并訓(xùn)練獲得所述模型,其中所述模型中包括一個或多個和集合相關(guān)的參數(shù),其中所述集合為與一個類別的項目相關(guān)的另一個類別的項目的集合或者多個與一個類別的項目相關(guān)的另一個類別的項目的集合的并集。
全文摘要
本發(fā)明提供一種數(shù)字信息推薦預(yù)測模型的訓(xùn)練方法和系統(tǒng),該方法包括1)接收打分?jǐn)?shù)據(jù);2)確定數(shù)字信息的不同類別,每個類別中包括多個項目,其中所述類別之間存在關(guān)聯(lián)關(guān)系;3)基于所述關(guān)聯(lián)關(guān)系建立所述模型并訓(xùn)練獲得所述模型,其中所述模型中包括一個或多個和集合相關(guān)的參數(shù),其中所述集合為與一個類別的項目相關(guān)的另一個類別的項目的集合或者多個與一個類別的項目相關(guān)的另一個類別的項目的集合的并集。上述訓(xùn)練的預(yù)測模型可以有效的在實際推薦中緩解用戶打分?jǐn)?shù)不足造成的可利用打分?jǐn)?shù)據(jù)嚴(yán)重稀疏的問題,具有很好的推薦效果。
文檔編號G06F17/30GK102495837SQ201110339200
公開日2012年6月13日 申請日期2011年11月1日 優(yōu)先權(quán)日2011年11月1日
發(fā)明者史亮, 徐飛, 李文娜, 李銳, 王斌, 魯凱 申請人:中國科學(xué)院計算技術(shù)研究所