Lemmatization avec spacy
La lemmatisation avec spaCy consiste à utiliser le modèle linguistique de spaCy pour réduire les mots à leur forme de base ou « lemme ». SpaCy applique un processus linguistique sophistiqué qui prend en compte le contexte grammatical des mots dans une phrase (tels que les verbes, noms, adjectifs, etc.) afin de trouver leur forme canonique. Cela permet d’obtenir des résultats plus précis et naturels, par exemple transformer « running » en « run » ou « better » en « good ». Contrairement à certaines approches simples de stemming, la lemmatisation avec spaCy conserve la signification correcte du mot en fonction du contexte.
Fonctions :
-
Lemmatisation avec spaCy
La lemmatisation avec spaCy permet de réduire un mot à sa forme canonique (le lemme) en tenant compte du contexte grammatical du mot. Contrairement au stemming qui coupe les mots à leur racine, la lemmatisation avec spaCy est très précise et peut prendre en compte les informations syntaxiques et sémantiques pour effectuer une réduction correcte. Chaque token dans un texte a un attribut lemma_, qui contient la forme de base du mot.
Importation :
import spacy
Attributs :
Paramètre Description lemma_
Attribut d'un token qui contient le lemme du mot (sa forme canonique). Exemple de code :
import spacy # Charger le modèle linguistique en anglais (ou autre langue) nlp = spacy.load("en_core_web_sm") # Exemple de texte texte = "The cats are running after the mice." # Traitement du texte avec spaCy doc = nlp(texte) # Application de la lemmatisation lemmes = [token.lemma_ for token in doc] print(lemmes)
Explication du code :
- Chargement du modèle
spaCy
: Un modèle linguistique est chargé pour la langue souhaitée (ici l'anglais avec"en_core_web_sm"
). Ce modèle contient les informations nécessaires à l'analyse syntaxique et grammaticale du texte. - Traitement du texte avec
nlp()
: Le texte est passé à la fonctionnlp()
pour effectuer l'analyse linguistique. Cela permet d'extraire les tokens et leurs propriétés (comme le lemme). - Extraction des lemmes : Chaque token dans le texte possède un attribut
lemma_
qui contient la forme de base du mot. Par exemple, "running" sera réduit à "run", "cats" à "cat", etc. - Résultat :
- Pour l'exemple "The cats are running after the mice.", la sortie serait
['the', 'cat', 'be', 'run', 'after', 'the', 'mouse']
.
- Pour l'exemple "The cats are running after the mice.", la sortie serait
🔎 Remarques
spaCy
utilise un modèle linguistique plus complet quenltk.WordNetLemmatizer
, qui peut gérer non seulement la lemmatisation mais aussi d'autres aspects de l'analyse linguistique comme la dépendance syntaxique, l'étiquetage des parties du discours et la reconnaissance d'entités nommées.- Il est important de noter que
spaCy
est rapide et bien adapté aux gros volumes de texte, et qu'il fournit également des outils puissants pour l'extraction d'information. - Le modèle linguistique peut être utilisé pour d'autres langues en remplaçant
"en_core_web_sm"
par des modèles adaptés aux langues souhaitées.
- Chargement du modèle