Maison > développement back-end > Tutoriel Python > Présentation de la boîte à outils en langage naturel (NLTK)

Présentation de la boîte à outils en langage naturel (NLTK)

William Shakespeare
Libérer: 2025-03-01 10:05:09
original
197 Les gens l'ont consulté

Le traitement du langage naturel (NLP) est le traitement automatique ou semi-automatique du langage humain. La PNL est étroitement liée à la linguistique et a des liens vers la recherche en sciences cognitives, psychologie, physiologie et mathématiques. Dans le domaine de l'informatique en particulier, la PNL est liée aux techniques du compilateur, à la théorie du langage formelle, à l'interaction humaine-ordinateur, à l'apprentissage automatique et à la preuve du théorème. Cette question Quora montre les différents avantages de NLP.

Dans ce tutoriel, je vais vous guider à travers une plate-forme Python intéressante pour NLP appelée The Natural Language Toolkit (NLTK). Avant de voir comment travailler avec cette plate-forme, permettez-moi d'abord de vous dire ce qu'est NLTK.

Qu'est-ce que NLTK?

La boîte à outils en langage naturel (NLTK) est une plate-forme utilisée pour la création de programmes pour l'analyse de texte. La plate-forme a été initialement publiée par Steven Bird et Edward Loper en conjonction avec un cours de linguistique informatique à l'Université de Pennsylvanie en 2001. Il existe un livre d'accompagnement pour la plate-forme appelée Natural Language Processing with Python.

Installation de NLTK

LETS NOW INSTRULLATION NLTK pour commencer à expérimenter le traitement du langage naturel. Ce sera amusant!

L'installation de NLTK est très simple. J'utilise Windows 10, donc dans mon invite de commande (Send_Tokenize () Méthode.

Considérons le texte suivant.

"Python is a very high-level programming language. Python is interpreted."<br>
Copier après la connexion
Copier après la connexion

Tokennize en utilisant le word_tokenize () Méthode. SORTIE: word_tokenize()

from nltk.tokenize import word_tokenize
text = "Python is a very high-level programming language. Python is interpreted."<br>print(word_tokenize(text))
Copier après la connexion
Copier après la connexion
Comme vous pouvez le voir, les marques de ponctuation sont également considérées comme des mots. eux.

NLTK nous fournit quelques mots d'arrêt pour voir ces mots, utilisez le script suivant:
['Python', 'is', 'a', 'very', 'high-level', 'programming', 'language', '.', 'Python', 'is', 'interpreted', '.']<br>
Copier après la connexion
Copier après la connexion

Dans ce cas, vous obtiendrez un ensemble (

Suit:

Comment pouvons-nous supprimer les mots d'arrêt de notre propre texte? L'exemple ci-dessous montre comment nous pouvons effectuer cette tâche:

from nltk.corpus import stopwords<br>print(set(stopwords.words('English')))<br>
Copier après la connexion
Copier après la connexion
La sortie du script ci-dessus est:

Présentation de la boîte à outils en langage naturel (NLTK) Donc, ce que la fonction word_tokenize () <p> est: </p> <blockquote> Tokenize une chaîne pour diviser la ponctuation autre que les périodes </blockquote> <h3> Recherche </h3> <p> Disons que nous avons le fichier texte suivant (téléchargez le fichier texte à partir de Dropbox). Nous aimerions rechercher (rechercher) le mot <code>language. Nous pouvons simplement le faire en utilisant la plate-forme NLTK comme suit:

"Python is a very high-level programming language. Python is interpreted."<br>
Copier après la connexion
Copier après la connexion

Dans ce cas, vous obtiendrez la sortie suivante:

Présentation de la boîte à outils en langage naturel (NLTK)

Remarquez que concordance() renvoie chaque occurrence du mot language, en plus d'un certain contexte. Avant cela, comme indiqué dans le script ci-dessus, nous tokenniser le fichier de lecture, puis le convertir en un objet nltk.Text.

Je veux juste noter que la première fois que j'ai exécuté le programme, j'ai obtenu l'erreur suivante, qui semble être liée au codage que la console utilise:

from nltk.tokenize import word_tokenize
text = "Python is a very high-level programming language. Python is interpreted."<br>print(word_tokenize(text))
Copier après la connexion
Copier après la connexion

chcp 65001.

Le corpus Gutenberg

comme mentionné dans Wikipedia:

Projet Gutenberg (PG) est un effort volontaire pour numériser et archiver les œuvres culturelles, pour "encourager la création et la distribution des livres électroniques". Il a été fondé en 1971 par Michael S. Hart et est la plus ancienne bibliothèque numérique. La plupart des articles de sa collection sont le texte intégral des livres du domaine public. Le projet essaie de les rendre aussi gratuits que possible, dans des formats ouverts durables qui peuvent être utilisés sur presque tous les ordinateurs. Depuis le 3 octobre 2015, le projet Gutenberg a atteint 50 000 articles dans sa collection.

NLTK contient une petite sélection de textes du projet Gutenberg. Pour voir les fichiers inclus de Project Gutenberg, nous effectuons ce qui suit:

['Python', 'is', 'a', 'very', 'high-level', 'programming', 'language', '.', 'Python', 'is', 'interpreted', '.']<br>
Copier après la connexion
Copier après la connexion

La sortie du script ci-dessus sera la suivante:

Présentation de la boîte à outils en langage naturel (NLTK)

Si nous voulons trouver le nombre de mots pour le fichier texte bryant-stories.txt par exemple, nous pouvons faire ce qui suit:

from nltk.corpus import stopwords<br>print(set(stopwords.words('English')))<br>
Copier après la connexion
Copier après la connexion

Le script ci-dessus doit retourner le nombre suivant de mots: 55563

Le script ci-dessus doit retourner le nombre suivant de mots:

Le script ci-dessus doit retourner le nombre suivant de mots:

Le script ci-dessus doit renvoyer le nombre suivant de mots:

. Conclusion Comme nous l'avons vu dans ce tutoriel, la plate-forme NLTK nous fournit un outil puissant pour travailler avec le traitement du langage naturel (NLP). Je n'ai fait que gratter la surface de ce tutoriel. Si vous souhaitez approfondir l'utilisation de NLTK pour différentes tâches NLP, vous pouvez vous référer au livre d'accompagnement de NLTK: traitement du langage naturel avec Python. Ce message a été mis à jour avec les contributions d'Esther Vaati. Esther est un développeur de logiciels et écrivain pour Envato TUTS.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal