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

一種相似用戶選取方法及裝置與流程

文檔序號(hào):11323279閱讀:222來源:國(guó)知局
一種相似用戶選取方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)分析與處理技術(shù)領(lǐng)域,尤其涉及一種相似用戶選取方法及裝置。



背景技術(shù):

隨著人們逐漸步入信息時(shí)代,當(dāng)今世界正處于信息大爆炸的環(huán)境下,并且面臨著嚴(yán)峻的信息過剩問題。僅在2011年,全球數(shù)據(jù)量就達(dá)到了1.8zb,相當(dāng)于全世界每個(gè)人產(chǎn)生200gb以上的數(shù)據(jù)。這種增長(zhǎng)趨勢(shì)仍在加速,據(jù)保守預(yù)計(jì),接下來幾年中,數(shù)據(jù)將始終保持每年50%的增長(zhǎng)速度。如今,各大電商、視頻播放等平臺(tái)用戶每天都將產(chǎn)生海量的數(shù)據(jù),因此如何有效地利用用戶產(chǎn)生的數(shù)據(jù)是當(dāng)今互聯(lián)網(wǎng)企業(yè)亟需解決的問題。這時(shí)候個(gè)性化的推薦系統(tǒng)作為數(shù)據(jù)挖掘的手段便應(yīng)運(yùn)而生了。推薦系統(tǒng)指的是互聯(lián)網(wǎng)站向用戶提供產(chǎn)品信息或建議,讓用戶發(fā)現(xiàn)自己潛在的興趣和需求并幫助用戶選擇產(chǎn)品。

傳統(tǒng)推薦系統(tǒng)的相似用戶計(jì)算方法主要是基于用戶的協(xié)同過濾算法(userbasedcollaborativefiltering,usercf)來獲得,具體如下:

給定用戶u和用戶v,令n(u)表示用戶u有過正反饋行為的物品集合,n(v)表示用戶v有過正反饋行為的物品集合,那么我們可以通過jaccard公式計(jì)算用戶u和v的相似度;或者通過余弦相似度公式計(jì)算用戶u和v的相似度。

協(xié)同過濾算法將很多時(shí)間浪費(fèi)在用戶之間對(duì)同樣的物品產(chǎn)生過正反饋行為的計(jì)算上,事實(shí)上很多用戶之間并沒有對(duì)同樣的物品產(chǎn)生過正反饋行為。因此,基于協(xié)同過濾算法獲取相似用戶的缺點(diǎn)有:①用戶數(shù)量很大時(shí)計(jì)算復(fù)雜度高;②大多數(shù)用戶沒有對(duì)相同物品產(chǎn)生過正反饋行為,無用計(jì)算過多。



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

本發(fā)明所要解決的技術(shù)問題是,提供一種相似用戶選取方法及裝置,旨在解決現(xiàn)有技術(shù)中相似用戶選取的過程,計(jì)算復(fù)雜且無用計(jì)算過多的問題。

本發(fā)明實(shí)施例第一方面提供了一種相似用戶選取方法,所述方法包括:

獲取全部用戶的內(nèi)容查看歷史數(shù)據(jù),所述用戶的內(nèi)容查看歷史數(shù)據(jù)包括用戶的全部歷史內(nèi)容及各所述歷史內(nèi)容的查看時(shí)間點(diǎn),所述歷史內(nèi)容為用戶查看過的內(nèi)容;

按照所述查看時(shí)間點(diǎn)的先后順序?qū)λ鲇脩舻娜繗v史內(nèi)容進(jìn)行排序,得到所述用戶的歷史查看內(nèi)容序列;

對(duì)所述用戶的歷史查看內(nèi)容序列進(jìn)行連續(xù)詞袋模型訓(xùn)練,得到連續(xù)詞袋模型,以及所述歷史內(nèi)容的內(nèi)容向量;

根據(jù)得到的所述內(nèi)容向量計(jì)算所述用戶的興趣偏好,并根據(jù)所述用戶的興趣偏好計(jì)算各用戶與目標(biāo)用戶的相似度;

選取與所述目標(biāo)用戶相似度最高的預(yù)置數(shù)量個(gè)用戶作為所述目標(biāo)用戶的相似用戶。

本發(fā)明實(shí)施例第二方面提供了一種相似用戶選取裝置,所述裝置包括:

獲取模塊,用于獲取全部用戶的內(nèi)容查看歷史數(shù)據(jù),所述用戶的內(nèi)容查看歷史數(shù)據(jù)包括用戶的全部歷史內(nèi)容及各所述歷史內(nèi)容的查看時(shí)間點(diǎn),所述歷史內(nèi)容為用戶查看過的內(nèi)容;

排序模塊,用于按照所述查看時(shí)間點(diǎn)的先后順序?qū)λ鲇脩舻娜繗v史內(nèi)容進(jìn)行排序,得到所述用戶的歷史查看內(nèi)容序列;

訓(xùn)練模塊,用于對(duì)所述用戶的歷史查看內(nèi)容序列進(jìn)行連續(xù)詞袋模型訓(xùn)練,得到連續(xù)詞袋模型,以及所述歷史內(nèi)容的內(nèi)容向量;

計(jì)算模塊,用于根據(jù)得到的所述內(nèi)容向量計(jì)算所述用戶的興趣偏好,并根據(jù)所述用戶的興趣偏好計(jì)算各用戶與目標(biāo)用戶的相似度;

選取模塊,用于選取與所述目標(biāo)用戶相似度最高的預(yù)置數(shù)量個(gè)用戶作為所述目標(biāo)用戶的相似用戶。

從上述本發(fā)明實(shí)施例可知,本發(fā)明通過獲取全部用戶的內(nèi)容查看歷史數(shù)據(jù),按照查看時(shí)間點(diǎn)的先后順序?qū)τ脩舻娜繗v史內(nèi)容進(jìn)行排序,得到用戶的歷史查看內(nèi)容序列,對(duì)用戶的歷史查看內(nèi)容序列進(jìn)行連續(xù)詞袋模型訓(xùn)練,得到連續(xù)詞袋模型,以及歷史內(nèi)容的內(nèi)容向量,根據(jù)得到的內(nèi)容向量計(jì)算用戶的興趣偏好,并根據(jù)用戶的興趣偏好計(jì)算各用戶與目標(biāo)用戶的相似度,選取與目標(biāo)用戶相似度最高的預(yù)置數(shù)量個(gè)用戶作為目標(biāo)用戶的相似用戶。與現(xiàn)有技術(shù)相比,本發(fā)明不需要根據(jù)用戶對(duì)同樣物品產(chǎn)生正反饋行為來計(jì)算用戶之間的相似用戶,避免了很多沒有對(duì)同樣物品產(chǎn)生過正反饋行為的用戶,無法進(jìn)行相似用戶計(jì)算的問題。

附圖說明

附圖1是本發(fā)明第一實(shí)施例提供的相似用戶選取方法的實(shí)現(xiàn)流程示意圖;

附圖2是本發(fā)明第二實(shí)施例提供的相似用戶選取方法的實(shí)現(xiàn)流程示意圖;

附圖3是本發(fā)明第三實(shí)施例提供的相似用戶選取裝置的結(jié)構(gòu)示意圖;

附圖4是本發(fā)明第四實(shí)施例提供的相似用戶選取裝置的結(jié)構(gòu)示意圖;

附圖5是本發(fā)明第二實(shí)施例提供的用戶的興趣分布矩陣。

具體實(shí)施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。

請(qǐng)參閱附圖1,附圖1為本發(fā)明第一實(shí)施例提供的相似用戶選取方法的實(shí)現(xiàn)流程示意圖,該方法可以應(yīng)用于終端設(shè)備中。如附圖1所示,該方法主要包括以下步驟:

s101、獲取全部用戶的內(nèi)容查看歷史數(shù)據(jù);

其中,用戶的內(nèi)容查看歷史數(shù)據(jù)包括用戶的全部歷史內(nèi)容及各歷史內(nèi)容的查看時(shí)間點(diǎn)。進(jìn)一步地,該歷史內(nèi)容為用戶查看過的內(nèi)容,即終端設(shè)備記錄下的用戶之前通過該終端設(shè)備查看過的內(nèi)容。該歷史內(nèi)容可以但不限于包括:網(wǎng)絡(luò)上的視頻、音頻、新聞或商品。查看的方式包括點(diǎn)擊該歷史內(nèi)容的鏈接。

當(dāng)歷史內(nèi)容為視頻或音樂時(shí),點(diǎn)擊視頻或音樂的鏈接將播放該視頻或音樂,當(dāng)歷史內(nèi)容為新聞時(shí),點(diǎn)擊新聞鏈接將呈現(xiàn)出新聞的內(nèi)容,點(diǎn)擊商品鏈接將呈現(xiàn)出商品信息。歷史內(nèi)容的查看時(shí)間點(diǎn)是指查看該歷史內(nèi)容的時(shí)刻。

s102、按照查看時(shí)間點(diǎn)的先后順序?qū)τ脩舻娜繗v史內(nèi)容進(jìn)行排序,得到用戶的歷史查看內(nèi)容序列;

s103、對(duì)用戶的歷史查看內(nèi)容序列進(jìn)行連續(xù)詞袋模型訓(xùn)練,得到連續(xù)詞袋模型,以及歷史內(nèi)容的內(nèi)容向量。

連續(xù)詞袋模型訓(xùn)練利用了自然語言處理算法,將本用于進(jìn)行語言處理領(lǐng)域的自然語言處理算法應(yīng)用到本發(fā)明中。自然語言處理算法通過學(xué)習(xí)訓(xùn)練語料獲取詞向量和概率密度函數(shù)。詞向量是多維實(shí)數(shù)向量,詞向量中包含了自然語言中的語義和語法關(guān)系,詞向量之間的余弦距離代表了詞語之間的相似度。每個(gè)歷史查看內(nèi)容序列當(dāng)做自然語言中的一個(gè)句子,序列中的每個(gè)歷史內(nèi)容當(dāng)成句子中的一個(gè)詞。使用語言模型對(duì)每個(gè)用戶的歷史查看內(nèi)容序列進(jìn)行學(xué)習(xí)訓(xùn)練后將得到每個(gè)歷史內(nèi)容的內(nèi)容向量,該內(nèi)容向量等效于自然語言處理中獲得的詞向量。本實(shí)施例中采用的語言模型為連續(xù)詞袋模型,連續(xù)詞袋模型是一種能夠根據(jù)一句話中的前后詞語預(yù)測(cè)或產(chǎn)生出中心詞語的詞袋模型。以句子“thecatjumpoverthepuddle”為例,連續(xù)詞袋模型能夠以{“the”,“cat”,“over”,“the”,“puddle”}為上下文,預(yù)測(cè)或產(chǎn)生出中心詞語“jump”,這種模型稱為連續(xù)詞袋模型。

s104、根據(jù)得到的內(nèi)容向量計(jì)算用戶的興趣偏好,并根據(jù)用戶的興趣偏好計(jì)算各用戶與目標(biāo)用戶的相似度;

s105、選取與目標(biāo)用戶相似度最高的預(yù)置數(shù)量個(gè)用戶作為目標(biāo)用戶的相似用戶。

可以理解的,此處的預(yù)置數(shù)量可以根據(jù)需要進(jìn)行設(shè)置、更改。

本發(fā)明實(shí)施例提供的相似用戶選取方法,通過獲取全部用戶的內(nèi)容查看歷史數(shù)據(jù),按照查看時(shí)間點(diǎn)的先后順序?qū)τ脩舻娜繗v史內(nèi)容進(jìn)行排序,得到用戶的歷史查看內(nèi)容序列,對(duì)用戶的歷史查看內(nèi)容序列進(jìn)行連續(xù)詞袋模型訓(xùn)練,得到連續(xù)詞袋模型,以及歷史內(nèi)容的內(nèi)容向量,根據(jù)得到的內(nèi)容向量計(jì)算用戶的興趣偏好,并根據(jù)用戶的興趣偏好計(jì)算各用戶與目標(biāo)用戶的相似度,選取與目標(biāo)用戶相似度最高的預(yù)置數(shù)量個(gè)用戶作為目標(biāo)用戶的相似用戶。與現(xiàn)有技術(shù)相比,本發(fā)明不需要根據(jù)用戶對(duì)同樣物品產(chǎn)生正反饋行為來計(jì)算用戶之間的相似用戶,避免了很多沒有對(duì)同樣物品產(chǎn)生過正反饋行為的用戶,無法進(jìn)行相似用戶計(jì)算的問題。

請(qǐng)參閱附圖2,附圖2為本發(fā)明第二實(shí)施例提供的相似用戶選取方法的實(shí)現(xiàn)流程示意圖,該方法可以應(yīng)用于終端設(shè)備中。如附圖2所示,該方法主要包括以下步驟:

s201、獲取全部用戶的內(nèi)容查看歷史數(shù)據(jù);

其中,用戶的內(nèi)容查看歷史數(shù)據(jù)包括用戶的全部歷史內(nèi)容及各歷史內(nèi)容的查看時(shí)間點(diǎn)。進(jìn)一步地,該歷史內(nèi)容為用戶查看過的內(nèi)容,即終端設(shè)備記錄下的用戶之前通過該終端設(shè)備查看過的內(nèi)容。該歷史內(nèi)容可以但不限于包括:網(wǎng)絡(luò)上的視頻、音頻、新聞或商品。查看的方式包括點(diǎn)擊該歷史內(nèi)容的鏈接。

當(dāng)歷史內(nèi)容為視頻或音樂時(shí),點(diǎn)擊視頻或音樂的鏈接將播放該視頻或音樂,當(dāng)歷史內(nèi)容為新聞時(shí),點(diǎn)擊新聞鏈接將呈現(xiàn)出新聞的內(nèi)容,點(diǎn)擊商品鏈接將呈現(xiàn)出商品信息。歷史內(nèi)容的查看時(shí)間點(diǎn)是指查看該歷史內(nèi)容的時(shí)刻。

s202、按照查看時(shí)間點(diǎn)的先后順序?qū)τ脩舻娜繗v史內(nèi)容進(jìn)行排序,得到用戶的歷史查看內(nèi)容序列;

s203、對(duì)用戶的歷史查看內(nèi)容序列進(jìn)行連續(xù)詞袋模型訓(xùn)練,得到連續(xù)詞袋模型,以及歷史內(nèi)容的內(nèi)容向量;

連續(xù)詞袋模型訓(xùn)練利用了自然語言處理算法,將本用于進(jìn)行語言處理領(lǐng)域的自然語言處理算法應(yīng)用到本發(fā)明中。自然語言處理算法通過學(xué)習(xí)訓(xùn)練語料獲取詞向量和概率密度函數(shù)。詞向量是多維實(shí)數(shù)向量,詞向量中包含了自然語言中的語義和語法關(guān)系,詞向量之間的余弦距離代表了詞語之間的相似度。每個(gè)歷史查看內(nèi)容序列當(dāng)做自然語言中的一個(gè)句子,序列中的每個(gè)歷史內(nèi)容當(dāng)成句子中的一個(gè)詞。使用語言模型對(duì)每個(gè)用戶的歷史查看內(nèi)容序列進(jìn)行學(xué)習(xí)訓(xùn)練后將得到每個(gè)歷史內(nèi)容的內(nèi)容向量,該內(nèi)容向量等效于自然語言處理中獲得的詞向量。本實(shí)施例中采用的語言模型為連續(xù)詞袋模型,連續(xù)詞袋模型是一種能夠根據(jù)一句話中的前后詞語預(yù)測(cè)或產(chǎn)生出中心詞語的詞袋模型。以句子“thecatjumpoverthepuddle”為例,連續(xù)詞袋模型能夠以{“the”,“cat”,“over”,“the”,“puddle”}為上下文,預(yù)測(cè)或產(chǎn)生出中心詞語“jump”,這種模型稱為連續(xù)詞袋模型。

步驟s203具體包括:

步驟c1:建立連續(xù)詞袋模型的輸入矩陣v和輸出矩陣u,并對(duì)輸入矩陣v和輸出矩陣u進(jìn)行隨機(jī)初始化。

其中,v∈rn×|v|,u∈r|v|×n,n表示向量維度。首先,需要建立模型的一些已知參數(shù),把訓(xùn)練集中所有內(nèi)容進(jìn)行one-hot(獨(dú)熱)編碼,再將內(nèi)容序列表示為一些one-hot向量作為模型的輸入,記為x(c)。模型只有一個(gè)輸出,即中心內(nèi)容,記為y。以上文中的英文句子為例,y就是我們已知的中心詞語“jump”。然后定義模型中的未知參數(shù),建立兩個(gè)矩陣u、v,v∈rn×|v|,u∈r|v|×n。其中n可任意指定,表示內(nèi)容向量的維度,v表示輸入詞矩陣。當(dāng)內(nèi)容wi(one_hot向量)作為模型輸入的時(shí)候,v的第i列就是這個(gè)內(nèi)容wi對(duì)應(yīng)的n維內(nèi)容向量,這一列表示為vi。類似地,u是輸出矩陣,當(dāng)內(nèi)容wj(one_hot向量)作為模型輸出的時(shí)候,u的第i行就是這個(gè)內(nèi)容wi對(duì)應(yīng)的n維內(nèi)容向量,這一行表示為ui。我們對(duì)每個(gè)內(nèi)容wi學(xué)習(xí)了兩個(gè)內(nèi)容向量,一個(gè)是輸出內(nèi)容的向量ui,另一個(gè)是輸入內(nèi)容的向量vi。

步驟c2:從用戶的歷史查看內(nèi)容序列中選取一個(gè)歷史內(nèi)容xc作為中心內(nèi)容,并讀取中心內(nèi)容的前后的各m個(gè)歷史內(nèi)容,并對(duì)讀取出的2m個(gè)歷史內(nèi)容進(jìn)行獨(dú)熱碼編碼,得到這2m個(gè)歷史內(nèi)容的獨(dú)熱碼。該2m個(gè)歷史內(nèi)容的獨(dú)熱碼分別表示如下:

x(c-m),...,x(c-1),x(c+1),...,x(c+m)。

步驟c3:將這2m個(gè)歷史內(nèi)容的獨(dú)熱碼分別乘以輸入矩陣,得到這2m個(gè)歷史內(nèi)容的輸入內(nèi)容向量。該2m個(gè)歷史內(nèi)容的輸入內(nèi)容向量分別表示如下:

vc-m=vx(c-m),...vc-1=vx(c-1),vc+1=vx(c+1),...,vc+m=vx(c+m)

其中,vi表示內(nèi)容wi的輸入內(nèi)容向量。

步驟c4:對(duì)2m個(gè)歷史內(nèi)容的輸入內(nèi)容向量求平均值

步驟c5:根據(jù)平均值計(jì)算得分向量z:

步驟c6:將得分向量轉(zhuǎn)換為概率分布

步驟c7:利用交叉熵作為目標(biāo)函數(shù),計(jì)算中心內(nèi)容在輸出矩陣u中的內(nèi)容向量與概率分布之間的誤差:其中,為步驟c6中得到的概率分布,y為中心內(nèi)容在輸出矩陣u中的內(nèi)容向量。

步驟c8:根據(jù)誤差得到最終的優(yōu)化目標(biāo)函數(shù):

其中,ui表示內(nèi)容wi的輸出內(nèi)容向量。

步驟c9:采用梯度下降法對(duì)輸出矩陣中的中心內(nèi)容的內(nèi)容向量和輸入矩陣中的2m個(gè)歷史內(nèi)容對(duì)應(yīng)的內(nèi)容向量進(jìn)行更新,得到最終的輸入矩陣v和輸出矩陣u,從而得到連續(xù)詞袋模型,并得到各歷史內(nèi)容的內(nèi)容向量。

s204、根據(jù)聚類算法將用戶的歷史內(nèi)容分為多個(gè)類別,獲取各類別歷史內(nèi)容的類屬中心向量;

在本實(shí)施例中,運(yùn)用k-means聚類算法,可以將用戶的歷史內(nèi)容分為多個(gè)類別,并獲取各類別歷史內(nèi)容的類屬中心向量。

具體為,在步驟s203中可以獲取歷史內(nèi)容的內(nèi)容向量,相似歷史內(nèi)容在空間上具有相鄰的特性,因此我們利用內(nèi)容向量的聚類對(duì)歷史內(nèi)容自動(dòng)分類。這種分類方法一方面摒棄了人工劃分類屬時(shí),類屬粒度過大并且不準(zhǔn)確的問題;另一方面也可以得到更細(xì)粒度的類屬的劃分。舉例說明,用戶歷史內(nèi)容的集合i={v1,v2,v3,...,vn},通過步驟s203的訓(xùn)練每個(gè)歷史內(nèi)容v對(duì)應(yīng)一個(gè)l維的內(nèi)容向量。如歷史內(nèi)容v1對(duì)應(yīng)的內(nèi)容向量為v1=[f1,f2,...,fl],利用k-means算法把用戶歷史內(nèi)容的集合i對(duì)應(yīng)的歷史內(nèi)容v聚為k類,得到的各類別歷史內(nèi)容的類屬中心向量的合集為c={c1,c2,c3,...,ck}。

s205、獲取用戶在預(yù)設(shè)時(shí)間窗口內(nèi)查看過的內(nèi)容,并根據(jù)公式ci∈c,計(jì)算用戶對(duì)各類別歷史內(nèi)容的興趣偏好;

i(u,ci)為用戶u對(duì)類屬中心向量為ci的類別的歷史內(nèi)容的興趣偏好,n為預(yù)設(shè)時(shí)間窗口內(nèi)用戶u查看過的內(nèi)容的數(shù)量,為預(yù)設(shè)時(shí)間窗口內(nèi)用戶u查看過的內(nèi)容的內(nèi)容向量的合集,σ為興趣偏好參數(shù),該興趣偏好參數(shù)可以根據(jù)需要進(jìn)行設(shè)置、更改。需要說明的是,這里的預(yù)設(shè)時(shí)間窗口是指預(yù)設(shè)的一個(gè)時(shí)間段,可以是對(duì)每個(gè)用戶選取同一時(shí)間段,例如每個(gè)用戶都選取2017年5月23日的12:00~12:30;也可以對(duì)各用戶選取不同的時(shí)間段,只需保證每個(gè)用戶選取的時(shí)間段內(nèi)包含的時(shí)間長(zhǎng)短是相同的,例如用戶a選取2017年5月23日的12:00~12:30,用戶b選取2017年4月10日的12:00~12:30,用戶c選取2017年5月23日的10:00~10:30。

s206、根據(jù)計(jì)算得到的用戶對(duì)各類別歷史內(nèi)容的興趣偏好,以及公式計(jì)算各用戶與目標(biāo)用戶的相似度;

可以理解的,這里可以令n為目標(biāo)用戶,m為待求用戶,將步驟s205中求出的目標(biāo)用戶和待求用戶對(duì)各類別歷史內(nèi)容的興趣偏好帶入此公式中,求得各用戶與目標(biāo)用戶的相似度。

進(jìn)一步地,可以根據(jù)計(jì)算得到的用戶的興趣偏好,建立全部用戶的興趣分布矩陣,如圖5所示。

將該興趣分布矩陣中的數(shù)據(jù)帶入公式中,計(jì)算各用戶與目標(biāo)用戶的相似度。

s207、選取與目標(biāo)用戶相似度最高的預(yù)置數(shù)量個(gè)用戶作為目標(biāo)用戶的相似用戶。

可以理解的,此處的預(yù)置數(shù)量可以根據(jù)需要進(jìn)行設(shè)置、更改。

本發(fā)明實(shí)施例提供的相似用戶選取方法,通過獲取全部用戶的內(nèi)容查看歷史數(shù)據(jù),按照查看時(shí)間點(diǎn)的先后順序?qū)τ脩舻娜繗v史內(nèi)容進(jìn)行排序,得到用戶的歷史查看內(nèi)容序列,對(duì)用戶的歷史查看內(nèi)容序列進(jìn)行連續(xù)詞袋模型訓(xùn)練,得到連續(xù)詞袋模型,以及歷史內(nèi)容的內(nèi)容向量,根據(jù)得到的內(nèi)容向量計(jì)算用戶的興趣偏好,并根據(jù)用戶的興趣偏好計(jì)算各用戶與目標(biāo)用戶的相似度,選取與目標(biāo)用戶相似度最高的預(yù)置數(shù)量個(gè)用戶作為目標(biāo)用戶的相似用戶。與現(xiàn)有技術(shù)相比,本發(fā)明不需要根據(jù)用戶對(duì)同樣物品產(chǎn)生正反饋行為來計(jì)算用戶之間的相似用戶,避免了很多沒有對(duì)同樣物品產(chǎn)生過正反饋行為的用戶,無法進(jìn)行相似用戶計(jì)算的問題。

請(qǐng)參閱附圖3,附圖3是本發(fā)明第三實(shí)施例提供的相似用戶選取裝置的結(jié)構(gòu)示意圖,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。附圖3示例的相似用戶選取裝置可以是前述第一實(shí)施例提供的相似用戶選取方法的執(zhí)行主體,其可以是終端設(shè)備或者終端設(shè)備中的一個(gè)功能模塊。附圖3示例的相似用戶選取裝置,主要包括:獲取模塊301、排序模塊302、訓(xùn)練模塊303、計(jì)算模塊304及選取模塊305。各功能模塊詳細(xì)說明如下:

獲取模塊301,用于獲取全部用戶的內(nèi)容查看歷史數(shù)據(jù),用戶的內(nèi)容查看歷史數(shù)據(jù)包括用戶的全部歷史內(nèi)容及各歷史內(nèi)容的查看時(shí)間點(diǎn),歷史內(nèi)容為用戶查看過的內(nèi)容。

排序模塊302,用于按照查看時(shí)間點(diǎn)的先后順序?qū)τ脩舻娜繗v史內(nèi)容進(jìn)行排序,得到用戶的歷史查看內(nèi)容序列。

訓(xùn)練模塊303,用于對(duì)用戶的歷史查看內(nèi)容序列進(jìn)行連續(xù)詞袋模型訓(xùn)練,得到連續(xù)詞袋模型,以及歷史內(nèi)容的內(nèi)容向量。

計(jì)算模塊304,用于根據(jù)得到的內(nèi)容向量計(jì)算用戶的興趣偏好,并根據(jù)用戶的興趣偏好計(jì)算各用戶與目標(biāo)用戶的相似度。

選取模塊305,用于選取與目標(biāo)用戶相似度最高的預(yù)置數(shù)量個(gè)用戶作為目標(biāo)用戶的相似用戶。

上述各功能模塊實(shí)現(xiàn)各自功能的具體過程,可參考前述第一實(shí)施例提供的相似用戶選取方法的相關(guān)內(nèi)容,此處不再贅述。

本發(fā)明實(shí)施例提供的相似用戶選取裝置,通過獲取全部用戶的內(nèi)容查看歷史數(shù)據(jù),按照查看時(shí)間點(diǎn)的先后順序?qū)τ脩舻娜繗v史內(nèi)容進(jìn)行排序,得到用戶的歷史查看內(nèi)容序列,對(duì)用戶的歷史查看內(nèi)容序列進(jìn)行連續(xù)詞袋模型訓(xùn)練,得到連續(xù)詞袋模型,以及歷史內(nèi)容的內(nèi)容向量,根據(jù)得到的內(nèi)容向量計(jì)算用戶的興趣偏好,并根據(jù)用戶的興趣偏好計(jì)算各用戶與目標(biāo)用戶的相似度,選取與目標(biāo)用戶相似度最高的預(yù)置數(shù)量個(gè)用戶作為目標(biāo)用戶的相似用戶。與現(xiàn)有技術(shù)相比,本發(fā)明不需要根據(jù)用戶對(duì)同樣物品產(chǎn)生正反饋行為來計(jì)算用戶之間的相似用戶,避免了很多沒有對(duì)同樣物品產(chǎn)生過正反饋行為的用戶,無法進(jìn)行相似用戶計(jì)算的問題。

請(qǐng)參閱附圖4,附圖4是本發(fā)明第四實(shí)施例提供的相似用戶選取裝置的結(jié)構(gòu)示意圖,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。附圖4示例的相似用戶選取裝置可以是前述第二實(shí)施例提供的相似用戶選取方法的執(zhí)行主體,其可以是終端設(shè)備或者終端設(shè)備中的一個(gè)功能模塊。附圖4示例的相似用戶選取裝置,主要包括:獲取模塊401、排序模塊402、訓(xùn)練模塊403、計(jì)算模塊404及選取模塊405。其中,計(jì)算模塊404包括分類模塊4041、興趣計(jì)算模塊4042及相似度計(jì)算模塊4043。各功能模塊詳細(xì)說明如下:

獲取模塊401,用于獲取全部用戶的內(nèi)容查看歷史數(shù)據(jù),用戶的內(nèi)容查看歷史數(shù)據(jù)包括用戶的全部歷史內(nèi)容及各歷史內(nèi)容的查看時(shí)間點(diǎn),歷史內(nèi)容為用戶查看過的內(nèi)容。

排序模塊402,用于按照查看時(shí)間點(diǎn)的先后順序?qū)τ脩舻娜繗v史內(nèi)容進(jìn)行排序,得到用戶的歷史查看內(nèi)容序列。

訓(xùn)練模塊403,用于對(duì)用戶的歷史查看內(nèi)容序列進(jìn)行連續(xù)詞袋模型訓(xùn)練,得到連續(xù)詞袋模型,以及歷史內(nèi)容的內(nèi)容向量。

訓(xùn)練模塊403,具體用于:

建立連續(xù)詞袋模型的輸入矩陣v和輸出矩陣u,并對(duì)輸入矩陣v和輸出矩陣u進(jìn)行隨機(jī)初始化;其中,v∈rn×|v|,u∈r|v|×n,n表示向量維度;

從用戶的歷史查看內(nèi)容序列中選取一個(gè)歷史內(nèi)容xc作為中心內(nèi)容,并讀取中心內(nèi)容的前后的各m個(gè)歷史內(nèi)容,并對(duì)讀取出的2m個(gè)歷史內(nèi)容進(jìn)行獨(dú)熱碼編碼,得到2m個(gè)歷史內(nèi)容的獨(dú)熱碼,2m個(gè)歷史內(nèi)容的獨(dú)熱碼分別表示如下:

x(c-m),...,x(c-1),x(c+1),...,x(c+m);

將2m個(gè)歷史內(nèi)容的獨(dú)熱碼分別乘以輸入矩陣v,得到2m個(gè)歷史內(nèi)容的輸入內(nèi)容向量,2m個(gè)歷史內(nèi)容的輸入內(nèi)容向量分別表示如下:

vc-m=vx(c-m),...vc-1=vx(c-1),vc+1=vx(c+1),...,vc+m=vx(c+m),vi表示歷史內(nèi)容的輸入內(nèi)容向量;

對(duì)2m個(gè)歷史內(nèi)容的輸入內(nèi)容向量求平均值

根據(jù)平均值計(jì)算得分向量z:

將得分向量z轉(zhuǎn)換為概率分布

利用交叉熵作為目標(biāo)函數(shù),計(jì)算中心內(nèi)容在輸出矩陣u中的內(nèi)容向量與概率分布之間的誤差:其中,為概率分布,y為中心內(nèi)容在輸出矩陣u中的內(nèi)容向量;

根據(jù)誤差得到優(yōu)化目標(biāo)函數(shù):

ui表示歷史內(nèi)容wi的輸出內(nèi)容向量;

采用梯度下降法對(duì)輸出矩陣u中的中心內(nèi)容的內(nèi)容向量和輸入矩陣中的2m個(gè)歷史內(nèi)容對(duì)應(yīng)的內(nèi)容向量進(jìn)行更新,得到最終的輸入矩陣v和輸出矩陣u,得到連續(xù)詞袋模型,并得到歷史內(nèi)容的內(nèi)容向量。

計(jì)算模塊404,用于根據(jù)得到的內(nèi)容向量計(jì)算用戶的興趣偏好,并根據(jù)用戶的興趣偏好計(jì)算各用戶與目標(biāo)用戶的相似度。

計(jì)算模塊404包括:

分類模塊4041,用于根據(jù)聚類算法將用戶的歷史內(nèi)容分為多個(gè)類別,獲取各類別歷史內(nèi)容的類屬中心向量。

興趣計(jì)算模塊4042,用于獲取用戶在預(yù)設(shè)時(shí)間窗口內(nèi)查看過的內(nèi)容,并根據(jù)公式ci∈c,計(jì)算用戶對(duì)各類別歷史內(nèi)容的興趣偏好,其中i(u,ci)為用戶u對(duì)類屬中心向量為ci的類別的歷史內(nèi)容的興趣偏好,n為預(yù)設(shè)時(shí)間窗口內(nèi)用戶u查看過的內(nèi)容的數(shù)量,為預(yù)設(shè)時(shí)間窗口內(nèi)用戶u查看過的內(nèi)容的內(nèi)容向量的合集,σ為興趣偏好參數(shù)。

相似度計(jì)算模塊4043,用于根據(jù)計(jì)算得到的用戶對(duì)各類別歷史內(nèi)容的興趣偏好,以及公式計(jì)算各用戶與目標(biāo)用戶的相似度,其中sim(m,n)為用戶m與目標(biāo)用戶n的相似度。

進(jìn)一步地,計(jì)算模塊404還用于根據(jù)計(jì)算得到的用戶的興趣偏好,建立全部用戶的興趣分布矩陣,根據(jù)建立的全部用戶的興趣分布矩陣,計(jì)算各用戶與目標(biāo)用戶的相似度。

選取模塊405,用于選取與目標(biāo)用戶相似度最高的預(yù)置數(shù)量個(gè)用戶作為目標(biāo)用戶的相似用戶。

上述各功能模塊實(shí)現(xiàn)各自功能的具體過程,可參考前述第二實(shí)施例提供的相似用戶選取方法的相關(guān)內(nèi)容,此處不再贅述。

本發(fā)明實(shí)施例提供的相似用戶選取裝置,通過獲取全部用戶的內(nèi)容查看歷史數(shù)據(jù),按照查看時(shí)間點(diǎn)的先后順序?qū)τ脩舻娜繗v史內(nèi)容進(jìn)行排序,得到用戶的歷史查看內(nèi)容序列,對(duì)用戶的歷史查看內(nèi)容序列進(jìn)行連續(xù)詞袋模型訓(xùn)練,得到連續(xù)詞袋模型,以及歷史內(nèi)容的內(nèi)容向量,根據(jù)得到的內(nèi)容向量計(jì)算用戶的興趣偏好,并根據(jù)用戶的興趣偏好計(jì)算各用戶與目標(biāo)用戶的相似度,選取與目標(biāo)用戶相似度最高的預(yù)置數(shù)量個(gè)用戶作為目標(biāo)用戶的相似用戶。與現(xiàn)有技術(shù)相比,本發(fā)明不需要根據(jù)用戶對(duì)同樣物品產(chǎn)生正反饋行為來計(jì)算用戶之間的相似用戶,避免了很多沒有對(duì)同樣物品產(chǎn)生過正反饋行為的用戶,無法進(jìn)行相似用戶計(jì)算的問題。

需要說明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)便描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其它順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定都是本發(fā)明所必須的。

在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其它實(shí)施例的相關(guān)描述。

以上為對(duì)本發(fā)明所提供的相似用戶選取方法、裝置的描述,對(duì)于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
永宁县| 泽普县| 葵青区| 兴仁县| 军事| 花垣县| 盘山县| 抚州市| 称多县| 高雄县| 中阳县| 旬邑县| 定远县| 揭西县| 宣汉县| 仪陇县| 济南市| 延长县| 阿巴嘎旗| 昌乐县| 荃湾区| 常州市| 大方县| 高尔夫| 左权县| 本溪| 凯里市| 伊川县| 巴东县| 疏附县| 江门市| 新晃| 绥江县| 丰顺县| 大化| 盐池县| 德阳市| 温泉县| 报价| 黔南| 丹寨县|