Python >> Tutoriel Python >  >> Python

6 meilleures bibliothèques Python NLP

Si vous êtes un scientifique des données ou si vous aspirez à investir votre temps dans l'apprentissage du traitement du langage naturel (TAL) sera un investissement dans votre avenir. 2020 a vu un essor dans le domaine du traitement du langage naturel. Dans cet article de blog, vous découvrirez 5 bibliothèques NLP populaires et leurs applications.

Bibliothèques de prétraitement

Le prétraitement est une étape cruciale dans tout pipeline d'apprentissage automatique. Si vous construisez un modèle de langage, vous devrez créer un vecteur de mots qui implique la suppression des mots vides et la conversion des mots dans sa forme racine.

#1 Espacement

Spacy est une bibliothèque Python populaire pour la tokenisation, la lemmatisation et la radicalisation des phrases. Il s'agit d'une bibliothèque de qualité industrielle qui peut être utilisée pour le prétraitement de texte et la formation de classificateurs de texte basés sur l'apprentissage en profondeur.

Premiers pas avec Spacy :la reconnaissance d'entités nommées est une tâche importante dans le traitement du langage naturel. NER aide à extraire des entités importantes telles que l'emplacement, les noms d'organisation, etc.

import spacy

# python -m spacy download en_core_web_sm
nlp = spacy.load('en_core_web_sm')

sentences = ['Stockholm is a beautiful city',
           'Mumbai is a vibrant city'
           ]

for sentence in sentences:
   doc = nlp(sentence)
   for entity in doc.ents:
       print(entity.text, entity.label_)
       print(spacy.explain(entity.label_))

Le code ci-dessus traite les deux phrases et extrait l'emplacement dans les deux phrases.

Voyons maintenant la sortie

Comme le montre la sortie, le code a pu extraire Stockholm et Mumbai et les associer au label GPE qui indique les pays, les villes ou les états.

#2 NLTK

NLTK est une autre bibliothèque Python populaire pour le prétraitement de texte. Il a commencé comme un projet académique et est rapidement devenu très populaire parmi les chercheurs et les universitaires.

Voyons comment nous pouvons faire une partie de l'étiquetage de la parole en utilisant NLTK. Le balisage des parties du discours est utilisé pour extraire la partie importante du discours comme les noms, les pronoms, les adverbes, les adjectifs, etc.

import nltk
import os

sentence = "Python is a beautiful programming language."
tokens = nltk.word_tokenize(sentence)
tagged = nltk.pos_tag(tokens)
entities = nltk.chunk.ne_chunk(tagged)
print(entities)

Les parties du discours extraites de la phrase ci-dessus sont

 (S
   (GPE Python/NNP)
   is/VBZ
   a/DT
   beautiful/JJ
   programming/NN
   language/NN
   ./.) 

Applications

Une application populaire de la PNL consiste à catégoriser un document dans un ensemble donné d'étiquettes. Il existe un certain nombre de bibliothèques Python qui peuvent vous aider à former des modèles basés sur l'apprentissage en profondeur pour la modélisation de sujets, la synthèse de texte, l'analyse des sentiments, etc. Jetons un coup d'œil à certaines de ces bibliothèques populaires

La plupart des modèles de PNL basés sur l'apprentissage en profondeur reposent sur des modèles de langage pré-entraînés utilisant un processus appelé apprentissage par transfert. Un énorme corpus de documents est formé, puis ce modèle peut être affiné pour un domaine spécifique. Certaines bibliothèques populaires qui aident à utiliser des modèles pré-entraînés et à créer des applications NLP de qualité industrielle sont

FERME #3

Farm est un package open source populaire développé par une société basée à Berlin. Il est utilisé pour faciliter la vie des développeurs en fournissant quelques fonctionnalités intéressantes comme le suivi des expériences, l'apprentissage multitâche et le traitement parallélisé des documents.

#4 Flair

Flair est un framework populaire basé sur PyTorch qui aide les développeurs à créer l'état des applications NLP telles que la reconnaissance d'entités nommées, le marquage des parties du discours, la désambiguïsation et la classification.

#5 Transformateurs

Transformers est une bibliothèque Python populaire permettant d'accéder facilement à des modèles pré-formés et prend en charge à la fois PyTorch et TensorFlow. Si vous souhaitez créer un pipeline NLP complet en utilisant des modèles pré-entraînés pour la compréhension du langage naturel et les transformateurs de tâches de génération, cela vous facilitera la vie.

#6 Gensim

Gensim est une autre bibliothèque Python populaire largement utilisée pour la modélisation de sujets et fournit une interface facile à utiliser pour les algorithmes populaires comme word2vec pour trouver des mots synonymes.