Wordalizer | Hommage à Wordle
January 08, 2010 | Wordalizer | fr | en
Wordalizer est un générateur de nuages de mots pour InDesign CS4. Essayez dès à présent la version beta de ce script (très) expérimental, inspiré du magnifique outil Web créé par Jonathan Feinberg : Wordle.
J'ai commencé à travailler sur le script Wordalizer en... septembre 2008 ! Jonathan Feinberg venait de lancer son époustouflant Wordle, une applet Java générant des nuages de mots typographiques d'une incroyable fraîcheur — tandis que les spécialistes des « technologies du langage » s'émerveillaient encore devant les simples tag clouds CSS. Quant à moi, j'imaginais naïvement que je pourrais reproduire toute la puissance de Wordle dans InDesign moyennant quelques bons coups de cravache sur le DOM ! Je n'avais pas encore mesuré la complexité et les enjeux de l'algorithme élaboré par Feinberg. C'est en lisant ce billet (et ses commentaires) sur le “Kelso’s Corner” blog que j'ai commencé à comprendre ma douleur. Feinberg explique: « It’s not quite ‘simple bounding box,’ which wouldn’t permit words inside words, or nestling up to ascenders and descenders. It’s full glyph intersection testing, but with a sprinkle of CS applied to make it work at interactive speeds. »
En effet ! Le défi est d'accélérer au maximum les tests de collisions afin de rendre le temps de travail supportable. Vous n'imaginez pas combien ce petit problème d'optimisation, dans l'environnement Java, devient un casse-tête insondable une fois transposé dans le contexte du scripting InDesign. Mes tentatives se sont longtemps heurtées au mur du temps d'exécution et c'est après des mois de surplace que j'ai finalement repris le script à partir de zéro. Malgré le secret industriel auquel est tenu Jonathan Feinberg (le code de Wordle appartient en partie à IBM), ce dernier a disséminé sur le Net quelques indices sur son approche algorithmique. Une clé essentielle en a été livrée au détour d'une question débattue sur StackOverflow: “Algorithm to implement something like Wordle”. J'ai également déniché un papier de synthèse très éclairant sur le site IBM Research: “Participatory Visualization with Wordle” (PDF) — document signé par Fernanda B. Viégas, Martin Wattenberg et Jonathan Feinberg.
Tous ces éléments m'ont permis d'élaborer une nouvelle stratégie pour conjurer les délais insoutenables d'InDesign en matière de calcul polygonal. Wordalizer implémente certaines des techniques révélées par Feinberg (indexation spatiale via un quadtree, décomposition des formes vectorisées en quadrillage hiérarchique, etc.). Bien sûr, mon outil ne peut pas rivaliser avec Wordle en termes de performances. Ce n'est qu'un script ! Mais je pense que la version d'essai vous amusera.
La capture ci-dessus montre la boîte de dialogue principale et ses paramètres. (Notez que la version d'essai inhibe la case à cocher « Éditer la liste pondérée » et ne permet pas à l'utilisateur de réutiliser, lors d'un ré-appel du script, la dernière extraction lexicale et les paramètres de production. Il faut donc recommencer l'analyse et refaire les réglages à chaque génération nuageuse.)
Voici, lorsqu'elle est disponible, la fenêtre d'édition d'une liste pondérée :
Enfin, le nuage de mots résultant (basé sur Les Fleurs du mal) :
Avec un autre paramétrage :
Dans sa version actuelle, Wordalizer supporte le français et l'anglais (interface et analyseur lexical). Placez comme d'habitude le fichier, WordalizerTry.jsxbin, dans votre dossier de Scripts InDesign. Il n'y aura plus qu'à cliquer pour vous plonger la tête dans les nuages.





Comments
Excellentissime, OuScriPo en diable…
Merci, ami, d'avoir encore passé des nuits à réaliser ce script totalement improbable… A nouveau, permets moi de te sermonner (!!), des end-users comme moi sommes prêts à débourser quelques euros car l'usage de ce script dans de nombreux domaines (dont les blogs, si, si…) fonctionne comme une signature poétique rafraîchissante…
Je viens de le faire pour le prochain livre que l'on va publier... c'est bluffant ;-)
Et voilà un script que l'on va retrouver sur de nombreuses couvertures, foi de graphiste de livres…!
Demain dans urbanbike.
Dommage qu'il ne fonctionne pas sur la CS3 :(
> Dommage qu'il ne fonctionne pas sur la CS3 :(
Oui, Patrick, je le regrette également. La rétrocompatibilité n'est pas une partie de rigolade, surtout avec les scripts exportés en binaire (jsxbin). Je n'exclus pas cependant de m'attaquer à une version CS3 si la vague de protestation devient tsunamique ;-)
Au passage, merci pour le beau billet publié sur patpro: http://www.patpro.net/blog/index.ph...
Great tool! Thank you!
Any chance Wordalizer will support Russian?
Very cool, thanks!
Je voudrai bien avoir un espace pour faire la promotion de ton superbe travail. Mais cela sera bientôt possible ;-)
Bravo, tous mes respects et comme Jean-Christophe le dit, on va voir du Wordalizer à toutes les sauces!!!
A+ et amitiés Loic
Mon ami, this is great! :)
Merci!
@ Rusticos
> Any chance Wordalizer will support Russian?
That's not technically a problem, but I need two things:
1) A Russian translation of the UI strings
2) A Russian "stop word" list to make Wordalizer skip the non-semantic words
Can anybody help me?
so cool! I love it :D thank you
I can help you with Russian.
Give me all the UI strings and I'll translate them (but there's no much need in this as English graphic interface will do)
Stop word list is also possible to do. Maybe you'll just work with all the words without exceptions (like Wordle does) for the first time?
Nadya
It is absolutely a fantasy.
I was dreaming of learn Rhino 3D to design and make illustration but this project is a door to many things.
It is possible to use lines, vectors, etc?
Thanks to all for your plebiscite!
@ Nadya Miloserdova
Thank you too. Wordalizer will work with Russian. Another pen friend sent me a stop word list. As you said, he told me that English is much better suitable for UI than Russian...
@+
Marc
You can use the Russian stop word list that Wordle uses, by downloading the cue.language package from github: http://github.com/vcl/cue.language
This seems interesting, but I'm not sure how to get it to work. I've dropped the script in the script folder, but don't know where or how to launch it. Can you clarify how this is done?
Hi,
how I can get the full version. I cannot found any word to buy this script. Sorry my bad english.
Thanks for answer,
with best regards,
peppi
@ Jonathan Feinberg
Thank you for the "cue.language package" link. It seems to be a goldmine ;-)
- - -
@ Vong Lee
> I've dropped the script in the script folder,
> but don't know where or how to launch it
Make sure you drop the WordalizerTry.jsxbin file in the "Scripts Panel" subfolder of your "Scripts" folder. Then the script will appear in your InDesign script panel (Window > Automation > Scripts). For more information about installing scripts, see the excellent Peter Kahrel's general overview here: http://www.kahrel.plus.com/indesign...
- - -
@ peppi
> how I can get the full version. I cannot
> found any word to buy this script
Thanks for your message. For the time being Wordalizer is provided as a BETA "Try" version, I'm still working on the final full version ;-)
Kind regards,
Marc
you saved my ass, i have lokked for sth like this for hours! now it'll save me DAYS of work! thanks a lot!
ou: merci beaucoup!
Can't wait for the full version, but will it leave the words as 'live' text so any spelling mistakes can be corrected on the final cloud?
Hi Phil,
The full version won't leave the words editable on the final cloud because it's pure vector shape. But the full version lets you edit the words (add, delete, modify, even change weight) BEFORE the process, so you can correct any mistake at this level.
@+
Marc
any way this will work with CS3?
Vraiment sympa !
Et la cerise sur le gâteau serait de pouvoir utiliser le nuancier d'un document comme "thème"... :D
Thanks for this fantastic tool. I can't wait to buy the final version!
Best regards
Max