本發(fā)明實(shí)施例涉及信息處理技術(shù)領(lǐng)域,特別涉及一種獲取用戶畫像的方法及裝置。
背景技術(shù):
用戶畫像,又稱用戶角色(persona),是一種用于勾畫目標(biāo)用戶、聯(lián)系用戶訴求與設(shè)計(jì)方向的有效工具,其在各領(lǐng)域得到了廣泛的應(yīng)用。具體實(shí)現(xiàn)時(shí),可將用戶畫像以用于刻畫用戶特征的標(biāo)簽(tag)集合表示,該標(biāo)簽集合可包括從用戶社會(huì)屬性、生活習(xí)慣、消費(fèi)行為等角度刻畫用戶特征的標(biāo)簽。比如年齡、性別、地域、學(xué)歷和用戶偏好等標(biāo)簽。
現(xiàn)有技術(shù)提供了一種獲取用戶畫像的方法。預(yù)先設(shè)定多個(gè)標(biāo)簽,并人工為每一個(gè)標(biāo)簽設(shè)定相應(yīng)的標(biāo)簽權(quán)重,標(biāo)簽權(quán)重可以根據(jù)實(shí)際應(yīng)用的需求或人工經(jīng)驗(yàn)預(yù)先設(shè)定??蛇x的,對(duì)于每一個(gè)標(biāo)簽,根據(jù)具備該標(biāo)簽的物品在所有物品中的占比,設(shè)定該標(biāo)簽對(duì)應(yīng)的標(biāo)簽權(quán)重。通常,上述占比與標(biāo)簽權(quán)重呈負(fù)相關(guān)關(guān)系,也即上述占比越大則標(biāo)簽權(quán)重越小,上述占比越小則標(biāo)簽權(quán)重越大。而后獲取用戶行為日志,用戶行為日志記錄有用戶對(duì)各個(gè)物品執(zhí)行的各種行為,比如:用戶1瀏覽了物品1、用戶2購買了物品1、用戶1購買了物品2等。然后根據(jù)各個(gè)物品所具備的標(biāo)簽和用戶對(duì)各個(gè)物品執(zhí)行的行為,確定用戶對(duì)各個(gè)標(biāo)簽的行為權(quán)重。最后分別根據(jù)每一個(gè)標(biāo)簽對(duì)應(yīng)的標(biāo)簽權(quán)重和行為權(quán)重,計(jì)算得到用戶對(duì)該標(biāo)簽的喜好程度,整合用戶對(duì)各個(gè)標(biāo)簽的喜好程度得到用戶畫像。例如,用戶對(duì)某一標(biāo)簽的喜好程度,可采用該標(biāo)簽對(duì)應(yīng)的標(biāo)簽權(quán)重與行為權(quán)重的乘積表示。
然而,在現(xiàn)有技術(shù)中,由于需要人工為每一個(gè)標(biāo)簽設(shè)定相應(yīng)的標(biāo)簽權(quán)重,而標(biāo)簽的數(shù)量往往較多,這就導(dǎo)致需要花費(fèi)大量的時(shí)間和人力資源,獲取用戶畫像所耗費(fèi)的時(shí)間和人力成本較高;并且,由于人工設(shè)定標(biāo)簽權(quán)重的方式難免存在誤差,很難保證人工設(shè)定的標(biāo)簽權(quán)重與實(shí)際業(yè)務(wù)相符,導(dǎo)致最終獲取的用 戶畫像的準(zhǔn)確度較低。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)提供的獲取用戶畫像的方法,所耗費(fèi)的時(shí)間和人力成本較高,且獲取的用戶畫像的準(zhǔn)確度較低的問題,本發(fā)明實(shí)施例提供了一種獲取用戶畫像的方法及裝置。所述技術(shù)方案如下:
根據(jù)本發(fā)明實(shí)施例的第一方面,提供了一種獲取用戶畫像的方法,所述方法包括:
根據(jù)用戶行為日志,獲取m個(gè)訓(xùn)練樣本;其中,訓(xùn)練樣本<u,i,j>用于反映用戶u對(duì)物品i和物品j的喜好程度的差異,所述m為正整數(shù);
根據(jù)所述訓(xùn)練樣本,采用數(shù)據(jù)擬合模型修正初始化的用戶參數(shù)矩陣wm×k和初始化的標(biāo)簽參數(shù)矩陣hk×n,得到最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n;其中,所述m表示用戶個(gè)數(shù),所述k表示因子個(gè)數(shù),所述n表示標(biāo)簽個(gè)數(shù),所述m為正整數(shù),所述k為正整數(shù),所述n為大于1的整數(shù);
根據(jù)所述最終的用戶參數(shù)矩陣wm×k和所述最終的標(biāo)簽參數(shù)矩陣hk×n,獲取用戶畫像矩陣pm×n;其中,所述用戶畫像矩陣pm×n中第u行第t列的元素put表示用戶u對(duì)標(biāo)簽t的喜好程度,所述u為大于等于1且小于等于m的整數(shù),所述t為大于等于1且小于等于n的整數(shù)。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供了一種獲取用戶畫像的裝置,所述裝置包括:
樣本獲取模塊,用于根據(jù)用戶行為日志,獲取m個(gè)訓(xùn)練樣本;其中,訓(xùn)練樣本<u,i,j>用于反映用戶u對(duì)物品i和物品j的喜好程度的差異,所述m為正整數(shù);
矩陣修正模塊,用于根據(jù)所述訓(xùn)練樣本,采用數(shù)據(jù)擬合模型修正初始化的用戶參數(shù)矩陣wm×k和初始化的標(biāo)簽參數(shù)矩陣hk×n,得到最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n;其中,所述m表示用戶個(gè)數(shù),所述k表示因子個(gè)數(shù),所述n表示標(biāo)簽個(gè)數(shù),所述m為正整數(shù),所述k為正整數(shù),所述n為大于1的整數(shù);
畫像獲取模塊,用于根據(jù)所述最終的用戶參數(shù)矩陣wm×k和所述最終的標(biāo)簽參數(shù)矩陣hk×n,獲取用戶畫像矩陣pm×n;其中,所述用戶畫像矩陣pm×n中第u 行第t列的元素put表示用戶u對(duì)標(biāo)簽t的喜好程度,所述u為大于等于1且小于等于m的整數(shù),所述t為大于等于1且小于等于n的整數(shù)。
本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果包括:
通過根據(jù)用戶行為日志,獲取m個(gè)訓(xùn)練樣本,根據(jù)訓(xùn)練樣本,采用數(shù)據(jù)擬合模型修正初始化的用戶參數(shù)矩陣wm×k和標(biāo)簽參數(shù)矩陣hk×n,得到最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,而后根據(jù)最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,獲取用戶畫像矩陣pm×n;解決了現(xiàn)有技術(shù)提供的獲取用戶畫像的方法,所耗費(fèi)的時(shí)間和人力成本較高,且獲取的用戶畫像的準(zhǔn)確度較低的問題;通過將用戶和標(biāo)簽參數(shù)化,并采用數(shù)據(jù)擬合模型修正用戶參數(shù)矩陣和標(biāo)簽參數(shù)矩陣,使之?dāng)M合訓(xùn)練樣本,無需人工為標(biāo)簽設(shè)定相應(yīng)的標(biāo)簽權(quán)重,根據(jù)用戶行為日志采用數(shù)據(jù)擬合方法自動(dòng)地獲取用戶畫像,達(dá)到了節(jié)省時(shí)間和人力成本,準(zhǔn)確高效地獲取用戶畫像的技術(shù)效果。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個(gè)實(shí)施例提供的獲取用戶畫像的方法的流程圖;
圖2是本發(fā)明另一個(gè)實(shí)施例提供的獲取用戶畫像的方法的流程圖;
圖3是圖2所示實(shí)施例中步驟201的子步驟的流程圖;
圖4是本發(fā)明一個(gè)實(shí)施例提供的生成用戶相似度矩陣的流程圖;
圖5是本發(fā)明一個(gè)實(shí)施例提供的獲取用戶畫像的裝置的結(jié)構(gòu)方框圖;
圖6是本發(fā)明另一個(gè)實(shí)施例提供的獲取用戶畫像的裝置的結(jié)構(gòu)方框圖;
圖7是本發(fā)明一個(gè)實(shí)施例提供的服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
為了便于理解,首先對(duì)本文中涉及的一些名詞做介紹和說明。
物品
物品包括實(shí)體物品和虛擬物品。實(shí)體物品是指真實(shí)存在的物品,是與辦公、生活消費(fèi)有關(guān)的物件,如衣服、食物、辦公用品等;虛擬物品是指在現(xiàn)實(shí)生活中摸不到的物品,諸如視頻、音頻、圖片、應(yīng)用軟件、微博之類的互聯(lián)網(wǎng)產(chǎn)品或內(nèi)容,或者是從虛擬的網(wǎng)絡(luò)世界里衍生出來的物品,如游戲道具、會(huì)員、圖標(biāo)等。
標(biāo)簽
標(biāo)簽是指用于描述物品屬性的關(guān)鍵詞。比如,衣服的標(biāo)簽可以包括從顏色、款式、尺寸等角度描述的關(guān)鍵詞;再比如,視頻的標(biāo)簽可以包括從年份、國家、類型、演員等角度描述的關(guān)鍵詞;再比如,游戲道具的標(biāo)簽可以包括從分類、功能、等級(jí)等角度描述的關(guān)鍵詞。
用戶的行為類型
用戶的行為類型是指用戶對(duì)物品執(zhí)行的行為。比如:瀏覽、購買、收藏、刪除、使用、轉(zhuǎn)發(fā)、點(diǎn)贊、踩、評(píng)論等。針對(duì)不同的物品,用戶對(duì)該物品所能夠執(zhí)行的行為可能相同,也可能不同。比如,對(duì)于衣服,用戶對(duì)該物品所能夠執(zhí)行的行為可以包括瀏覽、購買、收藏等;再比如,對(duì)于視頻,用戶對(duì)該物品所能夠執(zhí)行的行為可以包括瀏覽、預(yù)覽、觀看、購買、收藏等;再比如,對(duì)于微博,用戶對(duì)該物品所能夠執(zhí)行的行為可以包括瀏覽、轉(zhuǎn)發(fā)、收藏等。可選的,用戶的行為類型還包括“未知”類型,用于表示用戶未對(duì)物品執(zhí)行任何行為。用戶對(duì)物品的行為類型反映了用戶對(duì)物品的喜好程度,根據(jù)用戶對(duì)兩個(gè)物品的行為類型,便可確定用戶對(duì)該兩個(gè)物品的喜好程度的差異。
本發(fā)明實(shí)施例提供的方法,各步驟的執(zhí)行主體可以是具備數(shù)據(jù)存儲(chǔ)和計(jì)算能力的電子設(shè)備,如服務(wù)器。在下述方法實(shí)施例中,僅以各步驟的執(zhí)行主體為服務(wù)器為例進(jìn)行舉例說明,但對(duì)此不構(gòu)成限定。
請(qǐng)參考圖1,其示出了本發(fā)明一個(gè)實(shí)施例提供的獲取用戶畫像的方法的流程圖。該方法可以包括如下幾個(gè)步驟。
步驟101,根據(jù)用戶行為日志,獲取m個(gè)訓(xùn)練樣本;其中,訓(xùn)練樣本<u,i,j>用于反映用戶u對(duì)物品i和物品j的喜好程度的差異,m為正整數(shù)。
步驟102,根據(jù)訓(xùn)練樣本,采用數(shù)據(jù)擬合模型修正初始化的用戶參數(shù)矩陣wm×k和初始化的標(biāo)簽參數(shù)矩陣hk×n,得到最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n。
其中,m表示用戶個(gè)數(shù),k表示因子個(gè)數(shù),n表示標(biāo)簽個(gè)數(shù),m為正整數(shù),k為正整數(shù),n為大于1的整數(shù)。
步驟103,根據(jù)最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,獲取用戶畫像矩陣pm×n。
其中,用戶畫像矩陣pm×n中第u行第t列的元素put表示用戶u對(duì)標(biāo)簽t的喜好程度,u為大于等于1且小于等于m的整數(shù),t為大于等于1且小于等于n的整數(shù)。
綜上所述,本實(shí)施例提供的方法,通過根據(jù)用戶行為日志,獲取m個(gè)訓(xùn)練樣本,根據(jù)訓(xùn)練樣本,采用數(shù)據(jù)擬合模型修正初始化的用戶參數(shù)矩陣wm×k和標(biāo)簽參數(shù)矩陣hk×n,得到最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,而后根據(jù)最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,獲取用戶畫像矩陣pm×n;解決了現(xiàn)有技術(shù)提供的獲取用戶畫像的方法,所耗費(fèi)的時(shí)間和人力成本較高,且獲取的用戶畫像的準(zhǔn)確度較低的問題;通過將用戶和標(biāo)簽參數(shù)化,并采用數(shù)據(jù)擬合模型修正用戶參數(shù)矩陣和標(biāo)簽參數(shù)矩陣,使之?dāng)M合訓(xùn)練樣本,無需人工為標(biāo)簽設(shè)定相應(yīng)的標(biāo)簽權(quán)重,根據(jù)用戶行為日志采用數(shù)據(jù)擬合方法自動(dòng)地獲取用戶畫像,達(dá)到了節(jié)省時(shí)間和人力成本,準(zhǔn)確高效地獲取用戶畫像的技術(shù)效果。
請(qǐng)參考圖2,其示出了本發(fā)明另一個(gè)實(shí)施例提供的獲取用戶畫像的方法的流程圖。在本實(shí)施例中,以各步驟的執(zhí)行主體為服務(wù)器進(jìn)行舉例說明。該方法可以包括如下幾個(gè)步驟。
步驟201,根據(jù)用戶行為日志,獲取m個(gè)訓(xùn)練樣本。
訓(xùn)練樣本<u,i,j>用于反映用戶u對(duì)物品i和物品j的喜好程度的差異,m為正整數(shù)。
用戶行為日志用于記錄用戶對(duì)物品的操作行為。用戶行為日志中包括用戶 標(biāo)識(shí)、用戶的行為類型、物品標(biāo)識(shí)和物品標(biāo)簽信息。其中,用戶標(biāo)識(shí)是用于識(shí)別用戶身份的標(biāo)識(shí)號(hào)碼,也稱為用戶帳號(hào),是某個(gè)體系中相對(duì)唯一的編碼。用戶的行為類型是指用戶對(duì)物品執(zhí)行的行為,比如瀏覽、購買、收藏、刪除、使用、轉(zhuǎn)發(fā)、點(diǎn)贊、踩、評(píng)論、未知等。用戶的行為類型的種類可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置。物品標(biāo)識(shí)是用于識(shí)別物品的標(biāo)識(shí)號(hào)碼,與用戶標(biāo)識(shí)類似,每個(gè)物品對(duì)應(yīng)有唯一的物品標(biāo)識(shí)。物品標(biāo)簽信息是用于描述物品屬性的關(guān)鍵詞,一個(gè)物品可以包括一個(gè)或多個(gè)標(biāo)簽。獲取用戶行為日志的方式可以是服務(wù)器采集終端上的用戶操作行為或終端主動(dòng)上報(bào)用戶操作行為到服務(wù)器。
訓(xùn)練樣本<u,i,j>用于反映用戶u對(duì)物品i和物品j的喜好程度的差異。在一種可能的實(shí)施方式中,訓(xùn)練樣本<u,i,j>用于反映用戶u對(duì)物品i的喜好程度大于對(duì)物品j的喜好程度;在另一種可能的實(shí)施方式中,訓(xùn)練樣本<u,i,j>用于反映用戶u對(duì)物品i的喜好程度小于對(duì)物品j的喜好程度。用戶對(duì)物品的行為類型反映了用戶對(duì)物品的喜好程度,根據(jù)用戶對(duì)兩個(gè)物品的行為類型,便可確定用戶對(duì)該兩個(gè)物品的喜好程度的差異。
可選的,根據(jù)用戶付出的代價(jià)決定行為類型的權(quán)重的準(zhǔn)則,按照行為類型的權(quán)重確定出所有行為類型之間的相對(duì)大小關(guān)系。例如,“購買”行為類型的權(quán)重大于“瀏覽”行為類型的權(quán)重。如果用戶未對(duì)物品執(zhí)行任何行為,則獲取用戶的行為類型是“未知”類型。一般來說,用戶對(duì)其執(zhí)行了某種行為的物品的喜好程度大于其對(duì)未執(zhí)行過任何行為的物品的喜好程度,因此“未知”行為類型的權(quán)重最小,小于“瀏覽”、“購買”等行為類型的權(quán)重。例如:用戶u對(duì)物品i執(zhí)行了某種行為,而對(duì)物品j未執(zhí)行過任何行為,則用戶u對(duì)物品i的喜好程度大于對(duì)物品j的喜好程度。
例如,以訓(xùn)練樣本<u,i,j>用于反映用戶u對(duì)物品i的喜好程度大于對(duì)物品j的喜好程度為例,如果用戶u喜歡物品i的程度大于喜歡物品j的程度,則得到的訓(xùn)練樣本是<u,i,j>,相反地,則得到的訓(xùn)練樣本是<u,j,i>。例如:用戶u購買物品i、瀏覽物品j,則獲取的訓(xùn)練樣本是<u,i,j>;用戶瀏覽物品i、購買物品j,則獲取的訓(xùn)練樣本是<u,j,i>。又例如:用戶瀏覽物品i,但沒有對(duì)物品j執(zhí)行任何行為,則獲取的訓(xùn)練樣本是<u,i,j>。針對(duì)一個(gè)用戶可以獲取到一個(gè)或多個(gè)訓(xùn)練樣本,如果用戶1瀏覽了物品2,但對(duì)物品1、物品3和物品4并未執(zhí)行任何行為,則獲取到的訓(xùn)練樣本包括<1,2,1>、<1,2,3>和 <1,2,4>。
在一種可能的實(shí)施方式中,如圖3所示,步驟201可以包括如下幾個(gè)子步驟:
步驟201a,根據(jù)用戶行為日志,獲取m個(gè)用戶中的每一個(gè)用戶對(duì)h個(gè)物品中的每一個(gè)物品的行為類型。
其中,m表示用戶個(gè)數(shù),h表示物品個(gè)數(shù),m為正整數(shù),h為大于1的整數(shù)。
步驟201b,根據(jù)每一個(gè)用戶對(duì)每一個(gè)物品的行為類型,獲取m個(gè)訓(xùn)練樣本。
作為一種可能的實(shí)施方式,步驟201b可以包括:
1、根據(jù)用戶的行為類型獲取用戶物品矩陣;
可選的,用戶物品矩陣rm×h的行表示用戶,列表示物品,m表示用戶個(gè)數(shù),h表示物品個(gè)數(shù),元素rui表示用戶u對(duì)物品i是否執(zhí)行了某種行為。示例性的,用戶物品矩陣rm×h中的元素用0或1表示。1表示用戶對(duì)物品執(zhí)行了某種行為,0表示用戶對(duì)物品未執(zhí)行任何行為。示例性的,當(dāng)用戶個(gè)數(shù)為3,物品個(gè)數(shù)為4時(shí),用戶物品矩陣rm×h為:
其中,第一行第二列中的1表示用戶1對(duì)物品2執(zhí)行了某種行為。
2、根據(jù)用戶的行為類型和用戶物品矩陣,獲取m個(gè)訓(xùn)練樣本。
根據(jù)用戶物品矩陣可以知道用戶是否對(duì)物品執(zhí)行了某種行為,對(duì)于用戶u,根據(jù)行為類型可以確定用戶u喜歡物品i的程度是否大于喜歡物品j的程度,從而得到一個(gè)訓(xùn)練樣本。示例性的,由用戶物品矩陣r3×4的第一行可知,用戶1對(duì)物品2執(zhí)行了某種行為,用戶1對(duì)物品1、物品3和物品4并未執(zhí)行任何行為,以訓(xùn)練樣本<u,i,j>用于反映用戶u對(duì)物品i的喜好程度大于對(duì)物品j的喜好程度為例,則獲取到的用戶1的訓(xùn)練樣本包括:<1,2,1>、<1,2,3>和<1,2,4>。
需要說明的是,在一般情況下,用戶對(duì)其執(zhí)行了某種行為的物品的喜好程度大于其對(duì)未執(zhí)行過任何行為的物品的喜好程度。但是,在其它可能的情況下,用戶對(duì)其執(zhí)行了某種行為的物品的喜好程度也有可能小于其對(duì)未執(zhí)行過任何行為的物品的喜好程度。以物品為視頻為例,如果用戶對(duì)視頻a執(zhí)行的行為為踩,對(duì)視頻b并未執(zhí)行任何行為,則認(rèn)為用戶對(duì)視頻a的喜好程度小于對(duì)視頻b的 喜好程度。
另外,由于用戶個(gè)數(shù)為m,物品個(gè)數(shù)為h,因此理論上可構(gòu)建
步驟202,生成初始化的用戶參數(shù)矩陣wm×k和初始化的標(biāo)簽參數(shù)矩陣hk×n;
其中,m表示用戶個(gè)數(shù),k表示因子個(gè)數(shù),n表示標(biāo)簽個(gè)數(shù),m為正整數(shù),k為正整數(shù),n為大于1的整數(shù)。在一種可能的實(shí)施方式中,采用生成呈正態(tài)分布的隨機(jī)數(shù)的方式,構(gòu)建初始化的用戶參數(shù)矩陣wm×k和初始化的標(biāo)簽參數(shù)矩陣hk×n。也即,初始化的用戶參數(shù)矩陣wm×k中的元素為呈正態(tài)分布的隨機(jī)數(shù),初始化的標(biāo)簽參數(shù)矩陣hk×n中的元素為呈正態(tài)分布的隨機(jī)數(shù)。
可選的,因子個(gè)數(shù)k是預(yù)先設(shè)定的值,或,因子個(gè)數(shù)k是根據(jù)大量實(shí)驗(yàn)得到的經(jīng)驗(yàn)值。
可選的,正態(tài)分布的均值設(shè)置為0,方差設(shè)置為0.01。
示例性的,隨機(jī)生成的用戶參數(shù)矩陣wm×k和標(biāo)簽參數(shù)矩陣hk×n如下所示:
其中,用戶參數(shù)矩陣wm×k的每一行對(duì)應(yīng)一個(gè)用戶的因子向量;標(biāo)簽參數(shù)矩陣hk×n的每一列對(duì)應(yīng)一個(gè)標(biāo)簽的因子向量。
下面,通過如下步驟203至步驟207修正初始化的用戶參數(shù)矩陣wm×k和初始化的標(biāo)簽參數(shù)矩陣hk×n。首先,令a=0,并執(zhí)行如下步驟203。
步驟203,根據(jù)第a輪修正后的用戶參數(shù)矩陣wm×k和第a輪修正后的標(biāo)簽參數(shù)矩陣hk×n,計(jì)算m個(gè)用戶中的每一個(gè)用戶對(duì)n個(gè)標(biāo)簽中的每一個(gè)標(biāo)簽的喜好程度。
其中,a為大于等于0的整數(shù),第0輪修正后的用戶參數(shù)矩陣wm×k為初始化的用戶參數(shù)矩陣wm×k,第0輪修正后的標(biāo)簽參數(shù)矩陣hk×n為初始化的標(biāo)簽參數(shù)矩陣hk×n。
當(dāng)a=0時(shí),根據(jù)初始化的用戶參數(shù)矩陣wm×k和初始化的標(biāo)簽參數(shù)矩陣hk×n計(jì)算m個(gè)用戶中的每一個(gè)用戶對(duì)n個(gè)標(biāo)簽中的每一個(gè)標(biāo)簽的喜好程度。
可選的,用戶u對(duì)標(biāo)簽t的喜好程度計(jì)算公式如下:
比如:如上示例性的初始化的用戶參數(shù)矩陣w和初始化的標(biāo)簽參數(shù)矩陣h中,用戶1對(duì)標(biāo)簽1的喜好程度為:
步驟204,根據(jù)m個(gè)用戶中的每一個(gè)用戶對(duì)n個(gè)標(biāo)簽中的每一個(gè)標(biāo)簽的喜好程度和物品標(biāo)簽矩陣ah×n,計(jì)算m個(gè)用戶中的每一個(gè)用戶對(duì)h個(gè)物品中的每一個(gè)物品的喜好程度。
根據(jù)初始化的用戶參數(shù)矩陣wm×k和初始化的標(biāo)簽參數(shù)矩陣hk×n計(jì)算出每一個(gè)用戶對(duì)每一個(gè)標(biāo)簽的喜好程度后,結(jié)合物品標(biāo)簽矩陣ah×n,計(jì)算m個(gè)用戶中的每一個(gè)用戶對(duì)h個(gè)物品中的每一個(gè)物品的喜好程度。
其中,物品標(biāo)簽矩陣ah×n是根據(jù)用戶行為日志中攜帶的物品標(biāo)識(shí)和物品標(biāo)簽得到的矩陣。
可選的,物品標(biāo)簽矩陣ah×n的行表示物品,列表示標(biāo)簽。示例性的,物品標(biāo)簽矩陣ah×n中的元素用0或1表示。0表示物品不具有標(biāo)簽所描述的屬性,1表示物品具有標(biāo)簽所描述的屬性。假定物品的個(gè)數(shù)為4,標(biāo)簽的個(gè)數(shù)為5,則示例性的物品標(biāo)簽矩陣ah×n為:
其中,物品標(biāo)簽矩陣a1表示物品標(biāo)簽矩陣的第一行,說明物品1具有標(biāo)簽 1和標(biāo)簽2所描述的屬性,物品1不具有標(biāo)簽3、標(biāo)簽4和標(biāo)簽5所描述的屬性。
用戶喜歡某一物品,通常是因?yàn)樵撐锲肪哂杏脩粝埠玫臉?biāo)簽(也即標(biāo)簽所描述的屬性),用戶對(duì)物品的喜好可以看成是用戶對(duì)該物品具有的標(biāo)簽的喜好程度的綜合。用戶u對(duì)物品i的喜好程度可以根據(jù)用戶u對(duì)物品i具有的標(biāo)簽的喜好程度計(jì)算得到。
可選的,本發(fā)明實(shí)施例中采用將用戶u對(duì)物品i具有的標(biāo)簽的喜好程度進(jìn)行求和計(jì)算用戶u對(duì)物品i的喜好程度,計(jì)算公式為:
比如:如上示例性的初始化用戶參數(shù)矩陣wm×k、初始化標(biāo)簽參數(shù)矩陣hk×n中,用戶1對(duì)物品1的喜好程度
步驟205,根據(jù)m個(gè)用戶中的每一個(gè)用戶對(duì)h個(gè)物品中的每一個(gè)物品的喜好程度,獲取每一個(gè)訓(xùn)練樣本對(duì)應(yīng)的概率。
其中,訓(xùn)練樣本<u,i,j>對(duì)應(yīng)的概率是指用戶u對(duì)物品i的喜好程度大于對(duì)物品j的喜好程度的概率。
可選的,計(jì)算用戶u對(duì)物品i的喜好程度大于對(duì)物品j的喜好程度的概率的過程如下:
第一步,根據(jù)計(jì)算出的每個(gè)用戶對(duì)每個(gè)物品的喜好程度,計(jì)算用戶u對(duì)物品i的喜好程度與用戶u對(duì)物品j的喜好程度的差值:
第二步,根據(jù)邏輯斯蒂函數(shù)σ(x)計(jì)算用戶u對(duì)物品i的喜好程度大于對(duì)物品j的喜好程度的概率:
步驟206,將m個(gè)訓(xùn)練樣本分別對(duì)應(yīng)的概率作為數(shù)據(jù)擬合模型的輸入?yún)?shù),計(jì)算數(shù)據(jù)擬合模型的輸出結(jié)果。
可選的,數(shù)據(jù)擬合模型是采用貝葉斯最大似然估計(jì)方法構(gòu)建的模型,具體的數(shù)據(jù)擬合模型如下所示:
其中,λw、λh和λs是用于防止過擬合的正則化參數(shù),λw、λh和λs為正實(shí)數(shù),||·||表示矩陣的二范數(shù),ds表示m個(gè)訓(xùn)練樣本的集合,訓(xùn)練樣本<u,i, j>對(duì)應(yīng)的概率
nu表示用戶u的關(guān)聯(lián)用戶集合,也即表示與用戶u之間存在關(guān)聯(lián)關(guān)系的其他用戶的集合。其中,關(guān)聯(lián)關(guān)系可以是好友關(guān)系,例如某一用戶v與用戶u是社交類應(yīng)用中的好友,則用戶u與用戶v之間具有好友關(guān)系,用戶u與用戶v互為關(guān)聯(lián)用戶;或者,關(guān)聯(lián)關(guān)系也可以是非好友關(guān)系,例如某一用戶v與用戶u屬于社交類應(yīng)用中的同一群組,則用戶u與用戶v互為關(guān)聯(lián)用戶。需要說明的是,在構(gòu)建用戶相似度矩陣sm×m時(shí),用戶相似度矩陣sm×m中的任意兩個(gè)用戶,可以是具有好友關(guān)系的用戶,也可以是并未建立好友關(guān)系(如屬于同一群組,甚至為互不相識(shí)的陌生用戶)的用戶。
用戶相似度矩陣sm×m中包括m個(gè)用戶中兩兩用戶之間的相似度。可選的,將矩陣s對(duì)角元素設(shè)置為suu=0,最后按行歸一化以使得
步驟207,若輸出結(jié)果不符合預(yù)設(shè)條件,則修正第a輪修正后的用戶參數(shù)矩陣wm×k得到第a+1輪修正后的用戶參數(shù)矩陣wm×k,以及修正第a輪修正后的標(biāo)簽參數(shù)矩陣hk×n得到第a+1輪修正后的標(biāo)簽參數(shù)矩陣hk×n,令a=a+1,并返回執(zhí)行上述步驟203至步驟206。
預(yù)設(shè)條件包括本輪輸出結(jié)果與上輪輸出結(jié)果之間的差值小于預(yù)定閾值,和/或,對(duì)用戶參數(shù)矩陣和標(biāo)簽參數(shù)矩陣的修正輪數(shù)達(dá)到預(yù)定輪數(shù)。其中,預(yù)定閾值和預(yù)定輪數(shù)綜合衡量修正精度和修正效率之后進(jìn)行設(shè)定。
可選的,根據(jù)第a輪修正后的用戶參數(shù)矩陣wm×k按照下述公式計(jì)算得到第a+1輪修正后的用戶參數(shù)矩陣wm×k。
其中,wu′表示第a+1輪修正后的用戶參數(shù)矩陣wm×k中第u行對(duì)應(yīng)的行向量,wu表示第a輪修正后的用戶參數(shù)矩陣wm×k中第u行對(duì)應(yīng)的行向量,
可選的,根據(jù)第a輪修正后的標(biāo)簽參數(shù)矩陣hk×n按照下述公式計(jì)算得到第a+1輪修正后的標(biāo)簽參數(shù)矩陣hk×n。
其中,hf′表示第a+1輪修正后的標(biāo)簽參數(shù)矩陣hk×n中第f行對(duì)應(yīng)的行向量,hf表示第a輪修正后的標(biāo)簽參數(shù)矩陣hk×n中第f行對(duì)應(yīng)的行向量,f為大于等于1且小于等于k的整數(shù),α為學(xué)習(xí)效率,α為正實(shí)數(shù)。其中,α為預(yù)先設(shè)定的經(jīng)驗(yàn)值,α可綜合衡量修正速度和修正精度之后進(jìn)行設(shè)定。
在每一輪修正過程中,采用m個(gè)訓(xùn)練樣本中的每一個(gè)訓(xùn)練樣本對(duì)應(yīng)的
也即,在對(duì)用戶參數(shù)矩陣和標(biāo)簽參數(shù)矩陣進(jìn)行第a輪修正的過程中,令x=1,將第x個(gè)訓(xùn)練樣本對(duì)應(yīng)的
步驟208,若輸出結(jié)果符合預(yù)設(shè)條件,則將第a輪修正后的用戶參數(shù)矩陣wm×k和第a輪修正后的標(biāo)簽參數(shù)矩陣hk×n分別確定為最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n。
當(dāng)數(shù)據(jù)擬合模型的輸出結(jié)果符合預(yù)設(shè)條件時(shí),停止修正用戶參數(shù)矩陣wm×k和標(biāo)簽參數(shù)矩陣hk×n,確定當(dāng)前的用戶參數(shù)矩陣wm×k為最終的用戶參數(shù)矩陣wm×k以及當(dāng)前的標(biāo)簽參數(shù)矩陣hk×n為最終的標(biāo)簽參數(shù)矩陣hk×n。
步驟209,根據(jù)最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,獲取用戶畫像矩陣pm×n。
其中,用戶畫像矩陣pm×n中第u行第t列的元素put表示用戶u對(duì)標(biāo)簽t的喜好程度,u為大于等于1且小于等于m的整數(shù),t為大于等于1且小于等于n的整數(shù)。
在反復(fù)修正用戶參數(shù)矩陣和標(biāo)簽參數(shù)矩陣后,得到最終的用戶參數(shù)矩陣和最終的標(biāo)簽參數(shù)矩陣,根據(jù)最終的用戶參數(shù)矩陣和最終的標(biāo)簽參數(shù)矩陣輸出用戶對(duì)標(biāo)簽的喜好程度。
示例性的,假定擬合訓(xùn)練樣本得到最終的用戶參數(shù)矩陣和最終的標(biāo)簽參數(shù)矩陣分別為
可選的,本實(shí)施例提供的方法還包括如下步驟210。
步驟210,根據(jù)獲取得到的用戶畫像矩陣pm×n和目標(biāo)物品所具有的標(biāo)簽,計(jì)算用戶u對(duì)目標(biāo)物品的喜好程度。
可選的,將用戶u對(duì)目標(biāo)物品所具有的各個(gè)標(biāo)簽的喜好程度進(jìn)行求和,計(jì)算用戶u對(duì)目標(biāo)物品的喜好程度。
綜上所述,本實(shí)施例提供的方法,通過根據(jù)用戶行為日志,獲取m個(gè)訓(xùn)練樣本,根據(jù)訓(xùn)練樣本,采用數(shù)據(jù)擬合模型修正初始化的用戶參數(shù)矩陣wm×k和標(biāo)簽參數(shù)矩陣hk×n,得到最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,而后根據(jù)最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,獲取用戶畫像矩陣pm×n;解決了現(xiàn)有技術(shù)提供的獲取用戶畫像的方法,所耗費(fèi)的時(shí)間和人力成本較高,且獲取的用戶畫像的準(zhǔn)確度較低的問題;通過將用戶和標(biāo)簽參數(shù)化,并采用數(shù)據(jù)擬合模型修正用戶參數(shù)矩陣和標(biāo)簽參數(shù)矩陣,使之?dāng)M合訓(xùn)練樣本,無需人工為標(biāo)簽設(shè)定相應(yīng)的標(biāo)簽權(quán)重,根據(jù)用戶行為日志采用數(shù)據(jù)擬合方法自動(dòng)地獲取用戶畫像,達(dá)到了節(jié)省時(shí)間和人力成本,準(zhǔn)確高效地獲取用戶畫像的技術(shù)效果。
另外,采用機(jī)器學(xué)習(xí)的方式對(duì)用戶參數(shù)矩陣和標(biāo)簽參數(shù)矩陣進(jìn)行修正,使 之?dāng)M合訓(xùn)練樣本,進(jìn)而自動(dòng)獲取用戶畫像,更加準(zhǔn)確高效。
另外,基于物以類聚人以群分的思想,兩個(gè)相似度更高的用戶,其用戶偏好也應(yīng)當(dāng)更為接近,通過在數(shù)據(jù)擬合模型中增加用戶相似度矩陣作為約束條件,而不僅僅單一地依賴于用戶行為日志來獲取用戶畫像,并且在修正用戶參數(shù)矩陣時(shí)考慮用戶相似度矩陣,體現(xiàn)了用戶參數(shù)向量與其關(guān)聯(lián)用戶的用戶參數(shù)向量之間的強(qiáng)相關(guān)性,從而更加精準(zhǔn)地獲取用戶畫像。
可選的,如圖4所示,通過如下步驟獲取用戶相似度矩陣sm×m。
步驟401,獲取m個(gè)用戶中的每一個(gè)用戶的社交網(wǎng)絡(luò)信息。
社交網(wǎng)絡(luò)信息中包括用戶標(biāo)識(shí)、用戶的關(guān)聯(lián)用戶列表、用戶與關(guān)聯(lián)用戶之間的相似度。
其中,用戶標(biāo)識(shí)是用于識(shí)別用戶身份的標(biāo)識(shí)號(hào)碼,也稱為用戶帳號(hào),是某個(gè)體系中相對(duì)唯一的編碼。用戶的關(guān)聯(lián)用戶列表中包括用戶的各個(gè)關(guān)聯(lián)用戶,也即與用戶具有關(guān)聯(lián)關(guān)系的其他用戶。用戶與關(guān)聯(lián)用戶之間的相似度是指用戶與關(guān)聯(lián)用戶之間的相關(guān)性。其中,用戶與關(guān)聯(lián)用戶之間的相似度可根據(jù)如下一項(xiàng)或者多項(xiàng)參數(shù)進(jìn)行確定:用戶與關(guān)聯(lián)用戶之間的交往頻率、用戶與關(guān)聯(lián)用戶之間是否為好友關(guān)系、用戶與關(guān)聯(lián)用戶之間是否擁有相同的社交圈、用戶與關(guān)聯(lián)用戶之間是否擁有相同的人口屬性、用戶與關(guān)聯(lián)用戶之間是否存在相同的偏好。等等。
步驟402,根據(jù)m個(gè)用戶的社交網(wǎng)絡(luò)信息,生成用戶相似度矩陣sm×m。
根據(jù)m個(gè)用戶的社交網(wǎng)絡(luò)信息,獲取兩兩用戶之間的相似度,生成用戶相似度矩陣sm×m。用戶相似度矩陣sm×m中的行和列都表示用戶,比如:用戶相似度矩陣sm×m中的第二行第三列表示用戶2與用戶3之間的相似度。
示例性的,當(dāng)用戶個(gè)數(shù)為3時(shí),用戶相似度矩陣sm×m為:
其中,第一行中的0.6表示用戶1與用戶2之間的相似度,0.4表示用戶1與用戶3之間的相似度,等等。在生成用戶相似度矩陣sm×m時(shí),僅考慮用戶與關(guān)聯(lián)用戶之間的相似度,而不考慮用戶與其自身之間的相似度,因此將用戶相似度矩陣sm×m的對(duì)角元素suu設(shè)為0。
綜上所述,通過引入用戶相似度矩陣作為數(shù)據(jù)擬合模型的約束條件,同時(shí)也作為修正用戶參數(shù)矩陣的一個(gè)參數(shù),進(jìn)一步提高了最終獲取的用戶畫像的準(zhǔn)確度。
此外,在上述實(shí)施例中,僅以用戶之間的相似度作為約束條件融入到數(shù)據(jù)擬合模型中,以體現(xiàn)用戶參數(shù)向量與其關(guān)聯(lián)用戶的用戶參數(shù)向量之間的強(qiáng)相關(guān)性。在其它可能的實(shí)施例中,也可根據(jù)需要將其它數(shù)據(jù)作為約束條件融入到數(shù)據(jù)擬合模型中。例如,將標(biāo)簽之間的相似度作為約束條件融入到數(shù)據(jù)擬合模型中,構(gòu)建標(biāo)簽相似度矩陣,標(biāo)簽相似度矩陣中的行和列都表示標(biāo)簽,每個(gè)元素表示對(duì)應(yīng)的行和列表示的兩個(gè)標(biāo)簽之間的相似度,標(biāo)簽之間的相似度可依據(jù)標(biāo)簽所表達(dá)的意思的相近程度進(jìn)行確定,例如兩個(gè)意思越接近的標(biāo)簽之間的相似度越高,以體現(xiàn)標(biāo)簽參數(shù)向量與其相似標(biāo)簽的標(biāo)簽參數(shù)向量之間的強(qiáng)相關(guān)性。因此,上述數(shù)據(jù)擬合模型是一種比較通用的、自動(dòng)地學(xué)習(xí)用戶參數(shù)向量和標(biāo)簽參數(shù)向量從而獲取用戶對(duì)標(biāo)簽的喜好程度的框架,可根據(jù)需要加入其它數(shù)據(jù)到該模型中。
請(qǐng)參考圖5,其示出了本發(fā)明一個(gè)實(shí)施例提供的獲取用戶畫像的裝置的結(jié)構(gòu)方框圖。該裝置可通過軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)成為服務(wù)器的部分或者全部。該裝置可以包括:樣本獲取模塊520、矩陣修正模塊540和畫像獲取模塊560。
樣本獲取模塊520,用于根據(jù)用戶行為日志,獲取m個(gè)訓(xùn)練樣本;其中,訓(xùn)練樣本<u,i,j>用于反映用戶u對(duì)物品i和物品j的喜好程度的差異,m為正整數(shù)。
矩陣修正模塊540,用于根據(jù)樣本獲取模塊520獲取的訓(xùn)練樣本,采用數(shù)據(jù)擬合模型修正初始化的用戶參數(shù)矩陣wm×k和初始化的標(biāo)簽參數(shù)矩陣hk×n,得到最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n;其中,m表示用戶個(gè)數(shù),k表示因子個(gè)數(shù),n表示標(biāo)簽個(gè)數(shù),m為正整數(shù),k為正整數(shù),n為大于1的整數(shù)。
畫像獲取模塊560,用于根據(jù)矩陣修正模塊540得到的最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,獲取用戶畫像矩陣pm×n;其中,用戶畫像矩陣pm×n中第u行第t列的元素put表示用戶u對(duì)標(biāo)簽t的喜好程度,u為大于等 于1且小于等于m的整數(shù),t為大于等于1且小于等于n的整數(shù)。
綜上所述,本實(shí)施例提供的裝置,通過根據(jù)用戶行為日志,獲取m個(gè)訓(xùn)練樣本,根據(jù)訓(xùn)練樣本,采用數(shù)據(jù)擬合模型修正初始化的用戶參數(shù)矩陣wm×k和標(biāo)簽參數(shù)矩陣hk×n,得到最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,而后根據(jù)最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,獲取用戶畫像矩陣pm×n;解決了現(xiàn)有技術(shù)提供的獲取用戶畫像的方法,所耗費(fèi)的時(shí)間和人力成本較高,且獲取的用戶畫像的準(zhǔn)確度較低的問題;通過將用戶和標(biāo)簽參數(shù)化,并采用數(shù)據(jù)擬合模型修正用戶參數(shù)矩陣和標(biāo)簽參數(shù)矩陣,使之?dāng)M合訓(xùn)練樣本,無需人工為標(biāo)簽設(shè)定相應(yīng)的標(biāo)簽權(quán)重,根據(jù)用戶行為日志采用數(shù)據(jù)擬合方法自動(dòng)地獲取用戶畫像,達(dá)到了節(jié)省時(shí)間和人力成本,準(zhǔn)確高效地獲取用戶畫像的技術(shù)效果。
請(qǐng)參考圖6,其示出了本發(fā)明另一個(gè)實(shí)施例提供的獲取用戶畫像的裝置的結(jié)構(gòu)方框圖。該裝置可通過軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)成為服務(wù)器的部分或者全部。該裝置可以包括:樣本獲取模塊610、矩陣修正模塊650和畫像獲取模塊660。
樣本獲取模塊610,用于根據(jù)用戶行為日志,獲取m個(gè)訓(xùn)練樣本;其中,訓(xùn)練樣本<u,i,j>用于反映用戶u對(duì)物品i和物品j的喜好程度的差異,m為正整數(shù)。
在一種可能的實(shí)現(xiàn)方式中,樣本獲取模塊610包括:行為獲取單元611和樣本獲取單元612。
行為獲取單元611,用于根據(jù)用戶行為日志,獲取m個(gè)用戶中的每一個(gè)用戶對(duì)h個(gè)物品中的每一個(gè)物品的行為類型,h為大于1的整數(shù)。
樣本獲取單元612,用于根據(jù)行為獲取單元611獲取的每一個(gè)用戶對(duì)每一個(gè)物品的行為類型,獲取m個(gè)訓(xùn)練樣本。
可選的,該裝置還包括:第二生成模塊620。
第二生成模塊620,用于生成初始化的用戶參數(shù)矩陣wm×k和初始化的標(biāo)簽參數(shù)矩陣hk×n。其中,初始化的用戶參數(shù)矩陣wm×k中的元素為呈正態(tài)分布的隨機(jī)數(shù),初始化的標(biāo)簽參數(shù)矩陣hk×n中的元素為呈正態(tài)分布的隨機(jī)數(shù)。
可選的,該裝置還包括:信息獲取模塊630和第一生成模塊640。
信息獲取模塊630,用于獲取m個(gè)用戶中的每一個(gè)用戶的社交網(wǎng)絡(luò)信息。
第一生成模塊640,用于根據(jù)信息獲取模塊630獲取的m個(gè)用戶的社交網(wǎng)絡(luò)信息,生成用戶相似度矩陣sm×m。
矩陣修正模塊650,用于根據(jù)樣本獲取模塊610獲取的訓(xùn)練樣本,采用數(shù)據(jù)擬合模型修正第二生成模塊620生成的初始化的用戶參數(shù)矩陣wm×k和初始化的標(biāo)簽參數(shù)矩陣hk×n,得到最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n;其中,m表示用戶個(gè)數(shù),k表示因子個(gè)數(shù),n表示標(biāo)簽個(gè)數(shù),m為正整數(shù),k為正整數(shù),n為大于1的整數(shù)。
在一種可能的實(shí)現(xiàn)方式中,矩陣修正模塊650包括:第一計(jì)算單元651、第二計(jì)算單元652、概率獲取單元653、第三計(jì)算單元654、矩陣確定單元655和矩陣修正單元656。
第一計(jì)算單元651,用于令a=0,根據(jù)第a輪修正后的用戶參數(shù)矩陣wm×k和第a輪修正后的標(biāo)簽參數(shù)矩陣hk×n,計(jì)算m個(gè)用戶中的每一個(gè)用戶對(duì)n個(gè)標(biāo)簽中的每一個(gè)標(biāo)簽的喜好程度;其中,a為大于等于0的整數(shù),第0輪修正后的用戶參數(shù)矩陣wm×k為初始化的用戶參數(shù)矩陣wm×k,第0輪修正后的標(biāo)簽參數(shù)矩陣hk×n為初始化的標(biāo)簽參數(shù)矩陣hk×n。
第二計(jì)算單元652,用于根據(jù)m個(gè)用戶中的每一個(gè)用戶對(duì)n個(gè)標(biāo)簽中的每一個(gè)標(biāo)簽的喜好程度和物品標(biāo)簽矩陣ah×n,計(jì)算m個(gè)用戶中的每一個(gè)用戶對(duì)h個(gè)物品中的每一個(gè)物品的喜好程度;其中,h表示物品個(gè)數(shù),h為大于1的整數(shù)。
概率獲取單元653,用于根據(jù)m個(gè)用戶中的每一個(gè)用戶對(duì)h個(gè)物品中的每一個(gè)物品的喜好程度,獲取每一個(gè)訓(xùn)練樣本對(duì)應(yīng)的概率;其中,訓(xùn)練樣本<u,i,j>對(duì)應(yīng)的概率是指用戶u對(duì)物品i的喜好程度大于對(duì)物品j的喜好程度的概率。
第三計(jì)算單元654,用于將m個(gè)訓(xùn)練樣本分別對(duì)應(yīng)的概率作為數(shù)據(jù)擬合模型的輸入?yún)?shù),計(jì)算數(shù)據(jù)擬合模型的輸出結(jié)果。
可選的,數(shù)據(jù)擬合模型為:
其中,λw、λh和λs是用于防止過擬合的正則化參數(shù),λw、λh和λs為正實(shí)數(shù);||·||表示矩陣的二范數(shù),ds表示m個(gè)訓(xùn)練樣本的集合,訓(xùn)練樣本<u,i, j>對(duì)應(yīng)的概率
矩陣確定單元655,用于在輸出結(jié)果符合預(yù)設(shè)條件時(shí),將第a輪修正后的用戶參數(shù)矩陣wm×k和第a輪修正后的標(biāo)簽參數(shù)矩陣hk×n分別確定為最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n。
矩陣修正單元656,用于在輸出結(jié)果不符合預(yù)設(shè)條件時(shí),修正第a輪修正后的用戶參數(shù)矩陣wm×k得到第a+1輪修正后的用戶參數(shù)矩陣wm×k,以及修正第a輪修正后的標(biāo)簽參數(shù)矩陣hk×n得到第a+1輪修正后的標(biāo)簽參數(shù)矩陣hk×n,令a=a+1,并重新從根據(jù)第a輪修正后的用戶參數(shù)矩陣wm×k和第a輪修正后的標(biāo)簽參數(shù)矩陣hk×n,計(jì)算m個(gè)用戶中的每一個(gè)用戶對(duì)n個(gè)標(biāo)簽中的每一個(gè)標(biāo)簽的喜好程度的步驟開始執(zhí)行。
在一種可能的實(shí)現(xiàn)方式中,矩陣修正單元656,具體用于按照下述公式計(jì)算第a+1輪修正后的用戶參數(shù)矩陣wm×k:
其中,wu′表示第a+1輪修正后的用戶參數(shù)矩陣wm×k中第u行對(duì)應(yīng)的行向量,wu表示第a輪修正后的用戶參數(shù)矩陣wm×k中第u行對(duì)應(yīng)的行向量,
在一種可能的實(shí)現(xiàn)方式中,矩陣修正單元656,具體用于按照下述公式計(jì)算第a+1輪修正后的標(biāo)簽參數(shù)矩陣hk×n:
其中,hf′表示第a+1輪修正后的標(biāo)簽參數(shù)矩陣hk×n中第f行對(duì)應(yīng)的行向量,hf表示第a輪修正后的標(biāo)簽參數(shù)矩陣hk×n中第f行對(duì)應(yīng)的行向量,f為大于等于1且小于等于k的整數(shù),α為學(xué)習(xí)效率,α為正實(shí)數(shù)。
畫像獲取模塊660,用于根據(jù)矩陣修正模塊650得到的最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,獲取用戶畫像矩陣pm×n;其中,用戶畫像矩陣pm×n中第u行第t列的元素put表示用戶u對(duì)標(biāo)簽t的喜好程度,u為大于等于1且小于等于m的整數(shù),t為大于等于1且小于等于n的整數(shù)。
可選的,該裝置還包括:喜好計(jì)算模塊670。
喜好計(jì)算模塊670,用于根據(jù)畫像獲取模塊660獲取的用戶畫像矩陣pm×n和目標(biāo)物品所具有的標(biāo)簽,計(jì)算用戶u對(duì)目標(biāo)物品的喜好程度。
綜上所述,本實(shí)施例提供的裝置,通過根據(jù)用戶行為日志,獲取m個(gè)訓(xùn)練樣本,根據(jù)訓(xùn)練樣本,采用數(shù)據(jù)擬合模型修正初始化的用戶參數(shù)矩陣wm×k和標(biāo)簽參數(shù)矩陣hk×n,得到最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,而后根據(jù)最終的用戶參數(shù)矩陣wm×k和最終的標(biāo)簽參數(shù)矩陣hk×n,獲取用戶畫像矩陣pm×n;解決了現(xiàn)有技術(shù)提供的獲取用戶畫像的方法,所耗費(fèi)的時(shí)間和人力成本較高,且獲取的用戶畫像的準(zhǔn)確度較低的問題;通過將用戶和標(biāo)簽參數(shù)化,并采用數(shù)據(jù)擬合模型修正用戶參數(shù)矩陣和標(biāo)簽參數(shù)矩陣,使之?dāng)M合訓(xùn)練樣本,無需人工為標(biāo)簽設(shè)定相應(yīng)的標(biāo)簽權(quán)重,根據(jù)用戶行為日志采用數(shù)據(jù)擬合方法自動(dòng)地獲取用戶畫像,達(dá)到了節(jié)省時(shí)間和人力成本,準(zhǔn)確高效地獲取用戶畫像的技術(shù)效果。
另外,采用機(jī)器學(xué)習(xí)的方式對(duì)用戶參數(shù)矩陣和標(biāo)簽參數(shù)矩陣進(jìn)行修正,使之?dāng)M合訓(xùn)練樣本,進(jìn)而自動(dòng)獲取用戶畫像,更加準(zhǔn)確高效。
另外,基于物以類聚人以群分的思想,兩個(gè)相似度更高的用戶,其用戶偏好也應(yīng)當(dāng)更為接近,通過在數(shù)據(jù)擬合模型中增加用戶相似度矩陣作為約束條件,而不僅僅單一地依賴于用戶行為日志來獲取用戶畫像,并且在修正用戶參數(shù)矩陣時(shí)考慮用戶相似度矩陣,體現(xiàn)了用戶參數(shù)向量與其關(guān)聯(lián)用戶的用戶參數(shù)向量之間的強(qiáng)相關(guān)性,從而更加精準(zhǔn)地獲取用戶畫像。
需要說明的是:上述實(shí)施例提供的裝置在實(shí)現(xiàn)其功能時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的獲取用戶畫像的裝置與獲取用戶畫像的方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這 里不再贅述。
請(qǐng)參考圖7,其示出了本發(fā)明一個(gè)實(shí)施例提供的服務(wù)器的結(jié)構(gòu)示意圖。該服務(wù)器用于實(shí)施上述實(shí)施例中提供的獲取用戶畫像的方法。具體來講:
所述服務(wù)器700包括中央處理單元(cpu)701、包括隨機(jī)存取存儲(chǔ)器(ram)702和只讀存儲(chǔ)器(rom)703的系統(tǒng)存儲(chǔ)器704,以及連接系統(tǒng)存儲(chǔ)器704和中央處理單元701的系統(tǒng)總線705。所述服務(wù)器700還包括幫助計(jì)算機(jī)內(nèi)的各個(gè)器件之間傳輸信息的基本輸入/輸出系統(tǒng)(i/o系統(tǒng))706,和用于存儲(chǔ)操作系統(tǒng)713、應(yīng)用程序714和其他程序模塊715的大容量存儲(chǔ)設(shè)備707。
所述基本輸入/輸出系統(tǒng)706包括有用于顯示信息的顯示器708和用于用戶輸入信息的諸如鼠標(biāo)、鍵盤之類的輸入設(shè)備709。其中所述顯示器708和輸入設(shè)備709都通過連接到系統(tǒng)總線705的輸入輸出控制器710連接到中央處理單元701。所述基本輸入/輸出系統(tǒng)706還可以包括輸入輸出控制器710以用于接收和處理來自鍵盤、鼠標(biāo)、或電子觸控筆等多個(gè)其他設(shè)備的輸入。類似地,輸入輸出控制器710還提供輸出到顯示屏、打印機(jī)或其他類型的輸出設(shè)備。
所述大容量存儲(chǔ)設(shè)備707通過連接到系統(tǒng)總線705的大容量存儲(chǔ)控制器(未示出)連接到中央處理單元701。所述大容量存儲(chǔ)設(shè)備707及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為服務(wù)器700提供非易失性存儲(chǔ)。也就是說,所述大容量存儲(chǔ)設(shè)備707可以包括諸如硬盤或者cd-rom驅(qū)動(dòng)器之類的計(jì)算機(jī)可讀介質(zhì)(未示出)。
不失一般性,所述計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括ram、rom、eprom、eeprom、閃存或其他固態(tài)存儲(chǔ)其技術(shù),cd-rom、dvd或其他光學(xué)存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備。當(dāng)然,本領(lǐng)域技術(shù)人員可知所述計(jì)算機(jī)存儲(chǔ)介質(zhì)不局限于上述幾種。上述的系統(tǒng)存儲(chǔ)器704和大容量存儲(chǔ)設(shè)備707可以統(tǒng)稱為存儲(chǔ)器。
根據(jù)本發(fā)明的各種實(shí)施例,所述服務(wù)器700還可以通過諸如因特網(wǎng)等網(wǎng)絡(luò)連接到網(wǎng)絡(luò)上的遠(yuǎn)程計(jì)算機(jī)運(yùn)行。也即服務(wù)器700可以通過連接在所述系統(tǒng)總線705上的網(wǎng)絡(luò)接口單元711連接到網(wǎng)絡(luò)712,或者說,也可以使用網(wǎng)絡(luò)接口單元711來連接到其他類型的網(wǎng)絡(luò)或遠(yuǎn)程計(jì)算機(jī)系統(tǒng)(未示出)。
所述存儲(chǔ)器還包括一個(gè)或者一個(gè)以上的程序,所述一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器執(zhí)行。上述一個(gè)或者一個(gè)以上程序包含用于執(zhí)行上述方法的指令。
應(yīng)當(dāng)理解的是,在本文中提及的“多個(gè)”是指兩個(gè)或兩個(gè)以上?!昂?或”,描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:單獨(dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。字符“/”一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。