白曉雷,霍瑞雪
(國家計算機(jī)網(wǎng)絡(luò)與信息安全管理中心河北分中心,河北 石家莊 050000)
近年來,隨著自媒體的迅速發(fā)展,微博等自媒體平臺每日產(chǎn)生了大量網(wǎng)民發(fā)布的信息及其評論,對其進(jìn)行情感分析具有極高的價值。目前,反諷識別的研究還主要集中在英文短文本方面,而中文的反諷識別研究仍處于探索階段,且目前常見的微博文本情感分析主要用于區(qū)分積極、中性以及消極等,對于反諷這一特殊修辭手法的研究相對較少,而實際上反諷語句在全部微博文本中已經(jīng)占有一定的比例。因此,本文基于微博數(shù)據(jù)對中文反諷識別進(jìn)行研究。
國外Burfot 等研究人員主要通過使用詞袋法來進(jìn)行反諷識別。Konstantin 等研究人員[1]在各種分類模型下結(jié)合各種反諷特征進(jìn)行研究,實驗結(jié)果表明人工選取的特征在提高準(zhǔn)確率的同時降低了召回率,加入詞袋模型問題得到解決。國內(nèi)山西大學(xué)盧欣等研究人員[2]基于深度學(xué)習(xí)的方法對中文反諷識別進(jìn)行了研究。
通過對微博常見反諷語言進(jìn)行匯總和分析,本文提煉了微博反諷語言的主要特征。
(1)固定搭配,如“很好……又”,例子“很好,又拒絕了一個”。
(2)特定副詞,如“真有你們的”,例子“想了半天,都懶得罵了,只能說真行,真有你們的,不愧是你們”。
(3)特定的語氣詞,如“呵呵”等,例子“雪梨直播間賣的衛(wèi)衣是假貨,還刪評論,呵呵,網(wǎng)銷第一是這樣來的”。
(4)網(wǎng)絡(luò)梗。微博的用戶以年輕人為主,含有大量年輕人熟知的網(wǎng)絡(luò)梗,如“他一直是可以的”等。
本文使用的模型主要思路如下:
(1)采集到包含一定數(shù)量反諷語句的數(shù)據(jù)集并對其進(jìn)行標(biāo)注,反諷為1,非反諷為0;
(2)人工選取反諷語句中常見的特征,并對這些特征進(jìn)行卡方計算,選擇分值較高的特征作為模型使用的語言反諷特征;
(3)將數(shù)據(jù)集中的語句使用詞嵌入向量技術(shù)進(jìn)行向量表示,生成詞袋模型;
(4)將反諷特征使用嵌入向量技術(shù)進(jìn)行向量表示,并與上一步的詞袋模型相結(jié)合作為訓(xùn)練集,分別使用支持向量機(jī)、樸素貝葉斯、隨機(jī)森林進(jìn)行訓(xùn)練(即融合語言特征的反諷文本識別模型)得出結(jié)果并進(jìn)行對比。
目前,公開的達(dá)到一定數(shù)量的微博反諷數(shù)據(jù)集幾乎不存在。因此,本文前期爬取了6 萬余條微博的數(shù)據(jù),包括評論內(nèi)容、用戶名、發(fā)表時間以及點贊數(shù)等相關(guān)信息。為了保證數(shù)據(jù)集中反諷文本所占的比例,本文以“NBA 復(fù)播”“春晚微吐槽”等話題和“好就好在”“把我牛逼壞了”等關(guān)鍵詞作為重點爬取了涉及到的全部數(shù)據(jù),部分結(jié)果如圖1 所示。經(jīng)過數(shù)據(jù)清洗后共40 000 余條,之后人工對其進(jìn)行標(biāo)注。標(biāo)注方法僅區(qū)分反諷與非反諷(反諷標(biāo)1,非反諷標(biāo)0),不區(qū)分積極、中性以及消極等情感。標(biāo)注完成后,統(tǒng)計其中有2 000 余條非重復(fù)的反諷語句。本文從反諷語句與非反諷語句中各抽取2 000條共4 000 條作為數(shù)據(jù)集。
在文本分類中,特征的提取是核心內(nèi)容。特征選擇的質(zhì)量直接影響分類性能,因此本文選擇使用卡方檢驗[3]的方式進(jìn)行特征選擇??ǚ綑z驗是通過對特征進(jìn)行打分后排序,最后選擇排名靠前的特征來表示文本。
圖1 爬取數(shù)據(jù)部分結(jié)果
卡方檢驗公式:
針對反諷數(shù)據(jù)集進(jìn)行深入分析,人工提取了若干個特征,再通過計算這些特征卡方值得到的TOP5 如表1 所示。
表1 特征卡方統(tǒng)計值
詞嵌入向量是指把一個詞映射到成一個實值向量空間的過程。由于計算機(jī)無法直接對文本進(jìn)行訓(xùn)練,因此需要將文本轉(zhuǎn)化為詞向量。目前,常用的詞向量訓(xùn)練模型主要有CBOW 模型與skip-gram 模型。本文選擇skip-gram 模型用于訓(xùn)練詞向量。
skip-gram 即根據(jù)文本中心詞預(yù)測前后m個詞的概率,通過在一定規(guī)模的語料庫中訓(xùn)練,得到一個從輸入層到隱藏層的權(quán)重模型。該模型的目標(biāo)是最大化文檔的后驗概率:
分類器分別采用支持向量機(jī)(Support Vector Machine,SVM)、樸素貝葉斯(Naive Bayesian,NB)和隨機(jī)森林(Random Forest,RF)。
3.4.1 支持向量機(jī)(SVM)
支持向量機(jī)(SVM)是一種有監(jiān)督分類算法,分為線性可分與線性不可分,在分類問題中應(yīng)用效果較好。
SVM 可以將數(shù)據(jù)從低維空間通過映射轉(zhuǎn)變到高緯度空間中,選擇核函數(shù)(核函數(shù)一定得滿足Mercer 條件)進(jìn)行求解,如:
式中,K(xi,xj)表示核函數(shù),最終分類函數(shù)為:
3.4.2 樸素貝葉斯(NB)
樸素貝葉斯算法的基本思想:對于需要分類的文本,求解在此文本出現(xiàn)的條件下各個類別出現(xiàn)的概率,最大概率的類別即為分類結(jié)果?;静襟E[4]如下:
(1)假設(shè)樣本空間N={N1,…,Nd}共包含d個需要進(jìn)行分類的樣本,經(jīng)過特征選擇得到X={X1,…,Xk}共k個相互獨立的屬性集C={C1,…,Cm};
(2)根據(jù)貝葉斯公式:
3.4.3 隨機(jī)森林(RF)
隨機(jī)森林由很多無關(guān)聯(lián)的決策樹構(gòu)成,相較于單棵決策樹避免了過擬合問題,經(jīng)常被用來處理分類與回歸問題。在處理分類問題時,森林中的每棵決策樹分別對新樣本進(jìn)行類別判斷,被更多決策樹選擇的類別作為隨機(jī)森林的最終分類結(jié)果。
隨機(jī)森林算法步驟[5]如下。
(1)隨機(jī)選取n個文本,θw為這些文本組成的詞變量的集合。
(2)使用這n個文本構(gòu)造決策樹,h(χ,θw)為決策樹,χ為預(yù)測樣本。
(3)重復(fù)步驟(1)和步驟(2)構(gòu)造m棵決策樹:
(4)每個決策樹分別對新樣本進(jìn)行類別判斷,被更多決策樹選擇的類別作為最終結(jié)果。
隨機(jī)森林的邊際函數(shù)為:
融合反諷特征前后的詞袋模型訓(xùn)練結(jié)果對比如表2 所示,反映了融合微博反諷特征的詞袋模型相較于未融合微博反諷特征的詞袋模型,反諷識別準(zhǔn)確率和召回率均得到了一定改善。
表2 融合反諷特征前后訓(xùn)練結(jié)果對比
本文主要研究了融合微博語言特征的詞袋中文反諷識別模型,使用支持向量機(jī)(SVM)、樸素貝葉斯(NB)和隨機(jī)森林(RF)等分類器進(jìn)行訓(xùn)練,整體比單獨使用詞袋模型進(jìn)行反諷識別的準(zhǔn)確率有了顯著提升。為進(jìn)一步提高反諷識別準(zhǔn)確率,在后續(xù)工作中考慮進(jìn)一步擴(kuò)充反諷訓(xùn)練集,并使用融合語言特征的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最終形成一定數(shù)量的反諷語料庫。