Chapitre 1 Introduction

1.1 De la donnée textuelle “brute”… comme quoi?

Donnée textuelle en langage “contraint”:

  • adresses
  • noms
  • chemins de fichiers, liens
  • etc.

Donnée textuelle en “langage naturel”:

  • oeuvres littéraires
  • enquêtes, entretiens
  • journaux
  • sites web
  • données réseaux sociaux (Twitter, Facebook, etc.) etc.

1.2 Import dans R de données textuelles

Du texte sur support physique au texte numérisé

  • transcription d’un enregistrement audio en un texte sur support numérique (Speech Recognition API, HP IDOL : API client transcribeR)
  • OCRisation de l’image (numérique) du support au texte sur support numérique (Tesseract OCR engine in R vignette

Du support numérisé à R

  • import de tables
  • import de corpus (notamment, si traitement par ailleurs par des logiciels dédiés)
  • interrogation d’APIs
  • web-scraping

1.3 APIs

Recueil de données de certains sites ou réseaux sociaux via les APIs + APIs clients

Recueillir de la donnée textuelle:

  • Wikipedia_logo Wikipedia => package wikipediR

  • Twitter_logo Twitter => rtweet

Traiter de la donnée textuelle:

  • google_translate_logo Google Translate => package googleLanguageR
  • openstreetmap_logo => géocodage via OpenStreetMap => package ggmap

1.4 Parti pris

Travailler (si possible) avec les packages de l’univers “tidyverse”:

  • dplyr: manip de tableaux
  • ggplot2: graphiques
  • stringr: strings
  • purrr: itération
  • rvest: web scraping
  • tidytext+widyr: langage naturel
  • proustr: langage naturel en français
  • ggraph: graphes

J’ai aussi rassemblé quelques fonctions utiles pour l’analyse de données textuelles dans un package mixr, disponible en ligne sous forme d’un repo gitHub.

Pour l’installation, on utilise une fonction install_github() disponible dans le package devtools (vous aurez peut-être besoin d’installer ce package devtools au préalable si vous ne l’avez pas déjà fait):

devtools::install_github("lvaudor/mixr")

Exceptions à l’usage des packages du tidyverse ou tidyverse-friendly:

  • wordcloud: nuages de mots
  • textometry: specificités

J’utiliserai dans cet ouvrage une large variété de packages aussi essaierai-je, autant que possible, de préciser explicitement de quel package provient chaque fonction, c’est-à-dire que j’appellerai les fonctions en faisant nompackage::nomfonction() plutôt que simplement nomfonction().