如何使用KNIME進行情感分析 | 中
在現(xiàn)實世界中,知識不僅以傳統(tǒng)數(shù)據(jù)庫中的結(jié)構(gòu)化數(shù)據(jù)的形式出現(xiàn),還以諸如書籍、研究論文、新聞文章、WEB頁面及電子郵件等各種各樣的形式出現(xiàn)。面對以這些形式出現(xiàn)的、浩如煙海的信息源,人類的閱讀能力、時間精力等等往往不夠,需要借助計算機的智能處理技術(shù)來幫助人類及時、方便的獲取這些數(shù)據(jù)源中隱藏的有用信息。文本挖掘技術(shù)就在這種背景下產(chǎn)生和發(fā)展起來的。
文本挖掘的根本價值在于能把從文本中抽取出的特征詞進行量化來表示文本信息。將它們從一個無結(jié)構(gòu)的原始文本轉(zhuǎn)化為結(jié)構(gòu)化的計算機可以識別處理的信息,即對文本進行科學(xué)的抽象,建立它的數(shù)學(xué)模型,用以描述和代替文本。使計算機能夠通過對這種模型的計算和操作來實現(xiàn)對文本的識別。文本挖掘廣泛應(yīng)用于輿情監(jiān)測、有害信息過濾、電子郵件和文獻分析以及情感分析等領(lǐng)域。
今天我們來聊一聊如何用KNIME構(gòu)造一個情感分析模型,以便后期對相似的文本進行情感分析。
下圖是整個分析過程的概況:
首先,我們從IMDb網(wǎng)站上獲取關(guān)于《Girlfight》這部影片的2000條評論,儲存為.CSV格式的文件,利用File Reader這個節(jié)點把文本讀入。
現(xiàn)在我們要將文件中的字符串轉(zhuǎn)化成文檔,把文件中除了文檔的列都過濾掉。
(上圖即為Document Creation元節(jié)點里面的內(nèi)容)
接著我們對這個文檔進行文本的預(yù)處理。先后將標點清除,數(shù)字過濾掉,將小于三個詞語的文檔過濾掉,停用詞過濾,將大寫轉(zhuǎn)化為小寫,***提取詞干。
(上圖即為Preprocessing元節(jié)點里面的內(nèi)容)
之后我們就可以創(chuàng)建詞袋了,即把提取出來的詞干扔進一個袋子里,可以看到,在本例中,我們創(chuàng)造的詞袋中一共包含155437行數(shù)據(jù)。
然后把詞袋中的詞轉(zhuǎn)化為字符串,并根據(jù)原評論中詞出現(xiàn)的次數(shù)分組,可以看到,分組后我們的詞袋變成了22370行(這是因為之前的詞是有重復(fù)的)。
之后我們過濾掉出現(xiàn)次數(shù)小于N的詞,(注意這個N是由從原文件中提取出的行數(shù)經(jīng)過一段語法計算決定的,在本例中,是用行數(shù)除以100)。
接著,我們以上一步過濾掉的詞為參考,在最初創(chuàng)建的詞袋中過濾掉它們,過濾后我們可用的詞是100728行數(shù)據(jù),***計算這些詞的詞頻。
終于我們完成了文本的預(yù)處理過程。
現(xiàn)在,我們要為原始的評論創(chuàng)建向量,來觀察詞袋中的詞是否存在于原文本中。之后提取原評論的情感標簽,并以顏色分類。
接著我們把2000條評論分成兩個部分,本例中將70%用作訓(xùn)練集,來構(gòu)建決策樹模型,另外的30%用來測試決策樹模型。
這就是決策樹模型,根據(jù)一個詞是否存在將文本集分為兩個部分。
直到所有記錄都屬于同一類決策樹就會停止。
***我們用兩種方法來對模型進行評價。
一種是ROC曲線,曲線下方面積達到0.9397,如此可見,模型還是很不錯的。
再來看一下矩陣,準確率高達93.167%。
如此看來,我們的模型可以用來進行類似的文本情感分析。比如說網(wǎng)購的商品評論,企業(yè)官微下的評論等類似的情況,都可以用來進行情感分析。
點擊查看: