Naturalmente queste creature non esistono nel mondo reale, ma proprio per questo costituiscono un ottimo terreno di sperimentazione. Eliminando per un momento problemi concreti come diagnosi mediche, frodi bancarie o guasti industriali, possiamo osservare il funzionamento di un modello di intelligenza artificiale in modo semplice, visivo e divertente.
Da questa idea nasce Il Bestiario Artificiale, un esperimento realizzato con Orange Data Mining e il widget CN2 Rule Induction.
Un archivio di creature fantastiche
Il workflow genera automaticamente un dataset composto da 168 creature, suddivise in sei specie:
- Drago
- Grifone
- Sirena
- Vampiro
- Golem
- Unicorno
Ogni creatura viene descritta attraverso caratteristiche osservabili, proprio come avverrebbe in un antico manuale di zoologia fantastica.
Gli attributi utilizzati sono:
- forza;
- agilità;
- presenza di ali;
- presenza di squame;
- capacità di respirare fuoco;
- vita acquatica;
- aspetto umano;
- attività notturna;
- presenza del becco;
- corpo minerale;
- presenza di un corno;
- livello di magia.
La variabile da prevedere è Specie_mitica. L’obiettivo dell’algoritmo è quindi riconoscere la specie di una creatura partendo esclusivamente dai suoi tratti.
Un’intelligenza artificiale spiegabile
Per la classificazione viene utilizzato CN2 Rule Induction, un algoritmo che non produce soltanto una risposta, ma costruisce regole comprensibili.
SE la creatura respira fuoco ALLORA è un Drago.
Oppure:
SE possiede un becco
ALLORA è un Grifone.
Questa caratteristica rende CN2 particolarmente interessante dal punto di vista didattico. A differenza di una rete neurale, che spesso funziona come una scatola nera, CN2 permette di leggere direttamente il ragionamento costruito dal modello.
L’intelligenza artificiale non si limita quindi a dire:
Questa creatura è un Golem.
Può mostrare anche la regola che ha portato a quella conclusione.
Le regole scoperte
Dopo l’addestramento, Orange ha generato una lista ordinata di regole molto semplice:
SE Respira_fuoco = Sì
ALLORA Specie_mitica = Drago
ALTRIMENTI SE Becco = Sì
ALLORA Specie_mitica = Grifone
ALTRIMENTI SE Forza ≥ 8,103
ALLORA Specie_mitica = Golem
ALTRIMENTI SE Squame = Sì
ALLORA Specie_mitica = Sirena
ALTRIMENTI SE Aspetto_umano = No
ALLORA Specie_mitica = Unicorno
ALTRIMENTI SE Squame = No
ALLORA Specie_mitica = Vampiro
A prima vista alcune regole potrebbero sembrare troppo semplici. Per esempio, non tutte le creature senza aspetto umano sono unicorni.
Il punto fondamentale è che CN2 è stato configurato in modalità Ordered, cioè con regole ordinate.
La lista deve essere letta dall’alto verso il basso. Quando l’algoritmo arriva alla regola dell’unicorno, ha già escluso draghi, grifoni, golem e sirene attraverso le condizioni precedenti.
La regola:
Aspetto_umano = No → Unicorno
equivale quindi implicitamente a una regola più articolata:
SE non respira fuoco
E non possiede un becco
E non ha una forza da golem
E non ha squame
E non ha aspetto umano
ALLORA è un Unicorno
L’ordine delle regole costituisce quindi una parte essenziale del modello.
Come leggere i risultati
Nel widget CN2 Rule Viewer, ogni regola mostra diverse informazioni.
La colonna Distribution indica quante creature di ciascuna classe vengono coperte dalla regola. Per il drago compare:
[28, 0, 0, 0, 0, 0]
Questo significa che la regola ha riconosciuto 28 creature e che tutte appartengono alla classe Drago.
La colonna Probabilities non mostra il 100%, neppure quando la regola sembra perfetta. CN2 applica infatti una correzione probabilistica, chiamata Laplace smoothing, che impedisce al modello di diventare eccessivamente sicuro.
La colonna Quality misura la qualità della regola, mentre Length indica il numero di condizioni esplicite utilizzate.
Nel nostro caso le principali regole hanno lunghezza 1, perché il dataset è stato costruito in modo da rendere le specie facilmente distinguibili.
La creatura misteriosa
La parte più divertente dell’esperimento consiste nel creare una nuova creatura e chiedere all’algoritmo di indovinarne la specie.
Supponiamo di impostare questi valori:
Forza = 9
Agilità = 2
Corpo_minerale = Sì
Ali = No
Respira_fuoco = No
Corno = No
Magia = Bassa
Il modello dovrebbe riconoscere la creatura come:
Golem
Possiamo poi costruire un secondo essere fantastico:
Ali = Sì
Squame = Sì
Respira_fuoco = Sì
Magia = Alta
In questo caso il verdetto sarà quasi certamente:
Drago
Il workflow contiene anche alcune creature ibride, volutamente ambigue. Una chimera potrebbe avere ali, squame, aspetto umano e vivere nell’acqua.
In questi casi diventa interessante osservare quale regola prevale e soprattutto comprendere il motivo della decisione.
Il workflow in Orange Data Mining
L’esperimento comprende diversi widget collegati tra loro:
- Python Script, per generare automaticamente il dataset;
- Data Table, per visualizzare le creature;
- CN2 Rule Induction, per apprendere le regole;
- CN2 Rule Viewer, per leggere e selezionare le regole;
- Test and Score, per valutare il modello;
- Confusion Matrix, per analizzare gli errori;
- Predictions, per classificare nuove creature;
- Create Instance, per inventare una creatura personalizzata.
Il modello CN2 viene inoltre confrontato con un albero decisionale, in modo da valutare due differenti strategie di classificazione interpretabile.
Imparare giocando
Dietro l’aspetto fantastico si nascondono numerosi concetti importanti dell’intelligenza artificiale:
- classificazione supervisionata;
- attributi e variabili target;
- costruzione di regole;
- qualità e copertura;
- ordine delle decisioni;
- validazione del modello;
- interpretabilità;
- gestione dei casi ambigui.
Lo stesso metodo utilizzato per distinguere draghi e unicorni potrebbe essere applicato a problemi reali:
- diagnosi di guasti;
- classificazione di piante;
- riconoscimento di specie animali;
- controllo qualità;
- analisi di sintomi;
- rilevazione di anomalie.
Cambiano i dati, ma il principio rimane identico: individuare condizioni capaci di separare una classe dalle altre.
Conclusione
Il Bestiario Artificiale mostra che l’intelligenza artificiale non deve necessariamente essere astratta, opaca o difficile da comprendere.
Un algoritmo può diventare un investigatore, un naturalista o il custode di un’antica enciclopedia fantastica. Attraverso semplici regole, impara a riconoscere creature mai esistite, ma nel farlo rende visibili alcuni dei meccanismi fondamentali dell’apprendimento automatico.
L’aspetto più interessante non è che l’intelligenza artificiale sappia distinguere un vampiro da un unicorno.
È che possiamo leggere, verificare e discutere il ragionamento con cui è arrivata alla risposta.
N.B.: in questo esperimento viene utilizzata un’IA di tipo simbolico e supervisionato, basata sull’algoritmo CN2 Rule Induction. Il sistema apprende da esempi già classificati e costruisce regole esplicite del tipo SE una creatura possiede certe caratteristiche, ALLORA appartiene a una determinata specie. Non si tratta quindi di IA generativa, né di deep learning o reti neurali, ma di un modello di classificazione a regole, interpretabile e spiegabile. Questa forma di IA appartiene al campo del machine learning supervisionato e può essere considerata anche un esempio di Explainable AI, perché ogni previsione è accompagnata da una motivazione leggibile.
![]() |
| Il canvas di Orange Data Mining |
