文献阅读(四)ACL2017-CANE:Context-Aware Network Embedding for Relation Modeling

本文是对《CANE:Context-Aware Network Embedding for Relation Modeling》一文的浅显翻译与理解,原文章已上传至个人资源,如有侵权即刻删除。

前言

该论文认为,一个节点在与不同节点发生交互时,扮演着不同角色。如果单纯地将节点的嵌入视为固定的,那么两个原本不相关的节点就可能因同时与第三节点交互而被算法认为彼此之间关系也密切。基于该原因,提出了上下文感知嵌入的算法,即CANE。

算法为每一对发生交互的节点学习它们关于彼此的上下文感知嵌入,并将嵌入分为基于结构和基于节点附带文本信息的嵌入,最终组合形成上下文感知嵌入。算法的目标函数在于优化两节点建立交互的概率,又分为通过基于结构和基于文本信息的损失函数,概率则通过节点关于彼此的嵌入求出的条件强度得到的。

对基于文本的嵌入,文章介绍了通常使用的上下文无关嵌入常见算法,以卷积神经网络为例,但CANE中使用的,是引入了注意力机制的神经网络,针对两个节点的文本信息,结合注意力机制确定关注的关键词,从而得到关于彼此的文本嵌入。最终将结构嵌入和文本嵌入相组合,就得到了两个节点关于彼此的统一嵌入。

但这样的嵌入是针对单个节点的,如聚类或者分类等任务需要节点的全局嵌入,算法将节点关于其它节点的嵌入进行加和求平均,就得到了全局嵌入,并且证明了有效。

对CANE算法的推导,现有个人总结流程如下,仅供参考。
在这里插入图片描述


Title

《CANE: Context-Aware Network Embedding for Relation Modeling》(2017)
——ACL: Annual Meeting of the Association for Computational Linguistics
Author: Cunchao Tu, Han Liu
Corresponding: Zhiyuan Liu

Abstract

网络嵌入(NE)在网络分析中扮演了重要的角色,这归于其使用有效低维嵌入向量来表示顶点的能力。然而,现今网络嵌入模型只关注为每个顶点学习上下文无关的固定嵌入,忽略了该顶点同其他顶点交互时的不同角色。本文假设当一个顶点分别与不同的邻居顶点交互时,通常显示出不同的方面。因此,我们提出了上下文感知网络嵌入的关系建模(CANE, Context-Aware Network Embedding for Relation Modeling),一个新的用来解决此问题的网络嵌入模型。CANE 通过共同注意力机制,为顶点学习上下文感知嵌入,并期望能更为精确地建立顶点间语义关系的模型。在实验中,我们在三个现实世界数据集上,比较了本模型与现行的NE模型。实验结果显示,CANE 在链路预测上比现今最先进的算法达到了显著的提升,在顶点分类上也达到了类似的性能。源代码和可训练数据集如下:https://github.com/thunlp/CANE.


1 Introduction

网络嵌入(NE),即网络表示学习(NRL),目标在于根据顶点在网络中的结构角色,将其映射到低维空间中。NE 提供了高效且有效的方法来表示和管理大规模网络,减轻了传统基于符号的表示中计算和稀疏性问题。因此,NE 近年里吸引了许多研究兴趣(Perozzi et al.2014; Tang et al.2015; Grover and Leskovec 2016),并在大量网络分析任务中都改善了性能,包括链路预测、节点分类和社区挖掘。

在现实世界社交网络中,直觉看来,一个节点与不同邻居节点交互时,可能表现出不同的方面。例如,一个研究者通常在不同研究主题下,与不同的伙伴合作(如图1所示),一个社交媒体用户会分享独特的兴趣爱好给不同朋友,对不同目标一个网页链接了许多页面。然而,绝大多数现存的 NE 算法都仅对每个顶点排列一个向量,这就导致了两个可逆的问题:(1)这些算法不能灵活地处理一个节点与不同邻居交互时的方面过渡;(2)在这些模型中,一个顶点倾向于促进其邻居的嵌入彼此靠近,可能并非在所有时间都符合事实。如图1中左侧和右侧的用户,共同兴趣很少,但是由于他们都与中间人链接,因此就被学习得彼此靠近,这将使得节点嵌入不加区分。
在这里插入图片描述
为解决这些问题,我们致力于提出了一个上下文感知网络嵌入(CANE)的框架,来对节点间关系精确建模。具体来说,我们在信息网络上使用 CANE,每个节点还包含丰富的伴随信息,如文本、标签或其他元数据。在这种情况下,上下文的意义对 NE 而言更为重要。在不损失通用性的前提下,本文在基于文本的信息网络上实现了 CANE,它可以简便地扩展到其他类型的信息网络上。

扫描二维码关注公众号,回复: 9172298 查看本文章

传统的 NE 模型中,每个顶点都表示一个静态嵌入向量,表示上下文无关的嵌入。与之相反,CANE 根据一个顶点交互的不同邻居,为其分配动态嵌入,名为上下文感知嵌入。以顶点 u 与其邻居节点 v 为例,u 的上下文无关嵌入在于不同邻居交互时是不会变化的。反之,u 的上下文感知嵌入在面对不同邻居时是动态的。

当 u 与 v 发生交互,它们关于彼此的上下文嵌入,分别来自于它们的文本 Su 和 Sv。对每个节点,我们可以简便地使用神经模型,如卷积神经网络和递归神经网络,来建立基于文本的上下文无关嵌入。为实现基于文本的上下文感知嵌入,我们引入了选择性注意力机制,并将 u 和 v 之间的相互注意力构建到这些神经模型中。相互注意力机制可以引导模型去注重那些被相邻节点所聚焦的单词,最终得到上下文感知嵌入。

每个节点的上下文无关嵌入和上下文感知嵌入,都可以通过使用现有的 NE 方法(如 DeepWalk, LINE 和 node2vec)进行连接,来有效率地学习。

我们在三个不同领域的现实世界数据集上展开实验,链路预测的实验结果通过与其他最新方法相比,证明了本框架的有效性。结果表明,上下文感知嵌入对网络分析比较重要,尤其是对那些关注节点间复杂交互的任务,如链路预测。我们还通过节点分类和情景学习,研究了本框架的性能,再次证明了本模型的灵活性与优越性。


2 Related Work

随着大规模社交网络的快速兴起,网络表示学习已经在网络分析任务中被视为一项很重要的技术。

近年来,有大量 NE 模型被提出,来学习有效的网络嵌入。例如,DeepWalk 在网络上执行随机游走,并引入了有效的单词表示学习模型;SkipGram,来学习网络嵌入;LINE 通过优化大规模网络中边的联合与条件概率,来学习节点表示;Node2vec 将 DeepWalk 中的随机游走策略进行修改,使得随机游走偏重于有效探索网络结构。然而,绝大部分的 NE 模型都仅将结构信息编码到节点嵌入中,没有考虑到现实世界社交网络中,节点各种各样的伴随信息。

为解决这一问题,研究者付出大量努力来将多相信息结合到通用的 NE 模型中。例如,Yang 等人提出文本关联的 DeepWalk,来利用文本信息改善基于矩阵分解的 DeepWalk。Tu 等人提出最大边界的 DeepWalk,通过利用节点的标签化信息,来学习有差别的网络表示。Chen 等人提出了群组增强的网络嵌入,来整合 NE 中现有的群组信息。Sun 等人将文本内容视为节点的特殊类型,并提出了上下文增强的网络嵌入,通过同时利用结构和文本信息来学习网络嵌入。

据我们了解,所有现行的 NE 模型都关注于学习上下文无关的嵌入,却忽视了一个节点与不同节点交互时的不同角色。与之相反,我们根据节点的交互,假设一个节点有不同嵌入,从而提出了 CANE 来学习上下文感知的节点嵌入。


3 Problem Formulation

我们首先给出该工作的基本符号和定义。设信息网络 G=(V,E,T),其中 V 是节点集,E 是节点间的边集,T 表示节点的文本信息。对每条边 e(u,v),都表示了两节点(u,v)间的关系,并有相关权重 w(u,v)。在此,一个具体节点 v 的文本信息表示为一个单词序列 Sv=(w_1,w_2,…,w_n(v)),其中 n(v)=|Sv|。NRL 目的在于根据网络结构和关联信息,如文本与标签,为每个节点学习低维嵌入 v。

Definition 1.Context-free Embeddings: 通用 NRL 模型为每个节点学习上下文无关的嵌入,这意味着一个节点的嵌入是固定的,且不会因其上下文信息(即其交互的其他节点)而改变。

Definition 2.Context-aware Embeddings: 不同于现行学习上下文无关嵌入的 NRL 模型,CANE 根据节点不同的上下文,为一个节点学习多样的嵌入。具体而言,对边 e(u,v),CANE 学习了上下文感知嵌入 v(u)和 u(v)。


4 The Method

4.1 Overall Framework

为充分利用网络结构与相关文本信息,我们对一个节点 v 提出两类嵌入,即基于结构的嵌入 v^s 和基于文本的嵌入 v^t。基于结构的嵌入能够获取网络结构中的信息,而基于文本的嵌入能够获取隐藏在相关文本信息中的文本含义。根据这些嵌入,我们能轻易地连接它们,并得到节点嵌入 v=vs+vt,其中 + 表示连接操作。注意到基于文本的嵌入 v^t 可以是上下文无关或上下文感知的,这将在4.4和4.5章节分别进行介绍。当 v^t 是上下文感知型时,总的节点嵌入 v 也会是上下文感知的。

根据上述定义,CANE 目的在于最大化边的目标函数,如下所示:
在这里插入图片描述
此处,每条边 L(e)的目标函数包含如下两部分:
在这里插入图片描述
其中 Ls(e)表示基于结构的目标函数,而 Lt(e)表示基于文本的目标函数。在下文中,我们将具体地分别介绍这两个目标函数。

4.2 Structure-based Objective

为不失普遍性,我们假设网络是有向的,即一条无向边可被认为是两条具有相反方向和相同权重的有向边。

因此,基于结构的目标函数用基于结构的嵌入来估量有向边对数似然函数:
在这里插入图片描述
借鉴 LINE,我们定义由 u 产生的 v 的条件概率为:
在这里插入图片描述

4.3 Text-based Objective

现实世界社交网络中的节点通常附带有相关的文本信息,因此,我们提出了基于文本的目标函数,来利用其文本信息,即为节点学习基于文本的嵌入。

基于文本的目标函数 Lt(e) 可通过各种测量来定义,为与 Ls(e) 兼容,我们对其有如下定义:
在这里插入图片描述
其中 α,β,γ 控制变化部分的权重,另有:
在这里插入图片描述
式(6)中的条件概率将两类节点嵌入映射到相同的表示空间中,但考虑到它们各自的特征,并不强行使它们相同。与式(4)类似,我们使用 softmax 函数来计算概率。

与传统 NE 模型相同,我们将基于结构的嵌入视为参数。但对基于文本的嵌入,我们将从节点的伴随文本信息中得到。此外,无论上下文无关还是上下文感知的途径,都能从中得到基于文本的嵌入。在下一章节,我们将分别给出具体介绍。

4.4 Context-Free Text Embedding

现有一些从单词序列中得到文本嵌入的神经模型,如卷积神经网络(CNN)和循环神经网络(RNN)。

在此,我们为文本建模研究了不同的神经网络,包括 CNN、双向 RNN 和 GRU,并使用执行得最好的 CNN,其可以捕捉单词间的局部语义依赖。

以节点的单词序列作为输入,CNN 从三层结构(即查找、卷积和池化)中得到基于文本的嵌入。

Looking up. 给出一个单词序列 S=(w1,…,wn),查找层将每个单词 wi 转化为其相应单词嵌入 wi∈R^d’,并得到嵌入序列 S=(w1,…,wn),此处,d’ 表示单词嵌入的维度。

Convolution. 在查找后,卷积层从输入序列 S 中提取局部特征。具体来说,它在一个长度为 l 的平滑窗口上,使用卷积矩阵 C 执行卷积操作如下:
在这里插入图片描述
其中 Si:i+l-1 表示在第 i 个窗口中单词嵌入的连接,b 是偏置向量。注意到,我们在语句的边缘增加了零填充向量。

MAX-pooling. 为得到文本嵌入 vt,我们在{x0i,…,xn^i}上执行最大池化和非线性转换如下:
在这里插入图片描述
最终,我们对节点的文本信息通过 CNN 进行编码,并得到其基于文本的嵌入 vt=[r1,…,rd]T。v^t 与其所交互的其他节点无关,我们称之为上下文无关的文本嵌入。

4.5 Context-Aware Text Embedding

如上文所示,我们假设一个特定节点在与其它节点交互时,扮演着不同的角色。换言之,每个节点都应当针对特定节点有自己的焦点,这将导致上下文感知的文本嵌入。

为实现这种假设,我们使用相互注意力来得到上下文感知的文本嵌入。这确保了 CNN 的池化层能够识别边缘中的顶点对。在某种程度上,一个节点的文本信息可以直接影响其他节点的文本嵌入,反之亦然。
在这里插入图片描述

图2中,我们给出了上下文感知的文本嵌入生成过程的图解。给出一条边 e(u,v),有两个相关的文本序列 Su 和 Sv,我们可以通过卷积层得到矩阵 P∈R^(dm)和 Q∈R^(dn),m 和 n 分别表示 Su 和 Sv 的长度。通过引入注意力矩阵 A ,我们计算相关矩阵 F 如下:
在这里插入图片描述
注意到,F 中的每个元素 F(i,j)都表示着两个隐藏向量(即 Pi,Qj)间两两相关的程度。

此后,我们对 F 的行和列进行池化操作,来生成价值向量,分别称为行池化和列池化。根据实验结果,平均池化要比最大池化表现更好。因此,我们执行平均池化操作如下:
在这里插入图片描述
接下来,我们使用 softmax 函数来转换价值向量 g^p 和 g^q 为注意力向量 a^p 和 aq。例如,ap 的第 i 个元素公式化如下:
在这里插入图片描述
最终,u 和 v 的上下文感知的文本嵌入计算如下:
在这里插入图片描述
现在,给出一条边(u,v),我们可以根据节点的结构嵌入,得到其上下文感知嵌入即:
在这里插入图片描述

4.6 Optimization of CANE

根据式(3)和式(6),CANE 目的在于最大化 u∈{us,u(v)t}和 v∈{vs,v(u)t}之间的条件概率。直观来看,使用 softmax 函数优化条件概率计算损耗太大。因此,我们使用负采样,并将目标函数转换成如下所示的形式:
在这里插入图片描述
其中 k 是负采样数量,σ 表示 sigmod 函数,P(v)∝d_v^(3/4) 表示节点分布,d_v 是 v 的出度。

之后,我们使用 Adam 来优化转换后的目标函数。注意到 CANE 通过训练好的 CNN 生成新节点文本嵌入,这一过程完全有能力实现零失误。


5 Experiments

为研究 CANE 在对节点间关系建模上的性能,我们在几个现实世界数据集上进行了链路预测实验。此外,我们还用节点分类来验证,是否节点的上下文感知嵌入可以组成高质量的上下文无关嵌入作为回报。

5.1 Datasets

我们选择了三个现实世界网络数据集如下:
Cora 是经典的论文引用网络,在过滤掉没有文本信息的论文后,共有2277篇机器学习的论文,在网络中被分为七类。

HepTh 高能物理理论(High Energy Phyics Theroy)是另一个引文网络,来源是 arXiv。我们过滤掉没有摘要信息的论文,最终保留了1038篇。

Zhihu 知乎是中国最大的在线问答网站,用户彼此关注并在网站上回答问题。我们随机从知乎上爬取一万名活跃用户,并将它们关注的话题以文本信息的形式进行描述。

具体统计数据如表1所示:
在这里插入图片描述

5.2 Baselines

我们以如下算法为标准:

Structure-only:
MMB 是一个传统关系型数据的绘图模型,它允许每个节点在形成边时,随机选择一个不同的“主题”。
DeepWalk 在网络上采用随机游走,并利用 Skip-Gram 模型来学习节点嵌入。
LINE 在大规模网络上,使用第一级和第二级相似度来学习节点嵌入。
Node2vec 基于 DeepWalk 提出一个偏置的随机游走算法,来更为有效地探索邻居架构。

Structure and Text:
Naive Combination 我们仅将执行最好的基于结构的嵌入,与基于 CNN 的嵌入连接起来,以表示节点。
TADW 使用矩阵因子分解来将节点的文本特征结合到网络嵌入中。
CENE 通过将文本上下文视为一类特殊的节点,从而利用结构和文本两类信息,并优化异构连接的概率。

5.3 Evaluation Metrics and Experiment Settings

对链路预测,我们调整了评估标准 AUC,其表示随机未观察链接中的节点比随机不存在链接中的节点更相似的概率。

对节点分类,我们使用 L2 正则化逻辑回归(L2R-LR)来训练分类器,并为不同算法评估分类结果的准确度。

公平起见,我们设定所有算法的嵌入维度为200。对 LINE,定义负采样数量为5,对第一级和第二级嵌入各学习100维,并将它们结合成200维的形式。对 node2vec,我们使用网格搜索,并选择执行最优的超参数用来训练。我们还在 CANE 中使用网格搜索来设置超参数α,β,γ。此外,我们定义负采样的数量 k 为1,来加速训练过程。为证明式(3)和式(6)中考虑注意力机制和两类目标函数的有效性,我们设计了三个版本对 CANE 进行评估,即仅附有文本的、无注意力的和正常的 CANE。

5.4 Link Prediction

如表2、表3和表4所示,我们分别去除了Cora, HepTh, Zhihu 上不同比例的边,评估了 AUC 的值。注意到,当我们仅对5%的边进行训练时,绝大多数节点都是孤立的,这导致所有算法的性能不佳且无意义。因此,我们省略了在这种训练比例下的结果。根据这些表,我们有如下的观察结果:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

(1)CANE 在所有不同数据集和训练比例上,与基准相比始终达到了明显的改善。这证明了 CANE 应用于链路预测和节点分类上的效果,即 CANE 有能力对节点间的关系进行精确建模。

(2)需要特别注意的是,CANE 和 TADW 在各种训练比例下,都表现出不稳定的性能。尤其是,CANE 在训练比例较小的情况下比 TADW 表现不佳(如卷积核函数与单词嵌入),即需要大量数据来训练。与 CANE 不同,TADW 在小训练比例下表现要好得多,这是因为基于算法的 DeepWalk 即使边有限,也能够通过随机游走很好地探索稀疏网络结构。但是,它在大比例下表现不佳,这是由于其简单性和词袋假设的局限性。作为对照,CANE 在不同环境下都性能稳定,这证明了 CANE 的灵活性和鲁棒性。

(3)通过引入注意力机制,所学的上下文感知嵌入要比没有注意力的得到相当大的改善。这证明了我们的猜想,即一个特定节点在与不同节点交互时充当不同角色,因此有益于相关性链路预测任务。

简而言之,上述所有观察结果都表明,CANE 可以学习高质量的上下文感知嵌入,这有益于准确评估节点间的关系。此外,链路预测任务的实验结果证明了 CANE 的性能和鲁棒性。

5.5 Vertex Classification

对 CANE,我们根据一个节点的连接对象得到其不同嵌入。直观来看,所得的上下文感知嵌入自然而然地适用于链路预测任务。然而,网络分析任务,如节点分类和聚类等,需要一个全局嵌入,而非每个节点有几个上下文感知嵌入。

为证明 CANE 解决这些问题的能力,我们通过简单平均节点 u 的所有上下文感知嵌入,生成全局嵌入如下:
在这里插入图片描述
其中 N 表示 u 的上下文感知嵌入数量。
在这里插入图片描述
根据生成的全局嵌入,我们在 Cora 上进行了两次交叉验证,并记录了节点分类的平均准确率,如图3所示。我们证明了:

(1)CANE 达到了和最新模型 CENE 同样的性能,这表明所学的上下文感知嵌入可以通过简单的平均操作,转换为高质量的上下文无关嵌入,从而更广泛地运用于其他网络分析任务中。

(2)通过对相互注意力机制的引入,CANE 比起没有注意力时有了显著的提高,这与链路预测的结果一致,它证明了 CANE 在各类网络分析任务中的灵活性。

5.6 Case Study

为证明相互注意力在从文本信息中选择有含义特征的意义,我们将两对节点的热图进行可视化为图4。注意到,该图中每个单词都附带有不同背景颜色。背景颜色越深,该词的权重就越大,每个单词的权重是根据下文的注意力权重计算的。
在这里插入图片描述

对每对节点,我们都能根据式(11)得到每个卷积窗口的注意力权重。为得到单词的权重,我们将注意力权重分配给该窗口中的每个单词,并将一个单词的注意力权重累加在一起作为最终权重。

所述的注意力机制使得节点间的关系清晰化和可解释。例如,我们选择了 Cora 中三个相连的节点,定义为 A,B,C。从图4可观察到,尽管与论文 A 都同样存在引用关系,但论文 B 和 C 关注其不同的部分。A 在边 #1 上的的注意力权重被定义为“强化学习”,作为对比,边 #2 上的注意力权重则为“机器学习”、“监督学习算法”和“复杂随机模型”。此外,A 的所有这些关键元素都能在 B 和 C 上找到对应的单词。从直观上看,这些关键元素可以准确地解释引用关系。所发现的节点对之间的显著相关性影响了相互注意力机制的性能,以及 CANE 对关系精确建模的能力。


6 Conclusion and Future Work

本文首次提出了上下文感知的网络嵌入(CANE)的概念,目标在于根据节点交互的邻居,学习其各类上下文感知嵌入。具体来说,我们在基于文本的信息网络上实现了 CANE,并引入相互注意力机制,在几个现实世界信息网络上进行了实验。链路预测的实验结果表明,CANE 在对节点间的关系建模上是有效的。此外,所学习的上下文感知嵌入能组成高质量的上下文无关嵌入。

我们未来将探索如下方向:
(1)我们已经研究了 CANE 在基于文本的信息网络上的性能,未来将致力于在类型更广泛的信息网络上实现 CANE,网络具有多类型数据,如标签、图像等。

(2)使得 CANE 将节点间的潜在关系能编码进上下文感知嵌入中。此外,社交网络中通常存在明确的关系(如社交网络用户的家庭、朋友和同事关系等),这估计对 NE 较为重要。因此,我们希望在 NE 中探索如何结合与预测节点间这些明确的关系。

发布了13 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/CSDNTianJi/article/details/103791236