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:- SVM light: Copyright (C) 2000, Thorsten Joachims. Free for scientific use; the software must not be further distributed without prior permission of the author.
- SVM multiclass: Copyright (C) 2004, Thorsten Joachims. Granted free of charge for non-commercial research and education purposes; the software must not be further distributed without prior permission of the author.
- MEGA Model Optimization Package: Free to anyone to use it in any research.
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:- Update the ixa-pipe-srl-eu/run.sh executable file specifying the path of the ixa-pipe-srl-eu/ directory in the rootDir variable.
- Download the package of the resources from the following link:srl-eu-resources\ -v1.0.0.tgz
- Decompress the package and copy all the files to the ixa-pipe-srl-eu/resources directory.
- Download and install the SVM light tool (version V6.20). Update the ixa-pipe-srl-eu/run.sh executable file specifying the path of the installed svm_classify executable in the svmLightExec variable.
- Download and install the SVM multiclass tool (version V1.01). Update the ixa-pipe-srl-eu/run.sh executable file specifying the path of the installed svm_multiclass_classify executable in the svmMulticlassExec variable.
- Download and install the MEGA Model Optimization tool. Update the ixa-pipe-srl-eu/run.sh executable file specifying the path of the installed megam_i686.opt executable in the megamOptExec parameter.
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:- The encoding pragma is no longer supported at...
The Perl version you are using is higher than the one in this implementation. In line 26 of ixa-pipe-srl-eu/nagusia.pl script delete "use encoding 'utf8'" and write this:use utf8 - Errorea: ezin da exekutatu .../svm_multiclass_linux64/svm_multiclass_classify
You are using a wrong version of SVM multiclass tool. You need version V1.01 and you can download it from here: SVM multiclass V1.01. Remember that once you install the SVM multiclass, you have to update the variable svmMulticlassExec as described in the previous section. - Version of model-file does not match version of svm_struct_classify!: Success
You are using a wrong version of SVM multiclass tool. You need version V1.01 and you can download it from here: SVM multiclass V1.01. Remember that once you install the SVM multiclass, you have to update the variable svmMulticlassExec as described in the previous section. - If you get an error like undefined reference to `sqrt' when installing version V1.01 of SVM multiclass, install it using the followig command:
gcc -pg -Wall svm_struct_api.o svm_struct/svm_struct_classify.o svm_light/svm_common.o svm_struct/svm_struct_common.o -lm -o svm_multiclass_classifyRemember that once you install the SVM multiclass, you have to update the variable svmMulticlassExec as described in the previous section.
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
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):<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