Introduction à la tokenisation

Introduction au traitement du langage naturel en Python

Katharine Jarmul

Founder, kjamistan

Qu'est-ce que la tokenisation ?

  • Transformer une chaîne ou un document en tokens (petits segments)
  • Une étape de préparation de texte pour le NLP
  • Plusieurs théories et règles possibles
  • Vous pouvez définir vos propres règles avec des expressions régulières
  • Exemples :
    • Découper en mots ou en phrases
    • Séparer la ponctuation
    • Séparer tous les mots-clics dans un tweet
Introduction au traitement du langage naturel en Python

Bibliothèque nltk

  • nltk : trousse d'outils de traitement du langage naturel
from nltk.tokenize import word_tokenize
word_tokenize("Hi there!")
['Hi', 'there', '!']
Introduction au traitement du langage naturel en Python

Pourquoi tokeniser ?

  • Facilite l'étiquetage des catégories grammaticales
  • Apparier les mots fréquents
  • Retirer les tokens indésirables
  • « I don't like Sam's shoes. »
  • « I », « do », « n't », « like », « Sam », « 's », « shoes », « . »
Introduction au traitement du langage naturel en Python

Autres tokenizeurs nltk

  • sent_tokenize : tokeniser un document en phrases

  • regexp_tokenize : tokeniser une chaîne ou un document selon un motif d'expression régulière

  • TweetTokenizer : classe spécialisée pour les tweets, pour séparer mots-clics, mentions et plein de points d'exclamation !!!

Introduction au traitement du langage naturel en Python

Plus d'exercices sur les regex

  • Différence entre re.search() et re.match()
import re
re.match('abc', 'abcde')
<_sre.SRE_Match object; span=(0, 3), match='abc'>
re.search('abc', 'abcde')
<_sre.SRE_Match object; span=(0, 3), match='abc'>
re.match('cd', 'abcde')
re.search('cd', 'abcde')
<_sre.SRE_Match object; span=(2, 4), match='cd'>
Introduction au traitement du langage naturel en Python

Passons à la pratique !

Introduction au traitement du langage naturel en Python

Preparing Video For Download...