Alcuni esempi di applicazione dell'algoritmo di Porter Paolo Monella

Vocali e non vocali

Brevissima premessa: l'algoritmo distingue in vocali e non-vocali. Si usa il termine "non-vocali" invece di "consonanti" per includere anche le semiconsonanti. Ad esempio: "a" è una vocale, "t" una consonante, ma la "i" in "andiamo" cos'è? Non è una vocale in quanto fa da semiconsonante (si trascrive come /j/ in alfabeto fonetico). Quindi nella parola "andiamo":

Ecco due esempi per l'algoritmo di Porter applicato all'inglese.

Parola: "portable"

R1 ("Region 1") è la regione dopo la prima non vocale che segue una vocale

La prima non-vocale è "p", ma non segue una vocale. Poi viene "o", una vocale. Poi viene "r", che è una non-vocale (consonante, nello specifico) che segue una vocale (la vocale "o"). Quindi "r" è la prima non-vocale che segue una vocale. La regione 1 (R1) è dunque "la regione dopo la prima non vocale che segue una vocale", cioè la regione dopo la "r", cioè "table". Il senso dell'algoritmo è infatti quello di individuare regioni (finali), cioè porzioni finali della parola, che siano buone candidate a costituire suffissi.

R2 ("Region 2") è la regione dopo la prima non vocale che segue una vocale in R1

R2 è quindi "in R1", cioè è una parte di R1, ovvero una sotto-sezione di R1. Abbiamo detto che R1 è "table". Dunque dobbiamo cercare R2 _dentro_ "table". Partiamo col cercare "la prima non vocale che segue una vocale" all'interno di R1 ("in R1"). La "t" non va bene, perché è una non-vocale ma non segue una vocale (segue invece la "r", che è una non-vocale). La "a" non va bene perché è una vocale". La "b" va bene: è appunto "la prima non-vocale che segue una vocale" all'interno di R1. Chiamiamo dunque 2 "la regione dopo la prima non vocale che segue una vocale in R1", cioè la regione dopo la "b", cioè "le".

In conclusione, nella parola "portable":

Parola: "sharing"

R1 ("Region 1") è la regione dopo la prima non vocale che segue una vocale

Le non-vocali sono "s, h, r, n, g". La prima di queste che segue una vocale è la "r". Dunque R1 è la regione successiva alla "r", cioè "ing".

R2 ("Region 2") è la regione dopo la prima non vocale che segue una vocale in R1

Abbiamo detto che R1 è "ing". All'interno di R1, le non-vocali sono "n" e "g". La prima che segue una vocale è la "n". Quindi R2 è la regione successiva alla "n". R2 è dunque semplicemente costituita dalla lettera "g".

Riassumendo, nella parola "sharing":

Valid XHTML 1.0 Transitional