13 décembre 2008

Xkcd en français

xkcd est une mine d'illustrations pour les enseignants en informatique, et j'ai décidé cette année d'illustrer chaque séance des TP de système/réseau que j'assure en L2 avec un dessin traduit pour l'occasion.

Les difficultés sont multiples : choisir le dessin tout d'abord. Car parmi les quelques centaines de l'auteur, Randall Munroe, il faut en trouver qui ont un rapport plus ou moins direct avec la séance du jour, et je remercie Arnaud de m'avoir fait profiter de sa mémoire et de sa connaissance pointue de xkcd pour m'éviter d'être bloqué sur la fin.

Autre problème, la traduction. Ces courtes vignettes faisant appel à un vocabulaire spécialisé sont assez difficiles à traduire en restant aussi concis. Quand il faut en plus gérer des problèmes de culture geek dont l'équivalent français n'existe pas, ça devient mission impossible. Quant au texte alternatif, c'est souvent difficile même d'y comprendre la blague.

Encore un obstacle, la réalisation. Retrouver une police de caractères qui ressemble à l'écriture - en majuscules - de Randall Munroe n'est pas évident. On trouve quelques essais ici ou . La police International Playboy, qui contient même la plupart des majuscules accentuées, donne un résultat convenable.

Enfin, dernier problème : la publication et les droits d'auteurs. Eh bien ce n'en est pas un, puisque xkcd est publié sous licence Creative Commons autorisant justement les modifications !

Alors, qu'attendent tous les geeks de France pour lancer une vraie interface collaborative de traduction d'xkcd ?

Il y a eu quelques essais, mais la plupart n'ont pas survécu à quelques dizaines de dessins. Le total, recensé ci-dessous, permet tout de même d'arriver à 11% de la BD. Mais attention, la qualité de traduction n'est pas toujours au rendez-vous :
21 45 77 86 86' 123 129 132 148 156 163 169 171 185 191 195 198 202 208 208' 218 221 224 227 231 232 233 242 244 247 275 275' 287 290 302 302' 303 307 323 327 327' 329 341 342 343 344 345 349 350 353 374 377 378 378' 385 385' 386 397 399 400 405 411 411' 414 425 425' 426 427 428 429 432 433 434 435 436 441 444 445 447 448 451 453 456 456' 469 479 488 488' 530

Si l'on veut lancer une traduction massive, l'idée serait de permettre une collaboration. Difficile si l'on travaille directement sur les images. J'ai donc préparé une interface de traduction d'xkcd en français qui fonctionne seulement en ajoutant le texte sous l'image. Ceux qui le voudront pourront ensuite créer les images, en y insérant ces textes. Pour arriver à une bonne qualité, je propose le système suivant :

  • n'importe qui peut envoyer une traduction
  • des modérateurs (moi pour l'instant, mais si je peux vous faire confiance, j'accepterai certainement de vous ajouter à la liste) se chargent de la valider pour qu'elle apparaisse sur le site, et de choisir la meilleure (et donc bye bye les robots spammeurs !).
Le système est réalisé en PHP/MySql, sur une structure très proche de celle utilisée pour le guide de Pessoa sur Lisbonne. L'adaptation à d'autres langues sera donc très facile (contactez-moi si vous êtes intéressé par les sources). Et bien sûr, je compte sur vous pour proposer des traductions ! Il suffit de cliquer sur l'image voulue, puis compléter le formulaire, en utilisant éventuellement le lien vers l'image originale pour l'avoir sous les yeux pendant la traduction. Et surtout n'oubliez pas l'infobulle, qui apparaît quand on laisse traîner la souris sur l'image !


Alors bien sûr, vous allez me dire que la traduction des xkcd est un peu inutile, vu que la connaissance de l'anglais fait partie de la culture geek. Ce n'est pas complètement faux. Un sondage a été organisé cette année pour évaluer la familiarité avec l'outil informatique de tous les entrants en licence de la Faculté des Sciences de l'Université Montpellier 2, dans le cadre d'une UE préparant à l'examen du C2I (Certificat Informatique et Internet). Un millier d'étudiants a répondu, et voici les résultats des deux questions suivantes :

Si, sur internet, vous arrivez sur une page écrite en anglais :
  • vous n'y comprenez rien
  • vous y déchiffrez quelques mots
  • vous pourriez la comprendre en cherchant le sens de quelques expressions
  • vous la lisez en comprenant la plupart des phrases
À propos du contenu de cette unité FLIN102, vous pensez :
  • que vous aurez du mal, qu'il y aura beaucoup (trop ?) de choses à découvrir,
  • que ça ira en suivant les TP, et en les travaillant en plus chez vous,
  • que suivre les TP vous suffira pour apprendre des choses et les retenir,
  • que vous connaissez déjà une bonne partie des choses enseignées en TP, mais que vous en découvrez quelques unes,
  • que suivre les TP est pour vous complètement inutile, vous savez déjà tout ou presque.

Comme vous pouvez le constater, la maîtrise de l'anglais augmente en même temps que la maîtrise de l'outil informatique. Alors peut-être que les fous d'ordinateurs continueront à se précipiter sur la version originale de la BD, et que la traduction leur servira seulement en cas de problème. Peut-être qu'ils profiteront de leur maîtrise de la langue pour faire profiter d'xkcd aux allergiques à l'informatique pour lesquels quelques planches sont tout à fait accessibles.


Episodes suivants : traduction d'xkcd et loi de Pareto (31 mars 2009), sous-titrage xkcd : 100% ! (20 avril 2010)

8 décembre 2008

Les sections d'un article scientifique (1/2)

J'utilise fréquemment le nombre de réponses Google : le plus souvent pour l'orthographe, mais aussi pour diverses expérimentations en soumettant un nombre massif de requêtes, comme dans mon billet précédent (ou tous ceux tagués par mon utilitaire qui permet de le faire, FuryPopularity). Même s'ils ne sont pas toujours fiables - j'y reviendrai au prochain billet de la série - ils sont le plus souvent assez parlants, comme peuvent l'illustrer ces dessins de XKCD.

Aujourd'hui, ils vont nous servir à visualiser le découpage traditionnel d'un article scientifique en sections. Le point clé est que l'on y annonce généralement son plan en introduction, en utilisant, de façon parfois un peu pesante, la formulation "In Section [X], we [VERB]", comme dans ce fameux article qui promettait : "In Section 7, we discuss how to draw a rooted split network" (comment ça j'ai pas le droit de faire ma pub sur mon blog ?).

Alors que fait-on quand on a une liste d'un peu plus de 3000 verbes anglais depuis cette expérience, et un Fury Popularity fonctionnel ? Eh bien on profite de ses nuits pour envoyer tout ça automatiquement à Google, en faisant varier le numéro de section X de 1 à 10... Par manque de temps, je repousse au prochain billet sur le sujet mes arguments sur le fait que ça a du sens, bien que tous les articles n'utilisent pas cette formulation en introduction, et je passe directement à la méthodologie. Tout d'abord, récupération des nombres Google :

  • pour 3656 verbes anglais (cette liste de verbes était donnée à la fin de ce billet) pour X variant de 1 à 3.
  • pour "seulement" les 940 verbes qui ont eu des résultats à cette étape précédente, pour X variant de 4 à 10.
Les données sont alors stockées dans ce fichier tableur, et normalisées :
  • en colonne tout d'abord, divisées par le nombre total de résultats à X fixé, ce qui fournit pour chaque verbe un pourcentage d'apparition,
  • en ligne ensuite : pour chaque verbe, soustraction de la moyenne de ses pourcentages d'apparition, puis division par l'écart type.
Avec les données ainsi obtenues, en gardant uniquement les verbes donnant plus de 5000 résultats au total, et en retirant les auxiliaires are, have et will, on obtient ce résultat :

Héhé, surpris, hein ? Pas de diagramme, pas d'arbre, pas du nuage ! Eh oui, après un module de biostats qui m'a initié à R, et avant de plonger dans les subtilités de l'utilisation de l'analyse factorielle en lexicométrie, cet essai de visualisation de données par analyse en composantes principales donne un résultat tout à fait convenable. Il permet en effet de représenter les données en deux dimensions, au lieu des 6 initiales (1 par section), de la meilleure façon possible.

Le code R (le logiciel est téléchargeable gratuitement ici) est le suivant :
donneesSections <- read.csv ("http://philippe.gambette.free.fr/Blog/200812Publis/ResultsR.csv", dec=",", sep=";",row.names=1)
mesures<-donneesSections[, c("Section1","Section2","Section3","Section4","Section5","Section6")]
acp<-princomp(mesures)
biplot(acp,cex=0.5)
acp<-princomp(mesures,cor=TRUE)
biplot(acp,cex=0.5)


Alors n'étant encore pas très familier avec la technique, j'ai quelques questions théoriques et pratiques, que j'espère bien résoudre bientôt (avec l'aide de mes lecteurs ?) :
  • quelles sont les différences, fondamentales et pratiques, entre l'ACP qui fonctionne sur la matrice de corrélation (qui correspond à l'option cor=TRUE) et la matrice de covariance ?
  • existe-t-il des options dans R pour choisir les dimensions du dessin ?
  • existe-t-il des logiciels ou applications web qui fournissent les résultats d'une ACP dans un format plus pratique, permettant de choisir la taille des étiquettes, ou bien de visualiser deux étiquettes superposées
En ce qui concerne l'analyse de cette image, je détaillerai certainement plus les conclusions au prochain billet (en vérifiant notamment si les règles théoriques de rédaction d'un article scientifique trouvables ici ou semblent vérifiées), mais voici quelques premières remarques :
  • les sections 5 et 6, et surtout 1 et 2 semblent avoir des rôles très proches. Ceci peut s'expliquer pour 1 et 2 par le fait que le plan peut se trouver soit dans le résumé, hors section, soit dans la section 1 : ainsi, la partie introductive, à laquelle les verbes begin, introduce, start, recall, formulate sont associés, se trouve en section 1 ou 2, tout comme la partie d'état de l'art : review, survey, collect.
  • Pour les sections 5 et 6, c'est la longueur variable des articles qui fait que les verbes indiquant la validation finale avec compare, evaluate, perform, explore, ou le bilan, summarize, conclude, ont des profils différenciant peu les sections 5 et 6.
  • Les sections 3 et 4 sont visiblement dédiées aux gros morceaux : assume, investigate, describe, construct, calculate, determine, demonstrate ; discuss, analyze et extend, apparaissent alors qu'on se rapproche des sections finales.
A bientôt pour la fin de cette discussion, et le retour de quelques nuages ! Il y aura certainement un billet spécial XKCD entre les deux pour patienter.