馮豆豆
(四川大學(xué)計算機學(xué)院,成都 610065)
隨著網(wǎng)絡(luò)及移動設(shè)備的普及,新浪微博逐漸融入人們的生活,越來越多的用戶利用微博來記錄生活,表達個人觀點和抒發(fā)內(nèi)心情感。這些微博數(shù)據(jù)記錄了用戶真實、長期的心理活動,是研究用戶人格的很好的數(shù)據(jù)。
人格作為心理學(xué)的一大分支,其研究重點是個體間的差異性。人格計算則是通過分析用戶的行為結(jié)果,預(yù)測用戶的人格,以量化個體間的差異性。利用這些量化了的差異性,可以判斷出不同用戶的不同需求,以提供更好的個性化服務(wù),例如為高盡責(zé)性用戶推薦實用性較強的產(chǎn)品,為高開放性用戶推薦新奇產(chǎn)品等。人格計算擁有廣泛的應(yīng)用空間,利用用戶的人格數(shù)據(jù),可以為員工選聘提供指導(dǎo)意見,可以預(yù)測用戶是否具有攻擊行為,判斷用戶是否抑郁等。
全特質(zhì)理論是William[1]等人提出的,全特質(zhì)理論認為人格具有周期性,不同人格特質(zhì)的人周期變化不同。
微博是我國青年最常用的社交工具之一,在微博上人們可以無約束地表達自己的感受和心情。這些數(shù)據(jù)記錄了用戶真實、長期的心理活動,為建立人格分類模型提供了理想的數(shù)據(jù)基礎(chǔ)。
人格分類是通過分析用戶的行為結(jié)果,預(yù)測用戶的人格屬于哪種類型,以量化個體間的差異性2。據(jù)筆者所知,人格分類的第一個研究是Sholomo等人[3]在2005年發(fā)表的,他們收集了1200名學(xué)生的2263篇散文,研究中使用功能詞(Function Words)1功能詞:Function words,不具有實際意義,但發(fā)揮語法作用的詞,如英語中的冠詞the。和系統(tǒng)功能語法(Systemic Functional Grammar)2系統(tǒng)功能語法:是韓立德等人提出的一種理論,認為語言是一個系統(tǒng)網(wǎng)絡(luò),其中包含了多個子系統(tǒng),語言使用者可以從中做出選擇。中的詞類作為特征,分別為外向性和情緒穩(wěn)定性特質(zhì)建立分類模型。2006年,Oberlander等人[4]認為博客可以記錄用戶在不受限制的條件下所想的內(nèi)容,能夠更好地體現(xiàn)用戶人格,于是收集整理了71名用戶在一個月內(nèi)寫下的博客,以n元組在博客中出現(xiàn)的次數(shù)作為特征值,使用支持向量機和樸素貝葉斯建立分類模型,模型的準(zhǔn)確率可達到85%。為檢驗?zāi)P偷姆夯芰?,Nowson等人[5]建立了一個更大的語料庫,語料庫中包含了1672名用戶的博客,并將模型應(yīng)用到新語料庫上,模型的準(zhǔn)確率從85%下降到了60%左右,可見模型的泛化能力弱。
Golbeck等人[6]是最早開始用社交網(wǎng)絡(luò)數(shù)據(jù)進行人格計算的,他們開發(fā)了一個Facebook應(yīng)用,可以讓用戶在線填寫人格測試問卷,并且在用戶填寫問卷時收集用戶在Facebook上的數(shù)據(jù),去掉不合格樣本后,剩余167個被試。用到的特征包括:文本特征、個人信息、網(wǎng)絡(luò)結(jié)構(gòu)特征以及活動偏好特征,一共77個,最終的平均絕對誤差在0.11左右,證明使用社交網(wǎng)絡(luò)數(shù)據(jù)預(yù)測人格是可行的。
此后,利用社交網(wǎng)絡(luò)進行人格計算的研究層出不窮,為便于各研究成果之間進行比較,Stillwell等人[7]建立了myPersonality語料庫,語料庫來自Facebook平臺,收集了用戶的文本數(shù)據(jù)以及網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù),使用IPIP NEO-PI-R 大五人格量表(Goldberg L R,2006)[8]獲取用戶人格分數(shù)。
基于 myPersonality語料庫,Markovikj等人[9]用SMO和AdaBoost算法建立分類模型,準(zhǔn)確率高達0.86~0.95。模型用到的特征可分為五個子集:網(wǎng)絡(luò)屬性、LIWC、詞性統(tǒng)計、Afinn和H4Lvd,結(jié)果表明文本特征對于提高模型準(zhǔn)確率很有幫助。
Farnadi等人[10],分別在 Facebook、Twitter和 You-Tube三個社交平臺上建立人格計算模型,并且嘗試用另一個社交平臺上的數(shù)據(jù)擴充當(dāng)前語料庫(如,使用Facebook上的數(shù)據(jù)擴充Twitter語料庫),結(jié)果發(fā)現(xiàn)擴充后的語料庫更難以預(yù)測。因為,不同社交平臺上的用戶分布不同,簡單的擴充只會增加數(shù)據(jù)噪聲。所以,本文將關(guān)注的重點只放在新浪微博一個平臺上。
除了英文語外,其他國家的研究者們也針對自己的母語進行了研究。目前,最進的成果是Suhartono等人[11]的研究。Suhartono等人通過印度尼西亞版的Twitter平臺,收集了359名用戶的數(shù)據(jù),分別用SVM和XGBoost建立分類模型,SVM的準(zhǔn)確率為76.2%,而XGBoost的準(zhǔn)確率達到了97.9%,甚至對于情緒穩(wěn)定性和外向性達到了100%。
國內(nèi)方面,基于中文社交媒體的人格計算一般從微博、人人網(wǎng)收集數(shù)據(jù)。
Bai等人[12]從335名人人網(wǎng)用戶的數(shù)據(jù)中提取出五個子特征集,包括基本信息、網(wǎng)絡(luò)屬性、時間屬性,情感類型四個方面,使用C4.5建立二分類模型。分類依據(jù)是所有用戶得分的平均值和標(biāo)準(zhǔn)差,低于平均值一個標(biāo)準(zhǔn)差的為低分組,高于平均值一個標(biāo)準(zhǔn)差的為高分組,剩余為中間組,中間組忽略不計。但正如Mairesse[13]所說,這樣做雖然可以提高準(zhǔn)確率,但卻降低了召回率??紤]到召回率,且為避免數(shù)據(jù)不均衡,本研究中的分類依據(jù)以中位數(shù)為分界線。等于高于中位數(shù)者為高特質(zhì),低于中位數(shù)者為低特質(zhì)者。
在人格心理學(xué)中有多種人格因素模型,目前最流行的是大五人格模型(Big Five Model)也叫做五因素模型(Five Factor Inventory)。大五人格模型基于特質(zhì)流派,研究取向可分為兩個:詞匯研究和問卷研究。詞匯研究基于詞匯假設(shè),認為通過分析自然語言中的詞匯及語義,可以探究人格的維度。問卷研究的理論基礎(chǔ)是特質(zhì)論,特質(zhì)論認為人格是可預(yù)測的,通過觀察個人長期行為,便可總結(jié)得出人格特質(zhì)。常用的人格問卷是Paul Costa和Robert McCrae共同編制的《NEO人格問卷》(NEO Personality Inventory,簡稱 NEO-PI,修訂版稱為NEO-PI-R)。大五人格模型共包含五個特質(zhì)因素,表1介紹了大五人格模型的各個特質(zhì)因素。
表1 大五人格模型
為了收集數(shù)據(jù),建立了人格測試網(wǎng)站3網(wǎng)址:http://www.panvote.top/。用戶打開網(wǎng)站后首先需要使用微博賬號登錄,然后做44題中文版的人格問卷。具體的操作流程如圖1所示。
圖1 網(wǎng)站操作流程圖
用戶填寫完量表后,向用戶反饋其人格數(shù)據(jù)。用戶看到結(jié)果后,可以選擇分享到微博或關(guān)閉。其他用戶若點擊了該用戶分享的內(nèi)容,也可參與調(diào)查。數(shù)據(jù)收集過程從2017年12月5日到2018年5月23日,共收集了324名用戶的微博數(shù)據(jù)。為保證收集到的數(shù)據(jù)是有用戶自己寫的,過濾掉了非原創(chuàng)數(shù)據(jù)。
為去除噪聲、無效數(shù)據(jù),對數(shù)據(jù)進行篩選,篩選規(guī)則如下:
(1)將注冊時間低于一個月的用戶數(shù)據(jù)去除,因為這樣的用戶可能還不熟悉微博的使用方式;
(2)將用戶中轉(zhuǎn)發(fā)的內(nèi)容去掉,非原創(chuàng)的內(nèi)容并不能體現(xiàn)出用戶的人格;
(3)將微博數(shù)量小于10條的去掉,因為這樣的用戶數(shù)據(jù)量太少;
(4)去掉平均每天發(fā)微博的數(shù)量超過50條的,因為這樣的賬號可能是營銷賬號,通常由某個工作室維護,并不是單個用戶使用。
篩選過后,只有236名用戶數(shù)據(jù)有效。
本研究中用到的特征包括四個部分:
(1)個人信息:
個人信息是指每個用戶所公開的個人數(shù)據(jù),包括昵稱、性別和年齡。
(2)網(wǎng)絡(luò)特征:
網(wǎng)絡(luò)特征是指用戶在使用微博網(wǎng)絡(luò)屬性,主要包括:粉絲數(shù)、關(guān)注數(shù)、微博數(shù)、分享數(shù)、評論數(shù)。不同的用戶在使用社交網(wǎng)絡(luò)時,會產(chǎn)生不同的行為,這些行為長期累積使得用戶的網(wǎng)絡(luò)屬性各不相同。所以,網(wǎng)絡(luò)屬性可以幫助我們分析用戶的人格。
(3)文本特征:
Pennebaker等人[14]認為個體所寫下的文本內(nèi)容反映了個體的人格。所以,用戶的文本數(shù)據(jù)是人格計算的重要線索。
對于用戶文本分析來說,傳統(tǒng)的做法是基于SCLIWC等詞典提取文本特征,但是這種方法并不適合微博數(shù)據(jù)。因為微博數(shù)據(jù)具有很強的時新性,網(wǎng)絡(luò)用語更新?lián)Q代快,新生詞層出不窮。而傳統(tǒng)做法所依賴的詞典并沒有囊括這些新生詞,會丟失許多信息。因此本研究中的文本特征通過TF-IDF選出特征詞,然后使用特征詞的頻率作為文本特征。
(4)情感特征:
基于中國知網(wǎng)的情感詞詞典分析每條微博的情感。如果微博中包含的積極情感詞數(shù)量大于消極情感詞數(shù)量,則該條微博屬于積極情感,反之亦然。以一個月為單位,統(tǒng)計每個月中積極情感的微博條數(shù)numpos,和消極情感的微博條數(shù)numneg,統(tǒng)計用戶最近一年內(nèi),每個月的numpos和numneg,分別求出積極情感的平均值avgpos和標(biāo)準(zhǔn)差stdpos,和消極情感的平均值avgneg和標(biāo)準(zhǔn)差stdneg。
人格分類領(lǐng)域常用的分類算法有樸素貝葉斯NB[4,15-16,18]、支持向量機 SVM[4,10,17,20]和 C4.5算法[12]。為方便對比本文使用了樸素貝葉斯、支持向量機和C4.5,表2介紹了這四種分類算法的原理并列舉了各自的優(yōu)缺點。
表2 NB、SVM、KNN及C4.5原理簡介及優(yōu)缺點列舉
表3 本研究實驗結(jié)果和其他研究結(jié)果的對比
從表3中可以看出本研究結(jié)果優(yōu)于其他研究。
隨著社會的發(fā)展,人們對智能化的要求越來越高,因此,讓機器了解人類的心理活動,并作出適合的響應(yīng)越來越重要。這就需要將心理學(xué)和計算機科學(xué)聯(lián)系起來,人格計算正是這樣的一個領(lǐng)域。人格計算自提出至今已有十多年的歷史,但仍存在很多問題,本文提出以下兩個改進方面。
(1)人格特質(zhì)間的弱連接
文獻[18]提出人格特質(zhì)間存在弱連接,文獻[19]中用皮爾遜相關(guān)計算人格特質(zhì)間的相關(guān)性,發(fā)現(xiàn)各特質(zhì)之間存在相關(guān)性(相關(guān)系數(shù)為-0.406~0.318),尤其是開放性和外向性這兩個維度,呈顯著相關(guān)(0.318)。文獻[20]中用J-S散度來計算人格特質(zhì)間的弱相關(guān)性,并且使用肯德爾相關(guān)加以驗證,最后還比較了人格間弱相關(guān)對人格計算系統(tǒng)的影響,并得出結(jié)論:當(dāng)不考慮人格特質(zhì)間的弱相關(guān)性時,系統(tǒng)F1值相較于峰值下降很多。在未來的工作中需要將人格特質(zhì)間的弱相關(guān)加入到人格計算系統(tǒng)中。
(2)利用大數(shù)據(jù)分析情境
人格計算根據(jù)用戶的行為結(jié)果(本文指文章內(nèi)容)來預(yù)測用戶人格,但同一個用戶在不同的情境下產(chǎn)生的行為結(jié)果是不同的。例如,某用戶具有高外向性特質(zhì),在與朋友聚會后寫下的隨筆記錄可以反映出他的外向性特質(zhì),但是在失眠后寫下的隨筆記錄可能會表現(xiàn)出低外向性。文獻[21]提出需要在人格計算中考慮到情境因素,文獻[22]針對文獻[25]中的情境問題提出:通過大數(shù)據(jù)分析可以獲得情境對用戶行為的影響。朱廷劭等人[23]利用中文心理分析系統(tǒng)分析微博用戶的情緒內(nèi)容,得出了情緒在一天內(nèi)隨時間的變化規(guī)律。該變化規(guī)律在一定程度上反映出了情境對用戶行為的影響,基于此我們可以去除人格計算中的部分噪點信息。例如,文獻[27]中的規(guī)律指出,用戶在凌晨3點左右處于消極情緒,一個低神經(jīng)質(zhì)的用戶在凌晨3點可能受到失眠的困擾,而表現(xiàn)出高神經(jīng)質(zhì)的特質(zhì),這就屬于人格計算中的一個噪點信息。未來的人格計算工作中,可以考慮用大數(shù)據(jù)分析情景對用戶行為的影響,從而降低人格計算中的噪點。