Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Ordklassemerking | Seksjon
Naturlig Språkprosessering

bookOrdklassemerking

Sveip for å vise menyen

Note
Definisjon

Part-of-speech (POS) tagging er prosessen med å merke et ord i en tekst (korpus) som tilhørende en bestemt ordklasse (for eksempel substantiv eller verb), basert på både definisjonen og konteksten — det vil si forholdet til tilstøtende og relaterte ord i en frase, setning eller avsnitt.

Å bruke fulle navn på ordklasser (for eksempel "verb" eller "substantiv") kan bli ganske tungvint, spesielt med store korpus. Derfor brukes korte representasjoner, kjent som tagger, i stedet. For eksempel "VB" i stedet for verb. I praksis kan imidlertid ulike POS-taggere bruke litt forskjellige tagger og mer detaljerte tagger som "VBD" for verb i preteritum.

POS-taggering med NLTK

For å utføre part-of-speech-taggering med NLTK, bør du importere funksjonen pos_tag() direkte fra nltk og bruke den på listen av strenger (tokens) ved å sende den som argument.

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

Denne funksjonen returnerer en liste med tupler, der hvert element inneholder et token og dets tag. Linjen nltk.download('averaged_perceptron_tagger_eng') starter nedlastingen av datasettet og modellene som er nødvendige for PerceptronTagger, som er standard POS-tagger brukt av NLTK.

Note
Les mer

Denne taggeren er basert på averaged perceptron-modellen, en overvåket læringsalgoritme som er effektiv for storskala tekstbehandling, inkludert POS-tagging. PerceptronTagger er valgt for sin balanse mellom hastighet og nøyaktighet, noe som gjør den egnet for et bredt spekter av NLP-oppgaver som krever POS-tagging. Den lærer vekter for funksjoner basert på treningsdataene den får, og bruker disse vektene til å forutsi POS-tagger i ukjent tekst.

For bedre visuell fremstilling kan vi konvertere resultatet til en 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

Alternativt kan vi bruke pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) uten å transponere DataFrame, slik at hver rad representerer et token-tag-par.

question mark

Hva er målet med ordklassemerking (POS-tagging) i NLP?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 14

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 1. Kapittel 14
some-alt