Révisions
Une fois installée la chaîne de traitement Alpc, quatre modes d'utilisation sont disponibles, à savoir:
- utilisation directe en ligne de commande
- utilisation via le shell FRMG (
frmg_shell
) - utilisation d'un serveur de parseur (
parserd
) - utilisation d'un service Web (frmg_server.pl)
Mode ligne de commande
Ce mode est seulement présenté pour des raisons historiques et pour aider à l'intégration de FRMG.
Il s'appuie sur les commandes frmg_lexer
et frmg_parser
.
> echo "il mange une pomme." | frmg_lexer | frmg_parser -loop -disamb -conll <latency_time> 102ms <token> E1F5 . <token> E1F4 pomme <token> E1F3 une <token> E1F2 mange <token> E1F1 il Answer: L = [-disamb,-conll] SId = E1 N = 5 A = 0 ## sentence=E1 mode=full best=yes 1 il il CL CLS n=s|p=3|s=suj 2 suj _ _ R_subjectsubject 5 2 mange manger V V m=ind|n=s|p=3|t=pst 0 root _ _ R_root -1 3 une un D DET n=s 4 det _ _ R_detdet 2 4 pomme pomme N NC n=s|s=c 2 obj _ _ R_objectobject 4 5 . . PONCT PONCT _ 2 ponct _ _ R_ponctvoid 1
L'option '-loop' pour frmg_parser permet en fait de traiter un séquence de phrases. Il est donc possible de traiter le contenu d'un fichier
> cat myfile.txt | frmg_lexer | frmg_parser -loop -disamb -conll -multi
Par ailleurs, le lexer frmg_lexer accepte une chaîne de caractères en entrée et appelle le segmenteur sxpipe dessus. Mais il est également possible de passer au lexer le résultat d'une telle segmentation sous forme d'un DAG (ou treillis de mots).
> echo "il mange une pomme." | sxpipe | dag2udag | frmg_lexer | frmg_parser -loop -disamb -conll
Mode Shell
Le mode shell, avec la commande frmg_shell
, est conseillé pour une première utilisation de l'analyseur FRMG.
> frmg_shell Welcome on FRMG shell [type help for more information] (default: sentence 1)> help FRMG shell commands quit : exit this shell (alias: q | bye ) .... (default: sentence 1)>:conll il mange une pomme ... ## sentence=E1 mode=full best=yes 1 il il CL CLS n=s|p=3|s=suj 2 suj _ _ R_subjectsubject 5 2 mange manger V V m=ind|n=s|p=3|t=pst 0 root _ _ R_root -1 3 une un D DET n=s 4 det _ _ R_detdet 2 4 pomme pomme N NC n=s|s=c 2 obj _ _ R_objectobject 4 [1] il mange une pomme (default: sentence 1)>1:xml:| ... (default: sentence 1)> quit Goodbye ! à bientôt
La commande peut être aussi utilisée en mode batch
> echo ":xml:passage il mange une pomme." | ./frmg_shell --quiet > foo.xml
Elle peut également être utilisée pour traiter des corpus jouets. Par exemple, la commande suivante traite les phrases de mycorpus.txt pour produire des sorties en format CONLL (schéma FTB), stockées sous mycorpus/ à raison d'une phrase par fichier.
> echo "corpus mycorpus.txt mycorpus :conll" | frmg_shell --batch
ou (pour des sorties en format Passage/XML et mode robust) :
> echo "corpus mycorpus.txt mycorpus :passage:xml:robust" | frmg_shell --batch
Mode Serveur
Ce mode, un peu plus compliqué à mettre en oeuvre, permet cependant le traitement de gros corpus sur des clusters de machines. Il repose sur l'utilisation du serveur parserd
(qui devra tourner sur chaque noeud du cluster) et sur le contrôleur dispatch.pl
qui a la charge d'envoyer les phrases du corpus aux noeuds, récupérer les résultats, et gérer les problèmes éventuels.
Le serveur parserd peut être lancé à l'aide de parserd_service
, installé par alpi
.
> parserd_service status parserd is stopped > parserd_service start Starting parserd: Running the server user=clerger group=alpage [ OK ]
Le traitement d'un corpus peut alors être lancé, en précisant un certain nombre d'options dans un fichier de configuration (ou directement sur la ligne de commande)
> cat mycorpus.conf ## path to dags for mycorpus built with SxPipe dagdir mycorpus.dag/ dagext udag ## where and how to save the results results mycorpus.results collsave compress tar ## emits some statistics time date stats ## output schema #dis_xmldep #passage conll # Control of the parser robust timeout 300 # Specif of the hosts and of the number of workers per host host nodeA_%i@nodeA^i=1..8 host nodeB_%i@nodeB^i=1..12
Et finalement, > dispatch.pl --config mycorpus.conf ....
Mode Service Web
Le package FRMG inclut le script frmg_server.pl qui permet de lancer un service Web sous Mojolicious, par exemple en lançant
morbo ./frmg_server.pl
Des réglages de configuration peuvent être fournis dans frmg_server.conf, (voir le modèle d'exemple frmg_server.conf.sample)
Il suffit ensuite d'ouvrir une fenêtre de navigateur sur l'adresse et port retourné lors du démarrage du service. C'est ce genre de service WEB qui est utilisé par le visualisateur de sorties syntaxiques de ce site. Il est directement accessible ici.
- Version imprimable
- Connectez-vous ou inscrivez-vous pour publier un commentaire