Next week, I will be at the CIRM (Centre International de Rencontres Mathématiques), in France, for a workshop. And good news, I will be live tweeting for the twitter account @IAmSciComm.
Tag Archives: Twitter
L’esprit critique, c’est tellement old-school
“I’m sorry. I did not start it, but I may have contributed to it” disait S.M. Ong au début du mois en évoquant les “fake-news”.
Ces dernières heures, j’ai pas mal échangé sur twitter – ce qui n’est pourtant pas dans mes habitudes – suite à un tweet que j’avais posté, en début de semaine,
“Un touriste suisse a eu la mauvaise idée de brancher son appareil à raclette sur la prise électrique d’un TGV” https://t.co/um6pBo91nk
— Arthur Charpentier (@freakonometrics) 26 décembre 2016
J’avais trouvé l’article amusant, vraiment bien écrit, donc je l’ai mentionné sur Twitter. Tout comme je peux mentionner une carte intéressante sur le site du New York Times ou une statistique intéressante sur le site du Guardian. Après à peine une heure, j’ai été surpris du nombre de personnes qui semblaient avoir pris ça au premier degré. Et ça ne s’est pas démenti avec le temps, même si j’ai posté rapidement un tweet rappelant que scienceinfo.fr était un site parodique…
désolé, après avoir lu certaines réactions à mon tweet, je crois j’aurais du préciser que https://t.co/Hvl9t9WcNk était un site parodique… pic.twitter.com/TzM60SbSFz
— Arthur Charpentier (@freakonometrics) 26 décembre 2016
J’ai reçu un tweet cet après-midi où on tentait de m’apprendre que c’était un “hoax”
@freakonometrics c’est un hoax. Cf https://t.co/j0N9DFUozd …
— Tristan Nitot (@nitot) 28 décembre 2016
ce qui m’a interpelé car pour moi, un “hoax” et un article sur un site parodique, ce sont des choses différentes. Puis on m’a dit que je n’avais pas à twitter des choses pareils, des “fakes”, ayant un compte twitter certifié (tout comme Jean-Marc Morandini, ou…. Le Gorafi)
@freakonometrics Vous avez un compte certifié et vous tombez dans ces fakes … L’histoire de l’appareil a raclette 😂
— Coco (@coco39100) 28 décembre 2016
J’avoue que tous ces échanges m’ont interpelé. Surtout dans le contexte des débats sur les “fake news” qui fleurissent ces jours-ci. Mais comme s’interrogeait S.M. Ong, “what’s fake news and what’s satirical fake news these days“, la distinction est-elle simple à faire ?
Hoax et “fake news”
Les “hoax”, parfois traduit “infaux“, est un mot anglais qui désigne un canular créé notamment à des fins malveillantes, comme le rappelle wikipedia. Ces “hoax”, ou “fake news” nous ont fait entrer dans une ère de post-vérité, “post-truth”, désigné mot de l’année 2016 par l’Oxford Dictionary, comme le notait Alison Flood.
Benoît avait une réflexion intéressante à ce sujet
@freakonometrics Et le mobile accentue cette “réduction” du champ visible (url quasi invisible, environnement très standardisé, rebond fort)
— Benoit F. (@benoitfuric) 28 décembre 2016
Quand on lit un article sur son téléphone cellulaire, on en voit pas le site, le contexte général, on ne voit plus que l’article. On ne voit pas que le site a tendance à publier des articles satiriques. On ne voit même pas le site sur lequel on est arrivé….
Les sites parodiques (ou satiriques)
Ce qui m’a surpris, suite à mon tweet, c’est que si je mentionne un article publié dans Le Gorafi, personne ne crie au scandale, personne ne me rappelle que “c’est un hoax, attention”. Ici, nous ne sommes pas dans le “hoax”, nous sommes dans l’humour, comme beaucoup de journaux le pratiquent, ainsi que le rappelle Isabel Ermida dans “Language and Humour in the Media” (qui revient d’ailleurs sur l’origine du mot “hoax”). L’exemple historique le plus connu est The Onion, en ligne depuis 20 ans (mais qui existait avant sous format papier, depuis 1988). Elle Hunt mentionne d’ailleurs que The Onion n’est pas un site de “fake news”. En France, la référence depuis 2012 est Le Gorafi. Comme le rappelle le site “Tous les articles relatés ici sont faux (jusqu’à preuve du contraire) et rédigés dans un but humoristique”. Quand on lit “Toulouse: il se fait abattre de 46 balles dans le corps pour avoir demandé un ‘pain au chocolat’” on se doute que ce n’est pas sérieux (ou sinon, ça mérite réflexion…) ou encore “il parvient enfin à utiliser le théorème de Pythagore dans sa vie professionnelle“. Peut-on parler de “hoax” ?
En 1998, Lyle Zapato avait fait un test auprès de collégiens qui avaient cru, à l’unanimité (certes, il n’y avait que 25 enfants), un article sur internet qui mentionnait une espèce animale malheurement menacée, les “octopus paxarbolis”, c’est à dire des pieuvres qui vivent dans les arbres, raconté dans “Help Save The Endangered Pacific Northwest Tree Octopus From Extinction!“.
Il est étonnant qu’il soit aussi simple de croire vraie une histoire manifestement fausse. Mais comme le disait Jean-Noël, oui, ça fait sérieux, il y a même une photo de train, et de raclette !
@freakonometrics mais pourtant la photo prouvait que c’était vrai, on voyait un train et un appareil à raclette ! ;-D cc @nitot
— Jean-noël Lafargue (@Jean_no) 28 décembre 2016
Les sites “sérieux”… et l’esprit critique
C’est marrant parce que l’an passé, mon fils avait justement une introduction critique aux médias, au collège. On lui expliquait qu’il y avait des sites “sérieux”. Mais force est de constater que publier dans un journal renommé ne veut rien dire… Par exemple, le même jour que mon tweet sur la raclette, lefigaro.fr publiait “le français se hisserait au 3e rang des langues les plus parlées au monde”
ouch, https://t.co/OZLAtJAKFk je crois qu’il y a une mauvais interprétation du rang (pas “langues les plus parlées” mais en “puissance”)
— Arthur Charpentier (@freakonometrics) 26 décembre 2016
L’article en question parlait d’une “étude” (non citée) mais qui renvoyait vers un article paru dans quebec.huffingtonpost.ca, ce dernier étant un peu plus prudent en annonçant “le français serait la troisième langue du monde selon une nouvelle étude“. Tout en restant assez flou. Mais le titre de l’article de lefigaro.fr est complètement faux ! Le Français reste (relativement) peu parlé, mais reste une langue “puissante”, selon un terme qui n’est pas expliqué (il faut chercher un peu pour trouver plus de détails, sur kailchan.ca). Au même moment, liberation.fr publiait “on s’est aperçu que Google Maps mentait“, repris sur lci.fr. Comme le notait Philippe Reka, dire “on a demandé à des chercheurs chinois, japonais, indiens de faire des tests, et on a pu voir que si vous êtes à Pékin, vous avez une certaine frontière dans l’Himalaya et qu’à Delhi, vous en avez une autre“, c’est un peu fort de café… Il suffit en effet d’aller (depuis son canapé) sur http://google.cn/maps/ ou http://www.google.co.in/maps/. Pour reprendre l’animation de Philippe Rivière, on voit assez simplement que les tracés des frontières diffèrent (comme tout ceux qui jouent avec google maps le savent depuis longtemps)
Mais je m’arrête là, acrimed.org revient très régulièrement sur les “vraies news”, qui n’en sont souvent pas…
Comme le rappellait Benjamin Herold le meilleur antidote à la gratuité de l’information en ligne (mais je rajouterais à la course au buzz que l’on retrouve partout, y compris dans les sites – et les journaux – “sérieux”) est une culture de la pensée critique. C’est également ce que rappelle “Evaluating Information: The Cornerstone of Civic Online Reasoning” paru voilà déjà 5 ans.
Je vais continuer à publier sur mon compte twitter des liens vers des informations sérieuses, mais aussi des articles qui m’ont amusés. Tout comme sur mon blog, lorsque je publie “coffee and productivity” montrant que le café augmente la productivité,
ou “cigarette and life expectancy” montrant qu’avec le même raisonnement, fumer fait vivre plus longtemps…
J’ai envie de croire que les personnes qui suivent mon fil twitter ou qui viennent sur mon blog savent faire preuve d’esprit critique. Et apprécient que l’on soit sérieux, mais aussi satirique, à l’occasion, voie que l’on fasse preuve d’humour… Cela dit, la frontière entre “humour” et “sérieux” est complexe à définir… spurious-correlations c’est sérieux ?
“Divorce rate in Maine correlates with Per capita consumption of margarine (U.S.)” (via http://t.co/tyj58ay5L5) pic.twitter.com/UhFt1zVJeG
— Arthur Charpentier (@freakonometrics) 10 mai 2014
Monthly Review
A (nonexhaustive) list of writings worth reading, discovered in September.
- How we classify animals http://inference-review.com/article/on-being-a-fish
- “How Does The Electoral College Work?” http://www.newstatesman.com/world/2016/09/clinton-vs-trump-how-does-electoral-college-work
- allez, un peu de lecture sur les publications académiques http://www.couperin.org/261-couperin/nos-activites/groupes-de-travail-et-projets-deap/a-la-une/1277-loi-pour-une-republique-numerique-definitivement-votee
- “Je viens d’appendre que je suis autiste…” http://urbania.ca/233842/viens-dapprendre-suis-autiste/
- Série de billets “Brexit” ce mois-ci http://variances.eu/?p=251 http://variances.eu/?p=295 http://variances.eu/?p=1192 sur http://variances.eu (à suivre)
- “Overfulfilling the Norm: The Better-Than-Average Effect in Judgments of Attitudes” http://econtent.hogrefe.com/doi/abs/10.1027/1864-9335/a000280
- “Winning the lottery makes you more likely to vote for incumbent politicians” http://www.journals.uchicago.edu/doi/abs/10.1086/688178 via @ cblatts
- “Understanding the maths is crucial for protecting privacy” https://pursuit.unimelb.edu.au/articles/understanding-the-maths-is-crucial-for-protecting-privacy
- “Understanding and Misunderstanding Randomized Controlled Trials” http://www.nber.org/papers/w22595
- “Vers un racisme (vraiment) français ?” https://seenthis.net/messages/528096 via http://www.lemonde.fr/idees/article/2016/09/26/vers-un-racisme-vraiment-francais_5003205_3232.html (paywall)
- “A woman entering the job market can expect to do an average of 4 years more work than male peers over her lifetime” https://www.theguardian.com/society/2016/sep/22/women-do-four-years-more-work-than-men-in-lifetime-report-shows
- Just Fixing Problems http://xkcd.com/1739/
Popularité, ou reconnaissance ?
Assez souvent, quand on est enseignant/chercheur, on remplit des demandes de financements, ou de promotions, on nous demande de parler de l’impact de nos travaux et de notre reconnaissance. La première fois que j’ai fait face à cette question, c’était il y a 5 ans, à Montréal, pour une demande de financement auprès du NSERC, au niveau fédéral. Sur le moment, la question m’a déstabilisé. Non pas qu’elle n’ait pas de sens, mais qu’on me la pose à moi. Qui suis-je pour savoir si ce que je fais a le moindre impact ?
Classiquement, l’impact, on le mesure avec les citations par exemple. On peut alors utiliser l’indice synthétique de Hirsch. Ces citations, elles commencent à figurer sur nos CV, ou tout du moins sur les CV en ligne que sont google scholar, orcid, research gate, academia, etc. Un autre endroit où on retrouve la reconnaissance, et c’est probablement lié aux citations, ce sont les invitations en séminaire ou en conférence, les demandes pour faire partie de jurys, etc. Je devrais préciser que vu de l’extérieur, ce qu’on voit, ce sont les invitations “acceptées”. Les invitations en conférence sont probablement une information importante, mais là par exemple – pour des raisons personnelles – je me retrouve à décliner des invitations. Mon activité va baisser, mais comment l’interpréter ? Dans la liste, on devrait peut être rajouter les invitations pour arbitrer des publications d’articles dans des journaux et revues. On est alors très clairement identifié comme un pair sur un thème précis.
Mais pour comprendre en quoi nous avons un quelconque impact, il est toujours agréable quand on nous informe sur la raison qui a motivé une invitation. Malgré tout, c’est assez rare. Je pourrais toutefois noter quelques cas, où on nous invite pour présenter un papier particulier dans une conférence, ou quand l’éditeur explique brièvement la raison de la sollicitation, lors d’une demande d’arbitrage. Un exemple récent que je pourrais mentionner (histoire d’illustrer un peu mon billet) est l’invitation que j’avais reçu, en début d’année, pour aller parler à la Bank of England,
Plus précisément, comme le dit l’invitation (je reprends)
The Chief Economists Workshop is an annual forum that we host to facilitate high-level discussion between the Chief Economists from around thirty-five of the major central banks in the world, and academic and professional experts. The format is a mixture of presentations, discussion and debate. As such it offers a great opportunity for you to interact with and influence leading policymakers. There is no media presence. I attach a copy of the programmes from the previous two years to give you an idea of the format.
Many of us in the Bank of England are avid followers of your Twitter feed, and your ability to offer multi-disciplinary insights to current policy problems. I would like to invite you to give a talk along these lines – for example on actuarial and statistical insights into Big Data. It is not necessary to have a formal paper. The idea is more to discuss the issues and generate debate. We would be looking for a presentation of about 45 minutes followed by 45 minutes of Q and A and can schedule your talk to fit in with your commitments.
J’ai eu le plaisir d’être invité avec Andrew Gelman (NYU) et Andrew Lo (MIT). J’ai l’impression qu’un universitaire devrait être humilié de recevoir une telle lettre d’invitation (même si mon compte twitter est l’occasion de partager des informations en lien avec les thèmes de recherche qui m’intéressent – la statistique, l’économie, l’assurance, les risques, le climat, etc). Mais si on y pense deux minutes, la raison invoquée a l’avantage d’être honnête, et finalement flatteuse (on m’invite pour mon côté polymathe, ce qui me fait infiniment plaisir). Je doute que beaucoup de monde lise mes papiers (vu le prix qu’il faut payer pour y accéder, ça se comprendrait presque), et j’ai l’impression que quand on me demande de venir parler dans une conférence, c’est pour partager des connaissances, donner mon point de vue sur tel ou tel point, sur lequel j’ai pu réfléchir au cours de mes travaux de recherche.
Plus récemment, l’autre jour, j’étais particulièrement fier d’être dans les 10 scientifiques (médecins et scientifiques au sens large) les plus populaires sur Twitter, selon Science & Avenir,
D’autant plus que je n’avais rien demandé. Il y a plusieurs mois, j’avais dit – peut être un peu maladroitement – que je ne participerais plus à ces concours, à ces classements (en l’occurrence on nous invitait à participer à un répertoire des meilleurs blogs de sciences). Mais c’est toujours valorisant d’apprendre qu’on est “populaire”. Comme tous les chercheurs, on marche à la carotte, et avoir une médaille est une forme de reconnaissance qui fait forcément plaisir.
Ce n’est certes pas une reconnaissance par mes pairs, mais c’est malgré tout une forme de reconnaissance. Qui permet d’être interrogé (et cité) dans une enquête qui revient sur le financement de la couverture des catastrophes naturelles en France, une chronique sur les cat bonds, ou sur les investissements en un super-calculateur sur le climat. Cette reconnaissance en dehors du cercle classique (et très restreint) d’experts de sa propre discipline a du bon. Pour élargir son champ de vision tout d’abord et avoir un point de vue très différent. Mais aussi parfois rencontrer des gens en dehors du monde académique. Qui ne s’embarrassent pas à payer des éditeurs scientifiques pour avoir accès aux articles, mais qui sont d’avides lecteurs des blogs, qui ont souvent des données, ou des problèmes intéressants à nous soumettre. En revenant sur le financement du régime cat’nat en France pour les besoins de l’entrevue, on a commencé avec des collègues à retravailler sur la prévention. Personnellement, ce sont toujours ces discussions qui me permettent de trouver des thèmes de recherche (en plus de la lecture d’articles académiques finissant par un “tiens, il devrait être possible de regarder…” ou un “personnellement, j’aurais plus fait…”). Et j’adore ça ! peut être parce que c’est toujours l’occasion d’apprendre de nouvelles choses.
Who interacts on Twitter during a conference (#JDSLille)
Disclamer: This is a joint post with Avner Bar-Hen, a.k.a. @a_bh, Benjamin Guedj, a.k.a. @bguedj and Nathalie Villa, a.k.a. @Natty_V2
Organised annually since 1970 by the French Society of Statistics (SFdS), the Journées de Statistique (JdS) are the most important scientific event of the French statistical community. More than 400 researchers, teachers and practitioners meet at each edition. In 2015, JDS took place in Lille, in France.
SFdS regularly tweets (with the account @Statfr) and for the first year a live-tweet was organized durind JdS. The Hashtag was #JDSLille. The aim of this post is a (brief) statistical analysis of the live-tweet.
Continue reading Who interacts on Twitter during a conference (#JDSLille)
Tents, Tweets, and Events: Ongoing Protests and Social Media
Our paper, entitled Tents, Tweets, and Events: The Interplay Between Ongoing Protests and Social Media, written with Marco Toledo Bastos (aka @toledobastos) and Dan Mercea (aka @DanMercea) just appeared in the Journal of Communication
Recent protest movements have fuelled deliberations about the extent to which social media ignite protests. In this paper we compare time-series data of Twitter, Facebook, and onsite protest activity to test the hypothesis of Granger-causality between social media streams and protestors attending demonstrations during the Indignados in Spain, the Occupy movement in the U.S., and the Vinegar protests in Brazil. After applying a Gaussianization procedure to the time series, we confirmed the hypothesis that contentious communication on Twitter and Facebook was Granger-causal of onsite protest activity during the Indignados and the Occupy protests, with bidirectional causality between online and onsite protest activity in the Occupy series. The Vinegar protests in Brazil presented Granger-causality only between Facebook and Twitter and between protestors and injured or arrested protestors. The results indicate that the causal relationship between online and onsite political varies considerably across different socioeconomic contexts with different levels of Internet penetration.
Quand les chercheurs cherchent leur voie (voix) sur Twitter
Il y a plusieurs semaines (mois?), avec @3wen et @pareto35, on nous avait demandé d’écrire un petit article sur Twitter, et sur l’usage de Twitter dans le monde de la recherche, pour la Newsletter du CREM (Centre de Recherche en Économie et Management, de l’Université de Rennes 1, et de l’Université de Caen). On avait envoyé l’article, et je n’y avais plus pensé. Or cet après-midi, @alisag1728 publiait “25 Interesting Observations About How Academics Use Twitter” qui éclairait le débat, et qui m’a refait pensé à cet article. Comme les discussions semblent à nouveau d’actualité, j’en profite donc pour mettre en ligne la note qu’on avait écrite… Tous les commentaires sont les bienvenus (en gardant en mémoire que l’article était écrit à destination de chercheurs qui entendent peut être parler de Twitter, à l’occasion, mais qui ne voient pas – a priori – pourquoi y être présent).
Continue reading Quand les chercheurs cherchent leur voie (voix) sur Twitter
Automatic Detection of the Language of a Tweet
Two days ago, in my post to extract automatically my own tweets, and to generate some html list, I mentioned that it would be great if there were a function that could be used to distinguish tweets in English, and tweets in French (usually, I tweet in one of those two languages). And one more time, @3wen came to rescue me! In my previous post, I spent some time to extract mentions to other twitter accounts, and urls. This time, I have to remove those two informations, that are not relevant to get the language of a tweet.
Continue reading Automatic Detection of the Language of a Tweet
An automatic code to extract tweets (and to produce the “Somewhere else” review)
A few weeks ago, I ask in a post the (simple) question “dear reader, who are you?” just to know more about the readers of my blog. I found that extremely interesting (even if – to be honest – I was expecting more answers to start a more serious sociological study of the readers of my blog). And an interesting point was that a lot of readers of my blog come to read the “somewhere else” posts, which is a review of interesting posts and articles found on the internet. Those links I share actually come from my tweets. I have on my blog a backup of my tweets, and usually, that’s where I go if I want to find some article, or some graph, or some map I have in mind, that I’ve seen somewhere (but usually I can’t remember where). But most of the time, I feel bored, because there is nothing new: it is simply a copy and paste from my tweets.
And this afternoon @tomroud asked how those posts were written: was there an automatic procedure, or was I doing it manually? Until tonight, I was doing it manually. But because it was some kind of stupid challenge, I did try to produce a code that will generate a simple list of my tweets that I can use to produce a post.
Continue reading An automatic code to extract tweets (and to produce the “Somewhere else” review)
Academic Tweets
Almost four years ago, I did tweet, for the very first time of my life:
La suite des billets sur le contrôle optimal est en ligne, http://tinyurl.com/yewmf49 (la prochaine fois, le temps continu….)
— Arthur Charpentier (@freakonometrics) 28 Janvier 2010
The goal was to mention a post on my blog (on optimal control). 15,000 tweets later, I wanted to get back on my experience on Twitter, trying to explain why I tweet, and why academics have some kind of legitimacy to be on Twitter (from my understanding of the goal of such a platform) and they should use it by having a Twitter account.
- How Twitter works?
I guess I should explain what Twitter is, in case some readers do not know it. “Trying to explain Twitter to the non-user has become something like the tech world’s Arthurian challenge, a seemingly impossible task that no-one is able to fully complete” as explained in Theorizing Twitter: Narratives and Identity. But let me try. Rules on Twitter are simple,
- you need to create an account, on http://twitter.com/. You have 160 characters for a short bio, and you can use an avatar
- then you can starting tweeting, i.e. posting online messages with 140 characters
- you can also be passive, and simply follow some discussions… you can type something in the search window, and then you will see all the tweets containing that word (or that sentence), like why do people tweet. It is also possible to follow some hastags (following the # symbol) such as #overlyhonestmethods, or some people (following the @ symbol) such as @freakonometrics (that’s me).
- if you like my tweets (posted under the name @freakonometrics), you can follow me, and I will appear in your so-called TL (or timeline). You will become my follower (of course, if I find your tweets interesting, I might follow you back).
- you can also include a picture (one, only). Since a link will be mentioned in your tweet (automatically generated by Twitter), you will have less than 140 characters to tweet.
- you can add html links, that will be shortern by Twitter.
- if you include a link on a video (say on http://vimeo.com/) or a song (say on https://soundcloud.com/), then, the object will appear directly in the tweet: followers will see the movie, not only the tweet with a link, see e.g.
— Arthur Charpentier (@freakonometrics) 20 Avril 2013
Then, there are (almost official) codes
- you can retweet a tweet, which means forwarding another user’s tweet to all of your followers. RTs are not endorsement (neither are tweets actually)… You can use the retweet button, or use the old fashion RT (for re-tweet) or MT (for modified tweet) if you had to shorten a tweet. This is important to mention how you get some information in case you want to share it with you followers (it is called a mention, and it is like using a reference in a research paper). Another way of acknowledging the account who originally shared the content being tweeted is to HT the account (hat tip)
- you can reply to a tweet using the reply button. If you reply to one of my tweets, your tweet will start with @freakonometrics and only your followers also following me will see it in their tweet list. If you want to share the answer with everyone, the tweet should start with a dot, .@freakonometrics. It is also possible to send direct (private) messages… It is also possible to poke another account if you want to make sure that someone reads your tweet.
- it is possible to favorite a tweet, by clicking the yellow star next to the message. If a lot of the people I follow favorite a tweet, it will be more likely to appear in the discover window, even if I do not follow that account. It might also be interesting to favorite tweets since they can appear in some widgets you have on your blog. Keep in mind that some tweets are promoted, meaning that some company pay to have more exposure… promote and favorite are quite different…
- there are some strange customs, such as the #FF for follow Friday. On Friday, you can share usernames of your favorite twitterers, the accounts you find interesting. I am not a social person, so I do not use that, and I do not know how to react when someone #FF me (usually I simply favorite, which is a simple way to say thank you without tweeting a stupid “thanks“)
- because of the 140 character constraint, a lot of strange words can be used on Twitter, such as “OH” which most often means “overheard“… just go on google to find more…
and there are more unofficial codes (here, it will be rather subjective, so comments are opened if you want to criticize)
- when someone RT, MT or HT one of your tweets, it is common to favorite the tweet. Maybe common is not appropriate here : it is something people with a lot of followers did to me a few years ago, which helped me, somehow, to get more popular, and I also try to do it.
- do not steal tweets: you should always mention the account that originally shared the content. From an ethical point of view, that’s an obvious statement. But from a technical point of view, with the 140 character rule, it can be complex. I mean, if you want to add “HT @freakonometrics” you have only 120 characters left, so either you shorten the tweet, or you keep the tweet as it was and you tweet right after something like “previous tweet, HT @freakonometrics“
- it is possible to delete a Tweet. I do not know if there are rules here, because I’ve seen a lot of tweets with invalid urls, or big typos… I do delete some tweets. My rules are : (1) if I see a typo (or a problem with the url), I have the right to correct it, so I can write a new tweet, an delete the previous one; (2) if a tweet arouses controversy (and if it was not the goal, say that with 140 characters, I got misunderstood), then I delete the tweet: I am not on Twitter to argue, only to share some contents (we’ll get back on that point later on).
See http://ryan.cordells.us/s13dh/, or An Introduction to Social Media for Scientists, for some advice on how to start tweeting. So now that we’ve seen how Twitter works, how can we use it? As academics.
- Are Academics on Twitter ?
Only « one in forty scholars are active on Twitter » as estimated in Priem et al. in 2011. And let’s face it honestly : academics are mainly skeptical about Twitter. For most of them, it’s for their kids, or perhaps for graduate students (if they have some ideas about what Twitter is). But not researchers. I follow (and am followed) by a lot of graduate students, PhD’s or postdocs, and a few more senior researchers. Most of those senior, prominent scientists, share extremely interesting information! I do not discuss the quality here, simply the fact that, indeed, not everyone is willing to go on Twitter. And be active.
But if not everyone is on Twitter, important people are. At least, in Economics. In January, I wanted to go to the conference of the American Economic Association, in Philadelphia, but I could not do it. That’s where the job market for PhD students in Economics took place. But it was extremely active on Twitter (you got updates following frequently the #ASSA2014 hashtag). From my perspective (maybe also the people I follow), it looked like everyone there was on Twitter during that (major) event.
- Twitter as a Bookmark
I do spend a lot of time online, reading articles, for work, for fun, and sometimes, I’d like to keep tracks of those articles, or posts on blogs, or articles on http://arxiv.org/, etc. The first motivation to use Twitter is because I need bookmarks. With Twitter, those bookmarks are public. It does not mean that I endorse what I read, it should be understood as « I found that interesting, and I want to bookmark it, to find it, someday ». A few years ago, it was difficult to get back old tweets, like those I posted in 2010 or 2011, so I decided to start my Somewhere Else chronicle on this blog: I simply post all the tweets I wrote, to mention readings worth reading, outside my blog, somewhere else. Like that one:
“Lexical Distance Among the Languages of Europe” https://t.co/L4lB2iRIdK via @VisionsCarto pic.twitter.com/Qk8BCqgOYA
— Arthur Charpentier (@freakonometrics) 5 Janvier 2014
It is clearly not perfect. I got a lot of tweets with questions following that tweet (but I did not answer them, I shared the graph, I did not create it). The point was « that seems to be interesting, and I’d be glad to find it if someday I want to spend more time on linguistic issues ».
As most academics, I do read a lot. And one of our duties is to share information… This was mentioned in Priem and Costello (2010), « the professional impact of Twitter may be particularly pronounced for scholars given that sharing information is a central component of their work » (see also Letierce et al (2010)). They estimated that 30% tweets sent by academics contains a hyperlink to a peer-reviewed resource (usually a pdf file of a research paper). And it is not necessarily a paper published online 24 hours ago : it can also be a paper rediscovered accidentally, or a technical report written a few decades ago that has just been scanned. @coulmont went back on a « strange experience » (as he defined it) a few months ago, when I (re)discovered a post published on his blog almost one year before, tweeted it, and then a buzz started on that old post. At least, that’s what he told me, we’ll never know for sure if this was because of me, or not (I doubt it actually, there were a lot of good reasons to rediscover that post).
Traditionally, academic visibility is measured using citations, meaning that some work has been accepted by (so called) peers, in the scientific community. Academics need to write to have an impact. But a lot of time is spent on reading. This reading activity is missed by standard citation counts (unless you publish a review, for instance). On Twitter, you can comment, even (briefly) discuss a publication, some tricks on computer codes, share graphical visualization, etc. It is not like posting an anonymous comment on some scientific blog (actually, several blogs do not have open comments any more). On Twitter, there is some kind of credibility, and not only from the academic resume : people know you and follow you. According to Scott Wagers, « good content is propagated rapidly, bad content is not ». Of course, it is not that simple. There is a time for tweeting, clearly. If you tweet when someone with a lot of followers, then things might grow exponentially fast, and within a few hours, a tweet can be RTd a dozen, a hundred, a thousand times (we’ll get back on the viral effect of Twitter at the end of this post).
- Live-Tweet in Conferences
Another popular use among academics is to use Twitter for live-tweets, see e.g. How People are using Twitter during conference or the interesting “who is going to read 12,000 tweets?!“. But as mentioned on a lot of blogs, one should be careful about live-tweeting. As recalled in Live-tweeting at academic conferences, « with great power comes great responsibility ». Live tweeting is supposed to be fun, but stay polite, and respectful. And use quotation marks. Getting back on the so-called Twittergate (see An Idea is a Dangerous Thing to Quarantine #twittergate), Aaron Bady, used that interesting image, about Twitter within the academic community « I conjured up the image of an appropriate cantankerous old professor yelling at a bunch of punk tweeters to get off his lawn, like Clint Eastwood in Gran Twittarino ».
Now, to be honest, I have been involved in some live-tweet only once, while I was giving a talk, at the World Social Science Forum, a few months ago
.@freakonometrics @llepape @gunthert @marindacos I’ve mentioned you in my blog post on BMJ https://t.co/zjTwQBX2zZ
— Ravi Murugesan (@RaviMurugesan) 1 Novembre 2013
But I usually do not live-tweet, I do not feel comfortable with it (I prefer to take notes in my book, even if I might also write a post on my blog later on, but I always ask the speaker if I can quote what he or she said). « Some worried that having someone tweet their insights before they publish might increase the likelihood that they will be scooped by a colleague — although others regarded that notion as slightly paranoid » as mentioned in the Academic Twitterazzi. « The debate over live tweeting at conferences is, in many ways, about control and access: who controls conference space, presentation content, or access to knowledge? » wrote Roopika Risam in Conference Live Tweets: Twitter Good or #Twittergate?.
Beyond those pseudo-ethical considerations, there is also a more practical reason: in mathematics, it is quite difficult to live-tweet. I mean, it is difficult to write equations in Twitter, and a graph without the formal model is usually useless. There might some interest when there are computation issues, to share a visualization for instance (there were interesting experiences in R conferences this summer, e.g. in Lyon).
- Twitter to Meet People
It is also possible to start discussions on Twitter. But again, I am not a social guy, so I usually do not like that. I mean, if I share a link to an article, it is because I found it interesting. If someone wants me to go further, or to discuss it, why not…. but Twitter is not the place. I prefer my blog, where I do not have the 140 character constraint.
An important issue in Twitter is to speed up connections between scientists. There is nothing new here. Traditionally, scientists have always interacted with other scientists, in sort of one-to-one interactions, attending seminars, conferences, discussion with colleagues. Using the words of Priem et al (2013), « informal conversations have moved out of the faculty lounge to online social media platforms », such as Twitter. One of the interests is to join somehow a larger « virtual department » with colleagues that are not next door, but who might be far away and in other areas of research. One can even discuss with real people, outside academia. Since I have interests in risk modeling, finance, climate, computer science, mathematics, I can also discuss with people working on stock markets, in insurance companies, in data visualization startups, even journalists. The awesome point is that it becomes possible to interact with open minded researchers. As mentioned in Fox (2012) – slightly changing the title – « blogging [and micro blogging] changed how economics share ideas ».
The first step in the scientific process is to find ideas, new ideas or concepts to investigate, datasets to describe. Following interesting people on Twitter can be the first step. The final step is to communicate findings and to disseminate. The time when researchers were studying the table of contents of journals to find interesting articles is behind us. When disseminating on a blog, we can share codes, graphs, datasets, links to additional material. On Twitter, we have to deal with the 140 character constraint, which makes it hard. One idea can be to use a nice visualization, a graph, a map.
- Personal versus Institutional Accounts
On Twitter, I mainly follow researchers, only a few institutional accounts. For instance, I like the @HarvardBiz to get updates about their blog, and recent articles. It’s like using RSS feed (except that I am not a big fan of RSS). I might also confess that I have been asked, a long time ago, to be the Twitter Manager of the @StatFr account, of the French Statistical Society. But I quickly faced two problems: it is very difficult to be active on two accounts at the same time, especially when they share the same goal (here, it was just tweeting links to interesting articles, related to statistics – as well as activities of the association). And it is difficult to get a clear guideline. I mean, on my Twitter account, I tweet whatever I like. After a few days experiencing the @StatFr account, I had to argue with the President of the Society because of a link I mentioned in one of my tweet, that was too controversial (but, from my point of view, was mentioning interesting statistical issues). So I have to confess I prefer to follow people, more than institutions or groups.
On the other hand, in all you can tweet, academics behind the nature chemistry Twitter account (@NatureChemistry) went back on 4 years of experience. Among lessons learnt, collectively, it was mentioned that with the 140 characters constraint, « clarity is a virtue », which is indeed of the the things you learn with Twitter. Furthermore, they mention that following important researchers in your scientific community on Twitter is interesting. Not only you can discover interesting information. With personal ccounts, you can also learn more personal information. For instance, it’s always a pleasure to get news and updates from Emiliano,
Was in #Beijing for the very successful #copula workshop https://t.co/PFrweWd0gQ pic.twitter.com/W5GRf2Qvfl
— Emil Valdez (@valdez2011) 11 Janvier 2014
- The Impact of Twitter in Standard Process of Academic Dissemination
For academics still skeptical about the use of Twitter, I should probably mention Shuai et al. (2012) which proved (following 4,600 papers) that papers mentioned on Twitter are more downloaded, and more cited (see also Eysenbach1 (2011)). Dissemination using Twitter can help to reach other researchers, in your area, but also journalists, people working in the industry or for governmental organization, even members of parliament… It is hard to follow the sequence, but here how it looks like
publication of an academic paper
(in a journal, or on arxiv)
↓
tweet mentioning the paper
↓
mention in a popular blog
↓
mention in a newspaper
↓
citations
(etc.)
Things can go viral easily with Twitter (again, we’ll get back on this point more specifically soon). But still. It is difficult to clearly understand what happened (in the newspaper, the researchers are usually mentioned, as well as the blog sharing the information, but that’s all…)
- Having Fun on Twitter
A few weeks ago, I saw a nice graph, on a blog
took me some time to understand https://t.co/2snfcZnUGZ by @Sci_Phile on polar representation of prime numbers pic.twitter.com/IpRVQY3CPC
— Arthur Charpentier (@freakonometrics) 28 Décembre 2013
and I wanted to reproduce it. With a code as simply as possible. Sure, it’s a geek’s thing to try to write codes as short as possible. But that’s fun, really
> primegen=function(v) sapply(v,function(z){sum(z/1:z==z%/%1:z)})==2) > primelist=function(nmax) (1:nmax)[primegen(1:nmax)]
— Arthur Charpentier (@freakonometrics) 28 Décembre 2013
> plotprime=function(p) plot(p*cos(p), p*sin(p),pch=20) > plotprime(primelist(5e3)) cc @Sci_Phile pic.twitter.com/dHvG1J7v84
— Arthur Charpentier (@freakonometrics) 28 Décembre 2013
It was not worst writing a post on my blog, and with a couple of tweets, I keep tracks of that interesting mathematical problem.
People on Twitter try also – sometimes – to have fun, following some hastags, such as, #overlyhonestmethods a few weeks ago, e.g.
The methods were described in the 3rd person passive voice to create an illusion that everything went according to plan #overlyhonestmethods
— Michael Hale (@Hey_MickeyH) 9 Janvier 2013
(see also here for a collection of great tweets) or more recently #SixWordPeerReview,
Your data contradict my theory. Reject #sixwordpeerreview
— NatC (@SciTriGrrl) 21 Janvier 2014
- Gaining Time to Discover Interesting Information
So, clearly, you can save time to discover interesting publications, simply by following interesting people. But, as you may imagine, the difficult point is to follow your TL. If you follow, say 400 people, each of them did tweet, on average 5 times in a given day (including RTs), that makes 2000 tweet to read, if you go on Twitter once a day. Much more if you go on Twitter once a week. To save some time, somehow, it is possible to use dedicated websites such as http://tweetedtimes.com/. Based on your TL and people you follow, it is possible get a subset of popular tweets and links shared those people you follow. I believe that a similar algorithm is used in the https://twitter.com/i/discover page (probably more based on tweets favored than RTd).
- My Own Experience on Twitter
Now, to share a bit of my personal experience, I should probably mention that I do not have a cell phone, neither a tablet. So when I go on Twitter, it has to be on my laptop. It might be while cooking and preparing the lunch box for the kids, in the morning, just to get quickly the news from the night. It might also be in the office, when some code is running, and I have to wait. Most of the night it’s in the evening. Once the kids are asleep.
If I look at my tweets, you can see that I RT a lot of tweets (the old way), and a few Twitter accounts (even if I have the feeling that only tweets published more than two years ago appear here)
- Going viral on Twitter
To conclude, I should warn everyone that Twitter is addictive. And it can be exhilarating and dangerous when things start going viral… For instance, a few days ago, I did post a simple map (without proper references, it was mentioned in another tweet since there were two references, one for each map), and then, in 24 hours, there were almost 1,000 RTs (not to mentioned tweets mentioning that tweets that were also RTd),
“Europe vs. the United States. Sunlight in hours per year” (small typo, green is 1600-1800) pic.twitter.com/jAcorEFzdk
— Arthur Charpentier (@freakonometrics) 1 Janvier 2014
The interesting side is that it was a nice opportunity to understand how this viral process works, and @3wen published an interesting post on that experience.
- Possible Conclusion (?)
Being on Twitter is an amazing experience. I met (at least virtually) a lot of people, that I would have never been interacting with if they were not on Twitter. David Monniaux, editor of the great blog http://david.monniaux.free.fr/dotclear/ used to be on Twitter (@monniaux), but – according to the legend I read on Twitter – being on Twitter was time consuming (David used to interact a lot), so he decided to quit. Thus, I am glad that I do have neither a smartphone, nor a tablet! Because I would spend hours on Twitter! With moderation, Twitter is a great tool. But to be honest, it’s a little bit crowded… it is a place to be, but it’s hard to have a discussion with other people, with the 140 characters. I really believe it’s not the place to ask questions, and start a discussion. This is why I also try to go on other microblogging plateforms to interact, more confidential… But I won’t mention them here, I’d like to keep it that way.
- To Go Further
Twitter for academic and engagement
Using Twitter for Curated Academic Content
Beyond citations: scholars’ visibility on the social Web
Live-tweeting at academic conferences
An Introduction to Social Media for Scientists
How People are using Twitter during conference
Using Twitter During an Academic Conference
Presenting for Twitter at Conferences
An Idea is a Dangerous Thing to Quarantine #twittergate
My Norm is More Normal Than Yours: Academic Tweeting and Loose Fish
“But who is going to read 12,000 tweets?!” How researchers can collect and share relevant social media content at conferences
Don’t Have Time to Tweet-bollocks! Twitter can even save you time as a scientist.
The role of Twitter in the life cycle of a scientific publication, and the associated infographics
Can tweets predict citations? (metrics of social impact based on Twitter and correlation with traditional metrics of scientific impact)
All you can tweet
Twitter as tool for strengthen a scientific community
How and why scholars cite on Twitter
Prevalence and use of Twitter among scholars (on http://figshare.com/)
Twitter as a tool for conservation education and outreach: what scientific conferences can do to promote live tweeting
Understanding how Twitter is used to spread scientific messages
De la disparition du français comme langue de référence (?)
En mettant à jour ma chronique Somewhere Else, depuis quelques temps, j’avais l’impression de citer de moins en moins d’articles en français dans mes tweets. Plus j’y pensais, plus je me rendais compte que je lisais de moins en moins la presse française (ou disons en français). Quand je lis la presse en français, j’ai l’impression de retrouver, avec quelques jours de retard (quelques heures de retards pour les informations plus importantes), ce que l’on trouve sur les sites anglophones. Loin de moi l’idée de juger qui que ce soit ! On a eu déjà quelques débats sur la pression mise sur les journalistes, et je comprend que traduire est une solution parfois simple, et économiquement viable (mais dans ce cas, je préfere aller lire courrierinternational.com qui au moins cite ses sources) ! C’est l’impression que j’avais l’autre jour en feuilletant le numéro de juillet de Science et Vie Junior avec les enfants, avec un article expliquant la taille de la tour la plus haute que l’on pourrait faire avec des légo. Mais l’étude avait été mentionnée en mars dernier sur bbc.co.uk (reprise alors sur le blog). Et j’ai cette impression très réguliement…
Je ne parle pas d’articles scientifiques ici, juste d’études ou de points de vue, sur différents sujets, parfois d’actualité, souvent en relation avec mes centres d’intérêt, comme la science ou l’économie (entre autres). Les sites en français ne semblent plus être des sites de référence (dans le sens ou, souvent, ils relayent une information glânée ailleurs). Et poutant, mon niveau d’anglais est très moyen. Mais je préfère lire un point de vue de @noahpinion sur son blog noahpinionblog.blogspot.ca, @delong sur delong.typepad.com ou @timharford sur timharford.com (dont je rate souvent les subtilitées, n’ayant pas les clés pour tout comprendre) plutôt que de lire des éditos d’économistes dans les journaux français (je devrais mettre un paquet de guillemets à économistes). Même en ratant des passages, faute de culture anglophone suffisante, j’y apprend beaucoup plus de choses. Et souvent, je trouve même cela passionnant, si ce n’est drôle. Et les commentaires sont souvent d’un haut niveau. La science et l’économie sont – a priori- des sujets qui intéressent autant les anglophones que les francophones, je devrais donc pouvoir apprendre dans les deux langues.
En partant de cette impression, le but de mon billet était de voir un peu plus en détails qui je citais dans mes chroniques Somewhere Else (et sur mon compte twitter, i.e. @freakonometrics). Afin de me faire une idée un peu plus précise, j’ai utilisé un petit code, mis en ligne tout à l’heure, pour extraire la liste des urls mentionnées dans mes tweets. Si on regarde le site que je cite le plus sur un peu plus de 900 tweets (les 900 les plus récents), on retrouve
- Le Monde, www.lemonde.fr avec 22 références
- Washington Post, www.washingtonpost.com/ avec 21 mentions
- The Guardian, www.theguardian.com/ avec 21 mentions
- New York Times, www.nytimes.com/ avec 19 citations
Quand on regarde plus attentivement, on voit que le dernier comptage est biaisé, car pour le Washington Post (par exemple) les blogs sont localisés avec une adresse de la forme, www.washingtonpost.com/blogs/wonkblog/ (et figurent dans mon décompte), mais ce n’est pas le cas pour le New York Times, qui héberge krugman.blogs.nytimes.com, opinionator.blogs.nytimes.com/ ou encore economix.blogs.nytimes.com/. Ces trois sites, par exemple, ont tous été 4 fois, sur les 900 tweets analysés. Donc si on voulait un décompte plus réaliste, il faudrait
- New York Times, www.nytimes.com/ avec 31 citations (incluant krugman, opinionator et economix)
- Io9 io9.com/ avec 15 citations
- Wall Street Journal online.wsj.com/ avec 14 citations (dont 4 hébergées sur les blogs, blogs.wsj.com/)
- Scientific American www.scientificamerican.com/ 13 citations (dont 4 sur un des blogs hébergés blogs.scientificamerican.com/)
- Wired www.wired.com/ 9 (dont 4 en réalité sur www.wired.co.uk/)
- Arxiv arxiv.org/avec 8 citations
- The Atlantic www.theatlantic.com/ avec 7 citations
- Forbes www.forbes.com/ avec 7 citations encore
- Slate (version anglophone) www.slate.com/ avec toujours 7 citations
- New Yorker www.newyorker.com/ là encore 7 citations
- Voxeu www.voxeu.org/ avec 6 citations
- BBC http://www.bbc.co.uk/ avec 6 citations aussi
- Sauvons l’Université www.sauvonsluniversite.com avec 6 citations, comme mentionné auparavant
- Nature www.nature.com/ avec 5 citations
- NBER http://papers.nber.org/ avec là aussi 5 citations
Voilà pour la liste des sites mentionnés au moins 5 fois. Si on se limite à cette courte liste (en incluant ceux avec 4 citations), on a un total de 178 citations vers des hébergeurs anglophones, contre 36 pour des citations vers des sites en français, soit un ratio 5:1.
Et si au lieu de faire un comptage, on regardait de plus près, que verrait-on ? En fait, si on regarde les trois derniers tweets qui mentionnent www.lemonde.fr, le plus récent (daté du 24 août) était du copinage honteux, puisque j’ai découvert – avec beaucoup de retard – que Laurent Gobillon était ‘nominé au Prix 2013 du jeune économiste‘, or Laurent était un bon copain de promo, on a fait notre mémoire de sociologie (sur le rire dans les relations familiales) ensemble
- [copinage] “Pas une, mais des politiques pour aider les zones les plus pauvres” lemonde.fr/economie/article/…
Si on regarde les deux précédants (datés du 19 août) on a
- “Global flood risk under climate change” nature.com/nclimate/journal/… via @IsabelBergeron et lemonde.fr/planete/article/…
- but nature.com/nclimate/journal/… “Future flood losses in major coastal cities” for the study mentioned in lemonde.fr/planete/article/…
Autrement dit, je renvoie vers deux articles en ligne sur www.nature.com/ mentionnés dans Le Monde (en fait, une étude était mentionnée sans être réellement cité, la première référence n’était pas la bonne, d’où les deux messages).
J’ai l’impression que cette rapide analyse quantitative me conforte dans l’impression que j’avais. La presse francophone n’est plus une presse de référence. Maintenant, je n’utilise que mon propre référentiel et mes centres d’intérêt. Et je serais curieux d’avoir d’autres points de vue…
R, Twitter and URLs
$ sudo apt-get install libcurl4-gnutls-dev
$ R
> install.packages("RCurl")
> install.packages("twitteR")
> library(twitteR) > cred <- getTwitterOAuth("ikzCtYif9Rwoood45w","rsCCifp99kw5sJfKfOUhhwyVmPl9A") > registerTwitterOAuth(cred) [1] TRUE > T <- userTimeline('freakonometrics',n=5000)
To enable the connection, please direct your web browser to: http://api.twitter.com/oauth/authorize?oauth_token=cQaDmxGe... When complete, record the PIN given to you and provide it here:
> T <- userTimeline('freakonometrics',n=5000)
Now, my (third) problem was to extract from my tweets the url of references. The second tweet of the list was
- [textmining] “How a Computer Program Helped Reveal J. K. Rowling as Author of A Cuckoo’s Calling” scientificamerican.com/article.cfm?id… by @garethideas
But when you look at the text, you see
> T[[2]] [1] "freakonometrics: [textmining] \"How a Computer Program Helped Reveal J. K. Rowling as Author of A Cuckoos Calling\" https://t.co/wdmBGL8cmj by @garethideas"
> extraire <- function(entree,motif){ + res <- regexec(motif,entree) + if(length(res[[1]])==2){ + debut <- (res[[1]])[2] + fin <- debut+(attr(res[[1]],"match.length"))[2]-1 + return(substr(entree,debut,fin)) + }else return(NA)} > unshorten <- function(url){ + uri <- getURL(url, header=TRUE, nobody=TRUE, followlocation=FALSE, + cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")) + res <- try(extraire(uri,"\r\nlocation: (.*?)\r\nserver")) + return(res)}
Now, if we use those functions, we can get the true url,
> url <- "https://t.co/wdmBGL8cmj" > unshorten(url) [1] http://www.scientificamerican.com/article.cfm?id=how-a-computer-program-helped-show..
> exturl <- function(i){ + text_tw <- T_text[i] + locunshort2 <- NULL + indtext <- which(substr(unlist(strsplit(text_tw, " ")),1,4)=="http") + if(length(indtext)>0){ + loc <- unlist(strsplit(text_tw, " "))[indtext] + locunshort=unshorten(loc) + if(is.na(locunshort)==FALSE){ + locunshort2 <- unlist(strsplit(locunshort, "/"))[3]}} + return(locunshort2)}
www.nytimes.com www.guardian.co.uk 19 21 www.washingtonpost.com www.lemonde.fr 21 22
Qui se ressemble se suit (sur Twitter au moins)
Un nouveau billet pour reprendre une analyse marrante faite par @3wen (Ewen Gallic, qui travaille à Montréal alors que je profite de la Suisse). Suite à l’analyse amusante des trolls de Twitter, j’avais lancé l’idée qu’il pourrait être amusant de regarder parmi les députés français (que j’avais un peu suivis l’autre jour), qui tweete avec qui. Ewen a eu la bonne idée de regarder sur http://lelab.europe1.fr/ ce qui lui a permis de récupérer la liste des comptes Twitter des députés, en France. L’idée est simple: parmi les députés français, on regarde qui suit qui. Quelqu’un de très suivi sera au centre du nuage, alors que quelqu’un qui se contente de suivre sera sur le bord (intensément connecté au reste du nuage). Pour les personnes peu familières, Twitter n’est pas Facebook: on n’a pas des “amis“, il y a des gens que l’on suit parce qu’ils racontent des choses qui peuvent nous intéresser.
En utilisant gephi Ewen a ensuite pu visualiser le graphique des interconnexions entre les députés.
Sans grande surprise, les députés de gauche suivent essentiellement les députés de gauche, et inversement. Quelques gros comptes font la passerelle entre les deux groupes parlementaires. En fait, si on regarde en détail (voire sur le fichier image complet), on peut observer un peu mieux ce qui se passe.
Bon, la grande difficulté est de lire ces interactions correctement. En particulier, on ne peut pas conclure (à la vue seule du graphique) que Cécile Duflot est de gauche ! Ce que cela nous dit est que ce qu’elle raconte intéresse les gens de gauche (ou en tous cas les députés du Parti Socialiste), et pas du tout les gens de droite (les députés de l’UMP) ! On notera aussi que le centre n’existe pas. Sur Twitter en tous cas. Et si on regarde tout en bas, à droite, on retrouve le Front National, et on a la confirmation que ce que raconte le Front National n’intéresse personne !
A la recherche des groupes de trolls sur Twitter
Il y a quelques jours @olihb avait mis en ligne sur son blog http://olihb.com/ une très jolie carte permettant de visualiser les personnes (ou les comptes) impliquées sur Twitter sur les manifestations récentes au Québec (la carte était basée sur gephi). Beaucoup de monde twittait avec des hashtags, et l’idée était d’utiliser les plus classiques et les plus populaires pour identifier les comptes actifs (#ggi, #manifencours, etc). Mais la semaine passée j’avais l’impression que le débat s’était durci, avec beaucoup plus de trolls dans les discussions.
Bref, le principe est que les trolls évoluent souvent en petits groupes, donc avec @3wen on a voulu voir si on pouvait identifier facilement les groupes de trolls (sans pour autant faire du sentiment analysis, juste visualiser des personnes qui se suivent beaucoup entre elles, les connivences entre twittos, i.e. du suivi mutuel).
La méthodologie est simple. On a deux bases à notre disposition. Un première contient tous les tweets contenant #ggi entre le 7 juin à 1 heure du matin et le 8 à minuit 45 (soit 14,700 tweets). La seconde contient tous les tweets contenant #ggi entre le 12 juin à 23 heures 30 et le 14 juin à 17 heures (soit 14,784 tweets). Ah oui, les heures sont GMT. Plus précisément, on a la fréquence d’arrivée suivante
Les durées d’observations sont courtes, mais l’idée est que si une personne a tweetté au moins une fois pendant ces périodes, on les a dans notre base, et ça suffit pour les suivre. On ne va pas étudier l’intensité de la mise en ligne de tweets. Je ne rentre pas dans le détail du code, mais c’est basé sur les fonctions présentées dans un précédant billet, et toujours avec la même librairie,
require("RJSONIO")
Sur des deux bases, i.e. 29,484 tweets, on récupère un ensemble de 6,556 twittos uniques (mais répartis dans deux listes: ceux qui ont tweeté le 7 et ceux qui ont tweeté le 14). Pour toutes ces personnes, on est allé voir qui les suivaient. Sur le principe, c’est simple, mais on fonctionne avec des API qui imposent des limites horaires. Bref, il faut bricoler. Pour une personne, on récupère avec la fonction suivante la liste de ses followers,
recuperefollowers=function(id,nbrequetes){ followers=try(scan(paste( "http://api.twitter.com/1/followers/ids.json?cursor=-1&user_id=", id,sep=""),what = "character", encoding="latin1")) if(is.null(attr(followers,"condition"))){ followers=paste(followers[1:length(followers)],collapse=" ") followers=fromJSON(followers, method = "C") id_followers=followers$id next_cursor=followers$next_cursor_str nbrequetes=nbrequetes+1 plusDe5000=FALSE while(nbrequetes<150 & next_cursor!="0" & is.null(attr(followers,"condition"))){ plusDe5000=TRUE followers=scan(paste( "http://api.twitter.com/1/followers/ids.json?cursor=", next_cursor,"&user_id=",id,sep="") ,what = "character", encoding="latin1") followers=paste(followers[1:length(followers)],collapse=" ") followers=fromJSON(followers, method = "C") id_followers=c(id_followers,followers$id) next_cursor=followers$next_cursor_str nbrequetes=nbrequetes+1 } if(plusDe5000 & nbrequetes>=149){ return(c(list(),nbrequetes,TRUE)) }else{ return(c(list(id_followers),nbrequetes,FALSE)) }}else{ nbrequetes=nbrequetes+1 print(paste("Probleme rencontre avec ",id,sep="")) return(c(list("PROBLEME"),nbrequetes,FALSE))}}
On peut ensuite lancer cette fonction sur tous les identifiants qu’on a récupéré, et on stocke tout le monde dans une (petite) base
temp=try(recuperefollowers( lesIDAParcourir[unID_index],nbrequetes)) lesFollowers=temp[[1]] resul=cbind(rep(lesIDAParcourir[unID_index] ,length(lesFollowers)),lesFollowers) nbrequetes=temp[[2]] refaire=temp[[3]] Sys.sleep(runif(1,1,1.5)) compte=compte+1 write.table(resul,paste("auto_resul_", compte,".txt",sep=""),sep=";")
Si on veut que ça tourne, il faut juste faire patienter un heure après avoir fait 150 requêtes. Bref, dans la boucle, on met une petite fonction qui temporise,
if(nbrequetes>148){ nbrequetes=1 Sys.sleep(60*60+60*trunc(runif(1,2,3))) }
Une fois créées les 6,500 bases de nos 6,500 comptes, contenant la liste de tous les followers, on va les agréger (fort heureusement, on n’avait pas les gros comptes avec plus d’un million de followers). La liste se récupère avec
N=list.files("id/petits")
D’ailleurs, pour recoller les 6,500 bases ensemble, Ewen suggérait le code suivant, beaucoup beaucoup plus rapide qu’une gros boucle,
recupere_petits_fichiers=function(x){ temp=read.table(paste("id/petits/",x,sep=""), header=TRUE,sep=";",comment.char="", check.names=FALSE,colClasses= c("character","character")) colnames(temp)=list("id_twittos","id_follower") head(temp)
On fait ensuite une récupération des followers pour la première base de tweets, et une autre pour ceux de la seconde. Les deux listes sont obtenues avec le code suivant
present_avant_temp=temp[which( temp$id_twittos%in%lesID_avant),] if(nrow(present_avant_temp)>0){ present_avant_temp= present_avant_temp[which( present_avant_temp$id_follower%in%lesID_avant),]} else{ present_avant_temp=NULL} present_apres_temp= temp[which(temp$id_twittos%in%lesID_apres),] if(nrow(present_apres_temp)>0){present_apres_temp= present_apres_temp[ which(present_apres_temp$id_follower%in%lesID_apres),]} else{present_apres_temp=NULL} return(c(list(present_avant_temp), list(present_apres_temp), list(nbfollowers=nrow(temp))))
Pour constituer notre grosse base, la ruse est d’utiliser non pas une boucle sur tous les petites bases, mais
resul=lapply(N,recupere_petits_fichiers) liens_avant=data.frame(do.call( "rbind",lapply(resul,function(x) x[[1]])), stringsAsFactors=FALSE) liens_apres=data.frame(do.call( "rbind",lapply(resul,function(x) x[[2]])), stringsAsFactors=FALSE)
On a ainsi récupéré une liste avec plusieurs centaines de milliers de comptes Twitter. On a retenu seulement ceux qui avaient twitté avec le hashtag #ggi. On a ainsi pu constituer, pour nos 6,556 twittos une base de personnes qui tweettent, et de personnes qui les suivent (et qui ont twitté pendant cette – courte – période avec le hastag #ggi). Bref, une grosse matrice de correspondance de qui suit qui. On a pu le faire sur les deux bases. C’est précisément la différence entre les deux bases que l’on a cherché à visualiser, et gephi semble permettre de comparer les bases dans le temps. A gauche, on a le nuage de connexions entre les comptes pour la première période, et à droite pour la seconde.
Bon, le premier est plus compact, mais on voit qu’il y a des différences, en particulier sur les bords, que ce soit en haut
ou à droite du nuage,
Dans les deux cas, on voit que plein de petits comptes sont venus se greffer au nuage, souvent en suivant quelqu’un qui le suit en retour. Et parfois, ce sont les seuls connexions qu’ils ont (qui utilisent le hashtag #ggi). Ce sont ces comptes qui pourraient constituer les nouveaux trolls qu’on espérait identifier. L’avantage est qu’on a les noms de tous ces comptes (on ne les a pas mis sur le graphique), mais dans un second temps, on va aller regarder ce qu’on fait précisément ces comptes. Peut-être interprétons nous mal ces graphiques, qui représentent une arrivée de nouveaux comptes, et que cette dynamique est la même pour tous les nouveaux comptes, qui commencent par de faibles connexions, et ensuite vont s’étoffer au fur et à mesure. Ce qu’il faut que l’on comprenne aussi c’est pourquoi ils sont tous aussi rapprochés. Ils semblent être suivis par des personnes qui sont suivis pas les mêmes personnes. Ce qui laisse à penser que l’on a effectivement identifié une certaine catégorie de comptes.
On peut reprendre les graphs avec une résolution plus fine, avant
et après
ou alors en changeant les options, avant
à comparer avec après
On voit peut être encore plus clairement sur ces deux dernières images les nouveaux comptes se greffer sur le graph existant. Si la qualité ne suffit pas, des graphiques (très) haute résolution sont téléchargeables (15Mo chacun), avant etaprès (avec les identifiants cette fois). Sinon, en promenant la souris sur le dessin dessous, on voit encore mieux la différence,
Maintenant – pour être complètement honnête – sur la lecture des graphs, j’avoue ne pas avoir tout bien compris. Les représentations semblent claires, mais j’aurais bien aimé être certain d’avoir compris la construction proposée par gephi avant de les mettre en ligne. Car si on regarde sur moins ce compte, on comprend que l’algorithme permet effectivement de bien mettre en avant les réseaux. Parmi les illustrations les plus frappantes, la figure suivante montre des interconnections avec Facebook à gauche, et purement aléatoire à droite (illustration trouvé sur le site de gephi),
La grande difficulté est alors de représenter spatialement les groupes, comme le notent Gastner et Newman dans The Spatial Structure of Networks, Watts et Strogatz dansCollective dynamics of ‘small-world’ networksou encore Nisha et Venkatesh dans Small worlds: How and why. Mais pour etre tout à fait complet, je renverrais aussi vers la thèse de doctorat de Jure Leskovec, intituléeDynamics of large networks ainsi qu’au livre (intégralement téléchargeable) Networks, Crowds, and Markets: Reasoning About a Highly Connected World de David Easley et Jon Kleinberg. Bref, on a découvert un outils probablement très riche, mais il va nous falloir du temps pour comprendre ce qu’il fait vraiment.
Do you still have time to sleep ?
Last week, @3wen (Ewen) helped me to write nice R functions to extract tweets in R and build datasets containing a lot of information. I’ve tried a couple of time on my own. Once on tweet contents, but it was not convincing and once on the activity on Twitter following an event (e.g. the death of someone famous). I have to admit that I am not a big fan of databases that can be generated using standard function to study tweets. For instance, we can only extract tweets, notre-tweets (which is also an important indicator of tweet-activity). @3wen suggested to use
require("RJSONIO")
The first step is to extract some information from a tweet, and store it in a dataset (details can be found on https://dev.twitter.com/)
obtenir_ligne <- function(unTweet){ date_courante=unTweet$created_at id_courant=unTweet$id_str text=unTweet$text nb_followers=unTweet$user$followers_count nb_amis=unTweet$user$friends_count utc_offset=unTweet$user$utc_offset listeMentions=unTweet$entities$user_mentions return(c(list(c(id_courant,date_courante,text, nb_followers,nb_amis,utc_offset)), list(do.call("rbind",lapply(listeMentions, function(x,id_courant) c(id_courant, x$screen_name),unTweet$id_str))))) }
Now that we have the code to extract information from one tweet, let us find several tweets, from one user, say my account,
nom="Freakonometrics"
The (small) problem here, is that we have a limitation: we can only get 100 tweets per call of the function
n=100 tweets_courants=scan(paste( "http://api.twitter.com/1/statuses/user_timeline.json? include_entities=true&include_rts=true&screen_name= ",nom,"&count=",n,sep=""),what = "character", encoding="latin1") tweets_courants=paste(tweets_courants[ 1:length(tweets_courants)],collapse=" ") tweets_courants=fromJSON(tweets_courants, method = "C")
Then, we use our function to build a database with 100 lines,
extracTweets <- lapply(tweets_courants, obtenir_ligne) mentions=do.call("rbind",lapply(extracTweets, function(x) x[[2]])) colnames(mentions)=list("id","screen_name") res=t(sapply(extracTweets,function(x) x[[1]])) colnames(res) <- list("id","date","text", "nb_followers","nb_amis","utc_offset")
The idea then is simply to use a loop, based on the latest id observed
dernier_id=tweets_courants[[length( tweets_courants)]]$id_str
So, here we go,
compteurLimite=100 while(compteurLimite<4100){ tweets_courants=scan(paste( "http://api.twitter.com/1/statuses/user_timeline.json? include_entities=true&include_rts=true&screen_name= ",nom,"&count=",n,"&max_id=",dernier_id,sep=""), what = "character", encoding="latin1") tweets_courants=paste(tweets_courants[ 1:length(tweets_courants)],collapse=" ") tweets_courants=fromJSON(tweets_courants, method = "C") extracTweets <- lapply(tweets_courants[ 2:length(tweets_courants)],obtenir_ligne) mentions=rbind(mentions,do.call("rbind", lapply(extracTweets,function(x) x[[2]]))) res=rbind(res,t(sapply(extracTweets,function(x) x[[1]]))) t(sapply(extracTweets,function(x) x[[1]])) dernier_id=tweets_courants[[length( tweets_courants)]]$id_str compteurLimite=compteurLimite+100 } resFreakonometrics=res= data.frame(res,stringsAsFactors=FALSE)
All the information about my own tweets (and re-tweets) are stored in a nice dataset. Actually, we have even more, since we have extracted also names of people mentioned in tweets,
mentionsFreakonometrics= data.frame(mentions)
We can look at people I mention in my tweets
gazouillis=sapply(split(mentionsFreakonometrics, mentions$screen_name),nrow) gazouillis=gazouillis[order(gazouillis, decreasing=TRUE)] plot(gazouillis) plot(gazouillis,log="xy")
> gazouillis[1:20] tomroud freakonometrics adelaigue dmonniaux 155 84 77 56 J_P_Boucher embruns SkyZeLimit coulmont 42 39 35 31 Fabrice_BM 3wen obouba msotod 31 30 29 27 StatFr nholzschuch renaudjf squintar 26 25 23 23 Vicnent pareto35 romainqc valatini 23 22 22 22
If we plot those frequencies, we can clearly observe a standard Pareto distribution,
Now, let us spend some time with dates and time of tweets (it was the initial goal of this post)… One more time, there is a (small) technical problem that we have to deal with: language. We need a function to convert date in English (on Twitter) to dates in French (since I have a French version of R),
changer_date_anglais <- function(date_courante){ mois <- c("Jan","Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aoû", "Sep", "Oct", "Nov", "Déc") months <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") jours <- c("Lun","Mar","Mer","Jeu", "Ven","Sam","Dim") days <- c("Mon","Tue","Wed","Thu", "Fri","Sat","Sun") leJour <- substr(date_courante,1,3) leMois <- substr(date_courante,5,7) return(paste(jours[match(leJour,days)]," ", mois[match(leMois,months)],substr( date_courante,8,nchar(date_courante)),sep="")) }
So now, it is possible to plot the times where I am online, tweeting,
DATE=Vectorize(changer_date_anglais)(res$date) DATE=sapply(resSkyZeLimit$date, changer_date_anglais,simplify=TRUE) DATE2=strptime(as.character(DATE), "%a %b %d %H:%M:%S %z %Y") lt= as.POSIXlt(DATE2, origin="1970-01-01") heure=lt$hour+lt$min/60 plot(DATE2,heure)
On this graph, we can see that I am clearly not online almost 6 hours a day (or at least not on Twitter). It is possible to visualize more precisely the period of the day where I might be on Twitter,
hist(heure,breaks=0:24,col="light green",proba=TRUE) X=c(heure-24,heure,heure+24) d=density(X,n = 512, from=0, to=24,bw=1) lines(d$x,d$y*3,lwd=3,col="red")
or, if we want to illustrate with some kind of heat plot,
Note that we did it for my Twitter account, but we can also run the code on (almost) anyone on Twitter. Consider e.g. @adelaigue. Since Alexandre is tweeting in France, we have to play with time-zones,
res=extractR("adelaigue") DATE=Vectorize(changer_date_anglais)(res$date) DATE2=strptime(as.character(DATE), "%a %b %d %H:%M:%S %z %Y",tz = "GMT")+2*60*60
or I can also look at @skythelimit who’s usually twitting from Singapore (I am in Montréal). I can seen clearly when we might have overlaps,
res=extractR("skythelimit")
Nice isn’t it. But it is possible to do much better… for instance, for those who do not ask specifically not to be Geo-located, we can see where they do tweet during the day, and during the night… I am quite sure a dozen posts with those functions can be written…