Trouver des erreurs dans des dictionnaires
Contents
Introduction[edit]
C'est facile de commettre des erreurs en fabriquant ou modifiant des dictionnaires. Cette page-ci présente une façon simple de trouver beaucoup d'erreurs.
Résumé[edit]
- D'abord, étendez le dictionnaire unilingue. Cela va produire un fichier très grand.
- Puis, faites une liste de mots correctement orthographiés pour les exclure du dictionnaire étendu.
- Finalement, contrôlez les mots restants dans un programme de traitement de texte, pour trouver rapidement les erreurs. Ouvrez le dictionnaire original dans un éditeur de texte et corrigez les erreurs que vous avez trouvé.
- Option: contrôler s'il y a des entrées doubles
Étendre le dictionnaire unilingue[edit]
Accédez au dossier où le dictionnaire est gardé. La commande qui suit va étendre le dictionnaire, c'est-à-dire créer toutes les formes de chaque mot selon le paradigme attribué. Seulement les formes qui ne sont pas marquées d'un balise LR ou RL sont étendues, et de plus les entrées fautives crées par un bug qui est connu depuis longtemps (NON_ANALYSIS) sont supprimées. L’exemple suivant étend le dictionnaire unilingue Suédois:
lt-expand apertium-swe.swe.dix | grep -v ':[<>]:' | cut -f1 -d:| fgrep -v 'NON_ANALYSIS' > swe.etendu
Changez pour le dictionnaire que vous souhaitez corriger, c'est-à-dire changez "apertium-swe.swe.dix
" pour le nom de votre dictionnaire et changez le nom de sortie "swe.etendu
" pour quelque-chose qui convient.
Faire une liste de mots correctement orthographiés[edit]
Le dictionnaire étendu est une très grande botte de foin où chercher des aiguilles. Pour rendre la tâche un peu plus facile, vous souhaitez éliminer autant de foin que possible, sans jeter aucune aiguille. Une façon simple, c'est tout simplement de supprimer tous les mots qui sont orthographié correctement. On peut faire cela par filtrant la liste, en supprimant tous les mots dans une liste de mots orthographié correctement.
Vous pouvez obtenir une liste de mots orthographié correctement en utilisant Aspell. La commande suivante fait une liste de mots Suédois:
aspell -d sv dump master | aspell -l sv expand > aspellwords.sv
Changez simplement le code de langue à la langue de votre projet. Pour par example l'Anglais, il sera:
aspell -d en dump master | aspell -l en expand > aspellwords.en
Vous trouverez plus d'information dans le manuel de Aspell, si vous en avez besoin.
La liste de Aspell est cependant assez courte. Vous pourriez trouver utile de filtrer avec plus de mots. Une façon d'obtenir plus de mots orthographiés correctement, c'est tout simplement d'employer le début d'une liste de mots classés par fréquence, faite à partir d'un grand corpus. Justification: la plupart des gens utilisent une orthographe correcte le plus souvent. Ainsi, les mots d'une fréquence haute sont probablement orthographiés correctement. S'ils ne le sont pas, ce sera probablement une nouvelle norme d'orthographe :-)
Vous pouvez télécharger un corpus depuis par exemple OPUS OPUS Uppsala University, Sweden. Choisissez parmi Europarl, OpenOffice et OpenSubtitles etc. dans plusieurs langues.
Vous pouvez obtenir une liste de fréquence par exemple avec la commande qui suit:
cat my_swedish_corpus.txt | tr ' ' '\n' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | grep -v '[^a-z]' | sort | uniq -c | sort -rn > frequency.sv
Ouvrez la liste de fréquence dans un éditeur de texte de votre choix. En parcourant la liste vous trouverez que la fréquence baisse rapidement. Supprimez simplement tous les mots qui ne sont pas fréquents et enregistrer le reste sous le nom top_frequency.sv (ou le nom qui vous convient). Changez la commande au-dessus pour ce qui est approprié à votre corpus et la langue de votre projet.
Vous pouvez lire plus sur comment obtenir un corpus et sur la fabrication d'un liste de fréquence dans la page Fabriquer des dictionnaires.
Écarter les mots correctement orthographiés[edit]
Quand vous avez une bonne longue liste de mots orthographiés correctement, filtrez la liste de mots étendu de Apertium. Ceci est facile de faire avec grep. La commande suivante filtrerait par exemple le dictionnaire Suédois étendu:
cat swe.etendu | grep -v -wFf top_frequency.sv | grep -v -wFf aspellwords.sv > swe.etendu.mal_orthog
Vous trouveriez les erreurs présumées dans le ficher swe.etendu.mal_orthog
.
Veuillez changer les noms de fichiers ci-dessus pour ce qui vous convient.
Vérifier l'orthographe dans le reste du dictionnaire étendu[edit]
La méthode la plus facile pour trouver rapidement les erreurs, c'est de contrôler les mots restants avec un programme de traitement de texte de votre choix. Quand vous trouvez un mot mal orthographié, essayez de trouver la forme lexicale du mot. Cherchez-le dans le dictionnaire monolingue d'Apertium et corrigez l'entrée. Très souvent les erreurs sont dûs à:
1. La racine de mot fausse.
2. Le paradigme faux.
3. Il faut un nouveau paradigme.
Prenez un mot à la fois. Si vous avez des difficultés pour trouver la forme lexicale d'un mot mal orthographié et très étrange, essayez de le rechercher dans le dictionnaire étendu original. Vous trouverez les autres formes du mot proche du mot mal orthographié. Parfois ça permet de trouver plus facilement le mot qu'il devait être en réalité. Si vous ne pouvez pas le trouver malgré tout: allez au mot mal orthographié suivant.
Vous trouverez beaucoup de fautes à corriger. Commencez par les faciles!
Option: Contrôler s'il y a des entrées doubles[edit]
Il peut arriver qu'il y ait des entrées doubles pour le même mot. Vous pouvez facilement les trouver si vous faites une liste sur la fréquence des mots dans le dictionnaire étendu. La commande ci-dessous fait une liste de fréquence pour le dictionnaire Suédois étendu:
lt-expand *.swe.dix | grep -v ':[<>]:' | cut -f1 -d:| fgrep -v 'NON_ANALYSIS' | sort | uniq -c | sort -rn > swe.etendu.freq
Commencez au début et contrôlez s'il y a des doublons. Veuillez noter qu'il y deux cause de fausse alarmes fréquentes :
1. Quelques-unes des formes pourraient être similaires, ce qui cause une fréquence haute .
2. Quelques-un des mots similaires sont en fait des mots différents qui par hasard ont la même orthographe .