Specificeer en extraheer informatie uit documenten met behulp van de nieuwe Queries-functie in Amazon Textract PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Specificeer en extraheer informatie uit documenten met behulp van de nieuwe Queries-functie in Amazon Textract

Amazon T-extract is een machine learning (ML)-service die automatisch tekst, handschrift en gegevens extraheert uit elk document of elke afbeelding. Amazon Textract biedt nu de flexibiliteit om de gegevens te specificeren die je uit documenten moet extraheren met behulp van de nieuwe Queries-functie in de Analyse Document API. U hoeft de structuur van de gegevens in het document (tabel, formulier, geรฏmpliceerd veld, geneste gegevens) niet te kennen of u zorgen te maken over variaties in documentversies en -indelingen.

In dit bericht bespreken we de volgende onderwerpen:

  • Succesverhalen van AWS-klanten en voordelen van de nieuwe Queries-functie
  • Hoe de Analyse Document Queries API helpt bij het extraheren van informatie uit documenten
  • Een overzicht van de Amazon Textract-console
  • Codevoorbeelden om de Analyse Document Queries API te gebruiken
  • Het antwoord verwerken met de Amazon Textract-parserbibliotheek

Voordelen van de nieuwe functie Query's

Traditionele OCR-oplossingen hebben moeite om gegevens nauwkeurig te extraheren uit de meeste semi-gestructureerde en ongestructureerde documenten vanwege aanzienlijke verschillen in de manier waarop de gegevens zijn ingedeeld in meerdere versies en formaten van deze documenten. U moet aangepaste code voor nabewerking implementeren of handmatig de geรซxtraheerde informatie uit deze documenten bekijken. Met de functie Query's kunt u de informatie die u nodig hebt specificeren in de vorm van vragen in natuurlijke taal (bijvoorbeeld "Wat is de naam van de klant") en de exacte informatie ontvangen ("John Doe") als onderdeel van het API-antwoord. De functie gebruikt een combinatie van visuele, ruimtelijke en taalmodellen om de informatie die u zoekt met hoge nauwkeurigheid te extraheren. De functie Query's is vooraf getraind in een grote verscheidenheid aan semi-gestructureerde en ongestructureerde documenten. Enkele voorbeelden zijn loonstrookjes, bankafschriften, W-2's, aanvraagformulieren voor leningen, hypotheeknota's en vaccin- en verzekeringskaarten.

"Amazon Textract stelt ons in staat om de documentverwerkingsbehoeften van onze klanten te automatiseren. Met de functie Query's kunnen we gegevens uit een verscheidenheid aan documenten extraheren met nog meer flexibiliteit en nauwkeurigheid," zei Robert Jansen, Chief Executive Officer bij TekStream Solutions. "We zien dit als een grote productiviteitswinst voor onze zakelijke klanten, die de Queries-functie kunnen gebruiken als onderdeel van onze IDP-oplossing om snel belangrijke informatie uit hun documenten te halen."

"Amazon Textract stelt ons in staat om zowel tekst als gestructureerde elementen zoals formulieren en tabellen met hoge nauwkeurigheid uit afbeeldingen te extraheren. Amazon Textract Queries heeft ons geholpen de kwaliteit van informatie-extractie uit verschillende bedrijfskritieke documenten, zoals veiligheidsinformatiebladen of materiaalspecificaties, drastisch te verbeteren" zei Thorsten Warnecke, directeur | Hoofd PC Analytics, Camelot Management Consultants. "Het natuurlijke taalquerysysteem biedt een grote flexibiliteit en nauwkeurigheid, waardoor onze nabewerkingsbelasting is verminderd en we nieuwe documenten sneller aan onze gegevensextractietools kunnen toevoegen."

Hoe de Analyse Document Queries API helpt bij het extraheren van informatie uit documenten

Bedrijven hebben meer gebruik gemaakt van digitale platforms, vooral in het licht van de COVID-19-pandemie. De meeste organisaties bieden nu een digitale manier aan om hun diensten en producten aan te schaffen met behulp van smartphones en andere mobiele apparaten, wat gebruikers flexibiliteit biedt, maar ook bijdraagt โ€‹โ€‹aan de schaal waarop digitale documenten moeten worden beoordeeld, verwerkt en geanalyseerd. In sommige werklasten waarbij bijvoorbeeld hypotheekdocumenten, vaccinatiekaarten, loonstrookjes, verzekeringskaarten en andere documenten digitaal moeten worden geanalyseerd, kan de complexiteit van gegevensextractie exponentieel toenemen omdat deze documenten geen standaardformaat hebben of aanzienlijke variaties in gegevensformaat hebben in verschillende versies van het document.

Zelfs krachtige OCR-oplossingen hebben moeite om gegevens nauwkeurig uit deze documenten te extraheren, en het kan zijn dat u aangepaste nabewerking voor deze documenten moet implementeren. Dit omvat het toewijzen van mogelijke variaties van formuliersleutels aan klanteigen veldnamen of het opnemen van aangepaste machine learning om specifieke informatie in een ongestructureerd document te identificeren.

De nieuwe Analyse Document Queries API in Amazon Textract kan in natuurlijke taal geschreven vragen beantwoorden, zoals "Wat is de rente?" en voer krachtige AI- en ML-analyse uit op het document om de gewenste informatie te achterhalen en deze uit het document te extraheren zonder enige nabewerking. De functie Query's vereist geen aangepaste modeltraining of het instellen van sjablonen of configuraties. U kunt snel aan de slag door uw documenten te uploaden en vragen over die documenten te specificeren via de Amazon Textract-console, de AWS-opdrachtregelinterface (AWS CLI) of AWS SDK.

In de volgende secties van dit bericht bespreken we gedetailleerde voorbeelden van hoe u deze nieuwe functionaliteit kunt gebruiken voor veelvoorkomende gebruiksscenario's voor werkbelastingen en hoe u de Analyse Document Queries-API gebruikt om flexibiliteit toe te voegen aan het proces van digitalisering van uw werklast.

Gebruik de functie Query's op de Amazon Textract-console

Voordat we aan de slag gaan met de API en codevoorbeelden, laten we de Amazon Textract-console eens bekijken. De volgende afbeelding toont een voorbeeld van een vaccinatiekaart op de: Queries tabblad voor de Analyse Document API op de Amazon Textract-console. Nadat je het document naar de Amazon Textract-console hebt geรผpload, kies je Queries in de Document configureren sectie. U kunt dan zoekopdrachten toevoegen in de vorm van natuurlijke taalvragen. Nadat u al uw vragen heeft toegevoegd, kiest u Configuratie toepassen. De antwoorden op de vragen staan โ€‹โ€‹op de Queries Tab.

Specificeer en extraheer informatie uit documenten met behulp van de nieuwe Queries-functie in Amazon Textract PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Code voorbeelden

In deze sectie leggen we uit hoe u de Analyse Document-API aanroept met de parameter Query's om antwoorden te krijgen op natuurlijke taalvragen over het document. Het invoerdocument heeft een bytearray-indeling of bevindt zich in een Amazon eenvoudige opslagservice (Amazon S3) emmer. U geeft afbeeldingsbytes door aan een Amazon Textract API-bewerking met behulp van de eigenschap Bytes. U kunt bijvoorbeeld de Bytes eigenschap om een โ€‹โ€‹document door te geven dat is geladen vanuit een lokaal bestandssysteem. Afbeeldingsbytes doorgegeven met behulp van de Bytes eigenschap moet base64-gecodeerd zijn. Uw code hoeft mogelijk geen documentbestandsbytes te coderen als u een AWS SDK gebruikt om Amazon Textract API-bewerkingen aan te roepen. Als alternatief kunt u afbeeldingen die zijn opgeslagen in een S3-bucket doorgeven aan een Amazon Textract API-bewerking met behulp van de S3Object eigendom. Documenten die zijn opgeslagen in een S3-bucket hoeven niet gecodeerd te zijn met base64.

U kunt de functie Query's gebruiken om antwoorden te krijgen van verschillende soorten documenten, zoals loonstrookjes, vaccinatiekaarten, hypotheekdocumenten, bankafschriften, W-2-formulieren, 1099-formulieren en andere. In de volgende secties bespreken we enkele van deze documenten en laten we zien hoe de functie Query's werkt.

loonstrookje

In dit voorbeeld doorlopen we de stappen om een โ€‹โ€‹loonstrook te analyseren met behulp van de functie Query's, zoals weergegeven in de volgende voorbeeldafbeelding.

Specificeer en extraheer informatie uit documenten met behulp van de nieuwe Queries-functie in Amazon Textract PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

We gebruiken de volgende voorbeeld-python-code:

import boto3
import json #create a Textract Client
textract = boto3.client('textract') image_filename = "paystub.jpg" response = None
with open(image_filename, 'rb') as document: imageBytes = bytearray(document.read()) # Call Textract AnalyzeDocument by passing a document from local disk
response = textract.analyze_document( Document={'Bytes': imageBytes}, FeatureTypes=["QUERIES"], QueriesConfig={ "Queries": [{ "Text": "What is the year to date gross pay", "Alias": "PAYSTUB_YTD_GROSS" }, { "Text": "What is the current gross pay?", "Alias": "PAYSTUB_CURRENT_GROSS" }] })

De volgende code is een voorbeeld van een AWS CLI-opdracht:

aws textract analyze-document โ€”document '{"S3Object":{"Bucket":"your-s3-bucket","Name":"paystub.jpg"}}' โ€”feature-types '["QUERIES"]' โ€”queries-config '{"Queries":[{"Text":"What is the year to date gross pay", "Alias": "PAYSTUB_YTD_GROSS"}]}' 

Laten we het antwoord analyseren dat we krijgen voor de twee query's die we in het voorgaande voorbeeld hebben doorgegeven aan de Analyse Document-API. Het volgende antwoord is bijgesneden om alleen de relevante delen weer te geven:

{ "BlockType":"QUERY", "Id":"cbbba2fa-45be-452b-895b-adda98053153", #id of first QUERY "Relationships":[ { "Type":"ANSWER", "Ids":[ "f2db310c-eaa6-481d-8d18-db0785c33d38" #id of first QUERY_RESULT ] } ], "Query":{ "Text":"What is the year to date gross pay", #First Query "Alias":"PAYSTUB_YTD_GROSS" } }, { "BlockType":"QUERY_RESULT", "Confidence":87.0, "Text":"23,526.80", #Answer to the first Query "Geometry":{...}, "Id":"f2db310c-eaa6-481d-8d18-db0785c33d38" #id of first QUERY_RESULT }, { "BlockType":"QUERY", "Id":"4e2a17f0-154f-4847-954c-7c2bf2670c52", #id of second QUERY "Relationships":[ { "Type":"ANSWER", "Ids":[ "350ab92c-4128-4aab-a78a-f1c6f6718959"#id of second QUERY_RESULT ] } ], "Query":{ "Text":"What is the current gross pay?", #Second Query "Alias":"PAYSTUB_CURRENT_GROSS" } }, { "BlockType":"QUERY_RESULT", "Confidence":95.0, "Text":"$ 452.43", #Answer to the Second Query "Geometry":{...}, "Id":"350ab92c-4128-4aab-a78a-f1c6f6718959" #id of second QUERY_RESULT }

Het antwoord heeft een BlockType of QUERY dat toont de vraag die werd gesteld en a Relationships sectie met de ID voor het blok met het antwoord. Het antwoord staat in de BlockType of QUERY_RESULT. De alias die wordt doorgegeven als invoer voor de Analyse Document-API, wordt geretourneerd als onderdeel van het antwoord en kan worden gebruikt om het antwoord te labelen.

We maken gebruik van de Amazon Textract Response-parser om alleen de vragen, de alias en de bijbehorende antwoorden op die vragen te extraheren:

import trp.trp2 as t2 d = t2.TDocumentSchema().load(response)
page = d.pages[0] # get_query_answers returns a list of [query, alias, answer]
query_answers = d.get_query_answers(page=page)
for x in query_answers: print(f"{image_filename},{x[1]},{x[2]}") from tabulate import tabulate
print(tabulate(query_answers, tablefmt="github"))

De voorgaande code retourneert de volgende resultaten:

|------------------------------------|-----------------------|-----------|
| What is the current gross pay? | PAYSTUB_CURRENT_GROSS | $ 452.43 |
| What is the year to date gross pay | PAYSTUB_YTD_GROSS | 23,526.80 |

Meer vragen en de volledige code zijn te vinden in het notitieboekje op de GitHub repo.

Hypotheeknota

De Analyse Document Queries API werkt ook goed met hypotheeknota's zoals de volgende.

Specificeer en extraheer informatie uit documenten met behulp van de nieuwe Queries-functie in Amazon Textract PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Het proces om de API aan te roepen en de resultaten te verwerken is hetzelfde als in het vorige voorbeeld. U vindt het volledige codevoorbeeld op de GitHub repo.

De volgende code toont de voorbeeldreacties die zijn verkregen met behulp van de API:

|------------------------------------------------------------|----------------------------------|---------------|
| When is this document dated? | MORTGAGE_NOTE_DOCUMENT_DATE | March 4, 2022 |
| What is the note date? | MORTGAGE_NOTE_DATE | March 4, 2022 |
| When is the Maturity date the borrower has to pay in full? | MORTGAGE_NOTE_MATURITY_DATE | April, 2032 |
| What is the note city and state? | MORTGAGE_NOTE_CITY_STATE | Anytown, ZZ |
| what is the yearly interest rate? | MORTGAGE_NOTE_YEARLY_INTEREST | 4.150% |
| Who is the lender? | MORTGAGE_NOTE_LENDER | AnyCompany |
| When does payments begin? | MORTGAGE_NOTE_BEGIN_PAYMENTS | April, 2022 |
| What is the beginning date of payment? | MORTGAGE_NOTE_BEGIN_DATE_PAYMENT | April, 2022 |
| What is the initial monthly payments? | MORTGAGE_NOTE_MONTHLY_PAYMENTS | $ 2500 |
| What is the interest rate? | MORTGAGE_NOTE_INTEREST_RATE | 4.150% |
| What is the principal amount borrower has to pay? | MORTGAGE_NOTE_PRINCIPAL_PAYMENT | $ 500,000 |

Vaccinatiekaart

De Amazon Textract Queries-functie werkt ook heel goed om informatie te extraheren uit vaccinatiekaarten of kaarten die erop lijken, zoals in het volgende voorbeeld.

Specificeer en extraheer informatie uit documenten met behulp van de nieuwe Queries-functie in Amazon Textract PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Het proces om de API aan te roepen en de resultaten te parseren is hetzelfde als voor een paystub. Nadat we de reactie hebben verwerkt, krijgen we de volgende informatie:

|------------------------------------------------------------|--------------------------------------|--------------|
| What is the patients first name | PATIENT_FIRST_NAME | Major |
| What is the patients last name | PATIENT_LAST_NAME | Mary |
| Which clinic site was the 1st dose COVID-19 administrated? | VACCINATION_FIRST_DOSE_CLINIC_SITE | XYZ |
| Who is the manufacturer for 1st dose of COVID-19? | VACCINATION_FIRST_DOSE_MANUFACTURER | Pfizer |
| What is the date for the 2nd dose covid-19? | VACCINATION_SECOND_DOSE_DATE | 2/8/2021 |
| What is the patient number | PATIENT_NUMBER | 012345abcd67 |
| Who is the manufacturer for 2nd dose of COVID-19? | VACCINATION_SECOND_DOSE_MANUFACTURER | Pfizer |
| Which clinic site was the 2nd dose covid-19 administrated? | VACCINATION_SECOND_DOSE_CLINIC_SITE | CVS |
| What is the lot number for 2nd dose covid-19? | VACCINATION_SECOND_DOSE_LOT_NUMBER | BB5678 |
| What is the date for the 1st dose covid-19? | VACCINATION_FIRST_DOSE_DATE | 1/18/21 |
| What is the lot number for 1st dose covid-19? | VACCINATION_FIRST_DOSE_LOT_NUMBER | AA1234 |
| What is the MI? | MIDDLE_INITIAL | M |

De volledige code is te vinden in het notitieboekje op de GitHub repo.

Verzekeringskaart

De functie Query's werkt ook goed met verzekeringskaarten zoals de volgende.

Specificeer en extraheer informatie uit documenten met behulp van de nieuwe Queries-functie in Amazon Textract PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Het proces om de API aan te roepen en de procesresultaten te verwerken is hetzelfde als eerder getoond. Het volledige codevoorbeeld is beschikbaar in het notitieboek op de GitHub repo.

Hieronder volgen de voorbeeldreacties die zijn verkregen met behulp van de API:

|-------------------------------------|-----------------------------------|---------------|
| What is the insured name? | INSURANCE_CARD_NAME | Jacob Michael |
| What is the level of benefits? | INSURANCE_CARD_LEVEL_BENEFITS | SILVER |
| What is medical insurance provider? | INSURANCE_CARD_PROVIDER | Anthem |
| What is the OOP max? | INSURANCE_CARD_OOP_MAX | $6000/$12000 |
| What is the effective date? | INSURANCE_CARD_EFFECTIVE_DATE | 11/02/2021 |
| What is the office visit copay? | INSURANCE_CARD_OFFICE_VISIT_COPAY | $55/0% |
| What is the specialist visit copay? | INSURANCE_CARD_SPEC_VISIT_COPAY | $65/0% |
| What is the member id? | INSURANCE_CARD_MEMBER_ID | XZ 9147589652 |
| What is the plan type? | INSURANCE_CARD_PLAN_TYPE | Pathway X-EPO |
| What is the coinsurance amount? | INSURANCE_CARD_COINSURANCE | 30% |

Praktische tips voor het maken van zoekopdrachten

Houd bij het opstellen van uw zoekopdrachten rekening met de volgende praktische tips:

  • Stel in het algemeen een natuurlijke taalvraag die begint met 'Wat is', 'Waar is' of 'Wie is'. De uitzondering is wanneer u standaard sleutel-waardeparen probeert te extraheren, in welk geval u de sleutelnaam als een query kunt doorgeven.
  • Vermijd slecht geformuleerde of grammaticaal incorrecte vragen, omdat deze tot onverwachte antwoorden kunnen leiden. Een slecht geformuleerde vraag is bijvoorbeeld "Wanneer?" terwijl een goed geformuleerde vraag is: "Wanneer werd de eerste vaccindosis toegediend?"
  • Gebruik waar mogelijk woorden uit het document om de query samen te stellen. Hoewel de functie Query's probeert acroniemen en synoniemen te matchen voor een aantal veelvoorkomende termen in de branche, zoals 'SSN', 'belastingnummer' en 'Social Security number', verbetert het gebruik van taal rechtstreeks uit het document de resultaten. Als het document bijvoorbeeld 'taakvoortgang' zegt, probeer dan variaties zoals 'projectvoortgang', 'programmavoortgang' of 'taakstatus' te vermijden.
  • Maak een query die woorden uit zowel de rijkoptekst als de kolomkoptekst bevat. Om bijvoorbeeld de datum van de tweede vaccinatie te weten, kunt u in het voorgaande voorbeeld van de vaccinatiekaart de vraag omkaderen als "Op welke datum is de 2e dosis toegediend?"
  • Lange antwoorden verhogen de responslatentie en kunnen leiden tot time-outs. Probeer vragen te stellen die antwoorden met antwoorden van minder dan 100 woorden.
  • Het doorgeven van alleen de sleutelnaam als vraag werkt wanneer u probeert standaard sleutel-waardeparen uit een formulier te extraheren. We raden aan om volledige vragen te formuleren voor alle andere gebruiksscenario's voor extractie.
  • Wees zo specifiek mogelijk. Bijvoorbeeld:
    • Als het document meerdere secties bevat (zoals "Borrower" en "Co-Borrower") en beide secties hebben een veld met de naam "SSN", vraag dan "Wat is de SSN voor Lener?" en "Wat is het SSN voor medelener?"
    • Als het document meerdere datumgerelateerde velden heeft, wees dan specifiek in de zoektaal en vraag "Wat is de datum waarop het document is ondertekend?" of โ€œWat is de geboortedatum van de aanvraag?โ€ Vermijd het stellen van dubbelzinnige vragen zoals "Wat is de datum?"
  • Als u de lay-out van het document vooraf kent, geeft u locatiehints om de nauwkeurigheid van de resultaten te verbeteren. Vraag bijvoorbeeld "Wat is de datum bovenaan?" of "Wat is de datum aan de linkerkant?" of "Wat is de datum onderaan?"

Voor meer informatie over de functie Query's, raadpleeg de Textract documentatie.

Conclusie

In dit bericht hebben we een overzicht gegeven van de nieuwe Queries-functie van Amazon Textract om snel en eenvoudig informatie op te halen uit documenten zoals loonstrookjes, hypotheeknota's, verzekeringskaarten en vaccinatiekaarten op basis van natuurlijke taalvragen. We hebben ook beschreven hoe u de respons-JSON kunt ontleden.

Voor meer informatie, zie Documenten analyseren , of bekijk de Amazon Textract-console en probeer deze functie uit.


Over de auteurs

Specificeer en extraheer informatie uit documenten met behulp van de nieuwe Queries-functie in Amazon Textract PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Uday Narayanan is Sr. Solutions Architect bij AWS. Hij helpt klanten graag bij het vinden van innovatieve oplossingen voor complexe zakelijke uitdagingen. Zijn belangrijkste aandachtsgebieden zijn data-analyse, big data-systemen en machine learning. In zijn vrije tijd houdt hij van sporten, tv-programma's kijken en reizen.

Specificeer en extraheer informatie uit documenten met behulp van de nieuwe Queries-functie in Amazon Textract PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Rafaรซl Caixeta is een Sr. Solutions Architect bij AWS in Californiรซ. Hij heeft meer dan 10 jaar ervaring met het ontwikkelen van architecturen voor de cloud. Zijn kerngebieden zijn serverless, containers en machine learning. In zijn vrije tijd leest hij graag fictieboeken en reist hij de wereld rond.

Specificeer en extraheer informatie uit documenten met behulp van de nieuwe Queries-functie in Amazon Textract PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai. Navneeth Nair is Senior Product Manager, Technical bij het Amazon Textract-team. Hij richt zich op het bouwen van op machine learning gebaseerde services voor AWS-klanten.

Specificeer en extraheer informatie uit documenten met behulp van de nieuwe Queries-functie in Amazon Textract PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Martin Schade is een Senior ML Product SA met het Amazon Textract-team. Hij heeft meer dan 20 jaar ervaring met internetgerelateerde technologieรซn, engineering en architectuuroplossingen. Hij kwam in 2014 bij AWS, waar hij eerst enkele van de grootste AWS-klanten begeleidde bij het meest efficiรซnte en schaalbare gebruik van AWS-services, en zich later toelegde op AI/ML met een focus op computervisie. Momenteel is hij geobsedeerd door het extraheren van informatie uit documenten.

Tijdstempel:

Meer van AWS-machine learning