前言
情感分析是文本分類的一個分支,是對帶有情感色彩(褒義貶義/正向負向)的主觀性文本進行分析,以確定該文本或者用戶的觀點、喜好、情感傾向。醫療領域同樣存在情感分析的應用場景,但與一般的領域不同,醫療領域的難點在于:
醫療實體既能作為aspect,又能作為情感詞。對于一般aspect,如藥品,行為等,比較接近以往研究;但是對于疾病,癥狀這樣的aspect,情況復雜。如:“感冒吃白加黑管用 ”,對于這里“感冒”來講,只是普通上下文。但是對于“感冒一周了,誰說能自己好的?”,“感冒”是aspect且情感是負向,同時,句子里也出現了“好”這一常見的情感詞。兩者的混雜,使得情感分析相當依賴上下文和領域特點。
大部分疾病實體詞在公開情感詞典中都是負向的,如:感冒,發燒,疼痛等。并且丁香園場景下的很多評論的情感傾向不是單純的正負中,會出現更多樣的情感(如:質疑,吐槽,建議),這是一般的情感詞典里是無法處理的。所以領域情感詞典的構建也是情感分析中關鍵一步。
存在多種情感,標注或遠監督過程會存在噪音。
本文將從可解釋性,上下文(aspect與sentiment的潛在關系),如何處理噪聲數據以及構建領域詞典四個角度,引出相應研究。
一。 可解釋性
《Contextual Sentiment Neural Network for Document Sentiment Analysis》
深度神經網絡已成為眾多nlp任務的首選模型。然而,在需要解釋的情況下,通常避免使用dnn,因為這些網絡通常是黑匣子。因此,建立一個高度可預測的神經網絡(NN)模型,并用類似人的方式來解釋其預測過程是一個關鍵問題。那么在情感分析任務上,應該考慮人類通常是如何判斷每次評論的正負極性的。論文主要考慮了4個方面:
詞級原始情感得分:表示評論中每個詞最初的情感,如good是正,bad是負。
詞級情緒轉移分數:該分數表示評論中每個術語的情緒是否發生了變化,如存在否定詞,諷刺,幽默。
詞級語境情緒得分:該得分是指在考慮情緒轉移和全局重要點后,每個詞的積極或消極情緒得分。
概念級上下文情緒得分:該分數表示每個評論的概念級積極或消極情緒,其中一個概念意味著一組相似的術語。
結構簡單來說就是four interpretable layers+IP Learning:其中WOSL采用詞典特征,SSL采用否定詞典,GIL采用revised self-attention,CCSL采用kmeans。
通常情況下,情緒分析模型是使用反向傳播,預測的文檔級情緒與每個評論的正面或負面標簽之間的損失值具有梯度值;但是,當使用這種通用反向傳播方法時,每一層并不代表相應的情緒。因此文本提出了IP傳播方法。
二。 上下文(aspect與sentiment的潛在關系)
《Weakly-Supervised Aspect-Based Sentiment Analysis via Joint Aspect-Sentiment Topic Embedding》
aspect級別情感分析的難點在于:第一,aspect真正的上下文;第二,同一句中每個aspect能夠捕捉到自己的sentiment。
本文提出了一種基于topic model的弱監督方法,使用幾個關鍵字來描述每個Aspect-Sentiment,無需使用任何帶標簽的樣本。先在word embedding空間中學習Aspect-Sentiment聯合主題嵌入,通過正則化來強化主題的顯著性。學習了聯合主題向量之后,利用文檔embedding和主題embedding之間的余弦相似性對CNN進行預訓練,
然后利用self-train CNN對未標記文檔進行高置信度預測。
文中提出了幾個關鍵的 joint representation learning,其中包括aspect---上下文, aspect---全文,aspect,sentiment單獨representation learning,aspect—sentiment 聯合學習。通過邊緣分布和聯合分布之間的關系,將聯合主題嵌入的學習與單獨的方面/情感主題聯系起來。由于對于一般的sentiment,如good或bad,并不是aspect強相關的,使用均勻分布來調整它們在不相關維度上所有aspect的分布。
其次本文采用了self-train的思想,利用模型對未標記的高置信樣本預測來完善模型。通過平方運算增強高置信度預測,根據當前模型的預測計算每個未標記文檔的目標分數。當目標分數更新后沒有更多的樣本更改標簽分配時(收斂),self-train過程終止。
從實驗結果可以看出,模型對不同category詞的聚類效果明顯,可解釋性強,因此用于下游分類任務時,表現較好。
《Context-aware Embedding for Targeted Aspect-based Sentiment Analysis》
現有的基于注意力機制的神經網絡模型雖然取得了較好的效果,但是由于這些方法中表示target和aspect的向量都是隨機初始化的,這樣就會產生以下問題:
現有的方法在表示目標(target)和方面(aspect)時往往會脫離上下文。這種隨機初始化或不依賴于上下文的表示方法有三個弊端:1)同一個目標或方面的向量表示在表達不同情感極性的句子中沒有得到區分;2)目標不是確定實體時(例如“這個酒店”,“這個餐館”,“那部電影”等),輸入信息無法體現實體本身的價值;3)忽略了目標和方面之間的相互聯系。
目標和方面在上下文中存在重疊的關聯映射關系。在一句話中,一個目標可能會對應多個方面,而不同的方面可能會包含不同的情感極性。另一方面,在同一句話中往往會存在多個目標,所以目標和方面之間會存在錯綜復雜的對應關系。如圖:
為解決上述問題,本文提出了一種結合上下文信息優化sentiment和aspect向量表示方法,該方法可以直接和現有基于神經網絡的目標-方面級別情感分析模型相結合,如圖所示:
(1)稀疏系數向量:
本文使用一個稀疏系數向量來提取文本中與sentiment相關度較高的詞語,并使用這些詞語作為sentiment的上下文信息。通過對sentiment上下文詞向量的聚合獲得最終表示。通過這種方法,sentiment向量可以從上下文中自動學習,所以就算句子中的目標不是確定的實體,也能得到有價值的向量表示。得到每個詞在句子中的權重表示,用階躍函數將權重表示稀疏化,由此得到的就是稀疏系數矩陣,用輸入X與稀疏系數矩陣相乘即可得到根據上下文構建的sentiment向量。
目標函數為最小化上下文相關sentiment向量與輸入的sentiment向量距離:
(2)微調aspect向量:
對于aspect向量,由于詞本身就包含一定的語義信息,比如“價格”這個方面,而上下文信息與這個方面關聯度比較高的詞也會起很大作用,所以在對于方面信息的微調,是在初始的aspect向量上,利用上下文語義信息進行調整:
目標函數同理:
通過兩個目標函數,使優化后的aspect向量盡可能靠近與它相關聯的目標,遠離與它無關的目標,從而使輸入句子針對不同方面的情感信息得到有效區分。從圖中結果可以看出,本文提出的方法能使不同方面在訓練過程中得到更好的區分,有效提升了aspect向量表示的質量。
從實驗結果可以看出,對于“惡心”“頭疼”這種情感傾向極其依賴上下文,并且上下文語義結構復雜的情況,模型能很好地區分不同語境下同一aspect的情感,也能判斷出此時的aspect是否是情感詞。
《SentiLARE: Sentiment-Aware Language Representation Learning with Linguistic Knowledge》
相較于上述方法,本文用到了transformer,讓模型獲得更多上下文語義信息,除此之外,還有兩處亮點:
(1)從SentiWordNet獲取每個詞及其詞性標簽的情感極性,作為“Linguistic Knowledge”。
(2)將預訓練模型分2個階段:Early Fusion早期融合和Late Supervision后期監督。
主要區別是早期融合階段是把句子情感也作為輸入,后期監督是把句子情感作為預測標簽,監督訓練句子情感。早期融合和后期監督的目的是讓模型能夠理解句子級情感和單詞級情感和詞性之間的內在聯系。1)獲取每個單詞的詞性tag和情感傾向;2)通過標簽感知的mask語言模型進行預訓練, 與現有的BERT-style預訓練模型相比,模型通過其語言知識(包括詞性tag和情感傾向)豐富了輸入序列,并利用標簽感知的masked語言模型來捕獲sentence-level語言表示與word-level語言知識之間的關系。
提出了一種上下文感知注意力機制,該機制同時考慮了詞義等級, 以及上下文光連貫性來確定每種詞義的注意力權重
Early Fusion
早期融合的目的在于恢復以語句級label為條件的mask序列,模型分別預測masking位置處的單詞,詞性tag和word-level傾向。此子任務明確地對單詞和單詞的語言知識施加了全局情感label的影響,從而增強了復雜語義關系的能力。
Late Supervision
基于[CLS]和masked位置的隱藏狀態來預測sentence-level的label和單詞信息。此子任務使我們的模型能夠捕獲[CLS]處的句子級表示形式與Masked位置處的單word-level語言知識之間的隱式關系。
由于模型用到了pos embedding,因此在aspect的識別上效果明顯,另外,可以通過相鄰的情感詞來檢測aspect術語。另外上下文感知情感注意力機制。對不同上下文中單詞的情感進行建模,從而帶來更好的知識增強的語言表示。
多情感詞的句子可能包含更復雜的情感表達,為了進一步證明標簽感知的masked語言模型的重要性,論文比較了三種模型:不使用語言知識的RoBERTa,通過語言知識簡單地增加輸入嵌入的SentiLARE-EF-LS和通過預訓練任務深度集成語言知識的SentiLARE。結果表明預訓練任務可以幫助將word-level語言知識所反映的局部情感信息集成到全局語言表示中,并有助于理解復雜的情感表達。
三。 標簽中的噪音
《Learning with Noisy Labels for Sentence-level Sentiment Classification》
前言處我們提到句子級別的情感分析面臨的一個問題,即存在多種情感時,標注過程會存在噪音。除了標注過程外,前面提到的Self-train 最大的問題也在于偽標簽帶來的噪音。針對標簽中的大量噪音,本文提出了NETAB模型。
NETAB由兩個卷積神經網絡(cnn)組成,一個用于學習情緒得分以預測clean標簽,另一個用于學習噪聲轉換矩陣以處理輸入噪聲標簽。AB網絡共享A網絡的所有參數,除了門單元的參數和clean loss。
假設:訓練數據中的噪音不超過50%
(1)DNN首先記憶簡單的實例,并隨著訓練時間的增加逐漸適應硬實例;
(2)噪聲標簽理論上是通過噪聲轉移矩陣從干凈/真實標簽中transition。在訓練中,先對A網絡進行早期預訓練,然后交替訓練AB網絡和A網絡,使其具有各自的loss func。
在訓練過程中,對A網絡進行了early epoch的預訓練,然后利用各自的交叉熵損失對兩個網絡進行AB網絡和A網絡交替訓練。即給出一批句子,我們首先訓練AB網絡,然后利用A網絡預測出的分數,從這一批中選出一些可能干凈的句子,并對所選句子進行訓練。具體地說,使用argmax計算標簽,然后選擇其結果等于輸入標簽的句子。在圖中,選擇過程由一個門單元標記。測試一個句子時,使用A網絡來產生最終的分類結果。NETAB的表現非常出色,尤其在movie數據集上:
四。 領域情感詞典構建
第二篇論文里提到,利用主題模型增強不同aspect的情感特征,當但主題模型的缺點也很明顯:
(1)高頻且沒有任何情感含義的形容詞非常容易被選中
(2)分詞:由于一些情感詞更像是短語,如“多用用腦子”,“漲姿勢”,“不早點推(薦)”,所以主題模型的重要一環是發現新情感詞。
那么下面我們會介紹一些領域情感詞典構建的相關研究。
《Sentiment Lexicon Construction with Representation Learning Based on Hierarchical Sentiment Supervision》
為了充分利用文本中的sentiment label,業界提出了一系列有監督學習方法來學習情感詞。其中在神經網絡結構中加入Sentiment Supervision,訓練sentiment-aware word embedding,成為主流。但文檔級情感分析中存在的否定、過渡、比較度等復雜的語言現象以及word representation sum up,使得很多詞語的真實情感會隨著文檔標簽變化,導致模型表現不佳。因此,論文除了在文檔層次訓練sentiment-aware word embedding,同時也引入了詞層次上的情感感知的詞嵌入,以提高詞嵌入和情感詞典的質量。
(1) 詞級情感學習與標注
論文提出了多種詞級情感標注,如1)預定義的情感詞典;2)帶有硬情感標注的PMI-SO詞典;3)帶有軟情感標注的PMI-SO詞典。
(2) 情感感知詞嵌入學習
對于文檔d中的每個單詞,將其映射為一個連續表示形式e,cost function 為平均交叉熵,度量預測的情感分布和在詞水平上的情感注釋之間的差異。
為了在詞和文檔兩個層次上學習情感感知的詞表示,采用加權組合的方法來集成兩個層次的代價函數。
(3) 情感詞典構建
利用人工標注的125個正種子詞和109個負種子詞的嵌入作為訓練數據。最后,利用variant-KNN classifier對種子詞進行擴展。
《Automatic construction of domain-specific sentiment lexicon based on constrained label propagation》
除了文檔級情感分析中存在的否定、過渡、比較度等復雜語言現象外,特定領域的情感詞極性也有很大區別,如:
電影,金融和食品所有的推文都在每條推文中使用“long”一詞。然而,“long”有完全不同的含義。在電影里“long”代表電影長度,意味著這部電影很無聊;在金融領域,投資者總是用“long”字來形容代表買入倉位。在食品領域,“long”字只是用來形容某物的形狀是長的。
本文提出了一種基于約束標簽傳播的領域情感詞典自動構建策略。利用句法和先驗泛型詞典提取候選情感詞,通過WordNet、句法規則和SOC-PMI三種不同的策略確定了整個未標注語料庫中兩個詞的語義相似度。把詞看作節點,相似性作為加權邊來構造構詞圖?;趫D的半監督標簽傳播方法,將提取到的情感詞之間成對的上下文約束,作為先驗知識用于標簽傳播過程中。應用約束傳播將局部約束的效果傳播到整個候選情感詞集合中,最后傳播的約束被合并到標簽傳播中,將極性分配給未標記詞。
詞圖可以通過不同的方式從語料庫、WordNet、web文檔等多種資源中構建,構建詞圖的核心思想是確定每個詞之間的相似性,作為詞圖的加權邊。論文結合了WordNet、句法規則和SOC-PMI三種不同的策略,通過聚合多個資源的發現情感詞之間的互補關系。
其中SOC-PMI(情感傾向點互信息算法)基于語料庫計算兩個目標詞的情感傾向相似度。利用點互信息(PMI)對兩個目標詞的重要鄰居詞進行排序,并將其PMI值聚合。這樣盡管兩個目標詞從未同時出現,SOC-PMI仍然可以通過它們共同的鄰居來計算情感傾向相似度。
構建了詞圖之后,基于圖的半監督傳播方法在similarity matrix 上,將極性從種子詞傳播到未標記詞。
第一次迭代,只有與種子詞連接的節點才能獲得標簽值。與種子詞越相似,得到的標簽值就越多。第二步,將標記數據的類矩陣固定到初始狀態。從標記數據到未標記數據的迭代收斂,未標記數據在迭代過程中逐漸獲得標記值。
除了基于單純詞共現或者hownet,利用Topic Model發現相似情感詞之間的語義關系也是一種途徑。尤其在aspect sentiment這類語料中,同一類aspect的情感詞分布相似,能夠抓住aspect或者category的情感詞分布,會使得情感詞領域性更強,且能得到不同主題下的情感詞的極性。
STCS的做法與上述方法有相似之處,在相似度特征方面,將基于共現的SOC-PMI換為情感關系圖增加路徑相似度,使得情感詞的上下文特征更全面。而最終情感詞的極性通過在情感關系圖上對情感詞進行譜聚類,得到主題特定的情感詞匯。
TaSL則是直接利用LDA模型,獲取主題信息,亮點在于,文檔由多對主題和情感表示,每對主題和情感的是單詞多項式分布。由于LDA模型一定會考慮到“主題和情感對” 與 詞的分布,“主題和情感對” 與 文檔的分布,因此也算繼承了HSSWE的思想,使得TaSL可以充分捕捉不同主題中每個單詞的情感極性,并能處理復雜的語言現象。
通過實驗結果可以看出,基于主題和情感關系圖構建情感詞典用于下游情感分類任務,比Representation Learning(HSSWE)的表現更好。
總結
不難看出,不論是文檔句子級別的情感分析,還是aspect級別情感分析,上述研究的重點都在于,如何發現真正的情感上下文以及aspect與情感詞之間的語義關系,這一點在領域數據的情感分析任務上更加明顯。
基于LDA的方法雖然能夠發現aspect-sentiment之間的復雜關系,但這建立在一個好的分詞或者實體識別模型基礎上。
后續筆者還會繼續關注一些其他策略的情感分析模型,如遷移學習,mixup train,半監督等。
原文標題:從基于Aspect、Target等方向全面解讀醫療領域上的情感分析
文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
神經網絡
+關注
關注
42文章
4762瀏覽量
100541
原文標題:從基于Aspect、Target等方向全面解讀醫療領域上的情感分析
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論