Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Woordsoorttagging | Sectie
Natuurlijke Taalverwerking

bookWoordsoorttagging

Veeg om het menu te tonen

Note
Definitie

Part-of-speech (POS) tagging is het proces waarbij een woord in een tekst (corpus) wordt gemarkeerd als behorend tot een bepaald woordsoort (bijv. zelfstandig naamwoord of werkwoord), op basis van zowel de definitie als de context — dat wil zeggen, de relatie met aangrenzende en gerelateerde woorden in een uitdrukking, zin of alinea.

Het gebruik van volledige woordsoortnamen (bijv. "werkwoord" of "zelfstandig naamwoord") kan behoorlijk omslachtig worden, vooral bij een groot corpus. Daarom worden korte aanduidingen, bekend als tags, gebruikt. Bijvoorbeeld, "VB" in plaats van werkwoord. In de praktijk kunnen verschillende POS-taggers echter iets andere tags en meer gedetailleerde tags gebruiken, zoals "VBD" voor werkwoorden in de verleden tijd.

POS-tagging met NLTK

Voor het uitvoeren van part-of-speech tagging met NLTK, dient de functie pos_tag() direct uit nltk geïmporteerd te worden en toegepast te worden op de lijst van strings (tokens) door deze als argument mee te geven.

123456789101112
from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) print(tagged_tokens)
copy

Deze functie retourneert een lijst van tuples, elk bestaande uit een token en het bijbehorende label. De regel nltk.download('averaged_perceptron_tagger_eng') start het downloaden van de dataset en modellen die nodig zijn voor de PerceptronTagger, de standaard POS-tagger die door NLTK wordt gebruikt.

Note
Meer Bestuderen

Deze tagger is gebaseerd op het averaged perceptron model, een supervisie-leeralgoritme dat effectief is voor grootschalige tekstverwerking, waaronder POS-tagging. De PerceptronTagger wordt gekozen vanwege de balans tussen snelheid en nauwkeurigheid, waardoor deze geschikt is voor uiteenlopende NLP-taken die POS-tagging vereisen. Het model leert gewichten voor kenmerken op basis van de trainingsdata en gebruikt deze gewichten om POS-labels te voorspellen in niet eerder geziene tekst.

Voor een betere visuele weergave kunnen we het resultaat omzetten naar een pandas DataFrame:

1234567891011121314
from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk import pandas as pd nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) # Convert to DataFrame print(pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']).T)
copy

Als alternatief kunnen we pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) gebruiken zonder de DataFrame te transponeren, zodat elke rij een token-tagpaar weergeeft.

question mark

Wat is het doel van part-of-speech (POS) tagging in NLP?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 14

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 1. Hoofdstuk 14
some-alt