賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

哈工大SCIR發表於2017-07-10

作者: 哈工大SCIR 孫曉飛,丁效,劉挺

摘要:微博作為一種短文字社交網路,已經成為了中國最大的微博平臺。微博釋出門檻較低,文體個性隨意,且內容形式豐富多樣,因此攜帶有大量的使用者特徵資訊。根據使用者在社交網路上的行為資訊以及其所釋出內容推斷使用者的屬性資訊具有極高的研究價值和商業價值。其中,如何根據使用者資料構建良好的使用者表示以便於分類器取得更好的分類效果是使用者屬性分類的重要問題。因此,本文探究了八種使用者表示的方法對性別、年齡和地域三種屬性分類結果的影響,並提出了分散式表示與One-Hot表示相結合的使用者表示方法,實驗表明,這種方法可以有效提高三種屬性上分類器的分類效能。

【注】本文已被中文資訊學報錄用待發表

1.引言

隨著以微博為代表的社交平臺的迅速發展,社會媒體以及成為了重要的資訊來源和傳播介質。微博釋出門檻較低,文體個性隨意,且內容形式豐富多樣,具有鮮明的個人特徵,因此,微博中攜帶有大量的使用者特徵資訊。如何根據使用者在社交網路上的行為資訊以及其所釋出內容推斷使用者的屬性資訊對科學研究和商業應用都有著極高的價值。

目前,主流的使用者屬性推斷方法是基於機器學習的分類方法,亦即將屬性推斷問題轉化為屬性分類問題,在向量化的使用者表示的基礎上採用現有的機器學習方法對使用者屬性進行分類。在不改變現有成熟分類方法的前提下,如何得到更好的使用者表示成為了使用者屬性分類問題的核心問題。

本文研究了不同使用者表示方法對性別、年齡、地域三種使用者屬性分類效能的影響,並在現有表示方法的基礎上提出了將半監督的分散式表示和One-Hot表示相結合的方法,實驗結果表明,結合半監督表示和One-Hot表示的使用者表示方法可以有效提高使用者屬性分類的效果。

2.相關研究

2.1 使用者屬性分類


伴隨著網際網路的發展Burger和Henderson[1]以及Nowson和Oberlander[2]等人首先在正式部落格中進行了使用者屬性分類的相關研究。隨著社交網路的興起,基於短文字的使用者畫像識別得到了眾多學者的關注。Delip Rao[3]等人基於Twitter上的文字資訊對性別、年齡、地域、政治傾向四個屬性進行了識別並分別取得了72.33%、74.11%、77.08%和82.84%的準確率。他們將該問題視為二元分類問題,其研究結果表明,使用者的詞彙使用、標點符號使用、表情符號使用對識別準確率有較大影響。Faiyaz Al Zamal[4]等人通過使用者的朋友資訊對性別、年齡和政治傾向性進行了識別,重點探討了不同的朋友資訊(如朋友數量、關係親疏)對識別結果的影響,取得了91.8%的最高準確率。John D. Burger[5]等人基於1850萬Twitter使用者資料進行了性別識別的研究,通過綜合多個分類模型聯合識別性別,取得了92%的準確率。Claudia Peersman[6]等人基於Netlog(一個來自比利時的社交網站)上的使用者資料研究了年齡和性別的識別問題,在研究過程中,他們將性別資訊也作為年齡識別的輸入資料,實驗結果表明,使用者的性別資訊可以對年齡段識別起到輔助作用。Aron Culotta[7]等人基於使用者對Twitter上150個網站的公共主頁的關注關係,利用邏輯迴歸的方法,對性別、年齡、收入、教育程度等屬性進行了識別,並取得了很好的效果。

2.2文字特徵表示


單純的文字資訊在大多數情況下是無法直接用於分類任務的,必須將其中的文字資訊轉化為數字化的形式(向量)。

目前,主流的向量化形式有兩種:獨熱表示(One-Hot Representation)和分散式(Distributed Representation或Word Embedding)表示。

One-Hot的形式,即向量的每一維表示一個詞,如果該詞在文字中出現則該維記為1(或加一),否則記為0。它把每個詞都表示為一個長度等於詞典長度的向量,而且向量中只有少數維度值為非0,其他維度上都為0。One-Hot表示的優點是非常簡潔,但是其缺點是本身不能表示任何語義特徵,向量之間是完全孤立的,無法表現彼此之間可能存在的聯絡。

分散式詞表示(Word Embedding 或 Distributed Word Representation)由Hinton[8] [9]在1984年提出。2006年Bengio[10]提出了以神經網路模型為基礎的神經概率語言模型(Neural Probabilistic Language Model)。2008 年,Collobert [11]等提出了一種計算詞向量的方法。2013年,Mikolov[12] [13]等提出了CBOW(Continuous Bag-of-Word)和Skip-gram兩種詞向量訓練模型,並製作了著名的工具包word2vec,它可以在普通個人電腦上迅速得到詞的分散式表示。Mikolov[14]等人在word2vec基礎上提出了doc2vec方法,可以對文件進行向量化表示。

2.3 圖特徵分散式表示


除了利用文字的分散式表示,一些學者也研究了圖節點的分散式表示。Perozzi[15]等人提出了Deepwalk的方法,通過隨機遊走的方式產生若干隨機序列化路徑,然後通過Skip-gram模型對節點的分散式表示進行權重更新,從而學習到節點的分散式表示。

Jian Tang 等人[16]提出了學習網路節點分散式表示的LINE(Large-scale Information Network Embedding)方法。其基本假設是:相連的節點之間邊權值越大,表示兩個節點之間相似程度越高;兩個節點之間共通連線的節點數越多,表示兩個節點之間相似程度越高。基於這兩種假設,LINE對節點的相似程度進行了建模並進行梯度下降的求解。

3.實驗方法

3.1資料描述


通過新浪微博API和分散式爬蟲,本文共獲取到2萬使用者的屬性資料、文字資料和1千萬條關係網路結構資料。

使用者的屬性資料包括性別、年齡和地域。其中,性別為男和女,年齡為大於30歲和小於30歲,地域劃分為北部、南部和西部(見圖3-1)。為了簡化地域分佈的劃分,本文不考慮地域為“其他”和“海外”的使用者的屬性分類問題。

使用者的文字資料包括微博、表情符號、短連線。最後,採用LTP[17]分詞平臺對文字進行了分詞處理。

關係網路結構資料為微博的關注關係,通過這種關係我們構建了使用者的社交網路關係圖。

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

圖 3-1 地域劃分示意圖

3.2 資料清洗

從微博上獲取的原始資料含有大量的噪聲資料。噪聲的來源包括:大量的公眾號的存在(如公司微博、產品微博、粉絲團等)、使用者資訊錯誤或過期(如年齡資訊錯誤和求學、工作等帶來的地域遷移等)、無意義微博(如許多微博接入應用釋出的微博)等。我們採用了以下五種方式對資料進行清洗。

(1) 通過人工標記若干敏感詞進行過濾:移除使用者名稱中帶有“公司”“公共主頁”“粉絲團”“基金”“旅行”等敏感詞彙的使用者。

(2) 根據使用者活動頻率過濾:本文要求集中的使用者要求必須為活躍使用者。活躍使用者被定義為滿足以下三條特徵的使用者——a. 最近一週內至少釋出過一條微博;b. 最近一月內至少發不過5條微博的使用者;c. 微博總數大於20條。

(3) 刪除出生日期在2010年之後和1950年之前的使用者(即年齡小於五歲和大於65歲的使用者)。

(4) 根據使用者釋出的微博中帶有地域資訊的微博對使用者地域資訊進行更新。

(5) 根據微博來源過濾微博:微博釋出時會帶有來源資訊(如“來自 iPhone客戶端”“來自 微博 weibo.com”等),根據我們的觀察,我們收集了若干合理微博來源,移除了來源為“勳章館”“優酷土豆”“美拍”等不合理來源的微博。

3.3 使用者表示


本文采用了五種使用者表示方法,分別是One-Hot表示、基於使用者文字的分散式表示、基於使用者關係網路的分散式表示、半監督的網路分散式表示和聯合表示。

3.3.1 One-Hot表示


One-Hot表示是最常見的文字向量化表示形式,即向量的每一維表示一個詞,如果這個詞在文字中出現則記為1,否則記為0。One-Hot表示的優點是非常簡潔,但是其缺點是本身不能表示任何語義特徵,向量之間是完全孤立的,無法表現彼此之間可能存在的聯絡。為了避免維度過大,本文通過卡方檢驗的方式選取了10000個詞作為特徵。為了取得更好的結果,在詞特徵的基礎上同時加入了表情符特徵(emoticon)、短連線特徵(URL)和使用者名稱特徵(user name)。


3.3.2 基於文字的使用者分散式表示


基於word2vec的分散式表示:首先基於word2vec工具,首先對詞進行向量化,獲得詞的低維表示。然後將使用者所使用的詞進行池化(Max Pooling),亦即對所有使用者使用的詞彙的詞向量在每一維度上取最大值,以得到使用者的向量化表示。

基於doc2vec的分散式表示:將每個使用者視為一篇文件,文件的句子即使用者所釋出的微博。因此,通過doc2vec工具就可以直接獲得使用者的向量化表示。


3.3.3 基於網路結構的使用者分散式表示


由於僅有的兩萬使用者之間所構建的關係網路圖較為稀疏,無法得到較好的節點分散式表示,而全閘道器係網路圖又過於龐大,會給資料的儲存和學習速度帶來較大的壓力,因此,我們對在兩萬使用者關係網路圖的基礎上進行了兩次廣度優先搜尋,對原始網路圖進行了擴充套件,其過程如圖3-2。

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

圖 3-2 網路圖擴充套件示意圖

針對上述網路結構,我們採用了基於CBOW(Continuous Bag-of-Word)模型的Deepwalk[15]工具和LINE[16]工具對網路結構進行了建模以學習網路結構中使用者的分散式表示。


3.3.4 半監督的網路分散式表示


上述兩種學習分散式表示的方法都是採用無監督的方式,可以產生一般化的使用者分散式表示從而用於多種任務,然而,這種方法並沒有利用任何的有標記資料,其結果是產生的向量不具有任務針對性,為了提升實驗的效果,我們在學習使用者分散式表示中加入一些有監督的資訊,從而使得學到的的使用者表示更加適用於使用者畫像任務。

我們在Deepwalk的基礎上採用了兩種半監督方法學習使用者的向量化表示:

一種最直接的方法就是在Deepwalk得到的隨機遊走路徑中插入一定的有監督資訊,然後在新的路徑中學習使用者的分散式表示,如原路徑為:

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

則插入有監督資訊(label)後路徑為:

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

圖 3‑3有監督的CBOW模型

另一種方式是直接將詞w對應的label資訊(記為lw)加入到word2vec模型中,其模型如圖 3-3所示。

在通過w的上下文context(w)後,不僅計算p(w |context(w)),還要計算p(lw |context(w)),並對權重進行更新。根據和向量計算p(lw |context(w))的方法是邏輯迴歸,其損失函式如式 (3-1) (3-2) 。

            

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

(3-1)

                         

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

(3-2)

其中xw表示詞w的上下文向量的加和,θ表示待學習引數,σ表示sigmoid函式。表示word2vec模型中的損失函式,L1表示CBOW模型中針對於w的的context損失函式,L2表示針對於w的label的損失函式,λ表示L2的權重。

其優化的目標函式如式(3-3)、(3-4)、(3-5)、(3-6),採用梯度上升法求解。  

     

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

(3-3)

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

(3-4)

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

(3-5)

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

(3-6)


3.3.5 聯合表示


在上述模型的基礎上,將One-Hot表示和網路結構的半監督分散式表示所獲取到的向量進行拼接,構建了聯合表示的使用者向量。這種表示方法可以同時利用文字資訊和網路結構資訊。


3.4模型選擇


本文選擇的分類模型是邏輯迴歸模型,對於地域屬性中的多分類問題採用的是Softmax迴歸(在下文中統一稱之為邏輯迴歸)。邏輯迴歸是一種較為成熟的分類器,相比於貝葉斯分類器,邏輯迴歸對實數向量的支援更好;而相比於SVM和神經網路等分類器,邏輯迴歸的模型更為簡單,訓練速度更快,可以迅速得到實驗結果;而相對於整合學習,邏輯迴歸由於模型簡單且對經驗等因素依賴較小,其結果更適合體現輸入資料不同對最終實驗結果的影響。基於以上原因,本文選擇了邏輯迴歸模型作為分類器。

4.實驗結果

4.1 One-Hot表示


整合學習的主要思想使用多種分類器對資料進行分類,起到弱分類器加和得到強分類器的效果。本文對上述的五中不同特徵採用了不同的分類器,分別得到其臨時分類結果後,將結果輸入到總分類器中,得到最終結果。其中,特徵分類器得到的結果是K維實數向量,其中K表示屬性的值域大小(如對年齡K=1,對地域K=3)。

最終採用五折交叉驗證後的結果如表1所示:

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究


4.2 利用文字的使用者分散式表示


本節使用word2vec和doc2vec兩個工具通過使用者的文字資料分別學習使用者的分散式表示,並採用邏輯迴歸分類器對使用者的不同屬性進行分類。

利用基於word2vec(生成的向量長度為100,視窗大小為5,模型為CBOW模型,演算法為Hierarchical Softmax模型)生成的使用者分散式表示實驗結果見表 2。

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

利用基於doc2vec(生成的向量長度為100,視窗大小為5,模型為CBOW模型,演算法為Hierarchical Softmax模型錯誤。)生成的使用者分散式表示實驗結果見表3。

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

從實驗結果的對比可以看出,單純詞向量累加的形式所獲取到的使用者分散式表示並不能有效地提高實驗的效果,相反,各個引數都有所下降。與之相比,採用doc2vec工具直接得到的使用者分散式的表現表示雖然較之詞袋模型仍然有所下降,但是卻要高於word2vec累加的表現。


4.3 基於網路結構的使用者分散式表示


本節中,我們使用Deepwalk和LINE兩個工具通過使用者的關係網路資料分別學習使用者的分散式表示,並採用邏輯迴歸分類器對使用者的不同屬性進行分類。

基於DeepWalk(生成的向量長度為100,視窗大小為5,模型為CBOW模型,演算法為Hierarchical Softmax模型,五折交叉驗證)生成的使用者分散式表示實驗結果見表4。

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

基於LINE(一度節點生成的向量長度為200,二度節點生成的向量長度為200,總長度為400)生成的使用者分散式表示實驗結果見表5。

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

從實驗結果可以看出,使用者的網路結構資訊蘊含了豐富的使用者畫像資訊。這一結論與Delip Rao[3]等人在Twitter上做使用者畫像工作所得到的結論不同,原因是Delip Rao等人只利用了使用者社交網路的數量資訊——朋友數、粉絲數、粉絲中屬性分佈比例——而沒有利用更深層的網路結構資訊。

另外,性別屬性的準確率、召回率、F1值都接近詞袋模型的結果,而年齡、地域屬性的三個引數都要高於詞袋模型的表現。造成這種結果的原因是,使用者關係網路本身是對使用者的一種聚類的體現,使用者之間的連線更傾向於在相近年齡段、相近地域的人之間產生,因此對於年齡和地域兩個屬性而言,使用者網路結構比使用者用詞習慣含有更多的相關資訊。


4.4 基於網路結構的半監督使用者分散式表示


本節使用半監督的Deepwalk演算法通過使用者的關係網路資料分別學習使用者的分散式表示,並採用邏輯迴歸分類器對使用者的不同屬性進行分類。

基於插值方式的Deepwalk(生成的向量長度為100,視窗大小為5,模型為CBOW模型,演算法為Hierarchical Softmax模型)生成的使用者分散式表示實驗結果見表6。

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

表7 半監督word2vec實驗結果基於半監督word2vec的Deepwalk生成的使用者分散式表示實驗結果見表7。

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

根據實驗結果可以看出,半監督的Deepwalk方法得到的使用者分散式表示可以更好地對性別、年齡和地域三個屬性進行分類。


4.5 One-Hot表示與分散式表示整合學習


本節在4.1節的基礎上加入使用者網路結構獲得的使用者表示,以提高分類效果。其實驗結果見表8。

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

從實驗結果可以看出,結合One-Hot特徵與網路關係的分散式特徵得到的使用者表示可以得到更高的準確率、召回率和F1值,事實上,目前得到的準確率是所有實驗中效果最好的。

5.結論

針對新浪微博上的使用者屬性分類問題,我們研究了八種不同的使用者表示方法對性別、年齡、地域是那種屬性分類效果的影響。同時,本文提出了一種半監督的分散式表示方法。實驗表明,將半監督表示與One-Hot表示相結合的聯合表示在三個屬性上皆取得了最好的實驗結果。

參考文獻

[1] Burger J D, Henderson J, Kim G, et al. Discriminating gender on Twitter[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics, 2011: 1301-1309.

[2] Nowson S, Oberlander J. The Identity of Bloggers: Openness and Gender in Personal Weblogs[C]//AAAI Spring Symposium: Computational Approaches to Analyzing Weblogs. 2006: 163-167.

[3] Rao D, Yarowsky D, Shreevats A, et al. Classifying latent user attributes in twitter[C]//Proceedings of the 2nd international workshop on Search and mining user-generated contents. ACM, 2010: 37-44.

[4] Al Zamal F, Liu W, Ruths D. Homophily and Latent Attribute Inference: Inferring Latent Attributes of Twitter Users from Neighbors[J]. ICWSM, 2012, 270.

[5] Burger J D, Henderson J, Kim G, et al. Discriminating gender on Twitter[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics, 2011: 1301-1309.

[6] Peersman C, Daelemans W, Van Vaerenbergh L. Predicting age and gender in online social networks[C]//Proceedings of the 3rd international workshop on Search and mining user-generated contents. ACM, 2011: 37-44.

[7] Culotta A, Ravi N K, Cutler J. Predicting the Demographics of Twitter Users from Website Traffic Data[C]//Proceedings of the International Conference on Web and Social Media (ICWSM), in press. Menlo Park, California: AAAI Press. 2015.

[8] Hinton G E. Distributed representations[J]. 1984.

[9] Hinton G E. Learning distributed representations of concepts[C]//Proceedings of the eighth annual conference of the cognitive science society. 1986, 1: 12.

[10] Bengio Y, Schwenk H, Senécal J S, et al. Neural probabilistic language models[M]//Innovations in Machine Learning. Springer Berlin Heidelberg, 2006: 137-186.

[11] Collobert R, Weston J. A unified architecture for natural language processing: Deep neural networks with multitask learning[C]//Proceedings of the 25th international conference on Machine learning. ACM, 2008: 160-167.

[12] Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space[J]. arXiv preprint arXiv:1301.3781, 2013.

[13] Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[C]//Advances in neural information processing systems. 2013: 3111-3119.

[14] Le Q V, Mikolov T. Distributed representations of sentences and documents[J]. arXiv preprint arXiv:1405.4053, 2014.

[15] Perozzi B, Al-Rfou R, Skiena S. Deepwalk: Online learning of social representations[C]//Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2014: 701-710.

[16] Tang J, Qu M, Wang M, et al. LINE: Large-scale Information Network Embedding[C]//Proceedings of the 24th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2015: 1067-1077.

[17] Che W, Li Z, Liu T. Ltp: A chinese language technology platform[C]//Proceedings of the 23rd International Conference on Computational Linguistics: Demonstrations. Association for Computational Linguistics, 2010: 13-16.


本文來源於哈工大SCIR

原文連結點選即可跳轉

賽爾原創 | 使用者表示方法對新浪微博中使用者屬性分類效能影響的研究

相關文章