Giter Club home page Giter Club logo

unify-srl's Introduction

Unifying Cross-Lingual Semantic Role Labeling with Heterogeneous Linguistic Resources

Paper Conference License: CC BY-NC 4.0

Description

This is the repository for the paper Unifying Cross-Lingual Semantic Role Labeling with Heterogeneous Linguistic Resources, to be presented at NAACL 2021 by Simone Conia, Andrea Bacciu and Roberto Navigli.

Abstract

While cross-lingual techniques are finding increasing success in a wide range of Natural Language Processing tasks, their application to Semantic Role Labeling (SRL) has been strongly limited by the fact that each language adopts its own linguistic formalism, from PropBank for English to AnCora for Spanish and PDT-Vallex for Czech, inter alia. In this work, we address this issue and present a unified model to perform cross-lingual SRL over heterogeneous linguistic resources. Our model implicitly learns a high-quality mapping for different formalisms across diverse languages without resorting to word alignment and/or translation techniques. We find that, not only is our cross-lingual system competitive with the current state of the art but that it is also robust to low-data scenarios. Most interestingly, our unified model is able to annotate a sentence in a single forward pass with all the inventories it was trained with, providing a tool for the analysis and comparison of linguistic theories across different languages.

Download

You can download a copy of all the files in this repository by cloning the git repository:

git clone https://github.com/SapienzaNLP/unify-srl.git

or download a zip archive.

Model Checkpoint

To install

To install you can use the environment.yml.
To use the model with NVIDIA CUDA remember to install the torch-scatter package made for CUDA (we suggest CUDA 10.2) as described in the documentation.

pip install torch-scatter==2.0.5 -f https://pytorch-geometric.com/whl/torch-1.5.0+${CUDA}.html

Cite this work

@inproceedings{conia-etal-2021-unify-srl,
    title = "Unifying Cross-Lingual Semantic Role Labeling with Heterogeneous Linguistic Resources",
    author = "Conia, Simone  and
      Bacciu, Andrea  and
      Navigli, Roberto",
    booktitle = "Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies",
    month = jun,
    year = "2021",
    address = "Online",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/2021.naacl-main.31",
    pages = "338--351",
}

unify-srl's People

Contributors

andreabac3 avatar c-simone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

hahahawu

unify-srl's Issues

1-shot data preprocessing

I was trying to replicate the results for the one shot setting but not sure which sentences are used in the training set. Can you release the data preprocessing script for the 1-shot setting?
or
is it just following the order of the dataset and remove the sentences with replicated predicate sense?
Thank you.

ResolvePackageNotfound

I was trying to create a new conda env with the command
conda env create -f environment.yml, but I am getting ResolvePackageNotfound for some of the packages.
I googled on it but didn't find a concrete solution. Please help me resolve the issue

evaluation script for cz

I was trying to run the evaluation script for cz and I got this error.

python evaluate_conll2009.py --scorer scorer_conll2009.pl --processor xlmr_ft_full_all/processor_config.json --model xlmr_ft_full_all/checkpoint_epoch=026-val_f1=0.9028.ckpt --config ../config/full/cz_config.json --output_dir xlmr_ft_full_all/

Evaluation on CZ

Traceback (most recent call last):
  File "evaluate_conll2009.py", line 114, in <module>
    if output_senses[i] != '_':
IndexError: list index out of range

other languages work fine. not sure what happened to this one.

Clarifying question about the model architecture

Hello,

I would like to clarify the model architecture being used here. I thought this code performed predicate identification, predicate sense disambiguation, argument identification and argument classification in a single forward pass, but it looks like the "forward" function takes the indices of the predicate already identified as input. ie, see line 94 of srl/models/model.py.

I was hoping to emulate this model architecture for a similar task, but can't figure out how you go about predicate identification. Is the predicate identified before you encode and decode the sense and predicate-argument representations? If so, how?

Many thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.