parolescritte
interroga:  scripta  ·  bsu  ·  civita

il corpus scripta


esplorazioni verbali


invenzioni verbali


Contare le parole dell'italiano

Un numero non troppo grande, ma piuttosto sfuggente

Il numero delle parole italiane ben formate, anche se prive di significato (prima domanda), non è infinito, e neppure troppo grande, come si potrebbe immaginare d'acchito, ma stimarlo con una certa precisione non è facile. Va da sé, naturalmente che è solo di una stima che ci si deve accontentare.

Una soluzione ingenua per determinarlo è questa: generare tutte le combinazioni di lettere di lunghezza compresa, per esempio, fra 1 e 20, benché esistano alcune parole italiane anche più lunghe di venti lettere, darle in pasto a Mescola e contare il numero di quelle che il programma restituisce come ben formate. Semplice.

Semplice sì, ma lunga. Bisogna tenere presente che il numero di combinazioni in questione, per parole che contengano le 21 lettere dell'alfabeto italiano, è quello riportato qui sotto.

292 129 350 919 299 000 000 000 000

combinazioni generabili con le 21 lettere l'alfabeto italiano
di parole lunghe da 1 a 20 lettere

Immaginando che Mescola esamini un milione di combinazioni al secondo ‒ una ipotesi a dir poco ottimistica ‒ per esaminarle tutte occorrerebbero 9,26 · 1012 anni, che è come dire quasi diecimila miliardi di anni.

Una soluzione più praticabile

Il ricorso a Mescola, però, non è da accantonare. Semmai, è il caso di perfezionarlo e di applicarlo a una massa di dati più modesta, ma che consenta egualmente di eseguire una stima attendibile. Per ottenerla ho pensato di studiare alcune caratteristiche del corpus scripta.

Il 15 febbraio 2024 il corpus linguistico scripta conteneva 289 465 768 parole. Questo numero si riduce a 1 335 809, se si considera il numero di parole distinte, che è il punto di partenza della ricerca.

Tuttavia, benché i testi contenuti in scripta provengano tutti da opere italiane, non si può dire che contengono solo parole italiane. Si incontrano infatti termini latini (es. latinorum), francesi (es. champagne), tedeschi (es. kampf), polacchi (es. oświęcim), inglesi (es. swing), ecc. Anche alcune sequenze di lettere, come i numeri romani (es. xxxviii), non possono essere considerate parole italiane.

Un lavoro di selezione

Per selezionare da queste 1 326 261 parole soltanto quelle che possono essere considerate ragionevolmente italiane ho rivisitato anzitutto il vecchio algoritmo di Mescola del 1986, cercando di renderlo più efficace. Il suo cuore è mostrato di seguito.

A sinistra è riportata la matrice originale di Mescola, che consentiva di selezionare i digrammi permessi nella lingua italiana; a destra è riportata la versione rivisitata. Le differenze fra le matrici sono da attribuire ai diversi meccanismi dei due algoritmi, ma entrare in dettagli esplicativi sarebbe noioso e inutile. Per farsi un'idea del procedimento basti notare, per esempio, che in corrispondenza della colonna e della riga p si trova la cifra 1, che significa che il digramma pp è consentito, ma non all'inizio della parola.

Le coppie vanno abbastanza d'accordo

È importante notare che la prima versione dell'algoritmo ammetteva o rifiutava i digrammi solo in base a considerazioni euristiche. Per esempio, il digramma pa era sicuramente accettabile, mentre pb non lo era affatto. I digrammi vocalici erano sempre ammessi, tranne quando erano composti dalla stessa vocale, nel qual caso venivano esclusi, nonostante esistano alcune eccezioni (esempio aeree).

La seconda versione dell'algoritmo, invece, esegue la selezione in base a criteri statistici. La tabella digrammi consonantici ne mostra i dettagli. Bisogna ricordare, inoltre, che in nessun caso una consonante, e tantomeno un digramma consonantico, può occupare l'ultima posizione di una parola italiana ben formata benché, anche in questo caso, le eccezioni non manchino, specie in ambito poetico (esempio fulgor).

I problemi del menage a tre

Bisogna ammettere che per quanto riguarda i digrammi consonantici i criteri statistici confermano quasi interamente le considerazioni euristiche, mentre per i trigrammi le cose sono più delicate. La tabella dei trigrammi consonantici è stata preziosa per selezionare statisticamente quelli da ammettere nel riconoscimento delle parole italiane ben formate. Essi sono molto meno numerosi di quelli presenti nella tabella, in ragione della estrema rarità della maggior parte di essi. Dei tetragrammi consonantici, poi, non è neppure il caso di parlare.

Con i poligrammi vocalici è stata adottata la semplice regola di ammetterli tutti, a condizione che non siano più lunghi di quattro lettere.

Una questione di statistica, non di enigmistica

So bene, d'altra parte, che qualsiasi dizionario italiano registra doverosamente parole come captare (il digramma pt non è ammesso dall'algoritmo), cuoiaio (sei vocali consecutive), inscrivere e instradare (quattro consonanti consecutive) e così via.

Però bisogna osservare che le parole che contengono queste sequenze sono assai rare, in raffronto a quelle che contengono poligrammi come nt o str, sicché scovarle appare quasi un gioco enigmistico. Per lo scopo di questa ricerca, che mira a determinare statisticamente una stima del numero totale di parole italiane ben formate, credo quindi che possano venire ignorate tranquillamente.

Interroghiamo la macchina

Sulla base delle considerazioni appena espresse, e dopo aver insegnato nuovamente alla macchina a riconoscere una parola italiana ben formata, si può metterla finalmente alla prova, per verificare se ha imparato la lezione. Ecco dunque una maschera predisposta per eseguire a piacere dei test sull'algoritmo descritto.

la parola     

Ora non resta che applicare il nuovo Mescola, che ho chiamato Validatore, a tutte le parole distinte presenti in scripta.