Couverture du dictionnaire

From Apertium
Jump to navigation Jump to search

In English

Il existe un outil expérimental dans Apertium-dixtools pour établir des statistiques de fréquence sur un dictionnaire, c.-à-d. pour établir quelles entrées sont utilisées et quelles entrées ne le sont pas. Il travaille à la fois sur les entrées normales aussi bien que chaque entrée dans les paradigmes.

L'outil peut être utilisé, par exemple, si vous disposez d'une paire de langues que vous souhaitez faire fonctionner dans l'autre sens. L'outil a été utilisé sur la paire anglais et esperanto pour faire la direction eo-en. Contactez moi (--Jacob Nordfalk 18:07, 3 Novembre 2009 (UTC)) pour une aide d'utilisation.


Voici comment il pourrait être appliqué sur sv-da pour analyser quelle part du dictionnaire danois (qui contient beaucoup d'entrées inutilisées de sv vers da) est utile.


Commencez par supprimer les doublons dans les dictionnaires, par exemple faites :

 apertium-dixtools fix -alignBidix apertium-sv-da.sv-da.dix apertium-sv-da.sv-da.dix
 apertium-dixtools fix -alignMonodix apertium-sv-da.da.dix apertium-sv-da.da.dix
 apertium-dixtools fix -alignMonodix apertium-sv-da.sv.dix apertium-sv-da.sv.dix

Ensuite, faites une copie de la paire dans le sous-répertoire profiler.

 $ mkdir profiler
 $ cp * profiler


Créez une version "profiler" de vos dictionnaires :

 $ apertium-dixtools profilecreate . sv-da 

Cela créera un fichier dixtools-profilekeys.txt et mettra à jour les dictionnaires profiler/*.dix. Maintenant faites

 $ cd profiler
 $ make

Ensuite éditez modes.xml et ajoutez un mode où vous remplacerez la valeur fournie pour 'file name' :

     <program name="lt-proc $1">
       <file name="sv-da.autogen.bin"/>
     </program>

par la version profilée du dictionnaire, puis ajouterez la tâche apertium-dixtools profilecollect afin de récupérer les données (en les enregistrant dans dixtools-profiledata.txt) et filtrerez les sorties pour les étapes qui suivent dans le fichier mode :

     <program name="lt-proc $1">
       <file name="profiler/sv-da.autogen.bin"/>
     </program>
     <program name="apertium-dixtools profilecollect">
       <file name="dixtools-profiledata.txt"/>
     </program>

Utilisez le mode, par exemple sur un corpus et/ou avec votre script testvoc favori :

 $ apertium-dixtools profileresult
 Reading dixtools-profilekeys.txt
 Reading dixtools-profiledata.txt
 Writing dixtools-profileresult.txt


Comment ça marche[edit]

Il ajoute des clés aux dictionnaires. Donc

<pardef n="b/urde__vbmod">
  <e>       <p><l>urde</l>      <r>urde<s n="vbmod"/><s n="inf"/><s n="actv"/></r></p></e>
  <e>       <p><l>ør</l>        <r>urde<s n="vbmod"/><s n="pres"/><s n="actv"/></r></p></e>
  <e>       <p><l>urde</l>      <r>urde<s n="vbmod"/><s n="past"/><s n="actv"/></r></p></e>
  <e>       <p><l>urdet</l>     <r>urde<s n="vbmod"/><s n="pp"/></r></p></e>
</pardef>

<pardef n="må/tte__vaux">
  <e>       <p><l>tte</l>       <r>tte<s n="vaux"/><s n="inf"/><s n="actv"/></r></p></e>
  <e>       <p><l></l>          <r>tte<s n="vaux"/><s n="pres"/><s n="actv"/></r></p></e>
  <e>       <p><l>tte</l>       <r>tte<s n="vaux"/><s n="past"/><s n="actv"/></r></p></e>
  <e>       <p><l>ttet</l>      <r>tte<s n="vaux"/><s n="pp"/></r></p></e>
</pardef>

devient

<pardef n="b/urde__vbmod">
  <e>       <p><l>urde</l>      <r>urde<s n="vbmod"/><s n="inf"/><s n="actv"/></r></p><p><l>%bct%</l><r/></p></e>
  <e>       <p><l>ør</l>        <r>urde<s n="vbmod"/><s n="pres"/><s n="actv"/></r></p><p><l>%bcu%</l><r/></p></e>
  <e>       <p><l>urde</l>      <r>urde<s n="vbmod"/><s n="past"/><s n="actv"/></r></p><p><l>%bcv%</l><r/></p></e>
  <e>       <p><l>urdet</l>     <r>urde<s n="vbmod"/><s n="pp"/></r></p><p><l>%bcw%</l><r/></p></e>
</pardef>

<pardef n="må/tte__vaux">
  <e>       <p><l>tte</l>       <r>tte<s n="vaux"/><s n="inf"/><s n="actv"/></r></p><p><l>%bcx%</l><r/></p></e>
  <e>       <p><l></l>          <r>tte<s n="vaux"/><s n="pres"/><s n="actv"/></r></p><p><l>%bcy%</l><r/></p></e>
  <e>       <p><l>tte</l>       <r>tte<s n="vaux"/><s n="past"/><s n="actv"/></r></p><p><l>%bcz%</l><r/></p></e>
  <e>       <p><l>ttet</l>      <r>tte<s n="vaux"/><s n="pp"/></r></p><p><l>%bd0%</l><r/></p></e>
</pardef>

Le fichier dixtools-profileresult.txt contient

0 bct <e><l>urde</l><r>urde<vbmod><inf><actv></r></e>
0 bcu <e><l>ør</l><r>urde<vbmod><pres><actv></r></e>
0 bcv <e><l>urde</l><r>urde<vbmod><past><actv></r></e>
0 bcw <e><l>urdet</l><r>urde<vbmod><pp></r></e>
1 bcx <e><l>tte</l><r>tte<vaux><inf><actv></r></e>
41 bcy <e><l></l><r>tte<vaux><pres><actv></r></e>
1 bcz <e><l>tte</l><r>tte<vaux><past><actv></r></e>
1 bd0 <e><l>ttet</l><r>tte<vaux><pp></r></e>

Vous pouvez voir que le premier paradigme n'est pas utilisé du tout et que le deuxième paradigme (%bcy%) a été utilisé 42 fois et les autres entrées une fois chacune.