Couverture du dictionnaire
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.