Vive la République et Vive la France!

25 May 2017
Blog

Analyzing English and French tweets during the election weekend using Rapidminer and Rosette

After the surprising results of the U.S. presidential election and the UK “Brexit” vote, many expected another populist upset in France’s recent election. As we now know, Emmanuel Macron of En Marche! defeated populist candidate Marine Le Pen of the National Front. Did popularity and sentiment in social media reflect the election outcome? We took a look using Rosette API and RapidMiner.

We used Rosette API’s  entity extraction on English and French tweets to see who were the most mentioned people during that weekend. Marine Le Pen is often referred to as the “French Trump,” so we were curious to see if the U.S. president would make it to the top of the most mentioned people. We also looked at sentiment analysis to look for trends in Twitter.

The free version of RapidMiner Studio 7.5.001 enabled us to analyze 10,000 tweets (1 tweet = 1 row) which could incur a 30% loss of accuracy with such a small model. Naturally for enterprise analysis, we encourage you to upgrade to build models on more data for better results.

Language identification

Unsurprisingly, most of the tweets we collected are in French (about 80%), followed by English and Italian. Apart from a single tweet in Uzbek, the other languages identified were native European languages (German, Lithuanian, Estonian, Czech, Polish, and a few others) and languages commonly spoken in Europe, including Arabic and Turkish.

Entity extraction

Extracting entities is a powerful way to get an accurate snapshot of what figures are trending without reading each tweet. While keyword search may return some information, they are inherently biased by your expectations, and less valuable than letting the data speak for itself.

In this data set, the most frequently occurring  entity types are Person, Organization (ex. Reuters, BBC), and Location (France naturally being the most common).

As you can imagine, the most popular names were “Marine Le Pen” and “Emmanuel Macron,” but Mme. Le Pen outranked her opponent in mentions. Former French president, Francois Hollande, was the third most frequently mentioned French figure. Among Americans, Barack Obama and Donald Trump did make it to the top 15, following several French celebrities. As President Obama officially endorsed Emmanuel Macron, he was more popular in our data than Trump (placing #13 for Obama, #15 for Trump).

Additionally, the majority of tweets include a URL indicating that people are more likely to share information or an image than draft a tweet from scratch with just plain text.

Sentiment Analysis

Overall, the tweets we collected were more negative than positive. This trend is not unique to politics, as far more people tend to take to the internet to complain than praise.

Being the most frequently mentioned person does not necessarily make you the most “desired person.” This theory is evidenced by the fact that Mme Le Pen lost the election despite being more widely talked about. However we decided to go a step further by analyzing entity-specific sentiment analysis which shows the feelings for a given entity.

We applied entity sentiment to Emmanuel Macron and Marine Le Pen to see what people were “feeling” about each candidate. As expected, neutral sentiment dominated as people neutrally share URLs mentioning the candidate. However the results followed the same trend as the overall sample: the majority of tweets were negative about both candidates (see pie chart of Emmanuel Macron entity sentiment).

Now that we know that Emmanuel Macron has been elected the 8th President of the Fifth French Republic, we can also confirm that being the most popular/mentioned person on Twitter does not make you the winner. It was also interesting to see that there wasn’t a huge difference between Emmanuel Macron’s negative/positive sentiment ratio and Marine Le Pen’s: neutral first, then negative, then positive in about the same ratio.

Perform your own analysis

To process our 10,000 tweets we used several Rosette API operators, including:

  • Identify language
  • Entity extraction
  • Sentiment analysis
  • Entity sentiment

We also used Rapidminer operators to compare results between English tweets and French tweets:

  • Filter example – to filter results to just English, for example
  • Grouping aggregate – to visualize results by entity
  • Sort – to sort the results from most to least numerous

Want to play around using Rapidminer Studio and Rosette API? Download the tools for free now. Learn how to get started with Rosette operator by looking at our previous blog post about entity extraction.


Analyse de 10 000 tweets postés durant le week-end de l’élection présidentielle avec Rapidminer et Rosette

Après l’élection de Donald Trump aux Etats-Unis que les sondages annonçaient perdant, après le vote du Brexit qui semblait impossible, le résultat du 2ème tour de la campagne présidentielle française n’était pas si évident que cela. Nous ne sommes bien sur pas journalistes politiques mais nous avons profité de l’occasion pour tenter d’analyser des tweets qui ont été publiés pendant le week-end de l’élection. En utilisant les opérateurs Rosette d’extractions d’entité, en anglais et en france, avec Rapidminer, nous voulions voir si la popularité sur twitter était un gage de victoire. Aussi, Marine Le Pen a souvent été comparé à Donald Trump dans les médias donc nous voulions voir si le Président américain était dans le top 5 des personnes les plus mentionnées.

Pour effectuer cela nous avons utilisé la version gratuite de Rapidminer Studio (7.5.001) qui permet d’analyser 10 000 lignes (1 tweet = 1 ligne). Pour des analyses à l’échelle de l’entreprise, nous vous recommandons vivement de passer à la version professionnelle de Rapidminer Studio.

Identification des Langues

Sans surprise, le français a été la langue la plus utilisée dans les 10 000 tweets que nous avons collectés (environ 80%), puis l’anglais et en troisième place l’italien. Hormis un tweet en Uzbek, les autres langues détectées sont européennes (finlandais, lituanien, allemand, polonais…).

 

Extraction d’entité

L’extraction d’entité est un bon outil pour voir rapidement ce qui est publié dans les tweets sans faire de recherches spécifiques (ce qui implique d’une certaine façon d’anticiper les résultats et surtout prendre le risque d’en oublier).

Nous observons premièrement que le type d’entité qui revient le plus souvent est le titre de civilité (Monsieur, Madame…). Ce qui est plus intéressant est de voir que contrairement à ce que nous pensions, ce ne sont pas les “personnes” qui sont le plus citées mais des noms de sociétés (Reuters, BBC par exemple) – surement du au fait que les gens retweetent des sources – enfin en 3ème position nous avons un lieu: la France.

Une fois le type d’entité identifié, nous avons voulu affiné l’analyse en se demandent qui des personnes étaient la plus mentionnée lors de ce week-end d’élection. Il se trouve que Madame Le Pen avait beaucoup plus de présence (et avec une belle avance si nous cumulons les résultats affichant MLP, LePen, Le Pen, Marine, Marine Le Pen, Madame Le Pen). En toute logique, Emmanuel Macron était la deuxième personne la plus mentionnée. Plus étonnamment, François Hollande s’est hissé à la troisième place du podium. Petite surprise du classement, Cyril Hanouna est arrivé 6ème (ex: “RT @La_Pollice: Vous vous attendiez à quoi d’une élection dans un pays où des gens trouvent Hanouna génial, lisent Nabilla […]”).

Concernant les personnalités américaines, les Présidents Obama (13ème position) et Trump (15ème) étaient les plus citées. L’annonce du soutien du Président Obama à Emmanuel Macron a du augmenté sa présence dans les médias francais.

Enfin, la majorité des tweets comprennent une url, ce qui signifie que la plupart des twittos partagent un article, une information et une image plutôt que de créer un tweet composé que de texte.

Sentiment Analysis

La première observation est qu’entre les sentiments positifs et négatifs, les gens ont largement tendances à écrire avec un ton négatif (73% négatif, 27% positif).

Etre la personne la plus retrouvée dans les tweets n’est pas forcément signe de victoire ou la plus aimée. C’est pourquoi nous avons appliqué l’opérateur “Entity Sentiment” qui permet de savoir quel sentiment est associé à l’entité.

 

Pour Emmanuel Macron par exemple, nous retrouvons d’abord une majorité de tweets neutre (du au fait que les gens ont tendance à partager une info). Mais comme vous pouvez le voir dans le diagramme, le sentiment associé à Emmanuel Macron était en majorité négatif, ce qui confirme la tendance des tweets en général. Nous avons appliquer le meme opérateur pour Marine Le Pen et avons trouvé à peu près les memes ratios dans les résultats, d’abord un sentiment neutre, puis négatif et enfin positif.

Créer votre propre procédé d’analyses

Pour analyser nos 10 000 tweets, nous avons utilisé plusieurs opérateurs disponibles sur la marketplace de Rapidminer.

De l’opérateur Rosette nous avons utilisé:

  • Identify Language pour identifier les langues utilisées
  • Entity Extraction pour identifier les entités
  • Sentiment Analysis pour l’analyse des sentiments
  • Entity Sentiment pour l’analyse des sentiments concernant une entité

Les autres opérateurs utilisés nous ont permis d’affiner les résultats:

  • Filter Example pour n’avoir une analyse que sur les tweets en anglais par example
  • Grouping Aggregate pour visualiser les résultats que des entités par exemple
  • Sort pour voir les résultats du plus grand volume au plus petit

Vous trouverez ci-dessous une capture d’écran de notre process:

 

Pas encore utilisateur?

Si vous aussi vous souhaitez analyser des commentaires, des tweets, des blogs…bref du texte, avec Rapidminer Studio et Rosette alors téléchargez les maintenant. Pour les débutants, vous trouverez un exemple d’analyse détaillé étape par étape ici (article en anglais).