前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >资源 | OpenHINE:异质信息网络嵌入开源工具包

资源 | OpenHINE:异质信息网络嵌入开源工具包

作者头像
Houye
发布2020-07-13 10:56:24
1.3K0
发布2020-07-13 10:56:24
举报
文章被收录于专栏:图与推荐图与推荐

为了方便大家对异质信息网络表示学习(HINE)开展相关的实验或研究,北京邮电大学 DMGroup 的研究人员在 GitHub 上发布了 HINE 训练和测试框架 OpenHINE

项目链接:

https://github.com/BUPTDM/OpenHINE

该项目还在持续开发中,今后将根据已公布的 HINE 论文持续实现更多有代表性的模型。欢迎其他研究者在该框架中构建 HINE 模型到这个工具包里,也会公布项目中的贡献内容。

OpenHINE 是一个用于异质信息网络嵌入的开源工具包。它统一了 HINE 模型输入/输出/评测接口,并且修订和复现了目前比较经典的异质信息网络表示学习模型,包括:DHNE、HAN、HeGAN、HERec、HIN2vec、Metapath2vec、MetaGraph2vec、RHINE。更多资料请访问 www.shichuan.org

亮点:

  • 易于训练和评估
  • 能够扩展到新的/您的数据集和模型
  • 可用的最新模型:HAN,HeGAN 等

贡献者:

北京邮电大学 DMGroup 成员:赵天宇,朱美琪,刘佳玮,刘念,楚贯一,刘佳玥,王啸,杨成,胡琳梅,石川

1 开始

配置需求:

  • Python version >= 3.6
  • PyTorch version >= 1.4.0
  • TensorFlow version >= 1.14
  • Keras version >= 2.3.1

使用:

输入参数:

代码语言:javascript
复制
python train.py -m model_name -d dataset_name

例如,使用 Metapath2vec 模型训练 ACM 数据请输入:

代码语言:javascript
复制
python train.py -m Metapath2vec -d acm

模型设置:

可以在文件(./src/config.ini)中修改模型参数。

  • 通用参数 ……
    • alpha: 学习率
    • dim: 输出维度
    • epoch: 迭代次数
  • 特定参数 ……
    • metapath: 选择的元路径
    • neg_num: 负采样的个数

数据集:

如果想用自己的数据集进行训练,请创建文件(./dataset/your_dataset_name/edge.txt),数据格式如下:

  • input: edge

src_node_id dst_node_id edge_type weight

例如:

代码语言:javascript
复制
19	7	p-c	2
19	7	p-a	1
11	0	p-c	1
0       11	c-p	1
代码语言:javascript
复制
-输入图是有向图,无向图需要转换为有向图。
  • Input: feature

number_of_nodes embedding_dim

node_name dim1 dim2

例如:

代码语言:javascript
复制
11246	2
a1814 0.06386946886777878 -0.04781734198331833
a0 ... ...

2 模型

DHNE AAAI 2018

Structural Deep Embedding for Hyper-Networks

源代码:

https://github.com/tadpole/DHNE

HAN WWW 2019

Heterogeneous Graph Attention Network

代码语言:javascript
复制
-将feature.txt添加到输入文件夹中或者设置参数["featype": "adj"],以使用邻接矩阵作为特征。

源代码:

https://github.com/Jhy1993/HAN

DGL 实现:

https://github.com/dmlc/dgl/tree/master/examples/pytorch/han

HeGAN KDD 2019

Adversarial Learning on Heterogeneous Information Network

源代码:

https://github.com/librahu/HeGAN

HERec TKDE 2018

Heterogeneous Information Network Embedding for Recommendation

源代码:https://github.com/librahu/HERec

代码语言:javascript
复制
-特定参数["metapath_list": "pap|psp"] (元路径用"|"划分)

HIN2Vec CIKM 2017

HIN2Vec: Explore Meta-paths in Heterogeneous Information Networks for Representation Learning

源代码:

https://github.com/csiesheep/hin2vec

metapath2vec KDD 2017

metapath2vec: Scalable Representation Learning for Heterogeneous Networks

源代码:

https://ericdongyx.github.io/metapath2vec/m2v.html

DGL 实现:

https://github.com/dmlc/dgl/tree/master/examples/pytorch/metapath2vec

MetaGraph2Vec PAKDD 2018

MetaGraph2Vec: Complex Semantic Path Augmented Heterogeneous Network Embedding

源代码:

https://github.com/daokunzhang/MetaGraph2Vec

RHINE AAAI 2019

Relation Structure-Aware Heterogeneous Information Network Embedding

源代码:

https://github.com/rootlu/RHINE

3 输出

测试

代码语言:javascript
复制
python test.py -d dataset_name -m model_name -n file_name

输出的嵌入文件在路径(./output/embedding/model_name/)中。

例如,使用 HAN 模型测试 DBLP 数据并输出到 node.txt 文件请输入:

代码语言:javascript
复制
python test.py -d dblp -m HAN -n node.txt

输出格式如下:

  • output: embedding

number_of_nodes embedding_dim

node_name dim1 dim2

例如:

代码语言:javascript
复制
11246	2
a1814 0.06386946886777878 -0.04781734198331833
a0 ... ...

4 评估

代码语言:javascript
复制
-这里HAN使用的是没有节点特征的数据集
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图神经网络与推荐系统 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 开始
    • 配置需求:
      • 使用:
        • 数据集:
        • 2 模型
          • DHNE AAAI 2018
            • HAN WWW 2019
              • HeGAN KDD 2019
                • HERec TKDE 2018
                  • HIN2Vec CIKM 2017
                    • metapath2vec KDD 2017
                      • MetaGraph2Vec PAKDD 2018
                        • RHINE AAAI 2019
                        • 3 输出
                          • 测试
                          • 4 评估
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档