Che cos’è l’analisi lessicale?

L’analisi lessicale è il processo di prendere una stringa di caratteri – o, più semplicemente, testo – e convertirla in gruppi significativi chiamati token. Questa metodologia ha usi in un’ampia varietà di applicazioni, dall’interpretazione dei linguaggi informatici all’analisi dei libri. L’analisi lessicale non è sinonimo di analisi; piuttosto, è il primo passo del processo di analisi totale e crea materia prima per un uso successivo.

Gli elementi costitutivi dei token, chiamati anche lessemi, possono essere generati in molti modi, a seconda della grammatica richiesta per l’analisi lessicale. Un esempio comune di ciò è la suddivisione delle frasi per parole; questo viene spesso fatto suddividendo le frasi intorno agli spazi. Ogni stringa continua di caratteri generata senza spazi è un lessema. Le stringhe di testo possono essere suddivise su uno o più tipi di caratteri, creando più versioni di lessemi con complessità variabile. I token vengono generati dopo che ogni lessema è stato valutato e abbinato al valore corrispondente; per definizione, i token si riferiscono a questo abbinamento, non solo al lessema.

L’analisi lessicale, in qualche modo contro-intuitivamente, spoglia una stringa di testo del suo contesto. Il suo scopo è solo quello di generare elementi costitutivi per ulteriori studi, non di determinare se quei pezzi sono validi o non validi. Nel caso dell’interpretazione del linguaggio informatico, la convalida viene eseguita mediante l’analisi della sintassi e la convalida del testo può essere eseguita in termini di contesto o contenuto. Se una stringa di input è completamente divisa in lessemi appropriati e ciascuno di questi lessemi ha un valore appropriato, l’analisi è considerata riuscita.

Senza contesto o la capacità di eseguire la convalida, l’analisi lessicale non può essere utilizzata in modo affidabile per trovare errori nell’input. Una grammatica lessicale potrebbe avere valori di errore assegnati a lessemi specifici e tale analisi può anche rilevare token illegali o malformati. Sebbene trovare un token illegale o malformato segnali un input non valido, non ha alcuna incidenza sulla validità degli altri token e quindi non è strettamente un tipo di convalida.

Sebbene l’analisi lessicale sia parte integrante di molti algoritmi, spesso deve essere utilizzata insieme ad altre metodologie per creare risultati significativi. Ad esempio, la suddivisione di una stringa di testo in parole per determinare le frequenze fa uso della creazione del lessema, ma la sola creazione del lessema non può monitorare il numero di volte in cui un particolare lessema appare in input. L’analisi lessicale potrebbe essere utile da sola se i lessemi stessi sono degni di nota, ma grandi quantità di input potrebbero rendere difficile l’analisi dei lessemi grezzi a causa del volume di dati.