Utilisation d'un dictionnaire lttoolbox
Cette page est conçue comme une réponse à la question "J'ai trouvé un de ces fichiers .dix
, comment puis-je l'utiliser pour analyser un texte ?" D'abord, il convient d'expliquer ce qu'est un fichier .dix
, c'est un transducteur à états finis pour un langage codé en XML. D'avantage d'informations à ce sujet peut être trouvée dans les pages lttoolbox et Bases sur les dictionnaires unilingues, mais cette page s'intéresse seulement à la manière dont il est utilisé.
Exigences
Les outils nécessaires les plus fondamentaux sont :
- lttoolbox — Une boîte à outils à états finis
- apertium — Une plate-forme logicielle de traduction automatique
Le second est nécessaire pour le support du format d'un document. Les outils de lttoolbox ont un ensemble méta-caractères qui doivent être échappés dans le texte courant (voir Format du flux Apertium).
Si votre ordinateur tourne sous GNU/Linux ou Mac/OS vous pouvez probablement installer ces deux programmes assez facilement. Pour lttoolbox :
$ svn co https://svn.code.sf.net/p/apertium/svn/trunk/lttoolbox cd lttoolbox/ sh autogen.sh ./configure make make install
Et pour apertium :
$ svn co https://svn.code.sf.net/p/apertium/svn/trunk/apertium cd apertium/ sh autogen.sh ./configure make make install
Subversion (svn
) est un système de contrôle de version. Si vous ne l'avez pas installé, sur Debian/Ubuntu GNU/Linux vous pouvez utiliser apt-get install subversion
(ou le récupérer via Synaptic). Sur Mac/OS vous pouvez utiliser port install subversion
(qui nécessite MacPorts).
Voir Installation (français) pour plus d'informations et pour la maintenance.
Utiliser le dictionnaire
Alors, prenez le fichier .dix
(ex: apertium-bn-en.bn.dix
) que vous avez téléchargé, et compilez le :
Compilation
Voir aussi : Compilation des dictionnaires
$ lt-comp lr apertium-bn-en.bn.dix bn.analyser.bin final@inconditional 8 75 main@standard 6403 13351
Utilisation
Notez que la commande apertium-destxt
est importante.
$ echo "উইকিপিডিয়ার বাংলা সংস্করণে স্বাগতম। এই বিশ্বকোষে যে কেউ অবদান রাখতে পারেন। ২১,২৫৫টি ভুক্তির ওপর কাজ চলছে।" | apertium-destxt | lt-proc bn.analyser.bin ^উইকিপিডিয়ার/*উইকিপিডিয়ার$ ^বাংলা/বাংলা<adj><mf>/বাংলা<n><mf><nn><sg><nom>/বাংলা<n><mf><nn><sg><obj>$ ^সংস্করণে/*সংস্করণে$ ^স্বাগতম/*স্বাগতম$^।/।<sent>$ ^এই/এই<det><dem>$ ^বিশ্বকোষে/*বিশ্বকোষে$ ^যে/যা<prn><p3><infml><rel><aa><mf><sg><nom>$ ^কেউ/কেউ<prn><p3><aa><mf><sp><nom>$ ^অবদান/অবদান<n><nt><nn><sg><nom>/অবদান<n><nt><nn><sg><obj>$ ^রাখতে/রাখ<vblex><inf>/রাখ<vblex><past><hbtl><p2><fam>$ ^পারেন/পার<vblex><pres><smpl><p3><pol>/পার<vblex><pres><smpl><p2><pol>$^।/।<sent>$ ^২১/২১<num>$, ^২৫৫টি/২৫৫<num>$ ^ভুক্তির/*ভুক্তির$ ^ওপর/ওপর<adv>/ওপর<n><mf><nn><sg><nom>/ওপর<n><mf><nn><sg><obj>$ ^কাজ/কাজ<n><nt><nn><sg><nom>/কাজ<n><nt><nn><sg><obj>$ ^চলছে/চল<vblex><pres><cnt><impers>/চল<vblex><pres><cnt><p3><infml>$^।/।<sent>$^./.<sent>$[][ ]
parce que si des méta-caractères non échappés apparaissent dans le flux, vous récupérez une std::exception
:
$ echo "Voici un test ^500" | lt-proc bn.analyser.bin Voici un test std::exception
(sur un Mac, vous verrez en général une 9Exception
)