本申請涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種資源受限約束下的活動(dòng)推薦方法及系統(tǒng)。
背景技術(shù):
產(chǎn)品或活動(dòng)的推薦是企業(yè)的重要營銷方式之一。在實(shí)際推薦中,一個(gè)用戶往往可以參與多個(gè)活動(dòng),而一個(gè)活動(dòng)往往也需要推薦給多個(gè)用戶,即實(shí)際推薦是一個(gè)多對多的推薦。同時(shí),實(shí)際活動(dòng)的推薦也是受到資源約束限制的,如:推薦成本和營銷成本,具體包括時(shí)間成本、人力成本、經(jīng)濟(jì)成本等,因此活動(dòng)的推薦是資源受限的。即實(shí)際活動(dòng)的推薦是一個(gè)資源受限約束下的多對多推薦。
而目前主流的活動(dòng)推薦方法主要是基于用戶-活動(dòng)的匹配程度的top-n推薦方法,在該推薦方法中,一個(gè)用戶可能會(huì)同時(shí)出現(xiàn)在多個(gè)活動(dòng)的top-n名單中。但在考慮到用戶體驗(yàn)、資源受限等約束條件時(shí),雖然一個(gè)用戶可能同時(shí)出現(xiàn)在多個(gè)活動(dòng)的top-n名單中,并且在多個(gè)活動(dòng)中的匹配度都很高,但是并不能把這些活動(dòng)都推薦給該用戶。因?yàn)?,在資源受限條件下,每個(gè)用戶可參與活動(dòng)的數(shù)量和每個(gè)活動(dòng)的配額都是受到限制的。因此,主流的top-n推薦方法缺乏一個(gè)在資源受限條件下的全局優(yōu)化機(jī)制,不能較好的處理資源受限條件下的多對多推薦。如何解決top-n推薦方法存在的問題,實(shí)現(xiàn)活動(dòng)推薦的整體收益最大化,而不是每個(gè)活動(dòng)的局部收益最大化,是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本申請的目的是提供一種資源受限約束下的活動(dòng)推薦方法及系統(tǒng),具有全局優(yōu)化機(jī)制的情況下,則可以對全部活動(dòng)top-n名單中的用戶進(jìn)行統(tǒng)籌推薦,實(shí)現(xiàn)整體收益最大化的,而不是每個(gè)活動(dòng)的局部收益最大化。
為解決上述技術(shù)問題,本申請?zhí)峁┮环N資源受限約束下的活動(dòng)推薦方法,所述方法包括:
提取原始數(shù)據(jù)的特征數(shù)據(jù);其中,所述特征數(shù)據(jù)包括活動(dòng)關(guān)鍵屬性及其關(guān)鍵度,活動(dòng)資格屬性及其對應(yīng)的資格閾值;
根據(jù)所述特征數(shù)據(jù)計(jì)算用戶與活動(dòng)的響應(yīng)度矩陣;
根據(jù)所述特征數(shù)據(jù)進(jìn)行用戶聚類,形成不同等級的特征群體,并根據(jù)所述特征群體計(jì)算用戶與活動(dòng)的貢獻(xiàn)率預(yù)測矩陣;
將所述響應(yīng)度矩陣以及所述貢獻(xiàn)率預(yù)測矩陣進(jìn)行擬合,得到用戶與活動(dòng)的價(jià)值矩陣;
根據(jù)所述價(jià)值矩陣,利用top-n推薦算法篩選出各所述指定活動(dòng)的前預(yù)定數(shù)量的優(yōu)質(zhì)用戶,對各所述優(yōu)質(zhì)用戶中不受限的用戶直接進(jìn)行指定活動(dòng)推薦得到第一推薦結(jié)果,對各所述優(yōu)質(zhì)用戶中受限的用戶進(jìn)行合并,并篩選出受限用戶與活動(dòng)的受限價(jià)值矩陣;
根據(jù)所述受限價(jià)值矩陣,利用kmb算法求解資源受限約束下的用戶與活動(dòng)的推薦結(jié)果,并與所述第一推薦結(jié)果進(jìn)行合并,形成資源受限約束下的全局最優(yōu)推薦結(jié)果。
可選的,提取原始數(shù)據(jù)的特征數(shù)據(jù),包括:
對原始數(shù)據(jù)中的用戶的基本信息,歷史交易行為信息和歷史活動(dòng)參與信息進(jìn)行分析,提取用戶的基本信息特征、歷史交易行為偏好特征、活動(dòng)的用戶群特征以及活動(dòng)中不同用戶對活動(dòng)的貢獻(xiàn)率特征;其中,所述活動(dòng)的用戶群特征包含活動(dòng)關(guān)鍵屬性及其關(guān)鍵度,活動(dòng)資格屬性及其對應(yīng)的資格閾值。
可選的,根據(jù)所述特征數(shù)據(jù)計(jì)算用戶與活動(dòng)的響應(yīng)度矩陣,包括:
利用公式
其中,θij為各用戶在各活動(dòng)中最終的活動(dòng)資格值,wik為第i個(gè)用戶的第k項(xiàng)活動(dòng)關(guān)鍵屬性,φjk(wik)為第j個(gè)活動(dòng)的第k項(xiàng)活動(dòng)關(guān)鍵屬性的計(jì)算函數(shù),nj為第j個(gè)活動(dòng)的活動(dòng)關(guān)鍵屬性個(gè)數(shù),ijk為第j個(gè)活動(dòng)的第k項(xiàng)活動(dòng)關(guān)鍵屬性的重要度。
可選的,根據(jù)所述特征數(shù)據(jù)進(jìn)行用戶聚類,形成不同等級的特征群體,并根據(jù)所述特征群體計(jì)算用戶與活動(dòng)的貢獻(xiàn)率預(yù)測矩陣,包括:
根據(jù)所述基本信息特征和所述歷史交易行為偏好特征進(jìn)行用戶聚類,得到多個(gè)用戶群;
按照用戶是否參與過活動(dòng)對每個(gè)所述用戶群進(jìn)行劃分,得到每個(gè)所述用戶群對應(yīng)每個(gè)活動(dòng)的參與用戶群和未參與用戶群;
對所述參與用戶群的歷史貢獻(xiàn)率進(jìn)行匯總計(jì)算,得到所述參與用戶群的貢獻(xiàn)率的統(tǒng)計(jì)數(shù)作為該用戶群貢獻(xiàn)率的評估參數(shù);
根據(jù)所述用戶群的實(shí)際貢獻(xiàn)率分布情況,對所述未參與用戶群的貢獻(xiàn)率進(jìn)行預(yù)測填充得到未參與用戶群貢獻(xiàn)率;
根據(jù)所述參與用戶群貢獻(xiàn)率以及所述未參與用戶群貢獻(xiàn)率得到用戶與活動(dòng)的貢獻(xiàn)率預(yù)測矩陣。
可選的,將所述響應(yīng)度矩陣以及所述貢獻(xiàn)率預(yù)測矩陣進(jìn)行擬合,得到用戶與活動(dòng)的價(jià)值矩陣,包括:
利用公式v[i,j]=r[i,j]*c[i,j]*w[j]計(jì)算用戶與活動(dòng)的價(jià)值矩陣v;
其中,r為用戶與活動(dòng)的響應(yīng)度矩陣,c為用戶與活動(dòng)的貢獻(xiàn)率預(yù)測矩陣,w為活動(dòng)權(quán)重向量。
可選的,根據(jù)所述價(jià)值矩陣,利用top-n推薦算法篩選出各所述指定活動(dòng)的前預(yù)定數(shù)量的優(yōu)質(zhì)用戶,對各所述優(yōu)質(zhì)用戶中不受限的用戶直接進(jìn)行指定活動(dòng)推薦得到第一推薦結(jié)果,對各所述優(yōu)質(zhì)用戶中受限的用戶進(jìn)行合并,并篩選出受限用戶與活動(dòng)的受限價(jià)值矩陣,包括:
確定每個(gè)活動(dòng)需要推薦的用戶數(shù)ni;
從所述價(jià)值矩陣中為每個(gè)活動(dòng)篩選出價(jià)值數(shù)值位于前
將價(jià)值數(shù)值位于前ni的用戶存放到集合ai,將價(jià)值數(shù)值位于前
當(dāng)用戶u滿足u∈ai=k且
當(dāng)用戶u滿足u∈ai=j(luò),k,h且
不滿足u∈ai=k且
對全部受限用戶進(jìn)行合并,并從所述價(jià)值矩陣中篩選出受限用戶與活動(dòng)的受限價(jià)值矩陣。
可選的,根據(jù)所述價(jià)值矩陣,根據(jù)所述受限價(jià)值矩陣,利用kmb算法求解資源受限約束下的用戶與活動(dòng)的推薦結(jié)果,包括:
確定資源受限約束下的受限用戶可被推薦活動(dòng)數(shù)量向量l,每個(gè)所述指定活動(dòng)所需用戶數(shù)量向量la,受限用戶活動(dòng)推薦情況矩陣t;
利用公式
其中,vmin為受限價(jià)值矩陣,n為受限用戶數(shù)量,m為剩余待推薦活動(dòng)數(shù)量,i為用戶的下標(biāo)或編號(hào),j為活動(dòng)的下標(biāo)或編號(hào)。
本申請還提供一種資源受限約束下的活動(dòng)推薦系統(tǒng),所述系統(tǒng)包括:
特征數(shù)據(jù)獲取模塊,用于提取原始數(shù)據(jù)的特征數(shù)據(jù);其中,所述特征數(shù)據(jù)包括活動(dòng)關(guān)鍵屬性及其關(guān)鍵度,活動(dòng)資格屬性及其對應(yīng)的資格閾值;
響應(yīng)度矩陣計(jì)算模塊,用于根據(jù)所述特征數(shù)據(jù)計(jì)算用戶與活動(dòng)的響應(yīng)度矩陣;
貢獻(xiàn)率預(yù)測矩陣計(jì)算模塊,用于根據(jù)所述特征數(shù)據(jù)進(jìn)行用戶聚類,形成不同等級的特征群體,并根據(jù)所述特征群體計(jì)算用戶與活動(dòng)的貢獻(xiàn)率預(yù)測矩陣;
價(jià)值矩陣計(jì)算模塊,用于將所述響應(yīng)度矩陣以及所述貢獻(xiàn)率預(yù)測矩陣進(jìn)行擬合,得到用戶與活動(dòng)的價(jià)值矩陣;
第一推薦模塊,用于根據(jù)所述價(jià)值矩陣,利用top-n推薦算法篩選出各所述指定活動(dòng)的前預(yù)定數(shù)量的優(yōu)質(zhì)用戶,對各所述優(yōu)質(zhì)用戶中不受限的用戶直接進(jìn)行指定活動(dòng)推薦得到第一推薦結(jié)果,對各所述優(yōu)質(zhì)用戶中受限的用戶進(jìn)行合并,并篩選出受限用戶與活動(dòng)的受限價(jià)值矩陣;
最終推薦模塊,用于根據(jù)所述受限價(jià)值矩陣,利用kmb算法求解資源受限約束下的用戶與活動(dòng)的推薦結(jié)果,并與所述第一推薦結(jié)果進(jìn)行合并,形成資源受限約束下的全局最優(yōu)推薦結(jié)果。
可選的,所述第一推薦模塊包括:
用戶數(shù)確定單元,用于確定每個(gè)活動(dòng)需要推薦的用戶數(shù)ni;
篩選單元,用于從所述價(jià)值矩陣中為每個(gè)活動(dòng)篩選出價(jià)值數(shù)值位于前
集合分配單元,用于將價(jià)值數(shù)值位于前ni的用戶存放到集合ai,將價(jià)值數(shù)值位于前
第一推薦單元,用于當(dāng)用戶u滿足u∈ai=k且
向量確定單元,用于確定資源受限約束下的受限用戶可被推薦活動(dòng)數(shù)量向量l,每個(gè)所述指定活動(dòng)所需用戶數(shù)量向量la,受限用戶活動(dòng)推薦情況矩陣t;
第二推薦單元,用于利用公式
最終推薦單元,用于將資源受限約束下的用戶與活動(dòng)的推薦結(jié)果與所述第一推薦結(jié)果進(jìn)行合并,形成資源受限約束下的全局最優(yōu)推薦結(jié)果;
其中,vmin為受限價(jià)值矩陣,n為受限用戶數(shù)量,m為剩余待推薦活動(dòng)數(shù)量,i為用戶的下標(biāo)或編號(hào),j為活動(dòng)的下標(biāo)或編號(hào)。
本申請所提供的一種資源受限約束下的活動(dòng)推薦方法,在對原始數(shù)據(jù)的活動(dòng)特征以及用戶特征進(jìn)行提取之后,計(jì)算出用戶與活動(dòng)的響應(yīng)度矩陣和用戶與活動(dòng)的貢獻(xiàn)率預(yù)測矩陣,然后對響應(yīng)度矩陣和貢獻(xiàn)率預(yù)測矩陣進(jìn)行擬合形成用戶與活動(dòng)的價(jià)值矩陣;再根據(jù)價(jià)值矩陣,利用小基數(shù)top-n推薦算法對推薦規(guī)模進(jìn)行約減,將價(jià)值分值在活動(dòng)前預(yù)定數(shù)量的用戶進(jìn)行篩出作為優(yōu)質(zhì)用戶,將不受到資源限制的用戶直接進(jìn)行推薦,從而提高最終求解速度。最后對資源受限(利如:成本受限、時(shí)間受限等)多對多推薦過程進(jìn)行形式化,并利用kmb算法求解出受限狀態(tài)下的全局最優(yōu)推薦方案;實(shí)現(xiàn)整體收益最大化的,而不是每個(gè)活動(dòng)的局部收益最大化;本申請所提供的一種資源受限約束下的活動(dòng)推薦系統(tǒng),具有上述有益效果,在此不再贅述。
附圖說明
為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本申請實(shí)施例所提供的資源受限約束下的活動(dòng)推薦方法的流程圖;
圖2為本申請實(shí)施例所提供的資源受限約束下的活動(dòng)推薦系統(tǒng)的結(jié)構(gòu)框圖;
圖3為本申請實(shí)施例所提供的價(jià)值矩陣前期計(jì)算及擬合的簡要流程示例圖;
圖4為本申請實(shí)施例所提供的推薦規(guī)模約減的流程示例圖;
圖5為本申請實(shí)施例所提供的資源受限約束下的活動(dòng)推薦系統(tǒng)整體處理流程圖。
具體實(shí)施方式
本申請的核心是提供一種資源受限約束下的活動(dòng)推薦方法及系統(tǒng),在考慮用戶與活動(dòng)貢獻(xiàn)率和資源受限條件下,完成全局最優(yōu)化多對多推薦,實(shí)現(xiàn)活動(dòng)推薦的整體收益最大化,而不是每個(gè)活動(dòng)的局部收益最大化。
為使本申請實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
本實(shí)施例提供一種資源受限約束下的活動(dòng)多對多推薦方法,在考慮用戶-活動(dòng)貢獻(xiàn)率和資源受限條件下,完成全局最優(yōu)化多對多推薦。具體請參考圖1,圖1為本申請實(shí)施例所提供的資源受限約束下的活動(dòng)推薦方法的流程圖;該方法可以包括:
s100、提取原始數(shù)據(jù)的特征數(shù)據(jù);其中,特征數(shù)據(jù)包括活動(dòng)關(guān)鍵屬性及其關(guān)鍵度,活動(dòng)資格屬性及其對應(yīng)的資格閾值。
具體的,本實(shí)施例并不對特征數(shù)據(jù)的具體內(nèi)容進(jìn)行限定,用戶可以根據(jù)后續(xù)步驟的計(jì)算需求進(jìn)行相應(yīng)的提取。本實(shí)施例后續(xù)會(huì)計(jì)算響應(yīng)度矩陣以及貢獻(xiàn)率預(yù)測矩陣等,因此特征數(shù)據(jù)中包含活動(dòng)關(guān)鍵屬性及其關(guān)鍵度,活動(dòng)資格屬性及其對應(yīng)的資格閾值。其中,活動(dòng)關(guān)鍵屬性(可以簡稱為關(guān)鍵屬性)是活動(dòng)中頻繁出現(xiàn)的正相關(guān)特征,關(guān)鍵度則是該關(guān)鍵屬性的權(quán)重;活動(dòng)資格屬性(可以簡稱為資格屬性)是參與活動(dòng)用戶必須滿足的特征,其對應(yīng)的閾值則是用戶參與該活動(dòng)必須滿足該特征屬性的最小值。本實(shí)施例也不限定具體提取原始數(shù)據(jù)的特征數(shù)據(jù)的方式,用戶可以根據(jù)原始數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)形式進(jìn)行適用性選擇提取的算法。下面提供一種具體的提取原始數(shù)據(jù)的特征數(shù)據(jù)的方式:在數(shù)據(jù)預(yù)處理階段,對原始數(shù)據(jù)中全部用戶的基本信息、歷史交易行為信息和歷史活動(dòng)參與信息(即參與情況)等進(jìn)行分析及抽象,抽取出:a、用戶的基本信息特征;b、用戶的歷史交易行為偏好特征;c、相關(guān)營銷活動(dòng)(即活動(dòng))的用戶群特征;d、不同用戶對活動(dòng)的貢獻(xiàn)率特征的情況;
其中,對a、b、c這三個(gè)抽象特征信息的綜合分析,可用于用戶-活動(dòng)響應(yīng)度的評估;而對a、b、d的特征信息的綜合分析,可用于用戶-活動(dòng)的貢獻(xiàn)率的預(yù)估。
對于相關(guān)活動(dòng)的用戶群特征的抽取,可以按照如下方式。首先,將相關(guān)活動(dòng)的用戶群特征分為兩大類,一類是活動(dòng)關(guān)鍵屬性特征(即活動(dòng)關(guān)鍵屬性),另一類是活動(dòng)資格屬性特征(即活動(dòng)資格屬性)。
在提取活動(dòng)關(guān)鍵屬性特征時(shí),根據(jù)受邀用戶名單、歷史活動(dòng)時(shí)間和受邀用戶參與活動(dòng)記錄,對受邀用戶參與活動(dòng)情況進(jìn)行匯總;例如參與活動(dòng)的總用戶數(shù)、活動(dòng)不同單筆消費(fèi)金額區(qū)間的總?cè)藬?shù)、活動(dòng)不同消費(fèi)類型的總?cè)藬?shù)、活動(dòng)境內(nèi)外消費(fèi)總?cè)藬?shù)、活動(dòng)不同消費(fèi)方式的總消費(fèi)額度和人均額度等,基于匯總信息,如果某個(gè)活動(dòng)中參與用戶的某項(xiàng)特征匯總?cè)藬?shù)或額度到達(dá)給定閾值,并滿足提升度大于1時(shí),該項(xiàng)屬性將作為該活動(dòng)的一項(xiàng)活動(dòng)關(guān)鍵屬性,其重要度i=nw/na,nw為該活動(dòng)中參與用戶的該項(xiàng)特征匯總?cè)藬?shù)或匯總額度,na為該活動(dòng)總參與人數(shù)或總消費(fèi)額度。
在提取活動(dòng)資格屬性特征時(shí),對于專家直接給定的活動(dòng)資格屬性及其閾值直接存入活動(dòng)資格屬性表中,而非專家給出的資格屬性,則可以根據(jù)受邀用戶名單和受邀用戶參與活動(dòng)情況等,對受邀但未參與活動(dòng)用戶的特征屬性進(jìn)行分析和啟發(fā)式學(xué)習(xí),找出不參加某個(gè)活動(dòng)的用戶的共同屬性,并通過搜索這類屬性的閾值,最終確定出具體的資格屬性及其閾值,并存入資格屬性表。
s110、根據(jù)特征數(shù)據(jù)計(jì)算用戶與活動(dòng)的響應(yīng)度矩陣。
具體的,本實(shí)施例并不限定具體響應(yīng)度矩陣的計(jì)算方式,為了保證響應(yīng)度矩陣的可靠性,可以通過相關(guān)活動(dòng)的關(guān)鍵屬性和資格屬性,對用戶-活動(dòng)的響應(yīng)度矩陣進(jìn)行計(jì)算。優(yōu)選的,本實(shí)施例可以采用如下方式計(jì)算響應(yīng)度矩陣:
利用公式
利用公式
s120、根據(jù)特征數(shù)據(jù)進(jìn)行用戶聚類,形成不同等級的特征群體,并根據(jù)特征群體計(jì)算用戶與活動(dòng)的貢獻(xiàn)率預(yù)測矩陣。
具體的,本實(shí)施例并不限定具體貢獻(xiàn)率預(yù)測矩陣的計(jì)算方式,可以用戶聚類,形成具有相似消費(fèi)行為的特征群體,然后用相似群體在不同活動(dòng)的消費(fèi)水平,對未知的用戶-活動(dòng)貢獻(xiàn)率進(jìn)行預(yù)測。優(yōu)選的,本實(shí)施例可以采用如下方式計(jì)算貢獻(xiàn)率預(yù)測矩陣c:
第一:根據(jù)用戶的基本信息特征和歷史交易行為偏好特征對用戶進(jìn)行用戶聚類,得到多個(gè)用戶群u1、u2...un;其中,u=u1∪u2...∪un,
第二:按照用戶是否參與過活動(dòng)對每個(gè)用戶群進(jìn)行劃分,得到每個(gè)用戶群對應(yīng)每個(gè)活動(dòng)的參與用戶群unmy和未參與用戶群unmn;其中,unmy表示第n個(gè)用戶群中有參與過活動(dòng)m的群體,unmn表示第n個(gè)用戶群中沒有參與過活動(dòng)m的群體。
第三:對unmy群體的歷史貢獻(xiàn)率進(jìn)行匯總分析,計(jì)算得到參與用戶群的貢獻(xiàn)率的統(tǒng)計(jì)數(shù)作為該用戶群貢獻(xiàn)率的評估參數(shù);本實(shí)施例并不對統(tǒng)計(jì)數(shù)的進(jìn)行限定,例如可以是平均數(shù)、最大值、最小值、中位數(shù)等。這些不同的統(tǒng)計(jì)數(shù)的選取可以根據(jù)實(shí)際情況進(jìn)行選擇,統(tǒng)計(jì)數(shù)主要是通過對同一個(gè)用戶群歷史貢獻(xiàn)進(jìn)行統(tǒng)計(jì)得到的,用途是對同一個(gè)用戶群中,未參與過活動(dòng)的用戶進(jìn)行評估(即對某個(gè)用戶在某個(gè)活動(dòng)中不存在歷史貢獻(xiàn)率的情況進(jìn)行填充),而具體運(yùn)用那種統(tǒng)計(jì)數(shù)是和實(shí)際的案例和要求有關(guān)的,不同的選擇可能會(huì)影響到最終貢獻(xiàn)率預(yù)測的準(zhǔn)確率,例如:如果同一個(gè)用戶群用戶歷史貢獻(xiàn)率分布比較均勻則選擇平均數(shù);如果歷史貢獻(xiàn)率在中間的分布比較密集,則選擇眾數(shù)或者中位數(shù);如果在歷史貢獻(xiàn)率較小的位置分布比較密集,則選擇最小值;最大值同理。對于一個(gè)參與用戶的多次歷史記錄的統(tǒng)計(jì)數(shù),用于預(yù)測該用戶的貢獻(xiàn)率,對于一個(gè)用戶群中多個(gè)參與用戶歷史記錄的統(tǒng)計(jì)數(shù),是用于未參與用戶群貢獻(xiàn)率的預(yù)測。
第四:根據(jù)用戶群的實(shí)際貢獻(xiàn)率分布情況,對unmn群體的貢獻(xiàn)率進(jìn)行預(yù)測填充得到未參與用戶群貢獻(xiàn)率;這里的預(yù)測填充可以利用實(shí)際貢獻(xiàn)率分布統(tǒng)計(jì)數(shù)(例如均值)進(jìn)行填充。
第五:根據(jù)參與用戶群貢獻(xiàn)率以及未參與用戶群貢獻(xiàn)率得到用戶與活動(dòng)的貢獻(xiàn)率預(yù)測矩陣c。即通過c可以知道每個(gè)用戶對于每個(gè)活動(dòng)的貢獻(xiàn)率矩陣c[i,j],其中矩陣c的行表示用戶,列表示活動(dòng)。
例如
s130、將響應(yīng)度矩陣以及貢獻(xiàn)率預(yù)測矩陣進(jìn)行擬合,得到用戶與活動(dòng)的價(jià)值矩陣。
具體的,本實(shí)施例并不限定具體價(jià)值矩陣的計(jì)算方式。優(yōu)選的,本實(shí)施例可以采用如下方式計(jì)算價(jià)值矩陣v:
利用公式v[i,j]=r[i,j]*c[i,j]*w[j]計(jì)算用戶與活動(dòng)的價(jià)值矩陣v;
其中,r為用戶與活動(dòng)的響應(yīng)度矩陣,c為用戶與活動(dòng)的貢獻(xiàn)率預(yù)測矩陣,w為活動(dòng)權(quán)重向量。價(jià)值矩陣v中的數(shù)值代表了用戶-活動(dòng)價(jià)值分值,是綜合考慮響應(yīng)度和貢獻(xiàn)率的分值,分值越高越適合參與該活動(dòng),同時(shí),為了衡量不同活動(dòng)的收益率高低以及營銷活動(dòng)的側(cè)重點(diǎn),在擬合用戶-活動(dòng)價(jià)值矩陣v時(shí),該優(yōu)選實(shí)施例引入了活動(dòng)權(quán)重向量w,從而可以提高價(jià)值矩陣的可靠性和準(zhǔn)確性。如w=[10,20,30],表示第1個(gè)活動(dòng)的權(quán)重為10,第2個(gè)活動(dòng)的權(quán)重為20,第3個(gè)活動(dòng)的權(quán)重為30。
例如
s140、根據(jù)價(jià)值矩陣,利用top-n推薦算法篩選出各指定活動(dòng)的前預(yù)定數(shù)量的優(yōu)質(zhì)用戶,對各優(yōu)質(zhì)用戶中不受限的用戶直接進(jìn)行指定活動(dòng)推薦得到第一推薦結(jié)果,對各優(yōu)質(zhì)用戶中受限的用戶進(jìn)行合并,并篩選出受限用戶與活動(dòng)的受限價(jià)值矩陣。
其中,本實(shí)施例并不對具體的預(yù)定數(shù)量的具體數(shù)值進(jìn)行限定。該步驟即對不受限的用戶直接進(jìn)行推薦,對受限的優(yōu)質(zhì)用戶進(jìn)行合并,然后從價(jià)值矩陣,抽取出規(guī)模更小的受限價(jià)值矩陣。這里的指定活動(dòng)即選定的營銷活動(dòng),本實(shí)施例并不對指定活動(dòng)的數(shù)量進(jìn)行限定,任何用戶需要計(jì)算的活動(dòng)都可以稱之為指定活動(dòng)。即每個(gè)指定活動(dòng)都會(huì)存在直接可以推薦的用戶和受限用戶。對于不受限的用戶直接推薦,對于受限的用戶合并后計(jì)算受限價(jià)值矩陣,并利用kmb算法求解資源受限約束下的用戶與活動(dòng)的推薦結(jié)果。
具體的,在進(jìn)行資源受限下活動(dòng)的多對多推薦之前,會(huì)利用小基數(shù)top-n推薦算法對推薦規(guī)模進(jìn)行約減,其作用在于將價(jià)值分值在對應(yīng)活動(dòng)前
首先,根據(jù)每個(gè)活動(dòng)需要推薦的用戶數(shù)ni,從用戶-活動(dòng)的價(jià)值矩陣v中為每個(gè)活動(dòng)抽取價(jià)值分值數(shù)值排在前
然后,將每個(gè)活動(dòng)的價(jià)值分值數(shù)值排在前ni個(gè)用戶分別存入相應(yīng)的集合ai,排名在
最后,對于某個(gè)用戶u,如果滿足u∈ai=k且
s150、根據(jù)受限價(jià)值矩陣,利用kmb算法求解資源受限約束下的用戶與活動(dòng)的推薦結(jié)果,并與第一推薦結(jié)果進(jìn)行合并,形成資源受限約束下的全局最優(yōu)推薦結(jié)果。
其中,該步驟利用kmb算法求解資源受限條件下的用戶-活動(dòng)推薦結(jié)果,并與步驟s140中推薦結(jié)果進(jìn)行合并,形成最終的全局最優(yōu)推薦結(jié)果。kmb算法(kuhn-munkresalgorithmwithbacktracking),即帶回溯的kuhn-munkres算法(又稱匈牙利算法),是多對多最優(yōu)指派算法,時(shí)間復(fù)雜度為立方級。其中多對多指派,指一個(gè)人能被指派于執(zhí)行多個(gè)任務(wù),一個(gè)任務(wù)能被分配給多人完成;多對多最優(yōu)指派算法,意為指派完成后,價(jià)值評估求和總值最高(maximal),是硬優(yōu)化算法。
具體的,對價(jià)值分值在活動(dòng)前
確定資源受限約束下的受限用戶可被推薦活動(dòng)數(shù)量向量l,每個(gè)指定活動(dòng)所需用戶數(shù)量向量la,受限用戶活動(dòng)推薦情況矩陣t;
利用公式
具體的,例如l=[2132],表示第1個(gè)用戶可以被推薦的活動(dòng)數(shù)量為2,第2個(gè)用戶可以被推薦的活動(dòng)數(shù)量為1,依次類推。la=[8567],表示第1個(gè)活動(dòng)需要用戶數(shù)量為8,第2個(gè)活動(dòng)需要用戶數(shù)量為5,依次類推。
其中,資源受限條件下的多對多推薦,可抽象為求最大化σ的過程,具體如下:利用公式
t[i,j]∈{0,1}(1≤i≤n,1≤j≤m)
其中,求出使σ最大的t推薦情況矩陣,然后,將其與步驟s140中的第一推薦結(jié)果進(jìn)行合并,得出最終的推薦結(jié)果。
基于上述技術(shù)方案,本申請實(shí)施例提供的資源受限約束下的活動(dòng)推薦方法,在對原始數(shù)據(jù)的活動(dòng)特征以及用戶特征進(jìn)行提取之后,計(jì)算出用戶與活動(dòng)的響應(yīng)度矩陣和用戶與活動(dòng)的貢獻(xiàn)率預(yù)測矩陣,然后對響應(yīng)度矩陣和貢獻(xiàn)率預(yù)測矩陣進(jìn)行擬合形成用戶與活動(dòng)的價(jià)值矩陣;再根據(jù)價(jià)值矩陣,利用小基數(shù)top-n推薦算法對推薦規(guī)模進(jìn)行約減,將價(jià)值分值不在所有活動(dòng)的前
下面對本申請實(shí)施例提供的資源受限約束下的活動(dòng)推薦系統(tǒng)進(jìn)行介紹,下文描述的資源受限約束下的活動(dòng)推薦系統(tǒng)與上文描述的資源受限約束下的活動(dòng)推薦方法可相互對應(yīng)參照。
請參考圖2,圖2為本申請實(shí)施例所提供的資源受限約束下的活動(dòng)推薦系統(tǒng)的結(jié)構(gòu)框圖;該系統(tǒng)可以包括:
特征數(shù)據(jù)獲取模塊100,用于提取原始數(shù)據(jù)的特征數(shù)據(jù);其中,特征數(shù)據(jù)包括活動(dòng)關(guān)鍵屬性及其關(guān)鍵度,活動(dòng)資格屬性及其對應(yīng)的資格閾值;
響應(yīng)度矩陣計(jì)算模塊200,用于根據(jù)特征數(shù)據(jù)計(jì)算用戶與活動(dòng)的響應(yīng)度矩陣;
貢獻(xiàn)率預(yù)測矩陣計(jì)算模塊300,用于根據(jù)特征數(shù)據(jù)進(jìn)行用戶聚類,形成不同等級的特征群體,并根據(jù)特征群體計(jì)算用戶與活動(dòng)的貢獻(xiàn)率預(yù)測矩陣;
價(jià)值矩陣計(jì)算模塊400,用于將響應(yīng)度矩陣以及貢獻(xiàn)率預(yù)測矩陣進(jìn)行擬合,得到用戶與活動(dòng)的價(jià)值矩陣;
第一推薦模塊500,用于根據(jù)價(jià)值矩陣,利用top-n推薦算法篩選出各指定活動(dòng)的前預(yù)定數(shù)量的優(yōu)質(zhì)用戶,對各優(yōu)質(zhì)用戶中不受限的用戶直接進(jìn)行指定活動(dòng)推薦得到第一推薦結(jié)果,對各優(yōu)質(zhì)用戶中受限的用戶進(jìn)行合并,并篩選出受限用戶與活動(dòng)的受限價(jià)值矩陣;
最終推薦模塊600,用于根據(jù)受限價(jià)值矩陣,利用kmb算法求解資源受限約束下的用戶與活動(dòng)的推薦結(jié)果,并與第一推薦結(jié)果進(jìn)行合并,形成資源受限約束下的全局最優(yōu)推薦結(jié)果。
具體的,該系統(tǒng)可以在存儲(chǔ)芯片中存儲(chǔ)各個(gè)模塊對應(yīng)的算法,例如數(shù)據(jù)挖掘方法、統(tǒng)計(jì)方法和協(xié)調(diào)過濾方法,top-n推薦算法以及kmb算法,學(xué)習(xí)算法,關(guān)聯(lián)分析方法,分類方法,聚類方法等。其中,特征數(shù)據(jù)獲取模塊100可以執(zhí)行原始數(shù)據(jù)的連接及獲取、用戶的基本信息特征的提取、用戶的交易行為偏好特征的提取、活動(dòng)的用戶群特征的提取、用戶與活動(dòng)的貢獻(xiàn)率情況的提取、活動(dòng)資格屬性及閾值的提取、活動(dòng)關(guān)鍵屬性及關(guān)鍵度的提取等。
其中,響應(yīng)度矩陣計(jì)算模塊200、貢獻(xiàn)率預(yù)測矩陣計(jì)算模塊300以及價(jià)值矩陣計(jì)算模塊400的工作流程可以參考圖3,根據(jù)擬合后的用戶-活動(dòng)的價(jià)值矩陣進(jìn)行相應(yīng)的topn名單篩選后,第一推薦模塊500會(huì)根據(jù)用戶是否為受限情況下的推薦對象對推薦規(guī)模進(jìn)行約減,具體推薦規(guī)模約減流程如圖4(圖4中
請參考圖5,為該系統(tǒng)的工作流程示意圖;s101:對原始數(shù)據(jù)的活動(dòng)特征以及用戶特征進(jìn)行提取(即對原始數(shù)據(jù)的特征數(shù)據(jù)提取);s102:計(jì)算出用戶-活動(dòng)的響應(yīng)度矩陣;s103:計(jì)算模塊用戶-活動(dòng)的貢獻(xiàn)率矩陣(即貢獻(xiàn)率預(yù)測矩陣);s104:對響應(yīng)度矩陣和貢獻(xiàn)率矩陣進(jìn)行擬合,形成用戶-活動(dòng)的價(jià)值矩陣;s105:根據(jù)價(jià)值矩陣,利用小基數(shù)top-n推薦算法對受限營銷活動(dòng)多對多推薦規(guī)模進(jìn)行約減;s106:進(jìn)行受限多對多推薦;s107:對推薦結(jié)果進(jìn)行合并;s108:輸出全局優(yōu)化推薦名單。以便查看。本實(shí)施例并不對具體的輸出形式進(jìn)行限定。例如可以是打印輸出,也可以是顯示器輸出等。
基于上述實(shí)施例,第一推薦模塊500可以包括:
用戶數(shù)確定單元,用于確定每個(gè)活動(dòng)需要推薦的用戶數(shù)ni;
篩選單元,用于從價(jià)值矩陣中為每個(gè)活動(dòng)篩選出價(jià)值數(shù)值位于前
集合分配單元,用于將價(jià)值數(shù)值位于前ni的用戶存放到集合ai,將價(jià)值數(shù)值位于前
第一推薦單元,用于當(dāng)用戶u滿足u∈ai=k且
向量確定單元,用于確定資源受限約束下的受限用戶可被推薦活動(dòng)數(shù)量向量l,每個(gè)指定活動(dòng)所需用戶數(shù)量向量la,受限用戶活動(dòng)推薦情況矩陣t;
第二推薦單元,用于利用公式
最終推薦單元,用于將資源受限約束下的用戶與活動(dòng)的推薦結(jié)果與第一推薦結(jié)果進(jìn)行合并,形成資源受限約束下的全局最優(yōu)推薦結(jié)果;
其中,vmin為受限價(jià)值矩陣,n為受限用戶數(shù)量,m為剩余待推薦活動(dòng)數(shù)量,i為用戶的下標(biāo)或編號(hào),j為活動(dòng)的下標(biāo)或編號(hào)。
說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本申請的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(ram)、內(nèi)存、只讀存儲(chǔ)器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動(dòng)磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
以上對本申請所提供的一種資源受限約束下的活動(dòng)推薦方法及系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對本申請的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請?jiān)淼那疤嵯?,還可以對本申請進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本申請權(quán)利要求的保護(hù)范圍內(nèi)。