Ceci est une ancienne révision du document !
Table des matières
Text Processing and Machine Learning
Définitions
Text processing
In computing, the term text processing refers to the theory and practice of automating the creation or manipulation of electronic text.
TAL
Le traitement automatique du langage naturel (abr. TALN), ou traitement automatique de la langue naturelle1, ou encore traitement automatique des langues (abr. TAL) est un domaine multidisciplinaire impliquant la linguistique, l'informatique et l'intelligence artificielle, qui vise à créer des outils de traitement de la langue naturelle pour diverses applications.
Ressources
- Analysez vos données textuelles sur OpenClassrooms. L'exemple est trop compliqué pour expliquer des notions simples. De plus, l'exemple n'est pas fourni, le code est partiel (avec des erreurs et un mauvais respect du PEP8). C'est en français et ça a le mérite d'exister.
En anglais, beaucoup de ressources, en particulier:
Analyse du corpus
Récupérération de textes et exploration du corpus
Récupérération du texte de l'exemple
Cet exemple analyse le texte défini dans text.py par
TEXT = “”“un texte”““
Import de TEXT dans text_process_ex.py avec:
# Import comme module --> pas de fichier à lire from text import TEXT # TEXT est une varible globale
TEXT est notre corpus
En général
Le corpus sera soit une liste, un dictionnaire, un set de string, récupéré dans une DB, dans du html, dans des fichiers … qu'il peut être nécessaire de nettoyer, arranger.
Exemple d'étape
- Chargement d'un html
- Récupération du texte voulu avec Beautifullsoup
- nltk_example.py
#!/usr/bin/env python3.7 import nltk raw = """À Monseigneur Le Duc de Bourgogne Prince, l’unique objet du soin des Immortels, Souffrez que mon encens parfume vos Autels. Je vous offre un peu tard ces présents de ma Muse ; """ # Tokenize the text tokens = nltk.wordpunct_tokenize(raw) # Je ne garde que du 2ème mot au 30ème tokens =tokens[2:30] # Création d'un NLTK Text text = nltk.Text(tokens) print(f'Texte:\n{text}') # <Text: Bourgogne Prince , l ’ unique objet du...> # Normalize the words words = [w.lower() for w in text] print(f'words: nombre={len(words)}\n{words}') # Build vocabulary (les mots sans la ponctuation, apostrophe) vocab = sorted(set(words)) print(f'vocab: nombre={len(vocab)}\n{vocab}')