Maison >développement back-end >Tutoriel Python >Exemple de traitement du langage naturel en Python : vecteurs de mots

Exemple de traitement du langage naturel en Python : vecteurs de mots

WBOY
WBOYoriginal
2023-06-11 09:48:461323parcourir

Le traitement du langage naturel Python (NLP) est une technologie largement utilisée pour extraire et analyser des informations significatives à partir de données en langage humain. L'une des applications importantes de la PNL est l'incorporation de mots, qui est une technique qui convertit les mots en vecteurs numériques, représentant la sémantique des mots comme des valeurs réelles dans l'espace vectoriel.

Dans cet article, nous apprendrons comment utiliser les bibliothèques Python et NLP pour créer un modèle vectoriel de mots et y effectuer des analyses de base.

Installer la bibliothèque Python NLP
Nous utiliserons la bibliothèque gensim en Python, qui est une bibliothèque spécifiquement pour le NLP. Avant de l'utiliser, vous devez d'abord installer gensim sur votre ordinateur local. Nous pouvons installer gensim dans le terminal en utilisant la commande suivante :

pip install gensim

Préparer les données
Avant de créer des vecteurs de mots, nous devons préparer des données texte en entrée. Dans cet exemple, nous utiliserons le roman classique du projet Gutenberg comme texte d'entrée.

Nous allons télécharger et importer la bibliothèque du Projet Gutenberg en utilisant le code suivant :

!pip install gutenberg

from gutenberg.acquire import load_etext
from gutenberg.cleanup import strip_headers
text = strip_headers(load_etext(2701)).strip( )

Ici, nous supprimons les informations principales et l'en-tête du roman en appelant la fonction strip_headers. Nous sommes maintenant prêts à intégrer ce texte dans le modèle vectoriel de mots.

Créer un modèle vectoriel de mots
Pour créer des vecteurs de mots à l'aide de Python, nous devons effectuer les étapes suivantes :

Convertir le texte original en une liste de mots
Entraîner le modèle vectoriel de mots à l'aide de la liste de mots
Dans le code suivant, nous divisons le texte en mots, créez un vocabulaire, codez des mots sous forme d'entiers et entraînez un modèle vectoriel de mots à l'aide de la bibliothèque gensim.

from gensim.models import Word2Vec
import nltk
nltk.download('punkt')

raw_sentences = nltk.sent_tokenize(text)
sentences = [nltk.word_tokenize(sentence) pour la phrase dans raw_sentences]
model = Word2Vec( phrases, min_count=1)

Tout d'abord, nous utilisons la fonction sent_tokenize de la bibliothèque nltk pour diviser le texte en phrases.

Ensuite, nous utilisons la fonction word_tokenize de nltk pour diviser la phrase en mots. Cela renverra une liste imbriquée de mots. Le modèle

Word2Vec utilise des listes de mots imbriquées comme entrée et apprend les vecteurs de mots en fonction de leurs relations de cooccurrence. Le paramètre min_count spécifie le nombre minimum d'occurrences d'un mot avant qu'il soit pris en compte.

La formation du modèle prend un certain temps, en fonction de la taille de l'ensemble de données d'entrée et des performances de votre ordinateur.

Analyse du modèle
Nous pouvons utiliser le code suivant pour analyser le modèle vectoriel de mots :

Trouver d'autres mots les plus similaires au mot

model.wv.most_similar('monstre')

Trouver des vecteurs de mots

model .wv[' monster']

Afficher la taille du vocabulaire

len(model.wv.vocab)

Enregistrer le modèle sur le disque

model.save('model.bin')

Charger le modèle à partir du disque

model = Word2Vec.load('model.bin')

Ici, nous utilisons d'abord la fonction most_similar pour trouver d'autres mots les plus similaires au mot monstre. Les résultats incluent les scores de mots et de similarité.

Ensuite, nous utilisons l'attribut wv dans la description du vecteur de mot pour trouver la représentation vectorielle du mot monstre.

len(model.wv.vocab) vérifie la taille du vocabulaire dans le modèle. Enfin, nous utilisons les fonctions de sauvegarde et de chargement pour sauvegarder et charger le modèle.

Conclusion
Dans cet article, nous avons appris comment créer un modèle vectoriel de mots à l'aide de Python et de la bibliothèque gensim. Nous avons vu comment convertir du texte en une liste de mots et utiliser ces données pour former un modèle vectoriel de mots. Enfin, nous avons également appris à utiliser un modèle pour trouver les mots les plus similaires à un mot donné.

Les vecteurs de mots sont un sujet important en PNL. Grâce à cet article, vous avez appris à utiliser la bibliothèque NLP en Python pour l'analyse de vecteurs de mots.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn