Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Ordklassemerking | Stamming og Lemmatisering
Introduksjon til NLP

bookOrdklassemerking

Forståelse av POS-tagging

Vi har nevnt at part-of-speech-tagging er nyttig for lemmatisering, som er dens primære rolle i tekstforbehandling, så la oss se nærmere på denne prosessen.

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 dets definisjon og kontekst — det vil si dets forhold 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-tagging med NLTK

For å utføre part-of-speech-tagging 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 veiledet 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 egenskaper 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 part-of-speech (POS) tagging i NLP?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 5

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

Awesome!

Completion rate improved to 3.45

bookOrdklassemerking

Sveip for å vise menyen

Forståelse av POS-tagging

Vi har nevnt at part-of-speech-tagging er nyttig for lemmatisering, som er dens primære rolle i tekstforbehandling, så la oss se nærmere på denne prosessen.

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 dets definisjon og kontekst — det vil si dets forhold 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-tagging med NLTK

For å utføre part-of-speech-tagging 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 veiledet 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 egenskaper 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 part-of-speech (POS) tagging i NLP?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 5
some-alt