开源开放 | 开源知识图谱抽取工具DeepKE发布更新

news2024/12/23 18:12:23

7f010104364a87e690ad94a60d608240.png

知识图谱是一种用图模型来描述知识和建模世界万物之间关联关系的大规模语义网络,是大数据时代知识表示的重要方式之一。近年来,知识图谱在辅助语义搜索、支持智能问答、增强推荐计算、提升语言语义理解和大数据分析能力等越来越多的技术领域得到重视,高效知识图谱构建技术应运而生。

DeepKE是一个开源可扩展的知识图谱抽取工具,可实现命名实体识别、关系抽取和属性抽取三大知识抽取任务,并支持复杂的应用场景,如低资源少样本和文档篇章级抽取场景:

· EMNLP 2022 Demo论文链接:https://arxiv.org/abs/2201.03335

· 在线demo链接:http://deepke.openkg.cn

· Github 链接:https://github.com/zjunlp/DeepKE

· Gitee 链接:https://gitee.com/openkg/deepke

· OpenKG链接:http://openkg.cn/tool/deepke

bb27b81db49a70dc26c65dd9cc823301.png

GitHub主页

063607d2ad2ae559c7f3ba0af66ae55d.png

Demo演示系统

为支持更多知识图谱构建场景和满足日益增长的用户需求,DeepKE于近期发布更新

1.新增多模态抽取场景,支持结合图片增强的实体、关系抽取;

2.开源开放支持cnSchema的开箱即用实体和关系抽取模型DeepKE-cnSchema (NER)DeepKE-cnSchema (RE);

3.增加低资源关系抽取数据增强功能(支持中英双语),支持BiLSTM+CRF实体识别等模型。

4.增加实体识别、关系抽取数据(支持中英双语)标注说明,支持弱监督实体、关系数据标注功能,修复若干bug。

bbe599c79a7e4289197ca9532cde1578.png

目前,DeepKE已支持单句/多句篇章、多模态、低资源等复杂知识图谱构建场景,包括实体、关系和属性抽取任务,支持多种格式和不同大小的数据规模,并提供开箱即用的实体关系抽取模型,用户可灵活地进行训练、预测和自动调参,并自定义数据集和参数。下面具体介绍更新的内容。

一、多模态

DeepKE新增多模态实体和关系抽取。与文本相关的丰富的图像信号可以起到增强上下文的作用,有助于复杂情境的知识抽取。DeepKE 提供了一个简单的基于Transformer 和前缀(Prefix)注意力增强的多模态实体关系抽取模型 IFAformer 模型。

c78fe55507efb7bee5d0c17406b248ff.png

如图所示,IFAformer在每一个Transformer层同时拼接上下文和视觉特征的多头注意力键值,它们可以隐式地对齐文本和相关图像中物体的特征。IFAformer效果如下表所示(因为无合适公开的多模态中文抽取数据集,我们汇报了两个英文数据集的抽取性能):

9b7011c8858f233b2ab5d7d631004837.png

用户可以使用自定义的图片(包含图片中的目标)和文本训练自定义多模态知识抽取模型,以多模态关系抽取为例,基本用法如下:

1.安装环境

>> git clone https://github.com/zjunlp/DeepKE.git

>> pip install deepke

>> cd example/re/multimodal

2.下载数据集

>> wget 120.27.214.45/Data/re/multimodal/data.tar.gz

>> tar -xzvf data.tar.gz

3.训练

修改conf下的yaml配置文件自定义参数

>> python run.py

4.预测

修改predict.yaml中的load_path为训练好的模型,同时DeepKE提供已经在MNRE数据集上训练好的模型用于直接预测

>> python predict.py

具体可参考GitHub中对应目录下的README详细使用说明。

二、支持cnSchema的开箱即用模型

DeepKE提供已经训练好的支持cnSchema的开箱即用的抽取模型DeepKE-cnSchema(NER)和DeepKE-cnSchema(RE),该模型支持50 种不同的关系类型以及 28 种不同的实体类型,每一种类型都以相应的唯一ID 进行映射,其中实体类型包含了通用的人物、地点、城市、机构等类型,关系类型包括了常见的祖籍、出生地、国籍、朝代等类型。模型抽取的效果如下表所示(未经过调参):

模型

准确率

召回率

F1

DeepKE-cnSchema(NER)

0.80

0.86

0.83

DeepKE-cnSchema(RE)

0.87

0.86

0.87

用户在实际使用时进入GitHub仓库对应任务场景的example目录下,直接下载已经训练好的模型如DeepKE-cnSchema(NER / RE),修改相关配置参数,运行predict.py文件即可进行预测。DeepKE提供了基于cnSchema的实体抽取、关系抽取和联合三元组抽取,以关系抽取为例,基本用法如下:

1.安装环境

>> git clone https://github.com/zjunlp/DeepKE.git

>> pip install deepke

>> cd example/re/standard

2.下载DeepKE-chSchema (RE)

3.  修改 predict.yaml中的参数fp为下载的模型路径,embedding.yaml中num_relations为51(关系个数),config.yaml中的参数model为lm

4.进行预测

>> python predict.py

需要预测的文本及实体对通过终端输入给程序。

具体的使用方式可参考 Github README中的详细介绍。本次版本支持的模型由互联网语料文本训练得到,直接使用到其他领域(不可避免)会存在跨领域泛化问题导致性能下降,这里建议用户收集并标注领域数据重新模型已实现最优性能,敬请谅解。

三、小结和展望

新版本的DeepKE支持低资源、长篇章、多模态和cnSchema的知识抽取工具,支持实体识别、关系抽取和属性抽取任务。我们同时也开发了一个在线demo展示系统,欢迎各位小伙伴提出意见建议(Issue)和支持(PR)。在今后我们还将继续开发和丰富模型(中文模型),支持更多的功能如低资源事件抽取、终身知识抽取,使得DeepKE可以满足更多的知识图谱应用需求。

[1]Zhang, Ningyu, et al. Deepke: A deep learning based knowledge extraction toolkit for knowledge base population[C]. EMNLP 2022 System Demonstration.

[2]Lu D, Neves L, Carvalho V, et al. Visual attention model for name tagging in multimodal social media[C]. Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018: 1990-1999.

[3]Zhang Q, Fu J, Liu X, et al. Adaptive co-attention network for named entity recognition in tweets[C]. Thirty-Second AAAI Conference on Artificial Intelligence. 2018.

[4]Lu J, Batra D, Parikh D, et al. Vilbert: Pretraining task-agnostic visiolinguistic representations for vision-and-language tasks[J]. Advances in Neural Information Processing Systems, 2019, 32.

[5]UMT: Yu J, Jiang J, Yang L, et al. Improving multimodal named entity recognition via entity span detection with unified multimodal transformer[C]. Association for Computational Linguistics, 2020.

[6]MNRE: Zheng C, Wu Z, Feng J, et al. MNRE: A Challenge Multimodal Dataset for Neural Relation Extraction with Visual Evidence in Social Media Posts[C]. 2021 IEEE International Conference on Multimedia and Expo (ICME). IEEE, 2021: 1-6.

[7]Zheng C, Feng J, Fu Z, et al. Multimodal relation extraction with efficient graph alignment[C]. Proceedings of the 29th ACM International Conference on Multimedia. 2021: 5298-5306.

[8]Xu B, Huang S, Sha C, et al. MAF: A General Matching and Alignment Framework for Multimodal Named Entity Recognition[C]. Proceedings of the Fifteenth ACM International Conference on Web Search and Data Mining. 2022: 1215-1223.

[9]Zhang, N., Deng, S., Sun, Z., et al. Attention-Based Capsule Networks with Dynamic Routing for Relation Extraction[C]. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, 2018: 986-992.

[10]Zhang, Ningyu, et al. Long-tail Relation Extraction via Knowledge Graph Embeddings and Graph Convolution Networks[C]. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers).

[11]Zhang N, Chen X, Xie X, et al. Document-level relation extraction as semantic segmentation[C]. Proceedings of the Thirtieth International Joint Conference on Artificial Intelligence 2021.

[12]Chen, Xiang, et al. Knowprompt: Knowledge-aware prompt-tuning with synergistic optimization for relation extraction[C]. Proceedings of the ACM Web Conference 2022.

[13]Chen X, Zhang N, Li L, et al. Good Visual Guidance Makes A Better Extractor: Hierarchical Visual Prefix for Multimodal Entity and Relation Extraction[C]. NAACL Findings 2022.

[14]Chen X, Zhang N, Li L, et al. Hybrid Transformer with Multi-level Fusion for Multimodal Knowledge Graph Completion[C]. SIGIR 2022.


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

f0649864560de810265273a41f0f6fc3.png

点击阅读原文,进入 OpenKG 网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/77493.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

极客时间课程笔记:业务安全

业务安全 业务安全体系:对比基础安全,业务安全有哪些不同?业务安全和基础安全在本质上就有很大的不同:在基础安全中,黑客将技术作为核心竞争力;在业务安全中,黑产将资源作为核心竞争力。谁能够…

ADI Blackfin DSP处理器-BF533的开发详解23:SDRAM内存的设计和自检(含源代码)

硬件准备** ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 ADSP-EDU-BF53x 板卡上采用的 SDRAM 型号为 MT48LC16M16A2,容量为 32Mbyte,采用 16Bit 模式连接ADSP-BF53x。通过配置 EB…

【STM32】详解嵌入式中FLASH闪存的特性和代码示例

一、存储器 我们正常编译生成的二进制文件,需要下载烧录到单片机里面去,这个文件保存在单片机的ROM(read only memory)中,所有可以完成这种特性的存储介质都可以称为ROM。 分类 ROM一般分为四大类 ①PROM:可编程只读存储器&#…

毫米波雷达系列 | 基于前后向空间平滑的MUSIC算法详解

毫米波雷达系列 | 基于前后向空间平滑的MUSIC算法详解 文章目录毫米波雷达系列 | 基于前后向空间平滑的MUSIC算法详解DOA阵列模型MUSIC算法空间平滑算法整体流程仿真代码忙了一阵子的中期和专利,基本上告一段落,简单的写一个比较常见的解相干MUSIC角度估…

阿里高工珍藏版“亿级高并发系统设计手册(2023版)”面面俱到,太全了!

高并发 俗话说:罗马不是一天建成的,系统的设计当然也是如此。 从原来谁都不看好的淘宝到现在的电商巨头,展现的不仅仅是一家互联网巨头的兴起,也是国内互联网行业迎来井喷式发展的历程,网络信号从 2G 发展到现在的 5…

ATtiny13与Proteus仿真-UART信号模拟仿真

UART信号模拟仿真 ATtiny13没有UART模块,因此在调试程序时,使用软件模拟UART信号很有必要。本文将介绍如何如何控制2个GPIO来模拟UART TX和RX信号,并在Proteus仿真。 1、UART信号介绍 UART的信号一般由如下三部分组成: 开始信号数据信号停止信号UART 信号保持高电平。 作…

软件测试概念基础——小记

文章目录1. 什么是软件测试2. 软件测试和软件开发的区别3. 什么是需求4. 需求是软件测试的依据5. 什么是BUG6. 什么是测试用例7. 开发模型瀑布模型螺旋模型增量模型 迭代模型敏捷模型scrum8. 测试模型V模型W模型9. 软件测试的生命周期(软件测试的流程)10…

Web大学生个人网页作业成品——学生个人爱好展示网站设计与实现(HTML+CSS+JS)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

FlinkCDC部署

文章目录Flink安装job部署1、测试代码2、打包插件3、打包4、测试Flink安装 1、解压 wget -b https://archive.apache.org/dist/flink/flink-1.13.6/flink-1.13.6-bin-scala_2.12.tgz tar -zxf flink-1.13.6-bin-scala_2.12.tgz mv flink-1.13.6 /opt/module/flink2、环境变量…

快手某HR吐槽:职位要求写得很清楚,照着写简历不行吗?有的工作经历不相关,有的工作好几年还写学生会奖学金,这种一秒扔垃圾桶!...

求职时,你的简历是什么样的?能否帮你顺利通过初筛?一位快手的面试官吐槽很多求职者的简历“一塌糊涂”:职位要求已经写得很明白了,就把里面罗列的技术和跟业务相关的项目经验贴上来就好了,有人偏写航空公司…

Vue 不重新打包,动态加载全局配置的实现过程

背景 项目前端采用了 Vue.js ,跟传统前端 html 技术不同之处在于,每次打包后都重新生成新的 js 文件,而且不可读,必须全量替换。但最近碰到一个漏洞扫描的问题,系统通过单点登录方式访问时,是不能有登录首…

【MySQL基础】数据库操作语言DML相关操作有那些?

目录 一、什么是DML 二、数据插入insert 三、数据的修改update 四、数据的删除delete 五、delete和truncate有什么不同? 六、DML操作知识构图 七、DML操作练习 💟 创作不易,不妨点赞💚评论❤️收藏💙一下 一、什…

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?

通过前面的学习,我们已经知道,怎么将本地自己制作的镜像发布到阿里云远程镜像仓库中去。但是在实际工作开发中,一般,我们都是将公司的镜像发布到公司自己搭建的私服镜像仓库中,那么一个私服的镜像仓库怎么搭建&#xf…

Android之Service

一、Service简介: Service是一种后台服务机制,允许在没有用户界面的情况下,使程序能够长时间在后台运行。 Service是四大组件之一,适用于开发无UI界面、长时间后台运行、做一些用时比较长的操作。 二、Service创建:…

Frida - App逆向 JavaScript代码注入 基本语法以及数据类型介绍

Frida - App逆向 JavaScript代码注入 常用语法介绍 文章目录Frida - App逆向 JavaScript代码注入 常用语法介绍前言一、逆向步骤二、重载(Overload) / Frida数据类型1.重载函数介绍2.重载函数常用的类型三、Frida Hook常用代码介绍1.基本代码框架四、注入JavaScript代码运行监听…

功能测试的工作流程

测试工作人员接收到项目需求、验收标准和原型图并对需求进行分析以了解项目的需求。 一、测试计划:个人觉得测试计划应在在详细设计确认后,代码开始编写的时候开始编写。测试计划主要给后面的测试工作的一些指南。 其内容包含: 1、测试团队人…

kubernetes学习之路--Pod配置学习

写在前面:上篇文章提供了两种简单搭建一个k8s集群的方法,其中两种方式的区别是:kubeadm是直接在主机上进行k8s搭建,kind是在docker中搭建。本文主要分享新建pod等方法。(想了想,对于像我这刚入门的人来说&a…

面试常问的《进程创建—进程终止—进程等待—进程替换》!

送给正在努力前行的你一句话:要努力,但不要着急,繁花锦簇,硕果累累都需要过程! 博主主页 目录 1.进程创建 fork函数初识 fork函数返回值 写时拷贝 2.进程终止 进程退出场景 进程如何退出 3.进程等待 进程等待的必要性 …

Java泛型简介

参考博客:https://www.jb51.net/article/192850.htm 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的…

vuex持久化

下载: vuex-persistedstate npm install --save vuex-persistedstate 或者: npm install --save vuex-persistedstate --legacy-peer-deps 引入使用:在store文件夹下的index文件中,也就是放vuex的js代码中引入: i…