Maison >développement back-end >Tutoriel Python >[Python NLTK] Marquage de partie du discours, identifiez facilement la partie du discours des mots

[Python NLTK] Marquage de partie du discours, identifiez facilement la partie du discours des mots

WBOY
WBOYavant
2024-02-25 10:01:19871parcourir

【Python NLTK】词性标注,轻松识别词语的词性

Aperçu du marquage NLTK POS

Le marquage des parties du discours fait référence à l'identification de la partie du discours de chaque mot dans une phrase, comme les noms, les verbes, les adjectifs, les adverbes, etc. Le marquage d'une partie du discours est très important pour de nombreuses tâches de traitement du langage naturel, telles que l'analyse syntaxique, l'analyse sémantique et la traduction automatique.

NLTK fournit une variété de marqueurs de parties du discours qui peuvent nous aider à marquer facilement les parties du discours des mots dans les phrases. Ces marqueurs de parties du discours sont formés sur des modèles statistiques, ce qui signifie qu'ils peuvent apprendrecomment identifier la partie du discours des mots sur la base des données provenant de grands corpus.

Utilisez le tagueur NLTK POS

Nous pouvons utiliser la fonction

de NLTK pour marquer la partie du discours des mots de la phrase. Cette fonction accepte une liste de phrases en entrée et renvoie une liste de paires de mots et de parties du discours en sortie. Par exemple, nous pouvons utiliser le code suivant pour étiqueter les mots de la phrase « Le renard brun rapide saute par-dessus le chien paresseux » dans le cadre du discours : pos_tag()

>>> import nltk
>>> nltk.download("punkt")
>>> nltk.download("averaged_perceptron_tagger")
>>> sentence = "The quick brown fox jumps over the lazy dog"
>>> Words = nltk.word_ tokenize(sentence)
>>> tagged_words = nltk.pos_tag(words)
>>> print(tagged_words)
[("The", "DT"), ("quick", "JJ"), ("brown", "JJ"), ("fox", "NN"), ("jumps", "VBZ"), ("over", "IN"), ("the", "DT"), ("lazy", "JJ"), ("dog", "NN")]

Dans les résultats de sortie, chaque mot est suivi d'une abréviation d'une partie du discours. Par exemple, « DT » représente un déterminant, « JJ » représente un adjectif, « NN » représente un nom, « VBZ » représente un verbe, etc.

Précision du marqueur de partie du discours

La précision du tagger NLTK POS dépend du corpus et du modèle de formation utilisés. De manière générale, plus le corpus est grand, meilleur est le modèle formé et plus la précision du marqueur de partie du discours est élevée.

Nous pouvons utiliser la fonction

de NLTK pour évaluer l'exactitude du marqueur de partie du discours. Cette fonction accepte une liste de paires de mots et de parties de discours en entrée et renvoie un flottant représentant la précision. Par exemple, nous pouvons utiliser le code suivant pour évaluer la précision du tagger POS dans l'exemple ci-dessus : accuracy()

>>> from nltk.metrics import accuracy
>>> Gold_standard = [("The", "DT"), ("quick", "JJ"), ("brown", "JJ"), ("fox", "NN"), ("jumps", "VBZ"), ("over", "IN"), ("the", "DT"), ("lazy", "JJ"), ("dog", "NN")]
>>> accuracy(gold_standard, tagged_words)
0.9

Les résultats de sortie montrent que la précision du marqueur de partie du discours est de 90 %.

Conclusion

NLTK POS tagger est un

outil très puissant qui peut nous aider à marquer facilement le POS des mots dans les phrases. Ces marqueurs de parties du discours sont importants pour de nombreuses tâches de traitement du langage naturel, telles que l'analyse syntaxique, l'analyse sémantique et la traduction automatique.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer