R: Partage & Echange

text data

Contexte

  • Nous vivons dans un monde connecté où les donneées ont des formes multiples
  • A la banque nous travaillons en majorité avec des données numériques
  • Plus les technologies avancent, plus l’analyse d’autres types de données est accessible

Pourquoi analyser du texte?

  • Automatiser des réponses?
  • Automatiser des processus de regulation?
  • Identifier des tendences en Marketing?

Cas Pratique

Tweet de Donald Trump de 2009 à 2016

Dataset

Les données ont le format suivant:

Après transformation via
des Expressions Régulère (RegEx):

tidy_tweet <- tweet %>% 
  distinct() %>% 
  mutate(date_time =  ymd_hms(paste(Date, Time)),
         user=str_extract_all(message_punctuationless, '@(\\w){1,15}'),
         is_rt = ifelse( str_detect(message, '^ RT @|^RT @|"@'),1,0),
         rt_user = ifelse(is_rt, str_extract(message, '@(\\w){1,15}'), NA),
         text = ifelse(is_rt & ((str_detect(message,'^"') & str_count(message,'"')==1|str_detect(message,'^RT'))),'', 
                       ifelse(is_rt , str_remove_all(message, '".*"'), message)),
         hashtag = str_extract_all(message, '#(\\w){1,30}')) 

Données nettoyées

Connotation du Tweet

  • Méthode 1 : Mot par mot
  • Méthode 2 : Par message (Machine Learning)

Méthode 1

Mot par mot

Dictionnaire

afinn <- get_sentiments("afinn")

Jointure avec les tweets

score_bywords <- tweet %>% 
  unnest_tokens(word, text) %>% 
  left_join(afinn, by='word')

Méthode 2

Natural Language Processing
(Machine Learning)

Modélisation



Modélisation



Modélisation



Modélisation



Modélisation



Résultat

Les personnes les plus mentionées

Vocabulaire Utilisé

FoxNews vs CNN

Les nombre de fois que les mots suivants sont mentionnés

Tweets plus positifs quand
@FoxNews est mentionné

Le But de cette présentation?

  • Montrer les informations extraites via Tweeter
  • Les analyses réalisées uniquement avec du texte
  • Comment on peut enrichir ses données via internet

Merci pour votre attention

Questions?

  • Quel package recommandes-tu pour faire du Natural Language Processing ?
  • Comment tu fais pour voir si ton modèle prédit bien?