Notions de base des expressions régulières

Introduction au traitement automatique des langues en R

Kasey Jones

Research Data Scientist

Qu'est-ce que le traitement du langage naturel ?

NLP :

  • Vise l'analyse et la compréhension de texte par ordinateur

Sujets traités :

  • Classification de texte
  • Modélisation de thèmes
  • Reconnaissance d'entités nommées
  • Analyse de sentiment
Introduction au traitement automatique des langues en R

Que sont les expressions régulières ?

  • Suite de caractères pour rechercher dans du texte
  • Exemples :
    • rechercher des fichiers dans un répertoire en ligne de commande
    • trouver des articles contenant un motif précis
    • remplacer un texte donné
Introduction au traitement automatique des langues en R

Exemples

words <- c("DW-40", "Mike's Oil", "5w30", "Joe's Gas", "Unleaded", "Plus-89")
# Finding Digits
grep("\\d", words, value = TRUE)
[1] 1 3 6
# Finding Apostrophes
grep("\\'", words, value = TRUE)
[1] "Mike's Oil"     "Joe's Gasoline"
Introduction au traitement automatique des langues en R

Exemples d'expressions régulières

Motif Correspondances dans le texte Exemple R Exemple texte
\w Alphanumérique gregexpr(pattern ='\w', <text>) a
\d Chiffre gregexpr(pattern ='\d', text) 1
\w+ Alphanumérique de toute longueur gregexpr(pattern ='\w+', text) mot
\d+ Chiffres de toute longueur gregexpr(pattern ='\d+', text) 1234
\s Espaces gregexpr(pattern ='\s', text) ' '
\S Tout sauf un espace gregexpr(pattern ='\S', text) mot
Introduction au traitement automatique des langues en R

Exemples en R

Fonction Rôle Syntaxe
grep Trouver les correspondances d'un motif dans un vecteur grep(pattern ='\w', x = <vector>, value = F)
gsub Remplacer toutes les correspondances d'une chaîne/vecteur gsub(pattern ='\d+', replacement = "", x = <vector>)
Introduction au traitement automatique des langues en R

Pratique RegEx

1 https://regexone.com/lesson/matching_characters
Introduction au traitement automatique des langues en R

À vous de coder !

Introduction au traitement automatique des langues en R

Preparing Video For Download...