欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種標(biāo)簽推薦方法及系統(tǒng)與流程

文檔序號:12906181閱讀:377來源:國知局
一種標(biāo)簽推薦方法及系統(tǒng)與流程

本發(fā)明涉及個性化推薦領(lǐng)域,特別是涉及一種標(biāo)簽推薦方法及系統(tǒng)。



背景技術(shù):

現(xiàn)如今,web技術(shù)的發(fā)展突飛猛進,用戶可以在多種多樣的網(wǎng)絡(luò)平臺上對一個項目標(biāo)注多個不同的標(biāo)簽,尤其是在各個平臺的推薦系統(tǒng)應(yīng)用方面,系統(tǒng)通過標(biāo)簽來探索每個用戶的喜好特征,當(dāng)用戶對未標(biāo)注過標(biāo)簽的項目標(biāo)注標(biāo)簽時,可以更有效地向用戶推薦合適的標(biāo)簽供用戶標(biāo)注,幫助用戶快速找到自己滿意的標(biāo)簽。項目是指用戶標(biāo)注標(biāo)簽的對象,例如電影、視頻、文章等。以往的推薦算法大多針對的是基于二元關(guān)系的用戶-項目的評分矩陣數(shù)據(jù)進行研究,隨著標(biāo)簽數(shù)據(jù)的加入,由用戶、項目和標(biāo)簽組成的三元關(guān)系數(shù)據(jù)處理成為了近年來推薦算法研究的重點。

由于推薦系統(tǒng)中用戶、項目和標(biāo)簽數(shù)量的與日俱增,三者組成的權(quán)值數(shù)據(jù)規(guī)模呈指數(shù)速度增長,數(shù)據(jù)稀疏性逐漸變大,由此用于處理該數(shù)據(jù)的推薦算法的推薦準(zhǔn)確性降低,成為推薦技術(shù)需解決的最主要的問題。



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

本發(fā)明的目的是提供一種標(biāo)簽推薦方法及系統(tǒng),以解決現(xiàn)有技術(shù)中推薦算法推薦準(zhǔn)確性低的問題。

為實現(xiàn)上述目的,本發(fā)明提供了如下方案:

一種標(biāo)簽推薦方法,所述方法包括:

依次獲取所有用戶對所有項目標(biāo)注的標(biāo)簽總集合,所述標(biāo)簽總集合包括所有的第一標(biāo)簽集合,所述第一標(biāo)簽集合為一個用戶對一個項目標(biāo)注的標(biāo)簽的集合,所述第一標(biāo)簽集合包括m個標(biāo)簽,m為大于0的整數(shù);

利用apriori算法尋找所述標(biāo)簽總集合中的最大頻繁項集;

將所述最大頻繁項集設(shè)定為新的標(biāo)識;

將所述第一標(biāo)簽集合中所述最大頻繁項集替換為所述新的標(biāo)識,形成第二標(biāo)簽集合;

將用戶、項目、第二標(biāo)簽集合相互對應(yīng),生成用戶-項目-標(biāo)簽的三維張量數(shù)據(jù),并將三者的關(guān)聯(lián)權(quán)重設(shè)為1;

利用hosvd算法對所述三維張量數(shù)據(jù)進行分解,得到每個用戶對每個項目標(biāo)注的標(biāo)簽的權(quán)重值;

根據(jù)所述標(biāo)簽權(quán)重值,向第一用戶推薦標(biāo)簽,供所述第一用戶對項目標(biāo)注標(biāo)簽使用,所述第一用戶為第一次對所述第一項目標(biāo)注標(biāo)簽的用戶,所述第一項目為所有項目中的任意一個項目。

可選的,所述利用apriori算法尋找所述標(biāo)簽總集合中的最大頻繁項集之前,還包括:

將標(biāo)簽數(shù)據(jù)轉(zhuǎn)換成適用于apriori算法計算的格式。

可選的,所述利用apriori算法尋找所述標(biāo)簽總集合中的最大頻繁項集,具體包括:

設(shè)定最小支持度,所述最小支持度為標(biāo)簽出現(xiàn)的頻率的設(shè)定閾值;

將所有第一標(biāo)簽集合中出現(xiàn)頻率大于所述最小支持度的標(biāo)簽生成頻繁一項集,所述頻繁一項集中每個元素為一個標(biāo)簽;

將兩個不同的頻繁一項集合并為一個二項集,遍歷所有的頻繁一項集,生成所有的二項集,所述二項集中包括兩個標(biāo)簽,將所有二項集中兩個標(biāo)簽同時出現(xiàn)的頻率大于所述最小支持度的二項集生成頻繁二項集;所述頻繁二項集中每個元素為二項集中的兩個標(biāo)簽;

將頻繁k項集中的任意兩個元素連接,形成k+1項集,所述頻繁k項集中每個元素包括k個不同的標(biāo)簽,所述k+1項集中包括k+1個不同的標(biāo)簽;遍歷所述頻繁k項集中的所有元素,生成所有的k+1項集;其中k為大于1的整數(shù);

判斷是否所有的k+1項集中的k+1個標(biāo)簽同時出現(xiàn)的頻率均小于所述最小支持度,得到第一判斷結(jié)果;

當(dāng)所述第一判斷結(jié)果表示所有的k+1項集中的k+1個標(biāo)簽同時出現(xiàn)的頻率均小于所述最小支持度時,確定所述頻繁k項集為最大頻繁項集;

當(dāng)所述第一判斷結(jié)果表示所有的k+1項集出現(xiàn)的頻率不全小于所述最小支持度時,將所有k+1項集中的k+1個標(biāo)簽同時出現(xiàn)頻率大于所述最小支持度的k+1項集生成頻繁k+1項集,所述頻繁k+1項集中每個元素包括k+1項集中的k+1個不同的標(biāo)簽。

可選的,所述利用hosvd算法對所述三維張量數(shù)據(jù)進行分解,具體包括:

將所述三維張量數(shù)據(jù)利用公式沿著三個模方向進行分解,其中所述三維張量表示為a1為所述三維張量a的1-模的矩陣展開形式;a2為所述三維張量a的2-模的矩陣展開形式;a3為所述三維張量a的3-模的矩陣展開形式;

利用奇異值分解算法對所述a1、a2、a3進行分解,得到

其中u(1)表示矩陣a1的左奇異特征矩陣,v1t表示矩陣a1的右奇異特征矩陣的轉(zhuǎn)置矩陣,s1表示由矩陣a1奇異值組成的對角矩陣;u(2)表示矩陣a2的左奇異特征矩陣,v2t表示矩陣a2的右奇異特征矩陣的轉(zhuǎn)置矩陣,s2表示由矩陣a2奇異值組成的對角矩陣;u(3)表示矩陣a3的左奇異特征矩陣,v3t表示矩陣a3的右奇異特征矩陣的轉(zhuǎn)置矩陣,s3表示由矩陣a3奇異值組成的對角矩陣;

利用所述奇異值分解算法對所述左奇異特征矩陣u(1)、u(2)、u(3)降維,對應(yīng)得到其中的維度為c1;的維度為c2;的維度為c3;

利用公式得到近似核心張量

利用hosvd算法得到三維張量a降維后的近似張量

根據(jù)所述近似張量得到每個用戶對每個項目標(biāo)注的標(biāo)簽權(quán)重值。

可選的,所述根據(jù)所述標(biāo)簽權(quán)重值,向第一用戶推薦標(biāo)簽,具體包括:

根據(jù)所述標(biāo)簽權(quán)重值,利用top-n算法得到高于其他權(quán)重值的n個權(quán)重值;

將所述n個權(quán)重值對應(yīng)的標(biāo)簽推薦給所述第一用戶。

一種標(biāo)簽推薦系統(tǒng),所述系統(tǒng)包括:

標(biāo)簽總集合獲取模塊,用于依次獲取所有用戶對所有項目標(biāo)注的標(biāo)簽總集合,所述標(biāo)簽總集合包括所有的第一標(biāo)簽集合,所述第一標(biāo)簽集合為一個用戶對一個項目標(biāo)注的標(biāo)簽集合,所述第一標(biāo)簽集包括m個標(biāo)簽,m為大于0的整數(shù);

最大頻繁項集獲取模塊,用于利用apriori算法獲取所述標(biāo)簽總集合中的最大頻繁項集;

新的標(biāo)識設(shè)定模塊,用于將所述最大頻繁項集設(shè)定為新的標(biāo)識;

第二標(biāo)簽集合形成模塊,用于將所述第一標(biāo)簽集合中所述最大頻繁項集替換為所述新的標(biāo)識,形成第二標(biāo)簽集合;

三維張量數(shù)據(jù)生成模塊,用于將用戶、項目、第二標(biāo)簽集合相互對應(yīng),生成用戶-項目-標(biāo)簽的三維張量數(shù)據(jù),并將三者的關(guān)聯(lián)權(quán)重設(shè)為1;

三維張量數(shù)據(jù)分解模塊,用于利用hosvd算法對所述三維張量數(shù)據(jù)進行分解,得到每個用戶對每個項目標(biāo)注的標(biāo)簽的權(quán)重值;

標(biāo)簽推薦模塊,用于根據(jù)所述標(biāo)簽權(quán)重值,向第一用戶推薦標(biāo)簽,供所述第一用戶對第一項目標(biāo)注標(biāo)簽使用,所述第一用戶為第一次對所述第一項目標(biāo)注標(biāo)簽的用戶,所述第一項目為所有項目中的任意一個項目。

可選的,所述系統(tǒng)還包括:

標(biāo)簽轉(zhuǎn)換模塊,用于利用apriori算法獲取所述標(biāo)簽總集合中的最大頻繁項集之前,將所有的第一標(biāo)簽集合中的所有標(biāo)簽均放于標(biāo)簽計算的位置,將標(biāo)簽數(shù)據(jù)轉(zhuǎn)換成適用于apriori算法計算的格式。

可選的,所述最大頻繁項集獲取模塊,具體包括:

最小支持度設(shè)定單元,用于設(shè)定最小支持度,所述最小支持度為標(biāo)簽出現(xiàn)的頻率的設(shè)定閾值;

頻繁一項集生成單元,用于將所有第一標(biāo)簽集合中出現(xiàn)頻率大于所述最小支持度的標(biāo)簽生成頻繁一項集,所述頻繁一項集中每個元素為一個標(biāo)簽;

頻繁二項集生成單元,用于將兩個不同的頻繁一項集合并為一個二項集,遍歷所有的頻繁一項集,生成所有的二項集,所述二項集中包括兩個標(biāo)簽,將所有二項集中兩個標(biāo)簽同時出現(xiàn)的頻率大于所述最小支持度的二項集生成頻繁二項集;所述頻繁二項集中每個元素為二項集中的兩個標(biāo)簽;

k+1項集生成單元,用于將頻繁k項集中的任意兩個元素連接,形成k+1項集,所述頻繁k項集中每個元素包括k個不同的標(biāo)簽,所述k+1項集中包括k+1個不同的標(biāo)簽;遍歷所述頻繁k項集中的所有元素,生成所有的k+1項集;其中k為大于1的整數(shù);

頻率判斷單元,用于判斷是否所有的k+1項集中的k+1個標(biāo)簽同時出現(xiàn)的頻率均小于所述最小支持度,得到第一判斷結(jié)果;

最大頻繁項集確定單元,用于當(dāng)所述第一判斷結(jié)果表示所有的k+1項集中的k+1個標(biāo)簽同時出現(xiàn)的頻率均小于所述最小支持度時,確定所述頻繁k項集為最大頻繁項集;

頻繁k+1項集生成單元,用于當(dāng)所述第一判斷結(jié)果表示所有的k+1項集出現(xiàn)的頻率不全小于所述最小支持度時,將所有k+1項集中的k+1個標(biāo)簽同時出現(xiàn)頻率大于所述最小支持度的k+1項集生成頻繁k+1項集,所述頻繁k+1項集中每個元素包括k+1項集中的k+1個不同的標(biāo)簽。

可選的,所述三維張量數(shù)據(jù)分解模塊,具體包括:

第一分解單元,用于將所述三維張量數(shù)據(jù)利用公式沿著三個模方向進行分解,其中所述三維張量表示為a1為所述三維張量a的1-模的矩陣展開形式;a2為所述三維張量a的2-模的矩陣展開形式;a3為所述三維張量a的3-模的矩陣展開形式;

第二分解單元,用于利用奇異值分解算法對所述a1、a2、a3進行分解,得到其中u(1)表示矩陣a1的左奇異特征矩陣,v1t表示矩陣a1的右奇異特征矩陣的轉(zhuǎn)置矩陣,s1表示由矩陣a1奇異值組成的對角矩陣;u(2)表示矩陣a2的左奇異特征矩陣,v2t表示矩陣a2的右奇異特征矩陣的轉(zhuǎn)置矩陣,s2表示由矩陣a2奇異值組成的對角矩陣;u(3)表示矩陣a3的左奇異特征矩陣,v3t表示矩陣a3的右奇異特征矩陣的轉(zhuǎn)置矩陣,s3表示由矩陣a3奇異值組成的對角矩陣;

降維單元,用于利用所述奇異值分解算法對所述左奇異特征矩陣u(1)、u(2)、u(3)降維,對應(yīng)得到其中的維度為c1;的維度為c2;的維度為c3;

近似核心張量計算單元,用于利用公式得到近似核心張量

三維張量的近似張量獲取單元,用于利用hosvd算法得到三維張量a降維后的近似張量

根據(jù)所述近似張量得到每個用戶對每個項目標(biāo)注的標(biāo)簽權(quán)重值。

可選的,所述標(biāo)簽推薦模塊,具體包括:

標(biāo)簽權(quán)重篩選單元,用于根據(jù)所述標(biāo)簽權(quán)重值,利用top-n算法得到高于其他權(quán)重值的n個權(quán)重值;

標(biāo)簽推薦單元,用于將所述n個權(quán)重值對應(yīng)的標(biāo)簽推薦給所述第一用戶。

根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:

本發(fā)明充分利用頻繁出現(xiàn)的標(biāo)簽信息,尋找標(biāo)簽與標(biāo)簽之間的關(guān)聯(lián)性,使標(biāo)簽分類更加細致,以使推薦系統(tǒng)準(zhǔn)確性獲得提高。并且隨著推薦列表數(shù)量的增大,命中率逐漸增大,能夠有效提高推薦準(zhǔn)確性。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明標(biāo)簽推薦方法的流程圖;

圖2為本發(fā)明標(biāo)簽推薦方法中svd分解示意圖;

圖3為本發(fā)明標(biāo)簽推薦方法中降維后svd分解示意圖;

圖4為本發(fā)明標(biāo)簽推薦系統(tǒng)的結(jié)構(gòu)圖;

圖5為本發(fā)明標(biāo)簽推薦方法中將張量a沿著三個模方向進行分解的示意圖;

圖6為本發(fā)明標(biāo)簽推薦方法中利用hosvd算法得到近似張量的示意圖;

圖7為本發(fā)明標(biāo)簽推薦方法中推薦標(biāo)簽后命中率比較圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步詳細的說明。

圖1為本發(fā)明標(biāo)簽推薦方法的流程圖。如圖1所示,所述方法包括:

步驟101:獲取用戶標(biāo)注的標(biāo)簽總集合。標(biāo)簽總集合包括所有用戶對所有項目標(biāo)注的標(biāo)簽,一個用戶對一個項目標(biāo)注的標(biāo)簽集合定義為第一標(biāo)簽集合,由于一個用戶對一個項目標(biāo)注的標(biāo)簽可能為多個,因此所述第一標(biāo)簽集合包括m個標(biāo)簽,m為大于0的整數(shù),因此所述標(biāo)簽總集合包括所有的第一標(biāo)簽集合。例如,在一個電影推薦平臺上,用戶1對電影1標(biāo)注的標(biāo)簽為“喜劇”、“動作”、“愛情”,得到的第一標(biāo)簽集合為{喜劇,動作,愛情};用戶1對電影2標(biāo)注的標(biāo)簽為“喜劇”、“驚悚”、“動作”,得到的第一標(biāo)簽集合為{喜劇,驚悚,動作};用戶2對電影1所打的標(biāo)簽為“愛情”、“倫理”,得到的第一標(biāo)簽集合為{愛情,倫理};用戶2對電影3標(biāo)注的標(biāo)簽為“恐怖”、“動作”、“驚悚”,得到的第一標(biāo)簽集合為{恐怖,動作,驚悚};……;那么得到的標(biāo)簽總集合為{{喜劇,動作,愛情},{喜劇,驚悚,動作},{愛情,倫理},{恐怖,動作,驚悚},……}。

步驟102:尋找標(biāo)簽總集合的最大頻繁項集。將所有的第一標(biāo)簽集合中的所有標(biāo)簽均放于標(biāo)簽計算的位置,將標(biāo)簽數(shù)據(jù)轉(zhuǎn)換成適用于apriori算法計算的格式,然后利用apriori算法尋找所述標(biāo)簽總集合中的最大頻繁項集。假設(shè)最大頻繁項集包括n個標(biāo)簽,那么最大頻繁項集是指滿足以下兩個條件的n項集:首先,n個標(biāo)簽同時被標(biāo)注出現(xiàn)的頻率大于最小支持度(設(shè)定閾值);其次,在最大頻繁項集中添加任一元素構(gòu)成n+1項集后,任一n+1項集中n+1個標(biāo)簽同時被標(biāo)注出現(xiàn)的頻率小于最小支持度。具體的尋找標(biāo)簽總集合的最大頻繁項集的過程為:

設(shè)定最小支持度,所述最小支持度即為標(biāo)簽出現(xiàn)的頻率的設(shè)定閾值;

將所有第一標(biāo)簽集合中出現(xiàn)頻率大于所述最小支持度的標(biāo)簽生成頻繁一項集,所述頻繁一項集中每個元素為一個標(biāo)簽;也就是標(biāo)簽總集合中所有出現(xiàn)頻率大于最小支持度的標(biāo)簽,即歸為頻繁一項集中的元素,以此形成頻繁一項集;

將兩個不同的頻繁一項集合并為一個二項集,遍歷所有的頻繁一項集,生成所有的二項集,所述二項集中包括兩個標(biāo)簽,將所有二項集中兩個標(biāo)簽同時出現(xiàn)的頻率大于所述最小支持度的二項集生成頻繁二項集;所述頻繁二項集中每個元素為二項集中的兩個標(biāo)簽;此步驟即為尋找兩個標(biāo)簽同時出現(xiàn)頻率大于最小支持度的標(biāo)簽組合,將滿足條件的標(biāo)簽組合歸為頻繁二項集的元素,以此形成頻繁二項集;

將頻繁k項集中的任意兩個元素連接,形成k+1項集,所述頻繁k項集中每個元素包括k個不同的標(biāo)簽,所述k+1項集中包括k+1個不同的標(biāo)簽;遍歷所述頻繁k項集中的所有元素,生成所有的k+1項集;其中k為大于1的整數(shù);此步驟即為形成k+1項集的過程,通過向頻繁k項集中加入其它頻繁k項集中的一個元素,構(gòu)成k+1項集,直至遍歷所有的k項集,形成所有的k+1項集;

判斷是否所有的k+1項集中的k+1個標(biāo)簽同時出現(xiàn)的頻率均小于所述最小支持度,得到第一判斷結(jié)果;

當(dāng)所述第一判斷結(jié)果表示所有的k+1項集中的k+1個標(biāo)簽同時出現(xiàn)的頻率均小于所述最小支持度時,確定所述頻繁k項集為最大頻繁項集;

當(dāng)所述第一判斷結(jié)果表示所有的k+1項集出現(xiàn)的頻率不全小于所述最小支持度時,將所有k+1項集中的k+1個標(biāo)簽同時出現(xiàn)頻率大于所述最小支持度的k+1項集生成頻繁k+1項集,所述頻繁k+1項集中每個元素包括k+1項集中的k+1個不同的標(biāo)簽。此時需要進一步形成k+2項集,判斷k+2項集中的k+2個標(biāo)簽同時出現(xiàn)的頻率是否均大于最小支持度,以此判斷k+1項集是否為最大頻繁項集。

步驟103:將最大頻繁項集設(shè)定為新的標(biāo)識。也就是將最大頻繁項集用新的代號代替。

步驟104:將第一標(biāo)簽集合中最大頻繁項集替換為新的標(biāo)識,對應(yīng)得到第二標(biāo)簽集合。例如第一標(biāo)簽集合為{喜劇,愛情,動作,倫理,驚悚},最大頻繁項集為{喜劇,愛情,倫理},最大頻繁項集設(shè)定的新的標(biāo)識可以為“m”,那么將第一標(biāo)簽集合中最大頻繁項集替換為新的標(biāo)識,得到的第二標(biāo)簽集合為{m,動作,驚悚},此時只包括三個元素。

步驟105:生成用戶-項目-標(biāo)簽的三維張量。根據(jù)得到的第二標(biāo)簽集合與用戶和項目相互對應(yīng),以此得到用戶-項目-標(biāo)簽的三維張量數(shù)據(jù),并將三者的關(guān)聯(lián)權(quán)重設(shè)為1。

步驟106:利用hosvd算法對所述三維張量數(shù)據(jù)進行分解,得到每個用戶對每個項目標(biāo)注的標(biāo)簽的權(quán)重值。具體包括:

(1)將所述三維張量數(shù)據(jù)利用公式沿著三個模方向進行分解,其中所述三維張量表示為a1為所述三維張量a的1-模的矩陣展開形式;a2為所述三維張量a的2-模的矩陣展開形式;a3為所述三維張量a的3-模的矩陣展開形式;

(2)利用奇異值分解(singularvaluedecomposition,svd)算法對所述a1、a2、a3進行分解,得到其中u(1)表示矩陣a1的左奇異特征矩陣,v1t表示矩陣a1的右奇異特征矩陣的轉(zhuǎn)置矩陣,s1表示由矩陣a1奇異值組成的對角矩陣;u(2)表示矩陣a2的左奇異特征矩陣,v2t表示矩陣a2的右奇異特征矩陣的轉(zhuǎn)置矩陣,s2表示由矩陣a2奇異值組成的對角矩陣;u(3)表示矩陣a3的左奇異特征矩陣,v3t表示矩陣a3的右奇異特征矩陣的轉(zhuǎn)置矩陣,s3表示由矩陣a3奇異值組成的對角矩陣;

(3)利用svd算法對所述左奇異特征矩陣u(1)、u(2)、u(3)降維,對應(yīng)得到其中的維度為c1;的維度為c2;的維度為c3;

(4)利用公式得到近似核心張量

(5)利用hosvd算法得到三維張量a降維后的近似張量根據(jù)所述近似張量得到每個用戶對每個項目標(biāo)注的標(biāo)簽權(quán)重值。

svd的基本原理:

首先,在采用svd技術(shù)開始對矩陣進行分解之前,需要對該矩陣的空白項進行填充,填充值一般采用項目的評分均值,以得到一個稠密矩陣。假設(shè)未填充前的矩陣為r∈rm×n,填充后為r′,則r′的svd公式為:r′=usvt其中,u∈rm×m和vt∈rn×n都是正交矩陣,分別代表矩陣r′的左奇異特征矩陣和右奇異特征矩陣;s∈rm×n是一個對角矩陣,且矩陣r′的所有奇異值均分布在該對角矩陣的對角線上,并且它們都按照從大到小的順序進行排列,而且所有的奇異值體現(xiàn)著矩陣r′總的信息量。圖2為本發(fā)明標(biāo)簽推薦方法中svd分解示意圖;svd分解示意圖如圖2所示。

采用svd對矩陣r′進行降維,最主要的是需要保證降維后的矩陣與原始矩陣的信息量相差不大。由于矩陣s中的所有的奇異值體現(xiàn)著原始矩陣中包含的總的信息量,因此可以采用奇異值平方和來對信息量進行定義,并通過設(shè)定閾值來保證有效信息量。假設(shè)所有的奇異值的平方和為p,前f(f為整數(shù))個奇異值的平方和為pf,則信息量的閾值σ=pf/p,通常要求σ≥99%,以此來確定f的值。然后對角矩陣s就成為僅保留前f個奇異值的新對角矩陣sf,再分別從u和v中選取前f個左右奇異值向量,構(gòu)成新的uk和vk,此時,通過uf、vf和sf就可以構(gòu)成降維后的矩陣rf,即:

rf近似于原始矩陣r′,用戶u對項目i的預(yù)測評分就可以通過公式上述來計算,降維后的矩陣svd示意圖如圖3所示;圖3為本發(fā)明標(biāo)簽推薦方法中降維后svd分解示意圖;

svd降維的基本步驟為:

采用svd對r′進行分解后得到u、s和v;

保留對角矩陣s的前f個奇異值,得到新的矩陣sf;

將u和v的前f個特征向量保留,得到uf和vf;

采用公式來計算用戶u對項目i的預(yù)測評分。

將svd應(yīng)用于推薦算法中的優(yōu)點是:可有效降低數(shù)據(jù)維度,簡化評分矩陣,使算法預(yù)測準(zhǔn)確性提升。缺點是:隨著用戶和項目的數(shù)量與日俱增,并且數(shù)據(jù)稀疏性非常大時,已經(jīng)填充好的評分矩陣占用的存儲內(nèi)存非常大,使得算法的計算速度變得非常緩慢,實際應(yīng)用中難以接受。

高階奇異值分解(highordersingularvaluedecomposition,hosvd)是由svd演變而來的,svd針對的是二階矩陣數(shù)據(jù)的降維分解,而hosvd是對高階張量數(shù)據(jù)進行降維分解的一種關(guān)鍵算法,并可應(yīng)用于多個應(yīng)用領(lǐng)域。

hosvd算法對張量分解后得到一個核心張量和n個矩陣的乘積形式。以三階張量a為例,進行hosvd算法分解后得到:a=s×u(1)×u(2)×u(3)

其中,u(1)、u(2)、u(3)均是正交矩陣,為核心張量,它的維數(shù)與張量a是相同的。

步驟107:向第一用戶推薦標(biāo)簽。根據(jù)步驟106得到的標(biāo)簽權(quán)重值,利用top-n算法得到高于其他權(quán)重值的n個權(quán)重值;top-n算法即從研究對象中得到所需的數(shù)據(jù),對其進行排序,從排序列表中選取最大或最小的n個數(shù)據(jù),這就是一個top-n算法。例如當(dāng)n=5時,篩選權(quán)重最高的前5個權(quán)重值,將所述5個權(quán)重值對應(yīng)的標(biāo)簽推薦給所述第一用戶。第一用戶是指第一次對某個項目標(biāo)注標(biāo)簽的用戶。例如篩選出的權(quán)重最高的5個標(biāo)簽為:喜劇,(愛情,倫理),(驚悚,恐怖),動作,感人,則當(dāng)?shù)谝挥脩魧ξ礃?biāo)注過標(biāo)簽的項目標(biāo)注標(biāo)簽時,將上述五個標(biāo)簽推薦給用戶,供用戶選擇。

對于此推薦方法的評價指標(biāo)可以采用命中率來進行評價。當(dāng)用戶對項目進行標(biāo)簽標(biāo)注時,選擇了推薦列表中的標(biāo)簽,則為命中;客戶未選擇推薦列表中的標(biāo)簽,自己定義新的標(biāo)簽對項目進行標(biāo)注,則為未命中。通過計算命中率來評價此推薦方法的準(zhǔn)確度。

圖4為本發(fā)明標(biāo)簽推薦系統(tǒng)的結(jié)構(gòu)圖。如圖4所示,所述結(jié)構(gòu)包括:

標(biāo)簽總集合獲取模塊401,用于依次獲取所有用戶對所有項目標(biāo)注的標(biāo)簽總集合,所述標(biāo)簽總集合包括所有的第一標(biāo)簽集合,所述第一標(biāo)簽集合為一個用戶對一個項目標(biāo)注的標(biāo)簽結(jié)合,所述第一標(biāo)簽集合包括m個標(biāo)簽,m為大于0的整數(shù);

最大頻繁項集獲取模塊402,用于利用apriori算法獲取所述標(biāo)簽總集合中的最大頻繁項集;

新的標(biāo)識設(shè)定模塊403,用于將所述最大頻繁項集設(shè)定為新的標(biāo)識;

第二標(biāo)簽集合形成模塊404,用于將所述第一標(biāo)簽集合中所述最大頻繁項集替換為所述新的標(biāo)識,形成第二標(biāo)簽集合;

三維張量數(shù)據(jù)生成模塊405,用于將用戶、項目、第二標(biāo)簽集合相互對應(yīng),生成用戶-項目-標(biāo)簽的三維張量數(shù)據(jù),并將三者的關(guān)聯(lián)權(quán)重設(shè)為1;

三維張量數(shù)據(jù)分解模塊406,用于利用hosvd算法對所述三維張量數(shù)據(jù)進行分解,得到每個用戶對每個項目標(biāo)注的標(biāo)簽的權(quán)重值;

標(biāo)簽推薦模塊407,用于根據(jù)所述標(biāo)簽權(quán)重值,向第一用戶推薦標(biāo)簽,供所述第一用戶對第一項目標(biāo)注標(biāo)簽使用。

圖5為本發(fā)明標(biāo)簽推薦方法中將張量a沿著三個模方向進行分解的示意圖。如圖5所示,將三維張量數(shù)據(jù)利用公式沿著三個模方向進行分解,a1為所述三維張量a的1-模的矩陣展開形式;a2為所述三維張量a的2-模的矩陣展開形式;a3為所述三維張量a的3-模的矩陣展開形式。

圖6為本發(fā)明標(biāo)簽推薦方法中利用hosvd算法得到近似張量的示意圖;利用hosvd算法近似張量

圖7為本發(fā)明標(biāo)簽推薦方法中推薦標(biāo)簽后命中率比較圖。

實驗采用的數(shù)據(jù)集為movielens網(wǎng)站上的ml-20m數(shù)據(jù)集,此數(shù)據(jù)集是在15年5月產(chǎn)生的,記錄的是1995年到2015年期間用戶對電影進行的評分及標(biāo)簽的行為數(shù)據(jù),從中抽取了671個用戶、915部電影、460個標(biāo)簽及1296條用戶對項目進行標(biāo)簽標(biāo)注的信息作為實驗數(shù)據(jù),本章主要針對預(yù)測準(zhǔn)確性進行研究。為了驗證結(jié)果的準(zhǔn)確性,對數(shù)據(jù)進行了訓(xùn)練測試,本文隨機分了5份數(shù)據(jù)集,分別是d1,d2,d3,d4和d5,并將每份均分割為訓(xùn)練集和測試集,分割比例是9:1。

采用的評價指標(biāo)為命中率。命中率(hitratio)是推薦系統(tǒng)中用于評估推薦準(zhǔn)確性的一個指標(biāo)。命中率為推薦后的推薦列表中被命中的項目在所有被標(biāo)注過標(biāo)簽的項目中占有的比例。其定義公式如下:

推薦列表由top-n算法方法產(chǎn)生,若測試集中項目則視為im命中。

采用apriori算法對數(shù)據(jù)集進行分析后的用戶、項目和標(biāo)簽數(shù)如表1所示。可以看出,采用本發(fā)明方法對標(biāo)簽分析后,元組數(shù)目得到了明顯降低。因為原來經(jīng)常重復(fù)出現(xiàn)的多個標(biāo)簽被定義成一個新標(biāo)簽,那么原數(shù)據(jù)中的多個用戶-項目-標(biāo)簽就可以構(gòu)成一個用戶-項目-新標(biāo)簽,從而降低了三元組數(shù)目。

表1用戶、項目和標(biāo)簽數(shù)

采用hosvd算法分別對上述計算前后的用戶-項目-標(biāo)簽張量數(shù)據(jù)進行計算,得到了命中率隨推薦列表長度的變化結(jié)果如附圖7所示,該結(jié)果是在5個數(shù)據(jù)集上分別計算后求平均值所得。

從圖7可以看出,預(yù)處理前后,隨著推薦列表數(shù)量的增大,命中率hitratio均逐漸增大。而在對應(yīng)的推薦列表上,預(yù)處理后的命中率較預(yù)處理前有明顯提高。當(dāng)top-n到達70時,預(yù)處理后得到的命中率的增長速度逐漸增大。該結(jié)果表明,本發(fā)明的方法能夠有效提高推薦準(zhǔn)確性。

本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。

本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
浙江省| 乌拉特后旗| 三门峡市| 元氏县| 清流县| 崇信县| 洱源县| 政和县| 余姚市| 镇远县| 荥经县| 洛阳市| 西乌| 漾濞| 名山县| 松江区| 尼玛县| 白朗县| 阿拉善左旗| 苍溪县| 宜川县| 宁武县| 桃园县| 白水县| 子洲县| 枣庄市| 辽阳市| 自贡市| 开封县| 荣成市| 靖安县| 漳浦县| 南宫市| 江都市| 天长市| 凤山市| 广西| 钟祥市| 五河县| 盐源县| 莆田市|