资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Python

知识抽取:DeepKE库的使用(浙江大学知识图谱团队开源工具)

Python 更新时间: 发布时间: 计算机考试归档 最新发布

知识抽取:DeepKE库的使用(浙江大学知识图谱团队开源工具)

DeepKE知识图谱抽取开源工具使用

文章目录

  • DeepKE知识图谱抽取开源工具使用
    • 1、DeepKE介绍
    • 2、简单使用
      • 1、训练模型
      • 2、知识抽取
      • 3、注意事项

1、DeepKE介绍

今天给大家介绍一下DeepKE这个开源工具。DeepKE一个支持cnSchema、低资源、长篇章、多模态的知识图谱抽取开源工具。主要是由浙江大学和阿里团队研发的。

DeepKE是一种基于深度学习的知识抽取工具,它可以从文本数据中抽取出实体、关系和事件等知识,并将其表示为结构化的形式,可以用于自然语言处理、信息提取、搜索引擎优化以及其他相关领域。

官网地址:http://deepke.zjukg.cn/CN/index.html

论文地址:https://arxiv.org/pdf/2201.03335.pdf

官方文档:https://zjunlp.github.io/DeepKE

DeepKE的步骤通常包括以下几个方面:

1.预处理:对原始文本进行分词、词性标注、命名实体识别等处理,以便后续的模型训练和使用;

2.知识抽取:使用深度学习模型,例如神经网络、卷积神经网络和循环神经网络等,从预处理后的文本中抽取出实体、关系和事件等知识;

3.结构化表示:将抽取出的知识表示为结构化的形式,例如图或表格等,以便后续的应用和分析。

2、简单使用

首先deepke支持各种方式的安装

conda环境

conda create -n deepke python=3.8conda activate deepke

pip方式

pip install deepke

还提供了dockerfile来创建docker镜像。

cd dockerdocker build -t deepke .conda activate deepke

博主使用conda和pip直接进行install出现了报错,所以是直接下载deep的压缩包并setup

下载地址: https://pypi.doubanio.com/packages/d1/79/3ec7a5b14ecc16677b13e2f2603f56849a54ec9a0a527f1556d65f9c9f3a/deepke-2.2.1.tar.gz

解压后在deepke-2.2.1目录下运行

python setup.py install

发现还是报错,原因是该包里面没有requirements.txt(希望官方改正)

于是找到官方文档中的安装依赖并写入requirements.txt放入setup.py的同级目录下再运行(已被调试过)。

torch == 1.10.0hydra-core == 1.0.6tensorboard == 2.4.1matplotlib == 3.4.1protobuf==3.19.2transformers == 3.4.0jieba == 0.42.1scikit-learn == 0.24.1pytorch-transformers == 1.2.0seqeval == 1.2.2tqdm == 4.60.0opt-einsum==3.3.0wandb==0.12.7ujson

使用命令后可能会由于从python官方库下载而导致的超时问题,因此我们直接使用如下命令

pip install -r requirements.txt -i https://pypi.douban.com/simple

来将依赖直接安装之后再运行命令

python setup.py install

就安装成功了。

1、训练模型

import deepke# 加载训练数据train_data = [    {        "text": "乔布斯是苹果公司的创始人。",        "entities": {            "PERSON": [{"start": 0, "end": 2}]        },        "relations": {            "FOUNDED_BY": [{"head": 0, "tail": 3}]        }    },    {        "text": "比尔盖茨是微软公司的创始人。",        "entities": {            "PERSON": [{"start": 0, "end": 4}]        },        "relations": {            "FOUNDED_BY": [{"head": 0, "tail": 5}]        }    },    # ... 其他训练数据]# 训练模型model = deepke.train(train_data)# 保存模型model.save_model("model_path")

2、知识抽取

import deepke# 加载预训练模型model = deepke.load_model(model_path)# 对输入文本进行预处理text = "乔布斯是苹果公司的创始人。"tokens = deepke.tokenize(text)# 使用模型进行知识抽取entities, relations = model.predict(tokens)# 输出抽取结果print("Entities:", entities)print("Relations:", relations)

以上代码使用预训练模型对输入文本进行了知识抽取,并输出了实体和关系等结构化信息。

3、注意事项

数据集格式为json数据。训练数据的格式必须符合DeepKE要求的格式。具体而言,每个训练样例应该包含一个文本字段(即**“text”字段)以及一个实体字段(即“entities”字段),实体字段的值应该是一个字典类型,键为实体类型,值为一个列表,列表中的每个元素表示一个实体在文本中的位置信息(即“start”和“end”字段)。同时,在存在关系的情况下,每个训练样例还应该包含一个关系字段(即“relations”字段),关系字段的值也应该是一个字典类型,键为关系类型,值为一个列表,列表中的每个元素表示一条关系,其中“head”和“tail”**分别表示关系头和尾在实体列表中的索引。

以下是一个示例的训练数据格式:

{    "text": "史蒂夫·乔布斯是苹果公司的创始人。",    "entities": {        "PERSON": [{"start": 0, "end": 5}],        "ORG": [{"start": 9, "end": 13}]    },    "relations": {        "FOUNDED_BY": [{"head": 0, "tail": 1}]    }}

如有任何问题请参考开源地址:https://gitee.com/openkg/deepke

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/1098217.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【知识抽取:DeepKE库的使用(浙江大学知识图谱团队开源工具)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2