On nomme loi de Zipf une observation empirique de la fréquence des mots dans un texte. Elle a pris le nom de son auteur, George Kingsley Zipf (1902-1950). Cette loi a été par la suite généralisée par Benoit Mandelbrot.
Zipf avait entrepris d'analyser une œuvre monumentale de James Joyce, Ulysse, d'en compter les mots distincts, et de les présenter par ordre décroissant du nombre d'occurrences. La légende dit que :
Ces résultats semblent, à la lumière d'autres études que l'on peut faire en quelques minutes sur son ordinateur, un peu trop précis pour être parfaitement exacts — le dixième mot dans une étude de ce genre devrait apparaître dans les 1 000 fois, en raison d'un effet de coude observé dans ce type de distribution. Reste que la loi de Zipf prévoit que dans un texte donné, la fréquence d'occurrence f(n) d'un mot est liée à son rang n dans l'ordre des fréquences par une loi de la forme où K est une constante.
Benoît Mandelbrot démontra dans les années 1950 qu'une loi similaire à celle de Zipf pouvait se déduire de deux considérations liées à la théorie de l'information de Claude Shannon.
Selon la loi statique, le coût de représentation d'une information augmente comme le logarithme du nombre des informations à considérer.
Il faut par exemple 5 bits pour représenter des nombres de 0 à 31, mais 16 pour des nombres de 0 à 65 535. De même, on peut former 17 576 sigles de 3 lettres, mais 456 976 de 4 lettres, etc.
La loi dynamique indique comment maximiser l'utilité d'un canal par maximisation de l'entropie en utilisant prioritairement les symboles les moins coûteux (ainsi en code Morse le e, lettre fréquente, est codé par un simple point (.) tandis que le x, lettre plus rare, se représente par un trait point point trait (-..-). Le codage de Huffman met en application cette loi dynamique.
Mandelbrot émet l'hypothèse audacieuse que le coût d'utilisation est directement proportionnel au coût de stockage, ce qu'il constate comme étant vrai sur tous les dispositifs qu'il a observés, de l'écriture comptable jusqu'aux ordinateurs.
Il élimine donc le coût entre les deux équations et se retrouve avec une famille d'équations liant nécessairement la fréquence d'un mot à son rang si l'on veut que le canal soit utilisé de façon optimale. C'est la loi de Mandelbrot, dont celle de Zipf ne représente qu'un cas particulier, et qui est donnée par la loi :
la loi se ramenant à celle de Zipf dans le cas particulier où a vaudrait 0, b et c tous deux 1, cas qui ne se rencontre pas dans la pratique. Dans la plupart des langues existantes, c est voisin de 1,1 ou 1,2, et proche de 1,6 dans le langage des enfants.
Les lois de Zipf et de Mandelbrot prennent un aspect spectaculaire si on les trace selon un système de coordonnées log-log : la loi de Zipf correspond alors à une belle droite, et celle de Mandelbrot à la même chose avec une bosse caractéristique. Cette bosse se retrouve précisément dans les textes littéraires disponibles sur le Net, analysables en quelques minutes sur ordinateur domestique. La courbe fournie ici représente le logarithme décimal du nombre d'occurrences des termes d'un forum du Web tracé en fonction du logarithme décimal du rang de ces mots.