,,,
(1.山東科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 山東 青島 266590;2.山東科技大學(xué) 電子通信與物理學(xué)院, 山東 青島 266590)
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和普及,網(wǎng)民的數(shù)量迅速上升,根據(jù)中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)發(fā)布的《第40次中國互聯(lián)網(wǎng)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》,截止2017年6月,我國網(wǎng)民規(guī)模達(dá)7.51億。網(wǎng)民在遨游網(wǎng)絡(luò)的同時(shí),在網(wǎng)絡(luò)中留下了海量的上網(wǎng)行為日志數(shù)據(jù)。分析上網(wǎng)行為日志數(shù)據(jù),挖掘出用戶興趣、喜好、基本屬性(性別、年齡等),可以為個(gè)性化推薦、精準(zhǔn)營銷、商業(yè)決斷分析、風(fēng)險(xiǎn)控制等提供數(shù)據(jù)支持。
用戶畫像作為大數(shù)據(jù)技術(shù)的重要應(yīng)用之一,為分析和挖掘上網(wǎng)行為日志數(shù)據(jù)提供了可靠的方法。用戶畫像是由交互設(shè)計(jì)之父Alan Cooper提出的[1],定義用戶畫像為真實(shí)用戶的虛擬代表,根據(jù)一系列用戶的真實(shí)數(shù)據(jù)來挖掘出目標(biāo)用戶。用戶畫像根據(jù)用戶的基本屬性、生活習(xí)慣和上網(wǎng)行為等信息,篩選出一類用戶標(biāo)簽,給用戶信息進(jìn)行結(jié)構(gòu)化處理。其目的是在多維度上構(gòu)建用戶的標(biāo)簽屬性,利用這些標(biāo)簽屬性構(gòu)造用戶真實(shí)的特征,可用于描述用戶的興趣、偏好、特征等。Fawcett T等[2]利用規(guī)則發(fā)現(xiàn)的方法在大量電話記錄中發(fā)現(xiàn)欺詐行為標(biāo)簽,利用這些標(biāo)簽構(gòu)建用戶畫像模型,該方法可以產(chǎn)生高可信度的報(bào)警。Adomavicius等[3]展示了針對個(gè)性化的用戶畫像模型,利用分類規(guī)則、關(guān)聯(lián)規(guī)則等數(shù)據(jù)挖掘方法來發(fā)現(xiàn)潛藏在用戶商品交易記錄中的行為檔案信息。Nasraoui等[4]根據(jù)動(dòng)態(tài)網(wǎng)站的網(wǎng)絡(luò)日志數(shù)據(jù)構(gòu)建了動(dòng)態(tài)可演化的用戶行為畫像模型,提出的網(wǎng)絡(luò)使用日志挖掘框架可以挖掘、追蹤和驗(yàn)證動(dòng)態(tài)的多方面用戶畫像信息。陳志明等[5]基于“知乎”網(wǎng)站的數(shù)據(jù),構(gòu)建了基于用戶基本屬性、社交屬性、興趣屬性和能力屬性四個(gè)維度的動(dòng)態(tài)用戶畫像模型,并通過對“知乎”網(wǎng)站PM2.5話題下1303位用戶進(jìn)行實(shí)證分析,得出的動(dòng)態(tài)用戶畫像模型可以很好的區(qū)分用戶的能力。Burger等[6]通過提取Twitter的個(gè)人簡介中隱藏的特征標(biāo)簽構(gòu)建用戶畫像方法,利用SVM[7]、樸素Bayes[8]和Balanced Winnow2[9]等分類器針對性別標(biāo)簽進(jìn)行實(shí)驗(yàn),得到了較好的實(shí)驗(yàn)效果。Iglesias等[10]根據(jù)用戶在Unix Shell上的命令日志數(shù)據(jù)研究用戶畫像,獲得了計(jì)算機(jī)用戶的行為畫像。郭光明[11]基于微博行為數(shù)據(jù)進(jìn)行了用戶信用畫像的研究,利用帶有L2正則的邏輯斯蒂回歸分類器對用戶進(jìn)行分類,實(shí)驗(yàn)結(jié)果表明學(xué)習(xí)出的用戶行為模式可以很好地解釋用戶的信用標(biāo)簽。但由于上網(wǎng)行為日志數(shù)據(jù)的復(fù)雜性,傳統(tǒng)的用戶畫像方法不能很好的應(yīng)用于上網(wǎng)行為日志數(shù)據(jù)中。本文通過分析校園網(wǎng)日志的特點(diǎn),提出了一種多維度標(biāo)簽用戶畫像方法。結(jié)合五種特征選擇算法構(gòu)建多指標(biāo)融合的特征選擇方法,融合二元特征和關(guān)聯(lián)規(guī)則特征提取方法構(gòu)建標(biāo)簽庫,在兩層疊加式框架中組合支持向量機(jī)、隨機(jī)森林、決策樹、樸素貝葉斯和邏輯斯蒂回歸五種單一分類器模型構(gòu)建基于Stacking的用戶畫像。實(shí)驗(yàn)結(jié)果證實(shí)了本文用戶畫像方法比單一分類模型在識別用戶性別、年級、年齡屬性的準(zhǔn)確性上有較大提高。
圖1 用戶畫像框架Fig.1 The framework of user portrait
參考數(shù)據(jù)挖掘的一般研究流程框架,本研究基于上網(wǎng)行為日志的用戶畫像框架如圖1所示,主要包括特征工程和分類模型兩個(gè)關(guān)鍵環(huán)節(jié)。其中,特征工程是通過特征選擇和特征提取(基本單特征、二元特征、關(guān)聯(lián)規(guī)則特征)來構(gòu)建標(biāo)簽庫;而分類模型是利用支持向量機(jī)、邏輯斯蒂回歸、決策樹、隨機(jī)森林和樸素貝葉斯五種單一分類器模型構(gòu)建Stacking組合模型。
標(biāo)簽是用戶特征的符號標(biāo)識。標(biāo)簽具有兩個(gè)重要特征,一是具有一定的種群性,可以在一定程度上抽樣出概括事務(wù)的特征;二是可以使用符號來表示用戶的某一類特征,這個(gè)符號可以是中文、英文,也可以是數(shù)字。標(biāo)簽庫則是對標(biāo)簽進(jìn)行集中管理,最終用于對用戶行為、屬性的標(biāo)記。
本研究基于上網(wǎng)行為日志數(shù)據(jù)的特性構(gòu)建了三級標(biāo)簽。一級標(biāo)簽分為學(xué)生基本屬性和行為標(biāo)簽兩部分,二級標(biāo)簽則是對一級標(biāo)簽的細(xì)分,三級標(biāo)簽是標(biāo)簽庫中最詳細(xì)的標(biāo)簽描述。標(biāo)簽庫的分級層結(jié)構(gòu)如圖2所示。
圖2 標(biāo)簽庫分級結(jié)構(gòu)圖Fig.2 Hierarchical structure map based on label Library
圖3 特征選擇方法架構(gòu)圖Fig.3 Architecture diagram of feature selection method
特征選擇[12]是模型識別的關(guān)鍵因素之一,特征選擇結(jié)果的好壞直接影響分類結(jié)果的精度,因此需要有效的方法進(jìn)行特征選擇,提取對標(biāo)簽區(qū)分能力較高的特征,同時(shí)刪除無用的噪聲特征。
目前,特征選擇的方法有很多,但是針對實(shí)際問題的研究仍存在各自不足。本文融合Pearson相關(guān)系數(shù)(皮爾森相關(guān)系數(shù))[12]、Ridge Regression(嶺回歸)[13]、Chi(卡方檢驗(yàn))、RandomForest[14](隨機(jī)森林)和Stability-Selection(基于隨機(jī)lasso的穩(wěn)定性選擇)[15]五種不同類型的特征選擇算法構(gòu)建多指標(biāo)融合的特征選擇方法,有效地避免了一種特征選擇方法的不穩(wěn)定性。本文特征選擇方法的架構(gòu)如圖3所示。
假設(shè)X=(X1,X2,…,Xk)為n維k列滿秩矩陣,代表由k列不同屬性特征組成的n維樣本訓(xùn)練集合,其中Xi=(xi1,xi2,…,xin)T代表第i(i≤k)列訓(xùn)練樣本。Y=(Y1,…,Yl)代表n維l列目標(biāo)類向量(類標(biāo)簽),其中Yj= (y1,y2,…,yn)T代表第j(j≤l)列類標(biāo)簽。{F1,F2,F3,F4,F5}代表Pearson、Ridge Regression、Chi、RandomForest、Stability-Selection五種特征選擇方法。coefj(j∈[1,5])代表由第j類特征選擇方法得到的X與Y的相關(guān)系數(shù)集合。
由圖3可以看出,本研究多指標(biāo)融合的特征選擇方法,首先利用五種特征選擇算法得到X與Y的相關(guān)系數(shù)coefj,然后通過k種不同特征對相關(guān)系數(shù)進(jìn)行排序,最后綜合五種特征選擇排序結(jié)果選擇出排名前t的特征子集F_select。
本研究的特征選擇算法如圖1所示。
本研究提取了三類特征用于訓(xùn)練用戶畫像模型: 基本特征、二元特征和關(guān)聯(lián)特征。
1) 基本特征
首先對數(shù)據(jù)庫數(shù)據(jù)屬性進(jìn)行篩選、離散化處理得到離散化特征;然后根據(jù)特征選擇方法選擇特征。假設(shè)離散化屬性直接分為K個(gè)特征,例如性別直接劃分為男、女兩個(gè)特征。非離散化屬性則采用等距離劃分算法與等頻率劃分算法。
算法1: 多指標(biāo)融合的特征選擇算法
輸入:屬性特征X,標(biāo)簽特征Y,特征選擇方法Methods={F1,F,2F3,F4,F5}。
輸出:特征子集F_Select。
步驟:
1.F_Select←φ
2.Merge←φ//相同特征的相關(guān)系數(shù)排序集合
3.foreachFi∈Methodsdo
4.coefi←Fi(X,Y)
5.Sort(coefi)
6.Merge=Merge∪coefi(X,Y)
7.endfor
8.Sort(Merge)//綜合5種特征選擇結(jié)果排序
9.foreachi∈[1,t]//do選擇排名前t的特征子集
10.F_Select=F_Select∪Merge[i]
11.endfor
12.returnF_Select//輸出特征子集
等距離劃分算法:在每個(gè)屬性上,根據(jù)給定的參數(shù)把屬性值劃分為距離相等的斷點(diǎn)段,假設(shè)某個(gè)屬性的最大屬性值為χmax,最小屬性值為χmin,用戶給定的參數(shù)為K,則斷點(diǎn)間隔為δ
為此得到此屬性上的斷點(diǎn)為χmin+iδ(i=0,1,…,K)。
等頻率劃分算法:根據(jù)給定的參數(shù)K把m個(gè)對象分段,每段中有m/K個(gè)對象。首先將此屬性在所有實(shí)例上的取值排序,然后每隔m/K取一個(gè)值作為斷點(diǎn)。
2) 二元特征
提取二元特征是指對不同類型的特征進(jìn)行兩兩組合后利用選定的特征選擇算法進(jìn)行特征選擇。
假設(shè)離散化之前的特征集合為F={f1,f2,…,fm-1,fm},離散化之后的特征集合為F1={f1_1,f1_2,…,fk_1,fk_2,…,fk_e,…,fm-1_r,fm_t},其中,fm表示一共有m個(gè)特征,fk_e表示特征fk離散化后的第e個(gè)離散特征。則組合后的二元特征集合為F2={f1_1Xf2_1,…,f1_1Xfk_e,…,fm-1_rXfm_t}。
3) 關(guān)聯(lián)特征
利用關(guān)聯(lián)規(guī)則挖掘算法計(jì)算特征組合與目標(biāo)屬性Y的關(guān)聯(lián)強(qiáng)度,然后為每個(gè)特征組合計(jì)算在該目標(biāo)屬性中不同取值上的關(guān)聯(lián)強(qiáng)度熵,據(jù)此得到該特征組合的權(quán)重weight,根據(jù)所有特征權(quán)重集合results_weight排序得到排名前p的特征組合,用于后續(xù)的模型訓(xùn)練。本文提取關(guān)聯(lián)特征的算法如算法2所示。
算法2中,LK代表頻繁K項(xiàng)集,all_frequents代表頻繁項(xiàng)集集合,apriori-gen(LK-1)函數(shù)根據(jù)Lk-1中的頻繁項(xiàng)集連接、剪枝產(chǎn)生候選K項(xiàng)集CK;D是由基本特征X組成的數(shù)據(jù)集,函數(shù)Sort(results_weight)對所有關(guān)聯(lián)特征根據(jù)權(quán)重進(jìn)行排序。
得到上述三種特征后,按照如下方式構(gòu)建模型的特征庫,其中top_n表示選取排名前n的特征。
基本特征×top_n二元特征×top_m關(guān)聯(lián)特征
(6)
圖4 基于Stacking的組合模型架構(gòu)Fig.4 Architecture diagram of stacking model
Stacking組合模型是指將多種分類器組合在一起來取得更好表現(xiàn)的一種集成學(xué)習(xí)模型。本文采用邏輯斯蒂回歸(logistic regression,LR)、支持向量機(jī)(support vector machine,SVM),決策樹(decision tree,DT),隨機(jī)森林(random forest,RF)和Bayes(樸素貝葉斯)五種單一分類器模型構(gòu)建Stacking組合模型,采用兩層疊加式框架,第一層對數(shù)據(jù)集data進(jìn)行K折交叉驗(yàn)證訓(xùn)練多個(gè)單一分類器模型,然后將第一層訓(xùn)練模型的輸出加入原訓(xùn)練樣本集作為輸入,在元分類器下訓(xùn)練第二層模型,得到一個(gè)最終輸出。其中單一分類器模型中預(yù)測效果最好的模型作為第二層模型訓(xùn)練的元分類器?;赟tacking的組合模型架構(gòu)如圖4所示。
Sacking算法如算法3所示。
算法3:Stacking模型組合算法
輸入:數(shù)據(jù)集data,特征選擇方法Models,交叉驗(yàn)證次數(shù)K。
輸出:分類結(jié)果output
步驟:
1.output=φ
2.foreachclf∈Modelsdo
3.predicted=φ//得到候選K項(xiàng)集
4.foreath(train,test)∈cross_validation(K,data)do
5.clf.fit(train)//訓(xùn)練分類模型
6.predicted=predicted∪clf.predict(test)//得到預(yù)測結(jié)果
7.endfor
8.data=data∪predicted//將預(yù)測結(jié)果加入預(yù)測樣本特征
9.endfor
10.output=bestmodel.fit(data)//對關(guān)聯(lián)特征進(jìn)行排序
11.returnoutput//輸出分類結(jié)果
其中,函數(shù)cross_validation(K,data)是對數(shù)據(jù)集進(jìn)行K折交叉驗(yàn)證,bestmodel表示第一層模型中分類效果最好的單一分類器模型,在第二層模型中做元分類器。
本文的Stoceking模型組合算法時(shí)間復(fù)雜度分析:假設(shè)每個(gè)單一分類模型的訓(xùn)練時(shí)間復(fù)雜度為O(M),由于在stacking模型組合過程中需使用K折交叉驗(yàn)證的方式訓(xùn)練每個(gè)單一分類模型,故Stacking模型組合算法的訓(xùn)練時(shí)間復(fù)雜度為O(Models·K·M)。
圖5 性別、年級、年齡的人數(shù)分布圖Fig.5 Population distribution of sex, grade and age
選取校園網(wǎng)訪問行為日志作為實(shí)驗(yàn)數(shù)據(jù),共有9 963個(gè)學(xué)生55個(gè)屬性,約1 155.6萬條日志數(shù)據(jù)。通過日志數(shù)據(jù)的篩選、離散化得到1 660個(gè)學(xué)生樣本及91個(gè)標(biāo)簽。其中性別、年級和年齡的人數(shù)分布如圖5所示。
通過圖5可以看出性別標(biāo)簽中男女比例約為9:1,說明了男生上網(wǎng)人數(shù)比較多。四個(gè)年級中大一上網(wǎng)學(xué)生人數(shù)比較少,其余三個(gè)年級上網(wǎng)比例較為均勻。年齡標(biāo)簽屬性中在(20,24]年齡范圍中的學(xué)生上網(wǎng)人數(shù)比較多。由此發(fā)現(xiàn)日志行為數(shù)據(jù)的屬性分布不均衡,故進(jìn)行二元特征提取和關(guān)聯(lián)特征提取是有意義的,不僅可以擴(kuò)展原始數(shù)據(jù),而且可以避免過擬合現(xiàn)象。
基于用戶畫像模型,為了顯示不同特征集合的有效性,本文采用的評價(jià)指標(biāo)主要有精確率(Precision)、召回率(Recall)和F-Measure值(F-Measure為Precision和Recall的加權(quán)調(diào)和均值)。
表1 混淆矩陣Tab.1 Confusion matrix
由表1混淆矩陣,得到精確率、召回率和F-Measure值的定義如下:
,
(7)
,
(8)
(9)
當(dāng)參數(shù)α=1時(shí),是常見的F1,即:
(10)
由于F1集成了Precision和Recall的值,故當(dāng)F1較高時(shí)能更好地說明實(shí)驗(yàn)方法的有效性。
為驗(yàn)證本文提出方法的有效性,在性別、年級和年齡三個(gè)維度上進(jìn)行實(shí)驗(yàn)。
表2 基本特征下單一分類器對性別的分類實(shí)驗(yàn)最優(yōu)結(jié)果Tab.2 The optimal results of a single classifier for gender classification under basicfeatures
表3 特征組合下各分類器模型對性別分類的最優(yōu)結(jié)果Tab.3 The optimal results of the classifier model for gender classification under the feature combination
1) 性別標(biāo)簽自動(dòng)識別結(jié)果與分析
本組實(shí)驗(yàn)基于校園網(wǎng)行為日志數(shù)據(jù),對性別標(biāo)簽進(jìn)行用戶畫像研究。表2列出了基本特征下各單一分類器模型的最優(yōu)實(shí)驗(yàn)結(jié)果。其中,RF和SVM對性別分類的實(shí)驗(yàn)結(jié)果較好,調(diào)和平均值F1均達(dá)到0.65。在組合標(biāo)簽下單一分類器模型和Stacking組合模型最優(yōu)實(shí)驗(yàn)結(jié)果如表3所示。通過表2與表3對比發(fā)現(xiàn)每一個(gè)單一分類器模型在組合標(biāo)簽上的F1值均比基本標(biāo)簽上有較大提高,證明了特征標(biāo)簽可以提高對性別的分類結(jié)果。由于RF的結(jié)果最優(yōu),所以采用RF為Stacking組合模型第二層架構(gòu)的元模型,表3中組合模型的F1值達(dá)到了實(shí)驗(yàn)的最優(yōu)值0.696 9,可見,本文的用戶畫像方法可以提高性別預(yù)測的結(jié)果。
2) 年級標(biāo)簽自動(dòng)識別結(jié)果與分析
本組實(shí)驗(yàn)基于校園網(wǎng)行為日志數(shù)據(jù)對年級標(biāo)簽進(jìn)行用戶畫像研究。表4和表5分別給出了基本方法和用戶畫像方法下,對學(xué)生年級分類的模型最優(yōu)結(jié)果。由表4可以看出,在基本特征下RF對年級的分類效果最好,其次是DT、LR、SVM,最差的是Bayes。由表5看出,在組合標(biāo)簽下,DT對年級的分類效果較好F1達(dá)到0.396 4,LR的分類效果最差。綜合表4和表5可以得出:LR對年級的分類研究結(jié)果一般;相比基本標(biāo)簽,組合標(biāo)簽下模型的訓(xùn)練結(jié)果的F1值均有所提高,證明了組合標(biāo)簽有助于提高對年級的分類結(jié)果;由于單一分類器模型中DT的訓(xùn)練結(jié)果最好,故將DT用于組合模型中的第二層模型訓(xùn)練中,得到組合模型下對年級分類的F1值為0.412 1,相比單一分類器模型實(shí)驗(yàn)下的最好調(diào)和均值F1提升了12.28%,證明了Stacking組合模型對提高年級的準(zhǔn)確性有顯著的效果,在實(shí)際應(yīng)用場景中可以更準(zhǔn)確地捕獲用戶屬性,更好地為校園網(wǎng)管理工作提供精準(zhǔn)服務(wù)。故組合多種單一分類器的Stacking模型是有價(jià)值的。
表4 基本特征下單一分類器對年級的分類實(shí)驗(yàn)最優(yōu)結(jié)果Tab.4 The optimal results of a single classifier for grade classification under basic features
表5 特征組合下各分類器模型對年級分類的最優(yōu)結(jié)果Tab.5 The optimal results of classifier model for grade classification under feature combination
通過對網(wǎng)絡(luò)日志樣本數(shù)據(jù)集中的學(xué)生用戶性別和年級的分類實(shí)驗(yàn)結(jié)果分析可以得出,本文提出的方法比傳統(tǒng)分類方法可以獲得更好的屬性預(yù)測結(jié)果。
表6 基本特征下單一分類器對年齡的分類實(shí)驗(yàn)最優(yōu)結(jié)果Tab.6 The Optimal results of a single classifier for age classification under basic features
表7 特征組合下各分類器模型對年齡分類的最優(yōu)結(jié)果Tab.7 The optimal results of the classifier model for age classification under the feature combination
3) 年齡標(biāo)簽自動(dòng)識別結(jié)果與分析
該組實(shí)驗(yàn)基于校園網(wǎng)行為日志數(shù)據(jù)對年齡標(biāo)簽進(jìn)行用戶畫像研究。表6和表7分類給出了傳統(tǒng)的單一分類器模型和本文基于Stacking組合模型的用戶畫像方法下的實(shí)驗(yàn)最優(yōu)結(jié)果。通過對比可以發(fā)現(xiàn)基于組合標(biāo)簽下的Stacking組合模型,對年齡的識別結(jié)果得到了提高,證明了組合標(biāo)簽以及Stacking組合模型對提高年齡分類結(jié)果是有效的。
相對于傳統(tǒng)的用戶畫像方法,本文提出的基于上網(wǎng)行為日志的用戶畫像方法,側(cè)重于對用戶標(biāo)簽進(jìn)行組合,并利用Stacking組合模型來避免單一分類器模型的不足。通過在校園網(wǎng)行為日志數(shù)據(jù)上的實(shí)驗(yàn)分析,證明了本文所提出的基于上網(wǎng)行為日志的用戶畫像方法顯著提升了對性別、年級、年齡屬性的預(yù)測效果。下一步的工作中,將嘗試在更大規(guī)模的數(shù)據(jù)集上,組合更多的單一分類器模型進(jìn)行實(shí)驗(yàn)。