Difference between revisions of "Test de corpus"

From Apertium
Jump to navigation Jump to search
(Création page)
(No difference)

Revision as of 23:50, 14 November 2011

Le test de corpus consiste à tester (par traduction) tout un corpus et à comparer le résultat à celui de la dernière fois que le corpus a été traduit. C'est très utile si vous voulez changer une règle ou un mot et obtenir une vue d'ensemble des conséquences sur le texte réel. Avec testvoc et les tests de régression c'est une bonne manière de vérifier que votre traducteur fonctionne, et que vos modifications ont rien de cassé.

Création d'un corpus

Avant que vous vous commenciez vous avez d'abord besoin d'un corpus. Regardez dans apertium-eo-en/corpa/enwiki.crp.txt.bz2 (lancez bunzip2 -c enwiki.crp.txt.bz2 > en.crp.txt) pour avoir une idée sur ce à quoi ça devrait ressembler:

  • Récupérez avec grep toutes les lignes avec # et @ - ça vous aidera à trouver des problèmes dans le bidix (@) et dans le monodix de la langue cible (#).
  • Rajouter avant/après (?) le grep le tube nl -s '. ' pour avoir les bons numéros de ligne.

Note du traducteur : Ce morceau est peu clair, mais les instructions suivantes devraient faire l'affaire sur un ordinateur fonctionnant sous Linux :

  • fgrep -n "#" monodix
  • fgrep -n "@" bidix

Installation et invocation

Copiez le fichier testcorpus_en-eo.sh de la paire apertium-eo-en et changez son nom.

Pour commencer, tapez bash regression-tests.sh depuis une fenêtre ou un terminal UNIX.

Sortie

Des lignes contenant @ et # (indiquant un problème de .dix, dont beaucoup pourraient également être trouvés par la méthode de testvoc) seront affichées.

Mais plus important, dans testcorpus_en-eo.txt il y aura une liste de différences. D'abord un numéro de ligne, puis le texte d'origine, puis < et la traduction de la dernière fois, suivie d'une dernière ligne commençant par > et la traduction de cette fois-ci :

-- 1924 ---
  1924. In Japan there is an input system allowing you to type kanji.
<   1924.       En Japanio estas kontribuaĵan sistemon permesanta vi tajpi *kanji.
>   1924.       En Japanio estas kontribuaĵa sistemo permesanta vin tajpi *kanji.

--- 1937 ---
  1937. However, such apparent simplifications can perversely make a script more complicated.
<   1937.       Tamen, tiaj evidentaj simpligoj povas *perversely fari skribo pli komplika.
>   1937.       Tamen, tiaj evidentaj simpligoj povas *perversely fari skribon pli komplika.

Pour faire pareil sans script

Vous n'avez pas forcément besoin d'un script. Tapez juste :

 make && cat corpa/en.crp.txt | apertium -d . en-eo > traduction_origine.txt 

pour faire la 'traduction originale'. Ensuite modifiez vos .dixes, et lancez :

 make && cat corpa/en.crp.txt | apertium -d . en-eo > traduction_nouvelle.txt &

Le signe & fera tourner le processus en tache de fond. Ça signifie que vous pouvez examiner les différences avant que toutes les phrases soient traduites, avec:

  diff -w traduction_origine.txt traduction_nouvelle.txt | grep -r '[<>]' > /tmp/crpdiff.txt && 
  for i in `cut -c3-8 /tmp/crpdiff.txt | sort -un`; do 
    echo  --- $i ---; grep -r "^ *$i\." corpa/en.crp.txt; grep -r "^. *$i\." /tmp/crpdiff.txt; 
  done | less