用KNIME進行情感分析 | 上
這個案例展示了如何利用KNIME對社交媒體數(shù)據(jù)進行情感分析。
案例中的數(shù)據(jù)抓取的是Slashdot網(wǎng)站首頁內(nèi)容,由FundaciónBarcelona Media4提供。Slashdot是1997年成立一家非常受歡迎的科技新聞?wù)?。Slashdot網(wǎng)站首頁的主要內(nèi)容就是網(wǎng)友發(fā)布的新聞以及網(wǎng)友在評論區(qū)展開的討論。案例使用的數(shù)據(jù)共包含約41337條評論,這些評論主要是11000多名Slashdot用戶對163篇政治報道的討論。
研究思路
我們的研究目的是區(qū)分不同用戶的情感取向。我們將通過對用戶撰寫的評論和文章的詞語進行分析、做出用戶情感取向判斷。也就是說,我們通過測量用戶(非匿名)撰寫的評論和文章時使用的正面的情感、態(tài)度、觀點詞匯的數(shù)量以及負面情感、態(tài)度和觀點詞匯的數(shù)量,來判定該用戶情感取向。用戶使用正面詞匯越多,其情感取向偏向正面,反之亦然。
此處涉及到標(biāo)記詞匯極性的問題,在這里我們使用MPQA主觀詞庫來標(biāo)記詞匯的極性。MPQA是一個公開的詞庫,其中包含了關(guān)于詞匯極性的數(shù)據(jù)。
研究流程
首先讀取從Slashot上獲取的數(shù)據(jù),選取報道主題為“interviews”的評論,刪除匿名文章和匿名評論。然后將剩下的非匿名評論轉(zhuǎn)化為文檔方便之后的分析。與此同時,另外一邊首先讀取MPQA主觀詞匯,提取出詞匯和極性,并且拆分為正面詞匯和負面詞庫方便之后的標(biāo)記。***,DictionaryTagger節(jié)點將每個情感標(biāo)記到評論中每個詞語上。
現(xiàn)在所有評論中的詞匯都被標(biāo)記成了正面或負面,我們就可以開始計算工作。我們要計算每個評論中的正面或負面詞匯數(shù)量和每個用戶共使用的正面或負面詞匯數(shù)量。通過user id我們可以整合每個用戶不同評論中的正面詞匯和負面詞匯。在流程圖中對應(yīng)的是Documentscoring和User scoring。***,我們?yōu)椴煌楦腥∠虻挠脩魳?biāo)注顏色,整理數(shù)據(jù)并制成散點圖。
結(jié)果展示
下圖是用戶使用詞匯的散點圖,縱坐標(biāo)是正面詞匯,橫坐標(biāo)是負面詞匯。綠色的用戶情感取向正面;灰色代表用戶情感取向既不是正面,也不是負面;紅色代表情感取向負面。
左上角紅箭頭指的用戶是Duc Ruby,他是情感取向最正面的用戶,也是經(jīng)常在Slashdot上發(fā)表評論的用戶。他使用的正面詞匯數(shù)量是51,負面詞匯數(shù)量是10,我們用正面詞匯數(shù)量減去負面詞匯數(shù)量得出其情感指數(shù)是40,即情感取向最正面的用戶。
右下角紅箭頭指的用戶是whytakemine,他是情感取向最負面的用戶,也是經(jīng)常在Slashdot上發(fā)表評論的用戶。他使用的正面詞匯數(shù)量是16,負面詞匯數(shù)量是25,我們用正面詞匯數(shù)量減去負面詞匯數(shù)量得出其情感指數(shù)是-9,即情感取向最負面的用戶。
左下角圓圈部分代表了大部分中立用戶,他們在Slashdot上發(fā)表的評論很少,這也是無法判斷其情感取向的可能原因。
總體而言,本次案例介紹的是如何利用社交媒體UGC內(nèi)容對用戶進行情感分析。其實,情感分析只是對用戶進行了歸類,它主要還是用于后續(xù)的其他研究,如結(jié)合社會網(wǎng)絡(luò),對其中的Leader和Follower做進一步分析。
點擊查看:
用KNIME進行情感分析 | 中