一種基于項(xiàng)目層次類(lèi)別的協(xié)同過(guò)濾推薦方法
【專(zhuān)利摘要】一種基于項(xiàng)目層次類(lèi)別的協(xié)同過(guò)濾推薦方法,包括偏好描述、項(xiàng)目類(lèi)別評(píng)分、相似度計(jì)算和預(yù)測(cè)評(píng)分四個(gè)處理步驟;偏好描述完成對(duì)用戶的偏好進(jìn)行建模,生成用戶-項(xiàng)目評(píng)分矩陣;項(xiàng)目類(lèi)別評(píng)分定義用戶對(duì)已購(gòu)買(mǎi)項(xiàng)目類(lèi)別的評(píng)分,并利用關(guān)聯(lián)規(guī)則定義項(xiàng)目類(lèi)別之間的相似度,推導(dǎo)出用戶對(duì)未購(gòu)買(mǎi)項(xiàng)目類(lèi)別的評(píng)分;相似度計(jì)算通過(guò)相似度計(jì)算公式得到系統(tǒng)中兩兩項(xiàng)目之間的相似程度;預(yù)測(cè)評(píng)分步驟預(yù)測(cè)用戶對(duì)未評(píng)過(guò)分的項(xiàng)目的評(píng)分。本發(fā)明通過(guò)增加項(xiàng)目層次類(lèi)別因素,建立新的相似度公式,削弱了由于用戶-項(xiàng)目矩陣過(guò)于稀疏對(duì)于項(xiàng)目相似度準(zhǔn)確率的影響,使得兩兩項(xiàng)目之間的相似度為0的概率降低,顯著提高推薦的準(zhǔn)確度,可應(yīng)用于數(shù)據(jù)挖掘及推薦系統(tǒng)等領(lǐng)域。
【專(zhuān)利說(shuō)明】—種基于項(xiàng)目層次類(lèi)別的協(xié)同過(guò)濾推薦方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明提出一種基于項(xiàng)目層次類(lèi)別的協(xié)同過(guò)濾推薦方法,屬于計(jì)算機(jī)數(shù)據(jù)挖掘推薦【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]隨著Web2.0的發(fā)展,電子商務(wù)網(wǎng)站更加側(cè)重于用戶參與度和用戶貢獻(xiàn)。伴隨著用戶頻繁地訪問(wèn)Web站點(diǎn),系統(tǒng)通常會(huì)生成大量的用戶數(shù)據(jù),這些數(shù)據(jù)記錄著用戶的行為?;谶@些用戶行為的推薦方法是個(gè)性化推薦系統(tǒng)的重要方法,學(xué)術(shù)界一般將這種類(lèi)型的方法稱(chēng)為協(xié)同過(guò)濾推薦方法。
[0003]協(xié)同過(guò)濾方法的原理是根據(jù)用戶對(duì)項(xiàng)目的偏好,發(fā)現(xiàn)用戶之間的相關(guān)性,或者是發(fā)現(xiàn)項(xiàng)目之間的相關(guān)性,然后再基于這些相關(guān)性進(jìn)行推薦。可見(jiàn),基于協(xié)同過(guò)濾的推薦引擎的核心功能在于計(jì)算兩個(gè)用戶或兩個(gè)項(xiàng)目之間的相似程度,這種相似程度將用于后續(xù)的推薦。整個(gè)方法基于這樣一個(gè)假設(shè):喜歡類(lèi)似項(xiàng)目的用戶可能有相同或者相似的口味和偏好。
[0004]協(xié)同過(guò)濾方法最大的優(yōu)點(diǎn)在于能夠挖掘出用戶的潛在興趣,給出更好的推薦效果。當(dāng)輸入推薦引擎的用戶和項(xiàng)目數(shù)據(jù)比較完善時(shí),協(xié)同過(guò)濾方法通常會(huì)表現(xiàn)出比較優(yōu)的推薦性能,但是,隨著網(wǎng)站內(nèi)容的逐漸復(fù)雜、網(wǎng)站使用人數(shù)的不斷增加,該方法逐漸暴露出難以克服的缺點(diǎn),例如用戶項(xiàng)目矩陣稀疏性問(wèn)題。
[0005]稀疏性問(wèn)題指系統(tǒng)的用戶-項(xiàng)目評(píng)分矩陣稀疏,這是由于系統(tǒng)中用戶購(gòu)買(mǎi)項(xiàng)目的總數(shù)量占網(wǎng)站總項(xiàng)目量的比率極低的原因造成的。這種數(shù)據(jù)量大但極為稀疏的情況,給準(zhǔn)確地定位最近鄰居集帶來(lái)了極大的困難。例如,兩個(gè)同類(lèi)型項(xiàng)目可能由于矩陣的稀疏造成用戶集沒(méi)有重疊,造成它們不能被正確地識(shí)別為鄰居項(xiàng)目。
[0006]對(duì)于矩陣過(guò)于稀疏的問(wèn)題,有兩種基本的解決方案。一種是降低矩陣的維度,這個(gè)在當(dāng)前系統(tǒng)大數(shù)據(jù)量的發(fā)展趨勢(shì)下不適用;另一種方案就是用特定的值填充矩陣,降低矩陣的稀疏程度,但實(shí)現(xiàn)上效果不好。本發(fā)明通過(guò)對(duì)傳統(tǒng)的基于項(xiàng)目的協(xié)同過(guò)濾方法的改進(jìn),降低稀疏的用戶-項(xiàng)目評(píng)分矩陣對(duì)于相似度精度的影響。
[0007]本發(fā)明綜合考慮項(xiàng)目類(lèi)別因素,并將其加入到相似度計(jì)算及評(píng)分計(jì)算中,提高推薦精確度。具體的做法是根據(jù)系統(tǒng)中用戶-項(xiàng)目評(píng)分情況數(shù)據(jù)集,用關(guān)聯(lián)規(guī)則推導(dǎo)出用戶對(duì)系統(tǒng)中每個(gè)項(xiàng)目類(lèi)別的偏好,將這一屬性納入項(xiàng)目相似度公式進(jìn)行計(jì)算,降低相似度為O的概率,給出更貼近用戶真實(shí)需求的推薦。
[0008]詳細(xì)地說(shuō),本發(fā)明的項(xiàng)目類(lèi)別評(píng)分有兩個(gè)關(guān)鍵步驟,首先,需要采用一定計(jì)算邏輯得到用戶對(duì)已知類(lèi)別的評(píng)分,下一步是對(duì)未知項(xiàng)目類(lèi)別評(píng)分進(jìn)行推導(dǎo)。在未知項(xiàng)目類(lèi)別評(píng)分推導(dǎo)方面,由于用戶此前沒(méi)有對(duì)這個(gè)類(lèi)別進(jìn)行任何訪問(wèn),那么這個(gè)評(píng)分就不能從用戶的歷史行為中獲取到,可以考慮的途徑之一是通過(guò)系統(tǒng)內(nèi)整體數(shù)據(jù)集推測(cè)用戶對(duì)這個(gè)類(lèi)別的評(píng)分。推導(dǎo)過(guò)程基于這樣一個(gè)考慮:如果兩個(gè)類(lèi)別的項(xiàng)目經(jīng)常被一起購(gòu)買(mǎi),那么這兩個(gè)類(lèi)別或者是屬于同一個(gè)父類(lèi)類(lèi)別,或者是相輔相成的兩個(gè)類(lèi)別。對(duì)于前一種情況,這兩個(gè)類(lèi)別之間的相似度很高,用戶完全有可能同時(shí)喜歡這兩個(gè)類(lèi)別的項(xiàng)目,比如服飾類(lèi)的兩個(gè)子類(lèi)別:上裝和下裝。對(duì)于后一種情況,目標(biāo)用戶可能也需要另外一種類(lèi)別的項(xiàng)目,例如咖啡和砂糖。所以,需根據(jù)此對(duì)每?jī)蓚€(gè)項(xiàng)目類(lèi)別賦予一個(gè)相似性權(quán)重,結(jié)合用戶已經(jīng)評(píng)分的項(xiàng)目類(lèi)別進(jìn)行加權(quán)平均,這樣就可以推測(cè)出用戶對(duì)這個(gè)類(lèi)別的喜愛(ài)程度。
[0009]衡量經(jīng)常同時(shí)出現(xiàn)的兩個(gè)項(xiàng)目,需使用到關(guān)聯(lián)規(guī)則中頻繁模式的概念。頻繁地出現(xiàn)在系統(tǒng)數(shù)據(jù)集中的模式(如項(xiàng)集、子序列或子結(jié)構(gòu))就是頻繁模式,例如,頻繁地同時(shí)出現(xiàn)在交易數(shù)據(jù)集中的兩個(gè)項(xiàng)目類(lèi)別就是頻繁模式。通過(guò)對(duì)系統(tǒng)中業(yè)務(wù)數(shù)據(jù)的分析,可以得到反映項(xiàng)目頻繁同時(shí)購(gòu)買(mǎi)的購(gòu)買(mǎi)模式。這些模式可以用關(guān)聯(lián)規(guī)則的形式表示。關(guān)聯(lián)規(guī)則的支持度(support )和置信度(confidence )是規(guī)則興趣度的兩種約束條件,這兩個(gè)度量條件分別反映了所發(fā)現(xiàn)的規(guī)則的有用性和確定性。關(guān)聯(lián)規(guī)則的支持度為2%意味著所分析的所有事務(wù)中,2%同時(shí)購(gòu)買(mǎi)了項(xiàng)目I和項(xiàng)目2,置信度60%意味著購(gòu)買(mǎi)項(xiàng)目I的用戶中有60%同時(shí)購(gòu)買(mǎi)了項(xiàng)目2。同時(shí)大于最小支持度閾值(min_sup )以及最小置信度閾值(min_conf )的規(guī)則稱(chēng)為強(qiáng)關(guān)聯(lián)規(guī)則,關(guān)聯(lián)規(guī)則反映了一個(gè)事件和其他事件之間依賴(lài)或關(guān)聯(lián)的知識(shí)。
[0010]在本發(fā)明中,滿足強(qiáng)關(guān)聯(lián)規(guī)則的兩個(gè)項(xiàng)目類(lèi)別會(huì)被識(shí)別為經(jīng)常一起出現(xiàn)的項(xiàng)目類(lèi)另IJ。計(jì)算過(guò)程中對(duì)不同的關(guān)聯(lián)情況,為兩兩項(xiàng)目類(lèi)別賦予合適的相似度系數(shù),用于預(yù)測(cè)未購(gòu)買(mǎi)項(xiàng)目類(lèi)別的評(píng)分。
[0011]在已有發(fā)明方面,申請(qǐng)?zhí)枮?00910207100.0的“用于面向排序的協(xié)同過(guò)濾的推薦方法和設(shè)備”發(fā)明公開(kāi)了一種基于用戶對(duì)排序的項(xiàng)目對(duì)的偏好數(shù)據(jù)而建立的模型;而申請(qǐng)?zhí)枮?01210389800.8的“一種協(xié)同過(guò)濾推薦模型的優(yōu)化訓(xùn)練方法”發(fā)明側(cè)重保護(hù)推薦模型訓(xùn)練方面內(nèi)容;而申請(qǐng)?zhí)?01110382078.0的“基于評(píng)分的協(xié)同過(guò)濾推薦方法及系統(tǒng)”發(fā)明公開(kāi)了一種基于評(píng)分的協(xié)同過(guò)濾推薦方法。上述的專(zhuān)利均沒(méi)有涉及或公開(kāi)基于項(xiàng)目類(lèi)別的協(xié)同過(guò)濾評(píng)分推薦技術(shù)。
【發(fā)明內(nèi)容】
[0012]本發(fā)明通過(guò)在傳統(tǒng)的基于項(xiàng)目的協(xié)同過(guò)濾方法中增加用戶對(duì)項(xiàng)目類(lèi)別的評(píng)分,結(jié)合關(guān)聯(lián)規(guī)則的知識(shí),定義新的相似度計(jì)算的步驟和預(yù)測(cè)評(píng)分的步驟,從而提高尋找相似項(xiàng)目的準(zhǔn)確度,進(jìn)而提高推薦準(zhǔn)確率。
[0013]所述的一種基于項(xiàng)目層次類(lèi)別的協(xié)同過(guò)濾推薦方法,其包括偏好描述、項(xiàng)目類(lèi)別評(píng)分、相似度計(jì)算和預(yù)測(cè)評(píng)分四個(gè)處理步驟;待處理的源數(shù)據(jù)首先輸入偏好描述步驟,得到便于評(píng)分處理的用戶行為向量;項(xiàng)目類(lèi)別評(píng)分步驟計(jì)算用戶對(duì)系統(tǒng)中各個(gè)項(xiàng)目類(lèi)別的評(píng)分因子;相似度計(jì)算步驟對(duì)相似度系數(shù)進(jìn)行修正;最后,將項(xiàng)目類(lèi)別評(píng)分因子和相似度系數(shù)等輸入到預(yù)測(cè)評(píng)分步驟,計(jì)算用戶對(duì)未購(gòu)買(mǎi)項(xiàng)目的評(píng)分,并按預(yù)測(cè)評(píng)分高低進(jìn)行排名并輸出推薦結(jié)果。
[0014]所述的基于項(xiàng)目層次類(lèi)別的協(xié)同過(guò)濾推薦方法中,偏好描述步驟將顯式或隱式的用戶歷史行為映射到具體的用戶-項(xiàng)目評(píng)分矩陣上;項(xiàng)目類(lèi)別評(píng)分步驟遍歷用戶歷史行為數(shù)據(jù)庫(kù),用關(guān)聯(lián)規(guī)則推導(dǎo)出用戶對(duì)每個(gè)項(xiàng)目類(lèi)別的偏好數(shù)據(jù),其包括4個(gè)功能處理模塊:已知項(xiàng)目類(lèi)別評(píng)分模塊遍歷用戶的歷史行為,得到用戶對(duì)已購(gòu)買(mǎi)項(xiàng)目的評(píng)分;項(xiàng)目類(lèi)別相似度模塊根據(jù)關(guān)聯(lián)規(guī)則以及用戶對(duì)各個(gè)項(xiàng)目類(lèi)別的行為,對(duì)每?jī)蓚€(gè)項(xiàng)目類(lèi)別賦予相似權(quán)重;未知項(xiàng)目類(lèi)別評(píng)分模塊根據(jù)已知項(xiàng)目類(lèi)別評(píng)分模塊和項(xiàng)目類(lèi)別相似度模塊,計(jì)算用戶對(duì)未知項(xiàng)目類(lèi)別的評(píng)分;項(xiàng)目類(lèi)別評(píng)分因子模塊綜合未知項(xiàng)目類(lèi)別評(píng)分模塊和已知項(xiàng)目類(lèi)別評(píng)分模塊,得到每個(gè)用戶對(duì)系統(tǒng)中每個(gè)項(xiàng)目類(lèi)別的喜愛(ài)程度因子。
[0015]所述的方法中,相似度計(jì)算步驟根據(jù)偏好描述步驟以及項(xiàng)目類(lèi)別評(píng)分模塊步驟的處理結(jié)果,基于相似度公式,得到對(duì)于每個(gè)用戶,系統(tǒng)中每?jī)蓚€(gè)項(xiàng)目之間的相似程度,用于預(yù)測(cè)評(píng)分的計(jì)算。
[0016]而預(yù)測(cè)評(píng)分步驟利用相似度以及用戶已經(jīng)評(píng)過(guò)分的項(xiàng)目,對(duì)用戶沒(méi)有接觸過(guò)的項(xiàng)目進(jìn)行打分,根據(jù)預(yù)測(cè)評(píng)分的高低對(duì)項(xiàng)目進(jìn)行排名。
[0017]所述的一種基于項(xiàng)目層次類(lèi)別的協(xié)同過(guò)濾推薦方法中,項(xiàng)目類(lèi)別評(píng)分的具體步驟如下:首先,要根據(jù)用戶的歷史行為得到用戶對(duì)已知項(xiàng)目類(lèi)別評(píng)分模塊,假設(shè)代表用戶i對(duì)各種項(xiàng)目的購(gòu)買(mǎi)和評(píng)分情況,值為O則代表該用戶對(duì)此項(xiàng)目沒(méi)有過(guò)任何行為;定義用戶對(duì)某個(gè)項(xiàng)目類(lèi)別的評(píng)分為用戶對(duì)這個(gè)項(xiàng)目類(lèi)別下所有項(xiàng)目的評(píng)分的均值,假設(shè)類(lèi)別Ik有η個(gè)項(xiàng)目I1, i2, i3-1n,則用戶u對(duì)Ik的評(píng)分為:
【權(quán)利要求】
1.一種基于項(xiàng)目層次類(lèi)別的協(xié)同過(guò)濾推薦方法,其特征在于,所述方法包括偏好描述(101)、項(xiàng)目類(lèi)別評(píng)分(102)、相似度計(jì)算(103)和預(yù)測(cè)評(píng)分(104)四個(gè)處理步驟;待處理的源數(shù)據(jù)首先輸入偏好描述(101)步驟,得到便于評(píng)分處理的用戶行為向量;項(xiàng)目類(lèi)別評(píng)分(102)步驟計(jì)算用戶對(duì)系統(tǒng)中各個(gè)項(xiàng)目類(lèi)別的評(píng)分因子;相似度計(jì)算(103)步驟對(duì)相似度系數(shù)進(jìn)行修正;最后,將項(xiàng)目類(lèi)別評(píng)分因子和相似度系數(shù)等輸入到預(yù)測(cè)評(píng)分(104)步驟,計(jì)算用戶對(duì)未購(gòu)買(mǎi)項(xiàng)目的評(píng)分,并按預(yù)測(cè)評(píng)分高低進(jìn)行排名并輸出推薦結(jié)果。
2.如權(quán)利要求1所述的一種基于項(xiàng)目層次類(lèi)別的協(xié)同過(guò)濾推薦方法,其特征在于,各步驟中,偏好描述(101)步驟將顯式或隱式的用戶歷史行為映射到具體的用戶-項(xiàng)目評(píng)分矩陣上;項(xiàng)目類(lèi)別評(píng)分(102)步驟遍歷用戶歷史行為數(shù)據(jù)庫(kù),用關(guān)聯(lián)規(guī)則推導(dǎo)出用戶對(duì)每個(gè)項(xiàng)目類(lèi)別的偏好數(shù)據(jù),并包括4個(gè)功能處理模塊:已知項(xiàng)目類(lèi)別評(píng)分模塊(201)遍歷用戶的歷史行為,得到用戶對(duì)已購(gòu)買(mǎi)項(xiàng)目的評(píng)分;項(xiàng)目類(lèi)別相似度模塊(202)根據(jù)關(guān)聯(lián)規(guī)則以及用戶對(duì)各個(gè)項(xiàng)目類(lèi)別的行為,對(duì)每?jī)蓚€(gè)項(xiàng)目類(lèi)別賦予相似權(quán)重;未知項(xiàng)目類(lèi)別評(píng)分模塊(203)根據(jù)已知項(xiàng)目類(lèi)別評(píng)分模塊(201)和項(xiàng)目類(lèi)別相似度模塊(202),計(jì)算用戶對(duì)未知項(xiàng)目類(lèi)別的評(píng)分;項(xiàng)目類(lèi)別評(píng)分因子模塊(204)綜合未知項(xiàng)目類(lèi)別評(píng)分模塊(203)和已知項(xiàng)目類(lèi)別評(píng)分模塊(201),得到每個(gè)用戶對(duì)系統(tǒng)中每個(gè)項(xiàng)目類(lèi)別的喜愛(ài)程度因子; 相似度計(jì)算(103)步驟根據(jù)偏好描述(101)步驟以及項(xiàng)目類(lèi)別評(píng)分(102)步驟的處理結(jié)果,基于相似度公式,得到對(duì)于每個(gè)用戶,系統(tǒng)中每?jī)蓚€(gè)項(xiàng)目之間的相似程度,用于預(yù)測(cè)評(píng)分的計(jì)算; 預(yù)測(cè)評(píng)分(104)步驟利用相似度以及用戶已經(jīng)評(píng)過(guò)分的項(xiàng)目,對(duì)用戶沒(méi)有接觸過(guò)的項(xiàng)目進(jìn)行打分,根據(jù)預(yù)測(cè)評(píng)分的高低對(duì)項(xiàng)目進(jìn)行排名。
3.如權(quán)利要求1所述的一種基于項(xiàng)目層次類(lèi)別的協(xié)同過(guò)濾推薦方法,其特征在于,項(xiàng)目類(lèi)別評(píng)分(102)的具體步驟如下:首先,要根據(jù)用戶的歷史行為得到用戶對(duì)已知項(xiàng)目類(lèi)別評(píng)分模塊(201 ),假設(shè)代表用戶i對(duì)各種項(xiàng)目的購(gòu)買(mǎi)和評(píng)分情況,值為O則代表該用戶對(duì)此項(xiàng)目沒(méi)有過(guò)任何行為;定義用戶對(duì)某個(gè)項(xiàng)目類(lèi)別的評(píng)分為用戶對(duì)這個(gè)項(xiàng)目類(lèi)別下所有項(xiàng)目的評(píng)分的均值,假設(shè)類(lèi)別Ik有η個(gè)項(xiàng)目i2, in,則用戶u對(duì)Ik的評(píng)分為:
4.如權(quán)利要求1所述的一種基于項(xiàng)目層次類(lèi)別的協(xié)同過(guò)濾推薦方法,其特征在于,項(xiàng)目類(lèi)別評(píng)分(102)步驟得出了用戶對(duì)所有的項(xiàng)目類(lèi)別的評(píng)分因子,相似度計(jì)算(103)步驟建立新的相似度計(jì)算公式;假設(shè)項(xiàng)目X的用戶評(píng)分向量為X=Irlx, r2x,…,rmx},項(xiàng)目y的用戶評(píng)分向量為Y=Irly, r2y,…,rmy},其中,m為用戶的個(gè)數(shù),那么對(duì)于特定的用戶d,項(xiàng)目x和y的相似度為:`ii'i1-;;-;- + !ff ifpd.ts < Pd.ty1-1=1 ^I=IrJFrJXrJy Ρ?χνy Asy = ISg1^riyrnty;I Vni 2+vm 2_vm+ D 11PAtx〉Pd.tyV1-1=I rSX +^1=1 rJV ^i=IrJXrJy PAtxv 其中,?表示用戶d對(duì)項(xiàng)目X所在的類(lèi)別tx的評(píng)分權(quán)重,?*%表示用戶d對(duì)項(xiàng)目y所在的類(lèi)別ty的評(píng)分權(quán)重; 預(yù)測(cè)評(píng)分步驟直接使用相似度作為權(quán)重,得到最終的預(yù)測(cè)評(píng)分公式:
P _ [p , IjeNBS1 SimdJj x(Rd^rI^)l IH ? — K1 1--^-;- A Oa t ;
SjeNBSjSimclJj J其中,i和j為項(xiàng)目,d為用戶,Ptu表示用戶d對(duì)項(xiàng)目i的預(yù)測(cè)評(píng)分,NBSi表示在項(xiàng)目i的鄰居范圍內(nèi)查找項(xiàng)目j,f和^表示項(xiàng)目i和項(xiàng)目j在系統(tǒng)中的平均評(píng)分,Simdjij代表
眞'I對(duì)于用戶d,項(xiàng)目i和j的相似度,Ru代表用戶d對(duì)項(xiàng)目j的評(píng)分;得出用戶對(duì)沒(méi)有購(gòu)買(mǎi)過(guò)的項(xiàng)目的預(yù)測(cè)評(píng)分后,再按照預(yù)測(cè)評(píng)分的高低進(jìn)行排序,取排名最靠前的多個(gè)項(xiàng)目組成對(duì)用戶的推薦列表。`
【文檔編號(hào)】G06F17/30GK103514255SQ201310290988
【公開(kāi)日】2014年1月15日 申請(qǐng)日期:2013年7月11日 優(yōu)先權(quán)日:2013年7月11日
【發(fā)明者】唐震, 陳立全, 朱瑤 申請(qǐng)人:江蘇諧云智能科技有限公司