Arricchimento tramite intelligenza artificiale con elaborazione di immagini e testo

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

Idee per le soluzioni

Questo articolo è un'idea di soluzione. Per espandere il contenuto con altre informazioni, ad esempio potenziali casi d'uso, servizi alternativi, considerazioni sull'implementazione o indicazioni sui prezzi, inviare commenti e suggerimenti su GitHub.

Questo articolo presenta una soluzione che arricchisce documenti di testo e immagini usando l'elaborazione delle immagini, l'elaborazione del linguaggio naturale e le competenze personalizzate per acquisire dati specifici del dominio. Ricerca cognitiva di Azure con l'arricchimento tramite intelligenza artificiale può aiutare a 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 Ricerca cognitiva di Azure'architettura per convertire dati non strutturati in dati strutturati.

Scaricare un file di Visio di questa architettura.

Flusso di dati

Il diagramma precedente illustra il processo di passaggio del set di dati JFK Files non strutturato tramite la pipeline di competenze Ricerca cognitiva di Azure per produrre dati strutturati e indicizzabili:

  1. I dati non strutturati in Archiviazione BLOB di Azure, ad esempio documenti e immagini, inseriscono in Ricerca cognitiva di Azure.
  2. Il passaggio di cracking del documento avvia il processo di indicizzazione estraendo immagini e testo dai dati, seguito dall'arricchimento del contenuto. I passaggi di arricchimento che si verificano in questo processo dipendono dai dati e dal tipo di competenze selezionati.
  3. Le competenze predefinite basate sulle API del servizio di linguaggio e Visione artificiale consentono l'arricchimento tramite intelligenza artificiale, tra cui il riconoscimento ottico dei caratteri immagine (OCR), l'analisi delle immagini, la traduzione testuale, il riconoscimento delle entità e la ricerca full-text.
  4. Gli scenari di supporto delle competenze personalizzate che richiedono modelli o servizi di intelligenza artificiale più complessi. Gli esempi includono Riconoscimento moduli, modelli di Azure Machine Learning e Funzioni di Azure.
  5. Dopo il processo di arricchimento, l'indicizzatore salva gli output in un indice di ricerca contenente i documenti arricchiti e indicizzati. La ricerca full-text e altri moduli di query possono usare questo indice.
  6. I documenti arricchiti possono anche proiettare in un archivio conoscenze, che possono essere usate da app downstream come knowledge mining o 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. Qualsiasi applicazione che si connette al Archiviazione BLOB o alla tabella di Azure Archiviazione può accedere all'archivio conoscenze.

Componenti

Ricerca cognitiva di Azure funziona con altri componenti di Azure per fornire questa soluzione.

Ricerca cognitiva di Azure indicizza il contenuto e supporta l'esperienza utente in questa soluzione. Ricerca cognitiva di Azure possibile applicare competenze cognitive predefinite al contenuto e il meccanismo di estendibilità può aggiungere competenze personalizzate per trasformazioni di arricchimento specifiche.

Visione artificiale di Azure

Azure Visione artificiale 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. I risultati OCR possono variare a seconda della qualità dell'analisi e dell'immagine. L'idea di soluzione corrente usa OCR per produrre dati nel formato hOCR.

Servizio cognitivo di Azure per la lingua

Il servizio cognitivo di Azure per il linguaggio estrae informazioni di testo da documenti non strutturati usando funzionalità di analisi del testo come Riconoscimento di entità denominate (NER), estrazione di frasi chiave e ricerca full-text.

Archiviazione di Azure

Archiviazione BLOB di Azure è l'archiviazione di oggetti basata su REST per i dati a cui è possibile accedere da qualsiasi parte del mondo tramite HTTPS. È possibile usare i Archiviazione BLOB per esporre i dati pubblicamente al mondo o per archiviare i dati dell'applicazione privatamente. L'Archiviazione BLOB è ideale per grandi quantità di dati non strutturati, ad esempio testo o grafica.

Tabella di Azure Archiviazione archivia dati NoSQL altamente disponibili, scalabili, strutturati o semistrutturati nel cloud.

Funzioni di Azure

Funzioni di Azure è un servizio di calcolo serverless che consente di eseguire piccole parti di codice attivato da eventi senza dover effettuare in modo esplicito il provisioning o la gestione dell'infrastruttura. Questa soluzione usa un metodo Funzioni di Azure per applicare l'elenco cia cryptonyms ai record di assassini JFK come competenza personalizzata.

Servizio app di Azure

Questa idea di soluzione crea anche un'app Web autonoma in app Azure Servizio per testare, dimostrare, 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 e diagrammi scritti a mano e altri dati non strutturati che le soluzioni di ricerca standard non possono analizzare. I record dell'assassinio di JFK contengono oltre 34.000 pagine di documenti sull'indagine della CIA sull'assassinio del JFK del 1963.

Il progetto di esempio JFK Files e la demo online mostrano un particolare caso d'uso Ricerca cognitiva di Azure. Questa idea di soluzione non è progettata per essere un framework o un'architettura scalabile per tutti gli scenari, ma per fornire linee guida generali ed esempio. 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.

L'arricchimento tramite intelligenza artificiale in Ricerca cognitiva di Azure può 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 Servizi cognitivi Visione artificiale e Servizi cognitivi per il linguaggio. È anche possibile creare e associare competenze personalizzate per aggiungere un'elaborazione speciale per dati specifici del dominio, ad esempio CIA Cryptonyms. Ricerca cognitiva di Azure può quindi indicizzare e cercare tale contesto.

Le competenze Ricerca cognitiva di Azure in questa soluzione rientrano nelle categorie seguenti:

  • Elaborazione di immagini. Le competenze predefinite per l'estrazione di testo e l'analisi delle immagini includono rilevamento di oggetti e volti, tag e generazione di didascalia, celebrità e identificazione dei punti di riferimento. Queste competenze creano rappresentazioni di testo del contenuto dell'immagine, che possono essere cercate usando le funzionalità di query di Ricerca cognitiva di Azure. Il cracking dei documenti è il processo di estrazione o creazione di contenuto di testo da origini non di testo.

  • Elaborazione del linguaggio naturale. Competenze predefinite come il riconoscimento delle entità, il rilevamento della lingua e l'estrazione di frasi chiave mappano il testo non strutturato ai campi ricercabili e filtrabili in un indice.

  • Le competenze personalizzate estendono Ricerca cognitiva di Azure 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

  • 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, di terze parti o di prima parte nelle pipeline di indicizzazione.
  • Consente di 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 Ricerca cognitiva di Azure.
  • Creare nuove informazioni da contenuto non elaborato o contesto intrinsecamente significativo nascosto in documenti non strutturati o semistrutturati di dimensioni maggiori.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dal collaboratore seguente.

Autore principale:

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

Passaggi successivi

Altre informazioni su questa soluzione:

Leggere la documentazione del prodotto:

Provare il percorso di apprendimento:

Vedere le architetture e le linee guida correlate: