專利名稱:一種面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)信息管理領(lǐng)域,特別是一種面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展和網(wǎng)民規(guī)模的快速增長,越來越多的公眾通過網(wǎng)絡(luò)參與社會討論和表達(dá)社會意見。由于互聯(lián)網(wǎng)具有交流平等、參與廣泛的特點,許多國內(nèi)外熱點事件能夠迅速形成巨大的網(wǎng)絡(luò)輿論壓力,網(wǎng)絡(luò)已成為反映社會輿情的主要載體之一。在網(wǎng)絡(luò)輿情的形成過程中,意見領(lǐng)袖的助推作用顯著。能提出指導(dǎo)性見解、具有廣泛社會影響的人叫意見領(lǐng)袖,又稱輿論領(lǐng)袖。意見領(lǐng)袖在網(wǎng)絡(luò)論壇中積累了較高的聲望,在輿情事件醞釀和發(fā)酵過程中,輿情主體更容易受到意見領(lǐng)袖的影響,意見領(lǐng)袖的言論和意見往往會影響和改變其他人的意見,引導(dǎo)和推動事態(tài)進(jìn)一步發(fā)展,他們在網(wǎng)絡(luò)輿情的發(fā)生、發(fā)展和消亡過程中的作用可能是積極的,也可能是消極的,因而對意見領(lǐng)袖的挖掘工作具有重要的現(xiàn)實意義。然而在互聯(lián)網(wǎng)數(shù)據(jù)爆炸式增長的今天,傳統(tǒng)的依靠人工統(tǒng)計數(shù)據(jù)發(fā)現(xiàn)意見領(lǐng)袖的方法顯得力不從心。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,針對現(xiàn)有技術(shù)不足,提供一種面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法,準(zhǔn)確地挖掘出論壇中的意見領(lǐng)袖,為相關(guān)網(wǎng)絡(luò)輿情監(jiān)管部門及時發(fā)現(xiàn)熱點問題、引導(dǎo)網(wǎng)絡(luò)輿情健康發(fā)展提供技術(shù)支持。為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是一種面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法,包括意見領(lǐng)袖挖掘系統(tǒng),意見領(lǐng)袖挖掘系統(tǒng)包括計算中心和數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器與計算中心通信,該方法的具體步驟為
.1)利用爬蟲抓取論壇數(shù)據(jù),并利用消息中間件提高數(shù)據(jù)處理的實時性;
.2)提取網(wǎng)頁信息,利用中文分詞系統(tǒng)進(jìn)行分詞,并利用譜聚類方法對垃圾評論進(jìn)行過濾;
. 3)利用情感語料庫進(jìn)行文本傾向性分析;
.4)設(shè)定意見領(lǐng)袖的選取標(biāo)準(zhǔn)值,利用下列公式確定意見領(lǐng)袖
PR(A) = (l-d)+d*(PR(Tl) * L (A, Tl) + …+PR(Tn) *L(A,Tn)),
其中PR(A)表示給定頁面A的得分,d為阻尼因子,PR(Tn)表示一個指向A頁的網(wǎng)站其本身的得分,L(A,Tn)表示網(wǎng)頁A和網(wǎng)頁Tn的鏈接相關(guān)度,L(A,Tn) = (Ua H Un) / (Ua U Un),Ua代表網(wǎng)頁A的鏈出、鏈入和自身的URL的集合;Un代表網(wǎng)頁Tn的鏈出、鏈入和自身的URL的集合;
當(dāng)PR(A)大于設(shè)定的選取標(biāo)準(zhǔn)值時,即確定為意見領(lǐng)袖;
.5)將4)中的結(jié)果可視化。作為優(yōu)選方案,步驟1)中,利用開源爬蟲Netcrawler實現(xiàn)網(wǎng)絡(luò)論壇數(shù)據(jù)的采集;所述消息中間件為ActiveMQ。作為優(yōu)選方案,步驟2)中,利用正則表達(dá)式提取網(wǎng)頁信息;所述中文分詞系統(tǒng)為基于多層隱馬爾可夫模型的漢語詞法分析系統(tǒng)ICTCLAS。步驟2)中,利用譜聚類方法對垃圾評論進(jìn)行過濾的步驟為
1)采集文本情報語料,對文本進(jìn)行預(yù)處理,得到評論集;
2)針對得到的評論集,將每條評論利用向量空間模型來進(jìn)行特征表示,每條評論表示成空間的一個向量;
3)生成相似矩陣G; 4)構(gòu)造非正則拉普拉斯矩陣作為樣本矩陣?yán)孟嗨贫染仃嘵得出鄰接矩陣r,然后把鄰接矩陣的每一列元素加起來得到#個數(shù),把它們放在對角線上,其他地方都是零,組成一個的矩陣,記為D,令Z =D -r, Z即為樣本矩陣;
5)構(gòu)建特征向量空間求出Z的前々個特征值以及對應(yīng)的特征向量,將這々個特征向量組成一個的矩陣,即為特征向量空間,其中前A個特征值按照特征值的大小從小到大排列;
6)把這A個特征列向量排列在一起組成一個的矩陣,將其中每一行看作A維空間中的一個向量,并使用譜聚類算法進(jìn)行聚類;
7)采用歐氏距離方法,在譜聚類基礎(chǔ)上計算每個點到對應(yīng)類中心距離;
8)計算對象的離群度將上述距離的平均值萬0^和方差ΑΟ -ΑΟ )尸的比值作為離群度的基礎(chǔ)數(shù)據(jù),然后根據(jù)離群度公式Out (V =E(Xi)/E(Xi-E(Xi))2計算離群度;
9)利用離群度檢測垃圾評論把垃圾評論作為離群點,然后進(jìn)行離群點探測,只需對離群度進(jìn)行Τορ-η排序,離群度最高的對象就是離群點,也就是檢測出的垃圾評論;
10)將檢測出的垃圾評論從數(shù)據(jù)庫中刪除。作為優(yōu)選方案,步驟3)中,采用的情感語料庫為HowNet201104中的情感分析用詞集。作為優(yōu)選方案,步驟4)中,選取的標(biāo)準(zhǔn)值為O. 001 ;阻尼因子d設(shè)為O. 8。作為優(yōu)選方案,步驟5)中,利用Vizster實現(xiàn)可視化。本發(fā)明面向國際互聯(lián)網(wǎng)論壇中的海量評論,設(shè)計并實現(xiàn)了網(wǎng)絡(luò)論壇意見領(lǐng)袖自動挖掘系統(tǒng),能準(zhǔn)確地挖掘出論壇中的意見領(lǐng)袖,為相關(guān)網(wǎng)絡(luò)輿情監(jiān)管部門及時發(fā)現(xiàn)熱點問題、引導(dǎo)網(wǎng)絡(luò)輿情健康發(fā)展提供了技術(shù)支持。
圖I為本發(fā)明一實施例意見領(lǐng)袖自動挖掘系統(tǒng)硬件平臺結(jié)構(gòu)示意 圖2為本發(fā)明一實施例爬蟲配置界面 圖3為本發(fā)明一實施例利用譜聚類方法對垃圾評論進(jìn)行過濾的步驟流程 圖4為正則表達(dá)式的基本元字符;
圖5為HowNet的情感分析詞語集。
具體實施例方式如圖I所示,本發(fā)明一實施例意見領(lǐng)袖自動挖掘系統(tǒng)主要由數(shù)據(jù)中心和計算中心組成,數(shù)據(jù)中心是一臺數(shù)據(jù)庫服務(wù)器存儲了從互聯(lián)網(wǎng)論壇爬取的數(shù)據(jù),并為計算中心提供數(shù)據(jù)服務(wù),計算中心則通過一系列算法對數(shù)據(jù)中心提供的數(shù)據(jù)進(jìn)行處理從而挖掘出意見領(lǐng)袖。本發(fā)明一實施例意見領(lǐng)袖自動挖掘方法步驟如下
I、采集論壇數(shù)據(jù)
(I)利用開源爬蟲抓取論壇數(shù)據(jù)
網(wǎng)絡(luò)論壇數(shù)據(jù)采集是意見領(lǐng)袖挖掘的數(shù)據(jù)基礎(chǔ),本發(fā)明利用開源爬蟲Netcrawler實現(xiàn)網(wǎng)絡(luò)論壇數(shù)據(jù)的采集,這是一個Web爬行的前端系統(tǒng),能夠沿著鏈接漫游Web文檔集合,其基本工作原理與基于種子URL進(jìn)行·廣度優(yōu)先搜索的爬蟲相同通過給定的種子URL,利用HTTP等標(biāo)準(zhǔn)協(xié)議讀取相應(yīng)文檔,然后以文檔中所有未訪問過的URL作為新的起點,繼續(xù)進(jìn)行漫游,直到?jīng)]有滿足條件的新URL為止。Netcrawler的主要功能是下載一個域中的所有網(wǎng)頁,然后分析和處理所有相關(guān)元素,包括圖片、文字、音頻、視頻等,可以在http://freecode. com/projects/netcrawler下載最新的Netcrawler版本。通過給定論壇主頁網(wǎng)址或論壇某一頻道的網(wǎng)址作為種子URL,獲取該論壇頻道中包括主題和回帖頁面的網(wǎng)頁源碼,具體回帖元數(shù)據(jù)解析工作在網(wǎng)頁預(yù)處理中進(jìn)行。本發(fā)明保留了系統(tǒng)內(nèi)核,對論壇采集的要素(包括標(biāo)題、正文、發(fā)帖人、發(fā)帖時間、ip地址、點擊數(shù)、回復(fù)數(shù)等)進(jìn)行了配置,并改變系統(tǒng)界面使之操作更加友好。根據(jù)用戶提供的網(wǎng)絡(luò)論壇種子URL抓取網(wǎng)頁及相關(guān)帖子并存儲到本地,為系統(tǒng)追加和更新數(shù)據(jù)提供原始數(shù)據(jù)。爬蟲配置界面如圖2,設(shè)置了種子URL、線程數(shù)、保存位置、抓取深度、抓取類型和關(guān)鍵詞表達(dá)式。(2)利用消息中間件提高數(shù)據(jù)處理的實時性
消息中間件(MOM,Message-Oriented Middleware)是一種特定的中間件。它利用高效可靠的消息傳遞機(jī)制進(jìn)行平臺無關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)集成。消息中間件最重要的功能就是及時提供可靠的消息通信手段。為了能夠完成消息的可靠傳輸,一般使用隊列的方式進(jìn)行消息管理,也就是說,通常在進(jìn)行數(shù)據(jù)傳輸時,將數(shù)據(jù)按照用戶定義的大小,拆分成若干消息單元放入消息隊列,中間件可以按照同步或異步的通信方式發(fā)送或者接收消息。在實際的操作過程中,為了保障消息可靠傳輸,經(jīng)常使用消息優(yōu)先級、斷點續(xù)傳、可靠消息隊列、內(nèi)存隊列等技術(shù),有些還加入了流量控制、預(yù)建連接等功能。消息中間件的核心本質(zhì)是消息傳遞,消息傳遞是一種能支持高速、異步、程序到程序可靠通信的技術(shù)。本實施例用到的是消息中間件ActiveMQ。ActiveMQ是一個開放源碼基于Apache2.0 licenced發(fā)布并實現(xiàn)了 Java消息服務(wù)(JMS)開放標(biāo)準(zhǔn),是一種基于標(biāo)準(zhǔn)的消息傳送解決方案,可以在 http://activemq. apache, org/download, html 下載最新的 ActiveMQ。系統(tǒng)在抓取網(wǎng)頁的同時,將網(wǎng)頁URL、網(wǎng)頁抓取時間和網(wǎng)頁本次存儲路徑作為消息發(fā)送給ActiveMQ的消息隊列,通過ActiveMQ中的消息同步傳遞機(jī)制,將隊列中的網(wǎng)頁信息實時傳遞給網(wǎng)頁預(yù)處理過程,實現(xiàn)及時感知獲取到的新網(wǎng)頁,從而對新網(wǎng)頁進(jìn)行處理。此外,ActiveMQ還提供了系統(tǒng)部署所需的互操作性、安全性、可伸縮性、可用性、易管理性以及其他功能。在抓取完原始網(wǎng)頁后,為了獲取網(wǎng)頁中的評論,還要進(jìn)行網(wǎng)頁信息提取。由于HTML語言作為一種半結(jié)構(gòu)化的描述語言,更多地關(guān)注于展現(xiàn)內(nèi)容的視覺效果(字體、大小、顏色、位置等),而忽略了內(nèi)容的組織結(jié)構(gòu)。當(dāng)數(shù)據(jù)庫中的記錄被格式化成HTML網(wǎng)頁后,在描述上失去了結(jié)構(gòu)信息。出于方便用戶瀏覽的目的,通常在一個內(nèi)容頁面中包含有多個帖子,并且每個帖子在視覺上都呈現(xiàn)為相對獨立的信息塊。這一特性反映到網(wǎng)頁的HTML文檔結(jié)構(gòu)層上,就表現(xiàn)為每個信息塊都對應(yīng)于一個相對獨立的文檔對象模型(Document ObjectModel, DOM)子樹,所有的信息塊子樹都位于同一父節(jié)點下,并且具有相同的內(nèi)部結(jié)構(gòu)特性。評論網(wǎng)頁一般采用表格來容納數(shù)據(jù),表格是綜合的HTML結(jié)構(gòu),主要用到的HTML標(biāo)簽有〈TABLE〉、〈TH〉、<TR>、<TD>,利用這些標(biāo)簽可以指定表格的排列布局。2、提取網(wǎng)頁信息,利用中文分詞系統(tǒng)進(jìn)行分詞,并利用譜聚類方法對垃圾評論進(jìn)行過濾
(I)提取網(wǎng)頁信息
在抓取完原始網(wǎng)頁后,為了獲取網(wǎng)頁中的評論,還要進(jìn)行網(wǎng)頁信息提取。由于HTML語言作為一種半結(jié)構(gòu)化的描述語言,更多地關(guān)注于展現(xiàn)內(nèi)容的視覺效果(字體、大小、顏色、位置等),而忽略了內(nèi)容的組織結(jié)構(gòu)。當(dāng)數(shù)據(jù)庫中的記錄被格式化成HTML網(wǎng)頁后,在描述上失去了結(jié)構(gòu)信息。出于方便用戶瀏覽的目的,通常在一個內(nèi)容頁面中包含有多個帖子,并且每個帖子在視覺上都呈現(xiàn)為相對獨立的信息塊。這一特性反映到網(wǎng)頁的HTML文檔結(jié)構(gòu)層上,就表現(xiàn)為每個信息塊都對應(yīng)于一個相對獨立的文檔對象模型(Document ObjectModel, DOM)子樹,所有的信息塊子樹都位于同一父節(jié)點下,并且具有相同的內(nèi)部結(jié)構(gòu)特性。評論網(wǎng)頁一般采用表格來容納數(shù)據(jù),表格是綜合的HTML結(jié)構(gòu),主要用到的HTML標(biāo)簽有〈TABLE〉、〈TH〉、<TR>、<TD>,利用這些標(biāo)簽可以指定表格的排列布局。從消息隊列中取出消息,提取得出的網(wǎng)頁元數(shù)據(jù)將被存儲到數(shù)據(jù)庫表中,抽取的評論內(nèi)容被以文檔的形式存儲到本地硬盤,并與數(shù)據(jù)庫表中的記錄保持一一映射。網(wǎng)頁的元數(shù)據(jù)包含評論的URL、來源網(wǎng)站、本地存儲路徑、評論標(biāo)題、發(fā)表人ID名、訪問數(shù)、回復(fù)數(shù)和發(fā)表時間,本地存儲路徑作為網(wǎng)頁的主標(biāo)識碼,用于本地評論文檔與數(shù)據(jù)庫表記錄的關(guān)聯(lián)?;贖TML的標(biāo)記語言特性,可以利用正則表達(dá)式(Regular Expression)進(jìn)行有用信息提取。正則表達(dá)式主要用于基于文本的搜索和編輯,可以實現(xiàn)數(shù)據(jù)驗證、文本替換,還可以根據(jù)模式匹配從字符串中提取子字符串。圖4描述了正則表達(dá)式中幾個常用的元字符。本發(fā)明利用Visual Studio 2008平臺中C#語言的正則表達(dá)式從網(wǎng)頁源碼中抽取有用信息。通過正則表達(dá)式匹配提取網(wǎng)頁中的正文信息,包括網(wǎng)頁標(biāo)題、作者、發(fā)帖內(nèi)容、回帖者、回帖內(nèi)容等。將抽取后的正文信息存入oracle數(shù)據(jù)庫,本發(fā)明用到的數(shù)據(jù)庫版本為oracle IOg0(2)中文分詞
分詞是文本挖掘的關(guān)鍵和基礎(chǔ),本實施例使用了海量分詞免費版開發(fā)接口,該軟件是目前應(yīng)用較為廣泛的一種中文分詞系統(tǒng),由中國科學(xué)院計算技術(shù)研究所研制的基于多層隱馬爾可夫模型的漢語詞法分析系統(tǒng)ICTCLAS (Institute of Computing Technology,Chinese Lexical Analysis System),不僅有較高的分詞準(zhǔn)確率,分詞效率也較好。其主要功能包括中文分詞、詞性標(biāo)注、命名實體識別、新詞識別,同時支持用戶詞典、支持繁體中文、支持GBK、UTF-8、UTF-7、UNICODE等多種編碼格式。目前海量分詞系統(tǒng)分詞速度單機(jī)996KB/S,分詞精度98. 45%,API不超過200KB,各種詞典數(shù)據(jù)壓縮后不到3M,而且ICTCLAS全部采用C/C++編寫,支持Linux、FreeBSD及Windows系列操作系統(tǒng),支持C/C++、C#、Delphi、Java等主流的開發(fā)語言,是當(dāng)前較好的漢語詞法分析器。該開發(fā)接口由HLSSplit.dlI程序接口和HLSSplit. dll. dat語料庫兩部分組成,可通過互聯(lián)網(wǎng)免費獲取。本實施例通過調(diào)用海量分詞的HLSSplit. dll,基于海量HLSSplit. dll. dat語料庫,對正文進(jìn)行分詞,得到中文詞匯、詞性標(biāo)注、詞匯位置、詞頻統(tǒng)計等信息,分詞后的結(jié)果用于垃圾評論過濾。(3)基于聚類的垃圾評論過濾
在匹配得到的回帖內(nèi)容中有很多回復(fù)是沒有意義的,例如小廣告、不相關(guān)的回復(fù)、重復(fù)回復(fù)等,為了有效挖掘意見領(lǐng)袖,應(yīng)當(dāng)分析回帖者對發(fā)帖者有意義的回復(fù)內(nèi)容,以此得到回帖者對發(fā)帖者的支持度。因而必須對垃圾評論進(jìn)行過濾。 基于聚類的垃圾評論過濾主要步驟如圖3所示
I)針對得到的評論集,將每條評論利用向量空間模型來進(jìn)行特征表示,每條評論表示成空間的一個向量。本發(fā)明米用向量空間模型對文本進(jìn)行表不,在向量空間模型中,一個文本4被看作是一個由一組特征(h , ...,tj組成的/7維向量,這樣文本Ori簡化為以特征的權(quán)重為分量的向量表示W(wǎng)i2,...,,權(quán)重I7表示特征tj= (j =1,2,…/7」對文本Cli分類的重要程度,可將文本Cli表示為Clj= (wn, Wi2,…,WiJ。其中tin為特征項,它可以是字、詞、或是短語;Jn為特征項tin的權(quán)重,表示匕在評論中的重要程度,此處采取比較常用的計算權(quán)重的方法TF-IDF來表示重要程度。2)相似矩陣的產(chǎn)生。相似度矩陣包含了兩兩評論的相似性,因此每條評論用向量表示后,需要利用余弦公式對評論進(jìn)行相似度計算,兩條評論(Ii和Clj之間的相似度sim Cdi,dj)其計算步驟如下
相似性度量計算方法 輸入兩個文本向量Ori和(Ij 輸出相似度矩陣^
其中,兩文檔之間的相似度可以用其對應(yīng)的向量之間的夾角余弦來表示,即文檔d i和d』的相似度可以表示為, dj) =di*dj'//diI*/dj/
3)構(gòu)造非正則拉普拉斯矩陣作為樣本矩陣。首先利用相似度矩陣^得出鄰接矩陣r,然后把鄰接矩陣的每一列元素加起來得到#個數(shù),把它們放在對角線上(其他地方都是零),組成一個的矩陣,記為D。令Z =D -V, L即為樣本矩陣。4)構(gòu)建特征向量空間。構(gòu)建特征向量空間需求出Z的前々個特征值(在本文中,除非特殊說明,否則“前左個”指按照特征值的大小從小到大的順序)以及對應(yīng)的特征向量,將這左個特征向量組成一個的矩陣即為特征向量空間。5)把這左個特征(列)向量排列在一起組成一個的矩陣,將其中每一行看作左維空間中的一個向量,并使用譜聚類算法進(jìn)行聚類。6)在譜聚類基礎(chǔ)上計算每個點到對應(yīng)類中心距離。本文對每個點到對應(yīng)類距離計算方法采用歐氏距離的方法。設(shè)兩個點A 二 (a [I], a[2],…,a [η])和沒二 (b[l],b[2],…,b[n])之間的距離P (A,B)定義為下面的公式P (A,B) =sqrt [ Σ ( a[i] - b[i] )^2 ] (i = 1,2,…,n)
7)計算對象的離群度。先計算上述距離的平均值ΑΟ )和方差ΑΟ -ΑΟ )尸的比值作為離群度的基礎(chǔ)數(shù)據(jù),然后根據(jù)離群度公式Out (I) =E(Xi)/E(Xi-E(Xi))2計算離群度。8)利用離群度檢測垃圾評論。基于譜聚類(Spectral Clustering)的檢測方法,把垃圾評論作為離群點,然后進(jìn)行離群點探測,只需對離群度進(jìn)行Τορ-η排序,離群度最高的對象就是離群點,也就是檢測出的垃圾評論。確定出某一評論是垃圾評論后,將這條評論對應(yīng)的記錄從數(shù)據(jù)庫中刪除。3、分析文本傾向性 分析用戶之間關(guān)系時,除基本的連接關(guān)系外,一個用戶對另一個用戶的支持度計算是 核心內(nèi)容,通過對帖子的文本內(nèi)容進(jìn)行傾向性分析可提高支持度分析的準(zhǔn)確性。文本傾向性分析是指通過挖掘和分析文本中的看法、好惡等主觀信息,并對文本的情感傾向做出類另IJ判斷。目前文本傾向性分析的方法較多,本發(fā)明在文本預(yù)處理環(huán)節(jié)已經(jīng)進(jìn)行了中文分詞和垃圾評論過濾,針對意見領(lǐng)袖的特點,對傾向性分析的計算精度要求相對較低,而對算法執(zhí)行效率具有較高的要求。本發(fā)明基于情感語料庫進(jìn)行傾向性分析,采用的情感語料庫為HoWNet201104中的情感分析用詞集,該語料庫可在互聯(lián)網(wǎng)上免費獲取,選取其中的中文詞語來構(gòu)建極性詞典,匯總后得到的詞語集規(guī)模如圖5所示。建立的論壇情感語料庫,給出了各個情感詞語的數(shù)值化分值。例如“好”的分值為1,“很好”的分值為2,“差”分值為-1,“很差”的分值為_2。建立語料庫后便可對每條評論進(jìn)行傾向性打分,例如一條評論為“樓主分析得很好,但有一點偏激”,在這句話中“很好”和“偏激”都表達(dá)了回帖者的情感傾向,“很好”分值為2,“偏激”分值為-1,加權(quán)求和后得到這條評論的分值為I。得出打分后將這一分值填入數(shù)據(jù)庫中該條評論對應(yīng)記錄的“傾向性分值”字段中。4、挖掘意見領(lǐng)袖 傳統(tǒng)的Pagerank算法
Pagerank依靠的是網(wǎng)名對站點的支持率,利用大量的鏈接結(jié)構(gòu)表明某個單獨網(wǎng)頁的價值。它就像是一個由互聯(lián)網(wǎng)上的所有其他頁面發(fā)起的投票,并以此來決定一個頁面的重要性。一個指向某頁面的鏈接代表一張支持票,如果沒有鏈接指向它,那就相當(dāng)于沒有支持
西
οPagerank的值定義如下假定頁面A有Tl··· Tn這些頁面指向它(即Tl··· Tn引用頁面A)。參數(shù)d是一個設(shè)置于O與I之間的阻尼參數(shù)。另外,C(A)定義為從A出發(fā)的鏈接數(shù)量。則網(wǎng)頁A的Pagerank值由下面的公式得出。PR(A) = (l-d)+d*(PR(Tl) / C(Tl)+…+PR(Tn) / C(Tn)),
其中,PR (A)表示給定頁面A的得分;d為阻尼因子,通常設(shè)為0.8;PR(Tn)表示一個指向A頁的網(wǎng)站其本身的得分;C(Tl)表示該頁面所擁有的鏈出數(shù)量;PR(Tn)/C(Tn)表示指向A頁的頁面數(shù)量和A指向其他頁的頁面數(shù)量的比例。Pagerank值在整個網(wǎng)頁群體中的構(gòu)成概率分布,所以全部網(wǎng)頁的Pagerank值之和為I。A頁的外部鏈接B能夠帶給A的得分與B的鏈出數(shù)量成反比,即隨著B上鏈出數(shù)的增加,帶給A的得分隨之降低。這同樣表明一個網(wǎng)頁的得分是該網(wǎng)頁對其他網(wǎng)頁投票的一個基本的度量形式。一個網(wǎng)頁可以投票給一個或多個導(dǎo)出鏈接,但其總投票權(quán)一定,并被平分給所有的導(dǎo)出鏈接。假設(shè)B的得分為5,且B上只有一條指向A的鏈接,那么A將獲得B全部的得分,B沒有損失任何東西,而A贏得了 B的得分。但如果B上有η個鏈接,則A只能得到B的得分的η分之一。改進(jìn)的Pagerank算法
從傳統(tǒng)Pagerank算法的定義不難看出,它實際上假設(shè)鏈接到網(wǎng)頁A的所有網(wǎng)頁Ti,從Ti沿著鏈接跳轉(zhuǎn)到A的概率是Ti網(wǎng)頁鏈接出度的倒數(shù),即假設(shè)Ti跳轉(zhuǎn)到任意網(wǎng)頁的概率是相同的。這與實際情況是不相符的,在論壇中,一個用戶可以有很多鏈出,可以支持很多人發(fā)表的帖子,但這些鏈接的權(quán)重肯定是不一樣的,它與回帖者和發(fā)帖者的相關(guān)度有關(guān)??梢允褂面溄酉嚓P(guān)度來刻畫這個權(quán)重,表示如下
L (A, Ti) = (Ua H Ui) / ( Ua U Ui),
其中,L(A,Ti)表示網(wǎng)頁A和網(wǎng)頁Ti的鏈接相關(guān)度;Ua代表網(wǎng)頁A的鏈出、鏈入和自身的URL的集合;Ui代表網(wǎng)頁Ti的鏈出、鏈入和自身的URL的集合。在網(wǎng)絡(luò)論壇中,這種方法相當(dāng)于將原來的有向網(wǎng)看作是無向網(wǎng),表示的是發(fā)帖者和回帖者回復(fù)另外一個發(fā)帖者的帖子的數(shù)目與發(fā)帖者和回帖者發(fā)表帖子總數(shù)的比率,比值越大,兩者相關(guān)性越大。從而得到修正后的公式
PR(A) = (l-d)+d*(PR(Tl) * L (A, Tl) + …+PR(Tn) *L(A,Tn)),
其中,PR(A)表示給定頁面A的得分;d為阻尼因子,設(shè)為O. 8 ;PR(Tn)表示一個指向A頁的網(wǎng)站其本身的得分;L(A,Tn)表示網(wǎng)頁A和網(wǎng)頁Tn的鏈接相關(guān)度。改進(jìn)的Pagerank算法注意事項
依照算法進(jìn)行編程便可算出論壇中用戶的得分,得分較高者便可認(rèn)定為意見領(lǐng)袖。但在具體使用該算法過程中需要注意以下問題
(I)迭代收斂誤差的設(shè)定
Pagerank算法是一個迭代收斂算法,所以要確定收斂誤差,誤差的設(shè)定需要一定的技巧,設(shè)定得過大,結(jié)果的準(zhǔn)確性值得懷疑,設(shè)定得過小,得出結(jié)果所需時間過長,有時在觀察時間內(nèi)甚至得不到結(jié)果,經(jīng)過多次試驗,設(shè)定數(shù)據(jù)誤差為O. 001。(2)意見領(lǐng)袖的選取標(biāo)準(zhǔn)
這里所說的標(biāo)準(zhǔn)實際上是一個數(shù)值,即需要考慮得分大于多少即可視為意見領(lǐng)袖,這個難以得到一個統(tǒng)一的標(biāo)準(zhǔn)??疾斓奶煅慕?jīng)濟(jì)論壇中,一共有20000多個用戶,而所有用戶 總分為1,經(jīng)過多次試驗,發(fā)現(xiàn)取O. 001作為標(biāo)準(zhǔn)數(shù)值是比較合理的,選取該值得出的意見領(lǐng)袖經(jīng)分析都符合對意見領(lǐng)袖的定位。(3)等級沉沒現(xiàn)象的解決
在算法使用中如果遇到幾個孤立節(jié)點相互投票,即假設(shè)用戶A和用戶B分別支持了對方,而用戶A和用戶B沒有得到論壇中的其他用戶的支持,在進(jìn)行運算時,兩者的得分會穩(wěn)定在一個較高數(shù)值甚至?xí)试龃筅厔?,這樣最終得分會高于選取標(biāo)準(zhǔn),從而將用戶A和B誤認(rèn)為意見領(lǐng)袖,這種現(xiàn)象稱為等級沉沒。在遭遇等級沉沒時需將孤立節(jié)點剔除,算法實現(xiàn)時如果讀取到一個用戶是被認(rèn)為會引起等級沉沒的用戶,那么直接將其跳過,該用戶不會進(jìn)入算法矩陣,這樣就很好的避免了等級沉沒。改進(jìn)的Pagarank算法的具體應(yīng)用在執(zhí)行算法挖掘意見領(lǐng)袖前應(yīng)該首先構(gòu)造矩陣,假設(shè)論壇有η個用戶,那么便構(gòu)造一AnXn的矩陣,每個η對應(yīng)著論壇的一個用戶,矩陣上的每一個點(i,j)的值為用戶j對用戶i各次回帖內(nèi)容傾向性打分的算術(shù)和。此后設(shè)定改進(jìn)算法迭代收斂誤差和意見領(lǐng)袖的選取標(biāo)準(zhǔn),本發(fā)明設(shè)定該標(biāo)準(zhǔn)值為O. 001,通過迭代計算,凡是PR(A)值大于該標(biāo)準(zhǔn)值的,即為論壇中的意見領(lǐng)袖。驗證通過挖掘得到得意見領(lǐng)袖是否是因等級沉沒而導(dǎo)致誤判,若存在誤判則將其刪除,重新執(zhí)行改進(jìn)的Pagerank算法直至得出正確結(jié)果。5、可視化挖掘結(jié)果
可視化展現(xiàn)依靠開放源碼的社會網(wǎng)絡(luò)可視化工具Vizster實現(xiàn)。Vizster是一個在線社交網(wǎng)絡(luò)的交互式可視化工具,可通過http://hci. Stanford, edu/jheer/projects/vizster/download. html下載。用戶之間的關(guān)系用Xml的形式組織起來,作為Vizster的 輸入。本實施例對Vizster進(jìn)行了部分修改,將信息展示區(qū)簡化成展示用戶之間回帖人名字、Pagerank值以及是否為意見領(lǐng)袖。同時,考慮到論壇中用戶過多影響展示效果,可以只展示挖掘出的意見領(lǐng)袖和比較活躍的用戶信息,這樣使得Vizster在不丟失任何有用信息的前提下,達(dá)到簡明清晰的展示效果。由于Vizster支持可視化搜索、分析和自動關(guān)聯(lián)節(jié)點等功能,通過系統(tǒng)能夠很容易地觀看到整個論壇用戶的影響力結(jié)構(gòu)圖,并通過顏色區(qū)分快速發(fā)現(xiàn)意見領(lǐng)袖。
權(quán)利要求
1.一種面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法,包括意見領(lǐng)袖挖掘系統(tǒng),意見領(lǐng)袖挖掘系統(tǒng)包括計算中心和數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器與計算中心通信,其特征在于,該方法的具體步驟為 1)利用爬蟲抓取論壇數(shù)據(jù),并利用消息中間件提高數(shù)據(jù)處理的實時性; 2)提取網(wǎng)頁信息,利用中文分詞系統(tǒng)進(jìn)行分詞,并利用譜聚類方法對垃圾評論進(jìn)行過濾; 3)利用情感語料庫進(jìn)行文本傾向性分析; 4)設(shè)定意見領(lǐng)袖的選取標(biāo)準(zhǔn)值,利用下列公式確定意見領(lǐng)袖PR(A) = (l-d)+d*(PR(Tl) * L(A, Tl)+…+PR(Tn) *L(A,Tn)), 其中PR(A)表示給定頁面A的得分,d為阻尼因子,PR(Tn)表示一個指向A頁的網(wǎng)站其本身的得分,L(A,Tn)表示網(wǎng)頁A和網(wǎng)頁Tn的鏈接相關(guān)度,L(A,Tn) = (Ua H Un) / (Ua U Un),Ua代表網(wǎng)頁A的鏈出、鏈入和自身的URL的集合;Un代表網(wǎng)頁Tn的鏈出、鏈入和自身的URL的集合; 當(dāng)PR(A)大于設(shè)定的選取標(biāo)準(zhǔn)值時,即確定為意見領(lǐng)袖; 5)將4)中的結(jié)果可視化。
2.根據(jù)權(quán)利要求I所述的面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法,其特征在于,所述步驟1)中,利用開源爬蟲Netcrawler實現(xiàn)網(wǎng)絡(luò)論壇數(shù)據(jù)的采集;所述消息中間件為ActiveMQ。
3.根據(jù)權(quán)利要求I所述的面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法,其特征在于,所述步驟2)中,利用正則表達(dá)式提取網(wǎng)頁信息;所述中文分詞系統(tǒng)為基于多層隱馬爾可夫模型的漢語詞法分析系統(tǒng)ICTCLAS。
4.根據(jù)權(quán)利要求I所述的面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法,其特征在于,所述步驟2)中,利用譜聚類方法對垃圾評論進(jìn)行過濾的步驟為 1)采集文本情報語料,對文本進(jìn)行預(yù)處理,得到評論集; 2)針對得到的評論集,將每條評論利用向量空間模型來進(jìn)行特征表示,每條評論表示成空間的一個向量; 3)生成相似矩陣G; 4)構(gòu)造非正則拉普拉斯矩陣作為樣本矩陣?yán)孟嗨贫染仃嘵得出鄰接矩陣r,然后把鄰接矩陣的每一列元素加起來得到#個數(shù),把它們放在對角線上,其他地方都是零,組成一個的矩陣,記為D,令Z =D -r, Z即為樣本矩陣; 5)構(gòu)建特征向量空間求出Z的前々個特征值以及對應(yīng)的特征向量,將這々個特征向量組成一個的矩陣,即為特征向量空間,其中前A個特征值按照特征值的大小從小到大排列; 6)把這A個特征列向量排列在一起組成一個的矩陣,將其中每一行看作A維空間中的一個向量,并使用譜聚類算法進(jìn)行聚類; 7)采用歐氏距離方法,在譜聚類基礎(chǔ)上計算每個點到對應(yīng)類中心距離; 8)計算對象的離群度將上述距離的平均值萬0^和方差ΑΟ -ΑΟ )尸的比值作為離群度的基礎(chǔ)數(shù)據(jù),然后根據(jù)離群度公式Out (V =E(Xi)/E(Xi-E(Xi))2計算離群度; 9)利用離群度檢測垃圾評論把垃圾評論作為離群點,然后進(jìn)行離群點探測,只需對離群度進(jìn)行Τορ-η排序,離群度最高的對象就是離群點,也就是檢測出的垃圾評論;10)將檢測出的垃圾評論從數(shù)據(jù)庫中刪除。
5.根據(jù)權(quán)利要求I所述的面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法,其特征在于,所述步驟3)中,采用的情感語料庫為HowNet201104中的情感分析用詞集。
6.根據(jù)權(quán)利要求I所述的面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法,其特征在于,所述步驟4)中,選取的標(biāo)準(zhǔn)值為O.001 ;阻尼因子d設(shè)為0.8。
7.根據(jù)權(quán)利要求I所述的面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法,其特征在于,所述步驟5)中,利用Vizster實現(xiàn)可視化。
全文摘要
本發(fā)明公開了一種面向網(wǎng)絡(luò)論壇的意見領(lǐng)袖挖掘方法,包括意見領(lǐng)袖挖掘系統(tǒng),意見領(lǐng)袖挖掘系統(tǒng)包括計算中心和數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器與計算中心通信,該方法的具體步驟為利用爬蟲抓取論壇數(shù)據(jù),并利用消息中間件提高數(shù)據(jù)處理的實時性;提取網(wǎng)頁信息,利用中文分詞系統(tǒng)進(jìn)行分詞,并利用譜聚類方法對垃圾評論進(jìn)行過濾;利用情感語料庫進(jìn)行文本傾向性分析;設(shè)定意見領(lǐng)袖的選取標(biāo)準(zhǔn)值,確定意見領(lǐng)袖將結(jié)果可視化。本發(fā)明的方法能準(zhǔn)確地挖掘出論壇中的意見領(lǐng)袖,為相關(guān)網(wǎng)絡(luò)輿情監(jiān)管部門及時發(fā)現(xiàn)熱點問題、引導(dǎo)網(wǎng)絡(luò)輿情健康發(fā)展提供了技術(shù)支持。
文檔編號G06F17/30GK102890702SQ20121025011
公開日2013年1月23日 申請日期2012年7月19日 優(yōu)先權(quán)日2012年7月19日
發(fā)明者葛斌, 李芳芳, 湯大權(quán), 蔣林承, 唐九陽, 王楨文, 胡升澤, 戴長華 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)