Crossdics Example
Getting English-Galician[1] (A-C) language pair from English-Spanish[2] (A-B) and Spanish-Galician[3] (B-C).
Obtaining apertium-crossdics[edit]
Download[edit]
$ git clone https://github.com/apertium/apertium-dixtools
You will need to install Ant and Java Development Kit 6 (JDK6)
$ sudo apt-get install ant sun-java6-jdk
Compiling and installing[edit]
$ cd apertium-crossdics $ ant jar $ sudo ant install
What you need[edit]
Dictionaries[edit]
To get an English-Galician (A-C) language pair from English-Spanish (A-B) and Spanish-Galician (B-C), you need the following dictionaries:
- Morphological A: apertium-en-es.en.metadix
- Morphological C: apertium-es-gl.gl.dix
- Bilingual AB: apertium-en-es.en-es.dix
- Bilingual BC: apertium-es-gl.es-gl.dix
Cross Model Document[edit]
You will also need a:
- Cross Model ABC: cross-model-en-es-gl.dix
A cross model document must contain at least a default pattern-action. Here you have a very simple example of cross-model-en-es-gl.xml document.
<?xml version="1.0" encoding="UTF-8"?>
<cross-model>
<cross-action id="default" a="ebenimeli">
<description>Default pattern</description>
<pattern>
<e>
<p>
<l>$lemmaA<v n="cat"/><t n="tailA"/></l>
<r>$lemmaB<v n="cat"/><t/></r>
</e>
<e>
<p>
<l>$lemmaB<v n="cat"/><t/></l>
<r>$lemmaC<v n="cat"/><t n="tailC"/></r>
</e>
</pattern>
<action-set>
<action>
<e>
<p>
<l>$lemmaA<v n="cat"/><t n="tailA"/></l>
<r>$lemmaC<v n="cat"/><t n="tailC"/></r>
</e>
</action>
</action-set>
</cross-action>
</cross-model>
Read more in How to create a Cross Model Document.
Linguistic Resources Document[edit]
Finally, a document with references to the linguistic resources needed.
Example of en-es-gl-ling-resources.xml document:
<?xml version="1.0" encoding="UTF-8"?>
<ling-resources>
<name>My linguistic resources</name>
<description>My linguistics resources: morphological and bilingual dictionaries, cross models, corpora, etc.</description>
<resource-set>
<name>My linguistic resources to get English-Galician language pair.</name>
<description>Morphological and bilingual dictionaries.</description>
<!-- cross model en-es-gl -->
<resource>
<property name="name" value="cross-model-en-es-gl"/>
<property name="type" value="cross-model"/>
<property name="sl" value="en"/>
<property name="tl" value="gl"/>
<property name="for-crossing" value="yes"/>
<property name="src" value="cross-model-en-es-gl.xml"/>
</resource>
<!-- cross model gl-es-en -->
<resource>
<property name="name" value="cross-model-gl-es-en"/>
<property name="type" value="cross-model"/>
<property name="sl" value="gl"/>
<property name="tl" value="en"/>
<property name="for-crossing" value="yes"/>
<property name="src" value="cross-model-en-es-gl.xml"/>
</resource>
<!-- 'en' morphological dictionary -->
<resource>
<property name="name" value="apertium-en"/>
<property name="type" value="mon"/>
<property name="sl" value="en"/>
<property name="for-crossing" value="yes"/>
<property name="src" value="apertium-en-es.en.metadix"/>
</resource>
<!-- 'gl' morphological dictionary -->
<resource>
<property name="name" value="apertium-gl"/>
<property name="type" value="mon"/>
<property name="sl" value="gl"/>
<property name="for-crossing" value="yes"/>
<property name="src" value="apertium-es-gl.gl.dix"/>
</resource>
<!-- 'en-es' bilingual dictionary -->
<resource>
<property name="name" value="apertium-en-es"/>
<property name="type" value="bil"/>
<property name="sl" value="en"/>
<property name="tl" value="es"/>
<property name="for-crossing" value="yes"/>
<property name="src" value="apertium-en-es.en-es.dix"/>
</resource>
<!-- 'es-gl' bilingual dictionary -->
<resource>
<property name="name" value="apertium-es-gl"/>
<property name="type" value="bil"/>
<property name="sl" value="es"/>
<property name="tl" value="gl"/>
<property name="for-crossing" value="yes"/>
<property name="src" value="apertium-es-gl.es-gl.dix"/>
</resource>
</resource-set>
</ling-resources>
Read more about How to create a Linguistic Resources Document
Crossing dictionaries[edit]
To use apertium-crossdics:
$ apertium-crossdics -f en-es-gl-ling-resources.xml en-gl
You will get the crossed dictionaries in dix folder.
dix/apertium-en-gl.en-gl-crossed.dix dix/apertium-en-gl.en-crossed.dix dix/apertium-en-gl.gl-crossed.dix