Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Ordklassemærkning | Stamme- og Lemmatisering
Introduktion til NLP

bookOrdklassemærkning

Forståelse af POS-tagging

Vi har nævnt, at part-of-speech-tagging er gavnligt for lemmatisering, hvilket er dens primære rolle i tekstforbehandling, så lad os gennemgå denne proces mere detaljeret.

Note
Definition

Part of speech (POS) tagging er processen, hvor et ord i en tekst (korpus) markeres som tilhørende en bestemt ordklasse (f.eks. substantiv eller verbum), baseret på både dets definition og dets kontekst — dvs. dets forhold til tilstødende og beslægtede ord i en sætning, et afsnit eller en frase.

Brug af fulde ordklassenavne (f.eks. "verbum" eller "substantiv") kan blive ret besværligt, især med store korpus. Derfor anvendes korte repræsentationer, kendt som tags, i stedet. For eksempel "VB" i stedet for verbum. I praksis kan forskellige POS-taggere dog bruge lidt forskellige tags og mere detaljerede tags som "VBD" for verber i datid.

POS-tagging med NLTK

For at udføre part-of-speech-tagging med NLTK, skal du importere funktionen pos_tag() direkte fra nltk og anvende den på listen af strenge (tokens) ved at 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 funktion returnerer en liste af tuples, hvor hver tuple indeholder et token og dets tag. Linjen nltk.download('averaged_perceptron_tagger_eng') starter download af datasættet og de modeller, der er nødvendige for PerceptronTagger, som er den standard POS-tagger, der bruges af NLTK.

Note
Læs Mere

Denne tagger er baseret på averaged perceptron-modellen, en superviseret læringsalgoritme, der er effektiv til storskalabehandling af tekst, herunder POS-tagging. PerceptronTagger vælges for sin balance mellem hastighed og nøjagtighed, hvilket gør den velegnet til en bred vifte af NLP-opgaver, der kræver POS-tagging. Den lærer vægte for funktioner baseret på de træningsdata, den får, og bruger disse vægte til at forudsige POS-tags i uset tekst.

For bedre visuel repræsentation 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 kunne vi bruge pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) uden at transponere DataFrame, så hver række repræsenterer et token-tag-par.

question mark

Hvad er målet med part-of-speech (POS) tagging i NLP?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 5

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 3.45

bookOrdklassemærkning

Stryg for at vise menuen

Forståelse af POS-tagging

Vi har nævnt, at part-of-speech-tagging er gavnligt for lemmatisering, hvilket er dens primære rolle i tekstforbehandling, så lad os gennemgå denne proces mere detaljeret.

Note
Definition

Part of speech (POS) tagging er processen, hvor et ord i en tekst (korpus) markeres som tilhørende en bestemt ordklasse (f.eks. substantiv eller verbum), baseret på både dets definition og dets kontekst — dvs. dets forhold til tilstødende og beslægtede ord i en sætning, et afsnit eller en frase.

Brug af fulde ordklassenavne (f.eks. "verbum" eller "substantiv") kan blive ret besværligt, især med store korpus. Derfor anvendes korte repræsentationer, kendt som tags, i stedet. For eksempel "VB" i stedet for verbum. I praksis kan forskellige POS-taggere dog bruge lidt forskellige tags og mere detaljerede tags som "VBD" for verber i datid.

POS-tagging med NLTK

For at udføre part-of-speech-tagging med NLTK, skal du importere funktionen pos_tag() direkte fra nltk og anvende den på listen af strenge (tokens) ved at 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 funktion returnerer en liste af tuples, hvor hver tuple indeholder et token og dets tag. Linjen nltk.download('averaged_perceptron_tagger_eng') starter download af datasættet og de modeller, der er nødvendige for PerceptronTagger, som er den standard POS-tagger, der bruges af NLTK.

Note
Læs Mere

Denne tagger er baseret på averaged perceptron-modellen, en superviseret læringsalgoritme, der er effektiv til storskalabehandling af tekst, herunder POS-tagging. PerceptronTagger vælges for sin balance mellem hastighed og nøjagtighed, hvilket gør den velegnet til en bred vifte af NLP-opgaver, der kræver POS-tagging. Den lærer vægte for funktioner baseret på de træningsdata, den får, og bruger disse vægte til at forudsige POS-tags i uset tekst.

For bedre visuel repræsentation 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 kunne vi bruge pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) uden at transponere DataFrame, så hver række repræsenterer et token-tag-par.

question mark

Hvad er målet med part-of-speech (POS) tagging i NLP?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 5
some-alt