将多关系图的节点和边映射为整数

edgelist-mapper的Python项目详细描述


概要

edgelist mapper是一个简单的工具,它读取表示一个图的边列表文件,并将每个节点和关系映射到整数。 指定的映射是这样的,在图中出现更频繁的实体和关系被映射到更小的数值。在

这个工具对于预处理一些公共可用的知识图数据集特别有用,这些数据集通常用于relation prediction的机器学习任务。在

输入格式

该工具将一个文件(edgelist.tsv)作为输入,该文件将图形表示为(head, relation, tail)的三元组,并生成三个新文件,即mapped_edgelist.tsventities_map.tsv和{}。在

san_marino	locatedin	europe
belgium	locatedin	europe
russia	locatedin	europe
monaco	locatedin	europe
croatia	locatedin	europe
poland	locatedin	europe

Example content of the edgelist.tsv file.

^{pr2}$

Content of the entities_map.tsv generated from the edgelist.tsv file.

0	locatedin

Content of the relations_map.tsv generated from the edgelist.tsv file.

1	0	0
6	0	0
2	0	0
4	0	0
5	0	0
3	0	0

Content of the mapped_edgelist.tsv generated from the edgelist.tsv file.

CLI使用

CLI采用以下位置参数:

  edgelist    Path of the edgelist file
  output      Path of the output directory

用法示例:

pip install edgelist-mapper
python -m edgelist_mapper.bin.run \
    edgelist.tsv \
    .

NB: You need Python 3 to run the CLI.

展示

此工具已用于创建this collection of datasets。在

作者

另请参阅参与本项目的contributors人员名单。在

许可证

这个项目是在麻省理工学院许可下授权的-有关详细信息,请参阅license文件。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring数据JPA+Hibernate在不首先找到父实体的情况下保存子实体   php Java:如何从CLI接收命令   spring为java中的导出数据创建访问文件   java在Windows 8.1上安装Play Framework   java Spring启动白标签错误页面(类型=未找到,状态=404)   java如何在单击时从数组中绘制?   java fn:substringAfter()上次出现   java在IFR语句中使用方法返回   java onPause()或onStop()的名称   对关联对象的关联对象具有条件的java HQL查询   java只打印一次总值,无需迭代   java如何使用抽象Uri buildOn()方法?   如何在Java中执行sudo命令并获得错误输出?   java反射:避免对getConstructor(类<?>…)的未经检查的警告调用作为原始类型类的成员   Java:如何从类中创建的对象调用类方法?   java如何在电子邮件中嵌入图像?   java如何在Android上启用详细GC?   java什么是串行版本id?