OK
AJAX error!

Les forumsÉtiquetage du dictionnaireIndice de fréquence des entrées du dictionnaire

Indice de fréquence des entrées du dictionnaire

Vous avez peut-être remarqué dernièrement l’apparition d’un indice de fréquence sur les entrées du dictionnaire.

J’ai calculé les occurrences de tous les mots du dictionnaire français dans un corpus de textes et, comme les chiffres ne sont pas très évocateurs (les nombres d’occurrences allant de 0 à plusieurs milliards), j’ai établi un indice de fréquence basé sur la probabilité de chaque mot.

CORPUS


1. Wikipédia francophone (archive d’avril 2010) : fr.wikipedia.org…
—» environ 341 millions de mots

2. Wikisource (archive d’avril 2010) : fr.wikisource.org…
—» environ 157 millions de mots

3. Google 1-gram (juillet 2009) : books.google.com…
—» environ 44,8 milliards de mots (plus de 130 fois Wikipédia)

Note : mes archives Wikipédia et Wikisource sont un peu vieilles parce que ça prend des heures à tout télécharger, décompresser, épurer, calculer… Mon PC date un peu, c’est pénible à mettre en œuvre. Je n’ai pas eu le courage de le refaire depuis l’an dernier.

RÉSULTATS


Le mot le plus fréquent est de loin « de » qui constitue 4,1 % de tous les mots ! Ensuite, ça baisse très vite, puisque, comme vous vous en doutez, la somme des pourcentages de tous les mots doit faire 100 %. Beaucoup de mots n’ont aucune occurrence dans le corpus. Et entre les deux, il y a beaucoup de variations. J’ai donc établi un indice de fréquence basé sur des seuils.

Dix indices de fréquence (de 0 à 9) :
9 : 0.1 % et plus
8 : moins de 0.1 %
7 : moins de 0.01 %
6 : moins de 0.001 %
5 : moins de 0.0001 %
4 : moins de 0.00001 %
3 : moins de 0.000001 %
2 : moins de 0.0000001 %
1 : moins de 0.00000001 %
0 : aucune occurrence trouvée dans le corpus

Dictionnaire français de 72226 entrées :
indice - nombre d’entrées
9 - 77 entrées (0.11 %)
8 - 724 entrées (1,00 %)
7 - 4441 entrées (6,15 %)
6 - 12704 entrées (17,59 %)
5 - 19386 entrées (26,84 %)
4 - 18174 entrées (25,16 %)
3 - 8714 entrées (12,06 %)
2 - 2455 entrées (3.40 %)
1 - 2479 entrées (3.43 %)
0 - 3072 entrées (4.25 %)

J’espère qu’il n’y a pas de bug ou d’erreur de calcul. Il faudra quand même que je vérifie tout ça. C’est sans garantie. :)

Si j’avais voulu être précis, j’aurais plutôt créé un indice avec cent graduations, mais je préfère donner un ordre de grandeur. Les libellés donnés à ces indices sont un peu arbitraires. J’essayerai d’en trouver de meilleurs. N’hésitez pas à faire des propositions.

À compter d’aujourd’hui, après chaque publication du dictionnaire, je mettrai à jour la base de données avec les nouveaux résultats obtenus.

NOTES


1. Parasitage des mots rares
Les données sont brutes et la reconnaissance des mots est quand même à améliorer. Le point important à retenir, c’est que le nombre d’occurrences d’une graphie est divisé et réparti également entre toutes les possibilités que celle-ci peut être.

Par exemple, la graphie dans peut être la très courante préposition ou le pluriel du mot japonais dan. Chaque mot récupère la moitié du nombre d’occurrences.

Autre exemple avec politique, qui peut être le nom féminin ou plusieurs conjugaisons d’un verbe peu fréquent, politiquer. Le nombre d’occurrences est divisé entre toutes ces possibilités :
— politique nom fem,
— politique v1i ipre 1sg,
— politique v1i ipre 3sg,
— politique v1i spre 1sg,
— politique v1i spre 3sg,
— politique v1i impe 2sg.

On arrive à la situation absurde où certains mots rares sont mieux lotis que des mots usuels dont ils tirent profit. C’est embêtant, mais pas dramatique. Avec ce système, même en divisant par 10, un mot fréquent comme politique ne peut descendre au pire que d’un seul point sur l’échelle. En fait, cette situation profite surtout à certains mots qui se voient propulsés à des hauteurs qu’ils n’attendraient jamais autrement.

Il y a plusieurs moyens de remédier à ces problèmes :
— comparer les occurrences des formes fléchies d’un lemme et écrêter,
— étiqueter avec rare ou avec une autre étiquette les mots parasites, étiquette qui signifierait au calculateur : divise par 1000, 10000 ou plus le nombre d’occurrences de ce mot,
ou
— une autre idée que vous allez me suggérer. ;)

2. Seules les graphies reconnues par le dictionnaire sont comptées
Par exemple, pour le mot œuvre, les occurrences de la graphie oeuvre ne sont pas incluse dans le résultat.
Si un mot est mal orthographié, il n’est pas compté, sauf si la graphie erronée est identique à un autre mot reconnu.

3. Les chiffres de Google
Les données de Google ont été élaborées à partir de textes numérisés. Cette numérisation n’est pas parfaite, et il y a beaucoup de coquilles. Par exemple, pour épistémologie, j’ai trouvé :
épistémologie 103876
épistémologîe 68
épistcmologie 106
épistemologie 101
épistémologle 59
epistemologie 335
et il y a sûrement d’autres coquilles pour la même graphie.

On y trouve aussi des mots d’autres langues :
epistemology 2593
epistemologia 579
epistemolôgica 86
epistemolôgico 89
epistemologico 259
epistemológica 81

Ça ne semble pas problématique, attendu que tous les mots sont susceptibles d’être mal numérisés. Mais les données de Google souffrent d’un gros problème. Pour je ne sais quelle raison, tous les traits d’union ont disparu, les graphies sont soudées. Par exemple, les occurrences de Grande-Bretagne sont enregistrées sur l’entrée GrandeBretagne. Pour l’instant, je n’ai pas cherché à corriger ce problème, les mots composés ne bénéficient donc que des occurrences sur Wikipédia et sur Wikisource.
le 11 octobre 2011 à 21:51
Est-ce dans le but d'améliorer les propositions ? j'avais remarqué que plus les dictionnaires s'enrichissaient, moins leurs propositions étaient bonnes. c'est vrai pour dicollecte, mais aussi pour celui de word ou d'antidote (j'avais refait les tests d'une étude qui comparait les dictionnaires pour openofficeet de word avec les dernières versions (dicollecte 4 et word 2007).

le 12 octobre 2011 à 07:10
La suggestion de la graphie correcte, c’est un point vraiment difficile. Je ne suis pas convaincu que le calcul de la distance entre deux mots dans Hunspell soit le plus adapté pour le français (et c’est probablement la même chose pour pas mal de langues). Il y a des mécanismes de substitution pour améliorer la chose, ceux-ci sont très efficaces si vous ne faites qu’une seule erreur sur une graphie, mais inefficients si vous en faites plusieurs. Je pense que l’auteur de Hunspell est conscient de cette faiblesse, attendu qu’il a inclus du code externe pour des suggestions basées sur la phonétique, mais c’est probablement aussi limité que les mécanismes de substitution.
En allant jeter un œil dans le code de Hunspell, j’ai vu qu’il y avait du code préparatoire pour stocker la fréquence des mots. Mais ça n’a apparemment jamais été plus loin.
On sera prêts si ce mécanisme apparaît un jour. ;)

Mais ce n’est la seule raison qui m’a poussé à faire ça. Il y a aussi :
— ma curiosité,
— la recherche des vieilleries dont il faudrait peut-être qu’on se débarrasse, car on ne travaille pas assez sur la purge (il faut encore que je donne la possibilité de faire une recherche sur l’indice de fréquence),
— la possibilité que ça serve pour Grammalecte (pas sûr de savoir comment).

On avance, mais lentement. Pas assez de bras.
le 12 octobre 2011 à 10:34
"Pas assez de bras."

et je suis manchot dans ce domaine.... jamais dépassé zéro en dictée...

mais admiratif devant la travail fait !
le 13 octobre 2011 à 00:29
C'est déjà bien de proposer des mots qui manquent.
le 13 octobre 2011 à 00:57
J’ai remis la main à la pâte sur cette histoire d’indice de fréquence et j’ai trouvé une méthode pour obtenir des résultats plus cohérents.

Quelques explications :

Pour chaque entrée du dictionnaire, je génère les formes fléchies, et, pour chaque forme fléchie, je calcule le nombre de morphologies existantes dans cette entrée (nDup) et le nombre d’entrées différentes (nMulti) dans lesquelles on trouve cette forme fléchie au moins une fois.

À partir du nombre d’occurrences d’un mot (nOccur) calculé à partir d’un corpus de textes, chaque forme fléchie identique à ce mot obtient un nombre d’occurrences égal à (nOccur / nMulti) / nDup.

Puis, pour chaque entrée, je calcule la moyenne du nombre d’occurrences de toutes les formes fléchies qui n’ont pas d’équivalent dans les autres entrées. Ainsi, j’établis que le nombre d’occurrences des formes fléchies ayant des équivalents dans les autres entrées est égal à cette moyenne. Et je reporte le surplus d’occurrences sur les formes fléchies des entrées qui n’ont pas de moyenne calculable (les entrées dont les formes fléchies ont toutes des équivalences dans d’autres entrées).

Si toutes les entrées à laquelle peut appartenir une forme fléchie possèdent une moyenne calculable à partir de leurs autres formes fléchies, alors les formes fléchies obtiennent un nombre d’occurrences pondéré par le poids de la moyenne de chaque entrée.

Je suis fatigué et je ne sais si je suis bien clair…

Voici le fichier qui décrit le report des occurrences d’une entrée à l’autre :
www.dicollecte.org…

Les indices de fréquence de la base de données ont été mis à jour à partir de ces résultats.
le 24 mai 2012 à 23:00
J'ai cherché à comprendre la signification des colonnes du fichier Lexique v6.2. Je mets ici ce que j'ai compris en espérant que ça serve à d'autres :

id : identifiant du Lemme (indice de l’entrée dans la base de données).
Flexion : mot étudié, généré à partir de Lemme et Étiquettes.
Lemme : mot des fichiers .dic ayant servi à générer Flexion.
Étiquettes : nature grammaticale [1] et drapeaux des fichiers .aff ayant permis d'obtenir Flexion à partir de Lemme [2].
Métagraphe (β) : tests pour créer une graphie phonétique pour le français [3].
Metaphone2 : conversion des mots par l’algorithme Metaphone 2 (Double metaphone) [3].
Notes : variantes orthographiques, usage, catégorie et variété nationale/régionale [4].
Sémantique : domaine d'utilisation tel que @, art, droit, milit[aire], etc. mais je n'ai pas trouvé de liste dans la documentation.
Étymologie : champs lexical des emprunts à d'autres langues et des mots dérivés des langues régionales [4].
Sous-dictionnaire : origine du couple (Lemme, Étiquettes) extrait des fichiers (.dic, .aff).
Google 1-grams : nombre d’occurrences dans le corpus de Google 1-gram (lien donné plus haut).
Wikipédia : nombre d’occurrences dans Wikipédia [5]
Wikisource : nombre d’occurrences dans Wikisource [5]
Littérature : nombre d’occurrences, depuis un corpus ad hoc.
Total occurrences : calcul expliqué dans [6], détails de ce que j'ai compris ci-dessous.
Doublons : nombre de Flexions identiques obtenues à partir d'un même couple (Lemme, Étiquettes) = nDup dans [6].
Multiples : nombre de Flexion identiques obtenus d'autres couples (Lemme, Étiquettes) = nMulti dans [6]
Fréquence : fréquence de Flexion en pourcentage du total [5]
Indice de fréquence : nombre entier entre 0 et 9 calculé à partir de fréquence [5][6]

Par exemple pour "retraite", on a :
169375 retraite retrait nom fem sg => 1 doublon, 2 multiples
169378 retraite retraiter v1__t___zz ipre spre 1sg 3sg => 2 doublons, 2 multiples
169378 retraite retraiter v1__t___zz impe 2sg => 2 doublons, 2 multiples
169373 retraite retraire v3__t___zz ppas adj fem sg => 1 doublon, 2 multiples

Le lemme "retrait" donne les flexions "retraite", "retrait", "retraites" et "retraits".
Le lemme "retraiter" donne 43 flexions dont 2 fois "retraite".
Le lemme "retraire" donne 32 flexions.

Pour répartir les 9 011 802 occurrences de "retraite", on cherche le nombre moyen d’occurrences des autres flexions générées à partir des lemmes "retrait", "retraiter" et "retraire" qui n'ont pas d'équivalent dans les autres entrées.

Par pas d'équivalent dans les autres entrées, on entend une flexion sans doublon ni multiple ? Par exemple, pour le lemme "retrait", toutes les autres flexions ont des doublons et des multiples :
retrait : 1 doublon, 1 multiple, nOccur = 2 795 099.
retraits : 1 doublon, 1 multiple, nOccur = 209 024.
retraites : 1 doublon, 2 multiples, nOccur = 1 458 167.

[1] www.dicollecte.org…
[2] www.dicollecte.org…
[3] www.dicollecte.org…
[4] www.dicollecte.org…
[5] www.dicollecte.org…
[6] www.dicollecte.org…
le 05 mars 2018 à 15:42

Notification par e-mail    0