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

一種基于二分圖的服務(wù)推薦方法及裝置與流程

文檔序號:12063826閱讀:232來源:國知局
一種基于二分圖的服務(wù)推薦方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)挖掘及推薦領(lǐng)域,特別是涉及一種基于二分圖的服務(wù)推薦方法及裝置。



背景技術(shù):

互聯(lián)網(wǎng)的出現(xiàn)和普及,使得互聯(lián)網(wǎng)中的信息大幅度增長,這也給使用者在獲得真正有用的信息時帶來了很大的難度,造成了信息超載的現(xiàn)象。為了解決信息超載問題,現(xiàn)有技術(shù)提出了服務(wù)推薦方法,其基本處理思想為:采集若干用戶所感興趣的服務(wù),根據(jù)用戶感興趣的服務(wù),向該若干用戶推薦服務(wù)集合中的服務(wù),其中,該服務(wù)集合為所采集的服務(wù)構(gòu)成的集合。其中,用戶感興趣的服務(wù),可以是用戶購買過的、瀏覽過的、收藏過的服務(wù)等,并且所謂的服務(wù)可以為信息、產(chǎn)品等。

現(xiàn)有服務(wù)推薦方法的實現(xiàn)方式有很多,其中一種是基于LDA(Latent Dirichlet Allocation,文檔主題生成模型)進(jìn)行實現(xiàn)的,LDA是基于用戶-服務(wù)的二分圖推薦技術(shù)。用戶-服務(wù)的二分圖是指以目標(biāo)用戶和服務(wù)分別作為頂點,在目標(biāo)用戶對服務(wù)感興趣的情況下,該目標(biāo)用戶頂點和服務(wù)頂點之間存在連線,否則不存在連線,目標(biāo)用戶與目標(biāo)用戶之間、服務(wù)與服務(wù)之間也不存在頂點之間的連線。LDA推薦技術(shù)計算復(fù)雜多高,具體實施時一般采用MCMC(Markov Chain Monte Carlo,馬爾科夫鏈蒙特卡洛)抽樣算法計算輸入的用戶-服務(wù)二分圖中的待推薦服務(wù)的概率分布,并根據(jù)概率分布對目標(biāo)用戶進(jìn)行服務(wù)推薦。雖然MCMC抽樣算法使得LDA推薦技術(shù)可行,但是其數(shù)學(xué)性質(zhì)復(fù)雜,計算的復(fù)雜度高,限制了基于LDA的推薦技術(shù)的應(yīng)用。另外兩種廣泛應(yīng)用的推薦技術(shù)是協(xié)同過濾(Collaborative filtering technology)推薦技術(shù)和潛在因子模型(Latent factor model)推薦技術(shù),其復(fù)雜度相對低一些,但是模型輸出的用戶和服務(wù)向量的元素取值是任意值,可解釋性差,難以與其它模型結(jié)合來構(gòu)建更復(fù)雜的實際應(yīng)用。



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

本發(fā)明實施例的目的在于提供一種基于二分圖的服務(wù)推薦方法及裝置,以降低基于二分圖的服務(wù)推薦計算復(fù)雜度,且模型輸出的用戶興趣向量和服務(wù)主題向量均為概率向量,便于構(gòu)建更多基于概率的實際應(yīng)用。。

具體技術(shù)方案如下:

一種基于二分圖的服務(wù)推薦方法,所述方法包括:

采集目標(biāo)用戶中每一個目標(biāo)用戶感興趣的服務(wù);

構(gòu)建每一個目標(biāo)用戶的初始的用戶興趣向量和每一個服務(wù)的初始的服務(wù)主題向量,其中,所述用戶興趣向量和所述服務(wù)主題向量均為概率向量;

生成以所述目標(biāo)用戶和所述服務(wù)為頂點的二分圖,其中,所述二分圖中目標(biāo)用戶的頂點與服務(wù)的頂點之間存在連線時表示該目標(biāo)用戶對該服務(wù)感興趣;

根據(jù)所述用戶興趣向量和所述服務(wù)主題向量,構(gòu)建基于所述二分圖的目標(biāo)函數(shù)P;

求解所述目標(biāo)函數(shù)P,以確定每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值;

根據(jù)所述用戶興趣向量和所述服務(wù)主題向量,對所述目標(biāo)用戶進(jìn)行服務(wù)推薦。

可選的,所述目標(biāo)函數(shù)P的具體表達(dá)為:

其中,un為第n個目標(biāo)用戶的用戶興趣向量,vm為第m個服務(wù)的服務(wù)主題向量,σn,m的值在所述二分圖上第n個目標(biāo)用戶與第m個服務(wù)存在連線時為1,否則為0,N為所述二分圖上所有目標(biāo)用戶對應(yīng)的用戶興趣向量的數(shù)量,M為所述二分圖上所有服務(wù)對應(yīng)的服務(wù)主題向量的數(shù)量。

可選的,所述求解所述目標(biāo)函數(shù)P,以確定每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值的步驟,包括:

采用既約梯度算法求解所述目標(biāo)函數(shù)P,以確定每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值。

可選的,所述采用既約梯度算法求解所述目標(biāo)函數(shù)P,以確定每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值的步驟,包括:

A.根據(jù)初始的用戶興趣向量,通過既約梯度算法更新所述目標(biāo)函數(shù)P中的當(dāng)前服務(wù)主題向量的元素值;

B.根據(jù)當(dāng)前服務(wù)主題向量,通過既約梯度算法更新所述目標(biāo)函數(shù)P中的當(dāng)前用戶興趣向量的元素值,在更新完成后,判斷當(dāng)前服務(wù)主題向量和當(dāng)前用戶興趣向量是否達(dá)到收斂狀態(tài),如果否,執(zhí)行C;如果是,執(zhí)行D;

C.根據(jù)當(dāng)前用戶興趣向量,通過既約梯度算法更新所述目標(biāo)函數(shù)P中的當(dāng)前服務(wù)主題向量的元素值,在更新完畢后,判斷當(dāng)前服務(wù)主題向量和當(dāng)前用戶興趣向量是否達(dá)到收斂狀態(tài),如果否,執(zhí)行B,如果是,執(zhí)行D;

D.將達(dá)到收斂狀態(tài)時的當(dāng)前服務(wù)主題向量的元素值和當(dāng)前用戶興趣向量的元素值,確定為對應(yīng)的每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值。

可選的,所述根據(jù)所述用戶興趣向量和所述服務(wù)主題向量,對所述目標(biāo)用戶進(jìn)行服務(wù)推薦,包括:

根據(jù)所述用戶興趣向量和所述服務(wù)主題向量的向量積,對所述目標(biāo)用戶進(jìn)行服務(wù)推薦。

可選的,所述根據(jù)所述用戶興趣向量和所述服務(wù)主題向量的向量積,對所述目標(biāo)用戶進(jìn)行服務(wù)推薦的步驟,包括:

針對每一個目標(biāo)用戶,執(zhí)行如下步驟:

分別計算該目標(biāo)用戶的用戶興趣向量與每一個服務(wù)主題向量的向量積;

對所述向量積按照從大到小排序,并選取排列在前的預(yù)設(shè)數(shù)量個向量積;

對該目標(biāo)用戶推薦所述預(yù)設(shè)數(shù)量個向量積對應(yīng)的服務(wù)。

可選的,所述根據(jù)所述用戶興趣向量和所述服務(wù)主題向量的向量積,對所述目標(biāo)用戶進(jìn)行服務(wù)推薦的步驟,包括:

針對每一個目標(biāo)用戶,執(zhí)行如下步驟:

分別計算該目標(biāo)用戶的用戶興趣向量與每一個服務(wù)主題向量的向量積;

分別將所述向量積與預(yù)設(shè)閾值進(jìn)行比較,并確定大于所述預(yù)設(shè)閾值的向量積對應(yīng)的服務(wù);

對該目標(biāo)用戶推薦所確定的服務(wù)。

一種基于二分圖的服務(wù)推薦裝置,所述裝置包括:

采集模塊,用于采集目標(biāo)用戶中每一個目標(biāo)用戶感興趣的服務(wù);

第一構(gòu)建模塊,用于構(gòu)建每一個目標(biāo)用戶的初始的用戶興趣向量和每一個服務(wù)的初始的服務(wù)主題向量,其中,所述用戶興趣向量和所述服務(wù)主題向量均為概率向量;

生成模塊,用于生成以所述目標(biāo)用戶和所述服務(wù)為頂點的二分圖,其中,所述二分圖中目標(biāo)用戶的頂點與服務(wù)的頂點之間存在連線時表示該目標(biāo)用戶對該服務(wù)感興趣;

第二構(gòu)建模塊,用于根據(jù)所述用戶興趣向量和所述服務(wù)主題向量,構(gòu)建基于所述二分圖的目標(biāo)函數(shù)P;

求解模塊,用于求解所述目標(biāo)函數(shù)P,以確定每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值;

推薦模塊,用于根據(jù)所述用戶興趣向量和所述服務(wù)主題向量,對所述目標(biāo)用戶進(jìn)行服務(wù)推薦。

可選的,所述目標(biāo)函數(shù)P的具體表達(dá)為:

其中,un為第n個目標(biāo)用戶的用戶興趣向量,vm為第m個服務(wù)的服務(wù)主題向量,σn,m的值在所述二分圖上第n個目標(biāo)用戶與第m個服務(wù)存在連線時為1,否則為0,N為所述二分圖上所有目標(biāo)用戶對應(yīng)的用戶興趣向量的數(shù)量,M為所述二分圖上所有服務(wù)對應(yīng)的服務(wù)主題向量的數(shù)量。

可選的,所述求解模塊包括:

求解單元,用于采用既約梯度算法求解所述目標(biāo)函數(shù)P,以確定每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值。

可選的,所述求解單元,具體用于:

A.根據(jù)初始的用戶興趣向量,通過既約梯度算法更新所述目標(biāo)函數(shù)P中的當(dāng)前服務(wù)主題向量的元素值;

B.根據(jù)當(dāng)前服務(wù)主題向量,通過既約梯度算法更新所述目標(biāo)函數(shù)P中的當(dāng)前用戶興趣向量的元素值,在更新完成后,判斷當(dāng)前服務(wù)主題向量和當(dāng)前用戶興趣向量是否達(dá)到收斂狀態(tài),如果否,執(zhí)行C;如果是,執(zhí)行D;

C.根據(jù)當(dāng)前用戶興趣向量,通過既約梯度算法更新所述目標(biāo)函數(shù)P中的當(dāng)前服務(wù)主題向量的元素值,在更新完畢后,判斷當(dāng)前服務(wù)主題向量和當(dāng)前用戶興趣向量是否達(dá)到收斂狀態(tài),如果否,執(zhí)行B,如果是,執(zhí)行D;

D.將達(dá)到收斂狀態(tài)時的當(dāng)前服務(wù)主題向量的元素值和當(dāng)前用戶興趣向量的元素值,確定為對應(yīng)的每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值。

可選的,所述推薦模塊包括:

推薦單元,用于根據(jù)所述用戶興趣向量和所述服務(wù)主題向量的向量積,對所述目標(biāo)用戶進(jìn)行服務(wù)推薦。

可選的,所述推薦單元,具體用于:

針對每一個目標(biāo)用戶,執(zhí)行如下步驟:

分別計算該目標(biāo)用戶的用戶興趣向量與每一個服務(wù)主題向量的向量積;

對所述向量積按照從大到小排序,并選取排列在前的預(yù)設(shè)數(shù)量個向量積;

對該目標(biāo)用戶推薦所述預(yù)設(shè)數(shù)量個向量積對應(yīng)的服務(wù)。

可選的,所述推薦單元,具體用于:

針對每一個目標(biāo)用戶,執(zhí)行如下步驟:

分別計算該目標(biāo)用戶的用戶興趣向量與每一個服務(wù)主題向量的向量積;

分別將所述向量積與預(yù)設(shè)閾值進(jìn)行比較,并確定大于所述預(yù)設(shè)閾值的向量積對應(yīng)的服務(wù);

對該目標(biāo)用戶推薦所確定的服務(wù)。

本發(fā)明實施例提供的一種基于二分圖的服務(wù)推薦方法及裝置,通過目標(biāo)用戶和服務(wù)生成二分圖,根據(jù)用戶興趣向量和服務(wù)主題向量構(gòu)建基于該二分圖的目標(biāo)函數(shù)P并求解,以此確定每一個用戶興趣向量和服務(wù)主題向量的元素值,進(jìn)而根據(jù)所確定出的用戶興趣向量和服務(wù)主題向量,對目標(biāo)用戶進(jìn)行服務(wù)推薦。本方案中,采用求解目標(biāo)函數(shù)得到用戶興趣向量和服務(wù)主題向量的元素值方式,由于求解目標(biāo)函數(shù)的過程相對于MCMC抽樣算法極為簡單,因此,解決了現(xiàn)有技術(shù)中采用MCMC抽樣算法通過先進(jìn)行采樣再計算待推薦服務(wù)的概率分布的計算復(fù)雜度較高的問題,達(dá)到了降低基于二分圖的服務(wù)推薦計算復(fù)雜度的目的,且模型輸出的用戶興趣向量和服務(wù)主題向量均為概率向量,便于構(gòu)建更多基于概率的實際應(yīng)用。。

附圖說明

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

圖1為本發(fā)明實施例所提供的一種基于二分圖的服務(wù)推薦方法的流程示意圖;

圖2為目標(biāo)用戶和服務(wù)的二分圖的示意圖;

圖3為本發(fā)明實施例所提供的一種基于二分圖的服務(wù)推薦裝置的結(jié)構(gòu)示意圖。

具體實施方式

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

為解決現(xiàn)有技術(shù)問題,本發(fā)明實施例提供了一種基于二分圖的服務(wù)推薦方法及裝置,以下分別進(jìn)行詳細(xì)說明。

需要說明的是,本發(fā)明實施例所提供的一種基于二分圖的服務(wù)推薦方法的執(zhí)行主體可以為一種基于二分圖的服務(wù)推薦裝置。在實際應(yīng)用中,該基于二分圖的服務(wù)推薦裝置可以為運(yùn)行于電子設(shè)備中的程序軟件,該電子設(shè)備可以為終端或服務(wù)器,這都是合理的。

參見圖1,圖1為一種基于二分圖的服務(wù)推薦方法的流程示意圖,所述方法包括步驟:

S101,采集目標(biāo)用戶中每一個目標(biāo)用戶感興趣的服務(wù)。

需要說明的是,用戶感興趣的服務(wù),可以是用戶購買過的、瀏覽過的、收藏過的服務(wù)等,并且所謂的服務(wù)可以為信息、產(chǎn)品等。

本領(lǐng)域技術(shù)人員可以理解的是,在確定目標(biāo)用戶以后,可以根據(jù)歷史行為數(shù)據(jù),采集到目標(biāo)用戶感興趣的服務(wù)。具體的,當(dāng)服務(wù)為網(wǎng)上商品時,可以通過在購物網(wǎng)站中挖掘用戶的行為,獲得目標(biāo)用戶感興趣的服務(wù),如通過挖掘購買記錄、瀏覽記錄和個人收藏記錄等方式獲得目標(biāo)用戶感興趣的服務(wù)。類似地,當(dāng)服務(wù)為網(wǎng)絡(luò)視頻時,可以通過在視頻網(wǎng)站中挖掘用戶的觀看行為,獲得目標(biāo)用戶感興趣的服務(wù),如通過挖掘用戶的歷史觀看記錄,獲得目標(biāo)用戶感興趣的網(wǎng)絡(luò)視頻。

示例性的,目標(biāo)用戶為A和B,采集到目標(biāo)用戶A感興趣的服務(wù)為a和b;采集到目標(biāo)用戶B感興趣的服務(wù)為a、b、c。

需要強(qiáng)調(diào)的是,采集目標(biāo)用戶中每一個目標(biāo)用戶感興趣的服務(wù)的具體實現(xiàn)方式可以采用現(xiàn)有技術(shù)任一種方式,在此不做限定。

S102,構(gòu)建每一個目標(biāo)用戶的初始的用戶興趣向量和每一個服務(wù)的初始的服務(wù)主題向量,其中,所述用戶興趣向量和所述服務(wù)主題向量均為概率向量。

針對每一個目標(biāo)用戶構(gòu)建對應(yīng)的用戶興趣向量、每一個服務(wù)構(gòu)建對應(yīng)的服務(wù)主題向量,用戶興趣向量和服務(wù)主題向量的維度數(shù)可以相同也可以不相同,具體的維度數(shù)不做限定,可以是二維、三維、五維、八維、十維等。

本領(lǐng)域技術(shù)人員可以理解的是,可以根據(jù)設(shè)定的用戶興趣向量和服務(wù)主題向量的每個元素的初始元素值,獲得每一個初始的用戶興趣向量和初始的服務(wù)主題向量,且用戶興趣向量和服務(wù)主題向量均為概率向量。初始的元素值可以任意設(shè)定,只要滿足概率向量的條件即可??梢岳斫獾氖牵怕氏蛄恐械母鱾€元素為非負(fù)數(shù),而且向量中元素的總和等于1。示例性的,目標(biāo)用戶A的初始的用戶興趣向量為u1=(0.1,0.9),目標(biāo)用戶B的初始的用戶興趣向量為u2=(0.24,0.76);服務(wù)a的初始的服務(wù)主題向量為v1=(0.05,0.95),服務(wù)b的初始的服務(wù)主題向量為v2=(0.55,0.45),服務(wù)c的初始的服務(wù)主題向量為v3=(0.65,0.35)。

S103,生成以所述目標(biāo)用戶和所述服務(wù)為頂點的二分圖,其中,所述二分圖中目標(biāo)用戶的頂點與服務(wù)的頂點之間存在連線時表示該目標(biāo)用戶對該服務(wù)感興趣。

根據(jù)S101中收集到的目標(biāo)用戶和服務(wù),分別以目標(biāo)用戶和服務(wù)為頂點生成二分圖,如圖2所示,圖2為目標(biāo)用戶和服務(wù)的二分圖的示意圖??梢岳斫獾氖?,只有目標(biāo)用戶的頂點和服務(wù)的頂點才能存在連線關(guān)系,而目標(biāo)用戶和目標(biāo)用戶之間、服務(wù)和服務(wù)之間是不存在頂點的連線關(guān)系的。

其中,二分圖的生成方式可以采用現(xiàn)有技術(shù)的生成方式,本發(fā)明實施例不做限定。

S104,根據(jù)所述用戶興趣向量和所述服務(wù)主題向量,構(gòu)建基于所述二分圖的目標(biāo)函數(shù)P。

本領(lǐng)域技術(shù)人員可以理解的是,一個用戶興趣向量和一個服務(wù)主題向量的乘積表示該目標(biāo)用戶對該服務(wù)感興趣的概率,將所有的目標(biāo)用戶對所有服務(wù)感興趣的概率相乘,得到的乘積越大表示整個二分圖上的所有目標(biāo)用戶對所有服務(wù)的感興趣的概率越大。具體的,將整個二分圖上的所有目標(biāo)用戶對所有服務(wù)的感興趣的概率用目標(biāo)函數(shù)P表達(dá)為:

其中,un為第n個目標(biāo)用戶的用戶興趣向量,vm為第m個服務(wù)的服務(wù)主題向量,σn,m的值在二分圖上第n個目標(biāo)用戶與第m個服務(wù)存在連線時為1,否則為0,N為二分圖上所有目標(biāo)用戶對應(yīng)的用戶興趣向量的數(shù)量,M為二分圖上所有服務(wù)對應(yīng)的服務(wù)主題向量的數(shù)量。

S105,求解所述目標(biāo)函數(shù)P,以確定每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值。

具體的,可以采用既約梯度算法求解目標(biāo)函數(shù)P,以確定每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值。既約梯度算法,是一種將現(xiàn)行規(guī)劃的單純形法推廣到具有非線性目標(biāo)函數(shù)的求解問題,它是提出了產(chǎn)生可行下降的方法。該算法的基本步驟是:選取初始的數(shù)據(jù),進(jìn)行求解既約梯度函數(shù),然后以求解出來的數(shù)值作為已知條件代入函數(shù)再求解,直至滿足終止的條件,在本發(fā)明實施例中終止的條件是所有用戶興趣向量和所有服務(wù)主題向量達(dá)到收斂狀態(tài)。

具體步驟可以是:A.根據(jù)初始的用戶興趣向量,通過既約梯度算法更新目標(biāo)函數(shù)P中的當(dāng)前服務(wù)主題向量的元素值;

B.根據(jù)當(dāng)前服務(wù)主題向量,通過既約梯度算法更新目標(biāo)函數(shù)P中的當(dāng)前用戶興趣向量的元素值,在更新完成后,判斷當(dāng)前服務(wù)主題向量和當(dāng)前用戶興趣向量是否達(dá)到收斂狀態(tài),如果否,執(zhí)行C;如果是,執(zhí)行D;

C.根據(jù)當(dāng)前用戶興趣向量,通過既約梯度算法更新目標(biāo)函數(shù)P中的當(dāng)前服務(wù)主題向量的元素值,在更新完畢后,判斷當(dāng)前服務(wù)主題向量和當(dāng)前用戶興趣向量是否達(dá)到收斂狀態(tài),如果否,執(zhí)行B,如果是,執(zhí)行D;

D.將達(dá)到收斂狀態(tài)時的當(dāng)前服務(wù)主題向量的元素值和當(dāng)前用戶興趣向量的元素值,確定為對應(yīng)的每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值。

實際應(yīng)用中,也可以首先根據(jù)初始的服務(wù)主題向量,通過既約梯度算法更新目標(biāo)函數(shù)P中的當(dāng)前用戶興趣向量的元素值,本發(fā)明實施例在此不對更新的順序做限定。

本發(fā)明實施例中,對于目標(biāo)函數(shù)P,為獲得P的最大值對目標(biāo)函數(shù)P進(jìn)行優(yōu)化,示例性的,對目標(biāo)函數(shù)P取對數(shù),并且加上對所有用戶興趣向量和所有服務(wù)主題向量的正則化項,得到如下優(yōu)化的公式:

表示從所有un、vm中選擇一組值使得表達(dá)式x的值達(dá)到最小,如下所有表達(dá)式的意義皆如此。示例性的,當(dāng)目標(biāo)用戶為A和B,以及服務(wù)為a、b、c時,得到目標(biāo)用戶數(shù)量N=2,服務(wù)數(shù)量M=3,由上述優(yōu)化的公式得到:

由于用戶興趣向量和服務(wù)主題向量為概率向量,由概率向量的定義可以得到:u1≥0,||u1||1=1,u2≥0,||u2||1=1和v1≥0,||v1||1=1,v2≥0,||v2||1=1,v3≥0,||v3||1=1,需要說明的是,以向量v1為例,||v1||表示v1的范數(shù),||v1||1表示v1中各個元素的絕對值的和,|v1||2表示v1中各個元素的平方和再開方,本發(fā)明實施例中其他向量用這種形式表達(dá)時,代表的意義均相同。

假設(shè)初始的用戶興趣向量為:u1=(0.1,0.9)、u2=(0.24,0.76),采用既約梯度算法更新優(yōu)化的公式中的每一個服務(wù)主題向量的元素值,可以得到服務(wù)主題向量分別為v1=(0.2,0.8)、v2=(0.5,0.5)、v3=(0.6,0.4)。再根據(jù)當(dāng)前服務(wù)主題向量,采用既約梯度算法求解用戶興趣向量,由于用戶和用戶之間是獨(dú)立的(任意兩個用戶的頂點之間沒有連線),所以他們之間對應(yīng)的用戶興趣向量也是獨(dú)立的,可以分別對用戶A、B對應(yīng)的u1、u2進(jìn)行優(yōu)化,得到如下關(guān)于用戶興趣向量的求解公式:

根據(jù)關(guān)于用戶興趣向量的求解公式,對于u1,得到簡化結(jié)果:進(jìn)而根據(jù)v1=(0.2,0.8)、v2=(0.5,0.5),得到u1=(0.34,0.66)。

對于u2,得到簡化結(jié)果進(jìn)而根據(jù)v1=(0.2,0.8)、v2=(0.5,0.5)、v3=(0.6,0.4),得到u2=(0.41,0.59)。

本領(lǐng)域技術(shù)人員可以理解的是,用同樣的方法可以根據(jù)當(dāng)前的u1和u2求解到服務(wù)主題向量v1、v2、v3,直至達(dá)到收斂狀態(tài)為止。本發(fā)明實施例中,當(dāng)求解到用戶興趣向量為:u1=(0.31,0.69)、u2=(0.47,0.53),服務(wù)主題向量為:v1=(0.16,0.84)、v2=(0.71,0.29)、v3=(0.53,0.47),達(dá)到收斂狀態(tài)。

收斂狀態(tài)是指更新后的向量和更新前的向量相比較,向量的對應(yīng)元素之間的差值的絕對值不大于預(yù)設(shè)數(shù)值。對于本發(fā)明實施例而言,所有向量均需要達(dá)到收斂狀態(tài)。示例性的,預(yù)設(shè)數(shù)值為0.07,以用戶A對應(yīng)的用戶興趣向量u1為例,更新前u1=(0.34,0.66),更新后u1=(0.31,0.69),對應(yīng)元素之間的差值的絕對值為:|0.34-0.31|=0.03,|0.66-0.69|=0.03;因為0.03<0.07,所以更新前的服務(wù)主題向量和更新后的服務(wù)主題向量達(dá)到收斂狀態(tài)。本發(fā)明實施例中的預(yù)設(shè)數(shù)值僅僅是示例性的,不構(gòu)成對本發(fā)明的限定。

S106,根據(jù)所述用戶興趣向量和所述服務(wù)主題向量,對所述目標(biāo)用戶進(jìn)行服務(wù)推薦。

具體的,可以根據(jù)用戶興趣向量和服務(wù)主題向量的向量積,對目標(biāo)用戶進(jìn)行服務(wù)推薦。

在一種具體實現(xiàn)方式中,所述根據(jù)用戶興趣向量和服務(wù)主題向量的向量積,對目標(biāo)用戶進(jìn)行服務(wù)推薦的步驟,可以包括:

針對每一個目標(biāo)用戶,執(zhí)行如下步驟:

分別計算該目標(biāo)用戶的用戶興趣向量與每一個服務(wù)主題向量的向量積;對向量積按照從大到小排序,并選取排列在前的預(yù)設(shè)數(shù)量個向量積;對該目標(biāo)用戶推薦預(yù)設(shè)數(shù)量個向量積對應(yīng)的服務(wù)。

本發(fā)明實施例中,針對用戶A,計算用戶A的用戶興趣向量與服務(wù)a、b、c對應(yīng)的服務(wù)主題向量的向量積,分別為:u1·v1=(0.31,0.69)·(0.16,0.48)=0.3808、u1·v2=(0.31,0.69)·(0.71,0.29)=0.4011、u1·v3=(0.31,0.69)·(0.53,0.47)=0.4886,按照向量積從大到小的排序為:0.4886、0.4011、0.3808。示例性的,選取排列在前的2個向量積,為:0.4886、0.4011,由上述計算可以直接看出這兩個向量積對應(yīng)的服務(wù)分別為c和b,那么直接對用戶A推薦服務(wù)c和b。

在另一種具體實現(xiàn)方式中,所述根據(jù)用戶興趣向量和服務(wù)主題向量的向量積,對目標(biāo)用戶進(jìn)行服務(wù)推薦的步驟,可以包括:

針對每一個目標(biāo)用戶,執(zhí)行如下步驟:

分別計算該目標(biāo)用戶的用戶興趣向量與每一個服務(wù)主題向量的向量積;分別將向量積與預(yù)設(shè)閾值進(jìn)行比較,并確定大于預(yù)設(shè)閾值的向量積對應(yīng)的服務(wù);對該目標(biāo)用戶推薦所確定的服務(wù)。

還可以采用預(yù)設(shè)閾值的方法,假設(shè)預(yù)設(shè)閾值為0.45,以用戶A為例,由上可知用戶A與服務(wù)a、b和c對應(yīng)的服務(wù)主題向量的向量積分別為:0.3808、0.4011、0.4886,逐一與預(yù)設(shè)閾值進(jìn)行比較,因為:0.3808<0.45、0.4011<0.45、0.4886>0.45,可以確定大于預(yù)設(shè)閾值的向量積對應(yīng)的服務(wù)為服務(wù)c,所以對目標(biāo)用戶A推薦服務(wù)c。

需要強(qiáng)調(diào)的是,上述所給出的根據(jù)用戶興趣向量和服務(wù)主題向量的向量積,對目標(biāo)用戶進(jìn)行服務(wù)推薦的具體實現(xiàn)方式,僅僅作為示例性說明,并不應(yīng)該構(gòu)成對本發(fā)明實施例的限定。

應(yīng)用本發(fā)明圖1所示的實施例,通過目標(biāo)用戶和服務(wù)生成二分圖,根據(jù)用戶興趣向量和服務(wù)主題向量構(gòu)建基于該二分圖的目標(biāo)函數(shù)P并求解,以此確定每一個用戶興趣向量和服務(wù)主題向量的元素值,進(jìn)而根據(jù)所確定出的用戶興趣向量和服務(wù)主題向量,對目標(biāo)用戶進(jìn)行服務(wù)推薦。本方案中,采用求解目標(biāo)函數(shù)得到用戶興趣向量和服務(wù)主題向量的元素值方式,由于求解目標(biāo)函數(shù)的過程相對于MCMC抽樣算法極為簡單,因此,解決了現(xiàn)有技術(shù)中采用MCMC抽樣算法通過先進(jìn)行采樣再計算待推薦服務(wù)的概率分布的計算復(fù)雜度較高的問題,達(dá)到了降低基于二分圖的服務(wù)推薦計算復(fù)雜度的目的,且模型輸出的用戶興趣向量和服務(wù)主題向量均為概率向量,便于構(gòu)建更多基于概率的實際應(yīng)用。

參見圖3,圖3為一種基于二分圖的服務(wù)推薦裝置的結(jié)構(gòu)示意圖,所述裝置可以包括:采集模塊201、第一構(gòu)建模塊202、生成模塊203、第二構(gòu)建模塊204、求解模塊205、推薦模塊206。

采集模塊201,用于采集目標(biāo)用戶中每一個目標(biāo)用戶感興趣的服務(wù);

第一構(gòu)建模塊202,用于構(gòu)建每一個目標(biāo)用戶的初始的用戶興趣向量和每一個服務(wù)的初始的服務(wù)主題向量,其中,所述用戶興趣向量和所述服務(wù)主題向量均為概率向量;

生成模塊203,用于生成以所述目標(biāo)用戶和所述服務(wù)為頂點的二分圖,其中,所述二分圖中目標(biāo)用戶的頂點與服務(wù)的頂點之間存在連線時表示該目標(biāo)用戶對該服務(wù)感興趣;

第二構(gòu)建模塊204,用于根據(jù)所述用戶興趣向量和所述服務(wù)主題向量,構(gòu)建基于所述二分圖的目標(biāo)函數(shù)P;

具體的,所述目標(biāo)函數(shù)P的具體表達(dá)為:

其中,un為第n個目標(biāo)用戶的用戶興趣向量,vm為第m個服務(wù)的服務(wù)主題向量,σn,m的值在所述二分圖上第n個目標(biāo)用戶與第m個服務(wù)存在連線時為1,否則為0,N為所述二分圖上所有目標(biāo)用戶對應(yīng)的用戶興趣向量的數(shù)量,M為所述二分圖上所有服務(wù)對應(yīng)的服務(wù)主題向量的數(shù)量。

求解模塊205,用于求解所述目標(biāo)函數(shù)P,以確定每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值。

具體的,所述求解模塊205可以包括:求解單元(圖中未示出),

求解單元,用于采用既約梯度算法求解所述目標(biāo)函數(shù)P,以確定每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值。

求解單元,具體可以用于:

A.根據(jù)初始的用戶興趣向量,通過既約梯度算法更新所述目標(biāo)函數(shù)P中的當(dāng)前服務(wù)主題向量的元素值;

B.根據(jù)當(dāng)前服務(wù)主題向量,通過既約梯度算法更新所述目標(biāo)函數(shù)P中的當(dāng)前用戶興趣向量的元素值,在更新完成后,判斷當(dāng)前服務(wù)主題向量和當(dāng)前用戶興趣向量是否達(dá)到收斂狀態(tài),如果否,執(zhí)行C;如果是,執(zhí)行D;

C.根據(jù)當(dāng)前用戶興趣向量,通過既約梯度算法更新所述目標(biāo)函數(shù)P中的當(dāng)前服務(wù)主題向量的元素值,在更新完畢后,判斷當(dāng)前服務(wù)主題向量和當(dāng)前用戶興趣向量是否達(dá)到收斂狀態(tài),如果否,執(zhí)行B,如果是,執(zhí)行D;

D.將達(dá)到收斂狀態(tài)時的當(dāng)前服務(wù)主題向量的元素值和當(dāng)前用戶興趣向量的元素值,確定為對應(yīng)的每一個用戶興趣向量的元素值和每一個服務(wù)主題向量的元素值。

推薦模塊206,用于根據(jù)所述用戶興趣向量和所述服務(wù)主題向量,對所述目標(biāo)用戶進(jìn)行服務(wù)推薦。

具體的,所述推薦模塊206可以包括:推薦單元(圖中未示出),

推薦單元,用于根據(jù)所述用戶興趣向量和所述服務(wù)主題向量的向量積,對所述目標(biāo)用戶進(jìn)行服務(wù)推薦。

所述推薦單元,具體可以用于:

針對每一個目標(biāo)用戶,執(zhí)行如下步驟:

分別計算該目標(biāo)用戶的用戶興趣向量與每一個服務(wù)主題向量的向量積;對所述向量積按照從大到小排序,并選取排列在前的預(yù)設(shè)數(shù)量個向量積;對該目標(biāo)用戶推薦所述預(yù)設(shè)數(shù)量個向量積對應(yīng)的服務(wù)。

所述推薦單元,具體可以用于:

針對每一個目標(biāo)用戶,執(zhí)行如下步驟:

分別計算該目標(biāo)用戶的用戶興趣向量與每一個服務(wù)主題向量的向量積;分別將所述向量積與預(yù)設(shè)閾值進(jìn)行比較,并確定大于所述預(yù)設(shè)閾值的向量積對應(yīng)的服務(wù);對該目標(biāo)用戶推薦所確定的服務(wù)。

應(yīng)用本發(fā)明圖3所示的實施例,通過目標(biāo)用戶和服務(wù)生成二分圖,根據(jù)用戶興趣向量和服務(wù)主題向量構(gòu)建基于該二分圖的目標(biāo)函數(shù)P并求解,以此確定每一個用戶興趣向量和服務(wù)主題向量的元素值,進(jìn)而根據(jù)所確定出的用戶興趣向量和服務(wù)主題向量,對目標(biāo)用戶進(jìn)行服務(wù)推薦。本方案中,采用求解目標(biāo)函數(shù)得到用戶興趣向量和服務(wù)主題向量的元素值方式,由于求解目標(biāo)函數(shù)的過程相對于MCMC抽樣算法極為簡單,因此,解決了現(xiàn)有技術(shù)中采用MCMC抽樣算法通過先進(jìn)行采樣再計算待推薦服務(wù)的概率分布的計算復(fù)雜度較高的問題,達(dá)到了降低基于二分圖的服務(wù)推薦計算復(fù)雜度的目的。

需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。

以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
修水县| 云霄县| 林芝县| 古丈县| 建平县| 巫溪县| 安塞县| 安陆市| 江山市| 蓬溪县| 舒城县| 普洱| 仪征市| 德令哈市| 察隅县| 华坪县| 清原| 府谷县| 武威市| 安新县| 齐齐哈尔市| 太和县| 津南区| 南丰县| 横峰县| 资兴市| 三门峡市| 富平县| 阜宁县| 合川市| 林芝县| 新竹市| 呼玛县| 莱芜市| 阳江市| 台湾省| 宜兰市| 布拖县| 新野县| 宣恩县| 永泰县|