1 points par GN⁺ 2025-05-19 | 1 commentaires | Partager sur WhatsApp
  • Projet open source analysant la structure linguistique du manuscrit de Voynich à l’aide de techniques NLP récentes, dont SBERT
  • Vérifie s’il existe une structure réellement proche d’une langue, et non de faux motifs, en mettant l’accent sur la suppression des suffixes et le clustering
  • Des motifs significatifs ont été observés via une analyse structurelle multiforme, incluant le rôle des mots-outils et des mots de contenu ainsi que les matrices de transition
  • Contrairement aux approches statistiques traditionnelles ou centrées sur la spéculation, il s’agit d’une tentative d’analyser des caractéristiques linguistiques structurelles via la linguistique computationnelle
  • Projet concentré uniquement sur la modélisation structurelle, sans tentative de traduction sémantique, ouvrant la voie à des recherches complémentaires et à des expériences comparatives

📜 Présentation du projet d’analyse structurelle du manuscrit de Voynich

🔍 Vue d’ensemble

  • Ce projet est né d’une expérimentation personnelle visant à analyser la structure du manuscrit de Voynich à l’aide d’outils modernes de traitement automatique du langage naturel (NLP)
  • Il applique de véritables méthodes de modélisation linguistique, comme le clustering, l’inférence des parties du discours, les transitions de Markov et l’extraction de motifs par section
  • Sans chercher à interpréter le sens, à traduire, ni à surinterpréter des motifs, il vérifie uniquement la présence d’une structure fonctionnant comme une langue
  • Toutes les étapes sont rendues publiques, y compris la suppression des suffixes, les embeddings SBERT et la génération d’hypothèses lexicales

🧠 Intérêt

  • Le manuscrit de Voynich est un document mystérieux encore non déchiffré, sans solution linguistique ou cryptographique établie
  • Les analyses existantes se divisent généralement entre tests d’entropie statistique et spéculations non scientifiques
  • Ce projet explore de manière neutre, sur la base de la linguistique computationnelle, l’existence de motifs structurels proches de ceux d’une vraie langue

📁 Structure du projet

  • /data/
    • Fournit les données telles que la transcription complète du manuscrit, les types de mots-racines, les ID de clusters, la liste des suffixes supprimés et les séquences de clusters par ligne
  • /scripts/
    • Contient les scripts d’analyse principaux, dont le clustering de mots fondé sur SBERT, la prédiction des parties du discours, la construction de matrices de transition de Markov et la génération de candidats lexicaux
  • /results/
    • Fournit les résultats d’analyse, notamment les visualisations de clusters, les heatmaps de matrices de transition et les résumés par cluster

✅ Principales contributions

  • Clustering de mots-racines après suppression des suffixes avec SBERT multilingue
  • Distinction entre des clusters proches des mots-outils et des clusters proches des mots de contenu
  • Modélisation de la structure de transition entre clusters selon une approche Markov
  • Analyse de la structure syntaxique par section (par ex. Botanical, Biological, etc.)
  • Génération d’un tableau d’hypothèses lexicales fondé sur les données

🔧 Choix de prétraitement

  • Avant le clustering, les suffixes répétitifs (par ex. aiin, dy, chy) sont supprimés
  • Cela permet d’extraire la forme racine des mots, rendant plus nets la cohésion des clusters et les motifs structurels
    • Les suffixes peuvent correspondre à du remplissage phonétique, des morphèmes grammaticaux, de la récitation, de la répétition ou à du bruit dénué de sens
  • Ce choix comporte toutefois des limites, notamment une perte d’information morphologique, la dissimulation possible d’informations flexionnelles significatives et un biais envers les mots-outils
  • Des expériences comparatives sans suppression des suffixes ont aussi de la valeur — chacun peut réaliser des expériences dérivées

📈 Principaux résultats d’analyse

  • Cluster 8 : très fréquent, faible diversité, souvent en début de ligne — candidat plausible pour un cluster de mots-outils
  • Cluster 3 : forte diversité, position libre — candidat plausible pour un cluster de mots-racines de contenu
  • Matrice de transition : structure interne forte, loin d’une distribution aléatoire
  • Motifs de clusters et de parties du discours : varient selon les sections du manuscrit (par ex. Biological, Botanical, etc.)

🧬 Hypothèse

  • Le manuscrit correspondrait à une langue artificielle ou mnémotechnique structurée exploitant la répétition syllabique et positionnelle
  • Il montre clairement une structure linguistique, avec notamment syntaxe, séparation fonction/contenu et transitions linguistiques sensibles aux sections

📊 Exemples de visualisations

  • Figure 1 : embeddings de clusters SBERT (réduction PCA)
  • Figure 2 : heatmap de la matrice de transition

📌 Limites

  • Le mapping cluster-mot étant indirect, il existe des phénomènes de recouvrement dans l’estimation des fréquences
  • Les critères de suppression des suffixes sont heuristiques, et certaines finales réellement porteuses de sens peuvent être perdues
  • Le projet se concentre uniquement sur l’analyse structurelle, sans tentative d’interprétation sémantique

✍️ Note de l’auteur

  • Il s’agit d’un projet lancé dans un but d’apprentissage de l’IA, du NLP et de l’analyse structurelle
  • L’objectif n’est pas de déchiffrer le manuscrit lui-même, mais plutôt de mieux comprendre sa structure à l’aide d’outils modernes
  • Les personnes davantage intéressées par l’idée que « la modélisation a une valeur en soi » que par l’espoir d’un déchiffrement façon Rosetta Stone sont les bienvenues

🤝 Contribution

  • Le projet accueille volontiers la collaboration et les extensions de la part des linguistes, cryptographes, chercheurs en langues artificielles et de la communauté de linguistique computationnelle

1 commentaires

 
GN⁺ 2025-05-19
Commentaires Hacker News
  • J’ai vu que vous cherchiez des clusters dans une projection PCA — pour trouver une structure plus profonde, j’aimerais recommander des algorithmes récents de réduction de dimension comme PaCMAP ou LocalMAP. Je travaille sur un projet qui reprend les données de l’outil de sondage d’opinion Pol.is pour les reprojeter avec ce type d’algorithmes au lieu de PCA. Je suis impressionné par les enseignements que ces nouveaux algorithmes révèlent là où on ne voyait rien auparavant. J’ai aussi un rendu visuel avec les groupes colorés, avec une indication pour aller le voir sur desktop. Si vous vous demandez ce qu’est Pol.is, je recommande aussi un article à ce sujet

    • Merci de m’avoir fait découvrir PaCMAP et LocalMAP — ce type d’approche de réduction de dimension qui préserve bien la structure semble mieux convenir à ces données que PCA. Ça a éveillé mon intérêt, donc je compte creuser davantage
    • Dans mon expérience, UMAP m’a donné de bien meilleurs résultats que PCA ou t-SNE pour la réduction d’embeddings
  • Le modèle d’embedding de texte utilisé ici est paraphrase-multilingual-MiniLM-L12-v2, un modèle vieux d’environ 4 ans. Dans le monde du NLP, c’est très ancien. Les progrès récents des LLM ont radicalement amélioré la richesse de représentation des modèles d’embedding ainsi que leur capacité de discrimination dans l’espace d’embedding. Même des modèles d’embedding récents qui ne visent pas spécifiquement le multilingue montrent d’excellentes performances sur ce type de données. Ils pourraient donc aussi mieux fonctionner sur une langue relativement peu connue comme celle du manuscrit de Voynich. À l’inverse, les techniques NLP plus traditionnelles (suppression des suffixes, identification des parties du discours, etc.) risquent selon moi de faire perdre du contexte utile et donc de dégrader la qualité des embeddings

    • J’ai surtout choisi paraphrase-multilingual-MiniLM-L12-v2 pour des raisons de vitesse et de compatibilité, mais je suis d’accord que, selon les standards actuels, c’est clairement un vieux modèle. Essayer des modèles plus récents comme all-mpnet-base-v2 ou text-embedding-ada-002, en conservant aussi les suffixes et en utilisant des embeddings en plein contexte, pourrait donner des résultats encore plus intéressants. Votre remarque me pousse à envisager positivement cette piste pour la prochaine itération
  • Je ne connais pas très bien le NLP. Je me demande s’il serait raisonnable de vérifier la démarche en contrôlant avec un groupe de comparaison. Par exemple, faire écrire à quelqu’un des phrases qui ont l’air d’une langue sans en être une, puis appliquer exactement la même procédure dessus — suppression des suffixes, tentative de clustering, etc. — pour voir si on obtient des résultats comparables

    • Exactement. Je me demande pourquoi ils n’ont pas simplement demandé à 100 personnes d’écrire du manuscrit de Voynich, puis entraîné sur ces données
  • Je pense qu’il serait bon d’analyser aussi avec UMAP ou t-SNE, même si PCA a déjà donné une séparation propre. Cartographier aussi les clusters les uns par rapport aux autres me semble être une bonne manière de montrer qu’il ne reste pas de variabilité non prise en compte dans l’analyse

    • Bonne remarque — au départ, PCA a donné une séparation étonnamment propre, donc j’ai d’abord poursuivi dans cette direction. Mais comme vous le dites, appliquer UMAP ou t-SNE pourrait faire ressortir des motifs plus subtils ou des problèmes sous un angle non linéaire. Je n’ai pas non plus construit de matrice de similarité entre clusters, mais après votre suggestion, ça me paraît être une étape naturelle pour vérifier à quel point le signal capté est réellement substantiel. Je pense qu’il faut vraiment l’essayer dans un travail de suivi. Merci d’avoir lancé cette piste
    • Si vous avez un exemple de la manière dont cette cartographie de référence se fait, ça m’intéresserait. J’aimerais essayer quelque chose de ce genre sur des embeddings d’autres modalités, mais j’ai peu d’expérience côté NLP
    • Quand la séparation est déjà très bonne avec PCA, j’ai tendance à éviter UMAP parce qu’il est plus facile d’interpréter les distances entre points individuels. J’évite toujours t-SNE, car je considère que l’interprétation des distances y est presque dénuée de sens. Cela dit, ce n’est que ma préférence personnelle
  • Je pense que cette hypothèse est la plus intéressante : un auteur semble avoir fait des progrès notables en considérant le voynichais comme une langue germanique. J’ai aussi vu des affirmations disant qu’il s’agirait d’une langue ouralienne ou finno-ougrienne. Je trouve votre méthodologie très bonne et je me demande si elle donnerait de meilleurs résultats encore si on l’adaptait à une famille de langues précise

    • J’ai aussi vu par le passé des éléments laissant penser qu’Edward Kelly était au bon endroit au bon moment et connaissait la Cardan grille. Pour cette raison, je pense qu’il est probablement l’auteur, et que le livre lui-même a sans doute été produit dans un but d’escroquerie ou de canular
    • Ce fil discute de diverses affirmations de « déchiffrement ». Le site de Bernholz est correct, mais le travail de Child n’aide pas vraiment beaucoup à un véritable déchiffrement
  • Je pensais que c’était de l’ancien turc

    • Une traduction anglaise du manuscrit est disponible ici
  • J’ai peut-être raté quelque chose dans le README, mais je me demande comment l’encodage initial des « mots » a été fait. Par exemple, j’aimerais savoir comment un mot comme okeeodair est remappé vers les symboles d’origine

    • Oui, des mots comme okeeodair viennent directement du fichier de transcription EVA. Ils résultent du système EVA (European Voynich Alphabet), qui associe les symboles d’origine du Voynich à de l’ASCII. Dans ce projet, au lieu de manipuler directement les symboles eux-mêmes, on utilise tels quels les mots issus de la transcription EVA. Donc si okeeodair figure dans le dataset, c’est qu’un spécialiste ou un groupe de spécialistes s’est accordé pour appeler cette combinaison de symboles de cette manière. On peut trouver des informations sur la transcription sur ce site
  • Ce que j’imagine, c’est que si ce n’est en fait qu’un simple gribouillage sans signification, et même pas un texte chiffré, alors les caractéristiques du manuscrit devraient faire évoluer du début à la fin le style, l’écriture, les mots employés, voire les lettres elles-mêmes. Bien sûr, l’ordre des pages a pu changer, mais j’aurais l’impression qu’on devrait quand même voir des différences. À moins que l’auteur n’ait écrit des dizaines de volumes dans un style similaire, tous aujourd’hui disparus. Ce n’est pas une idée nouvelle, mais je me demande s’il y a eu des analyses de ce type de motifs, car je n’ai jamais vu de mention de la cohérence d’une page à l’autre

    • Il existe beaucoup de travaux sur la cohérence entre pages. Certains spécialistes avancent même l’hypothèse de deux scribes (ou de cinq scribes). Il y a aussi une discussion expérimentale fondée sur l’argumentation de Lisa Fagin Davis, qui peut être utile à consulter
  • Je me demande combien de ressources il faudrait pour tenter un déchiffrement « par force brute ». Par exemple, en suivant un processus explicite qui mapperait un par un les mots à des mots de langues connues, avec un score qui augmente au fur et à mesure

    • Je voudrais souligner que cette approche suppose un mapping mot à mot en 1:1, alors qu’une langue ne fonctionne pas nécessairement ainsi. Par exemple, les mots composés sont difficiles à faire entrer dans un tel schéma. Il existe aussi des différences plus fondamentales dans la structure du sens selon les cultures
    • Question intéressante — en fait, je me suis déjà posé quelque chose de similaire. Je ne suis pas spécialiste en cryptographie, donc je ne sais pas vraiment à quel point une approche « par force brute » à grande échelle serait réaliste. Mais l’idée de mapper chaque « mot » du Voynich à un mot d’une langue réelle afin d’optimiser la cohérence rejoint assez bien plusieurs pistes et expériences exploratoires. La difficulté, c’est que le vocabulaire est énorme, et qu’on ne sait même pas si l’unité appelée « mot » se mappe réellement en 1:1 avec des mots de langues naturelles. Un « mot » du Voynich pourrait être un véritable lexème, un fragment, ou une combinaison racine-affixe. De ce point de vue, un simple mapping me semble donc très difficile. Cela dit, essayer avec des identifiants de clusters plutôt qu’avec des tokens individuels, puis faire noter le résultat par un modèle de langue, me paraît être une assez bonne idée. Je pense que cela vaudrait la peine de tester des méthodes d’optimisation ou d’évolution. On pourrait en tirer des indications sur le degré auquel la structure paraît « linguistique ». Merci pour cette bonne idée. J’espère qu’un spécialiste du domaine verra ce commentaire et essayera
  • Je me demande si l’analyse de textes de longueur comparable dans des langues connues produirait des motifs similaires. Autrement dit, je me demande si appliquer cette méthode d’analyse à différents types de textes pourrait aider à comprendre ce que signifie ce système d’écriture