Tokenization avec spacy
La tokenization avec spaCy utilise la bibliothèque spaCy pour découper un texte en tokens (mots, ponctuation, etc.) de manière précise, en prenant en compte la structure grammaticale du texte. SpaCy offre une tokenization rapide et efficace, adaptée pour des applications de traitement du langage naturel complexes.
Fonctions :
-
spaCy
spaCy est une bibliothèque NLP (traitement du langage naturel) de pointe qui permet une tokenisation avancée. Contrairement à nltk.word_tokenize(), spaCy traite non seulement les mots et la ponctuation, mais aussi les entités nommées, les lemmes, et d’autres aspects linguistiques importants.
Importation :
import spacy
Attributs :
Paramètre Description texte
La chaîne de texte à tokeniser nlp
L'objet spaCy qui exécute les traitements sur le texte Exemple de code :
import spacy # Charger le modèle spaCy en français nlp = spacy.load('fr_core_news_sm') # Exemple de texte texte = "Bonjour, comment allez-vous ? J'espère que tout va bien." # Tokenisation avec spaCy doc = nlp(texte) # Extraction des tokens tokens = [token.text for token in doc] print(tokens)
Explication du code :
- Chargement du modèle
spaCy
:spacy.load('fr_core_news_sm')
charge le modèle linguistique pour le français.spaCy
propose différents modèles pour plusieurs langues. - Tokenisation avec
nlp()
:- Le texte est passé dans l'objet
nlp
pour le traiter et générer un objetDoc
. - Les tokens sont ensuite extraits sous forme de liste à l’aide de
token.text
.
- Le texte est passé dans l'objet
- Résultat :
- Le texte est découpé en tokens, y compris la ponctuation, et chaque token est un objet avec des attributs linguistiques (par exemple, le lemme, les entités nommées).
🔎 Remarques
spaCy
offre de nombreuses fonctionnalités supplémentaires comme le lemmatisation, la reconnaissance d'entités nommées (NER), la détection de la partie du discours (POS tagging), et la dépendance syntaxique.- C'est une solution robuste pour des projets NLP complexes et à grande échelle.
- Il existe des modèles pour différentes langues (en, fr, de, etc.), et vous pouvez facilement charger ces modèles via
spacy.load()
.
- Chargement du modèle