Introduction aux expressions régulières

Introduction au traitement du langage naturel en Python

Katharine Jarmul

Founder, kjamistan

Qu'est-ce que le Natural Language Processing ?

  • Domaine qui vise à comprendre la langue
    • À l'aide de statistiques et d'ordinateurs
  • Vous verrez les bases du NLP
    • Repérer les sujets
    • Classer des textes
  • Exemples d'applications du NLP :
    • Assistants de clavardage
    • Traduction
    • Analyse de sentiment
    • … et bien plus !
Introduction au traitement du langage naturel en Python

Que sont exactement les expressions régulières ?

  • Chaînes avec une syntaxe spéciale
  • Permettent de repérer des motifs dans d'autres chaînes
  • Applications des expressions régulières :

→ Repérer tous les liens Web dans un document

→ Analyser des adresses de courriel

→ Retirer/remplacer des caractères indésirables

import re

re.match('abc', 'abcdef')
word_regex = '\w+'
re.match(word_regex, 
        'hi there!')
<_sre.SRE_Match object; span=(0, 3), match='abc'>

 

<_sre.SRE_Match object; span=(0, 2), match='hi'>
Introduction au traitement du langage naturel en Python

Motifs regex courants

pattern correspond à exemple
\w+ mot 'Magic'
Introduction au traitement du langage naturel en Python

Motifs regex courants (2)

pattern correspond à exemple
\w+ mot 'Magic'
\d chiffre 9
Introduction au traitement du langage naturel en Python

Motifs regex courants (3)

pattern correspond à exemple
\w+ mot 'Magic'
\d chiffre 9
\s espace ' '
Introduction au traitement du langage naturel en Python

Motifs regex courants (4)

pattern correspond à exemple
\w+ mot 'Magic'
\d chiffre 9
\s espace ' '
.* caractère générique 'username74'
Introduction au traitement du langage naturel en Python

Motifs regex courants (5)

pattern correspond à exemple
\w+ mot 'Magic'
\d chiffre 9
\s espace ' '
.* caractère générique 'username74'
+ ou * correspondance gourmande 'aaaaaa'
Introduction au traitement du langage naturel en Python

Motifs regex courants (6)

pattern correspond à exemple
\w+ mot 'Magic'
\d chiffre 9
\s espace ' '
.* caractère générique 'username74'
+ ou * correspondance gourmande 'aaaaaa'
\S pas un espace 'no_spaces'
Introduction au traitement du langage naturel en Python

Motifs regex courants (7)

pattern correspond à exemple
\w+ mot 'Magic'
\d chiffre 9
\s espace ' '
.* caractère générique 'username74'
+ ou * correspondance gourmande 'aaaaaa'
\S pas un espace 'no_spaces'
[a-z] groupe de minuscules 'abcdefg'
Introduction au traitement du langage naturel en Python

Le module re de Python

  • Module re
  • split : découper une chaîne selon une regex
  • findall : trouver tous les motifs dans une chaîne
  • search : chercher un motif
  • match : faire correspondre toute une chaîne ou une sous-chaîne à un motif
  • Motif en premier, chaîne en second
  • Peut renvoyer un itérateur, une chaîne ou un objet de correspondance
re.split('\s+', 'Split on spaces.')
['Split', 'on', 'spaces.']
Introduction au traitement du langage naturel en Python

Passons à la pratique !

Introduction au traitement du langage naturel en Python

Preparing Video For Download...