Radoteur Par Thierry OZIL, Marketing Technique 4D S.A. Note technique 4D-200107-23-FR Version 1 Date 1 Juillet 2001 Résumé Cette note décrit le fonctionnement d'un petit applicatif. Il a pour but d'inventer des mots ayant des consonance identiques à ceux utilisés dans une chaine source. Cet applicatif et son algorithme ont été décrits par Roland Moreno dans son livre "Théorie du bordel ambiant". 4D Notes techniques Copyright 1985-2003 4D SA - Tous droits réservés Tous les efforts ont été faits pour que le contenu de cette note technique présente le maximum de fiabilité possible. Néanmoins, les différents éléments composant cette note technique, et le cas échéant, le code, sont fournis sans garantie d'aucune sorte. L'auteur et 4D S.A. déclinent donc toute responsabilité quant à l'utilisation qui pourrait être faite de ces éléments, tant à l'égard de leurs utilisateurs que des tiers. Les informations contenues dans ce document peuvent faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager 4D SA. La fourniture du logiciel décrit dans ce document est régie par un octroi de licence dont les termes sont précisés par ailleurs dans la licence électronique figurant sur le support dulogiciel et de la Documentation afférente. Le logiciel et sa documentation ne peuvent être utilisés, copiés oureproduits sur quelque support que ce soit et de quelque manière que ce soit, que conformément aux termes de cette licence. Aucune partie de ce document ne peut être reproduite ourecopiée de quelque manière que ce soit, électronique ou mécanique, y compris par photocopie, enregistrement, archivage ou tout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts que l'usage personnel de l'acheteur, et ce exclusivement aux conditions contractuelles, sans la permission explicite de 4D SA. 4D, 4D Calc, 4D Draw, 4D Write, 4D Insider, 4ème Dimension, 4D Server, 4D Compiler ainsi que les logos 4e Dimension, sont des marques enregistrées de 4D SA. Windows,Windows NT,Win 32s et Microsoft sont des marques enregistrées de Microsoft Corporation. Apple, Macintosh, Power Macintosh, LaserWriter, ImageWriter, QuickTime sont des marques enregistrées ou des noms commerciaux de Apple Computer,Inc. Mac2Win Software Copyright 1990-2002 est un produit de Altura Software,Inc. 4D Write contient des éléments de "MacLink Plus file translation", un produit de DataViz, Inc,55 Corporate drive,trumbull,ct,usa. XTND Copyright 1992-2002 4D SA. Tous droits réservés. XTND Technology Copyright 1989-2002 Claris Corporation.. Tous droits réservés ACROBAT Copyright 1987-2002, Secret Commercial Adobe Systems Inc.Tous droits réservés. ACROBAT est une marque enregistrée d'adobe Systems Inc. 1 / 7
Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. 2 / 7
Radoteur Principe de fonctionnement Le célèbre théoricien Claude Shannon travailla sur une Théorie des sources d informations. Théorie autonome et complète des systèmes de transmission et de traitement du signal qui détermine combien il faut prélever d échantillons dans un signal périodique, quel qu il soit, pour garantir une certaine bande passante. Il trouva quelques règles établissant un degré minimal de cohérence entre sources d informations et données. Voici à travers un exemple, l application de cette loi à la linguistique. SOIENT CINQUANTE MOTS D ANGLAIS PRIS AU HASARD, SHANNON POSTULE L EXISTENCE D UNE LOI DE COMPOSITION DE CE SOUS-ENSEMBLE DE LA LANGUE, NON NEUTRE, ENTIÈREMENT DÉTERMINÉ, ET VA S ATTACHER À DEMONTRER LA RIGUEUR DE CETTE LOI. Commençons par un espace, précédant un mot choisi au hasard, (PRIS par exemple) de la suite de mots à analyser. 1) Avançons d une position pour lire le P que l on mémorise. 2) Parcourons maintenant en boucle, le reste de la phrase, lettre par lettre, pour trouver la première position d une lettre identique. (Nous repérons P de POSTULE) 3) Si une lettre correspondante est trouvée, cette lettre est le premier caractère émis par la source. Réitération de la phase 1 (O de postule) Répétition de la phase 2 (pour trouver O de LOI) Répétition de la phase 3 Si on répète ce cycle, on trouve successivement POITRENNE le cycle s arrête alors par la rencontre d un caractère de fin de mot (espace ou tout signe de ponctuation). Cette suite de lettres ressemble d une certaine façon au style général de la chaîne de départ bien que POITRENNE n existe probablement pas. Roland MORENO utilisa cet algorithme pendant de nombreuses années pour vendre à des cabinets publicitaires des noms de parfums, de shampoing ou autre. À partir d une série de mots qualifiant les propriétés que doit évoquer le nom du produit, il faisait tourner son programme sur son Apple II qui alignait inlassablement des centaines de mots nouveaux. Il travailla à l amélioration du système et décrivit son travail dans «La théorie du Bordel Ambiant» "L explication tient au caractère probable, ou improbable, de la présence de tel ou tel doublet : PO par exemple apparaît deux fois (postule composition) ; OI, de son côté, apparaît trois fois dans la source ; Quand à IT il n apparaît qu une fois, mais une fois quand même ; Au contraire, PA n'apparaît pas une seule fois, et la probabilité est donc nulle de le voir produit par la source, 3 / 7
Au total, chaque lettre émise par la source apparaît nécessairement dans une position conforme à la distribution caractérisant la source : le 0 vient après un P, mais avant un i, soit finalement : PO (2)... OI (2)... IT (1)... TR (2)... RE (3)... EN (5)... NE (2). Les couples émis par la source sont donc en toute certitude présents dans la chaîne initiale, dans cet ordre exact, et ce au moins une fois. Ce trait caractérise également les débuts et fins de mots, aucune série ne pourra comprendre un M comme finale, puisque la source ne comprend aucun mot se terminant par m, Pour exactement la même raison, aucune série ne pourra avoir J comme initiale. Je continuai finalement de façon plus ou moins hobbyiste, jusqu à l'amélioration du système, que je commençai alors à désigner sous le nom de Radoteur (en raison de son infernale propension à se répéter luimême). Le Radoteur tel qu'il se présente aujourd'hui va beaucoup plus loin que la rotation toute simplette de l'anneau originel. Un des équipements les moins créatifs dont je l'ai depuis rehaussé est un filtre anti-radotage, lui interdisant de faire semblant d'avoir trouvé quelque chose, lorsque en réalité le mot produit a déjà été créé au cours de la même session (ou, bien même existe depuis le tout-tout début, tel quel, dans la liste-source). Dès que le système produit un mot, il le conserve en mémoire et vérifie, avant toute nouvelle proclamation, qu'il n'y a identité avec aucun mot déjà enregistré. (Sa mémoire est donc composée de deux sections : liste-source + fichier des mots fabriqués.). Le seuil, de son côté, institue la notion de cadrage variable. Là où n'étaient considérés à l'origine que des doublets, sont désormais prises en compte une infinité de combinaisons possibles. Non seulement une lettre en avant-une lettreen arrière (1.1), mais aussi deux en avant, une en arrière (2.1), et ainsi de suite : 3.1, 4.1, 2.2, 3.2, etc. La fonction 1. 1 est donc remplacée par x.y, c'est-à-dire que des constantes deviennent des variables. Ce mécanisme est ici, tout de suite, très séduisant : les mots deviennent beaux! Et encore plus ressemblants qu'avant! L effets de la variation de la valeur du seuil est le suivant : plus le cadrage est «large» (somme X + Y), plus le Radoteur a du mal à produire des mots nouveaux, puisque ceux-ci comprendront des suites de lettres de plus en plus longues (3 + 2 = 5 lettres, par exemple) obligatoirement déjà présentes, par principe, dans la liste-source. Mais, en contrepartie de la capacité de production ainsi amoindrie, le Radoteur fournit des mots de plus en plus fidèles à la liste-source (véritable langue d'origine) et donc bien plus facilement prononçables...» 4 / 7
5 / 7
Comment cela se passe dans 4D, C est la méthode Radotons qui cherche les mots nouveaux. Le texte à analyser est affecté à la variable <>vttexte. La première opération à effectuer est de choisir au hasard la première lettre d un mot de <>vttexte. Pour cela nous utilisons la méthode suivante : GsNbrEtPosChaine (->tlposséparateur; vttexte;" ") Qui affecte au tableau tlposséparateur la position de chaque séparateur du troisième paramètre, ici une espace. Avec une fonction Hasard on choisi une des valeurs du tableau ce qui nous situe à la première lettre du mot. On commence le cycle de création du mot jusqu à ce que l on rencontre un caractère de fin. R. Moreno a senti l importance du cadrage autour de la lettre en cours d analyse pour trouver un groupe de lettres identiques. Aussi j essaye d obtenir le plus grand cadrage possible (mon expérience m a fait me limiter à 2 caractères avant et trois caractères après ce qui fait un groupe de 6 lettres) Je détermine donc ce groupe de six lettres et je regarde dans le texte si je peux retrouver un tel groupe. Je n effectue pas la recherche en anneau, en effet le process étant rigoureux, le nombre de mots à créer serait ainsi limité aux nombres d espaces dans la chaîne de départ. Je cherche donc les occurrences de ce groupe de lettres et me positionne au hasard sur l un d eux. Si aucune occurrence n est trouvée, je réduis le cadrage progressivement jusqu à la lettre seule. Une fois la position trouvée, la lettre correspondante est ajoutée au mot et un appel est fait au process principal pour lui indiquer la lettre trouvée. L opération est répétée tant qu aucun caractère de fin n'est trouvé, J ai cependant limité la taille des mots à 10 caractères. Lorsqu un nouveau mot est trouvé, on le compare aux précédents résultats. S il est nouveau un nouvel appel au process principal lui précise le mot trouvé, sinon le cycle repart depuis le début. L opération se répète tant que l utilisateur n interrompt pas le processus 6 / 7
Utilisation L unique écran de l application se présente comme ci-dessus. Si le Popup menu qui permet d afficher les valeurs déjà mémorisées est positionné sur Nouvelle recherche, vous pouvez saisir le texte source dans la zone de texte. Pour commencer l analyse des mots, cliquez sur Analyse. Chaque lettre trouvée s affiche en haut de l écran et si un mot nouveau est trouvé, il s affiche dans la zone de défilement. Pour enregistrer votre recherche cliquez sur l icône du crayon et saisissez un libellé pour cette page. Il sera ajouté au Popup menu et pourra être affiché de nouveau en le sélectionnant. Vous pouvez effacer des mots dans la zone de défilement en les sélectionnant (clic sur une ligne ou alt clic) et en cliquant sur l icône de poubelle. 7 / 7