• Stars
    star
    208
  • Rank 189,015 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created over 4 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Event Extraction by Answering (Almost) Natural Questions

Event Extraction by Answering (Almost) Natural Questions (EMNLP'20)

Question answering for event extraction (trigger detection and argument extraction with various questioning strategies).

Paper link

If you use my code, please cite:

@inproceedings{du2020event,
    title = {Event Extraction by Answering (Almost) Natural Questions},
    author={Du, Xinya and Cardie, Claire},
    booktitle = "Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing",
    year = "2020",
    publisher = "Association for Computational Linguistics",
}

Feel free to ask questions: xdu [at] cs [dot] cornell [dot] edu. http://www.cs.cornell.edu/~xdu/

Preprocessing (for ACE data)

Read ./proc/README.md for details

Requirement

See requirements.txt

Code

Train and eval models

  • Trigger Detection

    QA based model ([CLS] verb [SEP] input sentence [SEP]): bash ./code/script_trigger_qa.sh

    Note: To get final results on test, you should (1) add --eval_test; (2) set --model_dir to your model path for test (e.g., trigger_qa_output/epoch-x-step-x). Similarly for argument extraction.

  • Argument Extraction

    • With dynamic threshold: bash ./code/script_args_qa_thresh.sh

    • Without dynamic threshold: bash ./code/script_args_qa.sh

    • Get results on unseen arguments (Train on a set excluding unseen arguments and test on those): bash ./code/script_args_qa_unseen.sh

Question Templates

Template 1 (Role Name)

Template 2 (Role + Type): ./question_templates/arg_queries.csv

Template 3 (Annotation Guideline): ./question_templates/description_queries.csv


Unseen args for analysis, see unseen_args and all_args