主要参考论文:《SHINE: Signed Heterogeneous Information Network Embedding for Sentiment Link Prediction》WSDM 2018
概述
本文的任务是异构符号网络上的情感链接预测。综合情感网络(sentiment network)、社交网络(social network)和用户属性网络(profile network),通过深度自编码器得到的用户表征,经过融合后进行情感链接预测。
背景
Signed Networks (符号网络)
符号网络是指边具有正或负符号属性的网络,其中,正边和负边分别表示积极的关系和消极的关系。真实世界的许多复杂网络中都存在对立的关系,尤其是在信息、生物和社会领域.利用边的符号属性去分析、理解和预测这些复杂网络的拓扑结构、功能、动力学行为具有十分重要的理论意义,并且对个性化推荐、态度预测、用户特征分析与聚类等都具有重要的应用价值。
情感链接
本文针对的是普通用户对于名人的情感(态度),可以是正面的,也可以负面的。情感值的取值范围为[-1,1]。
动机
之前的研究主要集中在文本内容的情感分析,却忽略了社交网络、用户属性等信息。所以在没有文本内容可以使用的时候,这些方法就无法工作,巧妇难为无米之炊。所以本文探究了融合社交网络、用户属性等副信息时,如何进行情感链接预测。
挑战
- 第一个挑战是社交网络中往往没有显示的情感链接,所以缺少这样的数据集。
- 第二个挑战是如何充分利用已有的各种信息,达到较好的预测效果。
构建数据集
为了应对第一个挑战,本文收集了从2009年8月14日到2014年5月23日的29.9亿条微博,自己构建了一个数据集。
提取名人的属性信息
- 使用“Microsoft Satori”知识库;
- 选出“person”类型的实体;
- 通过知识库的编辑频率以及微博上的曝光率来筛选出流行的名人,形成名人库;
- 抽取9种属性:place of birth(出生地),date of birth(生日), ethnicity(种族),nationality(国籍),specialization(专业、职业),gender(性别),height(身高),weight(体重)和astrological sign(星座)。
提取普通用户的属性信息
- 抽取了用户的性别和地点作为用户的属性。
提取普通用户的社交信息
- 从微博中抽取用户的社交信息,构成(a,b)形式的数据,a为follower(粉丝),b为followee(关注对象)。
提取用户对名人的情感
- 使用Jieba对每条微博中的词进行词性标注;
- 选择带有名人库中名人的微博;
- 对这些微博计算对于提及的名人的情感值(-1 ~ 1);
下面详细介绍第3步:
构建“表情-情感”的映射表
手工构建一个“表情-情感”的映射表,将每条微博映射到positive或negative
比如,“I love Kobe! [kiss]”,因为包含[kiss]这边表情,所以映射到positive。
但是仅仅根据表情的类别是不能直接决定用户对名人的情感类别。比如“Miss you Taylor Swift[cry][cry]”就表达的是用户对泰勒的正向情感。
计算词的SO(sentiment orientation)值
为数据集中词频为2,000到10,000,000的词计算一个SO值,作为这个词的情感倾向。
S O ( w o r d ) = P M I ( w o r d , p o s ) − P M I ( w o r d , n e g ) SO\left ( word\right )=PMI\left ( word, pos\right )-PMI\left ( word, neg\right ) SO(word)=PMI(word,pos)−PMI(word,neg)
其中, P M I ( x , y ) = l o g p ( x , y ) p ( x ) p ( y ) PMI\left ( x,y\right )=log\frac{p\left ( x,y\right )}{p\left ( x\right )p\left ( y\right )} PMI(x,y)=logp(x)p(y)p(x,y),表示x和y间的互信息。
计算用户对名人的情感值
给定一个名人
c
c
c和一条微博,构建以
c
c
c为原点的极坐标系,坐标系中的点为微博中的词
t
i
t_i
ti,极径为
c
c
c与
t
i
t_i
ti在句法依存图中的距离的倒数,极角为
θ
i
=
S
O
(
t
i
)
⋅
π
\theta _{i}=SO\left ( t_{i}\right )\cdot \pi
θi=SO(ti)⋅π。将这些点在y轴上的投影值求和,即可得到用户对名人的情感值。
SHINE
提取用户表征
由于node2vec和deepwalk等方法对于符号网络不适用,本文选择了深度自编码器。
情感网络表征(Sentiment Network Embedding)
给定输入 x i x_i xi,第 k k k层的表征为:
x i k = σ ( W s k x i k − 1 + b s k ) , k = 1 , 2 , ⋅ ⋅ ⋅ , K s x_{i}^{k}=\sigma \left ( W_{s}^{k}x_{i}^{k-1}+b_{s}^{k}\right ),k=1,2,\cdot \cdot \cdot ,K_{s} xik=σ(Wskxik−1+bsk),k=1,2,⋅⋅⋅,Ks
损失函数为:
L s = ∑ i ∈ V ∥ ( x i − x i ′ ) ⊙ l i ∥ 2 2 L_{s}=\sum_{i\in V}^{}\left \| \left ( x_{i}-{x}'_{i}\right )\odot l_{i}\right \|_{2}^{2} Ls=∑i∈V∥(xi−xi′)⊙li∥22
其中,
l
i
,
j
=
{
α
>
1
if
s
i
j
=
±
1
1
if
s
i
j
=
0
l_{i,j}=\begin{cases} \alpha > 1 & \text{if}\ s_{ij}=\pm 1 \\ 1& \text{if}\ s_{ij}=0 \end{cases}
li,j={α>11if sij=±1if sij=0
是为了给矩阵中的已有值更大的惩罚,而对未知值更小的惩罚。
社交网络表征(Social Network Embedding)
同上,损失函数为:
L r = ∑ i ∈ V ∥ ( y i − y i ′ ) ⊙ m i ∥ 2 2 L_{r}=\sum_{i\in V}^{}\left \| \left ( y_{i}-{y}'_{i}\right )\odot m_{i}\right \|_{2}^{2} Lr=∑i∈V∥(yi−yi′)⊙mi∥22
用户属性网络表征(Profile Network Embedding)
同上, 损失函数为:
L p = ∑ i ∈ V ∥ ( z i − z i ′ ) ⊙ n i ∥ 2 2 L_{p}=\sum_{i\in V}^{}\left \| \left ( z_{i}-{z}'_{i}\right )\odot n_{i}\right \|_{2}^{2} Lp=∑i∈V∥(zi−zi′)⊙ni∥22
表征融合
本文提供了三种融合方式:
1)求和(Summation)
e i = x ^ i + y ^ i + z ^ i e_{i}=\hat{x}_{i}+\hat{y}_{i}+\hat{z}_{i} ei=x^i+y^i+z^i
2)最大池化(Max pooling)
e i = e l e m e n t − w i s e − m a x ( x ^ i , y ^ i , z ^ i ) e_{i}=element-wise-max\left ( \hat{x}_{i},\hat{y}_{i},\hat{z}_{i}\right ) ei=element−wise−max(x^i,y^i,z^i)
3)拼接(Concatenation)
e i = ⟨ x ^ i , y ^ i , z ^ i ⟩ e_{i}= \left \langle \hat{x}_{i},\hat{y}_{i},\hat{z}_{i}\right \rangle ei=⟨x^i,y^i,z^i⟩
情感链接预测
本文提供了三种预测方式:
1)内积(Inner product)
s i j ˉ = e i T e j + b \bar{s_{ij}}=e_{i}^{T}e_{j}+b sijˉ=eiTej+b
2)欧式距离(Euclidean distance)
s i j ˉ = − ∥ e i − e j ∥ 2 + b \bar{s_{ij}}=-\left \| e_{i}-e_{j}\right \|_{2}+b sijˉ=−∥ei−ej∥2+b
3)逻辑回归(Logistic regression)
s i j ˉ = W T ⟨ e i , e j ⟩ + b \bar{s_{ij}}=W^{T}\left \langle e_{i},e_{j}\right \rangle+b sijˉ=WT⟨ei,ej⟩+b
损失函数
将三种网络的深度自编码器的损失相加,再加上情感链接预测的MSE损失以及正则化项即可。
L = L s + λ 1 L r + λ 2 L p + λ 3 ∑ s i j = ± 1 ( f ( e i , e j ) − s i j ) 2 + λ 4 L r e g L=L_{s}+\lambda _{1}L_{r}+\lambda _{2}L_{p}+\lambda _{3}\sum_{s_{ij}=\pm 1}^{}\left ( f\left ( e_{i},e_{j}\right )-s_{ij}\right )^{2}+\lambda _{4}L_{reg} L=Ls+λ1Lr+λ2Lp+λ3∑sij=±1(f(ei,ej)−sij)2+λ4Lreg
参考链接
- 《SHINE: Signed Heterogeneous Information Network Embedding for Sentiment Link Prediction》
- http://www.jos.org.cn/html/2014/1/4503.htm