Heim >Backend-Entwicklung >Python-Tutorial >[Python NLTK] Part-of-Speech-Tagging, einfache Identifizierung des Part-of-Speech von Wörtern

[Python NLTK] Part-of-Speech-Tagging, einfache Identifizierung des Part-of-Speech von Wörtern

WBOY
WBOYnach vorne
2024-02-25 10:01:19878Durchsuche

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

NLTK POS-Tagging-Übersicht

Part-of-Speech-Tagging bezieht sich auf die Identifizierung der Wortart jedes Wortes in einem Satz, z. B. Substantive, Verben, Adjektive, Adverbien usw. Das Markieren von Wortarten ist für viele Aufgaben der Verarbeitung natürlicher Sprache sehr wichtig, beispielsweise für die syntaktische Analyse, die semantische Analyse und die maschinelle Übersetzung. NLTK bietet eine Vielzahl von Wortart-Taggern, die uns dabei helfen können, die Wortart von Wörtern in Sätzen einfach zu kennzeichnen. Diese Wortart-Tagger werden anhand statistischer Modelle trainiert, was bedeutet, dass sie lernen können, wie man die Wortart von Wörtern anhand von Daten aus großen Korpora identifiziert. Verwenden Sie den NLTK POS-Tagger

Wir können die -Funktion von NLTK verwenden, um die Wortart für die Wörter im Satz zu markieren. Diese Funktion akzeptiert eine Liste von Sätzen als Eingabe und gibt eine Liste von Wort- und Wortartpaaren als Ausgabe zurück. Beispielsweise können wir den folgenden Code verwenden, um die Wörter im Satz „Der schnelle Braunfuchs springt über den faulen Hund“ als Teil der Sprache zu kennzeichnen:

>>> 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")]

In den Ausgabeergebnissen folgt auf jedes Wort eine Wortartabkürzung. Beispielsweise steht „DT“ für einen Determinator, „JJ“ für ein Adjektiv, „NN“ für ein Substantiv, „VBZ“ für ein Verb und so weiter.

Genauigkeit des Wortart-Taggers

pos_tag()Die Genauigkeit des NLTK POS-Taggers hängt vom verwendeten Korpus und Trainingsmodell ab. Im Allgemeinen gilt: Je größer der Korpus, desto besser ist das Modell trainiert und desto höher ist die Genauigkeit des Wortart-Taggers.

Wir können die

-Funktion von NLTK verwenden, um die Genauigkeit des Wortart-Taggers zu bewerten. Diese Funktion akzeptiert eine Liste von Wort- und Wortartpaaren als Eingabe und gibt einen Gleitkommawert zurück, der die Genauigkeit darstellt. Beispielsweise können wir den folgenden Code verwenden, um die Genauigkeit des POS-Taggers im obigen Beispiel zu bewerten:

>>> 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

Die Ausgabeergebnisse zeigen, dass die Genauigkeit des Wortart-Taggers 90 % beträgt.

Fazit

accuracy()NLTK POS Tagger ist ein sehr leistungsfähiges

Tool

, mit dem wir den POS von Wörtern in Sätzen einfach markieren können. Diese Wortart-Tagger sind wichtig für viele Aufgaben der Verarbeitung natürlicher Sprache, wie etwa syntaktische Analyse, semantische Analyse und maschinelle Übersetzung.

Das obige ist der detaillierte Inhalt von[Python NLTK] Part-of-Speech-Tagging, einfache Identifizierung des Part-of-Speech von Wörtern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen