赞
踩
本文主要参考deepKE官方文档,以及deepKE官方框架源码https://github.com/zjunlp/DeepKE,我此时使用的DeepKE最新版本是2.1.1。
DeepKE是一个开源的知识图谱抽取与构建工具,支持cnSchema、低资源、长篇章、多模态的知识抽取工具,可以基于PyTorch实现命名实体识别、关系抽取和属性抽取功能。同时为初学者提供了用户手册。
目前的DeepKE框架还在开发中,我下载的最新版本主要功能包括以下三点:
框架包含了CNN,RNN,transformer,capsule,gcn,BiLSTM-CRF,预训练模型等,可以进行任意的调用。
下面是官方给出的framework:
除了上面说的主要的三点外,deepKE还提供了更多的场景用来满足不同的需求,比如RE任务就包含了standard,low-resource(few-shot),document-level和multimodal四种setting。
每一个使用场景都由三个模块组成,如上图所示,包含了,数据,模型和核心,
就我个人体验而言,直接pip install deepke是可以的,但还需要做一些调整。下面我结合官方给出的安装方式,具体说明。
下载源代码
git clone --depth 1 https://github.com/zjunlp/DeepKE.git
git进行深拷贝下载源代码,其实这个下载不下载无所谓,你直接在GitHub中看也行,只要知道怎么用就可以,也可以直接在pycharm中看源码。
创建虚拟环境
不论是Linux还是Windows,用python做一个新东西总得创建虚拟环境吧,官方也提供了 docker,我还不会用,这里只讲anaconda。
anaconda创建环境:
conda create -n deepke python=3.8
conda activate deepke
直接pip安装即可。
pip install deepke
此时应该会进行很多的安装,等待即可,但在我写此文的时候的依赖包安装,有些是不符合环境需求的,可能需要更改。
简单使用(看第四步)
这个直接看官方的,他以RE为例,其实就是拷贝数据,运行run.py。
配置环境
大部分包在pip install deepke的时候已经给你安装完了,但是少量环境还需要变更。笔者的问题主要是torch的安装。根据写此文的时的版本,deepke所需的环境如下:
python == 3.8
torch == 1.5
hydra-core == 1.0.6
tensorboard == 2.4.1
matplotlib == 3.4.1
transformers == 3.4.0
jieba == 0.42.1
scikit-learn == 0.24.1
pytorch-transformers == 1.2.0
seqeval == 1.2.2
tqdm == 4.60.0
opt-einsum==3.3.0
wandb==0.12.7
ujson
实际上,当你打开源码时,里面的torch的版本要求是:
torch >= 1.5 <=1.10
但无论如何,直接pip安装的torch版本都不符合要求。需要自己更新版本。更重要的是,pip安装给你装的是cpu版本,不能通过cuda运行。可以去pytorch官网上找符合要求的版本来下载。我这里选择的是1.8.1的版本,下载的命令为:
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
要下载相适配的版本,否则可能是不能起作用的。
在这之后,其他的一些小问题更新一下就可以了。这样,你就完成了deepKE框架使用前的准备工作。
注意:
我们按照之前的提示,将DeepKE框架源码下载下来的目录应该如下:
- DeepKE ## 整个项目的源代码 - .github ## 存放关于GitHub上的一些配置 - docker ## docker镜像 - docs ## 文档及配置 - example ## 一些使用的例子 - pics ## 一些文档中的以及模型的架构图 - pretrained ## 预训练说明文档 - src ## 源代码,安装后可以从import中直接引用的 - tutorial-notebooks ## 通过notebook形式的一些简单使用和说明 .gitignore ## 哪些文件不要上传到GitHub上,这里不用管 CITATION.cff ## 引用说明 LICENSE ## 授权协议 README.md ## 总体的说明,安装及简单使用也可以看这个 README_CN.md ## 总体对应的中文文档 README_CNSCHEMA.md ## DeepKE-cnSchema中文知识图谱框架说明,包含模型下载以及简单的说明和使用 README_CNSCHEMA_CN.md ## DeepKE-cnSchema相应中文说明 README_TAG.md ## 数据标注说明,包括人工标注和自动标注 README_TAG_CN.md ## 数据标注中文说明 requirements.txt ## 需要的环境 setup.py ## 打包说明文件
这里我没有展开二级目录,下面我将对每个文件夹及文件逐个讲解其作用:
这里指的是上面不带-的那些内容,都不是文件夹,即以下内容:
.gitignore ## 哪些文件不要上传到GitHub上,这里不用管
CITATION.cff ## 引用说明
LICENSE ## 授权协议
README.md ##重要! 总体的说明,安装及简单使用也可以看这个
README_CN.md ## 总体对应的中文文档
README_CNSCHEMA.md ##重要! DeepKE-cnSchema中文知识图谱框架说明,包含模型下载以及简单的说明和使用
README_CNSCHEMA_CN.md ## DeepKE-cnSchema相应中文说明
README_TAG.md ##重要! 数据标注说明,包括人工标注和自动标注
README_TAG_CN.md ## 数据标注中文说明
requirements.txt ##重要! 需要的环境
setup.py ## 打包说明文件
这里较为重要的文档为三个README文档,以及requirements的内容,其余可以省略不看。
接着是一些相对没那么重要的文件夹,主要是文档及说明:
- .github ## 存放关于GitHub上的一些配置 - ISSUE_TEMPLATE ## 提交的issue时模板 bug_report.md ## bug提交模板 feature_request.md ## 提出的idea question_consult.md ## 问题询问模板 CODE_OF_CONDUCT.md ## 贡献者盟约行为准则,类似道德规范之类的吧啦吧啦 CONTRIBUTING.md ## 贡献,也是一堆吧啦吧啦 - docker ## docker镜像 Dockerfile ## 定制镜像文本文件,readme中有使用方法 - docs ## 文档及配置 - sildes ## 一些PPT Slides-DeepKE-cn.pdf ## 中文版的deepKE简介PPT Slides-DeepKE-en.pdf ## 英文版的deepKE简介PPT - source ## 文档的一些源 - _static ## 一些图和css - css ## 一些css文件 custom.css ## 文档的css?这里我也不知道 architectures.png ## 架构图 demo.gif ## demo演示图 logo.png ## deepKE的logo wandb.png ## Weights and Biases的图 conf.py ## 文档配置文件,不用管 deepke.attribution_extraction.rst ## 类似javadoc的功能说明文档,实际里面没啥东西… ## 还有很多,这里不列举了 make.bat ## windows make的脚本 Makefile ## 编译和链接程序的makefile文件
这里是三部分内容:
以上三个内容对于框架的使用是不起什么实际作用的。
**下面是重要的内容!**主要是使用的例子:
- example ##重要! 一些使用的例子 - ae ## 属性提取例子 - standard ##重要! 常规使用 - conf ## 里面是各种模型配置,这里就不展开了 predict.py ## 预测的文件,如果是预测,主要调用这个 README.md ## ae使用例子的readme README_CN.md ## 相应的中文文档 requirements.txt ## 需要的环境 run.py ## 训练模型的主函数 - ee ## 事件提取例子,新加的 - standard ## 常规使用 - conf ## 里面是各种模型配置,这里就不展开了 - data ## 包含data,预处理py文件及脚本 predict.py ## 预测的文件,如果是预测,主要调用这个 README.md ## ee使用例子的readme README_CN.md ## 相应的中文文档 requirements.txt ## 需要的环境 run.py ## 训练模型的主函数 - ner ## 命名实体识别例子 - few-shot ## 低资源例子 - conf ## 里面是各种模型配置,这里就不展开了 predict.py ## 预测的文件,如果是预测,主要调用这个 README.md ## ner低资源使用例子的readme README_CN.md ## 相应的中文文档 requirements.txt ## 需要的环境 run.py ## 训练模型的主函数 - multimodal ## 多模态例子,和前面差不多,自己看下 - prepare-data ## 重要!如何准备数据 - pics ## 图片 prepare_weaksupervised_data.py ## 弱监督准备数据脚本 READ.md ## 准备数据的文档,这个可以好好看看 README_CN.md ##相应的中文文档 - standard ## 常规例子,和前面差不多,自己看下,但是里面包含了数据,是可以直接用的。 - re ## 和ner中差不多,不再赘述 去看ner和具体的代码 - triple ## 三元组例子,这里(重要注意)没有readme 联合抽取,可以具体看代码,和 ae standard的目录结构差不多
例子中包含了五个方面的内容,其中事件抽取是新加入的:
最后一部分主要是教学内容:
- pics ## 一些文档中的以及模型的架构图 APCNN.jpg ## APCNN架构图 … ## 还有一大堆,都是写文档用到的图片 - pretrained ##重要! 预训练说明文档 readme.md ## 使用预训练的说明文档 README_CN.md ## 对应的中文文档 - src ##重要! 源代码,安装后可以从import中直接引用的 ## 这里就不介绍了,后面会出详细的介绍源码的文章 - tutorial-notebooks ## 通过notebook形式的一些简单使用和说明 - ae ## 属性提取教程 - standard ## 常规的 notebook说明文档 - ner ## 命名实体识别教程 - few-shot ## 低资源的 notebook说明文档 - multimodal ## 多模态的 notebook说明文档 - standard ## 常规的 notebook说明文档 - re ## 关系抽取教程 - document ## 文档级别的 notebook说明文档 - few-shot ## 低资源的 notebook说明文档 - multimodal ## 多模态的 notebook说明文档 - standard ## 常规的 notebook说明文档
这里的四个文件夹的内容主要为:
每个文件我都做了详细的说明,在后面的注释中,可以打开看具体的详情,重要的文件已经标注了。如果有需要,可以下载源代码具体看是什么,制作上述说明不易~麻烦点个赞吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。