Quand vous cherchez un terme dans notre moteur, le panneau de résultats affiche deux nombres : combien de séquences ont été trouvées et combien étaient attendues par pur hasard. Le premier sans le second ne dit rien — et c’est probablement l’idée la plus importante de tout le phénomène des codes. Cet article explique avec précision d’où vient le second nombre, ce qu’il suppose, ce qu’il ne capture pas, et comment l’utiliser pour mener des recherches qui résistent à l’examen.

La Torah comme objet statistique

Le corpus de la Torah de notre moteur (édition Koren — nous documentons ici pourquoi) compte exactement N = 304 805 lettres. Avant de parler de significativité, il faut connaître la matière première : à quelle fréquence apparaît chaque lettre. Voici la distribution réelle, calculée sur le corpus (formes finales comptées avec leur lettre de base, la convention du moteur) :

LettreOccurrencesFréquenceLettreOccurrencesFréquence
י yod31 53110,34 %כ kaf11 9683,93 %
ו vav30 51310,01 %ע ayin11 2503,69 %
ה28 0569,20 %ח het7 1892,36 %
א alef27 0598,88 %ד dalet7 0322,31 %
מ mem25 0908,23 %פ4 8051,58 %
ל lamed21 5707,08 %ק qof4 6951,54 %
ר resh18 1255,95 %צ tsadé3 9621,30 %
ת tav17 9505,89 %ז zayin2 1980,72 %
ב bet16 3455,36 %ג guimel2 1090,69 %
ש shin15 5955,12 %ס samekh1 8330,60 %
נ noun14 1264,63 %ט tet1 8040,59 %

Les cinq formes finales (ך ם ן ף ץ) sont comptées avec leur lettre de base — la même équivalence qu’utilise le moteur de recherche dans son mode classique.

Deux observations aux conséquences directes pour l’ELS. Première : la distribution est très inégale — le yod est 17 fois plus fréquent que le tet. Seconde : cinq lettres seulement (י ו ה א מ) concentrent 46,7 % du texte. Un terme composé de lettres courantes (comme תורה ou יהוה) apparaîtra comme ELS des dizaines de milliers de fois par pure arithmétique ; un terme aux lettres rares (ט, ג, ז) sera naturellement rare. Comparer des comptages bruts entre termes différents n’a aucun sens sans ce contexte.

Le modèle nul : combien d’ELS produit un texte sans message ?

En statistique, une hypothèse nulle est le scénario ennuyeux auquel tout est comparé : ici, un texte qui ne contient aucun code — une séquence de 304 805 lettres tirées indépendamment selon les fréquences de la table. Si le comptage réel de votre recherche est indiscernable de celui que produit ce texte sans message, il n’y a rien à expliquer.

Sous ce modèle, la probabilité qu’une position initiale n et un saut d donnés épellent votre terme de k lettres est le produit des fréquences de ses lettres : p = p(c₁)·p(c₂)·…·p(c_k). Le nombre attendu de correspondances somme cette probabilité sur toutes les positions de départ valides et tous les sauts de la plage :

E = directions × Σd=d_min..d_max max(0, N − (k−1)·d) × ∏ p(cᵢ)

Exemple détaillé avec משיח (mem-shin-yod-het) : p = 0,0823 × 0,0512 × 0,1034 × 0,0236 ≈ 1,03 × 10⁻⁵. Cela paraît minuscule — mais la plage de sauts 2–1000 dans les deux directions offre environ 600 millions de paires (position, saut). En multipliant : E ≈ 6 227 occurrences attendues. Six mille apparitions de « Machia’h » dans un texte aléatoire. Telle est la force de la combinatoire, et c’est la raison pour laquelle trouver un mot n’est jamais une nouvelle.

De l’attendu à la valeur-p : l’approximation de Poisson

L’attendu E donne la moyenne ; reste à savoir quelle variation est normale. Quand on additionne des millions d’événements individuellement improbables, le comptage total suit approximativement une distribution de Poisson de paramètre λ = E. Cela permet de calculer la valeur-p : la probabilité d’observer au moins autant de correspondances que vous en avez vues, si le texte était du bruit — P(X ≥ observé). Une valeur-p de 0,5 signifie « parfaitement banal » ; une de 0,000001 signifie « cela n’arrive presque jamais par hasard ».

Quatre recherches réelles, lues avec le modèle

Tout ce qui suit est calculé sur notre corpus réel — vous pouvez reproduire chaque ligne dans le moteur :

TermeSautsTrouvésAttendusLecture
תורה2–1000, deux dir.19 334≈ 19 554Rien : le hasard en prédit même un peu plus.
ישראל2–1000, deux dir.1 190≈ 1 196Rien : coïncidence quasi exacte avec le bruit.
אהבה2–100, deux dir.2 433≈ 2 433Accord à 0,003 % — le modèle est calibré.
משיח2–1000, deux dir.6 398≈ 6 227Excès de 2,7 % (p ≈ 0,016). Voir plus bas.

La troisième ligne mérite une pause : le comptage réel de אהבה coïncide avec la prédiction théorique, 2 433 contre 2 432,9. C’est important dans les deux directions du débat. Pour l’enthousiaste : cela confirme que le modèle n’est pas truqué — il prédit le texte réel avec une précision stupéfiante. Pour le sceptique : cela confirme que, au niveau des comptages bruts, la Torah se comporte exactement comme un texte ayant ses fréquences de lettres. S’il y a quelque chose d’extraordinaire en elle, ce n’est pas dans le nombre de fois qu’un mot apparaît.

Pourquoi une petite valeur-p ne suffit pas non plus

La quatrième ligne (משיח, p ≈ 0,016) semble intéressante. L’est-elle ? Ici intervient l’erreur la plus courante de toute la littérature des codes : l’effet de recherche multiple (look-elsewhere effect). Un p de 0,016 signifie que le hasard produit un tel excès environ une fois sur ~60. Mais si vous avez exploré 60 termes — ou un seul terme dans 60 configurations de livre, de plage et de direction — vous vous attendez à en trouver un comme celui-là même s’il n’y a rien. Et tout utilisateur d’un moteur de recherche explore des dizaines de combinaisons sans se rendre compte que chacune est une « tentative ».

L’exemple parfait est la trouvaille la plus célèbre : תורה avec un saut d’exactement 50 dans la Genèse. Notre moteur rapporte 19 occurrences là où le modèle en attend 9,8 — p ≈ 0,006. Impressionnant ? Seulement si le saut 50 avait été fixé avant de regarder. Historiquement, ce fut l’inverse : le saut 50 est célèbre parce que c’est là qu’on a trouvé quelque chose. Tester a posteriori la configuration que l’on savait déjà gagnante invalide la valeur-p — c’est parier sur le cheval après la course. (Sur la seule expérience qui a tenté de résoudre ce problème avec un protocole fixé à l’avance — WRR 1994 — et sa réfutation, nous avons consacré un article complet.)

Ce que le modèle ne capture pas (et c’est nous qui le disons)

Notre modèle nul est délibérément simple, et il convient d’en déclarer les limites :

  • Les lettres réelles ne sont pas indépendantes. L’hébreu a une morphologie : préfixes (ו, ה, ב, ל), suffixes, schèmes de racine. Deux lettres consécutives ne sont pas des tirages indépendants. Pour les grands sauts l’effet se dilue, mais pour les très petits sauts (2–5) le modèle n’est qu’approximatif.
  • Les correspondances se chevauchent. Deux occurrences du même terme peuvent partager des lettres, ce qui corrèle les événements ; Poisson l’ignore. En pratique l’effet est mineur, comme le montre la calibration de la table.
  • Il ne modélise ni croisements ni proximité. Le nombre du panneau s’applique au comptage d’un terme. La significativité de deux termes proches (la question de WRR) exige des méthodes de permutation qui sortent de ce calcul — c’est pourquoi nous n’affichons pas d’attendu dans l’onglet des croisements.

Comment chercher avec rigueur : un protocole en cinq règles

  1. Fixez tout avant de chercher. Terme, orthographe exacte (malé ou haser ?), livre, plage de sauts, directions. Toute décision prise après avoir vu les résultats transforme votre recherche en exploration — légitime, mais sans valeur probante.
  2. Lisez toujours la paire trouvés/attendus. 19 334 occurrences de תורה impressionnent jusqu’à ce que vous voyiez le ≈ 19 554 juste à côté. Le rapport observé/attendu est votre premier filtre ; le comptage seul, jamais.
  3. Décomptez vos tentatives. Si vous avez essayé 20 variantes, multipliez mentalement votre valeur-p par 20 (correction de Bonferroni). Un p de 0,016 après 60 tentatives, c’est exactement rien.
  4. Utilisez des contrôles. Répétez votre recherche dans un autre livre du Tanakh — le moteur vous le met à un clic. Un motif qui apparaît pareillement dans n’importe quel texte de même taille est de l’arithmétique, pas un message. C’est la leçon de l’expérience de Moby Dick.
  5. Distinguez explorer de confirmer. Explorer est légitime et fascinant — c’est ainsi que naissent les hypothèses. Mais une hypothèse née de l’exploration ne se confirme qu’avec un test nouveau, fixé à l’avance, idéalement sur des données que vous n’avez pas utilisées pour la générer.

Ce que fait exactement le moteur

Chaque fois que vous lancez une recherche, le moteur calcule les fréquences réelles du corpus chargé (pas de tables précalculées : si vous ne chargez que les Psaumes, il utilise les fréquences des Psaumes), évalue la formule de E pour votre terme, votre plage et vos directions, et affiche le résultat arrondi à côté du comptage. Le calcul s’exécute dans votre navigateur, sur le corpus figé et vérifié par sommes de contrôle — les mêmes nombres que n’importe quel programmeur peut reproduire avec la formule ci-dessus.

Le nombre « attendus par hasard » n’est pas là pour décourager qui que ce soit. Il est là parce qu’un moteur de recherche de codes qui en serait dépourvu est un générateur de faux miracles — et parce que la question intéressante n’a jamais été de savoir si les mots apparaissent, mais s’ils apparaissent plus que ce que l’arithmétique impose. Vous avez désormais l’outil pour y répondre.