On this page: Introduction / Download / Source code / License / How to cite / Installation / Troubleshoot installation issues / How to use / Contact

ixa-pipe-srl-eu

ixa-pipe-srl-eu is a semantic role labeling tool for Basque written documents. It is based on machine learning techniques and it is implemented in Perl programming language.

The tool takes a document in NAF format. This input document should contain lemmas, PoS tags, morphological annotations and dependency annotations. The input NAF document containing the necessary linguistic information could be obtained from the output of the following ixaKat tools' chain:
     ixa-pipe-pos-eu | ixa-pipe-dep-eu

Download

You can download the package that contains the executable file for latest stable version from the following link:
ixa-pipe-srl-eu-v1.0.1.tgz

Linguistic resources

This tool needs some linguistic resources and you can download them from the following link:
srl-eu-resources-v1.0.0.tgz

Source code

Source code for the latest development version can be downloaded or cloned from this Github page.

License

All the original code produced for ixa-pipe-srl-eu is licensed under GPL v3 free license.

This software uses a external resource, and it is distributed with the source code. This resource has its own license: Moreover, this tool uses some third-party tools which are not distributed due to their licenses (the user has to get and installed as specified in the installation section). These are those third-party tools and their copyright owners and licenses:

How to cite

If you use ixa-pipe-srl-eu tool, please cite the following paper in your academic work:

Haritz Salaberri, Olatz Arregi, Beņat Zapirain. bRol: The parser of Syntactic and Semantic Dependencies for Basque. In Proceedings of Recent Advances in Natural Language Processing (RANLP-2015), Hissar, Bulgaria, pp. 555-562. 2015.
[bibtex]

Installation

Once you download the package that contains the executable file, decompress the file. Afterwards, before starting using the tool, you have to follow the next steps in order to install the necessary resources and dependencies:

Besides, Perl (and some of its libraries) should be installed in your computer.

Troubleshoot installation issues

Here's how to troubleshoot problems you might have when installing the tool:

How to use

The nagusia.pl executable is used to run the ixa-pipe-srl-eu tool. The full command syntax of nagusia.pl is

> perl nagusia.pl -d DIR -i ID -l SVM_LIGHT_EXECUTABLE -m SVM_MULTICLASS_EXECUTABLE -o MEGAM_OPT_EXECUTABLE

arguments:
   -d DIR     [Required] Specify the path of the directory where this script is placed.
   -i ID     [Required] A identifier number which is not going to be repeated.
   -l SVM_LIGHT_EXECUTABLE     [Required] Specify the path to the SVM light executable.
   -m SVM_MULTICLASS_EXECUTABLE     [Required] Specify the path to the SVM multiclass executable.
   -o MEGAM_OPT_EXECUTABLE     [Required] Specify the path to the Megam model optimization executable.

A executable run.sh is provided to run the ixa-pipe-srl-eu tool (this script calls to the nagusia.pl script with all the needed arguments explained above). You can use it, but before running it, update the rootDir, svmLightExec, svmMulticlassExec and megamOptExec variables as specified in the installation section.

This tool reads from standard input. It should be UTF-8 encoded NAF format, containing lemmas, PoS tags, morphological annotations and dependency annotations (text, terms and deps elements of NAF). The input NAF document containing the necessary linguistic information could be obtained from the output of the following ixaKat tools' chain:

     ixa-pipe-pos-eu | ixa-pipe-dep-eu

Therefore, you can obtain semantic role labels of a plain text file using the following command (in a single command-line):
> cat test.txt | sh ixa-pipe-pos-eu/ixa-pipe-pos-eu.sh | sh ixa-pipe-dep-eu/run.sh | sh ixa-pipe-srl-eu/run.sh

The output is written to standard output and it is in UTF-8 encoding and NAF format. In the NAF output document the semantic role labels will be marked by srl elements as it is shown in the example below (the input sentence of the example is this one: "Donostiako Zinemaldiko sail ofizialean lehiatuko da Handia filma."):
<srl>
  <predicate id="pr1">
     <!--lehiatuko(compete.01)-->
     <span>
        <target id="t5"/>
     </span>
     <role id="rl1" semRole="ARG2">
        <!--sail-->
       <span>
         <target id="t3"/>
       </span>
      </role>
   </predicate>
  ...
</srl>

Contact

Arantxa Otegi, arantza.otegi@ehu.eus