1.OpenUE介绍

OpenUE 是一个简单可用的通用自然语言信息抽取工具,适用于python 初学者或有经验的机器学习开发人员。


2.OpenUE特点

(1)基于SOTA模型的NLP抽取任务 (兼容BERT, XLNet等预训练模型.)

      -实体关系抽取

      -意图识别和槽位填充

      -事件抽取

      -更多的任务

(2)训练和测试接口

(3)快速部署NLP模型


3.OpenUE框架图

其中主要分为三个模块,models,lit_models和data模块。

models 模块

其存放了我们主要的三个模型,针对整句的关系识别模型,针对已知句中关系的命名实体识别模型,还有将前两者整合起来的推理验证模型。其主要源自transformers库中的已定义好的预训练模型。

lit_models 模块

其中的代码主要继承自pytorch_lightning.Trainer。其可以自动构建单卡,多卡,GPU,TPU等不同硬件下的模型训练。我们在其中定义了training_steps和validation_step即可自动构建训练逻辑进行训练。

由于其硬件不敏感,所以我们可以使用多种不同环境下调用OpenUE训练模块。

data 模块

data中存放了针对不同数据集进行不同操作的代码。使用了transformers库中的tokenizer先对数据进行分词处理再根据不同需要将数据变成我们需要的features。


4.OpenUE快速部署模型

下载torchserve-docker

创建模型对应的handler类:

我们已经在deploy文件夹下放置了对应的部署类handler_seq.py和handler_ner.py。


torch-model-archiver --model-name BERTForNER_en \

--version 1.0 --serialized-file ./ner_en/pytorch_model.bin \

--handler ./deploy/handler.py \

--extra-files "./ner_en/config.json,./ner_en/setup_config.json,./ner_en/vocab.txt,./deploy/model.py" -f


sudo cp ./BERTForSEQ_en.mar /home/model-server/model-store/

curl -v -X POST "http://localhost:3001/models?initial_workers=1&synchronous=false&url=BERTForSEQ_en.mar&batch_size=1&max_batch_delay=200"


5.OpenUE开发团队

OpenUE由浙江大学知识图谱团队协作完成,主要贡献者包括:张宁豫、谢辛、毕帧、王泽元、陈想、余海阳、田玺、邓淑敏、陈漠沙、谭传奇、黄非、郑国轴、陈华钧等等。

访客数:
Copyright© 2019-2021 OpenKG All Rights Reserved