Estrarre informazioni da un testo disordinato
Risposte a mail, appunti di riunione, messaggi WhatsApp: come far emergere date, nomi e decisioni da un testo confuso, con la prova di ogni riga.
Il segretario di un circolo di scacchi organizza una gita in pullman. Ha chiesto via mail chi viene, e sono arrivate trentaquattro risposte, di questo tipo: «Saremo in due, mia moglie è vegetariana», «Alla fine vengo, scusate il ritardo», «Forse, confermo giovedì», «Per me è no, a meno che il pullman parta dopo le 9». Gli servono un numero di posti, un numero di pasti vegetariani e l'elenco di chi non ha risposto in modo chiaro.
L'IA sa fare questo tipo di smistamento, a patto di chiederle qualcosa di diverso da «riassumi queste risposte».
Dire che cosa cercare, campo per campo
Un'estrazione è una tabella che compili a partire da un testo. Comincia dunque disegnando la tabella: una riga per persona e una colonna per ogni informazione voluta. Per ogni colonna, precisa i valori ammessi, altrimenti ottieni «sì», «Sì, volentieri» e «presente».
Poi prevedi i casi che non rientrano nelle caselle. Nell'esempio esistono «forse» e «no, a meno che». Se non dici nulla, l'IA decide al posto tuo, in silenzio.
Ecco le risposte dei soci del mio circolo di scacchi all'invito per una gita in pullman. Una risposta per blocco, separata da una riga vuota. """ [INCOLLA LE RISPOSTE] """ Costruisci una tabella con una riga per persona e queste colonne: - Nome (così come compare nella risposta; se manca, "sconosciuto") - Partecipazione: sì / no / incerto - Numero di posti (1 per impostazione predefinita; di più se la persona ne annuncia) - Pasto vegetariano: numero di pasti, oppure 0 - Condizione o nota, se la persona ne pone una - Citazione: le parole esatte della risposta che giustificano la riga Regole: - "Forse" e ogni risposta condizionata sono "incerto", con la condizione annotata. - Se una persona scrive due volte, tieni l'ultimo messaggio e segnala il cambiamento nella nota. - Non inventare nulla. Se un'informazione non è nella risposta, lascia la casella vuota. - Dopo la tabella, indica il totale dei posti per i "sì", il numero di pasti vegetariani e l'elenco degli "incerto".
Esigere una citazione per ogni riga
La colonna «Citazione» è il consiglio più utile di questo articolo. Per ogni riga, l'IA deve ricopiare le parole che l'hanno portata alla sua conclusione. Ci guadagni due cose: individui subito un'interpretazione dubbia leggendo la citazione accanto al risultato, e l'IA inventa meno, perché una citazione deve esistere nel testo. Non la rende infallibile, può citare una frase che esiste e capirla male, ma è la più rapida delle verifiche.
I casi che ingannano l'estrazione
La negazione e la condizione. «Non potrò non venire» è un caso da manuale. Più comune: «no, a meno che...». Prevedi una categoria per la via di mezzo.
Le correzioni. Quando la stessa persona manda due messaggi contraddittori, la regola «vince l'ultimo» va scritta. Se i tuoi messaggi non sono datati, fa fede l'ordine in cui li incolli, quindi incollali in ordine.
Le informazioni su qualcun altro. «Mia moglie è vegetariana» riguarda una persona che non ha scritto. Precisa se vuoi contare questi casi, altrimenti la riga della moglie non esisterà mai.
I valori impliciti. Se «saremo in due» significa 2 posti, è una deduzione. Dì se la accetti o se preferisci che l'IA lasci la casella vuota.
I formati di data. Per estrarre scadenze da un testo, chiedi una scrittura unica (GG/MM/AAAA) e aggiungi «lascia il testo originale se manca l'anno». Altrimenti ne sceglie una lei.
Verificare prima di usare la tabella
Su trentaquattro risposte, l'IA può dimenticarne una o due, soprattutto nel mezzo di un testo lungo. Tre controlli richiedono cinque minuti:
- Conta le righe. Devono essere tante quante le risposte. Chiedi all'IA di dirti quanti blocchi ha letto.
- Rileggi i casi incerti e condizionati, che sono anche i più facili da classificare male.
- Prendi cinque righe a caso e confrontale con l'originale. Se ne trovi una sbagliata, rileggi tutta la tabella.
Per i volumi molto grandi valgono le indicazioni dell'articolo sui documenti lunghi: dividi in lotti di qualche decina di messaggi e poi unisci le tabelle. Anche il calcolo finale (totale dei posti, pasti) vale la pena di rifarlo con un foglio di calcolo. Le addizioni lunghe non sono il punto di forza di un modello linguistico, e la tabella ti permette di controllarle.
Quale formato di output scegliere
Una tabella in testo si copia in un foglio di calcolo senza troppa fatica e basta per un compito occasionale. Se devi riutilizzare i dati altrove, per esempio in un file CSV o in uno strumento, chiedi un formato più rigoroso: l'articolo su JSON e CSV spiega come descrivere i campi e validare il risultato.
Pensa ai dati personali
Le risposte alle mail contengono nomi, a volte regimi alimentari o informazioni sulla salute rivelate indirettamente. Prima di incollarle in uno strumento, togli ciò che non serve al tuo compito (firme, indirizzi, numeri di telefono) e rileggi ciò che dice l'articolo sulla riservatezza. Per un circolo associativo, guarda anche che cosa prevedono le vostre regole interne.
Per provare sul tuo caso
Scegli un pacchetto di messaggi che devi spogliare a mano questa settimana. Scrivi prima le colonne e le regole per i casi ambigui. Lancia l'estrazione solo su dieci messaggi, confronta con il tuo spoglio, correggi le regole che sono sfuggite di mano, poi tratta il resto.