– Tokenizzazione con spaCy italiano esteso (con supporto per clitici e flessioni)
– Rimozione stopword contestuale (esclude “di”, “a”, ma mantiene aggettivi tecnici come “innovativo”)
– Lemmatizzazione con Italian BERT (inference mode), gestendo articoli determinativi e coniugazioni verbali
– Normalizzazione di varianti (es. “automobile” ? “auto”, “polizza” ? “assicurazione”) tramite regole e dizionari localizzati
– Esempio: un testo “La polizza assicurativa copre il rischio di incidente stradale” viene trasformato in “Polizza assicurativa ? assicurazione; incidente stradale ? incidente vialitario” con vettore semantico <0.92> dal modello BERToIT
Fase 2: Estrazione semantica con embedding contestuali
– Embedding con BERToIT: ogni frase genera un vettore di 768 dimensioni, catturando sfumature semantiche (es. “cancro metastatico” vs “cancro locale”)
– Calcolo similarità coseno tra frasi: soglia 0.80 per validare coesione tematica
– Mappatura di termini critici su ontologie TIPI: es. “tumore polmonare” ? TIPI: Q12345 (Patologie oncologiche)
– Implementazione di un filtro contestuale: se un termine ambivalente supera il threshold di similarità con un senso non appropriato, genera un allarme
Fase 3: Validazione della coerenza lessicale
– Confronto automatizzato tra termini chiave definiti nel glossario aziendale e istanze nel corpus
– Esempio: il termine “malattia cronica” deve comparire con definizione ufficiale TIPI Q67890; se non presente o con definizione errata ? segnalazione
– Utilizzo di un sistema di scoring: ogni discrepanza riduce il punteggio di coerenza del 15-20%
– Integrazione con un database di sinonimi contestuali (es. “infarto” ? “attacco cardiaco” solo in testi clinici, non in giuridici)
Fase 4: Controllo strutturale e logico
– Analisi sequenziale con regole di transizione logica (es. “causa” ? “effetto” deve essere marcata esplicitamente)
– Verifica di assenza di contraddizioni: es. “il paziente è sano” seguito da “il paziente presenta insufficienza cardiaca grave” ? richiede revisione
– Mappatura delle relazioni entità-concetto in grafo con Neo4j, evidenziando nodi critici e percorsi argomentativi
– Esempio: in un testo giuridico, “la sentenza annulla il contratto” deve essere collegata a “nullità legale” e non a “invalidità temporanea”
Fase 5: Reportistica e dashboard interattiva
– Generazione automatica di report con metriche chiave: coerenza lessicale (%, punteggio medio), anomalie rilevate, termini ambigui
– Dashboard in Grafana con grafici temporali di miglioramento, heatmap di frequenza termini critici, alert in tempo reale
– Dashboard accessibile via CMS integrato (es. SharePoint), con filtri per tipo contenuto, terminologia e gravità
– Soluzione: implementare analisi co-occorrenza con finestre di contesto di 5 frasi e modelli di attenzione basati su BERT per capire il senso reale
– Esempio: “batteria” in “batteria elettrica” vs “batteria di schiuma” ? distinzione tramite contesto semantico, non solo vettoriale
Errore: ignorare varianti dialettali e regionali
– Soluzione: normalizzazione con dizionari regionali integrati (es. “auto” ? “macchina” in Lombardia, “carro” in Sicilia) + regole di espansione basate su geolocalizzazione
– Esempio: un CMS italiano deve riconoscere “furgone” vs “camion” anche in testi colloquiali
Errore: fiducia cieca in modelli generici
– Soluzione: fine-tuning personalizzato su corpus Tier 2 specifici (es. 10k articoli medici italiani) per migliorare precisione su terminologia specialistica
– Esempio: BERToIT addestrato su testi dell’Aggeggiamento Terapeutico Illustrato italiano riconosce con >92% di precisione “chemioterapia neoadiuvante” vs “chemioterapia standard”
Errore: mancanza di feedback umano nel ciclo
– Soluzione: approccio ibrido AI + revisione esperta: ogni allarme genera task per revisori linguistici, con apprendimento incrementale del sistema su correzioni umane (feedback loop)
– Esempio: dopo 50 revisioni, il modello riduce falsi positivi del 30% su termini tecnici ambigui
