UniversalPropositions / PriMeSRL-Eval

A Practical Quality Metric for Semantic Role Labeling Systems Evaluation
Apache License 2.0
6 stars 2 forks source link
evaluation-metric semantic-role-labeling

PriMeSRL-Eval

This repository contains the code for the EACL 2023 Findings paper PriMeSRL-Eval: A Practical Quality Metric for Semantic Role Labeling Systems Evaluation

We have our proposed evaluation of SRL quality and the official evaluation from the CoNLL2005 (span evaluation) and CoNLL2009 (head evaluation). We use an SRL format that extends the CoNLL-U format (see SRL format section below).

We have the following pipelines:

Data

Usage

The evaluation script will show the results from the official CoNLL scripts and our proposed evaluation method. Please see the paper on how to interpret and compare these numbers.

Examples from our paper

We have encoded all examples in our paper as unit tests. See tests/README.md for how to match up numbers in the tests with those presented in the paper.

In short, the data for the tables are in the tests/data/<evaluation>/input with similar naming scheme to the examples in the table. The evaluation results presented in the paper are in these folders with this structure: tests/data/<evaluation>/expected/compare-*/comparison-results-[official-conll|proposed].csv.

We provide a script to format these comparison results, example usages:

CoNLL-U+SRL format

We use an extended CoNLL-U format that replaces the MISC column with the additional columns below:

Contribution

To contribute to this repository, particularly new unit tests of other interesting error combinations, please open an issue for discussion and any subsequent PR.

Citation

@misc{jindal2022primesrleval,
    title={PriMeSRL-Eval: A Practical Quality Metric for Semantic Role Labeling Systems Evaluation},
    author={Ishan Jindal and Alexandre Rademaker and Khoi-Nguyen Tran and Huaiyu Zhu and Hiroshi Kanayama and Marina Danilevsky and Yunyao Li},
    year={2022},
    eprint={2210.06408},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}