?

機器學習下網絡平臺文本的中文情感分析

2023-10-31 08:29孫昊男
黃河水利職業技術學院學報 2023年4期
關鍵詞:分詞貝葉斯副詞

孫昊男

(香港應用科技研究院,中國 香港 999077)

0 引言

網絡平臺里存在著大量帶有情感態度的用戶評論及其意見文本, 這些情感的發展會影響社會和諧與穩定。因此,分析網絡平臺文本中用戶或博主的情感狀態,判斷其情感傾向與趨勢已成為研究熱點。情感分析是指對文本表達的情緒狀態進行分析, 是一種利用自然語言處理技術來識別主觀信息的任務實踐。 它結合文本挖掘、信息提取、機器學習和自然語言處理等文本處理技術來分析、 處理和總結主觀文本, 通過對網絡文本數據進行量化來識別文本數據中隱含的情感態度和觀點、探索用戶的情感傾向。筆者主要應用樸素貝葉斯分類算法, 對中文情感分析的實現方法及流程進行研究。

1 機器學習下的關鍵技術

1.1 樸素貝葉斯分類算法

樸素貝葉斯分類算法(Naive Bayes)是一種統計概率模型算法。 該算法是基于統計學的一種分類算法,利用概率統計知識進行分類,其基本思想是使用單詞和所屬類別的聯合概率估計給定評論所屬類別的概率。

假設事件A 和事件B 是獨立的,根據貝葉斯定理可以得出公式(1)。

式中:P(B|A)為在事件A 發生的情況下,事件B 發生的概率。

對于文本D,用一個n 維特征向量表示,則其聯合概率計算公式為式(2)[1]。

式中:P(Cj|D)表示D 屬于Cj的概率;P(D|Cj)表示Cj包含D 的概率。

選取P(Cj|D)的最大值,其對應的Cj即為D 的分類結果。 由于文本詞之間具有獨立性,P(Cj|D)可由式(3)~式(5)計算[2]。

式中:ti是文本D 中的單句;n 為訓練數據量;N 為訓練總量;a 為特征的出現次數;X 為固定平滑參數。

1.2 word2vec 轉換向量法

Word2vec 是在神經網絡語言模型(Neural Network Language Model,簡稱NNLM)基礎上對神經網絡結構進行的簡化,包括連續詞袋(Continue Bag Of Words,簡稱CBOW)模型和跳字(Skip-gram)模型這2 個重要模型。 它將詞用固定維數的向量表示,實現詞語相似性判斷[3]。 Word2vec 轉換向量法是一種將語句轉為向量的方法, 其中包含Skip-gram 算法和CBOW 算法。 Skip-gram 算法是通過中心詞來預測周圍的詞,而CBOW 算法則相反,它通過周圍的詞去預測中心詞[4]。在處理自然語言時,使用向量表示詞語,以向量空間表示語句,在將詞語轉化為向量之后,語句便會形成一個數字矩陣,通過這種方式將自然語言轉化為數字。

1.3 Jieba 庫分詞

Jieba 是一個用于中文分詞的第三方詞庫,包括精確模式、完整模式和搜索引擎模式3 種分詞模式,能夠對繁體中文進行分詞,并支持自定義詞典。它只需一個lcut()函數,即可掌握大部分分詞功能[5]。

1.4 主觀性文本識別

對原始材料信息進行分析和識別, 提取帶有情感色彩的主觀句子是漢語情感分析的前提。 文本中出現的情感詞是主觀文本識別的主要依據。 從目前的研究環境來看, 建立情緒詞典和進行情緒詞統計是主觀性文本識別和提取的主要方法。

情感詞典處理需要使用人工注釋或機器統計來構建一個好的情感詞典, 并將分割處理后的文本與詞典進行比對,以識別原文的主客觀性。在情感詞典實驗的基礎上, 通過HowNet 知網構建一個更具自適應性的文本處理詞典。 情緒詞統計處理是指通過機器學習方法訓練大量數據,生成可靠的數據模型,然后根據數據模型識別出需要處理的文本。

2 中文情感傾向性分析的整體流程

為實現中文文本的情感分析, 首先要對文本中各主觀句的情感傾向進行分析,進而整合出整個文本的情感傾向。在實現對主觀語句進行較為精準的分類基礎上,先對單句情感傾向進行分析,評估影響因子,把傾向值累加起來,再對文本的情感值進行整合[6]。中文情感傾向性分析整體流程如圖1 所示。

圖1 中文情感傾向性分析流程圖Fig.1 Flow chart of Chinese emotional tendency analysis

由圖1 可知, 情感傾向性分析分為抽取情感信息、檢索情感信息以及對情感信息分類3 個步驟。先將輸入文本通過Jieba 分詞工具進行分句、 分詞及詞性標注預處理,再根據主觀線索特征詞表,應用樸素貝葉斯分類器進行主觀語句的識別和提取。

假設該文本情感傾向值為0,如果是主觀句子,且其中不包含否定詞或程度副詞, 可以直接累積計算文本中每句話的情感傾向值。 如果主觀句中包含否定詞或程度副詞, 則有必要根據否定詞和程度副詞的詞表為句子分配相應的影響因子, 并使用自定義合成算法計算句子的加權情緒傾向值, 最后判斷出文本的情緒傾向。

3 基于主觀線索的主觀性文本識別

主觀線索特征本文主要采用情感詞、 指示性動詞、語氣詞、富有情感的字符、關聯詞等作為特征詞。

3.1 情感詞

情感詞對語句的情感作用極為關鍵。 本文采用HowNet 知網情感詞集,如表1 所示。

表1 情感詞分布Tab.1 Distribution of emotion words

3.2 指示性動詞

本文采用HowNet 知網指示性動詞集, 如表2所示。

表2 指示性動詞分布Tab.2 Distribution of indicative verbs

3.3 語氣詞

語氣詞主要協助輸出情感,一般呈現出來的為主觀句,如表3 所示。

表3 語氣分布Tab.3 Distribution of mood

3.4 網絡文化帶有感情色彩特征詞

具有情感特征的字符類似于程度副詞, 在句子中具有強調情感的作用。 網絡平臺的文本存在著表情符號、顏文字和表情包等新興網絡語言。這些表情符號也會對句子的分類產生一定的影響[7],如表4所示。

表4 帶有情感色彩的字符分布Tab.4 Distribution of character with emotional color

3.5 關聯詞

關聯詞是組合成復句的中間詞, 具有一定的主觀性,因此可將其劃入文本識別特征詞內,如表5 所示。

表5 常用關聯詞分布Tab.5 Distribution of common associatedd words

3.6 主觀性判別實驗及結果分析

3.6.1 實驗數據

本次主、 客觀句子分類實驗中使用的語料集均來源于在線數據抓取。 通過Python 爬蟲技術,爬取京東產品評價信息、微博娛樂數據、微博日常數據、熱點時事數據等3 萬條主觀性網絡評論, 爬取或搜集時政新聞、熱播文章、新聞文案等3 萬條客觀性文本,共計6 萬條可用數據,并手動標注,根據其主觀或客觀性質進行分類。 本次實驗分傳統樸素貝葉斯分類器實驗組、 樸素貝葉斯分類器加泛用特征詞實驗組(不含關聯詞及感情字符)、樸素貝葉斯加本文整合的主觀線索特征詞實驗組(下文統稱為“本文方法”)3 個實驗組,每個實驗組共進行6 輪實驗,實驗設置如表6 所示。

表6 訓練和測試數據分布Tab.6 Distribution of training and test data

3.6.2 實驗步驟

(1) 數據預處理。 本文采用中文分詞第三方庫Jieba 的精確模式進行分詞,再借助哈爾濱工業大學提供的停用詞表,從而準確去除停用詞,完成實驗數據的預處理工作,并賦予數據預處理代碼。

(2)分詞向量化處理。該步驟需要對處理后的數據進行向量化表示, 通過處理過程中存放的詞典對向量的長度進行初始化, 最后使用Python 中的Sklearn 庫的切分函數, 將X、Y 劃分為訓練集與測試集。以X 作為輸入項向量,以Y 作為輸出項向量。

(3)構建并訓練模型。在該實驗中,公式(1)所示的樸素貝葉斯算法概率公式可表示為式(6)。 所以,求解P(類別|特征)的問題便轉換為求解P(特征|類別)、P(類別)、P(特征)。 由于各特征間具有相互獨立性,P(特征|類別)采用式(7)計算。 式(7)中,各特征對應的P 值可采用式(8)求解。 P(類別)的計算式為式(9)。 通過全概率公式可知,本次實驗僅主觀和客觀2 種類別,所以P(特征)的計算式為式(10)。

由于不論是求主觀或是客觀的概率, 都需要除以,因此,其對2 種概率都是無變化的,這里可直接忽略再進行比較[7]。

模型訓練完后, 即可通過算法獲取各類別對應的概率向量。為了解決零概率的問題,使用拉普拉斯平滑,貝葉斯公式分子項則可表示為式(11)。

以此通過樸素貝葉斯算法計算, 得到訓練后的主客觀句的模型向量。

(4)評估模型。 利用測試集構建評估模型,進行性能測試,代碼實現如圖2 所示。

圖2 代碼評估模型測試Fig.2 Test of code evaluation model

3.6.3 實驗結果分析

實驗統計結果如表7 所示,3 組實驗結果對比分析圖如圖3 所示。

表7 實驗結果統計Tab.7 Statistics of experimental results

圖3 3 組實驗結果對比圖Fig.3 Comparison diagram of experiment results of three groups

由表7 和圖3 可知,對于同一種算法,數據量越大, 分析結果的準確率就越高; 在同等數據量條件下, 有主觀線索特征選擇過程的算法分析結果比傳統的樸素貝葉斯算法的準確率表現更為優秀, 而添加了關聯詞和具有情感特色的字符作為特征選擇的條件特征時,分析結果的準確率能夠更高。

從實驗結果可知, 在用貝葉斯算法針對某一事物進行判別時, 該事物可提供用于判斷的特征線索越多,貝葉斯分類模型的準確率就越高,即模型向量更具有代表性。 本文提出采用更貼近網絡新時代的新興特征參與算法的訓練過程, 不論是帶有感情色彩的字符還是關聯詞,應用在不同類型網絡文本中,都能影響語句的主客觀性。 為了將這些新增的主觀線索特征從句子中精確地提取出來, 還需要對停用詞表的版本做出更適配當前分類方法的改進。 本文采用統計分析的方法不僅大膽地將固有停用詞移除停用詞表,還將其作為主觀性判斷特征利用起來。這種嘗試具有一定的可行性及有效性。

4 整個文本的中文情感傾向分析

通過累加情感詞的傾向值來計算文本整體的傾向值,再根據否定詞和程度副詞傾向值進行調整,得到一個相對準確的閾值。 當主觀句的傾向性值高于閾值時,則為褒義;反之,則為貶義。當主觀句的傾向性值等于閾值時,該句判為中性[8]。

4.1 傾向值累加

通常, 文本的情感傾向與各句中情感詞的褒貶有直接聯系。 通過使用HowNet 知網情感詞集、評價詞集作為詞典對語句進行識別[9],情感詞和文本Si情感傾向的貢獻值θsi的函數關系如式(12)所示。

式中:Si為單個語句;Wsi是Si語句分詞后的所有詞的集合;ωj為集合Wsi中某一個詞。

將α(ωj)的值設定為式(13)。

計算出文本內各句的α(ωj)值。 確定Si單個語句的θsi值后,再對所有語句累加,從而確定整體的情感。

4.2 否定詞特征值

否定詞可導致語句的情感極性逆轉。 本文通過統計分析大量主觀性文本,構建了包括非、別、不、沒、無、別動、沒有、不能、不足以等1 516 個否定詞的否定詞特征詞集。

依據“雙重否定表肯定”的自然語言規則,判定情感傾向性極性。若否定詞出現奇數次,則情感傾向性的極性逆轉;若否定詞出現偶數次,極性不變。 因此, 得出否定詞與情感傾向性極性的影響因子的函數關系,如式(14)所示。

4.3 程度副詞特征值

程度副詞作為語句中的修飾詞, 能使詞語的情感傾向強度發生變化,如非常、很、特別等詞。本文采用HowNet 中的中文程度級別詞集, 構建如表8 所示的副詞表。

表8 程度副詞分布Tab.8 Distribution of adverb of degree

中文程度級別詞語表包含6 個程度等級, 對程度副詞分別賦予因子值,范圍0~4。 0~1 為減弱型,1~4 為增強型。 將程度副詞與分詞處理后的序列集進行匹配,賦予它相應的因子值,并將其與情感詞相乘,以反映程度副詞的強弱效果。程度副詞的影響因子定義為式(15)。

在特征選擇后,從句子中提取程度副詞。 然后,根據程度詞與影響因子的關系, 改進程度副詞的編碼,并通過代碼中的級別level_num 控制影響因子,在傾向值累積之前對其進行影響。

綜合傾向累加值、 程度副詞及否定詞與主觀句情感傾向值的函數關系為式(16)。

式中:β(ωj)和γ(Si)分別表示程度副詞、否定詞的影響因子值;WSi是Si語句分詞后的所有詞的集合;ωj為詞集合WSi中的某個詞;α(ωj)為情感詞置信度,褒義為1,貶義為-1,中性為0。

4.4 文本情感傾向合成算法

依據傾向值累加、否定詞及程度副詞3 種影響文本情感傾向性的因素,基于文本中各個句子的情感權重,構建合成算法,確定整個文本的情感傾向值。

4.4.1 確定文本情感傾向權重

整個文本的情感傾向值由構成文本的所有的主觀句決定。 對這些語句的情感傾向值加權累加并取平均值,即為文本的情感傾向值。 其計算公式為式(17)。

式中:V(Si)為文本中第i 個主觀句對應的情感傾向值。

由于互聯網生成的數據信息的靈活性和可變性,源文本的個人用戶在語言表達方面也存在差異。因此, 不同位置的主觀句子對整個文本的影響都必然是不相同的。如,來源于網絡的電影評論,“這部電影的女主角很丑。劇情也不優秀。但我還是喜歡男主??! ”3 句話盡管都是主觀句,前2 句有消極情緒傾向,只有最后1 句是積極的,但評論的最后1 句話情感傾向最強烈,因此給最后一句賦予最大的權重。

4.4.2 用合成算法計算情感傾向值

采用式(18)計算情感傾向值V(para)[10]。

式中:V(Si)代表各句在進行初步情感分析后所給予的情感傾向值;γ(Si)代表否定詞對語句的影響因子;α(ωj)代表程度副詞為語句帶來的影響因子。

4.5 加權傾向值計算實驗與實驗結果分析

4.5.1 實驗數據

實驗采用weibo_senti_100k 數據集, 該文件數據來源于新浪微博,搜集了12 萬條評論數據,其中正負向評論各6 萬條,且均經過標注分類。

本次實驗每個實驗組共進行6 輪, 前3 輪每輪取不同的2 000 條數據, 其中褒義文本和貶義文本各1 000 條,750 條用于構成訓練數據集,250條用于構成測試數據集; 后三輪每輪取不同的2萬條數據, 其中褒義文本和貶義文本各10 000條,7 500 條用于構成訓練數據集,2 500 條用于構成測試數據集。

4.5.2 實驗步驟與實驗評價指標

(1)實驗步驟同3.6.2。

(2)實驗評價指標。 采用式(19)計算準確率P。

4.6 實驗結果分析

4.6.1 實驗環境

本次實驗設置4 組,分別為:無權值影響的傾向值累加實驗組、 僅包含否定詞影響因子的加權實驗組、僅包含程度副詞的影響因子的加權實驗組,以及合成算法實驗組。每個實驗組共進行6 輪實驗,其中前3 輪與后3 輪數據量不同。實驗結束后,計算每一輪實驗的準確率, 并將前后3 輪準確率的平均值進行對比,結果如表9 和圖4 所示[11]。

表9 實驗統計結果Tab.9 Experiment statistical results

圖4 三組實驗對比分析圖Fig.4 Comparison analysis diagram of experiment results of three groups

4.6.2 實驗數據分析及結論

由表9 及圖4 可知,對于同1 種算法,數據量越大,計算結果的精度就越高;在數據量相同時,影響因子在衡量文本中每一句話的權重方面起著至關重要的作用。在否定詞和程度副詞的影響下,與傳統的樸素貝葉斯算法相比, 有主觀線索特征選擇過程的算法計算結果更準確。 合成算法將兩者的影響因素結合起來,精確率也得到了提高。 這說明,當給予分類模型提供更多的數據特征時, 可以更好地訓練出精度更高的模型向量。

從否定詞和程度副詞對分類準確性的個體影響來看,兩者差異不顯著。程度副詞的影響略好于否定詞, 但這并不證明程度副詞比否定詞具有更好的分類特征。

5 結語

實驗結果表明, 要準確計算出整段文本的情感傾向值,需對單個語句進行加權處理。即采取將主觀句分為總結性主觀句和一般主觀句的方式實現加權操作, 并通過自定義合成算法計算出文本的情感傾向值。通過實驗,驗證了根據不同語句在文本內的權重不同賦予相應權值的方法切實可行, 并且該方法將計算準確率維持在相對較高的水平。 本文結合語句的權重分析提出了自定義合成算法的雛形, 為后續探索基于單個語句權重的文本情感傾向分析的方法提供了參考。

猜你喜歡
分詞貝葉斯副詞
The Wheels on the Bus
副詞“好容易”及其詞匯化成因
分詞在英語教學中的妙用
結巴分詞在詞云中的應用
結巴分詞在詞云中的應用
貝葉斯公式及其應用
基于貝葉斯估計的軌道占用識別方法
一種基于貝葉斯壓縮感知的說話人識別方法
副詞和副詞詞組
IIRCT下負二項分布參數多變點的貝葉斯估計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合