MOGANED
An unofficial code reproduction in the field of event extraction of EMNLP-19 paper "Event Detection with Multi-Order Graph Convolution and Aggregated Attention"
Install / Use
/learn @ll0ruc/MOGANEDREADME
MOGANED
An unofficial pytorch code reproduction of EMNLP-19 paper "Event Detection with Multi-Order Graph Convolution and Aggregated Attention"
Prerequisites
-
Prepare ACE 2005 dataset.(You can get ACE2005 dataset here: https://catalog.ldc.upenn.edu/LDC2006T06)
-
Use nlpcl-lab/ace2005-preprocessing to preprocess ACE 2005 dataset in the same format as the data/sample.json.
Usage
Preparations
1、put the processed data into ./data, or you can modify path in constant.py.
2、put word embedding file into ./data, or you can modify path in constant.py. (You can download GloVe embedding here: https://nlp.stanford.edu/projects/glove/)
Train
python train.py
All network and training parameters are in constant.py. You can modify them in your own way.
About the word embedding, we found that wordemb in the way (train the word embedding using Skip-gram algorithm on the NYT corpus) got better performance than the glove.6B.100d. So we choose 100.utf8 (you can get it here https://github.com/yubochen/NBTNGMA4ED) as our word embedding vector.
Result
Performance
<table> <tr> <th rowspan="2">Method</th> <th colspan="3">Trigger Classification (%)</th> </tr> <tr> <td>Precision</td> <td>Recall</td> <td>F1</td> </tr> <tr> <td>MOGANED(original paper)</td> <td>79.5</td> <td>72.3</td> <td>75.7</td> </tr> <tr> <td>MOGANED(this code)</td> <td>78.8</td> <td>72.3</td> <td>75.4</td> </tr> </table>Note
In many cases, the trigger is a phrase. Therefore, we treat consecutive tokens which share the same predicted label as a whole trigger. So we don't use BIO schema for trigger word. This strategy comes from "Exploring Pre-trained Language Models for Event Extraction and Generation" (ACL 2019), Yang et al. [paper]
