Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument

Amazon Kendra er en intelligent søgetjeneste drevet af maskinlæring (ML). Amazon Kendra genskaber søgning efter dine websteder og applikationer, så dine medarbejdere og kunder nemt kan finde det indhold, de leder efter, selv når det er spredt ud over flere lokationer og indholdslagre i din organisation.

Amazon Kendra understøtter en række dokumentformater, såsom Microsoft Word, PDF og tekst. Mens vi arbejdede med en førende Edtech-kunde, blev vi bedt om at bygge en virksomhedssøgningsløsning, der også bruger billeder og PPT-filer. Dette indlæg fokuserer på at udvide dokumentstøtten i Amazon Kendra, så du kan forbehandle tekstbilleder og scannede dokumenter (JPEG, PNG eller PDF-format) for at gøre dem søgbare. Løsningen kombinerer amazontekst til dokumentforbehandling og optisk tegngenkendelse (OCR) og Amazon Kendra til intelligent søgning.

Med den nye Custom Document Enrichment-funktion i Amazon Kendra kan du nu forbehandle dine dokumenter under indlæsning og udvide dine dokumenter med nye metadata. Custom Document Enrichment giver dig mulighed for at ringe til eksterne tjenester som f.eks Amazon Comprehend, Amazon Textract og Amazon Transcrib at udtrække tekst fra billeder, transskribere lyd og analysere video. For mere information om brug af Custom Document Enrichment, se Berig dit indhold og metadata for at forbedre din søgeoplevelse med tilpasset dokumentberigelse i Amazon Kendra.

I dette indlæg foreslår vi en alternativ metode til at forbehandle indholdet, før du kalder indtagelsesprocessen i Amazon Kendra.

Løsningsoversigt

Amazon Textract er en ML-tjeneste, der automatisk udtrækker tekst, håndskrift og data fra scannede dokumenter og går ud over grundlæggende OCR til at identificere, forstå og udtrække data fra formularer og tabeller. I dag udtrækker mange virksomheder manuelt data fra scannede dokumenter som PDF'er, billeder, tabeller og formularer gennem grundlæggende OCR-software, der kræver manuel konfiguration, som ofte kræver omkonfiguration, når formularen ændres.

For at overvinde disse manuelle og dyre processer bruger Amazon Textract maskinlæring til at læse og behandle en lang række dokumenter, præcist udtrække tekst, håndskrift, tabeller og andre data uden nogen manuel indsats. Du kan hurtigt automatisere dokumentbehandlingen og handle på de udtrukne oplysninger, hvad enten det drejer sig om automatisering af lånebehandling eller udtræk af oplysninger fra fakturaer og kvitteringer.

Amazon Kendra er en brugervenlig virksomhedssøgningstjeneste, der giver dig mulighed for at tilføje søgefunktioner til dine applikationer, så slutbrugere nemt kan finde information, der er gemt i forskellige datakilder i din virksomhed. Dette kan omfatte fakturaer, forretningsdokumenter, tekniske manualer, salgsrapporter, virksomhedsordlister, interne websteder og mere. Du kan høste disse oplysninger fra opbevaringsløsninger som f.eks Amazon Simple Storage Service (Amazon S3) og OneDrive; applikationer såsom Salesforce, SharePoint og ServiceNow; eller relationelle databaser som Amazon Relationel Database Service (Amazon RDS).

Den foreslåede løsning giver dig mulighed for at låse op for søgepotentialet i scannede dokumenter, hvilket udvider Amazon Kendras evne til at finde præcise svar i en bredere vifte af dokumenttyper. Arbejdsgangen omfatter følgende trin:

  1. Upload et dokument (eller dokumenter af forskellige typer) til Amazon S3.
  2. Hændelsen udløser en AWS Lambda funktion, der bruger den synkrone Amazon Textract API (DetectDocumentText).
  3. Amazon Textract læser dokumentet i Amazon S3, udtrækker teksten fra det og returnerer den udpakkede tekst til Lambda-funktionen.
  4. Datakilden på den nye tekstfil skal genindekseres.
  5. Når genindekseringen er fuldført, kan du søge i det nye datasæt enten via Amazon Kendra-konsollen eller API.

Følgende diagram illustrerer løsningsarkitekturen.

Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

I de følgende afsnit viser vi, hvordan du konfigurerer Lambda-funktionen, opretter hændelsesudløseren, behandler et dokument og derefter genindekserer dataene.

Konfigurer Lambda-funktionen

For at konfigurere din Lambda-funktion skal du tilføje følgende kode til funktionen Python-editor:

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)

Vi bruger DetectDocumentText API til at udtrække teksten fra et billede (JPEG eller PNG) hentet i Amazon S3.

Opret en hændelsesudløser på Amazon S3

I dette trin opretter vi en hændelsesudløser for at starte Lambda-funktionen, når et nyt dokument uploades til en bestemt bucket. Følgende skærmbillede viser vores nye funktion på Amazon S3-konsollen.

Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du kan også bekræfte hændelsesudløseren på Lambda-konsollen.

Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Behandle et dokument

For at teste processen uploader vi et billede til S3-mappen, som vi definerede for S3-hændelsesudløseren. Vi bruger følgende eksempelbillede.

Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Når Lambda-funktionen er færdig, kan vi gå til amazoncloudwatch konsollen for at kontrollere outputtet. Følgende skærmbillede viser den udpakkede tekst, som bekræfter, at Lambda-funktionen kørte med succes.

Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Genindekser dataene med Amazon Kendra

Vi kan nu genindeksere vores data.

  1. På Amazon Kendra-konsollen, under Datastyring i navigationsruden skal du vælge Data kilder.
  2. Vælg datakilden demo-s3-datasource.
  3. Vælg Synkroniser nu.

Synkroniseringstilstanden ændres til Synching - crawling.

Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Når synkroniseringen er fuldført, ændres synkroniseringsstatussen til Succeeded og synkroniseringstilstanden ændres til Idle.

Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Nu kan vi gå tilbage til søgekonsollen og se vores facetterede søgning i aktion.

  1. Vælg i navigationsruden Søgekonsol.
    Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Vi tilføjede metadata for nogle få elementer; to af dem er ML-algoritmerne XGBoost og BlazingText.

  1. Lad os prøve at søge efter Sagemaker.
    Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Vores søgning lykkedes, og vi fik en liste med resultater. Lad os se, hvad vi har for facetter.

  1. Udvid Filtrer søgeresultater.

Vi har category , tags facetter, der var en del af vores varemetadata.

  1. Vælg BlazingText at filtrere resultater kun for den algoritme.
    Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  2. Lad os nu udføre søgningen på nyligt uploadede billedfiler. Følgende skærmbillede viser søgningen på nye forbehandlede dokumenter.
    Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Konklusion

Denne blog vil være nyttig til at forbedre effektiviteten af ​​søgeresultater og søgeoplevelse. Du kan bruge Amazon Textract til at udtrække tekst fra scannede billeder, der tilføjes som metadata og senere er tilgængelige som facetter for at interagere med søgeresultaterne. Dette er blot en illustration af, hvordan du kan bruge AWS native-tjenester til at skabe en differentieret søgeoplevelse for dine brugere. Dette hjælper også med at frigøre det fulde potentiale af dine videnaktiver.

For et dybere dyk ned i, hvad du kan opnå ved at kombinere andre AWS-tjenester med Amazon Kendra, se Gør dine lyd- og videofiler søgbare ved hjælp af Amazon Transcribe og Amazon KendraByg en intelligent søgeløsning med automatisk berigelse af indhold, og andre indlæg på Amazon Kendra blog.


Om forfatteren

Aktiver Amazon Kendra-søgning efter et scannet eller billedbaseret tekstdokument PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Sanjay Tiwary er en Specialist Solutions Architect AI/ML. Han bruger sin tid på at arbejde med strategiske kunder for at definere forretningskrav, levere L300-sessioner omkring specifikke use cases og designe ML-applikationer og -tjenester, der er skalerbare, pålidelige og effektive. Han har hjulpet med at lancere og skalere den AI/ML-drevne Amazon SageMaker-tjeneste og har implementeret flere proofs of concept ved hjælp af Amazon AI-tjenester. Han har også udviklet den avancerede analyseplatform som en del af den digitale transformationsrejse.

Tidsstempel:

Mere fra AWS maskinindlæring