用人工智慧了解使用者情緒

如何在 UX 中融入情感運算

June L
UX Pacer
7 min readApr 11, 2019

--

身為 (或自認為) 一個 UX Researcher,我們最好奇的永遠是使用者的動機,想法與情緒。過去在心理實驗室做研究時,我曾經試著用神經網路辨識臉部情緒,雖然最後結果不是很好,我都跟朋友說我做了一個人工智障(?),但也因此接觸到情感運算 (Affective Computing) 這個領域,我覺得它在 UX Research/Design 有很大的潛力。

如何了解使用者的情緒?

自我報告 (Self Report) 是研究情緒時最常用,也最方便的方法,例如訪問時請使用者闡述他們的感覺,或在問卷裡請使用者用 1–10 衡量自己的感受,在廁所門口放個按鈕讓人按等等。這些方法依賴人對於自己情緒的感知與詮釋,非常直觀方便,但有時也會有一些限制。

  • 回憶不準確:我們在回想自己的感受時不一定準確,例如峰終定理 (Peak-End Rule) 表示我們對一個體驗的記憶主要由過程中的高峰與結束時的感受定義。
  • 無法捕捉無意識的情緒反應:要能報告的前提是你有意識到,並記得自己的情緒。
  • 量測的動作會影響結果:如果你在遊樂園裡跟著一個人,一直玩問他的感覺如何,你大概會結論在遊樂園玩是個讓人煩躁的體驗。
  • 主觀偏誤:如果有人問我在某地工作的感覺如何,即使大部分時間是無聊煩躁的,但因為我期許自己喜歡自己的工作,可能會把感覺講的比較正向一些。

一些限制與偏誤是能用研究設計避免的,但除了自我報告外,我們還有其他方法能了解人的情緒 — 行為與生理訊號 — 並且用資訊科學將情緒辨認自動化。

什麼是情感運算 (Affective Computing)?

Affective computing is the study and development of system and devices that can recognize, interpret, process, and simulate human affections.
- Rosalind Piccard, MIT Media Lab, 1995

情感運算基本上就是讓電腦能理解人類情緒,因為人的情緒表達非常的多元,包含表情,音調,語言,肢體動作,生理訊號等,所以這是融合心理學,電腦視覺,語音處理等不同領域的學科。這幾年因為機器學習領域長足的進步,許多情緒辨識問題的 Model Performance 都可以達到很好,能拿來作為研究的工具,或是作為一個設計元素融入產品設計中。

許多行為能用觀察的方法分析,但利用人工智慧可以自動化資料的收集,並且容易 Scale up 。

用不同的行為了解使用者情緒

人表達情緒的方式有很多種,這裡先忽略情緒辨識實行上的細節,主要討論在技術可行的情況下,能有哪些有趣的研究或設計應用。有些是已經被做出來的產品,有些是我自己覺得可能的研究/應用方法。

表情

表情是情緒最直接的表達方式,也是情感運算中最早開始發展的一支。ShelfPoint 在貨架前收集影像資料,了解使用者做決定時的情緒,以及對於架上產品的反應。

https://www.youtube.com/watch?v=Vv9PRT0EwEQ

患有知覺失調症的小孩因為不知道怎麼判斷別人的情緒,在社交場合中不知道怎麼與人做適當的互動。Brain Power 用 Google Glass 以及表情的情緒辨識做了一款遊戲,教自閉症小朋友辨認別人的情緒。

https://www.youtube.com/watch?v=qfoTprgWyns

其他一些可的想法包括分析 YouTube 影片中的情緒,或是 Instagram, Facebook 上的照片情緒,或是以後 Google Photos 可以有一個功能是 Filter by emotion。如果在做產品的 Evaluation 的話,Eye Tracking 加上 Emotion Recognition 我覺得是非常強大的組合。

聲音

我們平常講話可以解析成兩種訊息 — 語言與語音。語言是我們實際上講的話,語音是我們講的方式,包含音高,語速,與一些副語言語音 (Paralinguistic experession),例如 “嗯…..”,”蛤?”,”喔 ~~~~” 。

MediaRebel:利用表情與語音自動幫證人的作證影片加上情緒的標記,方便律師與檢察官調閱資料。證人情緒起伏多的片段有很大的機率含有關鍵訊息。

http://discuss.affectiva.com/t/apps-using-the-emotion-sdk/58

如果跟客服系統整合的話,可以了解客人在一開始打電話來,到對話結束時客人心情有沒有好轉。或是用在 Video Conferencing 裡面可以知道每個成員目前的行緒狀態,或投入程度有多少。語音與表情辨識以及語言分析一起用,通常準確率會更好。例如 “我們分手吧” 通常都被說的很平靜 (?),只看語音的話模型可能會覺得情緒是中性的,但加入語言的話馬上就知道大事不妙。

語言

分析文字的情緒主要屬於自然語言處理 (Natural Language Processing, NPL) 的範圍。許多研究會擷取一些社群網路,例如 Twitter, Facebook 等平台的貼文並做 Sentiment Analysis,理解人們對於特定議題的想法。

https://www.kaggle.com/shaliniyaramada/visualization-and-sentiment-analysis

語言的來源有可以是網路上本來就是文字的資料,也可以用 OCR 萃取圖片中的文字資料,或用語音識別 (Speech Recognition)把對話轉成文字資訊。想像如果 Sentiment Analysis 和一些聊天室或 Slack 結合,可能可以了解一個群聊的 Group Dynamics,或你與每個人最近聊天的氣氛如何,是負向,中性或是正向。

姿勢

在一些 HCI 的研究中,當使用者坐著與銀幕互動,或學生坐在椅子上聽課的時候,人前傾的程度可以當成投入程度的指標。

Schindler, Konrad, Luc Van Gool, and Beatrice de Gelder. “Recognizing emotions expressed by body pose: A biologically inspired neural model.” Neural networks 21.9 (2008): 1238–1246.

在姿勢辨識這方面有個 open source package 非常熱門 — OpenPose,只要把影片或圖片丟進去,他會自己幫你把骨架抓出來,如果資料有標記的話就可以直接拿來訓練模型。除了情緒辨識外有很多可能的應用如活動辨識 (Activity Recognition)。

生理訊號

心跳, 膚電反應 (EDA), 腦電圖 (EEG) 都是能做情緒辨識的訊號。相比於影像聲音,或語言,生理訊號需要特殊的環境與 Sensor 收集資料,目前只能在實驗室的環境中做這方面的研究。

利用膚電了解使用者在遊戲中的情緒反應

結論

如何把人工智慧作為研究工具,或作為一個設計的元素是我個人非常興趣領域,在研究或設計上要考量的還有很多,包含對於情緒定義,如何得到標記資料,如何將資料轉換成特徵向量,模型建構,模型的表現與準確率等等。同時,多行為的整合也能提高情緒辨識的正確率。

希望有給大家一些新的啟發!

--

--