Analyser un texte finnois
Contents
Installation
D'abord, fabriquez un répertoire appelé quelque-chose comme "source" dans votre espace de travail. Les commandes qui suivent supposent que vous êtes dans ce répertoire.
Installer SFST
Note: vous pourriez avoir à dé-commenter la ligne FPIC dans Makefile, afin d'éviter une erreur de déplacement dans la commande sudo make libinstall.
$ sudo apt-get install libreadline5-dev $ wget ftp://ftp.ims.uni-stuttgart.de/pub/corpora/SFST/SFST-1.4.6a.tar.gz $ tar -xzvf SFST-1.4.6a.tar.gz $ cd SFST/src $ make $ sudo make install $ sudo make libinstall $ cd ..
Installer OpenFST
$ wget http://openfst.cs.nyu.edu/twiki/pub/FST/FstDownload/openfst-1.2.6.tar.gz $ tar -xzvf openfst-1.2.6.tar.gz $ cd openfst-1.2.6/ $ ./configure $ make $ sudo make install $ cd ..
Installer HFST
$ wget http://downloads.sourceforge.net/project/hfst/hfst/hfst-2.4.1.tar.gz $ tar -xzvf hfst-2.4.1.tar.gz $ cd hfst-2.4.1/ $ ./configure $ make $ sudo make install $ cd ..
Installer Omorfi
$ svn co http://svn.gna.org/svn/omorfi/trunk omorfi $ cd omorfi $ sh autogen.sh $ ./configure $ make $ sudo make install $ cd ..
Installer VISLCG
Quelques pistes peuvent être trouvées ici :
La page principale de vislcg3 est à http://beta.visl.sdu.dk/cg3.html.
Utilisation
Analyse morphologique
Test
$ cd omorfi/src $ echo "auton" | hfst-optimized-lookup mor-omorfi.cg.hfst.ol auton auto+N+Sg+Gen $ echo "autojen" | hfst-optimized-lookup mor-omorfi.cg.hfst.ol autojen auto+N+Pl+Gen
Désambiguïsation morphologique
La chaîne d'analyse est comme suit :
- prendre le texte
- preprocess: le changer en un élément par ligne (avec un support de ponctuation propre)
- analyse morphologique
- transformer de la sortie omorfi à l'entrée vislcg3
- exécuter à travers vislcg3
Dans l'exemple de style apertium qui suit, les points 2, 3, 4 ci-dessus ont été inclus dans une seule opération, hfst-proc. Dans l'environnement Giellatekno ils sont exécutés séparément. La commande qui suit est exécutée avec l'option --trace , donnant le type (MAP, REMOVE, etc.) et le numéro de ligne dans le fichier cg (ici apertium-sme-fin.fin-sme.rlx, cf. le message MAP:2859, indiquant que l'addition de la balise @+FMAINV est faite avec une règle de cartographie en ligne 2859). L'exécution de la même commande sans l'option --trace donnera une sortie propre, mais avec moins d'information.
$ echo "Alussa loi Jumala taivaan ja maan." | hfst-proc -C fin-sme.automorf.hfst | vislcg3 --trace -g apertium-sme-fin.fin-sme.rlx VISL CG-3 Disambiguator version 0.9.7.6378 Codepage: default UTF-8, input UTF-8, output UTF-8, grammar UTF-8 Parsing grammar took 0.06 seconds. Grammar has 6 sections, 0 templates, 1379 rules, 1312 sets, 748 c-tags, 1299 s-tags. "<Alussa>" "alku" N Sg Ine "<loi>" "luoda" V Act Ind Prt Sg3 @+FMAINV MAP:2859 "<Jumala>" "Jumala" N Prop Sg Nom @→N MAP:2694 "jumala" N Sg Nom @→N MAP:2694 "<taivaan>" "taivas" N Sg Gen @→N MAP:2680 "<ja>" "ja" CC @CNP MAP:2651 ; "ja" Pcle REMOVE:820 "<maan>" "maa" N Sg Gen @←OBJ MAP:2785 "<.>" "." Punct CLB ADD:793