AI能有机会学习情绪?让我们从文章开始

「我沒事」到底是什麼情緒?
情緒,是許多疾病和社會問題的表徵。例如有躁鬱傾向的人們,說話用詞有很大的情緒起伏;又如網路霸凌,會反映於社群留言的用字情緒。若能及早偵測到這些情緒,就有機會及時避免憾事發生,而這個任務可透過人工智慧(Artificial Intelligence, AI)協助。

AI能有机会学习情绪?让我们从文章开始
但是,情緒不是那麼容易透過詞語理解。
例如,朋友在 社群發文「我沒事」,究竟代表心平氣和的「我沒事」,還是絕望至極的「我沒事」;還有當鄉民留言「看吧!」,想表達的是讚賞意味的「看吧!」,或是嘲諷語氣的「看吧!」?如同《來自星星的傻瓜》電影主角(一名外星人)所言,人類的語言非常難理解,在不同情境脈絡有不同意思,甚至會隱藏真實情感說謊。這些都增加人工智慧從語意分析情緒的難度。

清華大學資工系的陳宜欣副教授,是三個小孩的媽媽。她發現從小孩學習如何說話表達情緒的過程,可以梳理出一條路徑訓練機器學習。雖然小孩說話常常毫無邏輯,但許多小細節累積起來,就能讓大人判斷小孩的情緒。例如當小孩對媽媽說「妳總是叫我收玩具」,其中用了「總是」這個詞,可以判斷小孩不太高興。或是小孩說「我永遠不能電視看了」,乍聽滿頭問號,但用了「永遠不能」這組詞,可以判斷其中的負面情緒。
不懂語法、沒背過辭典,還是可以表達情緒,反之也能分析情緒。

網路爬文 借用群眾智慧
陳宜欣團隊運用網路爬蟲技術,將社群網站公開發文,跟情緒有關的內容都蒐集建立至「情緒資料庫」。或許有些人會認為:「這不就是一堆人在發廢文?」,但以群眾外包(crowdsourcing)的角度,這些社群發言集結起來,就是群眾智慧,可做為訓練機器學習的資料。團隊將社群發文者原先在發文加上的情緒 Hashtag (例如 #anger)作為參考答案 ,但一開始先把這些「答案」遮起來,訓練機器透過演算法學習發文中「出現哪些字」代表「什麼樣的情緒」,最後再與原本的答案(例如 #anger)對照,一次次地優化機器判斷情緒的準確率。「用大數據做情緒分析有個重點,就是刪資料不要心痛!」陳宜欣笑中有股失敗無數次的堅毅,「太多 Hashtag 的發文、重複發文、太短沒有情緒特徵的發文……等等,都要從訓練資料中拿掉」。團隊也參考新聞標題,找出哪些字是較中性的「非情緒資料」,並從機器學習的訓練資料中排除、優化準確率。值得注意的是,選舉時期的新聞標題不能參考,因為用字遣詞太過激昂。

AI能有机会学习情绪?让我们从文章开始

找出情緒用詞的邏輯
經過機器學習分析,陳宜欣團隊發現一些跨語系的情緒邏輯。例如 “finally *** my” 這組字詞多表達快樂,而中文 「我終於***」也多用來傳達正面的消息。又如 “my *** always” 這組字詞多含有生氣意味,就像小朋友說「爸爸/媽媽總是***」藉以表達不快。中文贅字的處理,也是情緒分析很有趣的一環。「學生建議這很重要,一定要列入分析!」陳宜欣說。例如:「喔,我來做」其實是不太想做,「喔喔,我來做」較為中性,「喔喔喔,我來做」帶有積極感。凡是超過三個以上的贅字,可視同為三個贅字。這個規則用在「哈」、「哈哈」、「哈哈哈」、「哈哈哈哈」也有同工之妙。然而陳宜欣團隊發現,社群平台很多人發文以炫耀為主、或是報喜不報憂,導致社群平台上「開心」的發文特別多。

另外,網路霸凌其實有很多「暗語」。
例如,團隊看過一則發文是「那些外國動物不應該被出口」,其實這句暗地裡帶有種族歧視。其中一種解決方案是運用 Hatebase 仇恨發言資料庫,並藉由機器學習比對非仇恨的文字資料,找出這類「暗語」的關聯性(通常哪幾個字會一起被使用)、以及相似性(字詞會在句子中哪些類似地方出現)。許多人會在憾事發生後,回過頭從當事者社群發文的字裡行間尋找跡象,但未來能否更早偵測?當局者迷,旁觀者清。人工智慧有潛力成為一名不帶情緒的旁觀者,分析社群大數據找出被情緒糾葛的人們,甚至是預防犯罪、偵測自殺傾向。

转载于:https://my.oschina.net/u/4024424/blog/2978994