曹曉春
(四川大學計算機學院,成都 610065)
基于文字輸入特征的情緒自動識別
曹曉春
(四川大學計算機學院,成都 610065)
情緒一直受到研究者的廣泛關注,但是關于情緒自動識別的研究卻很少。通過收集自由文本輸入時的擊鍵特征、停頓特征和修改特征,使用分類算法判斷輸入者是否出現喜、怒、哀、懼四種基本情緒,可以建立情緒的自動識別模型。實驗結果表明,四種基本情緒都能通過文本輸入的特征進行推斷,并且擁有較高的準確率。
情緒;自由文本;擊鍵特征;分類算法;自動識別
情緒理論由達爾文和詹姆斯提出來后得到了廣泛的關注和研究,起初研究的進展非常的緩慢,近幾十年來,情緒的研究得到了較快的發展。
盡管情緒理論很多,但是Ekman和Friesen研究發現人類有六種基本情緒,即快樂、悲傷、恐懼、驚訝、憤怒、嫉妒。其他情緒都是以這六種基本情緒組合出來的,屬于復合情緒。但是這個結論并沒有得到所有研究者的承認,英國研究者的研究表明Ekma的六種基本情緒并不準確,他們研究得到的基本情緒只有四種,即喜、怒、哀、懼。在他們的研究中驚訝和恐懼是同一種情緒,憤怒和厭惡是同一種情緒。同時,情緒的fMRI研究發現,驚訝情緒的腦電持續時間非常短,顯著短于其他幾種情緒的持續時間。所以本文在在研究過程中只選取了喜、怒、哀、懼四種基本情緒,對文字輸入者的這四種基本情緒進行判斷。
目前關于情緒的研究都集中在情緒的產生機制,情緒的影響因素,情緒的分類,情緒對人的影響等方面。而關于對人情緒的判斷的研究相對較少,現有的關于情緒判斷的研究都是表情、微表情、身體行為方面的研究。通過對他人的表情、行為的觀察對他們的情緒進行判斷,探究哪些表情和行為能夠準確地對情緒進行準確地判斷。情緒和性格、脾氣、個體行為等因素相互作用,不僅影響著人們的行為、表情,同時人們的行為和表情也能夠反映一個人的情緒。
隨著計算機圖像學的發展,人們開始使用圖像學方面的方法對人物圖片和影像資料進行分析,判斷圖中或影像中人物的情緒。Schosberg首先提出了表情描述的三個量化尺度:注意-拒絕(A-R)、高興-不高興(P-U)、和活躍度。1978年Terzopoulos和Waters則運用了簡化的Ekman-Friesen模型,用計算機產生人臉動畫,同時也做了人臉視頻序列的表情分析,判斷人臉表現出來的情緒。
近年來,社交網絡和社交軟件得到普及,現在存在大量的非面對面的交流,這些交流中,不能看到交流對象的表情和行為,對他們的情緒判斷存在很大的困難。但是,對方的情緒對交流者的反應、決策有著很重要的作用,需要根據對方不同的情緒產生不同的反應,這樣才能更加融洽地交流下去。
本文基于文本輸入的特征對文字輸入者的情緒進行推斷,使用常用的五種分類算法(樸素貝葉斯、決策樹、k近鄰、支持向量機和AdaBoost)逐個判斷他們是否表現出了四種基本情緒(喜、怒、哀、懼),建立相應的情緒推斷模型。
1.1 擊鍵特征模型
Joyce和Gopal Guptal最早提出了利用擊鍵特征模型。他們設計了一個基于擊鍵韻律的特征采集系統,在用戶進行輸入的過程中,采集用戶使用鍵盤輸入擊鍵時間特征。因為Joyce等人的擊鍵模型中只選用了擊鍵平均時間,所以其數據收集和特征提取非常簡單,計算量也很小。但是這個模型也存在不足之處:擊鍵特征過于單一;特征值的處理過于簡單;用戶的輸入習慣可能會隨時間的推移而緩慢變化,當積累到一定量時,會導致此種方法的識別準確率降低。
Kacholia和Pandit等人根據Joyce模型提取擊鍵特征過于單一的缺點,從鍵入單個字符、兩個字符序列和多個字符序列等方面進行了研究。他們認為一個單獨的按鍵事件應該分成按下(Press)事件和釋放(Release)事件兩個部分,從而可以構建一個能夠描述鍵盤輸入事件序列的PR-RP模型。
后來他們又對的PR-RP模型進行了細化,提出了新的思路,把擊鍵時間間隔分為了以下四種:PP(Press-Press)時延:從某個鍵的按下事件開始到另一個鍵的按下事件為止的間隔時間。PR(Press-Release)時延:從某個鍵的按下事件開始到另一個鍵的釋放事件為止的間隔時間。RP(Release-Press)時延:從某個鍵的釋放事件開始到另一個鍵的按下事件為止的間隔時間。RR(Release-Release)時延:從某個鍵的釋放事件開始到另一個鍵的釋放事件為止的間隔時間。本文只使用了PR和RP兩種延遲時間。
1.2 固定文本和自由文本
擊鍵動力學的研究內容主要包括兩種文本形式,一種是固定文本,另一種是自由文本。對自由文本的研究,用戶不再是輸入特定的字符串序列,而是可以自由的進行輸入,無論是打字聊天、編輯文檔還是輸入用戶名密碼,都能夠對用戶的擊鍵特征進行監控和研究。這種情況比固定文本研究要復雜得多,產生的數據量也要大很多。本文就是針對用戶在互聯網上聊天時輸入的自由文本進行研究。
1.3 分類算法
分類算法是數據挖掘中的重要技術,其目的是為了使用數據特征集構造一個分類模型,把未知類別的數據映射到給定的類標下。模型的構造過程可以分為兩個階段——訓練階段和測試階段。模型在構造之前要將數據進行預處理,把數據集隨機的分為訓練集和測試集。訓練集用來建立模型,訓練集中的數據又稱訓練樣本,一個樣本的形式為:(x1,x2,…,xn;y),其中xi表示屬性值,y為類標。訓練集中每個樣本都提供了類標,所以這個階段也成為有指導學習。測試集在測試階段使用,用來對前面建立的分類模型進行檢測,通過檢測分類模型的分類準確率來判斷分類模型的好壞。
本文采用常用的幾種分類算法(樸素貝葉斯,決策樹、k近鄰、支持向量機和AdaBoost)建立分類模型,并對分析他們的分類準確率。
研究表明,不同的情緒會導致不同的行為,例如,憤怒會讓人產生沖動,做事的速度會加快,悲傷會讓人抑郁,做事的速度會緩慢許多。同樣,不同的情緒對文字輸入也有著不同的影響,通過對文字輸入的特征進行分析便能反過來對情緒進行推斷。文字輸入的流暢性和節律能夠很好的反映用戶的情緒狀態。前人研究表明不同情緒說話的速度、節律、語調都有差異,這些差異跟他們的情緒有著重要的聯系,例如恐懼的人會語無倫次,重復詞語,節律時快時慢;悲傷的人說話速度很慢,但是節律很穩定。在文字輸入時,不同情緒的人會表現出類似的特點。本文將文字輸入的特征分為了三個方面的特征:擊鍵特征、修改特征和停頓特征。
擊鍵特征分為單鍵特征和組合特征。單鍵特征就是指鍵盤上漢語拼音對應的26個英文字母的個體特征,本文主要使用時間上的特征,即按下一個鍵到釋放該建的時間。
本文使用的組合特征只是兩個鍵的時間上的組合特征。組合特征有兩種:RP:第一個鍵釋放到第二個鍵按下的時間;PR:第一個鍵按下到第二個鍵釋放的時間。
本文并不考慮單個鍵的擊鍵時間特征,而是選取擊鍵時間的統計特征。計算用戶在在輸入過程中擊鍵時間的最大值、最小值、平均值、中位數、標準差,三種擊鍵特征總共15個特征。
除了前面的擊鍵特征,本文還使用了與文本內容相關特征。這些特征不僅僅是擊鍵的時間,還包含了文字輸入中輸入的內容相關的一些特征。例如輸入時的停頓時間、內容修改次數、句子長度等,這些特征已經在以前的研究中被證明對通過語音推斷情緒有顯著影響。同樣,這些特征在用鍵盤進行文字輸入時也可以被檢測到,也可以用來對情緒進行推斷。
在輸入過程中我們還可以得到關于修改和停頓等方面的信息。對文字的修改有兩種方式,第一種是修改光標所在的位置,第二種是修改前面的錯誤。修改光標處的錯誤又分為修改單個字詞和修改長短文字。修改前文錯誤分為前文插入和前文刪除。本文選取兩種修改方式的特征共14個。
停頓是兩次敲擊鍵盤是時間差超過規定的停頓閾限,根據已有的研究,本文將停頓閾限定為2s。本文提取停頓次數、長度、最長停頓、停頓位置等8個特征用于推斷模型。
本文用于情緒推斷模型的特征總共37個,各自的分類和數量如下表。

表1 文字輸入特征分類
3.1 實驗平臺
實驗數據的采集是通過普通的Lenovo104鍵薄膜鍵盤,使用Java編寫的Windows鉤子程序來實現的。特征選擇和模型訓練主要是通過Weka3.6和MATLAB 2015b來實現的。本文的所有工作都是在Windows平臺下完成的。
3.2 被試
本文共選取60位被試,所有被試都是四川大學在校學生,年齡在22-27(平均值24,標準差6.7)歲之間,都至少使用電腦5年以上,熟悉鍵盤輸入,沒有閱讀障礙。被試中男生35名,女生25名。
3.3 實驗過程
為了讓被試產生相應的情緒,被試在進行文字輸入前需要看5分鐘的視頻,這些視頻為五個:喜、怒、哀、懼、無情緒五類,用來啟動用戶相應的情緒。每位被試都需要觀看五個視頻,每看完一個視頻后,在鍵盤上輸入剛才看到的視頻的大致內容,輸入的時間沒有限制。為了避免視頻的順序效應,每位被試的五個視頻出現的順序是隨機的。
3.4 數據收集
整個文字輸入過程在一個空白Word中進行,我們使用Java程序編寫了Windows后臺鉤子程序,通過安裝鍵盤鉤子程序,收集用戶在互聯網通訊軟件中通過鍵盤輸入的按鍵信息。
本次實驗共招募被試60名,每位被試產生5組數據,總共300份數據。其中無情緒啟動和喜、怒、哀、懼四種情緒啟動后的數據各60組。在處理數據時,采用機器學習分類算法進行分類。將喜、怒、哀、懼四種情緒下產生的數據無情緒啟動情況下產生的數據進行分類,判斷被試在輸入過程中是否有產生四種情緒。
本文實驗得到的數據,分別采用五種機器學習算法建立分類模型。本文采用了10折交叉驗證,9/10的數據用于搜索最佳參數和建模,剩下的1/10的數據用來對該模型進行驗證。最后對四類情緒分類準確率進行統計,同時使用雙側T檢驗判斷分類的準確率和基線之間是否有顯著性差異。因為四種情緒啟動的數據和無情緒啟動的數據是一樣的,所以這里的基線就是50%。
如表2所示,在四個基本情緒維度上使用五種分類算法,得到的所有分類準確率都和基線之間有著顯著性差異,能夠很好地對被試是否產生了四種情緒進行判斷。其中恐懼情緒的分類準確率最高,五種分類器得到的準確率都高過70%,其中支持向量機得到的準確率達到了89.67%。準確率最低的是哀傷情緒,最高準確率為73.36%,最低為61.76%。Ekman的研究結果表明,人在產生恐懼的情緒是,身體反應是最大的,MRI的波動也最大,哀傷情緒對人的情感、決策影響較大,但是對身體、行為的影響相對較小。這能很好解釋本文的研究結果,當產生恐懼情緒時,擊鍵的行為的改變較大,而哀傷情緒的對擊鍵行為的影響較小。所以恐懼情緒能夠更好地檢測出來,二哀傷情緒的準確率較低。
從表中的數據來看,支持向量機的分類效果最好,準確率最高,都在80%以上。我們推測,這可能是因為小樣本的原因。支持向量機適合小樣本訓練,所以分類效果較好。如果使用非常大的數據進行分析,可能會得到其他結果。

表2 無時間限制分類準確率
本文使用分類算法,對用戶文字輸入的特征進行處理,對他們表現出的四種基本情緒進行判斷,得到如下結果:1.能夠通過用戶進行文字輸入的特征對四種基本情緒——喜、怒、哀、懼進行判斷,判斷是否產生了四種基本情緒的一種或多種。2.恐懼情緒最容易通過文字輸入特征進行判斷,哀傷情緒的判斷準確率最低。3.使用支持向量機對情緒分類的準確率最低。
本文建立的情緒自動識別模型能夠很好地識別情緒,但是,情緒識別模型是通過分類算法進行二分,只能判斷用戶在輸入過程中是否存在四種基本情緒。這尚屬于定性的研究,并不能對他們情緒的強度進行分析。在將來的研究中,打算進一步建立定量分析模型,自動識別用戶各種情緒的強度。現在,大段文字輸入的場景較少,更多的文字輸入是在社交中的文字輸入。這種文字輸入主要特點是交互性和簡短性,和本文的研究有一定的差異。我們打算進一步研究社交過程中的情緒的特點,以及對情緒進行自動識別。
[1]喬建中.情緒研究[M].南京師范大學出版社,2003.
[2]劉海燕,郭德俊.近十年來情緒研究的回顧與展望[J].心理科學.2004,27(3):684-686.
[3]Ortony A,Turner T J.What's Basic about Basic Emotions[J].Psychological Review.1990,97(3):315-331.
[4]Ekman P,Sorenson E R,Friesen W V.Pan-Cultural Elements in Facial Displays of Emotion[J].Science.1969,164(3875):86-88.
[5]Gross J J.Emotion Regulation:Affective,Cognitive,and Social Consequences[J].Psychophysiology,2002,39(3):281-291.
[6]Ochsner K N,Knierim K,Ludlow D H,et al.Reflecting upon Feelings:an fMRI Study of Neural Systems Supporting the Attribution of Emotion to self and other.[J].Journal of Cognitive Neuroscience.2004,16(10):1746-1772.
[7]劉箴.虛擬人情緒向量和表情向量的合成[J].系統仿真學報.2006,18(s1):404-406.
[8]Russell J A.Core Affect and the Psychological Construction of Emotion.[J].Psychological Review,2003,110(1):145-172.
[9]陳上萬.基于視頻的情緒檢測系統的研究[D].浙江工業大學,2013.
[10]吳立平,王金海,崔軍.人臉表情識別在監護系統中的應用與設計[C].天津市生物醫學工程學會學術年會,2014.2014.
[11]吳奇,申尋兵,傅小蘭,等.微表情研究及其應用[J].心理科學進展,2010,18(9):1359-1368.
[12]劉曉旻,譚華春,章毓晉.人臉表情識別研究的新進展[J].中國圖象圖形學報,2006,11(10):1359-1368.
[13]Card S K,Moran T P,Newell A.The Keystroke-Level Model for User Performance Time with Interactive Systems[J].Communications of the Acm.2010,23(7):396-410.
[14]Vizer L M,Zhou L,Sears A.Automated Stress Detection Using Keystroke and Linguistic Features:An Exploratory Study[J].International Journal of Human-Computer Studies.2009,67(10):870-886.
[15]Singley M K,Anderson J R.A Keystroke Analysis of Learning and Transfer in Text Editing[J].Human-Computer Interaction,1987,3 (3):223-274.
[16]易彬,胡曉勤.基于加權貝葉斯的擊鍵特征身份識別[J].現代計算機:普及版,2015(5):15-19.
[17]史揚,曹立明.基于擊鍵特征的用戶身份校驗[J].計算機工程,2005,31(6):120-122.
[18]倪桂強,李佳楨,潘志松,等.基于支持向量數據描述的擊鍵生物特征認證[J].模式識別與人工智能,2008,21(5):704-708.
[19]羅可,林睦綱,郗東妹.數據挖掘中分類算法綜述[J].計算機工程,2005,31(1):3-5.
Emotion Automatic Recognition Based on Text Input
CAO Xiao-chun
(College of Computer Science,Sichuan University,Chengdu 610065)
Emotion is widely researched,but little has been done on automatic emotion recognition.In this paper,we propose an approach that intends to recognize emotion automatically.we collected keystroking characteristics,pausing features and modifying features,and used classification algorithms to determine whether the user expressed the four kinds of basic emotions,happiness,anger,sadness and fear.Result showed that the four basic emotions can be inferred through the characteristics,and it performed a high accuracy rate.
Emotion;Free Text;Keystroke;Classification Algorithm;Automatic Identification
1007-1423(2017)04-0003-05
10.3969/j.issn.1007-1423.2017.04.001
曹曉春(1991-),男,四川廣安人,碩士研究生,研究方向為人機交互
2016-12-13
2017-01-21