data & code:http://dm.nankai.edu.cn/code/STNE.rar
STNE:自翻译网络嵌入
该工作认为在节点属性与结构信息再本质上是有一定联系的,提出 STNE 模型,利用 seq2seq 模型进行特征提取,将利用节点信息及网络结构识别节点的过程比喻为翻译的过程
1. 简介
目的:学习网络中节点的低维表示
将利用节点信息及网络结构识别节点的过程比喻为翻译的过程
论文引用网络中,每个节点代表一篇论文,每条边代表引用关系。每个节点自身属性包括文章的摘要,关键词,研究领域等等。该论文的假设依据是,论文所形成的引用网络与论文自身的属性之间有较强关系
现有方案:
1. 将结构信息和属性信息分别进行embedding之后,组合
2. 考虑短距离/固定邻域范围保留结构信息(第一/二邻近)
(复杂问题中很难确定邻域范围)
2. 创新点(贡献):
提出基于seq2seq 的模型框架(STNE)
利用网络上随机遍历生成的序列,将节点内容信息翻译成结构信息,从而结合两种信息
- 将网络嵌入转化为 seq2seq 任务,从局部建模到序列的全局结构建模,捕获更多语义信息
- 设计了一个异构的seq2seq 模型,嵌入原始输入文本,以端到端的方式学习从节点属性序列到节点指示序列的映射
对比
- 与传统方法相比, STNE 直接节点序列对建模,从文本序列中自动学习生成函数,将 seq2seq 网络模型与其他文本嵌入模型相结合,通过学习内容序列到节点序列的映射,将内容信息和结构信息无缝融合到隐藏层的潜在向量中,高效表示节点
- 根据与节点的不同交互提出上下文感知嵌入
- 相对于 CANE: 从相邻文本节点感知嵌入
- STNE:针对不同序列学习动态的节点嵌入(需要更长范围,更灵活的上下文)
3. 模型框架
STNE 总体框架
![](https://img2018.cnblogs.com/blog/801580/201812/801580-20181222211710801-2017355364.png)
图一总体框架:
1. 给定内容丰富的网络,通过随机游走提取节点序列,并将节点序列分为两个部分
- 节点属性序列
- 节点指示序列(由节点指示向量 one-hot 表示)
2. 通过这两个序列学习特定的 seq2seq 模型,该模型可以用于将节点属性“翻译”为节点指示向量
3. 步骤二的目的是得到中间层的潜在转换( 是可用于复杂网络分析 )
4. 方法过程
![](https://img2018.cnblogs.com/blog/801580/201812/801580-20181222212103681-609566902.png)
由图2 可看出,该过程为:
- 节点属性---->低维表示( Encoder )
- 低维表示---->节点序列( Decoder )
并行序列 S 包含:
节点身份序列 Si 和 相关内容序列 Sc
(使用并行序列将网络嵌入转化为机器翻译问题,从内容到节点的异构自翻译过程)
映射函数 Sc->Si
![](https://img2018.cnblogs.com/blog/801580/201812/801580-20181222212144366-1751916973.png)
更详细的总结