Code Monkey home page Code Monkey logo

transformer-based-pretrained-model-for-event-extraction's Introduction

Transformer-based-pretrained-model-for-event-extraction

使用BERT/OpenAI-GPT2/ALBERT/XLM/Roberta/XLNet/Ctrl/DistilBert/TransfoXL等预训练语言模型在ace2005数据集上进行事件抽取任务。

代码在nlpcl-lab / bert-event-extraction框架上修改,使用transformers包和CRF模型替换了原项目的模型构建部分。

模型整体采用序列标注的方式,未使用任何辅助信息。 先用crf做触发词识别,再根据触发词识别结果再用crf进行论元识别。

预训练模型选用xlm-roberta-large时,trigger-f1=0.72; argument-f1=0.45。argument提升了0.05。

说明:当前是按照一个事件类型使用一个CRF进行识别论元,这会造成一定程度的数据稀疏问题,可以在consts.py中修改,将多种事件类型合并为一个CRF识别

trigger classification

P=0.677 R=0.754 F1=0.713

argument classification

P=0.588 R=0.384 F1=0.464

trigger identification

P=0.723 R=0.805 F1=0.762

argument identification

P=0.617 R=0.403 F1=0.488

超参如下

==================== 超参 ====================

可选预训练模型:

PreTrainModel = ['Bert_large', 'Gpt', 'Gpt2', 'Ctrl', 'TransfoXL',

'Xlnet_base', 'Xlnet_large', 'XLM', 'DistilBert_base', 'DistilBert_large',

'Roberta_base', 'Roberta_large', 'XLMRoberta_base', 'XLMRoberta_large',

'ALBERT-base-v1', 'ALBERT-large-v1', 'ALBERT-xlarge-v1', 'ALBERT-xxlarge-v1',

'ALBERT-base-v2', 'ALBERT-large-v2', 'ALBERT-xlarge-v2', 'ALBERT-xxlarge-v2']

       early_stop = 5
               lr = 1e-05
               l2 = 1e-05
         n_epochs = 50
           logdir = logdir
         trainset = data/train.json
           devset = data/dev.json
          testset = data/test.json
       LOSS_alpha = 1.0        
   PreTrain_Model = XLMRoberta_large
       model_path = /Transformer-based-pretrained-model-for-event-extraction-master/save_model/latest_model.pt
       batch_size = 16

运行

  1. 在LDC网站获取ACE2005数据集,企业和学校购买后方可获取(LDC2006T06): https://catalog.ldc.upenn.edu/byyear#2005

  2. 按照 https://github.com/nlpcl-lab/ace2005-preprocessing 的方法,将ACE2005数据处理为json格式的train/dev/test后放入\data文件夹,处理后的格式应该和\data中sample.json一致

  3. 安装依赖环境

  4. 训练评估:python DataLoadAndTrain.py --LOSS_alpha=1 --lr=1e-5 --l2=1e-5 --early_stop=5 --PreTrain_Model="XLMRoberta_large" --batch_size=16

我的邮箱:[email protected]

我的知乎主页:https://www.zhihu.com/people/zhang-han-32-13-81

transformer-based-pretrained-model-for-event-extraction's People

Contributors

hanlard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

transformer-based-pretrained-model-for-event-extraction's Issues

Segmentation fault (core dumped)

python DataLoadAndTrain.py --LOSS_alpha=1 --lr=1e-5 --l2=1e-5 --early_stop=5 --PreTrain_Model="Gpt2" --batch_size=16
2023-03-01 10:52:17.583697: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/nvidia/lib/:/usr/local/nvidia/lib64/
2023-03-01 10:52:17.583823: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/nvidia/lib/:/usr/local/nvidia/lib64/
2023-03-01 10:52:17.583840: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
==================== 超参 ====================
PreTrainModel = ['Bert_large', 'Gpt', 'Gpt2', 'Ctrl', 'TransfoXL', 'Xlnet_base', 'Xlnet_large', 'XLM', 'DistilBert_base', 'DistilBert_large', 'Roberta_base', 'Roberta_large', 'XLMRoberta_base', 'XLMRoberta_large', 'ALBERT-base-v1', 'ALBERT-large-v1', 'ALBERT-xlarge-v1', 'ALBERT-xxlarge-v1', 'ALBERT-base-v2', 'ALBERT-large-v2', 'ALBERT-xlarge-v2', 'ALBERT-xxlarge-v2']
early_stop = 5
lr = 1e-05
l2 = 1e-05
n_epochs = 50
logdir = logdir
trainset = data/train.json
devset = data/dev.json
testset = data/test.json
LOSS_alpha = 1.0
telegram_bot_token =
telegram_chat_id =
PreTrain_Model = Gpt2
model_path = Transformer-based-pretrained-model-for-event-extraction-master/save_model/latest_model.pt
batch_size = 16
Segmentation fault (core dumped)
(base) root@dl-230215085122e58-pod-jupyter-575dd95b75-wct2x:~/Transformer-based-pretrained-model-for-event-extraction#
为什么会出现这个问题呢

Transformer-based-pretrained-model-for-event-extraction/migration_model/train.py报错

Traceback (most recent call last):
File "/Users//NLP/Transformer-based-pretrained-model-for-event-extraction/migration_model/train.py", line 13, in
from model import Net
File "/Users//NLP/Transformer-based-pretrained-model-for-event-extraction/migration_model/model.py", line 16, in
from DataLoadAndTrain import idx2trigger, argument2idx
File "/Users//NLP/Transformer-based-pretrained-model-for-event-extraction/migration_model/DataLoadAndTrain.py", line 12, in
from model import Net
ImportError: cannot import name 'Net'
这写的也没问题啊,怎么会报错呢??

请问如何获取

你好,在做事件抽取研究,请问如何获取ACE2005数据集呢?哪里可以下载或者申请吗?感谢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.