畢 猛,邵 中,徐 劍
(1.沈陽工業(yè)大學(xué) 軟件學(xué)院,沈陽 110023; 2.東北大學(xué) 軟件學(xué)院,沈陽 110169)
隨著云計算、物聯(lián)網(wǎng)、移動計算等技術(shù)的快速發(fā)展,微博、微信及網(wǎng)絡(luò)直播等自媒體社交公眾平臺不斷涌現(xiàn),網(wǎng)絡(luò)用戶正在實(shí)現(xiàn)從信息消費(fèi)者向信息締造者的轉(zhuǎn)變,然而網(wǎng)絡(luò)是社會現(xiàn)實(shí)的鏡像,網(wǎng)絡(luò)用戶行為不僅會影響虛擬網(wǎng)絡(luò),而且會直接反作用于真實(shí)社會,影響人們的日常生活[1-3]。對于龐大的網(wǎng)絡(luò)用戶群,其所表現(xiàn)出的行為各具特點(diǎn),若要向這些用戶群提供高效、安全、個性化的網(wǎng)絡(luò)服務(wù),則需要對網(wǎng)絡(luò)用戶行為進(jìn)行分析并建立有效的分析模型。網(wǎng)絡(luò)用戶行為分析綜合運(yùn)用統(tǒng)計學(xué)、人工智能、大數(shù)據(jù)、心理學(xué)、社會學(xué)以及其他與網(wǎng)絡(luò)用戶行為分析密切相關(guān)的理論和方法,對網(wǎng)絡(luò)用戶的構(gòu)成、特點(diǎn)及其行為活動所表現(xiàn)出的內(nèi)在規(guī)律進(jìn)行分析,進(jìn)而對網(wǎng)絡(luò)用戶的行為進(jìn)行預(yù)測、管理和控制,達(dá)到為政府、企業(yè)及個體用戶服務(wù)的目的[4-6]。
聚類算法是數(shù)據(jù)挖掘的一個重要研究領(lǐng)域,其能夠以較高的效率獲得全局范圍內(nèi)的數(shù)據(jù)分布特征,已在網(wǎng)絡(luò)用戶行為分析中得到廣泛應(yīng)用[7-9],但是目前典型的聚類算法(如K-means算法等)更多關(guān)注聚類效果,并且在網(wǎng)絡(luò)用戶行為分析過程中存在用戶行為數(shù)據(jù)規(guī)模需在聚類前確定,用戶行為數(shù)據(jù)聚類后生成的簇?zé)o明確語義的問題。
對于以K-means為代表的聚類算法,需要事先確定用戶行為數(shù)據(jù)的規(guī)模(即簇的個數(shù))才能進(jìn)行聚類[10],但在實(shí)際應(yīng)用中,用戶行為數(shù)據(jù)規(guī)模很難確定,并且聚類后所產(chǎn)生的簇個數(shù)通常為未知,甚至在數(shù)據(jù)快速增長時簇的個數(shù)也可能會發(fā)生變化。因此,此類聚類算法在面對海量網(wǎng)絡(luò)用戶行為數(shù)據(jù)時通常聚類效果較差。另外,由于聚類一般不需要有標(biāo)簽的數(shù)據(jù),因此生成的簇也沒有標(biāo)簽,即沒有明確的語義,也無法獲知每一個簇所代表的類別[11]。然而,在實(shí)際應(yīng)用中如果無法逐一遍歷每個簇內(nèi)的數(shù)據(jù),則不能確定簇所代表的類別。目前,除了文本聚類算法利用文字出現(xiàn)頻率作為標(biāo)簽外,多數(shù)聚類算法無法為簇生成有效的標(biāo)簽。而對于海量網(wǎng)絡(luò)用戶行為數(shù)據(jù)而言,如果生成的簇?zé)o標(biāo)簽,則需要用戶為每個簇人工賦予標(biāo)簽來達(dá)到用戶行為分析的目的,但是該任務(wù)的工作量非常龐大,而且人工語義標(biāo)簽的生成效率也很低。
針對上述問題,本文結(jié)合潛在因子模型(Latent Factor Model,LFM)[12]和矩陣分解等方法,提出一種用于網(wǎng)絡(luò)用戶行為聚類的簇標(biāo)簽自動生成方法。該方法包括用戶行為數(shù)據(jù)缺失值處理、網(wǎng)絡(luò)用戶行為聚類過程中的簇標(biāo)簽自動生成以及簇標(biāo)簽評價等具體過程,并利用AP[13]和DP-means[14]等聚類算法及實(shí)際用戶行為數(shù)據(jù)進(jìn)行實(shí)驗(yàn)驗(yàn)證。
目前,已有眾多學(xué)者利用聚類算法對用戶行為進(jìn)行研究。文獻(xiàn)[15]利用K-means算法并結(jié)合關(guān)聯(lián)規(guī)則對銀行客戶進(jìn)行聚類以生成簇標(biāo)簽。文獻(xiàn)[16]通過分層聚類與卡方檢驗(yàn)對文件進(jìn)行聚類并生成標(biāo)簽。文獻(xiàn)[17]將層次聚類算法與文本關(guān)鍵詞抽取算法相結(jié)合生成微博用戶的標(biāo)簽,該標(biāo)簽不包含同義標(biāo)簽,可以從多方面體現(xiàn)出網(wǎng)絡(luò)用戶的興趣。文獻(xiàn)[18]對K-means算法進(jìn)行改進(jìn),解決了其依賴初始聚類中心的問題,在此基礎(chǔ)上設(shè)計一種面向網(wǎng)絡(luò)用戶行為的喜好標(biāo)簽聚類系統(tǒng)。文獻(xiàn)[19]采用文本聚類算法對網(wǎng)絡(luò)用戶的文本內(nèi)容進(jìn)行聚類生成標(biāo)簽,并將數(shù)據(jù)處理為矩陣形式,同時利用匈牙利算法提高生成標(biāo)簽的準(zhǔn)確性。文獻(xiàn)[20]基于支持向量聚類算法提出一種快速且穩(wěn)定的簇標(biāo)簽生成方法來提高聚類過程的準(zhǔn)確性,解決了因支持向量聚類算法時間復(fù)雜度高導(dǎo)致生成標(biāo)簽準(zhǔn)確率降低的問題。
雖然上述方法可以在聚類的同時生成簇標(biāo)簽,但是其都是針對具體應(yīng)用場景提出的解決方案,缺乏通用性。為此,本文提出一種用于網(wǎng)絡(luò)用戶行為聚類的簇標(biāo)簽自動生成方法,以解決目前多數(shù)聚類算法需要事先確定用戶行為數(shù)據(jù)規(guī)模以及生成的簇缺乏明確語義的問題。
本文依據(jù)用戶行為數(shù)據(jù)的屬性特征,對用戶行為進(jìn)行聚類,并且在聚類過程中增加行為特征作為參與元素,同時利用這些行為特征信息產(chǎn)生簇標(biāo)簽,提出一種用于網(wǎng)絡(luò)用戶行為聚類的簇標(biāo)簽自動生成方法,具體流程如圖1所示。

圖1 用于網(wǎng)絡(luò)用戶行為聚類的簇標(biāo)簽自動生成流程Fig.1 Procedure of automatic cluster label generation method for clustering of network user behavior
用于網(wǎng)絡(luò)用戶行為聚類的簇標(biāo)簽自動生成方法的具體步驟如下:
步驟1用戶行為數(shù)據(jù)的缺失值處理。在當(dāng)前網(wǎng)絡(luò)環(huán)境下,收集用戶行為及其特征。以用戶在網(wǎng)絡(luò)上收聽歌曲為例,如果用戶通過網(wǎng)絡(luò)收聽說唱類音樂,則說明該用戶行為具有時尚、潮流等特征,然而搜集的特征數(shù)據(jù)存在缺失值情況,例如用戶對某首歌曲的收聽次數(shù)通常與喜歡程度成正比,但是未聽過該歌曲并不代表不喜歡該歌曲,由于搜集的數(shù)據(jù)通常只包含用戶聽過的少部分歌曲,而沒有聽過的歌曲對原始數(shù)據(jù)集而言就是缺失值,因此需要對存在缺失值的數(shù)據(jù)做預(yù)處理,從而找到缺失值。
步驟2在用戶行為聚類過程中產(chǎn)生簇標(biāo)簽。將用戶行為與行為特征相結(jié)合后可對聚類后的簇添加標(biāo)簽,使其具有較明確的語義,例如對于購買最新款iPhone手機(jī)的某一類人群可添加時尚、潮流等標(biāo)簽。
步驟3聚類效果及簇標(biāo)簽評價。評價聚類效果并對生成的簇標(biāo)簽進(jìn)行檢驗(yàn),同時判斷是否符合實(shí)際的用戶聚類情況。
步驟4輸出符合要求的簇及其對應(yīng)的標(biāo)簽。
在用戶行為聚類過程中使用的相關(guān)符號及其定義如表1所示。

表1 符號及其定義Table 1 Symbols and their definitions
3.2.1 用戶行為數(shù)據(jù)的缺失值處理
由于網(wǎng)絡(luò)中收集的用戶行為數(shù)據(jù)會存在缺失值,因此本文采用潛在因子模型(Latent Factor Model,LFM)對原始用戶行為數(shù)據(jù)進(jìn)行預(yù)處理。LFM是一種矩陣分解算法,將原始高維數(shù)據(jù)分解為潛在因子矩陣,從而實(shí)現(xiàn)稀疏矩陣分解和數(shù)據(jù)降維。
給定一個大小為m×n的稀疏矩陣d,m表示用戶數(shù)目,n表示行為數(shù)目,k表示潛在因子個數(shù),通過LFM可以得到一個大小為m×k的矩陣p和一個大小為k×n的矩陣q,如式(1)所示:
dmn=pmk×qkn
(1)
LFM計算的核心思想為在迭代過程中,通過優(yōu)化數(shù)據(jù)集的矩陣分解誤差值來找到合適的p與q,如式(2)所示:
emn=dmn-qnk×pmk
(2)
其中,emn表示矩陣分解誤差值,k值若小于原始高維數(shù)據(jù)的維度,則可實(shí)現(xiàn)降維效果。由于通過調(diào)整k值可以分解出不同的矩陣,因此k值會影響矩陣分解的誤差結(jié)果。
根據(jù)收集到的原始數(shù)據(jù)構(gòu)建用戶-行為矩陣D,如式(3)所示:
(3)
其中,dij表示用戶i與行為j的關(guān)系,包括行為執(zhí)行次數(shù)、行為執(zhí)行程度等,若用戶已執(zhí)行該行為,則不為空,若用戶未執(zhí)行該行為,則為缺失值。由于通過原始數(shù)據(jù)構(gòu)建的矩陣D為稀疏矩陣,其包含缺失值且維度較高,因此會增加聚類難度及降低聚類效果。
構(gòu)建用戶行為-標(biāo)簽矩陣G,如式(4)所示:
(4)
其中,矩陣G為包含缺失值的稀疏矩陣,行表示用戶,列表示用戶行為特征,共有m個用戶和n種行為。
由于D為稀疏矩陣,且利用LFM通過潛在因子對矩陣D進(jìn)行矩陣分解可以得到低維矩陣p、q,因此將p、qT相乘可以補(bǔ)全矩陣D,如式(5)所示:
D≈p×qT
(5)
對于矩陣q,通過式(6)計算得到潛在因子-標(biāo)簽矩陣H,并以此作為簇標(biāo)簽自動生成算法的輸入。由于p為用戶-潛在因子矩陣,且潛在因子個數(shù)小于D的原始維數(shù),因此矩陣分解能夠?qū)崿F(xiàn)降維的效果。
H≈qT×G
(6)
3.2.2 簇標(biāo)簽自動生成算法
簇標(biāo)簽自動生成算法的具體過程如下:
步驟1將用戶-行為矩陣D分解為p、q兩個矩陣,再根據(jù)q×G構(gòu)建用戶行為潛在因子-標(biāo)簽矩陣H。
步驟2使用聚類算法對矩陣p進(jìn)行聚類,取每個簇的平均值,得到每個簇的簇中心及用戶聚類矩陣C。
步驟3將用戶聚類矩陣C和潛在因子-標(biāo)簽矩陣H相乘得到用戶標(biāo)簽矩陣T,對矩陣T內(nèi)的數(shù)值進(jìn)行排序選出前t項作為用戶標(biāo)簽。
算法1簇標(biāo)簽自動生成算法
輸入用戶-行為矩陣D、用戶行為-標(biāo)簽矩陣G
輸出簇-標(biāo)簽矩陣Q
1.(p,q) ← matrix factorization(D)
H ←q×G
2.C ← clustering algorithm(p)
for i ← 1 to size(C) do
Si← {px∈Ci|x=1,2,…,N}
Centeri← mean(Si)
end
Q ← Centeri×H
3.Seq=Sort(Q)//對矩陣Q進(jìn)行排序,得到每個簇的
//標(biāo)簽序列
Labeln=Find(Seq)//查找前n個標(biāo)簽
在簇標(biāo)簽自動生成過程中利用矩陣分解算法找到潛在因子,補(bǔ)充矩陣D中缺失值的特征,將D分解得到矩陣p、qT。使p、qT相乘得到補(bǔ)全缺失值的矩陣D′,但由于該矩陣維度過高,此時聚類效果不理想,因此對p進(jìn)行聚類,將qT與G相乘得到潛在因子-標(biāo)簽矩陣H,如式(7)所示:
(7)
在p聚類后,通過兩種方式為聚類后的簇自動生成標(biāo)簽:
1)對簇內(nèi)的數(shù)據(jù)取平均值得到每個簇的簇中心,如式(8)和式(9)所示:
Si={x∈centeri|px}
(8)
Ci=means(Si)
(9)
其中,Ci為每一列中的較大值,表示該簇具有較強(qiáng)的維度特性,即對應(yīng)的潛在因子容易被發(fā)現(xiàn),因此只要將該簇對應(yīng)的潛在因子-標(biāo)簽關(guān)系矩陣相乘,即可得到簇-標(biāo)簽矩陣Q,計算公式如式(10)所示:
(10)
Q中的每一列均表示一個簇的標(biāo)簽,例如賦予第一個簇n個標(biāo)簽,可從q11,q12,…,q1t中取出最大的n個值作為該簇的標(biāo)簽,或是給定一個閾值,若超過該閾值,則視為該簇的標(biāo)簽。
2)找出所有數(shù)據(jù)的對應(yīng)標(biāo)簽,由于p表示用戶與潛在因子的關(guān)系,且H表示潛在因子與標(biāo)簽的關(guān)系,因此p×H可視為用戶與標(biāo)簽的關(guān)系,利用該矩陣統(tǒng)計簇內(nèi)的標(biāo)簽數(shù)量,并將出現(xiàn)次數(shù)最頻繁的前n個標(biāo)簽作為此簇的標(biāo)簽。
3.2.3 簇標(biāo)簽評價算法
在用戶行為聚類過程中每個簇都會生成多個標(biāo)簽,因此需要給出標(biāo)簽評價方法評估標(biāo)簽與簇之間的適合程度。假設(shè)x屬于ptest中的一個數(shù)據(jù)樣本,且x被分配到簇c中,TP表示x和c共同擁有的標(biāo)簽數(shù)量,FP表示x沒有而c擁有的標(biāo)簽數(shù)量,FN表示x擁有而c卻沒有的標(biāo)簽數(shù)量,TN表示x和c都沒有的標(biāo)簽數(shù)量。
F1 score是簇標(biāo)簽得分,其計算公式如式(11)所示:
(11)
其中,Precision表示準(zhǔn)確率,Recall表示召回率,其計算公式如式(12)和式(13)所示:
(12)
(13)
將矩陣p分為ptest和ptrain兩部分,選取80%作為訓(xùn)練數(shù)據(jù)集進(jìn)行聚類并給出標(biāo)簽,20%作為測試數(shù)據(jù)集。簇標(biāo)簽評分的具體過程如下:
步驟1根據(jù)ptrain聚類結(jié)果,利用相同的聚類算法將ptest分配到ptrain已有的簇內(nèi),同時根據(jù)ptest×H得到測試集中用戶所代表的標(biāo)簽。
步驟2根據(jù)式(12)和式(13)計算準(zhǔn)確率與召回率。
步驟3根據(jù)式(11)計算簇標(biāo)簽得分F1 score。
算法2簇標(biāo)簽評分算法
輸入ptrain和ptest的聚類結(jié)果C及其標(biāo)簽矩陣T,潛在因子-標(biāo)簽矩陣H
輸出簇標(biāo)簽得分F1 score
1.S←ptest×H
assign ptestinto C
2.TP←0,FP←0,FN←0
for i←1 to N do:
for j∈clusterido:
TP←count(TP+Sj∩Ti)
FP←count(FP+SjTi)
FN←count(FN+TiSj)
end
end
本文實(shí)驗(yàn)利用Last.fm數(shù)據(jù)集、Movielens數(shù)據(jù)集及CiteULike數(shù)據(jù)集進(jìn)行測試。
Last.fm數(shù)據(jù)集包含用戶、歌手以及歌手類型的資料,包括每個用戶收聽每個歌手音樂的次數(shù)以及用戶已標(biāo)記的歌手類型,并且不同用戶可能對同一個歌手標(biāo)記不同類型。該數(shù)據(jù)集中具有1 892個用戶、17 632個歌手及11 946種歌手類型,采用用戶與歌手關(guān)系的數(shù)據(jù)集構(gòu)建矩陣D,歌手與歌手類型關(guān)系的數(shù)據(jù)集構(gòu)建矩陣G。
CiteULike數(shù)據(jù)集包含作者引用論文與每篇論文對應(yīng)的關(guān)鍵字。將作者引用論文表示為1,未引用視為缺失值,采用作者與作者引用論文數(shù)據(jù)集構(gòu)建矩陣D,而論文與論文所對應(yīng)關(guān)鍵字的關(guān)系數(shù)據(jù)集構(gòu)建矩陣G。該數(shù)據(jù)集中具有5 551個作者、16 980篇論文以及46 391個關(guān)鍵字。
Movielens數(shù)據(jù)集包含用戶對不同電影的評分?jǐn)?shù)據(jù),包括自2000年起6 040個用戶對3 900部電影產(chǎn)生了1 000 209條評分?jǐn)?shù)據(jù)。將用戶已評分電影表示為1,未評分視為缺失值。采用用戶與電影評分的關(guān)系數(shù)據(jù)集構(gòu)建矩陣D,每部電影所代表的類型構(gòu)建矩陣G。
4.2.1 矩陣分解誤差評估
如果矩陣分解誤差較大,則會對聚類和自動標(biāo)簽生成產(chǎn)生影響。因此,首先對本文矩陣分解方法進(jìn)行評估。以Last.fm數(shù)據(jù)集為例,采用LFM對原始稀疏矩陣進(jìn)行矩陣分解,潛在因子k取值為4、8、12、16、20、24、28、32、36,潛在因子與矩陣分解誤差的關(guān)系如圖2所示。可以看出,隨著潛在因子數(shù)量的增加,矩陣分解誤差呈現(xiàn)下降趨勢,初始階段下降速度較快之后放緩,在潛在因子數(shù)量達(dá)到32后,放緩趨勢較為明顯。因此,潛在因子數(shù)量選擇32較理想。

圖2 潛在因子與矩陣分解誤差的關(guān)系Fig.2 The relationship between latent factor and matrix factorization error
4.2.2 聚類效果評估
本文選取潛在因子為32、矩陣分解誤差為164,分別利用AP[13]、DP-means[14]、K-means[15]、K-means++[16]以及層次聚類[17]算法進(jìn)行聚類,并使用Silhouettes方法對聚類效果進(jìn)行評估,實(shí)驗(yàn)結(jié)果如圖3所示。Silhouettes用于評價聚類效果的輪廓系數(shù),輪廓系數(shù)的取值范圍為[1,1],若大于0則表示聚類結(jié)果可用,若越接近1則說明聚類效果越好。在5種聚類算法中,K-means++、DP-means以及AP算法無需事先確定用戶行為數(shù)據(jù)規(guī)模,輪廓系數(shù)均大于需要實(shí)現(xiàn)確定用戶行為數(shù)據(jù)規(guī)模的K-means與層次聚類算法,聚類效果更好。由于處理的數(shù)據(jù)集不同,各算法聚類效果存在差異,例如在Last.fm數(shù)據(jù)集中,AP算法的輪廓系數(shù)為0.354,但在CiteULike數(shù)據(jù)集中輪廓系數(shù)為0.427。雖然整體輪廓系數(shù)均未超過0.6,但本文方法的主要目的是完成聚類過程的標(biāo)簽自動生成,因此該結(jié)果是可以接受的。

圖3 5種算法的聚類效果對比Fig.3 Comparison of clustering effects of five algorithms
4.2.3 簇標(biāo)簽評分評估
本文將同一個歌手被標(biāo)記的所有類型進(jìn)行求和,被標(biāo)記次數(shù)較多的類型作為該歌手偏向類型的標(biāo)簽。采用歌手與歌手類型關(guān)系的user_taggedartists.dat數(shù)據(jù)集構(gòu)建矩陣G。同時將用戶收聽歌手音樂的次數(shù)通過數(shù)據(jù)標(biāo)準(zhǔn)化轉(zhuǎn)化為1分~5分的喜歡程度,若未聽過則不評分并將其作為缺失值,采用用戶與歌手關(guān)系的user_artists.dat數(shù)據(jù)集構(gòu)建矩陣D。在聚類完成后進(jìn)行矩陣運(yùn)算得到簇-標(biāo)簽矩陣Q并對Q進(jìn)行排序,得到每個簇的前n個標(biāo)簽,而標(biāo)簽評分通過F1 score進(jìn)行表示,其值越接近1表示聚類效果越好。實(shí)驗(yàn)在CiteULike數(shù)據(jù)集上使用AP算法進(jìn)行測試,由于采用的標(biāo)簽數(shù)量不同,因此計算得到的F1 score也不同,如圖4所示。

圖4 標(biāo)簽數(shù)量對F1 score的影響Fig.4 The impact of the number of tags on F1 score
在圖4中,當(dāng)標(biāo)簽數(shù)量為5時,通常會取得較常見的標(biāo)簽,但簇標(biāo)簽評分較低,簇的語義較模糊,隨著標(biāo)簽數(shù)量的增多,簇標(biāo)簽評分越來越高,會取得區(qū)別能力較高的標(biāo)簽,使簇的語義更明確。當(dāng)標(biāo)簽數(shù)量為10~30時,F1 score增加效果不明顯,因此本文取標(biāo)簽數(shù)量為10。
通過綜合輪廓系數(shù)(聚類評分)和F1 score(標(biāo)簽評分)兩項聚類性能指標(biāo)(如表2所示),證明本文方法可在保證一定聚類效果的前提下生成語義更明確的簇標(biāo)簽,且標(biāo)簽評分均大于0.4。經(jīng)對比分析可以看出,不同數(shù)據(jù)集下各聚類算法的聚類評分及標(biāo)簽評分不同,無須事先確定用戶行為規(guī)模的K-means++、DP-means以及AP算法的兩項指標(biāo)均大于K-means和層次聚類算法。

表2 3個數(shù)據(jù)集中的算法聚類性能比較Table 2 Comparison of algorithm clustering performance in three datasets
為證明本文方法的聚類效果符合用戶實(shí)際情況,利用Last.fm數(shù)據(jù)集通過AP算法對本文方法的聚類結(jié)果及簇標(biāo)簽進(jìn)行分析,結(jié)果如表3所示。通過聚類后共形成4個簇,每簇取前10個標(biāo)簽作為簇標(biāo)簽,可以看出簇1的用戶喜好偏向獨(dú)立搖滾樂,簇2的用戶喜好偏向80年代經(jīng)典搖滾樂,簇3的用戶喜好偏向流行電子音樂,簇4的用戶喜好偏向前衛(wèi)搖滾樂。通過人工檢查這些數(shù)據(jù),發(fā)現(xiàn)聚類結(jié)果與實(shí)際情況相符合,進(jìn)一步證明了本文方法的有效性。

表3 Last.fm數(shù)據(jù)集中簇所對應(yīng)的標(biāo)簽Table 3 The labels corresponding to the clusters in Last.fm dataset
4.2.4 缺失值補(bǔ)充效果評估
在進(jìn)行聚類前,為提高生成標(biāo)簽的準(zhǔn)確性,需要對用戶行為數(shù)據(jù)進(jìn)行補(bǔ)充缺失值處理。同時,原始數(shù)據(jù)維度較大,若對原始數(shù)據(jù)直接進(jìn)行聚類,則聚類效率較低。以Last.fm數(shù)據(jù)集為例,原始數(shù)據(jù)經(jīng)去重復(fù)用戶處理后,矩陣D大小為1 877×376,LFM矩陣分解后的矩陣p大小為1 877×32,從數(shù)據(jù)維度上可以看出對經(jīng)補(bǔ)充缺失值處理后的矩陣p聚類效率優(yōu)于對原始矩陣直接進(jìn)行聚類。實(shí)驗(yàn)在Movielens數(shù)據(jù)集上利用K-means、K-means++、層次聚類、DP-means及AP算法分別在有無補(bǔ)充缺失值的條件下進(jìn)行聚類,實(shí)驗(yàn)結(jié)果如圖5所示。

圖5 缺失值對F1 score的影響Fig.5 The impact of missing values on F1 score
從圖5可以看出,經(jīng)補(bǔ)充缺失值后F1 score提高了4%~15%,從而提升生成標(biāo)簽的準(zhǔn)確性。通過一系列實(shí)驗(yàn)結(jié)果分析可知,本文方法可在保證聚類效果的前提下,在聚類過程中自動生成語義更明確的簇標(biāo)簽。
現(xiàn)有聚類算法在對網(wǎng)絡(luò)用戶行為進(jìn)行分析時需要預(yù)先確定用戶行為數(shù)據(jù)規(guī)模,并且生成的簇也缺少語義特征。為此,本文對網(wǎng)絡(luò)用戶行為數(shù)據(jù)特征進(jìn)行聚類分析,并應(yīng)用LFM、矩陣分解等方法,提出一種用于網(wǎng)絡(luò)用戶行為聚類的簇標(biāo)簽自動生成方法。實(shí)驗(yàn)結(jié)果表明,本文方法無需事先確定用戶行為數(shù)據(jù)規(guī)模,在聚類過程中可以同時產(chǎn)生簇標(biāo)簽,且所生成的簇標(biāo)簽符合用戶行為的實(shí)際語義。但由于本文方法對用戶行為數(shù)據(jù)有一定的格式要求,因此后續(xù)將對此進(jìn)行改進(jìn),擴(kuò)展其應(yīng)用范圍并提升通用性。