劉青青
(洛陽(yáng)師范學(xué)院數(shù)學(xué)科學(xué)學(xué)院, 河南洛陽(yáng) 471934)
基于用戶行為的社交網(wǎng)絡(luò)挖掘分析
劉青青
(洛陽(yáng)師范學(xué)院數(shù)學(xué)科學(xué)學(xué)院, 河南洛陽(yáng) 471934)
本文基于分布式云計(jì)算, 提出了一種社交網(wǎng)絡(luò)行為搜索算法, 其可以增加影響因素, 并把時(shí)間箭頭和頁(yè)面相關(guān)因子轉(zhuǎn)化為挖掘因子, 從而可提高挖掘性能的計(jì)算和搜索效率. 實(shí)驗(yàn)證明, 該計(jì)算有較好效果, 并對(duì)云計(jì)算的用戶分析具有指導(dǎo)意義.
分布式計(jì)算; 用戶搜索; 社交網(wǎng)絡(luò)
目前, 隨著社交平臺(tái)的快速發(fā)展, 出現(xiàn)了海量的信息, 并且信息量呈指數(shù)級(jí)增長(zhǎng). 預(yù)計(jì)到2020年, 每年產(chǎn)生的數(shù)字信息中將會(huì)有超過(guò)三分之一的內(nèi)容存在云平臺(tái)上. 為了對(duì)這些數(shù)據(jù)進(jìn)行分析處理, 以獲取更多的有價(jià)值的信息, 基于云計(jì)算的研究已成為一個(gè)重要研究方向. 在國(guó)外, 美國(guó)斯坦福大學(xué)提出了網(wǎng)頁(yè)的排名[1], IBM提出了HITS技術(shù)的理念[2-3]. 基于海量信息的特點(diǎn), 傳統(tǒng)的數(shù)據(jù)存儲(chǔ)和計(jì)算方法很難適應(yīng). 因此, 針對(duì)這一問(wèn)題, 本章提出了一種結(jié)合網(wǎng)絡(luò)搜索行為的算法.
Hadoop是一個(gè)能夠讓用戶容易使用的構(gòu)架和分布計(jì)算平臺(tái)[4]. 用戶可以很容易在Hadoop上開(kāi)發(fā)處理海量數(shù)據(jù)的應(yīng)用程序. 它有以下幾個(gè)優(yōu)點(diǎn): 高可靠性、 強(qiáng)擴(kuò)展性、 高效性、 高容錯(cuò)性. 目前, 基于Hadoop的應(yīng)用非常多, 比如, Facebook借助于集群運(yùn)行Hadoop來(lái)進(jìn)行數(shù)據(jù)的分析和機(jī)器學(xué)習(xí), 百度也使用Hadoop進(jìn)行搜索日志分析和網(wǎng)頁(yè)數(shù)據(jù)的挖掘工作[5].
在云計(jì)算中, 資源和任務(wù)的分配并不是一一對(duì)應(yīng)的. 首先, 任務(wù)反映在相應(yīng)的資源上, 然后通過(guò)相應(yīng)的物理設(shè)備反映出來(lái). 目前, 這種思想主要采用Map / Reduce云計(jì)算模型來(lái)實(shí)現(xiàn), Map/Reduce模型如圖1所示.
在上述模型中, 云計(jì)算模型系統(tǒng)在運(yùn)行時(shí)可分為多個(gè)部分, 以供用戶在做任務(wù)時(shí)使用. 由于云計(jì)算資源的限制、 經(jīng)常性資源競(jìng)爭(zhēng)的結(jié)構(gòu)異質(zhì)性特征可能導(dǎo)致資源分配不合理的情況, 所以在資源的分配中, 如何使資源合理配置是資源分配的核心工作.
基于云計(jì)算社交網(wǎng)絡(luò)的信息量巨大. 首先, 搜索引擎將根據(jù)用戶提交的關(guān)鍵詞進(jìn)行文本分割, 并刪除無(wú)關(guān)的詞; 然后, 使用搜索引擎分析搜索詞的權(quán)重; 之后, 可以用計(jì)算值來(lái)選擇關(guān)鍵詞[6].
采用單詞權(quán)重作為搜索單元和術(shù)語(yǔ)集, 以關(guān)鍵詞的權(quán)重來(lái)作為單元詞的整合. 假設(shè)Xij是搜索后的權(quán)重,Yi,j是查詢序列中某個(gè)詞的權(quán)重,Zi,j是序列分割的權(quán)重. 據(jù)此, 可以得到以下結(jié)論:
(1)
(2)
(3)
圖1 Map/Reduce模型
(4)
其中, Frei,j指的是關(guān)鍵詞i在網(wǎng)頁(yè)j中引用的頻率,N指的是資源的數(shù)量,ni是含有關(guān)鍵詞i的網(wǎng)頁(yè)總數(shù).
基于網(wǎng)絡(luò)頁(yè)面的算法, 首先從搜索頻率和偏好的角度分析用戶搜索行為, 然后考慮權(quán)重. 主要包括:
①用戶搜索行為: 考慮到用戶可以忽略返回結(jié)果的頁(yè)面, 故搜索行為會(huì)受到很大影響. 筆者采用以下公式來(lái)彌補(bǔ)這一缺陷.
(5)
在公式(5)中, c(A,q)是網(wǎng)頁(yè)A的平衡因子, Click(A,q)是點(diǎn)擊量.
②用戶思考時(shí)間: 在進(jìn)行搜索行為時(shí), 如果用戶發(fā)現(xiàn)搜索行為之間存在相似性, 他們會(huì)停留一段時(shí)間, 而這與他們的滿意度無(wú)關(guān). 因此, 采用公式(6)來(lái)描述搜索時(shí)間的權(quán)重.
(6)
在公式中,ti是指用戶瀏覽網(wǎng)站時(shí), 查詢單詞的集合.
③頁(yè)面之間的相關(guān)性
在云計(jì)算的搜索過(guò)程中, 頁(yè)面i和j之間存在相關(guān)性, 但權(quán)重可能有很大差別. 因此, 考慮使用平衡因子于對(duì)頁(yè)面進(jìn)行補(bǔ)償. 方法是: 假設(shè)進(jìn)行N次迭代, 在某一時(shí)間段[0,t]內(nèi), 使用用戶點(diǎn)擊的頁(yè)面構(gòu)造矩陣CN×N, 其中Ci,j指i和j被點(diǎn)擊的次數(shù), 如果Ci,j以及Cj,k大于0, 那么我們可以說(shuō)i,j,k有關(guān)系. 據(jù)此, 可以得出以下結(jié)論:
K(A,Ti)=λ(IDA,IDTi)
(7)
在公式中,K(A,Ti)是指的是A和T的相關(guān)性, 基于兩頁(yè)的ID找到的相關(guān)值.
在基于云計(jì)算的用戶搜索過(guò)程中, 首先通過(guò)搜索引擎得到一個(gè)結(jié)果集, 之后通過(guò)用戶點(diǎn)擊目標(biāo)網(wǎng)頁(yè), 獲取其ID號(hào); 再之后, 基于相關(guān)的隱含值, 將結(jié)果集與隱含的相關(guān)程度進(jìn)行比較, 并把頁(yè)面緊密相關(guān)作為新的搜索附加結(jié)果反饋給用戶, 實(shí)時(shí)反饋的流程圖如圖2所示.
步驟1: 根據(jù)用戶搜索獲取相關(guān)頁(yè)面;
步驟2: 基于基本的頁(yè)面排名計(jì)算, 對(duì)用戶影響因素, 時(shí)間箭頭指向和頁(yè)面相關(guān)性進(jìn)行分析;
步驟3: 分析有關(guān)影響用戶因素的網(wǎng)頁(yè);
步驟4: 根據(jù)基于時(shí)間箭頭指向所需的時(shí)間進(jìn)行分析;
步驟5: 根據(jù)頁(yè)面相關(guān)性的分析選擇;
圖2 實(shí)時(shí)反饋的流程圖
步驟6: 將步驟3和步驟5的結(jié)果提交給頁(yè)面排序并計(jì)算結(jié)果;
步驟7: 向用戶反饋結(jié)果.
本實(shí)驗(yàn)采用五臺(tái) PC構(gòu)建一個(gè)基于Hadoop的分布式計(jì)算平臺(tái), 其中一臺(tái)PC作為服務(wù)器, 主要負(fù)責(zé)主節(jié)點(diǎn), 其他四臺(tái)用于任務(wù)跟蹤.
實(shí)驗(yàn)中使用的數(shù)據(jù)主要來(lái)自58同城網(wǎng)的數(shù)據(jù). 本文收集了大約1000萬(wàn)個(gè)查詢記錄, 查詢記錄格式如表1所示.
表1 查詢記錄格式
用戶搜索時(shí)會(huì)產(chǎn)生一些Query不同, 但實(shí)際意義是一樣的記錄, 比如張磊男性和男性張磊. 為解決此問(wèn)題, 本文采用Map / Reduce方法實(shí)現(xiàn), 其偽碼如下:
Map(String No,Stirng Content)
{ String Str[]=”lineContent.spli()”;
Collect(id,term);// Collect all data
}
Reduece(String id, Tree terms)
{ While each<=terms
{// Duplicate Weedout
}
Collect(id,new Terms);
}
Hadoop框架能夠從多個(gè)角度分析和挖掘數(shù)據(jù), 包括熱搜索詞和單一的點(diǎn)擊頻率. 此部分主要基于熱詞的搜索, 并可對(duì)這些搜索行為進(jìn)行分析. 更重要的是, 數(shù)據(jù)集的大小可以存儲(chǔ)和計(jì)算. 此部分的偽碼如下所示:
Map(String No,Stirng Content)
{ String Str[]=”lineContent.spli()”;
Collect(id,term);// Collect all data
While each<=terms { collect(term,reduce)// reduce Send the data to reduce
}
}
Reduece(String query,Tree values)
{ intnum=0;// Ser counter
While each<=terms
{num=num+values// Accumulative page view
}
Collect(query,num);
}
本文數(shù)據(jù)來(lái)自Heritrix頁(yè)面[7-8]. 其視圖的數(shù)據(jù)量基于10萬(wàn)、 3萬(wàn)、 5萬(wàn)和100萬(wàn), 且具有4個(gè)簇(10萬(wàn)、 2萬(wàn)、 3萬(wàn)和4萬(wàn)). 基于不同頁(yè)面視圖的三種算法的比較如圖3所示.
基于Hadoop的用戶搜索行為能夠幫助用戶獲取信息, 查詢?nèi)罩竞蛿?shù)據(jù)挖掘技術(shù)也可以應(yīng)用到以后的情感分析中. 基于云計(jì)算的模型有利于對(duì)用戶的數(shù)據(jù)分析, 可以對(duì)基于Hadoop分布式計(jì)算框架的缺點(diǎn)進(jìn)行有效的彌補(bǔ). 此外, 通過(guò)用戶的日志, 我們尋找出了用戶的行為規(guī)律, 這也有助于下一步的用戶情感分析.
圖3 基于不同頁(yè)面視圖的三種算法的比較
[1] Page L,Brin S,Motwani R,et al.ThePagerank Citation Ranking;Bringing Order to the Web[R].TechicalReport,Standford Digital Library Technologies Project,2011.
[2] Kleinberg J M.Authoritative Sources in a Hyperlinked Environment[J].Journal of the ACM,2012,46(5):604-632.
[3] Chakrabarti S,Dom B,Raghavan P,et al.Automatic Resource List Compilation by Analyzing Hyperlinked Resource List Compilation by Analyzing Hyperlink Structure and Assocaitaed Text[EB/OL].[2013-11-17].http://citeseer.ist.psu.edu/chakrabarti98automatic.htm.
[4] Powered By-Hadoop Wiki[EB/OL].[2013-11-17].http://wiki,apache.org/hadoop/PoweredBy.
[5] Borthakur D.HDFS Architecture[EB/OL].[2012-11-17].http://hadoop.apache.org/common/ docs/current/hdfs_design.
[6] Mao G J,Duan L J. The principle and algorithm of data mining[M]. Bei jing Tsinghua university press,2009.
[7] Chen C,Zhan Y W,Li Y. PageRank parallel algorithm based on Journal of Computer Applications[J].2015,35(1):48-52.
[8] Cao S S,Wang C.Improved PageRank Algorithm Based on LinksandUserFeedback[J],Computer Science, 2014,41(12):179-182.
Analysis of Social Network Mining Based on User Behavior
LIU Qing-qing
(College of Mathematics and Science, Luoyang Normal University, Luoyang 471934, China)
This paper comes up with social network behavior search algorithm based on Hadoop cloud computing. The main reason is to increase the impact of factors. Time arrow and page correlation factor are transformed into mining factors, so as to improve excavation performance and search efficiency of mining performance. The experiment proves that the calculation is effective. And it has guiding significance for user analysis of cloud computing.
distributed computation; user search; social network
TP311
A
1009-4970(2017)11-0056-04
2017-05-06
劉青青(1978—), 女, 河南洛陽(yáng)人, 碩士, 副教授. 研究方向: 計(jì)算機(jī)軟件及應(yīng)用.
[責(zé)任編輯 徐 剛]