Couverture du dictionnaire

From Apertium
Revision as of 13:58, 19 February 2013 by Polo (talk | contribs)
Jump to navigation Jump to search

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

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

avec l'utilisation de la version profilée du dictionnaire, après laquelle la tâche apertium-dixtools profilecollect doit être insérée pour récupérer les données (en les enregistrant dans dixtools-profiledata.txt) et filtrez 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

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.