Traitement du texte de Twitter

Analyse des données des médias sociaux avec R

Vivek Vijayaraghavan

Data Science Coach

Aperçu de la leçon

  • Pourquoi traiter le texte des tweets ?
  • Étapes du traitement du texte des tweets
    • retirer l'information redondante
    • convertir le texte en corpus
    • retirer les mots vides
Analyse des données des médias sociaux avec R

Pourquoi traiter le texte des tweets ?

  • Le texte des tweets est non structuré, bruyant et brut
  • Contient des émoticônes, des URL, des nombres
  • Un texte nettoyé est requis pour l'analyse et des résultats fiables
Analyse des données des médias sociaux avec R

Étapes du traitement du texte

Étape 1 : Retirer l'information redondante

Analyse des données des médias sociaux avec R

Étapes du traitement du texte

Étape 2 : Convertir le texte en corpus

Analyse des données des médias sociaux avec R

Étapes du traitement du texte

Étape 3 : Convertir en minuscules

Analyse des données des médias sociaux avec R

Étapes du traitement du texte

Étape 4 : Retirer les mots vides

Analyse des données des médias sociaux avec R

Extraire le texte des tweets

# Extraire 1000 tweets sur "Obesity" en anglais et exclure les retweets
tweets_df <- search_tweets("Obesity", n = 1000, include_rts = F, lang = 'en')
# Extraire le texte des tweets et l'enregistrer dans une trame de données
twt_txt <- tweets_df$text
Analyse des données des médias sociaux avec R

Extraire le texte des tweets

head(twt_txt, 3)
[1] "@WeeaUwU for real, obesity should not be praised like it is in today's society" 

[2] "Great work by @DosingMatters in @AJHPOfficial on \"Vancomycin Vd estimation in 
adults with class III obesity\". As we continue to study/learn more about dosing in 
large body weight pts, we see that it's not a simple, one size, one level estimate 
that works https://t.co/KkYPqS6JzG" 

[3] "The Scottish Government have an ambition to halve childhood obesity by 2030. 
This means reducing obesity prevalence in 2-15yo children in Scotland to 7%. 
\n\n\U0001f449 In 2018, this figure was 16%\n\nFind out more in our latest blog: 
https://t.co/FWp56QWjQc https://t.co/XBK8Je7F1A"
Analyse des données des médias sociaux avec R

Retrait des URL

# Retirer les URL du texte des tweets
library(qdapRegex)
twt_txt_url <- rm_twitter_url(twt_txt)
Analyse des données des médias sociaux avec R

Retrait des URL

twt_txt_url[1:3]
[1] "@WeeaUwU for real, obesity should not be praised like it is in today's society"

[2] "Great work by @DosingMatters in @AJHPOfficial on \"Vancomycin Vd estimation in  adults 
with class III obesity\". As we continue to study/learn more about dosing in large body 
weight pts, we see that it's not a simple, one size, one level estimate that works"

[3] "The Scottish Government have an ambition to halve childhood obesity by 2030. 
This means reducing obesity prevalence in 2-15yo children in Scotland to 7%. 
\U0001f449In 2018, this figure was 16% Find out more in our latest blog:"  
Analyse des données des médias sociaux avec R

Caractères spéciaux, ponctuation et nombres

# Retirer caractères spéciaux, ponctuation et nombres
twt_txt_chrs  <- gsub("[^A-Za-z]", " ", twt_txt_url)
Analyse des données des médias sociaux avec R

Caractères spéciaux, ponctuation et nombres

twt_txt_chrs[1:3]
[1] " WeeaUwU for real  obesity should not be praised like it is in today s society"

[2] "Great work by  DosingMatters in  AJHPOfficial on  Vancomycin Vd estimation in 
adults with class III obesity   As we continue to study learn more about dosing in 
large body weight pts  we see that it s not a simple  one size  one level estimate 
that works"

[3] "The Scottish Government have an ambition to halve childhood obesity by       This 
means reducing obesity prevalence in     yo children in Scotland to       In       this 
figure was     Find out more in our latest blog "   
Analyse des données des médias sociaux avec R

Convertir en corpus textuel

# Convertir en corpus textuel
library(tm)
twt_corpus <- twt_txt_chrs %>% 
                VectorSource() %>% 
                Corpus()
twt_corpus[[3]]$content
[1] "The Scottish Government have an ambition to halve childhood obesity by       
This means reducing obesity prevalence in     yo children in Scotland to       In  
     this figure was     Find out more in our latest blog "
Analyse des données des médias sociaux avec R

Convertir en minuscules

  • Un mot ne doit pas être compté deux fois selon la casse
# Convertir le corpus en minuscules
twt_corpus_lwr <- tm_map(twt_corpus, tolower) 
twt_corpus_lwr[[3]]$content
[1] "the scottish government have an ambition to halve childhood obesity by     this 
means reducing obesity prevalence in     yo children in scotland to       in    this 
figure was     find out more in our latest blog "
Analyse des données des médias sociaux avec R

Qu'est-ce qu'un mot vide ?

  • Les mots vides sont des mots fréquents comme a, an, and, but
# Mots vides courants en anglais
stopwords("english")

Mots vides par défaut en anglais

Analyse des données des médias sociaux avec R

Retirer les mots vides

  • Il faut retirer les mots vides pour cibler l'essentiel
# Retirer les mots vides du corpus
twt_corpus_stpwd <- tm_map(twt_corpus_lwr, removeWords, stopwords("english"))
twt_corpus_stpwd[[3]]$content

[1] " scottish government   ambition  halve childhood obesity         means 
reducing obesity prevalence      yo children  scotland                figure      
find     latest blog "
Analyse des données des médias sociaux avec R

Retirer les espaces superflus

  • Retirer les espaces superflus pour obtenir un corpus propre
# Retirer les espaces superflus
twt_corpus_final <- tm_map(twt_corpus_stpwd, stripWhitespace)
twt_corpus_final[[3]]$content
[1] " scottish government ambition halve childhood obesity means reducing obesity 
prevalence yo children scotland figure find latest blog "
Analyse des données des médias sociaux avec R

Passons à la pratique !

Analyse des données des médias sociaux avec R

Preparing Video For Download...