Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Assegnazione delle Categorie Grammaticali | Stemming e Lemmatizzazione
Introduzione alla NLP

bookAssegnazione delle Categorie Grammaticali

Comprensione del POS Tagging

Abbiamo menzionato che il part-of-speech tagging è utile per la lemmatizzazione, che rappresenta il suo ruolo principale nella pre-elaborazione del testo; approfondiamo quindi questo processo.

Note
Definizione

Il part of speech (POS) tagging è il processo di annotazione di una parola in un testo (corpus) come corrispondente a una particolare parte del discorso (ad esempio, sostantivo o verbo), basandosi sia sulla sua definizione sia sul suo contesto, ovvero sulla relazione con le parole adiacenti e correlate in una frase, periodo o paragrafo.

L'utilizzo dei nomi completi delle parti del discorso (ad esempio, "verbo" o "sostantivo") può risultare piuttosto ingombrante, soprattutto con un ampio corpus. Per questo motivo si usano rappresentazioni abbreviate, note come tag. Ad esempio, "VB" invece di verbo. In pratica, tuttavia, diversi POS tagger possono utilizzare tag leggermente diversi e tag più dettagliati come "VBD" per verbi al passato.

POS Tagging con NLTK

Per eseguire il part-of-speech tagging con NLTK, è necessario importare la funzione pos_tag() direttamente da nltk e applicarla alla lista di stringhe (token) passandola come argomento.

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

Questa funzione restituisce una lista di tuple, ciascuna contenente un token e il suo tag. La riga nltk.download('averaged_perceptron_tagger_eng') avvia il download del dataset e dei modelli necessari per il PerceptronTagger, che è il POS tagger predefinito utilizzato da NLTK.

Note
Approfondisci

Questo tagger si basa sul modello perceptron medio, un algoritmo di apprendimento supervisionato efficace per l'elaborazione di testi su larga scala, incluso il POS tagging. Il PerceptronTagger è scelto per il suo equilibrio tra velocità e accuratezza, rendendolo adatto a una vasta gamma di attività NLP che richiedono il POS tagging. Impara i pesi delle caratteristiche in base ai dati di addestramento forniti e utilizza questi pesi per prevedere i tag POS in testi non visti.

Per una migliore rappresentazione visiva, possiamo convertire il risultato in un DataFrame di pandas:

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

In alternativa, si potrebbe utilizzare pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) senza trasporre il DataFrame, in modo che ogni riga rappresenti una coppia token-tag.

question mark

Qual è l'obiettivo del part-of-speech (POS) tagging nell'NLP?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 3.45

bookAssegnazione delle Categorie Grammaticali

Scorri per mostrare il menu

Comprensione del POS Tagging

Abbiamo menzionato che il part-of-speech tagging è utile per la lemmatizzazione, che rappresenta il suo ruolo principale nella pre-elaborazione del testo; approfondiamo quindi questo processo.

Note
Definizione

Il part of speech (POS) tagging è il processo di annotazione di una parola in un testo (corpus) come corrispondente a una particolare parte del discorso (ad esempio, sostantivo o verbo), basandosi sia sulla sua definizione sia sul suo contesto, ovvero sulla relazione con le parole adiacenti e correlate in una frase, periodo o paragrafo.

L'utilizzo dei nomi completi delle parti del discorso (ad esempio, "verbo" o "sostantivo") può risultare piuttosto ingombrante, soprattutto con un ampio corpus. Per questo motivo si usano rappresentazioni abbreviate, note come tag. Ad esempio, "VB" invece di verbo. In pratica, tuttavia, diversi POS tagger possono utilizzare tag leggermente diversi e tag più dettagliati come "VBD" per verbi al passato.

POS Tagging con NLTK

Per eseguire il part-of-speech tagging con NLTK, è necessario importare la funzione pos_tag() direttamente da nltk e applicarla alla lista di stringhe (token) passandola come argomento.

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

Questa funzione restituisce una lista di tuple, ciascuna contenente un token e il suo tag. La riga nltk.download('averaged_perceptron_tagger_eng') avvia il download del dataset e dei modelli necessari per il PerceptronTagger, che è il POS tagger predefinito utilizzato da NLTK.

Note
Approfondisci

Questo tagger si basa sul modello perceptron medio, un algoritmo di apprendimento supervisionato efficace per l'elaborazione di testi su larga scala, incluso il POS tagging. Il PerceptronTagger è scelto per il suo equilibrio tra velocità e accuratezza, rendendolo adatto a una vasta gamma di attività NLP che richiedono il POS tagging. Impara i pesi delle caratteristiche in base ai dati di addestramento forniti e utilizza questi pesi per prevedere i tag POS in testi non visti.

Per una migliore rappresentazione visiva, possiamo convertire il risultato in un DataFrame di pandas:

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

In alternativa, si potrebbe utilizzare pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) senza trasporre il DataFrame, in modo che ogni riga rappresenti una coppia token-tag.

question mark

Qual è l'obiettivo del part-of-speech (POS) tagging nell'NLP?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5
some-alt