趙會群 李子木 郭 峰 慕善文
(北方工業大學計算機學院 北京 100144) (大規模流數據集成與分析技術北京市重點實驗室(北方工業大學) 北京 100144)
“數據畫像”是指通過對用戶屬性、行為、偏好等信息的分析,從中抽象出標簽化的模型?!皵祿嬒瘛辈粌H有助于理解數據分布并評估數據質量,還有助于發現、記錄和評估企業元數據。分析結果用于確定候選數據系統的適用性,通常為早期決策和后期解決方案的設計提供支持。大多數情況下,數據在不知時間、地點何種形式、何種手段被收集在一起,通過“數據畫像”可以有目的地收集整理,為決策提供精準的服務。數據畫像”的概念在很早就有提出,但由于之前的數據量級、維度和對數據的分析能力有限,分析得到的“數據畫像”價值普遍不高。如今大數據時代來臨,MapReduce和Spark這樣的大數據處理框架日益成熟,再加上電商平臺越來越受到人們的青睞,使得企業、專家和學者開始將目光投向了電子商務的大數據分析,而“數據畫像”作為數據分析的重要一環,再次進入了人們的視線。
對于“數據畫像”,目前的研究多是從“數據畫像”的呈現方式和“數據畫像”與推薦算法結合這兩個方向開展的?!皵祿嬒瘛钡某尸F方式多種多樣,可以使用文字、語言、圖像甚至視頻的方式將用戶的多維度特征展現出來。而“數據畫像”與推薦算法結合的研究則可以將數據畫像應用到產品中,使得推薦算法得到更好的優化。這兩個熱點研究領域確實有很大的研究價值,但它們的主要研究重點都沒有放在“數據畫像”的構建上,而是在“數據畫像”生成的基礎上進行研究。本文著重于如何構建用戶畫像模型,如何定義用戶畫像模型,如何優化用戶畫像模型的表達,如何適配不同的推薦算法是一個挑戰,是目前研究中很少關注的問題。
同時,推薦算法和服務推薦系統的研究已經有很長的歷史,也衍生出多種推薦算法,這些算法在不同的領域各自發揮著優勢,但也存在一些不足。
? 基于內容推薦:冷啟動問題和語義處理困難。
? 協同過濾推薦:冷啟動問題、數據稀疏問題。
? 基于規則推薦:規則抽取難、耗時、個性化程度低。
? 基于效用推薦:效用函數構建難,靈活性差。
? 基于知識推薦:知識難獲取。
目前推薦算法與“數據畫像”相結合的研究越來越多,而推薦算法的這些不足也會給“數據畫像”的構建帶來挑戰。本文從用戶畫像建模入手,構建獨立于推薦算法的用戶畫像模型。把用戶行為的期待解釋成用戶畫像出現的概率,這樣可以用概率論方法計算行為發生的可能性,為行為分析和預測奠定基礎。鑒于傳統的推薦算法存在諸多缺陷和處理困難,本文探討一種更加完善的推薦算法。根據本文對用戶畫像模型的定義,提出了一種基于貝葉斯網絡模型的用戶行為預測推薦算法,該算法是通過基礎的貝葉斯網絡演變而來,并與實際業務相結合,可以更加精準地完成對用戶的畫像和用戶行為的預測。
本節主要闡述數據畫像概率分配模型的概念,描述不同數據標簽發生的關系,從而建立數據畫像模型。
首先給出標簽定義。
標簽用于表現用戶的屬性、行為或者特征,可以通過一組標簽來描述一類人群的屬性特征和行為方式,標簽主要包含以下幾個維度的信息:
1) 數據標簽的名稱,用于描述行為特征,并與其他標簽進行區分;
2) 數據標簽所在的問題域,例如房地產銷售,信用卡銷售等;
3) 事件發生的時刻;
4) 標簽觸發行為對象,如瀏覽建設銀行信用卡中的“建設銀行信用卡”是標簽對象;
6) 標簽發生的位置或是地點,如用戶在APP中瀏覽房源,那APP就是發生瀏覽行為的位置信息。
一個事件的發生一定會有一組標簽可以將它表現出來。
例1:用戶辦理信用卡的標簽為:
當今的電商平臺,用戶在選擇自己中意的商品時,往往會留下大量的訪問痕跡,與此同時也會出現大量不同類型的標簽。然而,并不是所有標簽對“數據畫像”的生成都有用,一些類似流量,跳轉次數的數據統計對畫像的研究價值并不高,有些甚至會對研究造成干擾。因此首先需要將冗余的數據進行清洗,保留最有用的標簽來構造數據畫像模型。一個好的“數據畫像”能夠清晰地呈現出用戶的屬性和偏好,與之最直接相關的維度便是用戶的行為標簽。以用戶辦理信用卡為例,通過“瀏覽信用卡”,“信用卡辦理”等標簽,可以將用戶的行為習慣勾勒出來,通過對行為的分析更容易得到理想的“數據畫像”。同時,用戶關注的行為對象也十分重要,如信用卡中的免年費卡、高額度卡,汽車中的中型車、SUV等。這些是用戶最關注的商品,通過這些標簽可以讓畫像更加完善,而且也給后續的推薦指出了明確的方向。相比之下,流量、時間這類標簽由于隨機性較大,對于本次的研究幫助有限。因此本文主要對行為標簽和偏好標簽進行深入探討。
“數據畫像”需要由標簽來構建,而標簽的出現是有概率的,例如當出現了瀏覽信用卡的標簽,卻并不一定會出現辦理信用卡的標簽。而當這些標簽的概率產生變化時,由它們生成的畫像也會有概率上的變化。設某一個數據畫像LSP=
(1)
數據畫像因果模型:設LSP=
(2)
式中:left(labi)表示標簽labi左操作數,operj(labi)表示標簽labi左算子。
數據畫像概率分配模型與數據畫像概念的不同之處在于,數據畫像僅僅強調標簽結構整體出現的隨機性,而數據畫像概率分配模型強調構成數據畫像每一個標簽出現的隨機性,是對用戶行為特征更加具體、深刻的表達。
例2:以信用卡申請中客戶行為分析為例,分析客戶在瀏覽了信用卡卡種之后,有可能會查看相關的同類信用卡,也可能會進行信用卡辦理,使用“~”符號來表示行為之間因果關系。
A瀏覽信用卡~A瀏覽同類信用卡;
A瀏覽信用卡~A信用卡辦理;
A瀏覽同類信用卡~A信用卡辦理;
寫成表達式的形式:
LS=A瀏覽信用卡~1A信用卡辦理+1A瀏覽信用卡~2A瀏覽同類信用卡+
2A瀏覽信用卡~3A信用卡辦理
數據畫像概率分配模型中的P可以如下計算:
LSM=P(A瀏覽信用卡)×P(A瀏覽同類信用卡/A瀏覽信用卡) ×P(~1)×P(~1)×P(+1)×P(A信用卡辦理/{A瀏覽信用卡,A瀏覽同類信用卡})×P(~2) ×P(~3)×P(+2)
推論:設數據畫像因果模型LSM,當且僅當總可以有一個貝葉斯網絡模型與LSM對應。
證明:【充分條件】 已知一個數據畫像因果模型LSM,按照以下步驟構造貝葉斯網絡:
步驟1:對每一個概率運算的操作數構造一對節點,對概率運算構造一個有向邊,讓左操作數對應的節點(父節點)指向右操作數對應的節點(子節點);
步驟2:如果有相同的父節點,或者相同的子節點,合并相同節點;
步驟3:重復上述步驟直到所有的概率運算被構建。
完成步驟1-步驟3后LSM對應的貝葉斯網絡即可構造,定理的充分性得證。
【必要性】 完成充分性證明步驟的相反步驟即可證明定理的必要性證明。
步驟1:對每一對父子節點構造概率運算,父節點對應左操作數,子節點對應右操作數;
步驟2:如果有相同的父節點,或者相同的子節點,差分成單個因果運算;
步驟3:重復上述步驟直到所有的父子節點被差分完畢。
完成上述步驟1-步驟3即可完成數據畫像的因果模型。證畢。
例3:例2中構建的數據畫像因果模型為:
LSM=P(A瀏覽信用卡)×P(A瀏覽同類信用卡/A瀏覽信用卡) ×P(A信用卡辦理/{A瀏覽信用卡,A瀏覽同類信用卡})
對應的貝葉斯網絡模型如圖1所示。

圖1 對應的貝葉斯網絡模型
本節討論基于數據畫像模型的用戶行為分析算法,包括:用戶數據畫像模型構造算法,用戶行為預測算法。
上一節中提到,一個數據畫像因果模型總可以用一個貝葉斯網絡模型表現出來。下面給出基于K2[1]算法的貝葉斯網絡模型概率求解算法。
算法1貝葉斯網絡模型求解算法
input:一組標有次序的n個標簽節點(數據記錄),貝葉斯網絡中父節點的上界。
output:輸出P(x1,x2,…,xn)數據畫像概率
算法過程如下:使用評分函數:g(i,ρi)=max(∏(di-1)!/Hij+Di-1)∏Hijk),將每個標簽節點與其所有的上層節點進行計算,將分數最高的上層節點或上層節點結構作為該標簽節點的父節點。按順序遍歷完所有節點后,所有標簽組成的結構即為一個用戶畫像因果模型,而它的輸出則是該數據畫像形成的概率。
算法1的時間復雜度是O(N×M),其中N是輸入標簽流的長度,M是標簽屬性長度??臻g復雜度也為O(N×M)。算法1是對基于傳統K2算法的改進。
這里把用戶行為分析和預測大體分兩種,一種是可能消費用戶的預測,另一種是消費可能性比較小的預測。即,分別計算出消費可能性,如果小于預測閥值,則不是消費用戶,否則就是可能的消費者。預測閾值可以根據行業專家的經驗設置。
為了預測可能消費者的行為,可以設置一個稱為是“成功”的標簽,加入到貝葉斯網絡中,通過計算相關的后驗概率即可求出消費的可能性,即計算P(lab1,lab2,…,labn,labn+1)和P(x1,x2,…,xn,xn+1)。為此,用貝葉斯網絡求解消費可能性的算法如算法2所示。
算法2基于貝葉斯網絡用戶行為預測。
Input: 貝葉斯網絡模型
Output:P(x1,x2,…,xn,xn+1)。
begin
1.ρi+1:=0;
2.g(i+1,ρi+1)=max(∏(di+1-1)!/Hi+1j+di-1)∏Hi+1jk);
3.Pold:=g(i+1,ρi+1);
4. OK:=true;
5.dowhileOKand|ρi|<μ
6.g(i+1,ρi+1∪ {z})=max(g(i+1,pred(xi+1)});
7.Pnew:=g(i+1,ρi+1∪ {z})
8.ifPnew>Poldthen
9.Pold:=Pnew;
10.ρi+1:=ρi+1∪ {z}
11.P(xi+1/pare(xi+1))=Pnew
12.P(x1,x2,…,xn,xn+1)=P(xi+1/pare(xi+1))
13.else
14. OK:=false;
15.enddo
16.ifP(xn+1/(x1,x2,…,xn))>Psuccthen
17.printP(xn+1/(x1,x2,…,xn))+″是可能用戶″
18.else
19.print″不是潛在的用戶″
20.endif
21.end
算法2的時間復雜度和空間復雜度與算法1相同。
本節以信用卡銷售的真實場景作為實驗背景,對提出的算法進行實驗,包括:(1) 基于數據畫像模型的用戶行為預測分析;(2) 基于貝葉斯網絡模型的用戶行為預測分析。給出了用戶畫像模型的構造效率和行為預測算法的成功率對比。
某銀行與無線通信網絡運營商建立了業務合作協議,在協議條款下,銀行可以根據通信網絡運營商提供的日志文件分析用戶行為。日志文件樣本及處理后的數據如圖2、圖3所示。

圖2 APP運行日志數據
手機號|APP|行為|每小時發生多少次|卡種
136234|001|1|7501
136465|003|001|3|8745
136965|006|004|2|7323
136932|007|002|11|6979
137543|004|003|3|8436
137534|005|007|4|7866
134703|007|003|9|8546
138654|003|002|7|7605
136568|002|004|3|8603
圖3 經過一次預處理的APP運行日志數據
其中,電話號經過加密處理,APP和行為做了簡單的分類編碼。
上述日志文件中的數據有多種標簽,同時也可能會有我們感興趣的標簽結構,就像圖4中的信用卡用戶申請因果關系圖。

圖4 信用卡用戶申請因果關系圖
如果加注各個節點的概率,父節點產生子節點的概率,圖4可以看作是一個信用卡申請的貝葉斯網絡模型。如果把“信用卡辦理”節點看成是“成功”節點,圖4也是一個貝葉斯網絡預測模型。
本實驗使用的數據來自某銀行信用卡的APP運行日志文件,如表1所示。實驗選取了5個樣本數據集。

表1 實驗數據集
實驗環境配置參數如表2所示。這里使用了兩種實驗環境。

表2 實驗環境參數表
實驗為使用貝葉斯網絡構造算法構建數據畫像模型,即利用算法1實現圖4信用卡營銷貝葉斯網絡模型。
實驗中對父節點個數不斷調整,對比實驗結果后,使用最合適的父節點個數,通過K2算法構建數據畫像模型,運行界面如圖5所示。

圖5 算法1的Spark運行界面
表3為實驗的運行結果。

表3 算法1輸出結果
算法2的運行時間如圖6所示。

圖6 貝葉斯網絡求解時間圖
通過圖6可以看出,基于貝葉斯網絡的數據畫像模型和大數據的處理架構,運算時間會逐漸趨于平緩。
第二組實驗是用戶行為預測算法實現,包括算法1和算法2。
圖7是基于貝葉斯網絡的預測效果和傳統預測效果的比較??v軸是預測成功率,橫坐標是兩種預測算法運行的數據集。

圖7 兩種不同途徑預測成功率比較
從圖7可以看出,基于貝葉斯網絡的預測方法有較高的預測成功率。其原因是采用了算法2對各個節點的概率進行了分析,分析得更為全面。
本節從數據畫像模型構建、推薦算法、消費者行為預測等方面綜述相關研究工作。
數據畫像(用戶畫像)模型的專項研究并不多見。文獻[2]提出網絡群體和個體畫像的方法,通過收集群體屬性和個體屬性,發現傳播內容、挖掘興趣特征收集數據畫像。提出的數據畫像構造方法只適合社交媒體中的群體劃分和網絡新聞的真偽辨析。文獻[3]提出一種基于本體的數據畫像模型,通過分析網頁使用者的行為數據,提用戶屬性和興趣特征,從而構建一類用戶的本體模型,為用戶推薦提供支持。同類研究還有文獻[4-5]。上述研究中一般把數據畫像簡單地看作特性標簽的數據集合,數據畫像的構建與推薦算法密切相關。
推薦算法與系統研究是近年來的熱點研究課題,與客戶行為預測相關的研究也很多。文獻[6]提出一種基于貝葉斯推斷的推薦算法。通過對影視作品評價歷史,統計一對伙伴對該作品評級的條件概率。根據直接伙伴/間接伙伴關系,用戶通過社交網絡傳播評價反饋從而構造貝葉斯網絡,通過貝葉斯網絡預測新作品的可能評價等級。實驗表明該系統可以有效地克服冷啟動和數據稀疏問題。
文獻[7]針對事件推薦中一般假設各種因素有相同影響度,而造成推薦的準確性的質疑問題,研究不同影響因素權重的評估方法。把事件發生的地點、時間和社交偏好等因素轉化為相關的條件規約,通過計算相關條件的敏感密度函數給出各種因素影響的事件排名,從而實現個性化推薦。提出了實現上述思想的推薦系統框架SoCaST,通過真實數據集檢驗了上述框架的有效性。文獻[8]提出了一種關聯規則挖掘與本體語義分析相結合的推薦算法。首先采用OWL建立本體語義信息字典和模型,然后再利用關聯規則挖掘算法Apriori進行關聯分析,從而找到與產品相關的帶有語義信息的產品推薦。創新之處是把語義模型與關聯規則挖掘相結合,從而直接給出產品推薦,不需要對推薦信息的再解釋。文獻[9]通過分析比較Apriori和FPGrowth在數據流在線執行效率后,給出FPGrowth算法更適合作為在線推薦算法的結論。把FPGrowth應用到音樂推薦中,取得了比較好的效果,但文中沒有具體介紹如何在線分析的細節,沒有對流式大數據的處理難度進行分析,沒有給出數據如何過濾和篩選的算法。文獻[10]提出了一種基于統計相關性度量的算法,通過統計相關性給出蘊含關系的概率,在兩個樣本集上測試了算法的有效性。該算法可以用于基于關聯規則的推薦系統。該工作與Apriori算法相似,而且僅僅在樣本集上進行實驗,缺少使用效果的評估。文獻[11]針對協同過濾算法的冷啟動問題和內容推薦算法的語義瓶頸問題,提出了一種多內容協同過濾模型。采用多視圖聚類挖掘網頁中相關和相似的數據項,并應用于協同過濾中,從而解決了數據稀疏問題。文獻[12]針對社會化推薦系統的需求,推薦算法的冷啟動和數據稀疏問題,對社會化推薦系統的研究進展進行綜述,對信任推理算法、推薦關鍵技術及其應用進展進行前沿概括、比較和分析。最后,對社會化推薦系統中有待深入研究的難點、熱點及發展趨勢進行展望。同類研究還有文獻[13-15]。
由于不同領域有不同的數據畫像表述,所以給出一個普遍適用的數據畫像模型顯得十分困難。本文在標簽概率分布的基礎上構建數據畫像模型,提出基于該模型的用戶行為分析和用戶推薦算法。本文的主要貢獻如下:
1) 提出了數據畫像概念和數據畫像概率分配模型,提出了標簽結構提取、基于數據畫像概率分配模型的系列推薦算法,形成了完整的推薦算法技術。
2) 提出了基于貝葉斯網絡模型的推薦算法。通過增加成功節點或失敗節點,構建貝葉斯網絡預測模型,對大概率后驗概率進行排序,從而給出推薦。
本文所述研究工作還有需要完善的地方,如進一步增加貝葉斯網絡的結構,建立更復雜的網絡,給出更完備的數據畫像模型等。在推薦算法方面還需要進一步驗證在更大、更復雜的數據集下算法的運行效率。另外,還需要擴展數據畫像模型的應用領域,在不同應用場景下驗證該模型的適用性。這也是下一步的研究工作重點。