A Language-independent and Conpositional Model for Personality Trait Recognition from Short Texts

轉載請註明出處: 西土城路的搬磚日常

論文鏈接:A Language-independent and Compositional Model for Personality Trait Recognition from Short Texts

來源:arxiv.org

問題:

從文本內容刻畫人物畫像這一問題,傳統方法大多基於語言學信息,採用線性回歸或SVM解決。本文通過建立從字母到單詞到句子到人物特徵的層級深度網路,在三種語言的短文本數據集上,對五種人物特徵進行分類,取得了state of the art 的效果。

背景簡介:

  • 理論基礎

語言的使用受社會因素比如性別和人物性格的影響。而且這些因素從時間上來看,是相對固定的。所以,從文本信息學習人物畫像,不失為一種有效手段。

  • bag-of-linguistic-features approach

這類方法比較傳統。基本思路就是從word level入手,提取特徵,分析人物特徵。這類方法的缺點在於對特徵篩選需要耗費相當時間。同時,這類方法隱含一種假設,一個語言特徵只對應一種人物特性,而經過Nowson and Gill(2014)的研究,語言與人物特性的關係並非嚴格一一對應,而更加複雜。

  • classification of short text

傳統基於BOW(bag of word)對短文本進行分類的方法,由於短文本的雜訊問題,效果不是特別理想。因而本文作者採用recurrent and compositional neural network作為訓練網路結構,初始輸入為字元向量(character vector,one-hot編碼),並逐層轉換為word vector,sentence vector,用於最終用戶畫像的分類工作。作者認為這是一種解決短文本由於空間稀疏造成variance和bias不均衡的有效辦法。

相關工作:

傳統方法在人物畫像領域的應用情況:

主流傳統方法大多手動提取文本中的辭彙和語法層面的特徵。這些特徵可以較好的區分人物特質。利用這些特徵,選擇合適的分類器,就可以有效根據文本內容刻畫人物畫像。具體實現方法一般為將特徵向量輸入基於SVM的分類器。在人物畫像領域比較著名的PAN 2015比賽中,大多數參與者仍然採用上述SVM與特徵選擇相結合的思路。之所以在這一問題中重視特徵選擇的一個重要原因在於標註數據的稀疏。具體說來,選擇的特徵主要分為以下幾類:比較淺顯的特徵如單詞、標題、ngram特徵;語義層面的詞性標註、依存關係等特徵;近年來有人將標點符號、情感符號甚至心理學方面的特徵引入研究中。

深度學習在人物畫像領域的應用情況

這方面的工作本文提到的有兩篇論文。Kalghatgi et al.2015採用多神經元感知器,將事先提取的文本的語法特徵和社會行為特徵作為輸入,根據輸出對應label的分數得到分類結果。但相關具體細節沒有公布。另外Su et al.2016採用RNN作為模型網路結構,將對話數據提取特徵作為輸入,對label的分數作為輸出。需要指出的是,這裡提到的兩個方法輸入特徵需要專業知識,而且需要從某一用戶全部數據中提取特徵,作為輸入。但本文提出模型不需要特徵選擇,而且可以在只有一條文本的情況下輸出結果。

Character-level word representation and Hierarchical Attention Networks

本文提出模型主要受到上述兩個模型的啟發。Ling et al.2015的方法基於以下假設:構成單詞的字元具有句法和語義上的豐富信息。具體採用LSTM學習字元構成單詞的方法,輸出層位word層面的softmax,應用於句法標註和語言模型上,提高的傳統模型的性能。基於上述工作,Yang et al.2016提出基於雙向GRU的構建document向量表示的方法。具體來說該作者建立從C2W (character to word), W2S2D(word to sentence to document)的層級結構,最終得到文檔的向量表示用於文本分類任務。本文提出的模型受到上面兩種模型的啟發,將字元與單詞,句子聯繫起來,利用層次結構最終對人物特徵進行表示。

提出模型:

目前方法的問題:

將深度學慣用於NLP人物的經典做法的主要環節就是將word表示為低維稠密實值向量。相關的訓練方法包括Word2Vec,Glove等。上述傳統方法存在兩個問題:首先,由於自然語言使用靈活,變化多端,造成的一個很重要問題就是未登錄詞的問題,無論訓練集的語料規模大小,只在測試集中出現的unseen word是無法得到訓練的。這一問題對於社交媒體提取的到的文本來說,由於其雜訊較大,更加嚴重。一般的處理方法同意將這些詞用UNK表示。這樣做難免會捨棄一些有用信息,比如對於一些未出現過的合成詞比如beautification(beautiful and ification)這樣的未登錄詞不能很好把握其語義;其次,傳統的詞向量方法涉及的參數規模較大。假設某詞向量的維度為d,則詞表的參數為dtimes left| V right| ,left| V right| 表示詞表的大小。這一問題在涉及到網路用戶生成的短文本時會更加嚴重。

基於上述兩點,這裡作者直接從character level層面學習。而且回顧之前的工作, character-based 特徵在用戶畫像學習上應用廣泛,是有成功先例的。

本文提出模型:

本文提出模型並無創新之處。簡單說來,將每個單詞的character編碼依次輸入字元級雙向RNN中,之後將結果表示為word vector,再依次輸入word級雙向RNN中,取前向網路和反向網路隱含狀態(首尾隱含層)的輸出分別拼接在一起,作為sentence的向量表示。最後,用該結果預測得到特定的人物特徵。上述模型稱為C2W2S4PT (Character to Word to Sentence for Personality Traits) 圖示如下:

此處具體的參數訓練沒有什麼亮點,有興趣可以參考原文具體研究。這裡只對個別需要注意的地方進行說明。

首先,最開始輸入的c_{i,j}表示第i個單詞第j的字元的one-hot表示。

其次,這裡之所以沒有學習更高level如paragraph,document的向量表示,原因雖然文中沒有提及,但據本人分析,這時由於本文訓練語料字元數較少,將每條語料單都視為一個sentence就可以比較好的達到預期目的。

再者,在sentence與人物特徵轉換這一層面,文中引入MLP (Multi-layer Perceptron classifier) 。輸入為句子向量e_{s},輸出為對應label的分數hat{y}_{s}。每個特徵的分數計算自BFI-10(一種五因素取向人格測驗方法),在-0.5到0.5之間。

最後,訓練時的損失函數為MSE(mean square error)

其中,y_{s_{i}}表示某句sentence對應某個特徵類別的真實分數。

實驗結果:

本文設計了兩組實驗:第一組在user-level上,用本文提出模型與傳統依賴語言特徵模型進行比較;第二組在individual text上,進行同樣的比對。實驗結果顯示,本文模型在英語和西班牙語料上比傳統方法表現要好,在義大利語上表現持平。

本文實驗數據使用的PAN2015的比賽數據(PAN 2015 Author Profiling task dataset)。每條推文在分詞時,對於熱門標籤和@username等特殊情況,用特定單個字元代替。如用@表示@username,具體的url鏈接用^代替,由此降低這些推文中通用樣式對用戶畫像學習的影響。

由於測試集的缺失(競賽數據),文中採用了k則交叉驗證。指標選擇的是RMSE(Root Mean Square Error)。根據實驗目的的不同,分別基於推文層面和用戶(用戶通常會發多條推文)層面,得到不同的RMSE,進行比較。

下面出現的表格中k表示k則交叉驗證的參數k的取值。

表中的EXT, STA, AGR, CON 和OPN分別表示外向程度(Extroversion)、情緒穩定程度(Emotional Stability)、情緒一致程度 (Agreeableness)、責任心(Conscientiousness)、開放性(Openness)

user level

下表是用戶層面與PAN2015的比較好的方法的結果比較。義大利語的結果較差的原因可能在於相比與英語和西班牙語語料規模(14k與10k的推文),義大利語4k的推文數目不足以使得本文提出的C2W2S4PT訓練得到一個有說服力的模型。

tweet level

為了檢驗模型在單句上的普適性,作者這裡將本文模型與SVM、隨機森林等傳統基於BOW的方法進行比較。這裡為嚴謹起見,作者只選擇文本surface層面的特徵。同時,作者也引入分別給予character vector輸入和word vector輸入,但輸出結構與本文模型相同的Bi-RNN深度學習模型。

下表是單獨推文層面與PAN2015的比較好的方法的結果比較。在英語和西語中,C2W2S4PT的結果較好。據作者分析這應該與模型在學習中保留相關信息有關。而且必須指出,該模型無需類似Bi-GRU-Word模型,維持一個很大的詞向量矩陣。雖然在義大利語中的效果較差的原因類似前面 user-level,但Bi-GRU-Word模型表現良好的原因還有待探究。

可視化

為了更好說明用C2W2S4PT產生句向量在人物特徵上的區分能力。這裡作者用PCA對其進行降維處理(t-SNE效果不佳),進行sentence vector的可視化。這裡得到的sentence vector是從單獨推文中得到的。這裡作者就外向型這一人物特徵,分別隨機選擇正例負例各五十條,可視化結果如下。為了具體說明,這裡分別舉了三句話作為例子。

從這三句話中可以看出,C2W2S4PT比較好的把握了文本關於人物特徵的隱含信息。比如POS7和NEG3的語義是相近的。但POS7比較長,而且涉及他人,說明作者偏外向。NEG3篇幅較短,且以自我為中心,是比較典型的內向型性格。

簡評

本文從模型上來說並無多少創新之處。但作者對於用戶畫像這一領域的理解比較深入。對於目前詞向量等通用方法的弊端也有自己的認識,並給出了自己的解決方法。而且這裡雖然沒有完全列出,但作者對模型本身的討論,對於復現結果和具體應用,也是很有幫助的。但本文只做交叉驗證,實驗結果說服力略顯不足。總的說來,本文思路值得借鑒,是一篇不錯的工程應用向的論文。


推薦閱讀:

自媒體運營必不可少的一項技能:如何構建用戶畫像
Flask之微博單用戶畫像生成器
淺談風控領域中的用戶畫像
用戶畫像之標籤權重演算法
揭秘!一個節日是這樣誕生的,用戶畫像在營銷的實戰應用

TAG:深度学习DeepLearning | 用户画像 | 自然语言处理 |