Trouver des erreurs dans des dictionnaires
Contents |
Introduction
C'est facile de commettre des erreurs en fabriquant ou modifiant des dictionnaires. Ce page-ci présent un façon simple de trouver beaucoup d'erreurs.
Résumé
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 restant 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 trouvez .
Option: contrôler s'il y a des entrées doubles
Étendre le dictionnaire unilingue
Accédez au dossier où le dictionnaire est gardé. La commande qui suit va étendre le dictionnaire, cet-à-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.expanded
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.expanded" pour quelque-chose qui convient.
Faire une liste de mots correctement orthographiés
Le dictionnaire épandu est une très grand botte de foin où chercher des aiguilles. Pour simplifier la tâche un peut, vous souhaitez éliminer autant de foin que possible, sans jeter aucune aiguille. Un façon simple, c'est que tout simplement 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 d'Aspell. La commande suivante fait une liste de mots Suédois:
aspell -d sv dump master | aspell -l sv expand > aspellwords.sv
Changez simplement la 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. Un façon d'obtenir plus de mots orthographié correctement, c'est que tout simplement employer le début d'une liste de fréquence de mots, faite d'un grand corpus. Justification: la plus-parte d'hommes fait d'orthographe correcte le plus souvent . Ainsi, les mots d'un fréquence haut sont probablement orthographié correctement. S'ils ne le sont pas, ils sera probablement la 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 example 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équent et enregistrer le reste sous le nom top_frequency.sv (ou ce qui vous convient). Changez la commande au-dessus à 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
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.expanded | grep -v -wFf top_frequency.sv | grep -v -wFf aspellwords.sv > swe.expanded.felstavade
Vous trouveriez les erreurs présumés dans le ficher swe.expanded.felstavade (felstavade = mal orthographié).
S'il vous plaît, changez les nomes de fichier en haut pour ce qui convient pour vous.
Vérifier l'orthographe dans le reste du dictionnaire étendu
La méthode plus facile de trouver rapidement les erreurs, c'est de contrôler les mots restants dans 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 de 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 nouvel paradigme.
Prenez un mots à la fois. Si vous avez des difficultés de trouver la forme lexicale d'un mot mal orthographié et très étrange, essayez de le rechercher dans le dictionnaire étendu original. Vous trouveriez les autres formes du mot près du mot mal orthographié. Parfois cela ferait plus évident quel 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 des fautes en masse à corriger. Commencez avec les faciles!
Option: Contrôler s'il y a des entrées doubles
Il peut arriver qu'il y a des entrées double 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 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.expanded.freq
Commencez contrôler en haut s'il y a des doubles. S'il vous plaît, 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érent qui par hasard ont la même orthographe .