Usare l'arricchimento tramite intelligenza artificiale con l'elaborazione di immagini e testo

Servizio app di Azure
Archiviazione BLOB di Azure
Ricerca di intelligenza artificiale di Azure
Funzioni di Azure

Idee per soluzioni

In questo articolo viene descritta un'idea di soluzione. Il cloud architect può usare queste linee guida per visualizzare i componenti principali di un'implementazione tipica di questa architettura. Usare questo articolo come punto di partenza per il design di una soluzione ben progettata che sia in linea con i requisiti specifici del carico di lavoro.

Questo articolo descrive come usare l'elaborazione delle immagini, l'elaborazione del linguaggio naturale e le competenze personalizzate per acquisire dati specifici del dominio. È possibile usare tali dati per arricchire documenti di testo e immagini. Incorporare Azure AI Search con arricchimento tramite intelligenza artificiale per identificare ed esplorare i contenuti pertinenti su larga scala. Questa soluzione usa l'arricchimento tramite intelligenza artificiale per estrarre significato dal set di dati JFK Assassination Records (JFK Files) originale non strutturato.

Architettura

Diagramma che mostra l'architettura di AI Search per convertire i dati non strutturati in dati strutturati.

Scaricare un file di Visio di questa architettura.

Flusso di dati

Il flusso di dati seguente corrisponde al diagramma precedente. Il flusso di dati descrive il modo in cui il set di dati JFK Files non strutturato passa attraverso la pipeline di competenze di AI Search per produrre dati strutturati e indicizzabili.

  1. I dati non strutturati in Archiviazione BLOB di Azure, ad esempio documenti e immagini, vengono inseriti in AI Search.

  2. Per avviare il processo di indicizzazione, il passaggio di cracking di documenti consente di estrarre immagini e testo dai dati e quindi arricchire il contenuto. I passaggi di arricchimento in questo processo dipendono dai dati e dal tipo di competenze selezionati.

  3. Le competenze predefinite basate sulle API Visione di Azure AI e Lingua di Azure AI offrono arricchimenti tramite intelligenza artificiale, ad esempio il riconoscimento ottico dei caratteri delle immagini (OCR), l'analisi delle immagini, la traduzione testuale, il riconoscimento delle entità e la ricerca full-text.

  4. Le competenze personalizzate supportano scenari che richiedono modelli o servizi di intelligenza artificiale più complessi. Gli esempi includono Informazioni sui documenti di Azure AI, modelli di Azure Machine Learning e Funzioni di Azure.

  5. Al termine del processo di arricchimento, l'indicizzatore salva i documenti arricchiti e indicizzati in un indice di ricerca. La ricerca full-text e altri moduli di query possono usare questo indice.

  6. I documenti arricchiti possono anche essere proiettati in un archivio conoscenze e possono essere usati da app downstream come app di knowledge mining o app di data science.

  7. Le query accedono al contenuto arricchito nell'indice di ricerca. L'indice supporta analizzatori personalizzati, query di ricerca fuzzy, filtri e un profilo di punteggio per ottimizzare la pertinenza della ricerca.

  8. Le applicazioni che si connettono all'archiviazione BLOB o ad Archiviazione tabelle di Azure possono accedere all'archivio conoscenze.

Componenti

Questa soluzione usa i componenti di Azure seguenti.

AI Search indicizza il contenuto e supporta l'esperienza utente in questa soluzione. È possibile usare AI Search per applicare competenze IA predefinite al contenuto. È inoltre possibile usare il meccanismo di estendibilità per aggiungere competenze personalizzate, che forniscono trasformazioni di arricchimento specifiche.

Visione di Azure AI

Visione usa il riconoscimento del testo per estrarre e riconoscere le informazioni di testo dalle immagini. L'API Lettura usa i modelli di riconoscimento OCR più recenti ed è ottimizzata per documenti di grandi dimensioni e immagini rumorose.

L'API OCR legacy non è ottimizzata per documenti di grandi dimensioni, ma supporta più lingue. L'accuratezza dei risultati OCR può variare in base alla qualità dell'analisi e all'immagine. Questa soluzione usa OCR per produrre dati nel formato hOCR.

Lingua

Lingue usa capacità di analisi del testo come riconoscimento entità denominata e estrazione frase chiave per estrarre informazioni di testo da documenti non strutturati.

Archiviazione di Azure

Archiviazione BLOC è l'archiviazione di oggetti basata su REST per i dati a cui è possibile accedere da qualsiasi parte del mondo tramite HTTPS. Archiviazione BLOB può essere usata per esporre dati pubblicamente a livello mondiale o archiviare privatamente i dati delle applicazioni. Archiviazione BLOB è ideale per grandi quantità di dati non strutturati, ad esempio testo o grafica.

Archiviazione tabelle archivia dati NoSQL a disponibilità elevata, scalabili, strutturati e semi-strutturati nel cloud.

Funzioni di Azure

Funzioni è un servizio di calcolo serverless che è possibile utilizzare per eseguire piccoli pezzi di codice senza dover eseguire il provisioning o gestire l'infrastruttura in modo esplicito. Questa soluzione usa un metodo Funzioni per applicare l'elenco criptonimi della CIA (Agenzia d'intelligence centrale) ai file JFK come competenza personalizzata.

Servizio app di Azure

Questa soluzione compila un'app Web autonoma in Servizio app di Azure per testare, illustrare e cercare l'indice ed esplorare le connessioni nei documenti arricchiti e indicizzati.

Dettagli dello scenario

I set di dati non strutturati di grandi dimensioni possono includere note scritte a mano, foto, diagrammi e altri dati non strutturati che le soluzioni di ricerca standard non possono analizzare. I file JFK contengono oltre 34.000 pagine di documenti sull'indagine della CIA sull'assassinio del JFK del 1963.

È possibile usare l'arricchimento tramite intelligenza artificiale in AI Search per estrarre e migliorare il testo ricercabile, indicizzabile da immagini, BLOB e altre origini dati non strutturate come i file JFK. L'arricchimento tramite intelligenza artificiale usa set di competenze di Machine Learning con training preliminare dalle API di Servizi di Azure AI Visione e Lingua. È inoltre possibile creare e associare competenze personalizzate per aggiungere un'elaborazione speciale per dati specifici del dominio, ad esempio criptonimi CIA. AI Search può quindi indicizzare e cercare tale contesto.

Le competenze di AI Search in questa soluzione possono essere classificate nei gruppi seguenti:

  • Elaborazione immagini: questa soluzione usa competenze predefinite di estrazione del testo e analisi delle immagini, tra cui rilevamento di oggetti e volti, generazione di tag e didascalie e identificazione di celebrità e punti di riferimento. Queste competenze creano rappresentazioni testuali dei contenuti di immagini, che è possibile cercare usando le funzionalità di query di AI Search. Cracking di documenti è il processo di estrazione o creazione di contenuti di testo da origini non testuali durante l'indicizzazione.

  • Elaborazione del linguaggio naturale: questa soluzione usa competenze predefinite come il riconoscimento delle entità, il rilevamento della lingua e l'estrazione di frasi chiave che eseguono il mapping di testo non strutturato ai campi ricercabili e filtrabili in un indice.

  • Competenze personalizzate: questa soluzione usa competenze personalizzate che estendono la ricerca di intelligenza artificiale per applicare trasformazioni di arricchimento specifiche al contenuto. È possibile specificare l'interfaccia per una competenza personalizzata tramite la competenza API Web personalizzata.

Potenziali casi d'uso

Il progetto di esempio JFK Files e demo online presenta un particolare caso d'uso di AI Search. Questa idea di soluzione non è progettata per essere un framework o un'architettura scalabile per tutti gli scenari. Questa idea di soluzione fornisce invece linee guida generali ed esempi. Il progetto di codice e la demo creano un sito Web pubblico e un contenitore di archiviazione leggibile pubblicamente per le immagini estratte, quindi non è consigliabile usare questa soluzione con dati non pubblici.

È anche possibile usare questa architettura per:

  • Aumentare il valore e l'utilità del contenuto di testo e immagine non strutturati nelle app di ricerca e data science.

  • Usare competenze personalizzate per integrare codice open source, codice non Microsoft o codice Microsoft nelle pipeline di indicizzazione.

  • Eseguire ricerche full-text nei documenti JPG, PNG o bitmap digitalizzati.

  • Produrre risultati migliori rispetto all'estrazione di testo PDF standard per pdf con immagini e testo combinati. Alcuni formati PDF analizzati e nativi potrebbero non essere analizzati correttamente in AI Search.

  • Creare nuove informazioni da contenuto non elaborato o contesto intrinsecamente significativo nascosto in documenti di grandi dimensioni, non strutturati o documenti semi-strutturati.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi

Maggiori informazioni su questa soluzione:

Leggere la documentazione sul prodotto:

Provare il percorso di apprendimento: