内容增强网络表示学习的一般框架(A General Framework for Content-enhanced Network Representation Learning)(1)

题目

A General Framework for Content-enhanced Network Representation Learning
题目分析(analysis):
1)结构+内容的Network Embedding
2)Content-enhanced,应该注意内容如何enhance

摘要

现有的网络嵌入方法大多只依赖于网络结构,而忽视了能够代表这个节点的丰富的相关文本信息。本文提出内容增强网络嵌入(CENE),来联合学习这两个部分的信息。该方法将内容信息作为一种特殊的节点来处理,将文本建模和结构建模集成在一个通用框架中。

简介

网络嵌入的经典算法有:Deepwalk(2014)LINE(2015)GraRep(2015)node2vec(2016)等。
之前的这些大多数方法只利用来自网络结构的信息,而没有考虑使用文本信息,而文本信息对于节点的表示是有益的,并且也有利于下游任务的表示。
为了应对这个挑战,相应的算法也应运而生:
Text-associated DeepWalk (TADW)(2015):它通过矩阵分解将文本特性合并到网络嵌入中,但是这个方法通常存在计算成本高和无法扩展到大规模网络的问题。此外,TADW中的内容被简单地合并为无序的文本特性,而不是显式地建模。因此,不能很好地捕获内容中包含的更深的语义。

本文提出的方法:Content-Enhanced Network Embedding (CENE)
1)联合学习网络结构和文本内容;
2)每一条内容信息都整合成一个文档,并且创建一个特殊的节点用来将每个文档都整合到这个网络当中;
3)最终这个网络将有两种类型的链接:node-nodenode-content
4)通过对联合目标的优化,有效地将内容中包含的知识提取为节点嵌入;

相关工作

1. 文本嵌入(Text Embedding)

简单直观的方法就是平均在文本中每个单词的嵌入表示,如:

  1. Composition in distributional models of semantics. 2010
  2. Linear compositional distributional semantics and structural kernels. 2013
  3. Deep unordered composition rivals syntactic methods for text classification. 2015
    大多数复杂的模型就使用句子或者文档的内部结构去辅助这个嵌入,如:
  4. Recursive deep models for semantic compositionality over a sentiment treebank. 2013
  5. Grounded compositional semantics for finding and describing images with sentences. 2014
    就使用RNN来解析得到的解析树,取获得句子的表示。为了缓解对语法解析的依赖,CNN就被使用:
  6. A convolutional neural network for modelling sentences. 2014
  7. Effective use of word order for text categorization with convolutional neural networks. 2015
    就使用CNN,使用简单的自底向上层次结构进行组合。其他的一些缓解模型就有基于LSTM,如:
  8. Skip-thought vectors. 2015
    使用长短期记忆单元来捕获长期的依赖。

2. 网络嵌入(Network Embedding)

Hoff等人在2002Latent space approaches to social network analysis.一文中首次提出了学习网络中节点的潜在空间表示。早期的工作关注于特征向量(feature vectors & leading eigenvectors)的网络表示,如:
MDS:Modern multidimensional scaling: Theory and applications. 2005
IsoMap:A global geometric framework for nonlinear dimensionality reduction. 2000
LLE:Nonlinear dimensionality reduction by locally linear embedding. 2000
Laplacian Eigenmaps:Laplacian eigenmaps and spectral techniques for embedding and clustering. 2001
最近的一些发展就包括:
DeepWalk:Deepwalk: Online learning of social representations. 2014
受到DeepWalkwalklet:
Walklets: Multiscale graph embeddings for interpretable network classification. 2016 关注于多刻度表示学习
的启发,node2vec
Node2vec: Scalable feature learning for networks. 2016
被提出,探寻了不同的随机游走策略。
LINE:Line: Large-scale information network embedding. 2015 提出了网络中一阶、二阶相似度的概念,
Cao等人,在Grarep: Learning graph representations with global structural information. 2015 扩展了这个相似性到K阶,并整合了网络全局结构信息到这个学习过程中。
Tang等人在2015年,在Pte: Predictive text embedding through large-scale heterogeneous text networks. 中将嵌入方法应用在了异构文本网络中;
Structural deep network embedding. 2016 采用了深度模型来捕获非线性网络结构;
Yang等人在2015年,在Network representation learning with rich text information.中首次组合了网络结构信息和文本信息来学习网络嵌入表示;他们表明,DeepWalk等价于矩阵分解(MF)和文本特征的顶点可以通过分解一个文本相关的矩阵合并。但该方法存在MF算法计算量大、难以扩展到大规模网络的问题。
2016年,Pan等人,在Tri-party deep network representation.中组合了DeepWalkDoc2Vec,用部分节点标签来组成一个半监督的模型。
Doc2Vec:Distributed representations of sentences and documents. 2014
然而,Doc2Vec远不能表达内容。此外,它也不能推广到图像等其他形式。

问题定义

有向图 G = ( V , E , C ) G=(V,E,C) G=(V,E,C) C = { ( v , d o c ) ∣ v ∈ V ; d o c = { S i } } C=\{ (v, doc)|v \in V; doc = \{ S_i\}\} C={(v,doc)vV;doc={Si}}, S i S_i Si 是文档中第 i i i个句子,组成是单词序列,如 < w 1 , w 2 , . . . , w n > <w_1, w_2,..., wn> <w1,w2,...,wn>
网络嵌入的目标是:给定一个网络 G G G,取学习到图中的每个点的向量表示,即: e v ∈ R d , d < < ∣ V ∣ e_v \in \mathbb{R}^d, d<<|V| evRdd<<V,其中 e v e_v ev是节点 v v v的嵌入向量表示。

方法

网络结构信息,最小化目标函数:
在这里插入图片描述
S P SP SP是积极顶点对, S N SN SN是消极顶点对。例如:
在基于随机游走的算法中,如:DeepWalk、walklet、node2vec, S P SP SP是随机行走生成的路径中相邻顶点对的集合, S N SN SN是所有负采样集的并集。
p ( u , v ; θ ) p(u, v;\theta) p(u,v;θ)是顶点 u u u和顶点 v v v之间的联合概率,意味着在 S P SP SP ( u , v ) (u, v) (u,v)对存在的概率;
相应的, 1 − p ( u , n ; θ ) 1-p(u, n;\theta) 1p(u,n;θ)是在 S P SP SP ( u , v ) (u, v) (u,v)对不存在的概率;

注:
由于在本文中,作者对于 e u e_u eu e v e_v ev等的解释没有详细的说明,这里就看作对整体nnnc网络进行随机游走后所产生的游走序列,进而得到的一个嵌入向量表示。
因为,在该文中,作者在计算逻辑斯特概率的时候,直接表示为 e x p ( − e u ⋅ e v ) exp(-e_u \cdot e_v) exp(euev),而又没有其余的解释。


为了利用内容信息,一个简单的方式就是联合内容嵌入和节点嵌入,然后各自独立训练。
形式化的定义:
e u = e u ⨁ f e ( C u ) e_u=e_u \bigoplus f_e(C_u) eu=eufe(Cu) 表示为节点 u u u的表示,
C u = { ( u , c ) ∣ ( u , c ) ∈ C } C_u=\{ (u, c) | (u, c) \in C\} Cu={(u,c)(u,c)C} 表示为节点 u u u的所有的内容的集合,
在本文中,将文本作为一种特殊的节点考虑,那么扩展后的网络可以表示为:
G a u g = ( V n , V c , E n n , E n c ) G^{aug} = (V_n, V_c, E_{nn}, E_{nc}) Gaug=(Vn,Vc,Enn,Enc)
V n = v V_n = v Vn=v,
V c = { c ∣ ( u , c ) ∈ C , u ∈ V } V_c = \{ c| (u, c) \in C, u \in V\} Vc={c(u,c)C,uV},
E n n = E = V n × V n E_{nn} = E = V_n \times V_n Enn=E=Vn×Vn, 节点之间的边集合
E n c = V n × V c E_{nc} = V_n \times V_c Enc=Vn×Vc, 节点和内容的链接集合
这种方式可以缓解原始图中边的稀疏性问题。

这个框架就可以表示为下图:
在这里插入图片描述
下面,就根据前面的公式1介绍node-nodenode-content这两类连接各自的损失函数。

1. Node-Node Link

受到2013Distributed representations of words and phrases and their compositionality.中负采样的启发,文中采样集合:
S P = E n n SP= E_{nn} SP=Enn
S N n n u = { v ′ = ( u , v ′ ) ∉ E n n } SN^u_{nn} = \{v' = (u, v') \notin E_{nn}\} SNnnu={v=(u,v)/Enn}
S N = ∪ u ∈ V n n S N n n u SN = \underset{u \in V_{nn}} \cup SN^u_{nn} SN=uVnnSNnnu取并集

那么,节点-节点连接之间的损失函数可以描述为:
在这里插入图片描述
使用logistic函数来计算概率 p ( u , v ; θ ) p(u, v; \theta) p(u,v;θ) , 简写为: p ( u , v ) p(u, v) p(u,v)
p ( u , v ) = σ ( e u ⋅ e v ) = 1 1 + e x p ( − e u ⋅ e v ) p(u, v) = \sigma (e_u \cdot e_v) = \frac{1}{1+ exp(-e_u \cdot e_v)} p(u,v)=σ(euev)=1+exp(euev)1
注: ⋅ \cdot 是点乘。

但是,可以注意到上式是一个对称的操作,也即是 p ( u , v ) p(u, v) p(u,v) = p ( v , u ) p(v, u) p(v,u),这显然是不合适的,因为前面也提到了是有向图,故而我们可以根据入度和出度来描述:
在这里插入图片描述

2. Node-Content Link

类似的,我们定义:
S P = E n c SP = E_{nc} SP=Enc
S N n c u = { c ′ ∣ ( u , c ′ ) ∉ E n c } SN^u_{nc} = \{ c' | (u, c') \notin E_{nc} \} SNncu={c(u,c)/Enc} 表示负采样的边 ( u , c ) (u, c) (u,c)集合,损失函数如下:
在这里插入图片描述
类似的,使用logistic函数来计算概率 p ( c , u ; θ ) p(c, u; \theta) p(c,u;θ) , 简写为: p ( c , u ) p(c, u) p(c,u)
p ( c , u ) = σ ( e u ⋅ f e ( c ) ) = 1 1 + e x p ( − ( e u o u t ⨁ e u i n ) ⋅ f e ( c ) ) p(c, u) = \sigma (e_u \cdot f_e(c)) = \frac{1}{1+ exp(-(e^{out}_u \bigoplus e^{in}_u) \cdot f_e(c))} p(c,u)=σ(eufe(c))=1+exp((euouteuin)fe(c))1
⨁ \bigoplus 运算符,表示连接。
f e ( c ) f_e(c) fe(c)是一个复合函数,用于计算文档c的一个嵌入表示,将在下面介绍。
对于学习句子的表示在文中给出了三种典型的模型,分别是,如下图:
在这里插入图片描述

1. Word Embedding Average (WAvg)

该方法简单地将单词向量的平均值作为句子嵌入,而忽略了语序:
在这里插入图片描述
提出:Bag of tricks for efficient text classification. 2016

2. Recurrent Neural Network (RNN)

这里使用gated recurrent unit(GRU, 2014, Learning phrase representations using rnn encoder-decoder for statistical machine translation.),不是简单地使用最终状态的隐藏表示作为句子表示,我们对所有历史隐藏状态应用平均pooling:
在这里插入图片描述

3. Bidirectional Recurrent Neural Network(BiRNN)

在实践中,甚至GRURNN仍然不能很好的捕获特有的长短期依赖。因此,我们进一步采用了双向变体(Schuster和Paliwal 1997),该变体使用两个独立的隐藏层在两个方向上处理句子。然后将两个方向的GRU单元在每个位置的隐藏状态向量连接起来,最后通过平均池化层。
在这里插入图片描述

联合学习

文中作者根据node-nodenode-content两个部分定义了联合优化的目标函数:
在这里插入图片描述
α \alpha α是平衡参数。
采用带学习率衰减的随机梯度下降算法进行优化。梯度用反向传播计算。对应的算法如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦否

文章对你有用?不妨打赏一毛两毛

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值