張永成 王懷彬



摘要:文本情感分析又被稱之為意見挖掘,其基本原理是利用自然語言處理方法、文本挖掘方法以及計算機語言學方法等,對需要挖掘的主觀信息進行識別和提取。通過開展Python自然語言處理方法在文本情感分析中的應用研究,從基于Python自然語言處理的文本預處理、文本情感特征降維、文本情感分類,提出一種全新的文本情感分析方法。通過實驗證明,該方法與傳統文本情感分析方法相比可有效降低對文本的判錯率,保證最終情感分析的準確性,以期為Python自然語言處理方法的廣泛應用提供新的路徑。
關鍵詞:深度學習;自然語言處理;情感分析;Python
中圖分類號:TP181? ? 文獻標識碼:A
文章編號:1009-3044(2020)36-0087-02
文本情感分析是對帶有情感色彩的主觀性文本進行分析、處理、推理等操作。文本情感分析自提出以來,受到了極大的關注,雖然在提出之前,該領域研究人員便已對情感分析進行了深入的 研究,但由于當時互聯網并未得到廣泛的應用,因此可以進行分析的數據量較少,所以當時情感分析并未得到大規模的研究。大數據時代的到來,使得網絡環境中的信息量不斷增加,如何更加便捷地從海量的文本當中挖掘出更加有意義的信息,是當前情感分析領域中最受關注的研究話題。Python自然語言處理方法與其他情感分析技術相比,具有易學、易讀和易維護的優勢,針對海量的文本信息進行分析可以在保證傳統編譯語言的強大性以及通用性的基礎上,借鑒更加簡單的腳本與解釋語言的易用性[1]。除此之外,Python自然語言處理方法還具有網絡爬蟲功能以及強大的數據分析功能,將大多數編程語言融為一體。雖然其算法的本質仍然是采用傳統神經網絡或機器學習,但從應用角度可以看出,其在實際應用中操作更加簡單,并且更加容易產生結果。綜合上述分析,本文基于Python自然語言處理,提出一種全新的文本情感分析方法。
1 基于Python自然語言處理的文本情感分析方法
1.1 基于Python自然語言處理的文本預處理
在對海量文本信息進行情感分析時,第一步要對文本進行預處理,基本操作步驟是對文本信息當中所有包含詞匯進行劃分,并在劃分階段采用Python自然語言處理方法實現。Python自然語言處理可實現對文本分詞、句法分析、語義分析以及篇章分析等功能,與字符相比,詞是最小可以進行獨立活動,并且含有一定意義的文本組成成分。因此,本文在對文本進行預處理時,采用將文本信息劃分為多個詞的形式,針對文本信息中的分詞預處理可分為人工分詞和機械分詞兩種,但由于傳統人工分詞會出現效率低、速度慢的問題[2]。因此,本文采用機械分詞方法,結合計算機技術實現對文本的自動分詞。利用Python自然語言處理中的字符串匹配分詞,將文本中一串完整的字符串最長詞條包含字符數量為x個,將其進行正向最大匹配,并進行分詞預處理,按照從左到右的順序提出x個字符,并將這x個字符看作是一個字符串,與對應的文本進行比較。若該字符串當中所有字符均與相應的文本匹配,則說明通過將文本詞條分離處理后的詞條為分詞結果[3]。再從詞條的第x個字符之后的一個字符開始,按照從左至右的順序,再次尋找x個字符,并將尋找到的字符組成一個詞條,再重新進行上述匹配操作。若匹配未成功,則將這一組x個字符組成詞條,并將最后一個字符去掉。再從詞條的第x個字符前一個字符開始,重復上述操作進行匹配,直到完成對文本中所有詞差分為止[4]。針對存在兩個或多個詞條的互現文本,對其詞條的共同出現概率可用公式(1)表示:
公式(1)中,L(M1,M2)表示為文本當中詞語M1和詞語M2出現相鄰情況時的概率;L(M1)表示為詞M1在語料庫當中出現的次數;L(M2)表示為詞M2在語料庫當中出現的次數。根據公式(1)計算得出的結果可以充分將兩個或多個詞條之間的緊密程度反映。當得出的計算結果越高,說明該字符串能夠構成一組完成詞語的概率越大。
1.2 文本情感特征降維
利用Python自然語言處理完成對文本的預處理后,還需要對文本中的情感特征進行降維,通常情況下,對文本進行詞條分類時,需要將每個詞條看作是一個維度,因此對于篇幅較長、詞條較多的文本,經過處理后會形成一個維度較高的特征空間[5]。通過文本情感特征降維可以有效提高分類算法的效率并將受到外界環境噪聲的影響降到最低,使最終的分類準確度更高。根據卡方統計量計算公式,按照統計量衡量詞條與情感標簽之間存在的關聯度,得出其公式如下:
公式(2)中,[χ2]表示統計量;[ai]表示為衡量詞條;[Dj]表示為情感分類標簽;[N]表示為訓練文本當中共包含的文本量;[S]表示為包含在情感分類標簽[Dj]并同時文本中也有詞條[ai]的文檔數量;[T]表示為不包含在情感分類標簽[Dj]但文本中有詞條[ai]的文檔數量;[U]表示為包含在情感分類標簽[Dj]但文本中沒有詞條[ai]的文檔數量;V表示為不包含在情感分類標簽[Dj]并且文本中也沒有詞條[ai]的文檔數量。假設在計算過程中詞條[ai]與情感分類標簽[Dj]二者均滿足有一階自由度的[χ2]分布,則通過公式(2)得出的結果數值大,則表示詞條與情感分類標簽之間的關聯程度大,其中攜帶的信息量也較多。反之,說明該詞條與該類的關聯程度小,所攜帶的該類別的信息量少。
1.3 文本情感分類
在本文提出的基于Python自然語言處理的文本情感分析方法中,文本情感分類是影響最終分析結果的主要因素,本文采用最簡單、最基本的K近鄰分類算法作為本文分析方法中的文本情感分類算法[6]。結合概率統計算法,對文本進行情感分類,利用得出的結果對各個待分析的本文所屬情感類別可能性進行預測。最終根據計算結果得出數值最大的情感類別作為最終結果。假設,給定一個已經完成降維處理后的文本測試數據集。定義一種距離的度量方式,并在訓練過程中查找出距離最近的K個訓練樣本。則在這K個訓練樣本當中,某一類的訓練樣本最多,根據概率統計將輸入的訓練樣本歸為一個情感分類標簽[7]。具體計算過程為:第一步,輸入訓練文文本測試數據集:Q={(a1,d1),(a2,d2),…,(an,dn)},其中a∈A表示為輸入訓練文本中的特征向量,d∈D表示為所屬情感類別。第二步,輸出與訓練文本a相對應的情感類別d。第三步,根據分類前事先給定的計算距離數值,在文本測試數據集當中找出與設定距離最近的K個點,將覆蓋所有點的區間定義為a的領域。第四步,在a的領域當中根據投票規則,按照少數服從多數,判斷a所述的情感類別。第五步,由輸入的訓練文本的K個鄰近訓練文本中的大多數決定所述的情感標簽,實現文本情感分類。
2 實驗論證分析
選取某部電影的評論詞條組成一個完整的文本,將該文本作為實驗對象,實驗對象中字符為2434個,需要進行分析的字符為1200個。分別利用傳統文本情感分析方法與本文提出的基于Python自然語言處理的文本情感分析方法對該文本進行情感分析。針對電影文本當中主體的特殊性以及機器分析的機械性,為保證實驗結果的有效性,利用兩種方法分析時,將文本中“一個”這樣類似的無效詞匯自動屏蔽。將兩種分析方法得到的結果進行記錄,并繪制成如表1所示的實驗結果對比表。
由表1可以看出,本文方法與傳統方法在對含有1200個字符的文本進行情感分析時,隨著字符數的增加,兩種方法判錯率均隨著字符數的增加而表現出降低的趨勢。但從整體來看,本文在對1200個字符的文本進行情感分析時判錯字符量明顯少于傳統方法,并且在對600個字符進行分析后,基本可以實現準確的判斷與分析。因此,通過實驗證明,本文提出的基于Python自然語言處理的文本情感分析方法判錯率更低,對文本情感分析準確,并且隨著文本中的字符數增加,分析更準確。
3 結束語
本文結合Python自然語言處理方法,提出了一種全新的文本情感分析方法,在實際應用中可以在一定程度上,有效降低在文本分詞過程中信息的缺失程度,提高最終分析結果的準確性。但本文采用了K近鄰分類算法在實際應用中會受到K值選擇、文本長度等因素的影響,仍然存在分析受到影響的情況。利用機器處理實現對文本情感分析仍然是從數學統計的角度融合自然語言處理,而情感是一個十分復雜的研究課題。因此,在后續的研究中還將針對機器對人類情感深入、細膩的把握與分析進行更加深入的研究,并采取更加精確的分類算法,實現對文本的無判錯情感分析。
參考文獻:
[1] 陳珂,梁斌,左敬龍,等.一種用于中文微博情感分析的多粒度門控卷積神經網絡[J].鄭州大學學報(理學版),2020,52(3):21-26,33.
[2] 徐紅霞,于倩倩,錢力. 基于主題模型和情感分析的話題交互數據觀點對抗性分析[J]. 數據分析與知識發現,2020,42(7):110-117.
[3] 楊秀璋,武帥,夏換,等.基于主題挖掘和情感分析的 “新冠肺炎疫情” 輿情分析研究[J].計算機時代,2020(8):31-36.
[4] 成永坤,朱菊芳,牟向前. 滑雪游客的產品認知、情感表達及滿意度——基于網絡評價文本分析[J].體育成人教育學刊,2020,36(4):15-21.
[5] 楊莉,王敏,程宇.基于LDA和XGBoost模型的環境公共服務微博情感分析[J].南京郵電大學學報(社會科學版),2019,21(6):23-39.
[6] 李佳晶,尹華光. 基于網絡文本分析的張家界市旅游酒店游客生態文化感知研究[J].旅游縱覽(下半月),2019,31(12):62-64,67.
[7] 劉惠,趙海清.基于TF-IDF和LDA主題模型的電影短評文本情感分析 ——以《少年的你》為例[J].現代電影技術,2020(3):42-46.
【通聯編輯:梁書】