Crossdics Example

From Apertium
Jump to navigation Jump to search

Obtaining apertium-crossdics

Download

$ svn co https://apertium.svn.sourceforge.net/svnroot/apertium/trunk/apertium-crossdics

You will need to install Ant and Java Development Kit 6 (JDK6)

$ sudo apt-get install ant sun-java6-jdk

Compiling

$ cd apertium-crossdics
$ ant jar

Install and execution

$ sudo ant install

To use apertium-crossdics:

$ apertium-crossdics -f en-es-gl-ling-resources.xml en-gl

What you need

To get an English-Galician (A-C) language pair from English-Spanish (A-B) and Spanish-Galician (B-C), you need at least this linguistic data:

  • Morphological A: apertium-en-es.en.dix
  • 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 ABC: cross-model-en-es-gl.dix

All this data must be specified in a Linguistic Resources Document, as follows:

Linguistic Resources Document

<?xml version="1.0" encoding="UTF-8"?>

<!-- Linguistic resources-->
<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"/>
         <property name="version" value="stable"/>
      </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"/>
         <!-- note that we use the same cross model file -->
         <property name="src" value="cross-model-en-es-gl.xml"/>
         <property name="version" value="stable"/>
      </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-ca.en.metadix"/>
         <property name="version" value="stable"/>
      </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"/>
         <property name="version" value="stable"/>
      </resource>

      <!-- 'en-es' bilingual dictionary -->
      <resource>
         <property name="name" value="apertium-es-ca"/>
         <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"/>
         <property name="version" value="stable"/>
      </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"/>
         <property name="version" value="stable"/>
      </resource>
      
   </resource-set>
   
</ling-resources>

Read more about How to create a Linguistic Resources Document

Cross Model Document

A cross model document must contain at least a default pattern-action. Here you have an example:

<?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.