這應該是一個最近常聽到的議題吧?
因為已經漸趨成熟,所以不管在研究理論或者實務上,情緒分析都已經慢慢成為一個普遍化的領域。
情緒分析(Sentiment Analysis)、意見探勘(Opinion Mining)這兩個其實是相似甚至相通的東西,都是在說利用資料去了解背後情緒的技術。
這其實是從前面我們有說到的文字探勘延伸而來,今天我們就來聊聊這項有趣的技術吧!
其實意見探勘在很早之前就已經有流行過一陣子了,在2015年左右,因為NLP有一陣更新,所以情緒分析也跟著紅了起來。
許多人將其用在了社群媒體的風向探測、行銷/營銷的數據分析、消費者喜好等等方面,也有得到一些不錯的會饋。
而最近又流行起來,主要變的是「使用的資料不只文字,還加入的聲音、影像,甚至三種合一的混和方法」。
我們應該可以很直觀的判斷,當要了解一個人表達的情緒時,得到資訊的程度應該如下圖:
短文<短文+表情符號<長文<說話≒動作影像<影片(聲音+影像)<文本+影片(聲音+影像)
實際研究做出來的結果也是這樣的。
所以理所當然,在實務上也慢慢被推展開來,不過運用的領域範圍卻不是在什麼論壇、留言區了(畢竟大部分的留言都是文字,少見留影片或聲音),目前比較常看到用在直播主、CEO等等的分析,這如果我們之後有時間再來講XD
數據收集
如字面意思,不管是預先下載網路上已經整理好的資料集,或是選定目標後自行去網路中尋找自己有興趣的資料,都可以。
想要分析資料,有資料可以做至少是第一步吧。
資料預處理
剛收集到的資料不會是漂亮的,裡面一定包含滿滿對分析無用的資訊,比如缺失值(空白)、亂碼等等,要等我們把它洗乾淨後,之後分析跑出來的資訊才會是漂亮且高品質的。
除了文字的部分,帶有方言口音的聲音資料、沒有看鏡頭的影片資料,也都算是無用資料之一。
資料標註
主要是在使用監督是學習、辦監督是學習方法時需要經歷的過程,這個動作可以增加最後的準確度。
這是一個比較繁瑣的過程,因為需要有額外的人工去對每一個文字、音訊、影像做標註。
比如對於文字,會標註 -1(負面)、0(中性)或、1(正面),通常在跑的時候會設置一個「字典」,裡面會去定義說那些文字是正面、那些是負面。
而對於臉部表情,也有憤怒、厭惡、恐懼、幸福、悲傷、驚訝和蔑視等七大類型,最後的第⼋類「中性」則是用以標記不屬於七大類型中的「其他」。
情緒分析
最後在跑模型的時候,不會是全部一起跑,而是三種(文字、聲音、影像)分開跑,最後再組合起來。
多模態分析混合方法
多模態分析就是所謂的文字、聲音、影像三種混合使用以預測的方法,可以是兩種相加,也可以是三種。
在這一步有許多不同的模醒與方法,美種方法都有各自的優點和試用情境,需要在使用時自行選擇。
其實遭遇到最大的困難就是人類語言的複雜性,誰叫我們那麼愛用各種諷刺和說反話呢?這幾乎是在全世界語言中都會遇到的問題。
諷刺--
電腦最難懂的就是人類的諷刺情緒和語句,如果他們有思想,可能會覺得人類很複雜吧(笑)
比如:「送貨速度真的超快,我的貨等了三個月才來!」、「這家的面真的讚死了,裡面竟然特麼的有蟑螂!」,這兩句模型看完後,都會歸類到正面的。
不知道消費者看到這個結果會有什麼感想,但分析人員已經哭倒在地板上了。
雙否定--
「沒有一個人不喜歡這個酷東西!」、「我不覺得這很貴」,這幾種的都算是。
模型也會不了解:所以你是喜歡呢?還是不喜歡?因為你的句子中出現了不喜歡,他能就直接算成負面詞了;而後者也是,因為出現了「貴」這個負面詞,可能會影響分數。
所以在使用情緒分析的時候,詞語很重要,上下文也很重要,但如果只關注句子的話又可能會出現下面的問題。
多重性--
當一句話中包含很多種情緒的時候,模型有時候會很難判別,除非要每一個詞獨自算做一種正/負面,然後再去加總。比如:「我覺得整支手機的設計我都超愛,但是這個電池太快沒電了!」
看完今天的文章,對情緒分析有多一點理解嗎XD