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

Suggested prompts:

Can you explain what each POS tag means in the output?

How does POS tagging help with lemmatization?

What are some common POS tag sets used in NLP?

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