12 juin 2011
22 octobre 2010
1000 chercheurs parlent d'avenir
La Fête de la Science a commencé, elle est marquée cette année par la projection sur les murs du Panthéon de 1000 portraits de chercheurs accompagnés d'une phrase sur leur vision de l'avenir (et de vidéos sur le site du CNRS). Pierre Maraval, le photographe à l'origine de ce projet, dévoile les 1000 phrases sur son site web. Voici une visualisation des mots les plus fréquents construite avec le logiciel NuageArboré sur treecloud.org, glissez la souris sur chaque mot pour voir son nombre d'occurrences :
- sciences exactes (total de 501 phrases) : univers, Terre, énergie, demain, futur
- sciences de la vie (total de 379 phrases) : recherche, espoir, mieux, chercher
- sciences humaines (total de 120 phrases) : pas, passé
Publié par
Philippe
à
23:43
0
commentaires
Voter pour ce billet sur Wikio
Tags : nuage arboré, nuage de mots, science, société, TreeCloud, visualisation
31 août 2010
Nuages arborés en ligne
Vous avez vu le concept apparaître sur le blog de Jean, et quelques exemples sur ce blog, mais ça fait quelque temps que je n'en ai pas parlé ici, des nuages arborés de mots. Après quelques semaines de test d'une interface web de construction de ces outils de visualisation, il est temps de dévoiler le nouveau site web de TreeCloud : treecloud.org !
- en suscitant, en formalisant et en étayant des hypothèses de travail,
- en comparant des textes selon leur représentation arborée,
- en hiérarchisant l'utilisation d'autres outils textométriques,
- en représentant les résultats de l'analyse.
Publié par
Philippe
à
23:11
3
commentaires
Voter pour ce billet sur Wikio
Tags : logiciel, nuage de mots, statistiques, TreeCloud, visualisation
31 mars 2010
Comment translater les titres de films (2)
Publié par
Philippe
à
23:14
1 commentaires
Voter pour ce billet sur Wikio
Tags : Allociné, diachronie, langage, Lexico3, nuage de mots, TagCloud Builder, traduction
31 janvier 2010
Prénom et profession
Ca fait un certain temps que traînent sur mon ordinateur les données des prénoms et professions de plus de 100 000 signataires d'une pétition que j'évoquais dans des billets précédents. Alors que je me suis récemment plongé dans la passionnante Initiation aux méthodes de la statistique linguistique de Charles Muller (sur un conseil avisé) pour un autre projet dont je parlerai bientôt ici, j'en profite pour appliquer ce que je viens d'y apprendre sur les écarts réduits. Les commentaires de vrais statisticiens sont les bienvenus...
Publié par
Philippe
à
23:45
4
commentaires
Voter pour ce billet sur Wikio
Tags : corrélation, écart-réduit, nuage de mots, statistiques, tableur
11 mai 2009
Multinuage des programmes aux élections européennes
Le logiciel TagCloud Builder de construction de nuages de mots, présenté ici il y a déjà quelque temps, a bénéficié d'une mise à jour la semaine dernière : il permet désormais de représenter les mots de plusieurs textes au sein d'un seul nuage, en attribuant une couleur à chaque texte.
Cette idée m'a été proposée par Kirsten Talbot, qui termine son master en sciences sociales en Afrique du Sud, et voulait représenter ainsi ses données sur les stéréotypes communautaires dans l'Afrique du Sud post-apartheid. En attendant de pouvoir découvrir ses visualisations et ses résultats, voici un exemple d'utilisation de cette visualisation en multinuage de mots, sur les programmes (ou ce qui y ressemble le plus...) des quatre partis français en tête dans les sondages pour les européennes selon Ipsos :
Ah, tiens, IBM a un truc similaire dans ManyEyes, mais apparemment limité à deux textes.
Publié par
Philippe
à
00:05
8
commentaires
Voter pour ce billet sur Wikio
Tags : logiciel, nuage de mots, politique, TagCloud Builder, visualisation
27 janvier 2008
Danger : accidents mortels !
Je ne connais pas du tout la blogosphère américaine (d'ailleurs, commencer à publier en anglais est aussi un moyen, j'espère, d'en récupérer quelques échos) mais il y a un blog anglophone que je visite régulièrement, xkcd, recueil de vignettes de BD tordantes... pour un public plutôt initié (comprenez : aussi geek que son auteur Randall Munroe, à l'origine d'autres jolis coups).
J'ai particulièrement apprécié une des dernières vignettes, qui fait appel aux nombres de résultats Google, comme ça m'est déjà arrivé sur ce blog pour l'orthographe, la célébrité des députés, ou la date de naissance du web :
"mort dans un accident de ..."
Type d'accident - Résultats Google
parachutisme - 710
ascenseur - 575
surf - 496
skateboard - 473
camping - 166
jardinage - 100
patinage - 94
couture - 7
blogage - 2
Sauf que la langue anglaise a un avantage sur le français : elle exprime ses noms d'activités par des verbes au participe présent. Là vous commencez à voir où je veux en venir, et si on envoyait carrément à Google tous les verbes anglais, pour qu'il nous dise lequel est le plus accidentogène ? Comment le faire techniquement ?
Première étape, récupérer une liste de tous les verbes anglais. Pas évident, comme en témoignent cette question Google Answers pleine de liens morts, ou ces 5 pages de réponses inutiles ou périmées de forumeurs... Bref, je me suis résolu à faire confiance à mon moteur de recherche préféré, en lui envoyant une liste de tous les verbes qui me sont passés par la tête. Manque de chance, elle renvoyait naturellement des dictionnaires complets, j'interdis donc d'un nom commun, hat, et en troisième page pour -hat strike give abandon wipe rub search seek hang eat adjust draw conclude reappear reconsolidate create destroy dream cut put drive, j'arrive enfin à une page du projet VerbNet qui présente plus de 3500 fichiers nommés par des verbes, plus quelques intrus. Même si on peut faire mieux, je m'en suis contenté...
Deuxième étape, générer les participes présents. Verbe + ing ? Oui mais il y a quelques subtilités, en fonction des dernières lettres de l'infinitif ! Heureusement que mon logiciel de tableur préféré me permet de coder quelques bouts de programmes, voilà la formule magique pour le "calcul" des participes présents (histoire de ne pas me perdre dans les parenthèses, je l'ai séparée en plusieurs cellules dans mon fichier tableur, mais pour le fun je la mets en un seul morceau) :
B1=IF(RIGHT(A1;1)="e";=IF(LEFT(RIGHT(A1;2);1)="i";CONCATENATE(LEFT(A1;LEN(A1)-2);"ying");CONCATENATE(LEFT(A1;LEN(A1)-1);"ing"));=IF(OR(RIGHT(A1;1)="d";RIGHT(A1;1)="g";RIGHT(A1;1)="m";RIGHT(A1;1)="n";RIGHT(A1;1)="p";RIGHT(A1;1)="t");=IF(OR(LEFT(RIGHT(A1;2);1)="a";LEFT(RIGHT(A1;2);1)="e";LEFT(RIGHT(A1;2);1)="i";LEFT(RIGHT(A1;2);1)="o";LEFT(RIGHT(A1;2);1)="u");=IF(OR(LEFT(RIGHT(A1;3);1)="a";LEFT(RIGHT(A1;3);1)="e";LEFT(RIGHT(A1;3);1)="i";LEFT(RIGHT(A1;3);1)="o";LEFT(RIGHT(A1;3);1)="u";AND(LEFT(RIGHT(A1;2);1)="e";RIGHT(A1;1)="n"));CONCATENATE(A1;"ing");CONCATENATE(A1;RIGHT(A1;1);"ing"));CONCATENATE(A1;"ing"));CONCATENATE(A1;"ing")))
Allez, une petite explication rapide. Si la dernière lettre est un "e", alors :
- si l'avant-dernière est un "i", je transforme en "ying" (die -> dying)
- sinon, je supprime le "e" et ajoute "ing" (love -> loving)
- si le verbe se termine par "en", j'ajoute simplement "ing" (sharpen -> sharpening)
- sinon, si l'avant-dernière est un "d", "g", "m", "n", "p", "t", je vais la doubler si elle est précédée par une voyelle qui n'est pas précédée par une voyelle (bid -> bidding, put -> putting, mais claim -> claiming, feed -> feeding)
- sinon, j'ajoute simplement "ing" (speak -> speaking)
Dernière étape, entourer chaque participe à gauche par "died in a (ou "died in an si le verbe commence par une voyelle) et à droite par accident", et envoyer chaque expression ainsi créée à Google, en utilisant FuryPopularity. J'en ai profité pour mettre le programme à jour, parce que Google a changé le style de ses résultats, et apparemment durci sa politique de détection de spam de requêtes : au bout de 200 requêtes envoyées toutes les 5 secondes, le moteur m'a empêché de continuer, et m'a débloqué seulement après captcha. En laissant une dizaine de secondes, ça passe. Je suis preneur de toute information sur leur algorithme de détection : se fonde-t-il seulement sur la fréquence (si oui, ils doivent identifier les proxys générateurs de nombreuses requêtes, non ?) ou sur la périodicité des requêtes, ou encore les actions effectuées suite aux requêtes ?
Voici le nuage brut de mots trouvés :En analysant avec précaution ceux qui apparaissent moins fréquemment, on ne tombe malheureusement pas que sur des prétendants aux Darwin Awards. Tout d'abord, quelques parasites issus des réactions au dessin de xkcd, ou des décès d'animaux, mais aussi des choses plus gênantes : des adjectifs (amusing, embarrassing, interesting...) et des verbes n'indiquant pas une activité, mais plutôt des circonstances (exploding, crushing, choking...). Pour ces derniers, je n'ai pas de solution. On peut en revanche enlever les adjectifs verbaux assez facilement de façon automatique. Bien sûr, c'est possible en utilisant un analyseur syntaxique, voire un dictionnaire, mais je préfère rester dans l'utilisation des nombres de résultats Google.
J'ai fait plusieurs essais avant de trouver le critère discriminant. Comparer la fréquence de la forme participe présent par rapport à celle de l'infinitif (en espérant que ce soit plus élevé pour les adjectifs verbaux), ou trouver les pourcentages d'apparition du participe présent just après l'article "a", "more", ou "most". Dans le graphique ci-contre, les 5 premiers verbes donnent naissance à des adjectifs verbaux (amusant, effrayant, choquant, intéressant, dérangeant). On y voit que la stratégie du "a" ne fonctionne pas en particulier à cause des participes présents utilisés en anglais dans des mots composés : "a frying pan", une poële à frire, explique que "a frying" apparaisse si fréquemment. En revanche pas de contrexemple dans cette liste-test pour le superlatif avec "most" qui permet apparemment de faire la distinction (en fait la méthode laisse passer deux intrus : "ensuing" et "seeming" dans cette liste d'une centaine de verbes) :
Bref, une fois ce petit filtrage effectué, on peut regarder non seulement la fréquence de "died of a ... accident", mais aussi la comparer avec la fréquence de "a ... accident", ainsi que la popularité de l'activité elle-même, pour obtenir des sortes de taux d'accident (en bleu) et taux de mortalité (en rouge) :
Et voilà ! Si votre activité favorite n'est pas dans la liste, vous avez au moins une base de comparaison pour tester sa dangerosité. Et si elle y est, faites attention à vous (surtout ceux qui ont prévu une petite joute équestre pour le weekend prochain...), mais ne vous inquiétez pas trop quand même, vous gardez aussi vos chances avec la bonne vieille tumeur ou la crise cardiaque !
This post is translated to English: Danger: deadly hobbies!
Et comme d'hab, les fichiers source : liste de plus de 3000 verbes anglais et la construction automatisée de leur participe présent, test des méthodes de détection des adjectifs verbaux, résultats des requête Google.
Publié par
Philippe
à
22:51
4
commentaires
Voter pour ce billet sur Wikio
Tags : FuryPopularity, Google, graphique, logiciel, moteurs de recherche, nuage de mots, statistiques, tableur, TagCloud Builder, xkcd
16 janvier 2008
Britney-Amy : duel mortel
Découverts grâce au Petit Journal de Canal + la semaine dernière, les sites WhenWillAmyWinehouseDie.com et WhenIsBritneyGoingToDie.com proposent un concept intéressant : pronostiquer la date de décès des deux divas, le plus proche gagnera qui un iPod Touch, qui une PS3. Buzz énorme, bien sûr, des milliers d'internautes se sont rués pour participer, laissant un petit messages de pré-condoléances au passage. Les deux sites sont évidemment optimisés pour récupérer des revenus publicitaires (contrairement à l'initiative plus confidentielle mais tout aussi "sympathique" du TopMort), et communiquent seulement les données brutes entrées par les signataires.
Il manquait donc un peu d'analyse de tous ces pronostics. Grâce à la formidable assistance de Matthieu Muffato, expert en domptage de Python, quelques lignes (de code) et quelques heures (d'exécution du programme) après que je lui aie parlé du problème, il m'envoyait son source avec les données récupérées.
La question que je m'étais initialement posé sur les pronostics était simple : quel est l'intervalle de temps le plus grand qui est encore libre, et permettant donc de maximiser a priori les chances de gagner ? A priori, c'est à dire en considérant que tout intervalle de temps d'une même durée est uniformément dangereux pour Amy et Britney, et uniformément choisi par les autres internautes.
Pas de chance, ces conditions idéales sont loin d'être vérifiées en pratique, pour une raison finalement toute simple : l'internaute veut gagner son iPod ou sa PS3 maintenant, et pas dans 30 ans ! Donc si vous voulez cibler pour le décès de votre Britney préférée un mois qui n'a encore pas été choisi par les autres visiteurs, il faudra attendre février 2023 ! Pour Amy, il y a eu moins de participants, donc si rien n'a changé depuis la récupération des données, novembre 2016 est encore libre, ou alors tenter l'année 2031, dont seul le mois d'octobre a été choisi. Je dois aussi préciser, comme Matthieu me l'a fait remarquer, qu'aucune date n'est enregistrée sur ces sites après janvier 2038, à cause probablement du codage des dates. Bref, passons aux choses "sérieuses", voilà un petit aperçu du nombre de pronostic par mois (avec simple renormalisation verticale pour Amy qui a reçu moins de votes) :J'imagine que vous êtes aussi ahuris que je le fus quand les courbes sont apparues : elles sont quasiment identiques ! Coefficient de corrélation de 0.98, on obtient la même loi de puissance. Alors c'est l'occasion de faire un petit intermède mathématique. Pour détecter ce type de loi, on fait un tracé log/log des valeurs (c'est à dire on applique une fonction logarithmique aux abscisses, et aux ordonnées, pour afficher les points de coordonnées (log x,log y)) et on doit obtenir une droite. A vue d'oeil elle a à peu près pour équation Y=4-3X, c'est à dire quand on quitte le repère log/log et qu'on revient au linéaire : log10 y = 4-4/3 log10 x, et enfin y = 10 000 - x^(4/3), ce qui est l'équation de la courbe bleue.
En fait les lois de puissances arrivent très régulièrement dans les analyses de données réelles (en particulier de nombreux graphes petit monde ont une distribution des degrés en loi de puissance). Ce qui est remarquable est qu'ici les deux lois ont à peu près les mêmes paramètres. En regardant en détail on se rend quand même compte que les internautes ont plutôt privilégié 2008 pour Britney (qui semblait vraiment être au plus bas en ce début d'année) et 2009 pour Amy.En regardant précisément les courbes, ont peut aussi noter une apparente périodicité. En tout cas elles ne sont pas monotones, et une représentation des proportions de pronostics de chaque mois dans l'année pour Miss Winehouse donne la courbe des pourcentages à gauche. Les variations sont étonnantes, entre novembre et août, on passe du simple au double ! Je n'ai pas d'explication a priori sur les choix réduits des mois de novembre, décembre, et février, peut-être que c'est un mécanisme similaire à celui que décrit Knuth dans un de ses premiers exos du tome 2 : demandez à un ami (ou un ennemi) un chiffre aléatoire, vous obtiendez plus souvent le nombre 7.
Pour en finir avec les chiffres, la représentation des pronostics par jour, toutes années confondues. J'ai enlevé le premier janvier qui était artificiellement haut à cause du problème du codage des années, qui a donné énormément de 01/07/1970.Là à nouveau un phénomène de périodicité étonnant, les joueurs préfèrent visiblement les milieux de mois. Notez l'esprit retors qui fait apparaître aussi haut le 14 février, surtout pour la pauvre Britney. Même le point de son anniversaire le 2 décembre apparaît anormalement haut par rapport à ses voisins...
Alors pour oublier tout ça terminons sur une note de recueillement, d'émotion et de poésie, avec les nuages de mots des pré-condoléances pour les deux stars.This post is translated to English: Britney-Amy, Celebrity Deathmatch.
Fichier tableur des pronostics par jour, par mois, autres fichiers source fournis sur demande, à moins que je les mette ici un jour.
Publié par
Philippe
à
16:42
3
commentaires
Voter pour ce billet sur Wikio
Tags : blogosphère, Britney Spears, buzz, corrélation, graphique, loi de puissance, nuage de mots, sondages, statistiques, tableur, TagCloud Builder
11 janvier 2008
Sarkozy l'Orateur (2) : décryptage de l'impro-Sarko
Je les avais promis dans mon dernier billet, mais je ne les donnerai pas, les nuages arborés des deux versions (prévue, et prononcée) du discours de conférence de presse de Sarkozy. Pourquoi ? Je suis toujours loin d'être satisfait des détails techniques de la construction de ces objets, et même si je suis convaincu qu'un système de consensus d'arbres permet de bien les comparer (tiens, on s'approche de mon sujet de thèse, là...), quand les arbres à comparer ne sont pas très fiables, ça ne fonctionne pas. Bref, pas de jolie visualisation à l'interprétation casse-gueule, mais plutôt un bon vieux traitement semi-automatisé des différences entre les deux textes.Commençons par la dynamique globale des changements. Je l'évoquais image à l'appui dans mon dernier billet, Sarkozy se lâche peu à peu dans son discours, et finit par improviser complètement en laissant de côté le texte prévu. Et à s'écarter des chemins balisés, on commet des erreurs. En particulier une de celles que j'adore, traque, et compile, une erreur d'accord de pronom relatif, dans sa forme la plus pure qu'est le "danlekel" invariable :
« Quelle est la ville dans lequel nous voulons vivre ? »Dans le milieu du discours, on peut aussi noter une litote bien maladroite : "les enseignants sont plus victimes que coupables dans cette affaire" ! A moins qu'il faille vraiment prendre la phrase au pied de la lettre, et fustiger les enseignants coupables de ne pas passer leurs weekends à réparer et repeindre leur université... De même il est un peu cavalier en ajoutant qu'on ne parle jamais d'urbanisme pendant les campagnes politiques (hum, certes, ce sont des discours, pas des débats, dans Discours2007).
Maintenant voyons quels sont les thèmes des passages improvisés, et des passages supprimés (indiqués barrés) significatifs, ils expliquent bien sûr les mots mis en relief dans le nuage de mots "contrasté" de la version pronconcée :
- l'impatience des français
- progrès et pessimisme
- "les autres"
- "les autres", bis
- le Parlement
- le Grenelle de l'Environnement
- l'école primaire
- le débat sur l'école
- les manifs de profs
- la rénovation des facs
- les touche pas à (mauvaise digestion d'une certaine pétition soutenue par qui-on-sait ?)
- le succès
- l'urbanisme et l'architecture
le défenseur des droits fondamentaux contre l'Administration- changements à la télévision
- l'hôpital
la fiscalité- les bénéfices aux salariés
- les stock-options
- la défense des entreprises
- l'Europe
- annuler les voyages présidentiels ?
- le G8
- l'immigration
- la diversité
- la diplomatie de réconciliation
Malheureusement je n'ai pas les outils pour la détection et la mesure de l'anaphore. A vue de nez, j'ai quand même été tout à fait surpris d'en trouver un certain nombre ("comment..." ligne 112, "Paris doit" ligne 553, "L'Europe" ligne 844, "On aurait eu l'air malin" lignes 879 et 892, "Et bien sûr" ligne 1081...) dans les passages improvisés. Se serait-il donc converti au style Guaino, ou bien y a-t-il une autre explication ? Ils est de plus tout à fait frappant de noter à quel point elles sont renforcées à l'oral. Comme je l'expliquais, les retours à la ligne dans le texte prononcé indiquent des pauses dans le discours, et les anaphores arrivent toutes en début de ligne ! On peut aussi remarquer ligne 37 comment deux répétitions de "du respect" sont supprimées à l'oral, mais la suppression d'un "et" et une pause permettent de conserver la fonction rhétorique de l'anaphore.
Dans le style familier à la Sarko, on peut noter le pronom "on", le "y" de "il y a" voire "y a", ou encore le "eh" de "eh ben" ou "eh bien". Au fait, vous vous rappelez du "naturellement" de Chirac ? Sarko préfère le "parfaitement" (fréquence d'environ 1 pour 1000 mots dans ce discours), ce qui semble aussi se confirmer avec ses discours de campagne.
Et pour finir sur le style Sarkozy, une remarque que je faisais dans le billet précédent et que je confirme aujourd'hui, l'emploi du verbe "épouser", deux fois à l'oral mardi, semble être conjoncturel (dans les discours recensés dans Discours2007 il apparaît moins de 0.1 pour 10 000 mots, contre plus d'une fois pour 10 000 ici).
Enfin, je l'ai omis dans mon dernier billet, je dois mentionner un outil qui m'a particulièrement aidé dans ma transcription : le Real Player Download & Recording Manager qui s'installe avec RealPlayer11 Basic (hein, mais ils font quoi, dans la blogsophère française ???), et qui propose de télécharger en un clic toutes les vidéos ou sons croisés sur internet. A quel point c'est légal ? Real n'est pas une petite boîte douteuse en tout cas, j'ai l'impression que comme Altavista, ce système va devenir un excellent assistant au piratage, pour initiés...
Ajout du 25 mars 2008 : et pour aller plus loin dans l'analyse du discours sarkozien, jetez-vous sur l'indispensable Les mots de Nicolas Sarkozy !
Publié par
Philippe
à
00:18
4
commentaires
Voter pour ce billet sur Wikio
Tags : anaphore, corrections, nuage de mots, politique, rhétorique, statistiques, style, TagCloud Builder
1 janvier 2008
tag cloud + tag tree = nuage arboré (2) Les voeux présidentiels pour 2008
De quoi nous a parlé notre Président dans ses voeux hier soir ? On avait eu droit l'an dernier aux nuages de mots des voeux des présidentiables pour nous en donner de jolies synthèses ; cette année, évolution technologique oblige, on va faire le nuage arboré de ce discours de 9 minutes. Pour ceux qui n'auraient pas suivi l'épisode précédent, ou le billet initial sur Aixtal, un nuage arboré, c'est le pouvoir de visualisation du nuage de mots, associé à celui de la classification hiérarchique en un arbre binaire non orienté !
La preuve en images pour tous les mots prononcés plus de deux fois :nous donne :
La bonne nouvelle, c'est que si vous aussi vous souhaitez créer vous-même de tels nuages arborés, c'est possible en utilisant la nouvelle version 0.2 de TreeCloud Builder, associée au logiciel SplitsTree (introduction rapide à SplitsTree ici en français). La meilleure nouvelle, c'est que la prochaine version, actuellement en cours de codage et qui sera publiée en même temps que la troisième partie de ce billet, ne nécessitera plus d'utiliser SplitsTree.
La mauvaise nouvelle, c'est que dans la forme actuelle du logiciel (non documenté, fourni "tel quel" avec ses sources), l'arbre construit, même s'il reflète en un sens une certaine proximité entre les mots rapprochés dans ses sous-arbres, reste à prendre avec précaution. En effet l'enchaînement des algorithmes actuels ne me convainc pas. Je rentre dans les détails techniques, vous pouvez donc sauter la fin de ce paragraphe si ça ne vous passionne pas. Il y a actuellement plusieurs gros points faibles dans la construction de l'arbre. Tout d'abord le choix de la distance entre mots. TreeCloud Builder implémente la distance proposée dans le billet précédent, ainsi qu'une formule dérivée d'une formule de cooccurence classique : d1(a,b) = 1 - max(p(a|b),p(b|a)), où p(a|b) est la probabilité qu'une fenêtre de 20 mots autour du mot b contienne le mot a. Le problème avec cette distance d1 est qu'elle n'a rien d'arboré : tout arbre construit par des méthodes classiques en phylogénie ressemble très fortement à une étoile avec de longues branches menant aux feuilles, et des branches internes très courtes. Pour éviter ce problème je l'ai bricolée afin d'augmenter artificiellement la taille des branches internes du résultat obtenu (pour l'instant je ne comprends pas tout à fait comment ça marche, théoriquement, mais en pratique, ça marche) : d2(a,b) = log(101)-log(1+max(100p(a|b),100p(b|a))). Comme la matrice de distances obtenue contient beaucoup de log(101), les distances entre feuilles éloignées sont peu significatives, j'applique donc plutôt la méthode UPGMA (et voilà pourquoi ce billet n'est pas tagué phylogénie mais plutôt clustering) qui agglomère successivement dans l'arbre les mots les plus proches selon cette distance d2.
Revenons tout de même au nuage arboré créé. Même s'il est à prendre avec des pincettes, des phénomènes intéressants y apparaissent. Tout d'abord, l'urgence, vous n'avez pas pu louper l'anaphore alla Guaino. La figure de style apparaît dans l'arbre, puisqu'anaphore est accompagné dans "son sous-arbre" par des mots peu fréquents. Pas vraiment de grand concept-clé accolé à l'urgence, donc, mais une série de mesures. En revanche, le rôle de la France dans le monde, ça occupe un bon sous-arbre, et la représentation arborée permet notamment de désambiguïser le sens du mot vieux : Sarkozy ne parlait pas de nos chers aînés, mais bien de notre vieux pays. Remarquez aussi le sous-arbre des participes passés (voulu, pris, faite), organisés autour de l'ouverture, signes d'une promesse tenue. Même s'il est rigolo, le rapprochement de souci et coeur est artificiel, dû à la faible fréquence des deux mots, dommage pour les psychanalystes en arbre. Autres sous-arbres intéressants, celui des considérations présidentielles sur les valeurs de la vie (famille et travail), et celui plus grave sur la société et son avenir, pour lequel nous devons faire confiance à l'action du gouvernement...
Rendez-vous j'espère avant fin février pour une version aboutie et robuste théoriquement d'un TreeCloud Builder qui vous ferait vite et bien vos nuages arborés. En attendant, ce blog accueillera sous peu un nouvel utilitaire libre, qui permettra de récupérer d'une image les valeurs d'une courbe qu'elle contient. Fans des comparaisons Google Trends, Technorati Chart, Sous-marin Jaune, faites chauffer vos tableurs, c'est pour très bientôt !
Le programme TreeCloud.
Publié par
Philippe
à
02:27
11
commentaires
Voter pour ce billet sur Wikio
Tags : clustering, nuage arboré, nuage de mots, politique, SplitsTree, TagCloud Builder, TreeCloud, visualisation
12 décembre 2007
tag cloud + tag tree = nuage arboré (1)
Vous avez déjà travaillé avec deux objets, pour vous rendre compte que combinés ils fonctionnaient vachement mieux ? C'est la vraie révélation du dernier article de Jean Véronis sur Aixtal !Après lecture de son blog ou du mien, vous êtes convaincus qu'un nuage de mots dont la taille (et la couleur, j'apprécie beaucoup les teintes rouges, oranges, et bleues du Nébuloscope, introduites en partie chez TagCloud) reflète la fréquence, c'est très utile pour donner un aperçu rapide d'un texte ou d'un corpus. Vous êtes tout autant convaincus qu'un arbre phylogénétique peut donner un aperçu rapide de relations entre des mots-clés. Et quand on mixe les deux ? Je cite : "c'est marrant les arbres... ils peuvent nous raconter des histoires". Et voilà, un nouvel outil de visualisation d'histoires !
Dans l'exemple dédié à Laurence Ferrari, ce sont les résultats Wikio qui sont "passsés à la moulinette". Mais de la même façon qu'on peut effectuer un nuage de mots depuis un simple texte (avec TagCloudBuilder et une échelle de coloriage logarithmique bien sûr !), j'ai l'impression qu'un nuage arboré (tree-cloud pour nos amis anglophones) est encore un meilleur moyen d'avoir un aperçu rapide d'un texte. L'ordre alphabétique complètement artificiel des tags dans le nuage est remplacé par une disposition hiérarchique intuitive et informatrice !
Alors maintenant, quelle distance entre mots choisir pour reconstituer l'arbre, sur un simple texte ? J'ai fait l'essai suivant : pour chaque paire de mots, leur distance mutuelle est égale au log du nombre de mots minimal qui les sépare. J'avais déjà tenté de commencer à justifier théoriquement l'introduction du log pour certaines reconstructions "phylogénétiques" (la seconde partie du billet est toujours dans les cartons), là je l'introduis a priori seulement pour éviter quelques trop longues branches. J'ai prévu de tester quelques améliorations de cette idée : nombre de mots moyen séparant la paire de mots, éventuellement seulement sur les occurences les plus rapprochées de la paire...
Je garde ces préoccupations pour un éventuel billet suivant, et je livre un exemple d'application de ce principe, tiré du premier texte de longueur convenable que j'avais sous la main, une interview en anglais de Tom Sharpe. L'heure tardive ne me permet pas de mixer arbre et nuage de mots, les voici donc, à mixer mentalement (pour le moment) :Pour la construction de l'arbre, j'ai gardé seulement les mots présents plus de 3 fois, et contrairement au nuage de mots, n'ai pas enlevé les mots très présents peu porteurs de sens (I, the, to, l'antidico quoi...), qui ne gènent pourtant pas vraiment dans l'arbre (is, of, in, the, he arrivent au niveau du centre).
Le choix de la distance conduit à certains rapprochement un peu artificiels, toutefois la plupart des sous-arbres ont un sens. Soit constitués justement de mots de l'antidico, donc à négliger, soit reflétant les principaux thèmes de l'article. En particulier le sujet général apparaît dans le sous-arbre {village,where,Tom,Sharpe}. Afficher le contexte au passage de la souris sur une feuille ou un sous-arbre serait donc particulièrement intéressant.
Du travail en perspective, donc. A suivre sur ce blog... et sur treecloud.org !
Les fichiers sources des images ci-dessus : fichier Nexus de l'arbre phylogénétique, mots et occurences, mots et occurences avec anti-dico manuel, nuage de mots de TagCloudBuilder, programme de construction de la matrice de distance format Nexus et source Delphi peu commenté pour l'instant.
Publié par
Philippe
à
00:14
8
commentaires
Voter pour ce billet sur Wikio
Tags : clustering, nébuloscope, nuage arboré, nuage de mots, phylogénie, SplitsTree, statistiques, TreeCloud, visualisation, Yahoo
25 mars 2007
Analyse du buzz F-List de la blogosphère francophone (1/3)
La blogosphère française a été secouée il y a un peu plus d'un mois par un buzz viral : une chaîne de liens vers des blogs francophones favoris qui a circulé en s'étoffant de blog en blog (sur le modèle de la Z-list anglophone lancée par Mack Collier le 12 décembre 2006). L'intérêt du truc ? Son auteur, Xavier, avance que cela permet de découvrir de nouveaux blogs, des petits de surcroît, et qu'"il ne s’agit pas, à l’origine, d’un outil d’auto-promotion" (oui, vous savez, comme tous ces systèmes pyramidaux qui profitent surtout aux participants, et si peu à celui qui se trouve en haut de la pyramide... un mois et demi après le lancement de l'opération, la neuvième réponse Google pour "Xavier" est ce post original sur la F-list). Pourquoi les blogueurs ont-ils participé ? Les motivations sont variées (espoir de gagner de la visibilité, assurance d'un post rapide, envie de suivre le mouvement, simple curiosité...), certains avouant même ne pas savoir pourquoi, d'autres refusant de le faire (par charmante misanthropie comme effisk ou délicieuse bouderie comme Michel Leblanc). Bref, les symptômes typiques de la lettre-chaîne... Certains trouvent l'idée tellement géniale qu'ils créent une nouvelle liste : après la F-list originale le 12 février, la F-list québecquoise démarre le 21, la tunisienne le 5 mars, puis c'est la buzz-list, ou B-list le 6 mars, la geek-list ou G-list le 7...
On va limiter l'analyse à la F-list, les autres ayant eu moins de succès, pour en exhiber les caractéristiques intéressantes. En effet Xavier a bien donné les règles du jeu, mais pas les outils d'analyse statistique pour évaluer les résultats du jeu ! J'ai donc pris le temps de réunir toutes ces F-lists (ou au moins une grosse majorité, en utilisant Technorati), puis de les formater pour obtenir un ensemble formellement cohérent. Je peux vous assurer que j'en ai vu, du code HTML invalide, des moteurs de blogs à la syntaxe originale voire absurde, des erreurs d'URL (mention spéciale à Christophe Ginisty qui aurait bénéficié de bien plus de liens si Bertrand Duperrin l'avait correctement cité)... Cela permet déjà de livrer quelques résultats sur l'ampleur du phénomène. Pour mes prochains posts, je dois encore finir de normaliser l'ensemble de listes pour que des adresses URL désignant un même blog soient identiques.
Petit teaser des épisodes à venir donc... Episode 2 : visualisation complète du buzz à l'aide d'un arbre représentant qui a repris sa F-list sur qui (cela intéressera particulièrement les blogueurs ayant participé à l'opération qui pourront voir qui a repris leur liste), j'en profiterai pour parler de graphes de comparabilité (d'inclusion en l'occurence), et de réduction transitive, et éventuellement comparer l'arbre et l'arbre obtenu par phylogénie. Episode 3 : analyse de l'arbre, en particulier des types de comportements des blogueurs. Participe-t-on à la F-list parce qu'on la lit sur son blog favori, ou parce qu'on s'est aperçu qu'on était cité dedans ? Quels blogs sont cités plusieurs fois indépendamment ?
En attendant, voilà les premières stats sur le buzz :175 F-listes identifiées, donc (signalez-moi l'adresse de votre liste si elle n'est pas présente dans ce fichier), avec une apogée du buzz le 24 février. On remarque que le nombre de listes par jour est assez irrégulier. On pourra certainement mieux le voir sur la visualisation en arbre de la transmission des F-lists, mais j'expliquerais cela par la publication de la F-list dans quelques blogs particulièrement importants, immédiatement suivie d'une reprise du concept par leurs lecteurs (la blogosphère est très réactive, on calculera d'ailleurs le temps de réaction moyen du blogueur pour publier sa liste après publication de celle qui l'a inspiré).
Et terminons cette mise en bouche par la citation de tous les titres des posts annonçant la F-liste par ces 175 participants (l'originalité n'est pas toujours au rendez-vous).
Naissance de la "F-List" ... Faites circuler ! Contribue toi aussi à la F(rench)-List de la Blogosphère... The F-List The F-List La F(rench)-List F-List F-List... quand tu nous listes Participez à la F-List des blogs francophones My F... list The F-List La F-List La F-List /*\ ma petite contribution (à diffuser!) F-list ... F-LIST Participez à la F-List des blogs francophones Participez à la F-List des blogs francophones Diffusion de la F-List F(rench) list La F(rench) list French List Participez à la F-List des blogs francophones F-List, la liste des blogs francophones Ma F-liste des blogueurs francophones F-list : découvrez les petits blogs francophones Liste de blogueurs francophones F-List F-list : la blogosphère française F-list : le meilleur de la blogosphère française F-list : le meilleur de la blogosphère Ma F-Liste des Blogueurs Francophones F-list : les bons blogs francophones Top blogosphère (?) F-list et la blogosphère française F-List La F-List : faites tourner ! F-list Frange list F-list Ma F-List... Je joue aussi ! Ze F-list La F-List La F-List de Nellio, vu que c'est tendance de la faire Des liens, des liens La F-List : les bons blogs francophones Bons blogues francophones Participez à la F-List La fameuse F-List ! F-list F-list la "F" list ? nouvelle tentation d'Edgar ? La F(rench)-List : à partager... Encore un test de viralité : la F-list F-List la "F" list La F-List, ou plutôt... L'une d'entre elles... F-list F*cking Être F-Listé Viral bloging ou Google bombing ? La F-list : Liste de la French blogosphère F-List : Liste de blogs français à consulter Augmenter votre page rank avec la F-List ? la "F" list. ou comment faire monter l'audimat F-List La F-list des blogs francophones La F-list, ou de l'art de faire exploser mon pote technorati... F-List F-list Faites passer ... F(rench) List Faites connaître votre blog avec la F-List F-list : les bons blogs francophones La liste des blogs F-List F-list F-list La « F- liste » de la blogosphère francophone va-t-elle changer la face du monde ? F-liste La F(rench) LIST F-Liste de la blogosphère francophone La liste des blogs Tournez manège... La F-List des blogues francophones F-list will change the world, mais en français! F(rench)-List F-list: A la découverte des blogs francophones Ouais. Yéé. La F-List. La F-List, une opportunité pour se faire (re)connaître F-list : Découvrons la blogosphere francophone F-List F-list: A la découverte des blogs francophones La F-List des blogs en francais F-List F(rench)-List : faites passer Un peu de cuisine dans la F-List F-list ici aussi La "F" liste Les blogs français F-list : découvrez les blogs francophones F-List Ma F-List On a pogné la F-List F-List la blogosphère s'amuse : question d'ego ! F(rench)-List : fais tourner ! F-List Fcuk the list ! F-List mode d'emploi F-List F-List La fameuse “F-list” La fameuse F-list qui tourne, qui tourne... F-list... F(rench)-list Ma F-list des blogueurs francophones Let's viralize #3… La F-List ! F-List La F-list des bons blogs francophones The F-List F(rench)-List : je participe ! F(rench)-List : chaine de blog F-List, la pub des blogs Référencement : le coup de la F-List et de la vente pyramidale sur le Web F(rench)-List La F-list (pour French List) ou comment faire de l'audience, sans information... F-List Ma F-list des blogueurs francophones La F-list de nos lectures francophones Chaînes de blogs ou webring Adeptes du flisting, unissez-vous.. La F(rench) List La “F” liste French List (F-list) des blogs : hystérie collective ? La French-List French List (F-list) des blogs : hysterie collective ? - Creation-site-web.blogspot.com La french list, à mon tour La F-List qui tue French List (F-list) des blogs F-List F-list / blogs à la chaîne F(rancophone)-Liste F-listing French List (F-list) des blogs J'adore la F-List... Da F(rench)-list Faîtes tournez, faîtes tournez F-List... La F-List F-List : découvrez de nouveaux blogs francophones F-List : On ne rompt pas le cercle ! Le Buzz marketing passera par nous... Après la Z-list, la F-list française de l'hexagone tricolore F(rench)-List Quitte à faire surchaffer technocrati... F-List La blog-roll qui fait boule de neige Com'Malad est dans la F-List Annuaire des blogeurs? F-list - Vue chez Aurelia - Ma pomme - faire suivre F-list, le meilleur de la blogosphère française Blogroll, F-List , aux aaaarmes, etc... F-list, le meilleur de la blogosphère française Et je continue la F-list de Webnews F-list, le meilleur de la blogosphère française Francophone-List F(rench)-List La liste des blogs F-Liste je me prends au jeu F**** List : C'est mon tour (finalement) F-list encore et toujours F-List (French List) La F-List F-list c’est mon tour... La F-List - une liste de blog français de qualité Je suis dans Newlook :) La F-List - une liste de blog français de qualité
Et la synthèse de ces titres par un nuage de mots :Ce nuage reflète bien l'illusion que l'initiative F-list permettra de faire des découvertes de qualité, de trouver les meilleurs blogs, ou de bons blogs. C'est assez navrant de pouvoir encore croire qu'on peut définir objectivement un bon blog, de croire que la qualité est un critère universel. On assiste ici au degré zéro du filtrage collaboratif. Alors que des outils efficaces commencent à apparaître, pour les blogs en particulier...
Episode 2 ici !
Publié par
Philippe
à
00:52
18
commentaires
Voter pour ce billet sur Wikio
Tags : blogosphère, blogs, buzz, mème, nuage de mots, statistiques, TagCloud Builder, visualisation