Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Abilita la ricerca di Amazon Kendra per un documento di testo scansionato o basato su immagini

Amazon Kendra è un servizio di ricerca intelligente basato sull'apprendimento automatico (ML). Amazon Kendra reinventa la ricerca di siti Web e applicazioni in modo che dipendenti e clienti possano trovare facilmente i contenuti che stanno cercando, anche quando sono sparsi in più posizioni e repository di contenuti all'interno della tua organizzazione.

Amazon Kendra supporta una varietà di formati di documenti, come Microsoft Word, PDF e testo. Mentre lavoravamo con un importante cliente Edtech, ci è stato chiesto di creare una soluzione di ricerca aziendale che utilizzasse anche immagini e file PPT. Questo post si concentra sull'estensione del supporto dei documenti in Amazon Kendra in modo da poter preelaborare immagini di testo e documenti scansionati (formato JPEG, PNG o PDF) per renderli ricercabili. La soluzione combina Testo Amazon per la preelaborazione dei documenti e il riconoscimento ottico dei caratteri (OCR) e Amazon Kendra per la ricerca intelligente.

Con la nuova funzionalità di arricchimento personalizzato dei documenti in Amazon Kendra, ora puoi preelaborare i tuoi documenti durante l'acquisizione e arricchirli con nuovi metadati. L'arricchimento personalizzato dei documenti ti consente di chiamare servizi esterni come Amazon Comprehend, Amazon Texttract e Amazon Transcribe per estrarre testo da immagini, trascrivere audio e analizzare video. Per ulteriori informazioni sull'utilizzo dell'arricchimento personalizzato dei documenti, fare riferimento a Arricchisci i tuoi contenuti e metadati per migliorare la tua esperienza di ricerca con l'arricchimento dei documenti personalizzato in Amazon Kendra.

In questo post proponiamo un metodo alternativo per preelaborare il contenuto prima di chiamare il processo di acquisizione in Amazon Kendra.

Panoramica della soluzione

Amazon Textract è un servizio ML che estrae automaticamente testo, grafia e dati da documenti scansionati e va oltre l'OCR di base per identificare, comprendere ed estrarre dati da moduli e tabelle. Oggi molte aziende estraggono manualmente i dati da documenti scansionati come PDF, immagini, tabelle e moduli tramite software OCR di base che richiede una configurazione manuale, che spesso richiede una riconfigurazione quando il modulo cambia.

Per superare questi processi manuali e costosi, Amazon Textract utilizza l'apprendimento automatico per leggere ed elaborare un'ampia gamma di documenti, estraendo con precisione testo, grafia, tabelle e altri dati senza alcuno sforzo manuale. Puoi automatizzare rapidamente l'elaborazione dei documenti e agire sulle informazioni estratte, sia che si tratti di automatizzare l'elaborazione dei prestiti o di estrarre informazioni da fatture e ricevute.

Amazon Kendra è un servizio di ricerca aziendale di facile utilizzo che ti consente di aggiungere funzionalità di ricerca alle tue applicazioni in modo che gli utenti finali possano trovare facilmente le informazioni archiviate in diverse origini dati all'interno della tua azienda. Ciò potrebbe includere fatture, documenti aziendali, manuali tecnici, rapporti sulle vendite, glossari aziendali, siti Web interni e altro ancora. Puoi raccogliere queste informazioni da soluzioni di archiviazione come Servizio di archiviazione semplice Amazon (Amazon S3) e OneDrive; applicazioni come Salesforce, SharePoint e ServiceNow; o database relazionali come Servizio di database relazionale Amazon (AmazonRDS).

La soluzione proposta consente di sbloccare il potenziale di ricerca nei documenti scansionati, estendendo la capacità di Amazon Kendra di trovare risposte accurate in una gamma più ampia di tipi di documenti. Il flusso di lavoro include i seguenti passaggi:

  1. Carica un documento (o documenti di vario tipo) su Amazon S3.
  2. L'evento innesca un AWS Lambda funzione che utilizza l'API sincrona Amazon Textract (DetectDocumentText).
  3. Amazon Textract legge il documento in Amazon S3, ne estrae il testo e restituisce il testo estratto alla funzione Lambda.
  4. L'origine dati nel nuovo file di testo deve essere reindicizzata.
  5. Una volta completata la reindicizzazione, puoi cercare il nuovo set di dati tramite la console Amazon Kendra o l'API.

Il diagramma seguente illustra l'architettura della soluzione.

Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Nelle sezioni seguenti, dimostriamo come configurare la funzione Lambda, creare il trigger di evento, elaborare un documento e quindi reindicizzare i dati.

Configura la funzione Lambda

Per configurare la funzione Lambda, aggiungi il seguente codice all'editor Python della funzione:

import urllib
import boto3 textract = boto3.client('textract')
def handler(event, context): source_bucket = event['Records'][0]['s3']['bucket']['name'] object_key = urllib.parse.unquote_plus(event['Records'][0]['s3']['object']['key']) textract_result = textract.detect_document_text( Document={ 'S3Object': { 'Bucket': source_bucket, 'Name': object_key } }) page="" blocks = [x for x in textract_result['Blocks'] if x['BlockType'] == "LINE"] for block in blocks: page += " " + block['Text'] print(page) s3 = boto3.resource('s3') object = s3.Object('demo-kendra-test', 'text/apollo11-summary.txt') object.put(Body=page)

Usiamo il RilevaDocumentoTesto API per estrarre il testo da un'immagine (JPEG o PNG) recuperata in Amazon S3.

Crea un trigger di evento su Amazon S3

In questo passaggio creiamo un trigger di evento per avviare la funzione Lambda quando un nuovo documento viene caricato in un bucket specifico. Lo screenshot seguente mostra la nostra nuova funzione sulla console Amazon S3.

Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Puoi anche verificare l'attivazione dell'evento sulla console Lambda.

Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Elaborare un documento

Per testare il processo, carichiamo un'immagine nella cartella S3 che abbiamo definito per l'attivazione dell'evento S3. Usiamo la seguente immagine di esempio.

Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Quando la funzione Lambda è completa, possiamo andare al file Amazon Cloud Watch console per controllare l'output. Lo screenshot seguente mostra il testo estratto, che conferma che la funzione Lambda è stata eseguita correttamente.

Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Reindicizzare i dati con Amazon Kendra

Ora possiamo reindicizzare i nostri dati.

  1. Sulla console Amazon Kendra, sotto Gestione dati nel pannello di navigazione, scegli Fonti dei dati.
  2. Seleziona l'origine dati demo-s3-datasource.
  3. Scegli Sincronizza ora.

Lo stato di sincronizzazione cambia in Synching - crawling.

Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Una volta completata la sincronizzazione, lo stato della sincronizzazione cambia in Succeeded e lo stato di sincronizzazione cambia in Idle.

Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Ora possiamo tornare alla console di ricerca e vedere la nostra ricerca sfaccettata in azione.

  1. Nel pannello di navigazione, scegli Console di ricerca.
    Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Abbiamo aggiunto metadati per alcuni elementi; due di questi sono gli algoritmi ML XGBoost e BlazingText.

  1. Proviamo a cercare Sagemaker.
    Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

La nostra ricerca ha avuto successo e abbiamo ottenuto un elenco di risultati. Vediamo cosa abbiamo per le sfaccettature.

  1. Espandere Filtra i risultati della ricerca.

Abbiamo il category ed tags sfaccettature che facevano parte dei metadati dei nostri articoli.

  1. Scegli Testo ardente per filtrare i risultati solo per quell'algoritmo.
    Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  2. Ora eseguiamo la ricerca sui file immagine appena caricati. Lo screenshot seguente mostra la ricerca su nuovi documenti preelaborati.
    Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Conclusione

Questo blog sarà utile per migliorare l'efficacia dei risultati di ricerca e dell'esperienza di ricerca. Puoi utilizzare Amazon Textract per estrarre testo da immagini scansionate che vengono aggiunte come metadati e successivamente disponibili come sfaccettature per interagire con i risultati della ricerca. Questo è solo un esempio di come puoi utilizzare i servizi nativi AWS per creare un'esperienza di ricerca differenziata per i tuoi utenti. Ciò aiuta anche a sbloccare il pieno potenziale delle tue risorse di conoscenza.

Per un approfondimento su ciò che puoi ottenere combinando altri servizi AWS con Amazon Kendra, fai riferimento a Rendi i tuoi file audio e video ricercabili utilizzando Amazon Transcribe e Amazon KendraCrea una soluzione di ricerca intelligente con arricchimento automatico dei contenutie altri post su Blog di Amazon Kendra.


Informazioni sull'autore

Abilita Amazon Kendra alla ricerca di un documento di testo scansionato o basato su immagini PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Sanjay Tiwary è uno specialista in soluzioni architettoniche AI/ML. Trascorre il suo tempo lavorando con clienti strategici per definire i requisiti aziendali, fornire sessioni L300 su casi d'uso specifici e progettare applicazioni e servizi ML scalabili, affidabili e performanti. Ha contribuito a lanciare e ampliare il servizio Amazon SageMaker basato su AI/ML e ha implementato diverse prove di concetto utilizzando i servizi Amazon AI. Ha inoltre sviluppato la piattaforma di analisi avanzata come parte del percorso di trasformazione digitale.

Timestamp:

Di più da Apprendimento automatico di AWS