UKPLab / framenet-tools

Annotate text with FrameNet frames and arguments.
Apache License 2.0
10 stars 2 forks source link

framenet-tools

Code style: black Documentation Status Build Status codecov

Provides functionality to find Frame Evoking Elements in raw text and predict their corresponding frames. Furthermore possible spans of roles can be found and assigned. Models can be trained either on the given files or on any annotated file in a supported format (For more information look at the section formats).

Installation

Setup

For further information run framenet_tools --help

Alternative

Alternatively conversion.sh provides a also the ability to convert FN data to CoNLL using pyfn. In this case, manually download and extract the FrameNet dataset and adjust the path inside the script.

Usage

The following functions both require a pretrained model,
generate using framenet_tools train as explained above.

Each stage can individually be trained by calling it e.g. --frameid. Also combinations of mutliple stages are possible. This can be done for every option. NOTE: A usage of evaluate or predict requires a previous training of the same stage level!

Logging

Training automatically logs the loss and accuracy of the train- and devset in TensorBoard format.

Architecture

alt text

Formats

Currently support formats include:

NOTE: If the format is not supported, pyfn might be providing a conversion.

Citing & Authors

If you find this repository helpful, feel free to cite

@software{andre_markard_2020_3993970,
  author       = {André Markard and
                  Jan-Christoph Klie},
  title        = {{FrameNet Tools: A Python library to work with 
                   FrameNet}},
  month        = aug,
  year         = 2020,
  publisher    = {Zenodo},
  version      = {v0.1.0},
  doi          = {10.5281/zenodo.3993970},
  url          = {https://doi.org/10.5281/zenodo.3993970}
}