En cette magnifique rentrée 2019/2020, laissez-moi vous parler encore un peu de cet été, et plus particulièrement de la conférence ISMB/ECCB, référence en bio-informatique, qui s'est déroulée du 21 au 25 juillet dernier à Bâle. Et pour cela, je vais allier l'utile à l'agréable en vous présentant ce qu'est le live-tweet et comment bien le réussir à une conférence pour en ressortir un rapport de celle-ci avec quelques visualisations sympathiques.
Qu'est ce que l'ISMB/ECCB ?
Comme le nom l'indique, c'est en fait le regroupement de deux conférences, l'Intelligent Systems for Molecular Biology Conference et l'European Conference on Computational Biology. Cette conférence 2 en 1 est effectuée tous les deux ans depuis 2007. On y voit réunit des scientifiques de l'informatique, de la biologie moléculaire, des mathématiques, de la statistique et des domaines connexes. Elle se concentre principalement sur le développement et l'application de méthodes informatiques avancées pour les problèmes biologiques mais pas que ! Et c'était ainsi l'occasion d'en savoir un peu plus sur ces projets qui se développent autour.
Pour s'y retrouver dans les thématiques présentées à la conférence, 21 regroupements de chercheurs, les COSI (Communities of Special Interest), ont été chargés de réaliser la programmation dans leur session. Ainsi on a pu voir les classiques sessions réseaux biologiques, bio-informatique structurale, machine learning, etc. Mais également des sujets plus parallèles à la bioinfo : éducation, PI (Personnal Investigator) juniors, open source, etc.
En plus de ces présentations réparties sur 4 jours avec entre 8 et 10 sessions parallèles, la conférence a également accueilli des ateliers divers (reproductibilité, rencontre emplois, dernières nouveautés techniques, logicielles et matérielle) et surtout une keynote à chaque jour. Je vous laisse aller découvrir ça par vous-même sur le site de la conférence.
Mais entrons dans le vif du sujet, voulez-vous ?
Qu'est-ce que le live-tweet, et pourquoi en faire ?
Une rapide définition
Twitter c'est un réseau social accès sur le micro-blogging. Mais plutôt que de vous en refaire une présentation, je vous invite à consulter l'article sur Twitter comme arme de communication massive et outil scientifique !
Le live-tweet quant à lui consiste de façon générale à retranscrire en direct un évènement. Et ceux-ci peuvent être de nature très variées ! On a ainsi pu voir des journalistes live-tweeter des manifestations, des personnes assistant à un procès retranscrire les jugements, et dans notre cas, des chercheurs live-tweeter des présentations scientifiques !
Cela peut paraître inutile/brouillon comme idée, mais dans nos vies actuelles où l'information transite beaucoup par les réseaux sociaux comme Twitter, et où l'immédiateté est de mise, le live-tweet prend son sens. Il peut ensuite être une base pour un article plus travaillé en profondeur.
Les raisons de s'y adonner
Le live-tweet peut revêtir plusieurs aspects plus ou moins égoïstes.
En publiant les diapositives (partiellement ou totalement dépendant de votre rapidité/envie), vous permettez à des gens n'assistant pas à la conférence de suivre les avancées faites sur un sujet. Et à une heure où les budgets se réduisent en commençant par ceux de déplacement, il est agréable de pouvoir profiter de ce genre de communications.
Le live tweet est également l'occasion de faire votre compte rendu de conférence en direct. Les conférences sont un temps de foisonnement d'informations toutes plus innovantes. Il y en a donc bien trop pour qu'on puisse retenir la totalité de ce qui pourrait être pertinent pour notre recherche actuelle ou future. Avoir la synthèse de ce qui s'est dit permet (comme on le verra plus bas) de pouvoir rechercher des informations après coup, notamment quand un collègue vient vous demander "Eh t'as vu cette présentation ? Oui ? Il a parlé de comment il faisait <sujet pointu> ?".
Attention avant de publier le fil !
Toutes les conférences n'autorisent pas le live tweet, et tous les chercheurs présentant leurs travaux ne souhaitent pas forcément voir ceux-ci rendus largement public (car on s'entend, aller présenter en conférence c'est déjà rendre plus ou moins public…).
Quelques précautions à prendre donc :
- Regardez dans les bonnes pratiques de la conférence, règlement ou tout autre manifeste s'il est fait mention des réseaux sociaux, de la prise et/ou diffusion de photos des présentations et/ou posters.
- Si aucune information à ce sujet n'est disponible, n'hésitez pas à contacter des organisateurs. Si la conférence dispose d'un compte sur un réseau comme Twitter, c'est encore un meilleur moyen de les interpeller.
- Certaines conférences autoriseront le live tweet mais laisseront la possibilité à leurs auteurs de préciser une restriction. On a ainsi pu voir cette technique mise en place avec succès par les organisateurs de JOBIM 2017 !
- De base, s'il est précisé que les travaux ne sont pas publiés sur certaines diapositives, il est plus sûr de ne pas live-tweeter ces parties. Cela ne nuit en rien à la qualité du live tweet, précisez le simplement pour ne pas perdre les personnes qui vous suivraient.
- Si vous êtes hors-conférence, pour une présentation occasionnelle d'un chercheur invité par exemple, allez lui demander avant si possible s'il vous autorise à live tweeter. Si vous n'y parvenez pas, vous pouvez toujours préparer un fil sans le publier ou prendre les photos et noter sur un bloc note à côté vos commentaires associés, puis aller voir la personne en fin de présentation.
Quelles sont les bases pour bien live tweeter ?
Twitter permet aujourd'hui de créer directement des fils (threads) complets avant même de les poster (contrairement à avant où il fallait poster au fur et à mesure en pensant à bien faire une réponse au tweet précédent). On va donc exploiter cet outil autant que possible. Gardez toutefois en tête qu'à l'heure où j'écris ces lignes, vous ne pouvez enchaîner que 25 tweets maximum (ce qui s'est révélé parfois trop court). Pas de panique cependant, vous pouvez parfaitement poster les 25 premiers tweets et reprendre un thread à partir du dernier.
Tout d'abord, s'il est possible de faire ses lives tweets depuis un pc portable, je ne saurais que trop vous conseiller de le faire depuis votre téléphone. En effet, au rythme où les diapositives défilent, et donc au nombre de photo à faire, gérer le transfert de ces dernières vers votre pc est un luxe difficile à tenir quand on veut être extensif.
Vous allez donc devoir jongler entre votre appareil photo et l'application Twitter pour ajouter les dernières photos prises ainsi que ce qui a été dit sur elle. Attention, l'objectif n'est pas non plus de recopier mot pour mot ce qui est dit. Le live tweet c'est aussi l'occasion d'apprendre à faire rapidement une synthèse de ce que vous entendez : des mots clefs, un résultat, une conclusion, une hypothèse. Ainsi n'hésitez pas à regrouper plusieurs photos en un tweet avec une phrase résumant ce qui ne se trouve pas sur elles (et également si vous n'avez pas eu le temps d'entendre/synthétiser ce qui vient d'être dit ;))
Exemple avec un de mes live tweet récent sur une présentation d'un chercheur invité :
We leave in an atypic environment where two sides have difficulties to talk together.
— Gwenaëlle L. (@GwenaelleL_) September 6, 2019https://platform.twitter.com/widgets.js
But it's important for the benefit of the patient to do k together pic.twitter.com/PqPq2Io2lj
Initialement la diapositive était avec un affichage progressif : l'élément de gauche, puis celui de droite, enfin celui du milieu. Le tout était alimenté par le chercheur expliquant les détails propres à chaque groupe et l'objectif final de tout ceci.
Vous constaterez plusieurs choses ici :
Des gens plus grands que vos 1m60 vont systématiquement se mettre devant vous…- Prendre en photos toutes les étapes de défilement d'une diapositive ne sert à rien. Vous êtes dans une optique de synthèse où seule la diapositive finale vous intéressera (attention les présentateurs ont l'habitude de la passer très vite. Ayez le déclic affûté !)
- Parmi toutes les informations données à l'oral, seul l'essentiel a été gardé pour l'écrit : un contexte simplifié et un objectif. Les informations sur les contraintes de chacun des partis aurait été trop long et inutile à reprendre.
- Il y a une faute de frappe ! Eh oui, à tapoter à toute vitesse sur votre clavier, vous allez forcément en faire. Ne vous en souciez pas sur le moment car une correction immédiate risquerait de vous faire perdre le fil de la présentation et le rythme des photos. Idéalement relisez votre fil de tweets en fin de présentations quand vous avez le temps (ce qui n'est pas toujours le cas entre deux présentation de conférence, surtout si vous devez changer de salle !)
Information pratico-pratique :
Attention à votre batterie ! Prendre des photos et téléverser des images sur Twitter a tendance à faire fondre votre charge à vitesse grand V ! Assurez-vous donc d'être assis à côté d'une prise (voir d'emmener une multiprise, vous serez alors aimé par les autres conférenciers, ou sinon grognez pour éloigner les concurrents) ou bien de vous balader avec une batterie externe.
Quelques aspects avancés pour aller plus loin
Une conférence, c'est encore une autre paire de manche par rapport à une présentation isolée. Cela implique généralement beaucoup de présentations en peu de temps, sur des sujets différents. Il faut donc un minimum de préparation si vous ne voulez pas perdre de temps une fois dans le live tweet, et si vous voulez aider à l'exploitation future de vos tweets.
Les hashtags
Ou "croisimot", ils servent de mot clef et sont très utiles pour classer vos tweets avant même d'avoir commencé à jouer avec eux. Ils se doivent d'être clairs et aussi court que possible. Pensez aussi que si vous souhaitez une portée dans la communauté bioinfo, les mettre en anglais facilitera leur diffusion.
Voici plusieurs types utilisables :
- Le hashtag de session parallèle : souvent ces sessions sont à thème défini et peuvent littéralement vous offrir le hashtag à utiliser. Sinon à vous de rechercher le mot qui résume le mieux celle-ci. Exemples : #VizBio pour une session sur la visualisation biologique , #Phylogeny, #Proteomics, etc.
- Le hashtag de sujet : des présentations dans différentes sessions peuvent se recouper, et utiliser des hashtags commun peut aider à retrouver des thèmes abordés plus diffus. Exemple : #scRNA, #MachineLearning, #CoExpr, etc.
Inspirez-vous de ceux déjà existants ou ceux suggérés par l'application afin de contribuer à l'information sur chaque sujet. Vous constaterez qu'il est important d'y avoir au moins réfléchi à l'avance afin de ne pas y passer trop de temps au risque de louper des bouts de présentation.
Les titres de fil
Afin de s'y retrouver, l'idéal est de débuter chaque fil avec un même format que vous déterminerez à l'avance et respecterez par la suite. Celui que j'utilise le plus souvent est :
#<hashtag de session>
<auteur> with <Titre de présentation>
#<hashtags de thématique (optionnel)>
#<hashtag de la conférence>
Et c'est là que vient un gros bout de la préparation : avoir tous les titres et noms des auteurs (voir leur identifiant Twitter s'ils y sont) à portée de main quand viendra le moment ! Car recopier un titre/nom d'un programme papier ou d'une diapositive vous fera assurément louper le début de la présentation.
Mon astuce est de prévoir la veille la majorité des présentations où j'irai et de faire des brouillons de tweets pour chacune d'entre elles.
Un peu de contraste tout de même
Il faut vous demander si cette pratique est faite pour vous et/ou compatible avec ce que vous attendez d'une conférence. Plusieurs aspects peuvent ainsi vous déranger dans le live-tweet :
- Il restreint les discussion que vous pourriez avoir avec un collègue à côté de vous pour critiquer/question un point énoncé durant la présentation.
- Une mauvaise manip, une prise de retard dans sa réalisation peut vous faire perdre le contenu important d'une présentation
- Il demande une organisation importante comme vous avez pu le lire. Il ne sera donc pas facile de gérer dès vos premières fois.
- Dans l'urgence, vous pouvez en arriver à avoir des contre-sens dans ce que vous écrivez, ce qui faussera vos notes pour plus tard.
Évaluez alors si le live-tweet est pertinant dans votre cas.
Et ça donne quoi en l’appliquant à l'ISMB/ECCB ?
Récupérer les tweets et jouer avec : le package rtweet
Avoir posté des fils complets, un par présentation de préférence, c'est bien. Pouvoir user de ses atouts de (bio-)informaticien, c'est mieux ! Je vous présente donc le package rtweet qui va aujourd'hui nous permettre de récupérer tous nos tweets en un clin d’œil et de s'amuser avec. La documentation est vraiment bien faite avec des exemples simples et pratiques pour rapidement plonger dans l'exploration.
On commence donc avec le téléchargement des tweets. Le package s'occupe en fait d'interroger l'API de Twitter (sans avoir besoin de compte développeur). Pensez bien à télécharger rapidement les tweets pendant/après la conférence, il n'est possible de remonter que 7 à 10 jours en arrière !
Pour vous permettre de vous amuser tout de même avec ce jeu de données, vous trouverez en bas de page un lien vers un repertoire Github où se trouvent script et données.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
library(rtweet) library(dplyr) conf_hashtags < ;- c("#ISMBECCB", "#ISMBECCB19", "#ISMBECCB2019", "#ISMB", "#ISMB19", "#ISMB2019", "#ECCB", "#ECCB19", "#ECCB2019") # Warning : tweets are only available for 7 to 10 days after publication conf_tweets < ;- search_tweets(paste0(conf_hashtags, collapse = " OR ", n = 18000)) # Filtering for days of the conference conf_tweets < ;- conf_tweets %> ;% filter(created_at > ;= ISOdate(2019,07,20,22, tz = "UTC") & ; # UTC = Switzerland time + 2 hours, because of summer time change created_at < ;= ISOdate(2019,07,25,22, tz = "UTC")) %> ;% arrange(created_at) # Simplifying content conf_tweets < ;- conf_tweets %> ;% select(user_id, status_id, created_at, screen_name, text, source, reply_to_status_id, is_quote, is_retweet, favorite_count, retweet_count, hashtags, media_url, mentions_user_id, location) |
Note : un léger cafouillage de la part des organisateurs de la conférence a entraîné une confusion sur le hashtag à utiliser. J'ai donc fait le choix de sélectionner tous les hashtags rattachés.
Nous voilà à présent avec nos tweets issus de la conférence… Ou presque ! Si comme moi vous avez l'habitude de ne pas spammer le hashtag de la conf dans tous vos tweets d'un même thread, vous vous retrouvez à présent avec uniquement tous vos premiers tweets de fils. On va donc à présent récupérer les fils associés à ceux-ci.
Attention
Ce genre de manipulation peut très rapidement entraîner un grand nombre de données, surtout si vous attendez la fin de la conférence pour tout récupérer. Attendez-vous donc à avoir besoin de pas mal de RAM et à attendre un moment. Il se peut également que l'API de Twitter vous jette face au trop grand nombre de requêtes.
Le package ne proposant pas de base de fonction pour récupérer les fils, j'ai donc développé la mienne. Cependant le fait que rtweet ne passe pas par un compte Twitter développeur pose ici à l'inverse un problème. Similairement à l'encadré rouge ci-dessus, si le thread est particulièrement long, il se peut que l'API vous jette de façon totalement aléatoire.
Le code ci-dessous est donc à prendre avec précaution au vu de la magnifique boucle while dedans. À vos risques et périls ! Si vous avez des idées de modification pour contourner le problème, n'hésitez pas à en parler en commentaire ;).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
get_thread_rec < ;- function(tweet, timeline){ # Warning, crappy hotfix here # If there is too many query, it *sometimes* randomely return an empty data frame. But if relaunched, it get it. So while empty, we try to get it. if (!is.data.frame(tweet)) { tweet < ;- lookup_tweets(tweet$status_id) while (nrow(tweet) == 0) { tweet < ;- lookup_tweets(tweet$status_id) } tweet < ;- tweet %> ;% select(user_id, status_id, created_at, screen_name, text, source, reply_to_status_id, is_quote, is_retweet, favorite_count, retweet_count, hashtags, media_url, mentions_user_id, location) } match < ;- grep(tweet$status_id, timeline$reply_to_status_id) if (length(match) > ; 1) { return(list(lapply(match, function(x) get_thread_rec(timeline[x,], timeline)), tweet)) } else if (length(match) == 1) { res < ;- get_thread_rec(timeline[match,], timeline) if (is.data.frame(res)) { return(rbind(res, tweet)) } else { return(list(res, tweet)) } } else { return(tweet) } } |
Le package en lui même propose bien plus de fonctionnalités avec par exemple du post de tweet, de la réponse, du retweet automatisé. Cependant ces points n'étant pas utiles dans notre contexte ici, je vous laisse le plaisir d'aller jouer avec de votre côté.
Un petit compte rendu global de la conférence avec quelques visualisations
Note : n'ayant pas assez de RAM sur mon ordinateur personnel (et on va éviter d'utiliser les serveurs du labo pour ça hein !), les graphiques suivants ne contiennent que les tweets de premier niveau et pas les fils. C'est déjà bien assez pour s'amuser vous allez voir.
Pour vous donner une petite idée de la conférence, commençons par du simple. Voici quelques chiffres :
- 5 jours de conférence
- 3180 tweets (sans compter les fils)
- 511 auteurs différents
Et parce que c'est toujours amusant de pouvoir détecter les présentations qui font réagir et les temps de pause dans une conférence, voici leur répartition chronologique.
Mais l'intérêt premier de s'embêter à récupérer des tweets, c'est bien de pouvoir analyser leur contenu. Une analyse syntaxique complète étant peut-être un peu exagérée pour un simple compte rendu de conférence, on va simplement faire les mêmes étapes de nettoyage que dans l’enquête bioinfo-fr 2018 et regarder ce qu'on obtient en comptant les occurrences de
chaque mot.
On peut ainsi voir qu'en dehors des intitulés de conférence, certains thèmes sont particulièrement présents dans les tweets (ce qui ne doit pas être confondu avec la présence réelle dans le contenu des présentations). Nos amis du COSI BOSC (Bioinformatics Open Source Conference) ont ainsi pas mal tweeté bien que leur session n'était pas celle aillant eu le droit au plus de temps ! Mais on pouvait compter sur leur tendance au partage pour rependre la bonne parole sur Twitter 😀
On peut également s'intéresser à la cooccurence de certains thèmes afin de voir si on a des sujets/techniques qui tendent à être plus souvent utilisés ensemble. Pour cela on va utiliser les hashtags contenus dans les tweets, créer un noeud pour chacun, et les relier dès qu'ils apparaissent ensemble dans un tweet (avec une arrête plus ou moins épaisse selon le nombre de fois où cela arrive).
Évidemment, le hashtag de la conférence cooccure avec pas mal de termes. Mais on peut distinguer également d'autres centralisations autour de thèmes comme le machine learning et l'analyse d'ARN.
Et la conférence vue de mon live tweet ?
Eh bien on va dire que je n'ai pas chômé ! Mais pour vous montrer cela, commençons par aplatir tout ces tweets imbriqués en un seul data frame.
1 2 3 4 5 6 7 8 |
# Make a data.frame of all tweets independently of the threads info flatten_thread < ;- function(thread){ if (!is.data.frame(thread)) { return(lapply(thread, flatten_thread) %> ;% bind_rows) } else { return(thread) } } |
Et voici ce que quelques comptages donnent :
- 645 tweets regroupés pour la majorité dans des threads
- 625 photos des présentations (ou presque, quelques photos du Rhin se sont cachées parmi elles)
- 45 threads
Concernant la répartition des threads en fonction des thématiques, il est assez facile avec le graphique ci-dessous de constater que mon sujet de recherche actuel concerne les réseaux biologiques ;).
Les présentations tournaient principalement autour de les méthodes définition de communautés d'omics. On a ainsi beaucoup vu de classiques comme la co-expression, l'interaction protéine-protéine, etc. Mais le machine learning et plus particulièrement le deep learning étant à la mode, beaucoup s'y sont essayé. Si certains résultats semblaient prometteurs, il apparaissait surtout qu'ils ne résolvaient pas le problème récurrent des réseaux d'expression, à savoir l'inférence de réseaux de régulation ! Bien essayé ;).
L'informatique en médecine translationnelle (#TransMed) ayant reçu plusieurs présentations sur l'étude du vieillissement (ou maladies liées) et sur la médecine personnalisée, je suis également allée y faire un tour ! Et j'y ai retrouvé le nerf de la guerre habituel : la détection de biomarqueurs.
Enfin, puisque que la recherche ne vaut rien si elle n'est pas partagée, j'ai assisté plusieurs fois à des présentations liées à l'éducation au sens large. Si la vulgarisation auprès d'un jeune (voir très jeune) public a été abordé, j'ai surtout retenu que plusieurs initiatives se sont développées pour standardiser l'éducation en bio-informatique au niveau universitaire. Il est certain qu'aujourd'hui la bio-informatique est tellement vaste, touche tellement de sujets, qu'il est difficile d'en donner une définition précise. Mais certains s'y sont attelé, afin de faciliter les passerelles entre différentes formation en bioinfo ! Allez donc regarder du côté de chez GOBLET !
Enfin, ayant pour objectif final de pouvoir repasser rapidement à travers mes tweets si je me souviens vaguement de quelque chose qui a été mentionné, je me suis fait un petit tableau dynamique à l'aide d'une commande Shiny (sur lequel vous retrouverez un article complet sur le blog !) où les regex sont permises !
Ça vous intéresse de jouer avec ou bien d'avoir les 45 threads directement consultables ? Vous pouvez aller vous amuser avec à cette adresse où se trouve également le rapport que je me suis généré avec mon script en Rmarkdown : https://gwenaellel.shinyapps.io/twitter_scrapping/.
Conclusion
L'ISMB/ECCB est une conférence aux sujets très variés (trop variés râleront les mêmes râleurs qu'à JOBIM ;)) et c'est donc l'occasion d'aller jeter un œil sur ce qui se fait chez le voisin pour voir si on ne pourrait pas l'appliquer à notre domaine.
Le live tweet est quant à lui un outil très pratique quand on doit retrouver une information qui n'est qu'un souvenir brumeux dans notre tête. C'est aussi une façon pour vous de ramener des infos à vos collègues sans avoir à passer des heures à discuter avec eux si vous leur tendez directement le compte rendu avec un tableau requêtable.
J'espère que ce compte rendu de conférence agrémenté d'un mini tuto vous aura comblé et j'espère voir fleurir la pratique du live tweet dans vos prochaines conférences. On se croisera peut-être à JOBIM 2020, cherchez la tweeteuse effrénée ;).
Merci aux relecteurs mathurin, Guillaume, Yoann et azerin pour leur temps sur cet article
Lien vers le répertoire Github du projet : https://github.com/Kumquatum/ISMB_ECCB_2019. Sera amené à bouger dès que j'aurai le temps de le nettoyer.
Pour aller encore plus loin : playlist youtube de l'ISMB/ECCB avec toutes les prises vidéo des présentations autorisées
Laisser un commentaire