Difference between revisions of "Speling tools"

From Apertium
Jump to navigation Jump to search
Line 6: Line 6:


And can be found in [[Apertium SVN]] under <code>trunk/apertium-tools/speling</code>.
And can be found in [[Apertium SVN]] under <code>trunk/apertium-tools/speling</code>.

==Example usage==

<pre>
$ cat /tmp/test
house ; house ; sg ; n
house ; houses ; pl ; n
cat ; cat ; sg ; n
cat ; cats ; pl ; n
wolf ; wolf ; sg ; n
wolf ; wolves ; pl ; n

$ python3 speling-paradigms.py /tmp/test >/tmp/test.dix
house
wol
cat

$ python3 paradigm-chopperFast.py /tmp/test.dix > /tmp/test2.dix

$ cat /tmp/test2.dix
<dictionary>
<pardefs>
<pardef n="wol/f__n">
<e><p> <l>f</l><r>f<s n="n"/><s n="sg"/></r></p></e>
<e><p> <l>ves</l><r>f<s n="n"/><s n="pl"/></r></p></e>
</pardef>
<pardef n="cat__n">
<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="main" type="standard">
<e lm="house"><i>house</i><par n="cat__n"/></e>
<e lm="wolf"><i>wol</i><par n="wol/f__n"/></e>
<e lm="cat"><i>cat</i><par n="cat__n"/></e>

</section>
</dictionary>

</pre>


==See also==
==See also==



* [[Paradigm chopper]]
* [[Paradigm chopper]]

Revision as of 04:55, 21 August 2015

The Speling tools are a number of scripts and programs which process Speling format files, they consist of:

  • split-speling.py -- To split a full-form list into manageable chunks for paradigm chopper
  • speling-paradigms.py -- To generate all possible paradigms for a given full-form list
  • paradigm-chopper.py -- To merge identical paradigms.

And can be found in Apertium SVN under trunk/apertium-tools/speling.

Example usage

$ cat /tmp/test 
house ; house ; sg ; n
house ; houses ; pl ; n
cat ; cat ; sg ; n
cat ; cats ; pl ; n
wolf ; wolf ; sg ; n
wolf ; wolves ; pl ; n

$ python3 speling-paradigms.py /tmp/test >/tmp/test.dix
house
wol
cat

$ python3 paradigm-chopperFast.py /tmp/test.dix > /tmp/test2.dix

$ cat /tmp/test2.dix 
<dictionary>
  <pardefs>
    <pardef n="wol/f__n">
      <e><p>          <l>f</l><r>f<s n="n"/><s n="sg"/></r></p></e>
      <e><p>          <l>ves</l><r>f<s n="n"/><s n="pl"/></r></p></e>
    </pardef>
    <pardef n="cat__n">
      <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="main" type="standard">
    <e lm="house"><i>house</i><par n="cat__n"/></e>
    <e lm="wolf"><i>wol</i><par n="wol/f__n"/></e>
    <e lm="cat"><i>cat</i><par n="cat__n"/></e>

  </section>
</dictionary>

See also