Panoramica

Il servizio Amazon Textract estrae testo stampato, scrittura a mano e dati strutturati dalle immagini dei documenti. All'interno di questo servizio, la funzionalità AnalyzeID legge ed estrae dati di testo strutturati da immagini di documenti di identità, che attualmente includono patenti di guida e passaporti statunitensi. Questa funzionalità consente ai clienti di automatizzare e velocizzare l'elaborazione dei documenti.

AnalyzeID opera sul testo che appare in un documento di identità per prevedere coppie chiave-valore esplicite e implicite. AnalyzeID può estrarre coppie chiave-valore esplicite, in cui una chiave ("Data di emissione") appare sul documento ed è allineata al suo valore ("18/3/2018") e coppie chiave-valore implicite che potrebbero non avere chiavi esplicite accanto a esse ("Maria" appare al centro di una patente, ma non è contrassegnato come "Nome"). Il servizio normalizza le coppie chiave-valore in una tassonomia comune di 21 chiavi note, in modo che i clienti possano confrontare le informazioni tra i diversi tipi di ID. Ad esempio, il servizio estrae il numero LIC# della patente di guida e il numero da un passaporto statunitense, etichettandoli entrambi come "Numero ID del documento". Per valutare l'accuratezza di AnalyzeID, confrontiamo queste previsioni con le informazioni reali. Le chiavi e i valori reali sono stati corretti da un annotatore umano. Ogni coppia chiave-valore prevista è hit se la previsione corrisponde a quella reale e miss in caso contrario. I parametri di qualità come precisione, recupero e F1 dipendono dal numero di hit e miss.

I documenti di identità variano in base alle giurisdizioni (le patenti di guida della Virginia sono diverse dalle patenti della California) e all'interno delle giurisdizioni, poiché ogni giurisdizione evolve i propri documenti nel tempo. Ogni versione di un documento di identificazione può differire in base alle chiavi incluse e ai valori consentiti per ciascuna chiave. Ci sono anche fattori (chiamati "variazioni confondenti") che rendono difficile il riconoscimento. I documenti possono avere disegni grafici complessi a supporto del testo e plastica lucida o altre lamine sovrapposte al testo. I documenti possono essere soggetti a usura, ad esempio quando vengono trasportati in borsa o in tasca, cosa che offusca le informazioni chiave. Infine, il documento può essere scarsamente illuminato, ostruito (ad esempio da una parte della mano che regge il documento durante l'acquisizione di immagini) o non messo a fuoco quando viene ripreso. AnalyzeID è progettato per riconoscere il testo in queste immagini del documento, ignorando la variazione confondente.

Casi d'uso e limitazioni previsti

AnalyzeID è destinato all'uso sulle patenti di guida e sui passaporti rilasciati dal governo degli Stati Uniti. Non è stato addestrato per l'uso su documenti emessi da pubbliche amministrazioni territoriali (ad esempio, Porto Rico) o su altre forme di identificazione come le tessere Global Entry o i certificati di nascita. AnalyzeID supporta i documenti emessi negli ultimi quindici anni (2007). Ciò riguarda circa tre iterazioni di aggiornamenti di progettazione a livello statale, che avvengono all'incirca ogni cinque anni. Questo lasso di tempo supporta tutti i documenti non scaduti; le patenti di guida statunitensi scadono al massimo dopo dodici anni e i passaporti statunitensi scadono al massimo dopo dieci.

AnalyzeID consente la fase di estrazione del testo in una varietà di applicazioni sviluppate dal cliente. Queste applicazioni in genere supportano gli utenti finali nel completamento delle attività online. Ad esempio, un'applicazione per servizi finanziari potrebbe iscrivere nuovi utenti più rapidamente e con meno errori, consentendo all'utente di scansionare il contenuto della patente di guida. Allo stesso modo, un'applicazione sanitaria potrebbe consentire agli utenti di confermare il proprio indirizzo o altre informazioni sull'account più rapidamente e con meno errori durante la pianificazione degli appuntamenti. Le applicazioni differiscono principalmente per: (1) le coppie chiave-valore pertinenti, (2) il processo di acquisizione delle immagini impiegato e (3) la risoluzione delle immagini inviate. Quando inseriscono AnalyzeID in qualsiasi flusso di lavoro applicativo, i clienti devono valutare la necessità di una supervisione umana e supportare la revisione dei risultati di AnalyzeID da parte di revisori umani, se necessario.

Progettazione di Textract AnalyzeID

Machine learning: AnalyzeID è stato creato utilizzando tecnologie di ML e di riconoscimento ottico dei caratteri (OCR). Funziona nel seguente modo: AnalyzeID prende come input l'immagine di un documento di identità. Un modello OCR identifica il testo nel documento. Un secondo modello di machine learning elabora l'immagine completa del documento più l'output OCR per restituire i nomi e i contenuti dei campi come coppie chiave-valore. Consulta la documentazione per gli sviluppatori per i dettagli sulle chiamate API.

Aspettative prestazionali: le variazioni confondenti differiscono in base alle applicazioni del cliente. Ciò significa che anche le prestazioni variano in base alle applicazioni. Prendiamo in considerazione due diverse applicazioni di verifica del nome e dell'indirizzo A e B. L'applicazione A consente a un agente di sicurezza degli edifici di confrontare il nome e l'indirizzo sulla patente di guida di un visitatore con il nome e l'indirizzo della persona che dovrebbe visitare l'edificio. L'applicazione B consente a un reclutatore di raccogliere informazioni personali da un candidato durante un colloquio video. Con A, l'agente di sicurezza dell'edificio utilizza uno scanner per documenti ID aziendali per acquisire immagini delle patenti ben illuminate, messe a fuoco e senza ostruzioni. Con B, l'intervistato utilizza la propria webcam per acquisire un'immagine della patente mantenendola in mano, aumentando il rischio di sfocatura, riflesso e ostruzione dell'immagine. Poiché A e B hanno qualità dell'immagine di input diverse a causa dei diversi dispositivi e processi di acquisizione delle immagini, probabilmente avranno tassi di errore diversi, anche supponendo che ciascuna applicazione sia implementata perfettamente utilizzando Textract.

Metodologia basata sui test: utilizziamo più set di dati per valutare le prestazioni. Nessun singolo set di dati di valutazione fornisce un quadro completo delle prestazioni. Questo perché i set di dati di valutazione variano in base alla loro composizione demografica (il numero e il tipo di gruppi definiti), alla quantità di variazioni confondenti (qualità del contenuto, idoneità per il caso d'uso), ai tipi e alla qualità delle etichette disponibili e ad altri fattori. Misuriamo le prestazioni di Textract testandolo su set di dati di valutazione contenenti immagini di documenti di identità. Le prestazioni complessive di un set di dati sono rappresentate dal punteggio F1 (F1), che bilancia la percentuale di campi previsti corretti (precisione) con la percentuale di campi corretti inclusi nella previsione (recupero). I punteggi F1 sono limitati dall'intervallo [0,1]. La modifica delle soglie di attendibilità sulle coppie chiave-valore modifica il punteggio F1. I gruppi in un set di dati possono essere definiti in base ad attributi chiave (come giurisdizione, lunghezza del cognome), variabili confondenti (come il layout della grafica, la qualità dell'immagine) o una combinazione dei due. I diversi set di dati di valutazione variano in base a questi e ad altri fattori. Per questo motivo, i punteggi F1, sia complessivi che per gruppi, variano a seconda del set di dati. Tenendo conto di questa variazione, il nostro processo di sviluppo esamina le prestazioni di AnalyzeID utilizzando più set di dati di valutazione, adotta misure per aumentare l'F1 per i gruppi in cui AnalyzeID ha ottenuto risultati meno buoni, lavora per migliorare la suite di set di dati di valutazione e quindi esegue le iterazioni.

Equità e bias: il nostro obiettivo è che AnalyzeID estragga i campi di testo dai documenti di identità con elevata precisione indipendentemente dalla giurisdizione della licenza o dagli attributi demografici della persona rappresentata dal documento. Per raggiungere questo obiettivo, utilizziamo il processo di sviluppo iterativo descritto in precedenza. Come parte di questo processo, creiamo set di dati per acquisire la gamma di giurisdizioni (Stati Uniti) e modelli trattati da AnalyzeID, in una serie di condizioni per la qualità delle immagini. Effettuiamo regolarmente test su set di dati di immagini di documenti per i quali disponiamo di coppie chiave-valore affidabili. Abbiamo riscontrato che AnalyzeID funziona bene in tutti gli attributi giurisdizionali e demografici. Ad esempio, su un set di dati interno composto dai lati anteriori delle patenti di guida statunitensi di 50 stati, la precisione dell'F1 più bassa tra gli stati è del 95% e l'F1 più basso per i gruppi demografici definiti per età, stato di veterano e lunghezza del cognome è del 99%. Poiché i risultati non dipendono solo da AnalyzeID, ma anche dal flusso di lavoro del cliente e dal set di dati di valutazione, consigliamo ai clienti di testare AnalyzeID sui propri contenuti.

Spiegabilità: i clienti hanno accesso ai punteggi di affidabilità per ogni campo di testo, che possono sfruttare per la soglia di attendibilità e per una migliore comprensione dell'output di AnalyzeID. La chiave prevista fornisce informazioni sulla previsione del valore.

Solidità: massimizziamo la solidità con una serie di tecniche, incluso l'utilizzo di grandi set di dati di formazione che acquisiscono molti tipi di variazione tra più documenti. Gli input ideali per AnalyzeID contengono immagini relativamente prive di ombre, riflessi o altri ostacoli, con il documento orientato in posizione verticale all'interno della cornice dell'immagine. Tuttavia, i modelli AnalyzeID sono addestrati per essere resilienti anche quando gli input variano rispetto alle condizioni ideali.

Privacy e sicurezza: AnalyzeID acquisisce ed elabora il testo. Gli input e gli output non vengono mai condivisi tra i clienti.  I clienti possono scegliere di non partecipare alla formazione sui contenuti dei clienti tramite AWS Organizations o altri meccanismi di rifiuto che potremmo fornire. Per ulteriori informazioni, consulta la sezione 50.3 dei Termini di servizio AWS e le domande frequenti sulla privacy dei dati in AWS. Per informazioni sulla privacy e sulla sicurezza specifiche del servizio, consulta la sezione sulla privacy dei dati delle domande frequenti di Textract e la documentazione della Sicurezza di Amazon Textract.

Trasparenza: laddove appropriato per il loro caso d'uso, i clienti che integrano AnalyzeID nel proprio flusso di lavoro dovrebbero prendere in considerazione di incoraggiare a divulgare l'uso delle tecnologie di ML agli utenti finali e ad altri individui interessati dall'applicazione e a offrire ai propri utenti finali la possibilità di fornire feedback per migliorare i flussi di lavoro. Nella propria documentazione, i clienti possono anche fare riferimento a questa scheda dei servizi di IA.

Governance: disponiamo di metodologie rigorose per creare i nostri servizi di IA di AWS in modo responsabile, tra cui un processo di sviluppo del prodotto funzionante a ritroso che include l'IA responsabile nella fase di progettazione, consulenze di progettazione e valutazioni di implementazione da parte di esperti di IA responsabile e dei relativi dati, test di routine, revisioni con i clienti e sviluppo, diffusione e formazione delle best practice.

Best practice per l'implementazione e l'ottimizzazione delle prestazioni

Incoraggiamo i clienti a creare e utilizzare le proprie applicazioni in modo responsabile, come descritto nella guida AWS Responsible Use of Machine Learning. Ciò include l'implementazione di pratiche di IA responsabili per affrontare aspetti chiave, tra cui equità e bias, solidità, spiegabilità, privacy e sicurezza, trasparenza e governance.
 
Progettazione del flusso di lavoro: definiamo le prestazioni come l'esperienza degli utenti finali che interagiscono con un'applicazione sviluppata dal cliente che include AnalyzeID per l'estrazione del testo. Le prestazioni di qualsiasi applicazione che utilizza AnalyzeID dipendono dalla progettazione del flusso di lavoro del cliente, tra cui: (1) variazione dell'immagine, (2) soglia di attendibilità, (3) supervisione umana, (4) coerenza del flusso di lavoro e (5) test periodici per verificare la variazione delle prestazioni.
 
  1. Variazione dell'immagine: le immagini ideali sono relativamente prive di ombre, riflessi o altri ostacoli, con il documento acquisito frontalmente e orientato in posizione verticale all'interno della cornice dell'immagine. I clienti possono supportare i propri utenti finali con una guida appropriata per l'acquisizione di immagini di qualità.

  2. Soglia di attendibilità: i clienti possono ottimizzare le prestazioni impostando un filtro o una soglia sulle coppie chiave-valore prodotte da AnalyzeID, in base al punteggio di attendibilità assegnato a tale coppia. Per una maggiore precisione, scegli una soglia alta. Per un recupero migliore, scegli una soglia bassa. Per impostare una soglia appropriata, un cliente può raccogliere una serie rappresentativa di input, etichettare i campi di testo di ciascuno e provare soglie più alte o più basse fino a quando non è soddisfatto dell'esperienza utente.

  3. Supervisione umana: se il flusso di lavoro dell'applicazione di un cliente comporta un caso d'uso sensibile o ad alto rischio, come una decisione che influisce sui diritti di un individuo o sull'accesso ai servizi essenziali, la revisione umana dovrebbe essere inclusa nel flusso di lavoro dell'applicazione, ove appropriato. L'estrazione automatica di chiave-valore con AnalyzeID può fungere da strumento per ridurre lo sforzo richiesto da soluzioni completamente manuali e consentire alle persone di esaminare e valutare rapidamente i documenti di identità.

  4. Coerenza: i clienti devono stabilire e applicare policy per i tipi di immagini di input consentiti e per il modo in cui le persone combinano l'uso della soglia di attendibilità e il proprio giudizio per determinare i risultati finali. Queste policy dovrebbero essere coerenti tra i gruppi demografici. La modifica incoerente delle immagini di input o delle soglie di attendibilità potrebbe comportare risultati non equi per diversi gruppi demografici.

  5. Variazione delle prestazioni: una modifica dei tipi di immagine che un cliente invia ad AnalyzeID o una modifica al servizio possono produrre output diversi. Per ovviare a queste modifiche, i clienti dovrebbero valutare di ripetere periodicamente il test delle prestazioni di Textract e modificare il flusso di lavoro, se necessario.

Ulteriori informazioni

Glossario

Equità e bias si riferiscono al modo in cui un sistema di IA influisce su diverse sottopopolazioni di utenti (ad esempio, per genere, etnia).

Spiegabilità si riferisce alla disponibilità di meccanismi per comprendere e valutare gli output di un sistema di IA.

Solidità si riferisce alla disponibilità di meccanismi per garantire che un sistema di IA funzioni in modo affidabile.

Privacy e sicurezza si riferiscono alla protezione dei dati dal furto e dall'esposizione.

Governance si riferisce ai processi per definire, implementare e applicare pratiche di IA responsabile all'interno di un'organizzazione.

Trasparenza si riferisce alla comunicazione di informazioni su un sistema di IA in modo che le parti interessate possano prendere scelte ponderate sul proprio utilizzo del sistema.