王穎潔,朱久祺,汪祖民,白鳳波,弓 箭
(1.大連大學(xué)信息工程學(xué)院,遼寧大連 116622;2.中國政法大學(xué)證據(jù)科學(xué)研究院,北京 100088;3.中科金審(北京)科技有限公司自然語言處理部,北京 100088)
隨著計算機技術(shù)的發(fā)展,互聯(lián)網(wǎng)的人數(shù)高速增長,截至2021 年1 月,互聯(lián)網(wǎng)用戶數(shù)量為46.6 億,而社交媒體用戶數(shù)量為42 億。全球有52.2 億人使用手機,相當(dāng)于世界總?cè)丝诘?6.6%。自2020 年1 月以來,手機用戶數(shù)量增長了1.8%(9 300 萬),而移動連接總數(shù)(一人擁有多部設(shè)備)增長了1.9%(7 200 萬),截止2021 年1 月達到80.2 億。90%的互聯(lián)網(wǎng)用戶通過智能手機上網(wǎng),但2/3 的人同時表示,他們使用筆記本電腦或臺式電腦上網(wǎng)。由此,互聯(lián)網(wǎng)每天都會產(chǎn)出難以想象的數(shù)據(jù)量。據(jù)Facebook 統(tǒng)計,F(xiàn)acebook 每天產(chǎn)生4 PB 的數(shù)據(jù),包含100 億條消息,以及3.5 億張照片和1 億小時的視頻瀏覽??梢娫谶@樣數(shù)據(jù)量的背景下,給了人工智能高速發(fā)展的機會,而人工智能的發(fā)展也會深深改變?nèi)藗兊纳罘绞健?/p>
自然語言處理(Natural Language Processing,NLP)是人工智能領(lǐng)域的一個重要方向,是一門研究如何讓計算機聽懂人類語言的學(xué)科。隨著使用網(wǎng)絡(luò)的人數(shù)增加,越來越多的網(wǎng)民可以在微博等平臺上發(fā)表自己的觀點,傳播自己的想法和意見。因此在各大平臺分析用戶的語言中的情感色彩和具有傾向性的言論:對商家和企業(yè)而言,知道客戶的喜好情感,有助于商家推出新的產(chǎn)品,改進自身的服務(wù);在情感宣泄方面,如果能夠從文字中知道用戶的喜怒哀樂,那么計算機也可以充當(dāng)一個情緒陪伴者和宣泄的窗口,或許能給心理疾病患者提供幫助。
因此在現(xiàn)階段,通過自然語言處理,得到情感分析的結(jié)果是有重大意義的。
情感分析前的第一步,需要對文本進行預(yù)處理,一個好的文本處理可以事半功倍。
分詞是自然語言處理的第一步,也是比較重要的一步,NLP 常用的分詞算法可以分為三類:1)基于詞典的分詞,基于字典、詞庫匹配的分詞方法;2)基于統(tǒng)計的分詞,基于詞頻度統(tǒng)計的分詞方法;3)基于規(guī)則的分詞,基于知識理解的分詞方法。
jieba 中文分詞工具是一款廣泛使用、分詞效果較好的分詞器,在jieba 分詞中有三種分詞模式:1)精確模式,試圖將句子最精確地切分開,適合文本分析;2)全模式,把句子中所有可以成詞的詞都掃描出來,速度非???,但是不能解決歧義問題;3)搜索引擎模式,在精確模式的基礎(chǔ)上,對長詞再次進行切分,以提高召回率,適合搜索引擎分詞。分詞時,在面對一些專有名詞的時候,分詞效果不太理想,此時可以引入用戶的自定義詞典,人工劃分出詞語,字典一般為txt 格式,導(dǎo)入較為簡單。實際應(yīng)用中,很多語氣助詞或者人稱代詞都不是需要關(guān)心的,在最終的結(jié)果中希望能夠?qū)⑵溥^濾掉,這時就需要建立停用詞詞典,可以從網(wǎng)絡(luò)上下載停用詞詞典,也可以自己定義,在分詞時,會把停用詞字典中的詞過濾掉,改善分詞的效果。除此之外,在不同的領(lǐng)域會有不同的詞典,有依據(jù)術(shù)語學(xué)理論制定的術(shù)語詞典、態(tài)度詞典、擴展情感詞典、基于超短評論的圖書領(lǐng)域情感詞典,等。
命名實體識別是一種信息抽取技術(shù),用來解決互聯(lián)網(wǎng)如今有大量信息資源的同時也造成信息過載的問題。第六屆MUC 會議(the sixth Message Understanding Conferences,MUC-6 第一次提出命名實體識別,在自然語言處理中已經(jīng)被廣泛使用,信息抽取就是從非結(jié)構(gòu)化的文本中(如新聞)抽取結(jié)構(gòu)化的數(shù)據(jù)和特定的關(guān)系。識別文本中的人名、地名、時間等實體的名稱,就叫作命名實體識別。最初MUC-6 定義的識別的名詞是人名、地名、機構(gòu)名,隨著使用的普及,對于不同的領(lǐng)域,劃分的名詞有了更詳細(xì)的劃分,在劃分地名領(lǐng)域里加入了國家名、街道名等;在劃分社交媒體領(lǐng)域里加入了電影名、郵箱名等。
命名實體識別的方法分為三類:
1)基于詞典和規(guī)則的方法,這是提出命名實體概念后,最早提出的方法。這個方法需要構(gòu)造大量的詞典和規(guī)則集,多采用語言學(xué)家的規(guī)則模板,選取標(biāo)點符號、關(guān)鍵字、中心詞、指示詞等特征,以模式和字符串匹配為手段,將識別對象放入對應(yīng)的字典中進行匹配,需要經(jīng)過多次修正和匹配,這種方法非常依賴規(guī)則和具體語言,領(lǐng)域和風(fēng)格難以覆蓋所有情況,導(dǎo)致只適合小規(guī)模的數(shù)據(jù),而且系統(tǒng)移植性不強,遇到新的問題就需要構(gòu)造新的詞典,設(shè)定新的規(guī)則,系統(tǒng)建設(shè)周期長,代價高昂。隨著機器學(xué)習(xí)的出現(xiàn)和發(fā)展,進行命名實體識別的任務(wù)也考慮使用機器學(xué)習(xí)的方法。
2)基于機器學(xué)習(xí)的方法,將命名體識別看作一個序列標(biāo)注問題。常使用的序列標(biāo)注模型有:隱馬爾可夫模型(Hidden Markov Model,HMM)、最大熵馬爾可夫模型(Maximum Entropy Markov Model,MEMM)、條件隨機場(Conditional Random Field,CRF)、支持向量機(Support Vector Machines,SVM)等。馮靜等基于HMM 的橋梁檢測文本的命名實體識別,以HMM 結(jié)合橋梁檢測領(lǐng)域的詞匯規(guī)則,在標(biāo)注實驗中取得了較好的效果;邵詩韻等基于CRF的電力工程標(biāo)書文本實體識別方法,結(jié)合電力領(lǐng)域的規(guī)則,解決在工程中地名等實體的識別效果并不理想的問題;扈應(yīng)等提出了一種結(jié)合CRF 的邊界組合命名實體識別方法,能夠有效地識別生物醫(yī)學(xué)文獻中的嵌套和不連續(xù)性實體。
3)基于深度學(xué)習(xí)的方法,是在神經(jīng)網(wǎng)絡(luò)逐漸發(fā)展成熟后提出的,詞向量的出現(xiàn),可以解決高維空間的數(shù)據(jù)稀疏問題,也可以加入更多的特征。馮艷紅等提出一種基于雙向長短期記憶(Bi-directional Long Short-Term Memory,BiLSTM)神經(jīng)網(wǎng)絡(luò)的命名實體識別方法,準(zhǔn)確率比起傳統(tǒng)方法有所提升。此外,最近也出現(xiàn)很多利用BERT(Bidirectional Encoder Representations from Transformers)、長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)、Transformer 等預(yù)訓(xùn)練模型,結(jié)合自注意力機制、遷移學(xué)習(xí)等來提高命名實體識別準(zhǔn)確率的方法。羅熹等在采用BiLSTM-CRF 模型的基礎(chǔ)上,引入自注意力機制提升了中文臨床命名實體的識別能力;鄭洪浩等改進了Transformer 的編碼器,命名為Transformer-P,結(jié)合BERT 的升級模型XLNET(transformer-XL fixed length context NET)模型和CRF 提出了XLNET-Transformer-P-CRF(XLNET Transformer Position CRF),模型改進了Transformer模型不能獲得相對位置信息的缺點;董哲等提出了一種基于BERT 和對抗訓(xùn)練的命名實體識別方法,在食品領(lǐng)域準(zhǔn)確度有所提升;王子牛等提出了基于BERT 和BERTBiLSTM 的BERT-BiLSTM-CRF 命名實體識別方法,并和CRF、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、LSTM 等方法作了對比,得到了更高的準(zhǔn)確率。
也有很多公司已經(jīng)開發(fā)了以Python 語言為基礎(chǔ)的語義處理庫,例如Aipnlp、BosonNLP。Aipnlp 是百度云自然語言處理的軟件開發(fā)工具包(Software Development Kit,SDK),調(diào)用這個庫可以獲得百度云的相關(guān)服務(wù),用來對文本進行詞性標(biāo)注統(tǒng)計和情感分析;BosonNLP 對文本進行語義聚類,同時也提供了情感分析、分詞、詞性標(biāo)注、提取關(guān)鍵詞、語義聯(lián)想等功能,其中的情感分析接口,用微博、新聞、汽車、餐飲等不同行業(yè)語料進行標(biāo)注和機器學(xué)習(xí),調(diào)用時請通過URL 參數(shù)選擇特定的模型,以獲得最佳的情感判斷準(zhǔn)確率,把情緒分為正面和負(fù)面兩類。使用開源的應(yīng)用程序編程接口(Application Programming Interface,API)也可以幫助開發(fā)者提高開發(fā)的效率。
基于情感詞典的情感分析法利用情感詞典獲取文檔中情感詞的情感值,再通過加權(quán)計算來確定文檔的整體情感傾向。這個方法可以對詞語進行情感界定,易于分析和讀者理解,如果這個詞典內(nèi)容足夠豐富,就可以獲得較好的情感分析效果;同時,情感詞典不止可以考慮到文本內(nèi)容,包括顏文字、文字表情等都可以進行情感分析,在性能上有較好的結(jié)果。
情感詞典的一般執(zhí)行過程如圖1 所示。首先是將文本輸入,通過對數(shù)據(jù)的預(yù)處理(包含去噪、去除無效字符等),接著進行分詞操作,然后將情感詞典中不同類型和程度的詞語放入模型中進行訓(xùn)練,最后根據(jù)情感判斷輸出情感類型。
圖1 基于情感詞典的情感分析法一般流程Fig.1 General flow of sentiment analysis based on sentiment dictionary
英文的情感詞典起步較早,相對來說也比較成熟。Cynthia對早期的英文情感詞典進行了完善,增加其對自然語言樣本的適用性。國外最早出現(xiàn)的英文情感詞典是SentiWordNet,除此之外常用的有General Inquirer、Opinion Lexicon 和 MPQA(Question and Answer from Multiple Perspectives)等;中文情感詞典應(yīng)用比較廣泛的有知網(wǎng)詞典HowNet 和大連理工大學(xué)的中文情感詞匯本體庫等。
為了解決在日常表達中中英文混合的情況,栗雨晴等構(gòu)建雙語多類情感詞典,提出基于雙語詞典的情感分析方法和基于K
近鄰分類算法對微博的文字分析,在多類情感分析和分類結(jié)果上都取得了不錯的效果。微博的數(shù)據(jù)量對情感分析來說是巨大的資源,面對微博大量的數(shù)據(jù),趙妍妍等基于文本統(tǒng)計算法,用微博大量的數(shù)據(jù)構(gòu)建了一個10 萬詞語的超大情感詞典,性能超過其他中文詞典,在針對微博的情感分類中,效果有了很大提升。萬巖等提出在情感詞典基礎(chǔ)上,加入表情符號、網(wǎng)絡(luò)用語等得到一個多類情感詞典,利用微博的數(shù)據(jù)建立新的情感分析模型,有效提升了細(xì)粒度情感分類的準(zhǔn)確率。邱全磊等在情感詞典里加入了顏文字和語氣詞,然后提出了一種新的計算情感值的方法,這個方法在計算時考慮了顏文字標(biāo)簽和語氣對情感的影響。高華玲等在通用詞典的基礎(chǔ)上,針對用戶評論的情感分析,加入短語詞典、否定詞詞典和副詞詞典等特殊詞典。Asghar 等整合了表情符號、修飾語和領(lǐng)域特定術(shù)語來分析在線社區(qū)發(fā)布的評論,克服了以往方法的局限性,和基準(zhǔn)方法相比,在考慮表情符號、修飾詞、否定詞和領(lǐng)域特定術(shù)語后,情感分析性能得到了提高。Cai 等提出在面對不同的領(lǐng)域時使用不同的情感詞典,將這個領(lǐng)域獨有的一些新詞或?qū)I(yè)詞包含在詞典中,將SVM 和梯度下降樹(Gradient Boosting Decision Tree,GBDT)結(jié)合在一起,可以獲得更好的性能。吳杰勝提出了可以同時使用多部情感詞典,因此專門開發(fā)了六部情感詞典并結(jié)合語義規(guī)則,提高了中文微博情感分析的準(zhǔn)確性。如今的大部分情感詞典都是中文或者英文的,小眾語言的詞典非常少,文獻[23]提出了用數(shù)據(jù)挖掘的方法搭建了一部韓語情感詞典DecoSelex。Thien 等提出一種適用于越南語的情感詞典,涵蓋了超10 萬個越南語的情感詞匯。Wu等利用網(wǎng)絡(luò)資源建立了一部俚語詞典SlangSD,來衡量用戶的情緒。
新詞語的出現(xiàn)速度是很快的,相同的詞也可能會被賦予新的含義,為了將這些新詞擴充到情感詞典中,季鵬飛等提出了基于共現(xiàn)概率訓(xùn)練的情感詞典擴充方法,先文本預(yù)處理,使用共現(xiàn)概率以及新詞情感概率判斷新詞的情感傾向,最后把新詞加入詞典。李永帥提出了基于BiLSTM 的動態(tài)情感詞典構(gòu)建方法,改進CBOW(Continuous Bag of Words)模型為ECBOW(Emotional CBOW)模型實現(xiàn)一個動態(tài)情感詞典。Zhang 等基于已構(gòu)建好的程度副詞詞典、網(wǎng)絡(luò)詞詞典、否定詞詞典等相關(guān)詞典,用微博文本進行訓(xùn)練,得到更新后的情感值。鄭賽乾基于Word2vec 的情感詞典構(gòu)建子系統(tǒng),通過提取用戶聊天中的有效信息,幫助用戶構(gòu)建自己的情感詞典,提取情感更加準(zhǔn)確。Bravo-Marques 等提出了一種從時變分布詞向量中訓(xùn)練增量詞的情感分類器,自動地從Twitter 流中提取不斷更新的情感詞匯,得到基于增量詞向量的時變情感詞典。
但是基于情感詞典的方法過度依賴于情感詞典的創(chuàng)建,始終有作為字典的局限,并且對于成語、歇后語等的識別效果并不理想;在今天這樣的信息時代,每天都會有新的詞產(chǎn)生,有舊的詞淘汰,現(xiàn)實中做不到每天都對詞典進行更新;同時,這個方法也沒有考慮詞語之間的關(guān)系,沒有聯(lián)系上下文,導(dǎo)致詞語的情感值不會根據(jù)文章或語句作動態(tài)的變化;情感詞典的移植性也較差,一個詞在不同時間、不同的語言、不同的文化中,所蘊含的意思并不相同,所以有更多的研究者開始著手基于機器學(xué)習(xí)的研究。
機器學(xué)習(xí)算法(Machine Learning algorithm,ML)是一類算法的總稱,可以看成機器學(xué)習(xí)就是尋找一個函數(shù),輸入海量的數(shù)據(jù),輸出是的結(jié)果,可以是分類、預(yù)測等,并追求把這個函數(shù)運用到新的樣本數(shù)據(jù)上,也能得到想要的結(jié)果?;跈C器學(xué)習(xí)的情感分析法,就是構(gòu)造一個模型(這個模型就是一個函數(shù)的集合,只是太過復(fù)雜),輸入大量有標(biāo)簽或者沒有標(biāo)簽的語言信息,使用機器學(xué)習(xí)的算法,提取特征,找出代價函數(shù)最小的結(jié)果作為輸出。比起使用情感詞典的方法,機器學(xué)習(xí)不依賴人工搭建,節(jié)省了大量人力,通過數(shù)據(jù)庫,可以及時對詞庫進行更新。
在機器學(xué)習(xí)中,K
最鄰近(K
-Nearest Neighbor,K
NN)算法、樸素貝葉斯(Naive Bayesian,NB)和SVM 是常用的學(xué)習(xí)算法。在ML 中,SVM 和NB 對于文本數(shù)據(jù)的分類效果較好。機器學(xué)習(xí)中大部分的情感分類方法都離不開SVM 和NB。SVM 是一種二分類模型,SVM 的學(xué)習(xí)策略就是間隔最大化,它的基本模型是定義在特征空間上的間隔最大的線性分類器,這是它和感知機的區(qū)別,而為了解決非線性的分類問題,SVM使用核函數(shù)解決了SVM無法處理非線性可分的問題。
SVM 學(xué)習(xí)的基本想法是求解能夠正確劃分訓(xùn)練數(shù)據(jù)集并且?guī)缀伍g隔最大的分離超平面,如圖2 所示,w
*x
+b
=0 即為分離超平面,對于線性可分的數(shù)據(jù)集來說,這樣的超平面有無窮多個(即感知機),但是幾何間隔最大的分離超平面卻是唯一的。對于基于SVM的分類學(xué)習(xí)而言,問題已經(jīng)從找到一個最好的劃分超平面轉(zhuǎn)換為了找到樣本空間里的最大化間隔。圖2 支持向量機Fig.2 Support vector machine
對于輸入空間中的非線性分類問題如圖3 所示,無論怎樣一個線性超平面都無法很好地將樣本點分類,所以在此引入核函數(shù),核函數(shù)的主要作用是將樣本從原始空間映射到一個更高維的特征空間,使得樣本在這個特征空間內(nèi)線性可分。具體的數(shù)學(xué)推導(dǎo)這里不做贅述,可以參考文獻[31]或者其他相關(guān)書籍。
圖3 非線性可分Fig.3 Non-linear separable
貝葉斯分類是一類分類算法的總稱,這類算法均以貝葉斯定理為基礎(chǔ),故統(tǒng)稱為貝葉斯分類。核心公式如式(1)所示:
K
NN 和決策樹(Decision Tree)作了比較;李靜梅等在特征獨立性假設(shè)的基礎(chǔ)上,加入期望值最大算法,擴展了NB 分類器的應(yīng)用,提高了NB 分類器的分類精度。彭子豪等提出了一種基于TFIDFCF(Term Frequency Inverse Document Frequency Category Frequency)特征加權(quán)的并行化NB 文本分類算法,提高了訓(xùn)練速度和精度。K
-Means 算法來判斷文本是否消極,首先對影評進行預(yù)處理,然后使用FV-SA-SVM 把文本劃分為積極或者消極,分類的準(zhǔn)確率達到94.7%。Hasan 等利用Twitter 的數(shù)據(jù),結(jié)合SVM 和樸素貝葉斯構(gòu)建了一個情感分析器,并和僅適用SVM 或者NB 的情感分析器作了比較。Baid 等對比了伯努利樸素貝葉斯(Bernoull NB,BNB)、決策樹、SVM、最大熵(Maximum Entropy,ME),以及多項式樸素貝葉斯(Multinomial NB,MNB)在情感分類中的效果,MNB 得到了最好的88.5%。Ahmad 等結(jié)合SVM 提出了優(yōu)化的情感分析框架OSAF(Optimized Sentiment Analysis Framework),該框架使用了SVM 網(wǎng)格搜索技術(shù)和交叉驗證。Mathapati 等提出一種基于表情符號的情緒分析法,討論了符號表情在情緒分析中的作用。Birjali 等提出了一種基于WordNet 語言學(xué)英語詞典訓(xùn)練集的語義分析計算算法,使用機器學(xué)習(xí)算法SVM 和NB相結(jié)合自動檢測強關(guān)聯(lián)消極推文。基于機器學(xué)習(xí)的情感分類法比起構(gòu)建情感詞典有一定的進步,但是還是需要人工對文本特征進行標(biāo)記,人為的主觀因素會影響的最后的結(jié)果;其次,機器學(xué)習(xí)需要依賴大量的數(shù)據(jù),很容易產(chǎn)生無效的工作,執(zhí)行的速度會很慢,如果模型的效率不高,難以適應(yīng)如今信息量爆炸的時代,這類方法在進行情感分析時常常不能充分利用上下文文本的語境信息,對準(zhǔn)確性會造成影響。
基于機器學(xué)習(xí)的情感分析方法在Twitter 數(shù)據(jù)集上獲得的性能對比如表1 所示。
表1 基于機器學(xué)習(xí)的情感分析的實驗結(jié)果 單位:%Tab 1 Experimental results of sentiment analysis based on machine learning unit:%
因此,為了解決以上的這些問題,開始基于深度學(xué)習(xí)研究新的方法,并取得了很多成果。
深度學(xué)習(xí)其實是機器學(xué)習(xí)的一個子集,是多層神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)中的應(yīng)用,覆蓋了多個領(lǐng)域,涉及到較多知識,解決了以往的機器學(xué)習(xí)難以解決的大量問題,在圖像、語音處理和情感分析領(lǐng)域取得了較好的效果,所以被人單獨拿出來作為一門學(xué)科。目前深度學(xué)習(xí)模型包括CNN、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)、LSTM、Transformer、BiLSTM、門控循環(huán)單元(Gate Recurrent Unit,GRU)和注意力機制等。
神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)是輸入層、隱藏層、輸出層,如圖4所示,輸入層的每個神經(jīng)元都可以作為一個對象的特征,隱藏層可以有一層或者多層,它就像一個黑盒子,不直接接收外界信號,也不向外界發(fā)送信號,它把輸入轉(zhuǎn)化為輸出層可以使用的東西,輸出層把隱藏層的結(jié)果轉(zhuǎn)化為需要的結(jié)果。
圖4 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Neural network structure
情感分析大部分都是建立在CNN、RNN、LSTM 等基本神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上的,在這里先做一個簡單介紹。
CNN 如圖5 所示,與普通神經(jīng)網(wǎng)絡(luò)相似,它們都由具有可學(xué)習(xí)的權(quán)重和偏置常量的神經(jīng)元組成。每個神經(jīng)元都接收一些輸入,并做一些點積計算,輸出是每個分類的分?jǐn)?shù),普通神經(jīng)網(wǎng)絡(luò)里的一些計算技巧到這里依舊適用。CNN 的基本結(jié)構(gòu)為卷積層、池化層、全連接層。
圖5 CNN結(jié)構(gòu)Fig.5 CNN structure
CNN的輸出都是只考慮前一個輸入的影響而不考慮其他時刻輸入的影響,前后的信息是不相關(guān)的,在一些需要之前信息作為參考的場景,效果不佳,所以又提出了RNN 模型,如圖6所示,上一時刻的S
作為S
的輸入,保留了之前的信息。圖6 RNN結(jié)構(gòu)Fig.6 RNN structure
在有些情況下,為了解決RNN 可能會出現(xiàn)的梯度消失或者梯度爆炸問題,又提出了LSTM 模型如圖7 所示。和RNN 相比,LSTM 只是運算的邏輯變了,也就是神經(jīng)元的內(nèi)部運算公式變了,但是結(jié)構(gòu)并沒有變,因此RNN 的各種結(jié)構(gòu)都能通過LSTM 來替換。
圖7 LSTM結(jié)構(gòu)Fig.7 LSTM structure
分詞、停用詞、情感詞典作為情感分析最基本的方法,如果能夠在特定的領(lǐng)域構(gòu)造一個專用的詞典,假如這個詞典的足夠龐大,那么也可以得到較好的情感分析結(jié)果,出于這個想法,以深度學(xué)習(xí)為基礎(chǔ)構(gòu)造詞典的想法就產(chǎn)生了。胡家珩等為解決訓(xùn)練神經(jīng)網(wǎng)絡(luò)分類器中訓(xùn)練語料不足和詞向量的語義相關(guān)性無法區(qū)分情感信息的問題,利用詞向量方法將文本信息映射到向量空間,借助已有的通用情感詞典,自動標(biāo)引訓(xùn)練語料,按照9∶1 的比例構(gòu)建訓(xùn)練集和預(yù)測集,構(gòu)建深度神經(jīng)網(wǎng)絡(luò)分類器,判斷情感極性后,構(gòu)建情感詞典;趙天銳等提出了Word2vec 和深度學(xué)習(xí)相結(jié)合的針對韓語的情感詞典構(gòu)建方法,這個方法先將已有的韓語情感詞典合并,之后構(gòu)建詞向量模型,將詞向量輸入神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,構(gòu)建情感分類器,利用神經(jīng)網(wǎng)絡(luò)對影評中單獨出現(xiàn)的詞匯進行情感傾向判別,最后整理得到所需的情感詞典。
在深度學(xué)習(xí)中,CNN 取得了較好的效果,但是CNN 沒有考慮到文本的潛在主題,Dwivedi 等提出一種基于受限玻爾茲曼機(Restricted Bolzmann Machine,RBM)的規(guī)則模型,用于分析句子的情感分析。曹宇等提出一種基于BGRU(Bidirectional Gated Recurrent Unit)的中文文本情感分析方法,首先將文本轉(zhuǎn)換為詞向量序列,然后利用BGRU 獲得文本的上下文情感特征,最后由分類器給出文本的情感傾向,F(xiàn)1 值達到了90.61%,在準(zhǔn)確率和訓(xùn)練速度上都大于CNN 方法。RNN 結(jié)構(gòu)中,輸出不止取決于當(dāng)前輸入,之前的輸入也會考慮到,就實現(xiàn)了聯(lián)系上下文的效果。Can 等提出了一種基于RNN 框架的受限數(shù)據(jù)框架,使用最大數(shù)據(jù)集的語言來構(gòu)建單個模型,并將其重用于資源有限的語言,對小語種的情感分析有更好的效果。潘紅麗基于RNN,結(jié)合LSTM網(wǎng)絡(luò),對于英文文本中的情感信息,準(zhǔn)確率達到94.5%。LSTM 是RNN 的一種特殊結(jié)構(gòu),為了提高訓(xùn)練速度,減少計算成本和時間,Wang 等提出了一個基于注意力的LSTM 面向方面層次情感的記憶網(wǎng)絡(luò)分類,在LSTM 的基礎(chǔ)上進行感情分類;Gopalakrishnan 等提出了6種不同參數(shù)的精簡LSTM,使用Twitter 數(shù)據(jù)集,比較了這幾種LSTM 的性能區(qū)別,為LSTM 建立最佳的參數(shù)集合;Chen 等基于推特和微博的數(shù)據(jù)提出了一種新的情感分析方案,關(guān)注表情對于情感的影響,通過參加這些雙義表情訓(xùn)練一個情感分類器,嵌入基于注意力的長短時記憶網(wǎng)絡(luò),對情感分析有較好的指導(dǎo)作用。
在以上單一神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,引入注意力機制,注意力模型最初被用于機器翻譯,現(xiàn)在已成為神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的重要組成部分,并在自然語言處理領(lǐng)域有著大量的應(yīng)用。注意力模型借鑒了人類的注意力機制,能從眾多信息中選擇出對當(dāng)前任務(wù)目標(biāo)更關(guān)鍵的信息,在情緒分析中可以更加關(guān)注代表情緒的詞匯。Wei 等提出BiLSTM 網(wǎng)絡(luò)與多極化正交注意力機制相結(jié)合,用于隱式情感分析。Yadav 等提出雙向注意力機制和GRU 相結(jié)合進行情緒預(yù)測,在restaurant 16 數(shù)據(jù)集中取得了89.3%的準(zhǔn)確率。Baziotis 等基于LSTM,從Twitter 上下載數(shù)據(jù),引入注意力機制,放大最重要的詞語的貢獻來得到更好的效果。Liu 等提出了一種新的基于內(nèi)容注意的基于方面的情感分類模型,該模型具有兩種注意增強機制:句子層面的內(nèi)容注意機制能夠從全局的角度捕捉特定方面的重要信息,而語境注意機制則負(fù)責(zé)同時考慮詞語的順序及其相關(guān)性。Chen 等采用多注意機制捕獲遠距離分離的情感特征,對不相關(guān)信息具有更強的魯棒性,通過對記憶的多重關(guān)注來提取重要信息,并結(jié)合不同關(guān)注點的特征來預(yù)測最終情感。Liang 等針對目前研究中注意機制更多地與RNN 或LSTM 網(wǎng)絡(luò)相結(jié)合,這種基于神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)通常依賴于復(fù)雜的結(jié)構(gòu),不能對句子中的單詞進行平行化的問題,提出了一種多注意神經(jīng)網(wǎng)絡(luò)MATT-LSTM(Multi ATTention LSTM)進行基于方面的情感分類。該方法無需使用任何外部解析結(jié)果,即可通過多注意機制捕獲更深層次的情感信息,明確區(qū)分不同方面的情感極性并和ATT-LSTM(ATTention LSTM)網(wǎng)絡(luò)作了比較。Sangeetha 等提出采用多層注意力機制并行處理句子輸入序列,并使用不同的剪枝比例來提高準(zhǔn)確率,隨后把多層的信息融合并把結(jié)果作為輸入饋送到LSTM 層,多層融合的LSTM 比一般的自然語言處理方法的結(jié)果更好。
除了對單一神經(jīng)網(wǎng)絡(luò)和加入自注意力機制的研究外,有不少學(xué)者在考慮了不同神經(jīng)網(wǎng)絡(luò)的優(yōu)點后將這些結(jié)合起來,取長補短,并用于情感分析。Basiri 等提出一種基于注意力的雙向CNN-RNN 深度模型(Attention based Bidirectional CNN-RNN Deep Model,ABCDM)。ABCDM 利用兩個獨立的雙向LSTM 和GRU 層,通過考慮兩個方向上的時間信息流來提取過去和未來上下文;同時,在ABCDM 雙向?qū)拥妮敵鲋袘?yīng)用注意機制,對不同的詞語進行或多或少的強調(diào)。Rehman等提出了一種利用LSTM 和深度CNN 模型的混合模型,首先使用Word2vec 方法訓(xùn)練初始詞嵌入,然后將卷積提取的特征集與具有長期依賴性的全局最大池層相結(jié)合;該模型還采用了dropout 技術(shù)、歸一化和校正線性單元來提高精度。杜永萍等提出一種基于CNN-LSTM 模型的短文本情感分類方法,利用CNN,引入LSTM,并和用3D 卷積代替2D 卷積的E-LSTM(Embedding LSTM)方法作了比較,在此基礎(chǔ)上再引 出BiE-LSTM(Bi-directional Embedding LSTM)。Minaee等提出了基于CNN 和BiLSTM 模型的情感分析方法,一個用于捕獲數(shù)據(jù)的時間信息,另一個用于提取數(shù)據(jù)的局部結(jié)構(gòu),效果要優(yōu)于單純使用CNN-LSTM 模型;Li 等提出了一種基于認(rèn)知腦邊緣系統(tǒng)(Hierarchal Attention BiLSTM based on Cognitive Brain,ALCB)的層次注意BiLSTM 模型,結(jié)合隨機森林算法的多模態(tài)情感分析方法。黃山成等提出一種基于EBA(ERNIE2.0-BiLSTM-Attention)的隱式情感分析方法,能夠較好捕捉隱式情感句的語義及上下文信息,有效提升隱式情感的識別能力,最后在SMP2019 公開數(shù)據(jù)集上取得較好分類效果,分類模型準(zhǔn)確率達到82.3%。徐超等提出了一種基于MAML(Model Agnostic Meta Learning)與BiLSTM的情感分類方法,使用梯度下降更新參數(shù),相較于現(xiàn)在流行的模型,在情感數(shù)據(jù)集上,準(zhǔn)確率、召回率和F1 值分別提升了1.68 百分點、2.86 百分點和2.27 百分點。程艷等提出一種基于注意力機制的多通道CNN 和雙向門控循環(huán)單元,這個方法解決了傳統(tǒng)RNN 模型存在的梯度消失或梯度爆炸問題,而且還能很好地彌補CNN 不能有效提取上下文語義信息的問題,引入注意力機制,更好地提取句子的局部特征。李衛(wèi)疆等提出了一種基于多通道雙向長短期記憶網(wǎng)絡(luò)的情感分析模型(Multi-BiLSTM),取得了比普通BiLSTM 更好的效果,并和SATT-BiLSTM(Self Attention BiLSTM)作了比較。Wang 等提出維度情感分析,該模型由區(qū)域CNN 和LSTM 兩部分組成,是一種樹狀結(jié)構(gòu)的區(qū)域CNN-LSTM 模型,并和T-LSTM(Tree LSTM)模型作了比較。
預(yù)訓(xùn)練模型是指用數(shù)據(jù)集已經(jīng)訓(xùn)練好的模型,研究者希望花了很多時間訓(xùn)練的模型可以保留下來,在遇到類似情況的時候,可以調(diào)整參數(shù)后直接使用,就節(jié)約了再訓(xùn)練的時間,也能得到較好的結(jié)果。最新的預(yù)訓(xùn)練模型有:ELMo(Embeddings from Language Models)、BERT(Bidirectional Encoder Representation from Transformers)、XLNET、ALBERT(A Lite BERT)、Transformer 等。
趙亞歐等提出基于ELMo 和Transformer 的混合模型,并引入LSTM 和多頭注意力機制用于情感分類,解決了雙向語義和一詞多義的問題,在NLPCC2014 Task2 數(shù)據(jù)集上分類正確率提高了3.52 個百分點。李錚等針對Word2vec、Glove(Global vector)、CNN 等方法無法關(guān)注上下文,提取特征不充分的缺陷,引入自注意力機制,提出了雙向自注意力網(wǎng)絡(luò)Bi-SAN(Bidirectional Self-Attention Network)的情感分析模型,在NLPCC2014 task2 中文數(shù)據(jù)集取得了更高的F1 值,并和多尺度卷積神經(jīng)網(wǎng)絡(luò)(Multi-Scale CNN,MSCNN)作了比較,取得了較好的效果,又在此基礎(chǔ)上提出了EBi-SAN(ELMo Bi-SAN)。胡任遠等提出一種多層協(xié)同卷積神經(jīng)網(wǎng)絡(luò)模型MCNN(Multi-level CNN),并和BERT 模型結(jié)合,提出BERT-MCNN(BERT Multi-level CNN)模型,并作了和Word2vec-MCNN,Glove-MCNN,ELMO-MCNN 三個模型的對比實驗,基于BERT 的表面情感分類的能力有明顯提升。Devlin 等提出基于BERT 的新方法,評分提高到80.5%(提高7.7 個百分點)。Xu 等把ELMo 和BERT 結(jié)合起來提出了 DomBERT(Domain oriented language model based on BERT)模型,在基于方面的情感分析中,顯示了良好的效果并和BERT+Linear(BERT-Linear model)、BERT-DK(BERT on Domains Knowledge)模型作了性能比較。Sun 等提出基于方面的情感分析,對BERT 的預(yù)訓(xùn)練模型進行了微調(diào),并在SentiHood 和SemEval-2014 Task 4 數(shù)據(jù)集上獲得了更好的結(jié)果。Yin 等提出了SentiBERT(Sentiment-BERT),是BERT的一個變種,與基線方法相比,SentiBERT 方法在捕獲否定關(guān)系和對比關(guān)系以及構(gòu)建組合模型方面更有優(yōu)勢。
預(yù)訓(xùn)練模型作為一種遷移學(xué)習(xí)的應(yīng)用,它可以將從開放領(lǐng)域?qū)W到的知識遷移到下游任務(wù),以改善低資源任務(wù),對低資源語言處理也非常有利,在幾乎所有NLP 任務(wù)中都取得了目前最佳的成果。同時預(yù)訓(xùn)練模型+微調(diào)機制具備很好的可擴展性,出現(xiàn)一個新任務(wù)時,不需要重復(fù)使用大量的時間和數(shù)據(jù)訓(xùn)練一個新的模型,只需要根據(jù)需求調(diào)整參數(shù)即可。
基于深度學(xué)習(xí)的情感分析方法在不同數(shù)據(jù)集上的性能表現(xiàn)如表2 所示。
表2 基于深度學(xué)習(xí)的情感分析實驗結(jié)果 單位:%Tab 2 Experimental results of sentiment analysis based on deep learning unit:%
近幾年提出的方法不再僅僅使用單一的神經(jīng)網(wǎng)絡(luò),大多基于預(yù)訓(xùn)練模型、注意力機制等多種方法相結(jié)合,相互取長補短,通過對預(yù)訓(xùn)練模型進行微調(diào)來取得更好的效果。
情感詞典的方法易于理解,使用大量的數(shù)據(jù),也可以獲得很好的效果,但是始終有一個詞典的“邊界”,移植性、及時性不強,且會耗費大量的人力物力。機器學(xué)習(xí)的方法不依賴人工搭建,節(jié)省了人力,可以使用數(shù)據(jù)庫及時更新詞匯,但是機器學(xué)習(xí)依賴人工序列標(biāo)注,不能充分利用上下文的語境,影響準(zhǔn)確性。深度學(xué)習(xí)能夠充分利用上下文的信息,保留語句的前后順序,來實現(xiàn)情感分類和一詞多義,使用多層神經(jīng)網(wǎng)絡(luò),提取數(shù)據(jù)特征,學(xué)習(xí)性能更好,通過使用預(yù)訓(xùn)練模型,節(jié)省了之后的開發(fā)時間,降低了使用難度,在最近的NLP 領(lǐng)域中效用很好;但是需要大量的數(shù)據(jù)支撐,算法訓(xùn)練時間很長,且深度越深,時間越長,開發(fā)難度較大。
隨著大數(shù)據(jù)和人工智能領(lǐng)域的發(fā)展,各種新興媒體的出現(xiàn),有了大量的數(shù)據(jù)可以支持深度學(xué)習(xí)使用,同時也會有越來越多的新詞出現(xiàn),能準(zhǔn)確判斷不同語境下的詞語含義對于分析和決策有至關(guān)重要的作用。
在NLP 情感分析的研究中未來會面對的重點問題如下:在語境中,目前還沒有找到較好的方法處理反語;大部分的分類仍使用的二分類情感分析,對于多分類的情感分析還沒有好的效果;多模態(tài)融合語料的情感分類也是近年的熱點,不同模態(tài)中情感信息的權(quán)重如何分配,考慮外部語義信息對情感分類的準(zhǔn)確性是否有幫助,也需要研究。