English | 简体中文
-
首先创建Conda虚拟环境
-
安装环境依赖
python==3.8 pip install -r requirements.txt pip install hydra-core==1.3.1 # ignore the conlict with deepke
git clone https://github.com/zjunlp/DeepKE.git
cd DeepKE/example/ee/standard
在./conf/train.yaml
中修改训练参数。可以通过更改data_name
参数来选择不同的数据集,并将model_name_or_path
改成对应的模型。
整个事件抽取的训练分为两部分,第一部分是训练触发词分类的模型,第二部分是训练事件角色抽取的模型。
-
Trigger 触发词
首先是完成每个instance的触发词的抽取,
将
task_name
设置为trigger
。 然后运行下述命令python run.py
在训练后会完成触发词的预测,结果保存在
exp/xx/trigger/xxx/eval_pred.json
。 -
事件元素 (Event Arguments Extraction) 然后是训练一个事件角色抽取的模型,在这里我们用正确的trigger训练事件元素抽取模型。 将
task_name
设置为role
。 然后运行下述命令python run.py
触发词的预测在训练的过程中会完成,预测的结果在output_dir
中。在这里我们使用预测得到的触发词来完成pipeline的事件元素抽取。
在./conf/predict.yaml
中修改模型参数。将model_name_or_path
设置为训练好的事件元素抽取模型的路径,并且设置do_pipeline_predict=True
来完成pipeline的事件抽取。
然后运行下述命令
python predict.py
最后的预测结果会在role模型对应目录的eval_pred.json
下。