Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Assegnazione delle Categorie Grammaticali | Sezione
Practice
Projects
Quizzes & Challenges
Quiz
Challenges
/
Elaborazione del Linguaggio Naturale

bookAssegnazione delle Categorie Grammaticali

Scorri per mostrare il menu

Note
Definizione

L'assegnazione delle categorie grammaticali (POS tagging) è il processo di annotazione di una parola in un testo (corpus) come corrispondente a una particolare categoria grammaticale (ad esempio, nome 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 categorie grammaticali (ad esempio "verbo" o "nome") può risultare piuttosto ingombrante, soprattutto con corpora di grandi dimensioni. Per questo motivo si utilizzano rappresentazioni abbreviate, note come tag. Ad esempio, "VB" invece di verbo. In pratica, tuttavia, diversi tagger POS possono utilizzare tag leggermente diversi e tag più dettagliati come "VBD" per verbi al passato.

POS Tagging con NLTK

Per eseguire l'assegnazione delle categorie grammaticali con NLTK, è necessario importare direttamente la funzione pos_tag() 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 un elenco 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 rappresentazione visiva più chiara, è possibile 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, è possibile 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 1. Capitolo 14

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

Sezione 1. Capitolo 14
some-alt