Algoritmo di stemming

Lo stemming è un metodo IR ( Information retrieval ) che identifica la radice delle parole per generalizzare le operazioni di interrogazione e selezione dei documenti in un archivio. Lo stemming trasforma le parole nella loro forma flessa e più generale.

Il significato di stem ( stelo )

Il termine stemming deriva dall'inglese stem ossia stelo. Si considera la radice di una parola come uno stelo da cui si diramano tutte le parole varianti, come un albero, che compone la famiglia delle parole.

esempio pratico di stemming

Il primo programma di stemming fu sviluppato da Julie Beth Lovins nel 1968 e successivamente migliorato negli anni '80 da Martin Porter.

La radice della parola

Nello stemming la radice è un elemento linguistico irriducibile della parola che continua a esprimere il significato del termine completo.

un esempio di radice della parola

Nella linguistica il concetto di radice potrebbe essere diverso e non coincidere coincide sempre con quello utilizzato in un algoritmo di stemming.

Nota. La radice linguistica di un termine si ottiene eliminando i prefissi, i suffissi e la desinenza della parola.

Come funziona lo stemming

In un testo ( corpus ) si sostituiscono tutte le parole con le relativi radici. Il risultato finale è una versione del testo con la stessa quantità di termini ma con meno varianti.
esempio di riduzione del testo alla forma radice ( stem )

Nota. Il testo nella forma radice non sostituisce quello con le parole nella forma piena, bensì lo affianca come un descrittore di keyword per agevolare le operazioni di selezione.

Lo stesso metodo viene applicato alle parole delle interrogazioni ( query ) dell'utente. In un sistema IRS ( Information Retrieval Stemming ) le parole intere della query sono ridotti alla loro radice.

la riduzione alla radice della query

In questo modo, il processo di ricerca e di matching delle informazioni è più efficace, poiché la radice espande la selezione su più documenti rilevanti.

il processo di matching dopo lo stemming

Le stop word nello stemming

Si può ulteriormente ridurre la complessità del testo eliminando le stop-word dal testo e dalle query prima dello stemming. Le stop-word sono quelle parole che non hanno un significato specifico, si tratta di parole comuni usate in ogni testo ( es. articoli, preposizioni, negazioni, ecc. ).

eliminazione delle stopword nel processo di stemming

In questo modo si riduce il numero delle parole del testo da ridurre alla forma radice. Si semplifica l'algoritmo, diminuisce il tempo di esecuzione e aumenta l'efficienza computazionale.

Nota. Tuttavia, dal punto di vista semantico l'eliminazione delle stop-word può modificare radicalmente il significato del testo e far perdere informazioni preziose nel testo. Ad esempio, l'eliminazione della negazione "non" in una frase muta completamente il messaggio dell'autore.

Il grado di stem

Nello stemming la riduzione a radice può avvenire con diversi gradi di tem. Una scelta equilibrata è senza dubbio migliore e più efficace rispetto a quelle estreme.

Aumentando il grado di stem la radice diventa più corta e si amplia il numero dei termini nella famiglia di parole che identifica.

Over-stemming. Si individuano più legami tra le parole con lo stesso significato ma si rischia di includere anche quelle con significato diverso. Lo svantaggio è la perdita di specificità.

esempio di over-stemming

Viceversa, riducendo il grado di stem aumenta la lunghezza della radice e si riduce la quantità di parole considerate nella famiglia dei termini.

Under-stemming. I termini sono più specifici ma si rischia di perdere qualche relazione tra le parole che hanno lo stesso significato. Lo svantaggio è la perdita di generalità.

esempio di under stemming

Come determinare lo stem

Si può determinare lo stem tramite due processi:

  1. Individuazione della radice. Si individua la radice della parola partendo da sinistra verso destra.
  2. Eliminazione degli affissi. Si eliminano gli affissi del termine da destra verso sinistra. Ciò che resta della parola è usato come radice.

    Esempio. Alcuni esempi di affissi nella lingua inglese sono -able, -ing, -er. Eliminandoli dalla parola dovremmo ottenere la radice del termine.

    come si determina la radice di un termine

I limiti e le criticità dello stemming

Questa tecnica è efficace purché il processo di riduzione non faccia perdere informazioni e la radice della parola conservi lo stesso significato tematico della forma completa.

I principali problemi della riduzione alla radice sono i seguenti:

  1. Stessa radice ma significati diversi. La radice identifica famiglie di parole con significato differente.
    stessa radice ma semantica diversa
  2. Stesso significato ma radice diversa. Le parole con lo stesso significato possono anche avere una radice differente.
    stesso significato semantico ma radice differente

L'algoritmo di stem dipende dalla lingua

Inoltre, le regole di stemming cambiano con la lingua. Quando un documento multilinguistico utilizza terminologie straniere all'interno del corpus ( es. terminologie inglesi ) lo stemming potrebbe non essere più efficace. In questi casi è necessario disporre di un doppio algoritmo di stem, uno per ciascuna lingua, e di un riconoscimento della natura del termine.

Nota. Non è sempre facile riconoscere l'origine di un termine. Ad esempio, la parola "file" appartiene sia al vocabolario italiano che inglese ma con significati diversi ( archivio in inglese, coda in italiano ).

Il problema delle parole composte

Nel vocabolario sono presenti molte parole composte. In questi casi è impossibile trovare un'unica radice del termine. Si tratta di casi più complessi da gestire con un algoritmo ad hoc.

Soluzione. Una possibile soluzione del problema consiste nel suddividere la parola composta nei due termini che la compongono e trovare per ciascuno di essi la relativa radice.

le parole composte nello stemming

Lo stemming con i lemma

Per superare le criticità dello stemming sono stati sviluppati algoritmi più complessi che utilizzano il lemma delle parole anziché la radice.

Cos'è il lemma? Il lemma è la parola ( radice morfologica ) che per convenzione rappresenta tutte le forme di una flessione. Ad esempio, il lemma delle forme verbali ( sono, sei, è, siamo, siete, sono ) è il verbo all'infinito ( essere ).

Il lemma consente di migliorare il processo di matching perché evita i limiti della selezione per radice. Nel caso dei lemmi, la parte iniziale delle parole appartenenti allo stesso insieme può anche differire.

La differenza tra lemma e radice. Un lemma è composto da tema+desinenza. La radice è una parte del tema. Non necessariamente lemma e tema coincidono. Ad esempio, la radice del verbo andare è and- che include alcune voci verbali ( andiamo, andate ) ma ne esclude altre ( vado, vai, va, vanno ). Il lemma ( andare ) le comprende tutte.
la differenza tra lemma e radice



Per scrivere un commento

knowledge base
  1. Information Retrieval ( IR )
  2. I descrittori
  3. Stemming