Lttoolbox et lexc

From Apertium
Jump to navigation Jump to search

In English

Cette page décrit comment les lexc Lttoolbox et HFST sont similaires, de sorte que ceux qui sont plus familiers avec l'un d'eux puissent se familiariser plus facilement avec l'autre.

Terminologie

lttoolbox lexc Notes
Paradigm Continuation lexicon Donc chaque fois que vous voyez LEXICON foo, pensez <pardef n="foo"/>
Section Root lexicon
Left Up Left et upper correspondent tous deux à la forme de surface
Right Down Correspondent à la forme lexicale
Symbol Multichar symbol Séquences d'un ou plusieurs symboles qui sont traités comme un symbole

Exemple

lttoolbox

<dictionary>
  <sdefs>
    <sdef n="n"/>
    <sdef n="pl"/>
    <sdef n="sg"/>
  </sdefs>
  <pardefs> 
    <pardef n="RegNounInfl">
      <e><p><l/><r><s n="n"/><s n="sg"/></r></p></e>
      <e><p><l>s</l><r><s n="n"/><s n="pl"/></r></p></e>
    </pardef>
  </pardefs>
  <section id="Root" type="standard">
    <e lm="cat"><i>cat</i><par n="RegNounInfl"/></e> <!-- A noun -->
  </section>
</dictionary>

Et pour compiler et utiliser ce dictionaire :

$ lt-comp lr test.dix test.bin
Root@standard 7 7

$ echo "cat" | lt-proc test.bin
^cat/cat<n><sg>$

$ echo "cats" | lt-proc test.bin
^cats/cat<n><pl>$

lexc

Multichar_Symbols

 +N +Pl +Sg

LEXICON Root

NounRoot ;

LEXICON NounRoot

cat RegNounInfl ; ! A noun

LEXICON RegNounInfl

+N+Sg:   # ;
+N+Pl:s   # ;

Et pour compiler et utiliser ce dictionaire :

$ hfst-lexc test.lexc -o test.gen.hfst
$ hfst-invert -i test.gen.hfst -o test.mor.hfst

$ echo "cat" | hfst-lookup test.mor.hfst 
cat	cat+N+Sg

$ echo "cats" | hfst-lookup test.mor.hfst 
cats	cat+N+Pl