【論文解讀 WSDM 2018 | SHINE】Signed HIN Embedding for Sentiment Link Prediction

論文鏈接:https://arxiv.org/abs/1712.00732

代碼鏈接:https://github.com/boom85423/hello_SHINE

會議:WSDM 2018

這位大佬介紹得很清楚明瞭:https://boom85423.github.io/hello_SHINE/SHINE.slides.html


目錄

1 摘要

2 介紹

2.1 動機

2.2 挑戰

2.3 已有的方法

2.4 作者提出

3 數據集的建立

3.1 數據採集

3.2 情感抽取

4 方法

4.1 問題定義

4.2 SHINE

4.2.1 整體框架

4.2.2 Sentiment Network Embedding

4.2.3 Social Network Embedding

4.2.4 Profile Network Embedding

4.2.5 表示的聚合和情感預測

4.2.6 優化

4.2.7 分析

5 實驗

6 總結


1 摘要

在社交網絡中人們經常表達對彼此的看法,用戶之間也就產生了大量的情感連接(sentiment links)。情感連接的預測在許多領域都是一項基本任務,例如個人廣告以及公共輿論分析。先前的許多工作主要關注於基於文本的情感分類忽略了用戶的社會關係以及用戶畫像中包含的大量信息。爲了解決這一問題,本文提出瞭如何在異質信息中,預測可能存在的情感連接

首先,由於主流的社交網絡缺少明確的情感連接信息,作者使用實體級別的情感抽取方法,建立了一個帶標註的異質情感數據集,包含有用戶的情感關聯、社交關聯以及用戶畫像知識。然後提出了端到端的模型SHINE,從異質網中抽取出用戶的隱層表示,並用於情感連接的預測。SHINE使用了多個深度自編碼器,在保留網絡結構的同時,將每個用戶節點映射到低維的特徵空間。

作者在兩個真實存在的數據集上,進行了鏈接預測節點推薦任務,效果均優於state-of-the-art。同時實驗結果還表明了SHINE在冷啓動場景的功效。

2 介紹

社交網絡中的情感連接和用戶發表內容的語義信息有關,積極的情感連接例如“信任”或“支持”,消極的例如“討厭”或“反對”。對於一個給定的情感連接,如何判斷它是積極的還是消極的?這要根據從連接的發出者到接受者,相關的內容表達出了積極的還是消極的態度。像這樣的情感連接組成的網絡拓撲,被稱作情感網絡(sentiment network)。

2.1 動機

以往的工作主要是基於用戶發表的具體內容進行情感分類,這種方法不能在沒有先驗的內容信息的情況下發現情感連接,這會導致大量的可能存在的情感連接不能被發現。

如果沒有先驗的內容信息,該怎麼預測情感連接?這類問題可以應用於個人廣告、新朋友發現、輿論分析、民意調查等方面。

2.2 挑戰

(1)情感標籤的缺乏使得預測連接很難;

(2)情感生成的複雜性以及情感連接的稀疏性,使得算法很難實現較好的效果。

2.3 已有的方法

(1)過度依賴於人爲設計特徵,不能用於真實世界的數據中。

(2)一些network embedding的方法:IsoMap、拉普拉斯特徵映射、DeepWalk、LINE、Node2vec、SDNE,可自動學習到用戶的特徵,但是隻能用於有正加權的網絡(unsigned),或者同質網絡(邊類型單一)。不適用於情感連接預測任務。

(3)還有一些針對異質網絡的表示學習方法,屬性網的表示學習、符號網(signed network)的表示學習(如SNE)。這些方法只能針對特定類型的網絡,不能用於解決現實世界中異質網的情感預測問題。

2.4 作者提出

本文的工作旨在解決,在沒有和情感有關的文本內容的條件下,預測社交網絡中的情感連接。分爲兩步:

(1)由於缺少相關的標註數據,所以作者使用state-of-the-art的實體級別的情感抽取方法,從微博發帖中抽取出情感,以構建有標註的情感數據集

爲了解決稀疏性的問題,作者還收集了兩種附加信息:用戶之間的社會關係、用戶畫像的知識。

(2)提出端到端的SHINE模型(Signed Heterogeneous Information Network Embedding),可以學習到用戶節點的表示,還能預測異質網絡中的情感連接。SHINE使用了多個深度自編碼器,分別從情感網絡社交網絡畫像網絡中抽取用戶高度非線性的表示信息。然後通過聚合函數融合這三種表示,用於情感預測。

SHINE還方便附加信息模塊(如社會關係、用戶畫像)的添加或刪除。

3 數據集的建立

3.1 數據採集

(1)獲取微博的帖子數據,使用Jieba分詞標記推文中每個詞的詞性,選擇含有標記爲person name的單詞所屬的推文。根據作者建立的名人數據集,在分詞時判斷單詞是否應被標記爲person name。獲得這些推文後,對每個推文計算其對所提到的名人的情感值(-1~+1),選擇出打分的絕對值高的推文。最終的數據集由三元組(a, b, s)組成,a爲發表推文的用戶,b爲推文中提到的名人,s \in {\{+1,-1\}}爲用戶a對名人b的情感值。如何計算情感值在後面介紹。

(2)社交關係數據集由二元組(a, b)組成,表示a關注了b。

(3)普通用戶畫像:抽取了性別和位置兩個屬性,表示成one-hot向量。

(4)名人用戶畫像:使用微軟Satori3知識庫並結合在微博中出現的頻次,來提取名人的信息。抽取了9個屬性(離散值):出生地、出生日期、種族、國籍、專業、性別、身高、體重和星座。用one-hot向量表示。

3.2 情感抽取

爲了抽取出推文中用戶對名人的情感信息,首先建立一個情感詞典。詞典由單詞和其對應的情感(sentiment orientation: SO)分數組成。

爲了建立詞典,首先作者人爲構建了“表情符號-情感”映射文件。推文中出現的表情符號,就可以映射成積極的或消極的情感。

但是表情符號不能直接看成情感,因爲有大量不匹配的例子,例如:“Miss you Taylor Swift [cry][cry]”。根據文獻[2]採用的方法,情感分數計算如下:

其中 ,pos和neg分別代表推文中的正類(積極)和負類(消極)。SO值隨後會被歸一化到[-1, 1]。

得到詞典後,使用SentiCircle進行情感計算。給定一個提及名人的推文,將名人上下文的語義信息表示在極座標空間中,代表名人的點位於原點,推文中的其他項表示爲散點,分佈在其周圍。對於名人項c,項t_i的座標爲(r_i,\theta _i)。其中r_i是使用LTP計算c和t_i在句法依存樹上的距離的倒數。\theta _i=SO(t_i)\cdot \pi

推文表達的對於名人c的情感,可以用所有項c_i的幾何中心表示。將幾何中心映射到y軸上,相應的值作爲對改名人的最終情感值。

4 方法

4.1 問題定義

作者將問題形式化爲在異質信息網絡中預測情感連接,並將原始的異質網絡分成如下三種單類型(只有一種類型的邊)的網絡:

(1)Sentiment networkG_s=(V,S),其中V={\{1,2,...,|V|\}} 表示用戶集合,S={\{s_{ij}|i \in V, j \in V\}}表示用戶之間的情感連接。s_{ij} 可取值爲+1、-1或0,分別表示用戶i對用戶j的情感是正向的、負向的、中立的。

(2)Social networkG_r=(V,R),其中R={\{r_{ij}|i \in V, j \in V\}}表示用戶間的社交關係,r_{ij}取值爲1或0,代表用戶i是否關注了用戶j。

(3)Profile networkA={\{A_1,...,A_{|A|}\}} 表示用戶屬性的集合,a_{kl} \in A_k表示屬性A_k的第l個可能的取值。將屬性的所有可能值組合起來,可表示成U=\cup A_k={\{a_j|j=1,...,\sum _k|A_k|\}} 。則無向的bitpartite profile network可以定義成G_p=(V,U,P) ,其中P={\{p_{ij}|i \in V, a_j \in U\}} 表示用戶節點和屬性值的連接,p_{ij}取值爲1或0,表示有無連接。

最終任務形式化爲給定G_s, G_r, G_p三個網絡G_s中進行情感連接預測

三個網絡如下圖所示:

4.2 SHINE

4.2.1 整體框架

SHINE整體框架如下圖所示:

模型由三部分組成:(1)情感的抽取以及異質網的構建;(2)用戶表示的抽取:(3)表示的聚合以及情感預測

對於每個提及某一名人的推文,首先計算與之相關聯的情感,並通過使用來自三個網絡的用戶和名人的鄰居信息,來表示這條情感連接中的用戶和名人(即使用節點的鄰域信息來表示節點)。接着設計三個不同的自編碼器,分別從稀疏的基於鄰域的表示中,抽取短小稠密的節點表示。然後聚合這三種類型的表示,形成最終的異質網絡節點表示。對兩個節點嵌入,使用特定的相似度衡量函數(如:內積、logistic regression)就可以實現情感連接預測。基於預測結果預測目標(情感抽取時獲得的ground truth),就可以進行整個模型的訓練

4.2.2 Sentiment Network Embedding

給定情感網絡G_s=(V,S) ,用戶i的情感鄰接向量定義爲x_i={\{s_{ij}|j \in V\}}\cup {\{s_{ji}|j \in V\}} 。不能用x_i直接作爲用戶i的情感表示,因爲這個鄰接向量非常稀疏而且維度很大。已有的工作表明,深度自編碼器可以捕獲高度非線性的網絡結構,生成低維的節點向量表示。自編碼器由編碼器和解碼器兩部分組成,編碼器是將輸入數據映射到表示空間解碼器從表示中重構出原始輸入。SHINE就是使用自編碼器,高效地進行用戶節點的表示學習。爲情感網絡的嵌入學習設計的自編碼器如下圖所示:

給定輸入x_i,每層的隱層表示計算如下:

其中W^k_sb^k_s 是第k層的權重和偏移參數,\sigma (\cdot )是非線性激活函數,K_s是自編碼器的層數,x_i^0=x_i,定義x_i^'=x^{K_s}_ix_i的重構。用戶i的情感嵌入表示在第K_s/2層獲得

自編碼器的目標就是最小化輸入和輸出的重構損失,損失函數定義如下:

其中\odot表示哈達馬乘積,l_i=(l_{i,1}, l_{i,2},...,l_{i,2|V|}) 是重構的情感權重向量:

也就是說,爲非零元素施加更多的懲罰,因爲非零元素和零元素相比,含有更確切的情感信息

4.2.3 Social Network Embedding

和情感網絡嵌入相似,給定社交網絡G_r=(V,R) ,用戶i的情感鄰接向量定義爲y_i={\{r_{ij}|j \in V\}}\cup {\{r_{ji}|j \in V\}}。使用自編碼器從社交網絡中抽取出節點表示。每層的隱層表示計算如下:

重構損失函數如下:

4.2.4 Profile Network Embedding

用戶畫像網絡G_p=(V,U,P) 是一個無向bitpartite graph,由兩個不相交的集合,用戶集合和屬性值集合組成。對於用戶i,其profile adjacency vector定義爲z_i={\{p_{ij}|j \in U\}} 。用戶i在每層的隱層表示計算如下:

重構損失函數如下:

4.2.5 表示的聚合和情感預測

使用聚合函數g(\cdot ,\cdot ,\cdot )x_i,y_i,z_i 三個表示聚合爲e_i。一些可用的聚合函數列舉如下:

給定用戶i和j的表示e_i,e_j,使用f(\cdot ,\cdot )進行相似度計算,從而進行情感預測。可用的相似度計算函數舉例如下:

4.2.6 優化

SHINE模型最終的目標函數如下所示:

第4項是有監督的損失項,根據預測結果和實際值計算而得。最後一項是正則項,以避免過擬合,計算如下:

4.2.7 分析

1)不對稱性

SHINE可用於有向圖,即邊(i, j)和(j, i)的值不對稱。選擇合適的相似度計算函數f可以解決這個問題,即f(i,j)\neq f(j,i) ,例如logistic regression。若選擇了對稱的相似度計算函數(如內積或歐氏距離),仍然可以將原始的SHINE模型擴展成非對稱感知的版本。具體方法是,設置兩組不同的自編碼器分別提取源節點和目標節點的表示。

可以看出,在基本的SHINE模型中,爲了緩解過擬合的問題,源節點和目標節點的自編碼器參數是共享的。由於不對稱的原因,可以明確地區分開兩個自編碼器。

2)冷啓動問題

大多數方法不能解決冷啓動問題,是因爲它們僅僅使用了目標網絡中的信息(如:本文的情感網絡),而新來的節點在目標網絡中幾乎沒有交互信息。SHINE可以解決這一問題,因爲它充分利用了副信息,且自然地結合了目標網絡,以學習到用戶節點表示。【在實驗中進一步說明了效果】

3)靈活性

SHINE有高度的靈活性,對於新的用戶的副信息(如:用戶瀏覽歷史),可以設計一個並行的組件,並將其插入到原始的SHINE框架中,以更好地進行表示學習。相反,若沒有副信息,也可以從SHINE框架中撤出社交自編碼器或者畫像自編碼器。

另外聚合函數和相似度計算函數,也可以靈活選擇。

5 實驗

數據集:Weibo-STC(作者創建)、Wiki-RfA。

實驗任務:鏈接預測、節點推薦任務。

對比方法

(1)LINE、Node2vec、SDNE:不適用於異質網,分別用於三個網絡的節點表示學習;

(2)FxG:a signed link prediction approach,不能處理微博數據集中的副信息;

(3)LIBFM:分類模型。

實驗結果:

(1)鏈接預測實驗結果

(2)節點推薦實驗結果

(3)冷啓動問題實驗結果

6 總結

本文提出SHINE模型,解決了在未知社交網絡中情感相關內容的前提下,進行情感連接的預測問題。使用深度自編碼器,在保留網絡結構的同時,抽取出了用戶節點高度非線性的表示

在實驗中和多個表現強勁的baseline比較,體現出了SHINE模型的競爭力。還闡釋了使用社交關係信息用戶畫像信息有效性,尤其是在冷啓動問題表現出了較好的效果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章