En statistiques, la loi de Zipf est « l’un des faits les plus frappants en économie et en sciences sociales en général », un « mystère urbain » comme l’écrit Paul Krugman. Peu de lois statistiques sont en effet aussi universelles qu’elle et pourtant elle a réussi à entretenir la controverse depuis que George Zipf l’eut popularisée en 1941. Signe d’une complexité auto-organisée pour les uns, simple curiosité statistique pour les autres, elle fascine autant qu’elle énerve…
La fréquence des mots est inversement proportionnelle à leur popularité
George Kingsley Zipf était un drôle de bonhomme, professeur de philologie à Harvard et passionné de statistiques (à cause de son nom improbable?) qui faisait des théories sur tout et n’importe quoi. Mandelbrot écrivait à son propos [1] « je connais peu d’ouvrages où tant d’éclairs de génie, projetés dans tant de directions, se perdent dans une gangue aussi épaisse d’élucubrations. D’une part on y trouve un chapitre traitant de la forme des organes sexuels, et un autre où l’on justifie l’Anschluss par une formule mathématique ».
A l’époque on n’avait pas d’ordinateur et encore moins de grands corpus de textes numérisés, alors Zipf embaucha ses étudiants pour relever dans l’Ulysse de Joyce la liste des mots utilisés, noter combien de fois ils apparaissent dans le texte et ensuite les classer par ordre de fréquences. Aux premiers rangs du classement on trouve bien sûr des petits mots très usuels comme le, un, à, en, etc. Et en queue de peloton on trouve une flopée de mots rares qui ne sont utilisés qu’une seule fois dans le livre. Ce que Zipf découvrit (ou plutôt redécouvrit car le phénomène avait déjà été repéré bien avant) est que la fréquence d’usage d’un mot est inversement proportionnelle à son rang dans le classement.
f * r = C (f est la fréquence du mot, r son rang et C une constante).
C’est joli, mais c’est surtout pratique pour faire votre devoir d’histoire:
Profonde ou triviale la loi de Zipf?
L’interprétation de cette loi étonnante est encore loin de faire l’unanimité. Zipf y voyait l’application de la « loi du moindre effort » (son dada pour expliquer le comportement humain dans tous les domaines) appliquée à la communication. Celui qui parle aurait la flemme de trouver le mot juste pour exprimer précisément sa pensée. S’il ne tenait qu’à lui, utiliserait donc très peu de mots, comptant sur leurs multiples acceptions pour se faire comprendre. Un peu comme un Shtrumpf:
Pour celui qui écoute, il est au contraire plus facile de comprendre des mots précis et sans ambiguïté. Sa préférence va donc vers un vocabulaire le plus diversifié possible. Entre ces deux tendances contradictoires s’établit un compromis qui expliquerait la distribution très particulière des fréquences des mots…
Vous n’avez pas bien compris l’explication? Rassurez-vous vous n’êtes pas le seul car elle ne tient pas vraiment la route. D’une part les mots les plus fréquents d’une langue sont des petits mots de liaison comme le, la, un, a, etc. dont l’usage est imposé par la grammaire et non pas par la paresse de celui qui parle. Mais surtout si vous asseyez un singe devant une machine à écrire et que vous le laissez taper au hasard sur les touches, le pseudo-texte qu’il produira obéira aussi à la loi de Zipf! Et si vous n’avez pas de singe sous la main, une démonstration théorique assez simple est donnée ici. On peut aussi s’en convaincre directement en pratiquant l’analyse non pas sur les mots d’un texte, mais sur les pseudo-mots, constitués des suites de caractères entre deux e successifs. Par exemple dans la phrase précédente les pseudo-mots seraient: maissurtoutons’ap, rçutqu, silonass, yait, nimaginationd, ssing, sd, vantun, machin, a, crir, etc. C’est impressionnant comme ça marche bien:
Manifestement, la loi de Zipf n’est pas propre au langage. D’ailleurs on se demande un peu à quoi elle est propre tant on la trouve absolument dans toutes les statistiques imaginables de la taille des villes à la popularité des applications Linux, en passant par la répartition des dons ou des richesses. C’en est au point qu’on s’interroge lorsqu’une variable ne suit pas la loi de Zipf, comme l’audience des billets de blogs chez Tom Roud par exemple.
Quelques exemples de distribution de Zipf:
Certaines de ces régularités s’expliquent plus facilement que d’autres. Pour la taille des villes, il suffit de modéliser la croissance comme étant indépendante de leur taille (5% par an par exemple pour toutes les villes). L’hypothèse est tellement banale que c’en est à se demander si la loi de Zipf n’est pas une simple curiosité statistique sans grand intérêt. Au début, ses détracteurs ne manquèrent d’ailleurs pas de constater que l’on n’en avait pas retiré grand chose en linguistique, une fois la phase d’étonnement passée. Ça a bien changé par la suite, comme on va le voir.
Oui, les singes dactylographes sont de bons codeurs!
Mandelbrot qui s’est intéressé à la linguistique a apporté un éclairage intéressant sur le sujet. Grâce aux outils de la théorie de l’information née quelques années plus tôt, il démontra que la fameuse régularité statistique surgit dès qu’une langue minimise le nombre de lettres par mot pour exprimer une quantité d’information donnée [1]. Cette interprétation explique pourquoi les pseudo-mots suivent cette loi: Pour être efficace, tout système de codage doit utiliser des codes courts pour les mots fréquemment utilisés: imaginez l’enfer que ce serait si vous deviez remplacer l’article le par le mot supercalifragilisticexpidélilicieux! Or la génération aléatoire de pseudo-mots est parfaite en ce sens: un mot de une lettre (f par exemple) a 26 fois plus de chances d’apparaître qu’un mot de deux lettres (comme fu), qui lui-même est 26 fois plus probable qu’un mot de trois lettres (fut). Paradoxalement un tel codage totalement aléatoire est très efficace même s’il n’exprime que du bruit! Evidemment si l’on avait imposé une longueur constante à tous les mots, tout aurait été différent. Les mots auraient tous été équiprobables et adieu la loi de Zipf. Tout ça pour dire que la loi de Zipf semble être une condition nécessaire mais pas suffisante pour « signer » une communication efficace.
La signature d’une langue?
Zipf en guerre contre spams et plagiats
On avait vu dans ce billet comment une autre loi statistique, la loi de Benford, permet au fisc américain de repérer les séries de nombres inventées de toutes pièces. De la même façon la loi de Zipf semble très efficace dans la lutte contre… le plagiat. Tous les auteurs suivent la loi de Zipf, mais chacun a ses petites préférences en matière de vocabulaire. Les fréquences relatives des mots constituent une « signature » propre à chaque auteur. L’analyse des ruptures de fréquences permet du coup de repérer les parties suspectes un texte, même sans connaître la source originale. La détection des plagiaires peut se faire en ligne gratuitement (ici). Je ne l’ai pas essayé, mais si ça marche, c’est la mort assurée du copier-coller pour les lycéens! En tout cas, ces statistiques semblent montrer que Shakespeare n’a pas écrit à lui tout seul son impressionnante bibliographie.
Les travaux de Zipf sur la taille du vocabulaire sont aussi utiles dans la lutte contre le spam. Le vocabulaire d’une langue n’est pas infini, loin de là. Alors qu’on pourrait fabriquer 300 millions de combinaisons avec 6 lettres, notre lexique se limite à quelques centaines de milliers de mots, toutes déclinaisons confondues. Zipf avait découvert que le nombre de mots N(f) correspondant à une fréquence f donnée suit une loi de puissance: N(f)~f-α (α étant proche de 2). Or les séries de lettres aléatoires ne suivent pas cette loi… et les spams non plus, dont le vocabulaire est disons assez limité (sexe, viagra, medicine, free etc). L’analyse dite de Zipf inverse sur le nombre de mots ayant une fréquence donnée serait une technique particulièrement efficace pour repérer très vite les pourriels. Fortiche Zipf!
Zipf contre les envahisseurs
Si l’on n’a pas affaire à des mots mais à une suite de caractères collés les uns aux autres, comme sur ces stèles de la vallée de l’Indus, il peut être intéressant de faire l’analyse de Zipf sur chaque caractère isolé, puis sur chaque paire de caractères, sur chaque triplet etc. (on appelle ça des « n-gram »). Ça revient à étudier les corrélations entre lettres voisines. En français, on trouve par exemple toujours un u après un q, et très souvent une consonne après une voyelle. Dans un langage simple, ces corrélations sont limitées à des lettres voisines mais plus une langue est complexe, plus les corrélations portent sur des lettres éloignées les unes des autres. L’étude statistique des stèles de l’Indus a révélé en 2010 des corrélations jusqu’à 4 caractères successifs, indiquant que ces inscriptions correspondent non pas à une série de symboles, mais à une langue assez sophistiquée.
Pourquoi s’arrêter en si bon chemin? Après les civilisations anciennes et les animaux, cap sur le cosmos! Les chercheurs du SETI (Search for Extra Terrestrial Intelligence) comptent eux-aussi sur les lois de Zipf pour détecter un petit signal de nos copains extra-terrestres au milieu de tous les bruits du cosmos. Sans succès pour l’instant, mais c’est une autre histoire.
J’arrête là: pour une loi « triviale », je trouve qu’elle se défend plutôt pas mal cette loi de Zipf. Et il faut reconnaître à son farfelu d’auteur qu’il a eut du nez pour y reconnaître une vraie pépite statistique.
[1] Benoît Mandelbrot: Fractales, hasard et finance et Les objets fractals
Disclaimer: aucun singe n’a été maltraité pour écrire ce billet
16 comments for “Zipf et les singes dactylos”