Lemmatizzazione
Scorri per mostrare il menu
Comprendere la Lemmatizzazione
Lemmatizzazione è una tecnica di normalizzazione del testo utilizzata nell'NLP per ridurre le parole alla loro forma da dizionario, nota come lemma.
A differenza dello stemming, che tronca in modo approssimativo i suffissi, la lemmatizzazione considera il contesto e converte la parola nella sua forma da dizionario. Ad esempio, 'am', 'are' e 'is' vengono tutti lemmatizzati in 'be'. Questo approccio può ridurre significativamente la dimensione del vocabolario (il numero di parole uniche) in grandi corpora di testo, aumentando così l'efficienza durante l'addestramento dei modelli.
D'altra parte, sebbene la lemmatizzazione sia più accurata, è anche più computazionalmente costosa e può richiedere molto tempo con grandi set di dati. Inoltre, per una precisione ancora maggiore, si consiglia di eseguire un'analisi morfologica e il part-of-speech tagging prima della lemmatizzazione.
Non preoccuparti per il part-of-speech tagging per ora, poiché sarà l'argomento successivo che affronterai.
Lemmatizzazione con NLTK
Il WordNet Lemmatizer, fornito dalla libreria NLTK, utilizza il corpus WordNet per eseguire la lemmatizzazione.
WordNet è un database lessicale semanticamente ricco per l'inglese che va ben oltre un semplice corpus. Raggruppa le parole in insiemi di sinonimi, o synset, ciascuno dei quali rappresenta un concetto distinto ed è accompagnato da definizioni ed esempi d'uso. Inoltre, WordNet codifica relazioni significative tra questi synset — come hypernym (termini più generali) e hyponym (termini più specifici) — offrendo un potente quadro per esplorare e disambiguare i significati delle parole.
Quando si utilizza il WordNet Lemmatizer, questo consulta il database WordNet per trovare il lemma più appropriato della parola.
Come menzionato sopra, poiché le parole possono avere significati diversi in contesti differenti (ad esempio, "running" come verbo rispetto a "running" come sostantivo), il lemmatizzatore può richiedere di specificare la parte del discorso (ad esempio, verbo, sostantivo, aggettivo). Questo aiuta a selezionare il lemma corretto in base al ruolo della parola nella frase.
1234567891011from nltk.stem import WordNetLemmatizer import nltk # Download the WordNet corpus nltk.download('wordnet') # Initialize the WordNet lemmatizer lemmatizer = WordNetLemmatizer() # Parts of speech, 'v' for verb and 'n' for noun parts_of_speech = ['v', 'n'] # Lemmatize words lemmatized_words = [lemmatizer.lemmatize("running", pos) for pos in parts_of_speech] print("Lemmatized words:", lemmatized_words)
Si potrebbe omettere la specifica della parte del discorso chiamando lemmatizer.lemmatize("running"), ma come si può notare, parti del discorso diverse producono risultati differenti. Per questo motivo, è consigliabile eseguire l'assegnazione delle parti del discorso in anticipo.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione