Couverture du dictionnaire

From Apertium
Revision as of 18:24, 31 December 2011 by Bech (talk | contribs) (Création page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

C'est par exemple utilisable si vous avez une paire de langues que vous voulez faire fonctionner dans l'autre sens. L'outil a fonctionné 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 non utilisées de sv vers da) est utile.


D'abord supprimez 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


Ensuite, 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 tache apertium-dixtools profilecollect doit être insérée pour récupérer les données (en les sauvant 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>

Donc vous pouvez voir que le premier paradigme n'est pas utilisé du tout et que le 2ème paradigme le %bcy% a été utilisé 42 fois et les autres entrées 1 fois chacune.