Spécifiez et extrayez des informations à partir de documents à l'aide de la nouvelle fonctionnalité Requêtes dans Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Spécifiez et extrayez des informations à partir de documents à l'aide de la nouvelle fonctionnalité de requêtes d'Amazon Textract

Extrait d'Amazon est un service d'apprentissage automatique (ML) qui extrait automatiquement le texte, l'écriture manuscrite et les données de n'importe quel document ou image. Amazon Textract offre désormais la flexibilité de spécifier les données que vous devez extraire des documents à l'aide de la nouvelle fonctionnalité Requêtes de l'API Analyser les documents. Vous n'avez pas besoin de connaître la structure des données du document (tableau, formulaire, champ implicite, données imbriquées) ni de vous soucier des variations entre les versions et les formats du document.

Dans cet article, nous abordons les sujets suivants :

  • Témoignages de réussite de clients AWS et avantages de la nouvelle fonctionnalité Requêtes
  • Comment l'API Analyser les requêtes de documents permet d'extraire des informations à partir de documents
  • Présentation pas à pas de la console Amazon Texttract
  • Exemples de code pour utiliser l'API Analyser les requêtes de documents
  • Comment traiter la réponse avec la bibliothèque d'analyseurs Amazon Textract

Avantages de la nouvelle fonctionnalité Requêtes

Les solutions OCR traditionnelles ont du mal à extraire avec précision les données de la plupart des documents semi-structurés et non structurés en raison de variations significatives dans la façon dont les données sont présentées dans les multiples versions et formats de ces documents. Vous devez implémenter un code de post-traitement personnalisé ou examiner manuellement les informations extraites de ces documents. Avec la fonctionnalité Requêtes, vous pouvez spécifier les informations dont vous avez besoin sous forme de questions en langage naturel (par exemple, « Quel est le nom du client ») et recevoir les informations exactes (« John Doe ») dans le cadre de la réponse de l'API. La fonctionnalité utilise une combinaison de modèles visuels, spatiaux et linguistiques pour extraire les informations que vous recherchez avec une grande précision. La fonctionnalité Requêtes est pré-entraînée sur une grande variété de documents semi-structurés et non structurés. Quelques exemples incluent les fiches de paie, les relevés bancaires, les W-2, les formulaires de demande de prêt, les notes d’hypothèque et les cartes de vaccination et d’assurance.

"Amazon Textract nous permet d'automatiser les besoins de traitement des documents de nos clients. Grâce à la fonctionnalité Requêtes, nous pourrons extraire des données d'une variété de documents avec encore plus de flexibilité et de précision, » a déclaré Robert Jansen, président-directeur général de TekStream Solutions. "Nous considérons cela comme un gain de productivité important pour nos clients professionnels, qui pourront utiliser la fonctionnalité Requêtes dans le cadre de notre solution IDP pour extraire rapidement des informations clés de leurs documents. »

"Amazon Textract nous permet d'extraire du texte ainsi que des éléments structurés tels que des formulaires et des tableaux à partir d'images avec une grande précision. Amazon Textract Queries nous a aidé à améliorer considérablement la qualité de l'extraction d'informations à partir de plusieurs documents critiques pour l'entreprise, tels que les fiches de données de sécurité ou les spécifications des matériaux. » a déclaré Thorsten Warnecke, directeur | Responsable de l'analyse PC, Camelot Management Consultants. "Le système de requête en langage naturel offre une grande flexibilité et précision, ce qui a réduit notre charge de post-traitement et nous a permis d'ajouter plus rapidement de nouveaux documents à nos outils d'extraction de données. »

Comment l'API Analyser les requêtes de documents permet d'extraire des informations à partir de documents

Les entreprises ont accru leur adoption des plateformes numériques, notamment à la lumière de la pandémie de COVID-19. La plupart des organisations proposent désormais un moyen numérique d'acquérir leurs services et produits à l'aide de smartphones et d'autres appareils mobiles, ce qui offre de la flexibilité aux utilisateurs mais augmente également l'échelle à laquelle les documents numériques doivent être examinés, traités et analysés. Dans certaines charges de travail où, par exemple, les documents hypothécaires, les cartes de vaccination, les fiches de paie, les cartes d'assurance et d'autres documents doivent être analysés numériquement, la complexité de l'extraction des données peut devenir exponentiellement aggravée parce que ces documents n'ont pas de format standard ou présentent des variations significatives dans le format des données. dans différentes versions du document.

Même les solutions OCR puissantes ont du mal à extraire les données avec précision de ces documents, et vous devrez peut-être mettre en œuvre un post-traitement personnalisé pour ces documents. Cela inclut le mappage des variations possibles des clés de formulaire avec les noms de champs natifs du client ou l'inclusion d'un apprentissage automatique personnalisé pour identifier des informations spécifiques dans un document non structuré.

La nouvelle API Analyser les requêtes de documents dans Amazon Textract peut répondre à des questions écrites en langage naturel telles que « Quel est le taux d'intérêt ? » et effectuez une analyse puissante d'IA et de ML sur le document pour déterminer les informations souhaitées et les extraire du document sans aucun post-traitement. La fonctionnalité Requêtes ne nécessite aucune formation de modèle personnalisé ni configuration de modèles ou de configurations. Vous pouvez rapidement commencer en téléchargeant vos documents et en spécifiant des questions sur ces documents via la console Amazon Texttract, le Interface de ligne de commande AWS (AWS CLI) ou AWS SDK.

Dans les sections suivantes de cet article, nous passerons en revue des exemples détaillés de la manière d'utiliser cette nouvelle fonctionnalité dans des cas d'utilisation courants de charge de travail et de la manière d'utiliser l'API Analyser les requêtes de documents pour ajouter de l'agilité au processus de numérisation de votre charge de travail.

Utilisez la fonctionnalité Requêtes sur la console Amazon Textract

Avant de commencer avec l'API et les exemples de code, passons en revue la console Amazon Textract. L'image suivante montre un exemple de carnet de vaccination sur le Requêtes pour l'API Analyser le document sur la console Amazon Textract. Après avoir téléchargé le document sur la console Amazon Textract, choisissez Requêtes dans l' Configurer le document section. Vous pouvez ensuite ajouter des requêtes sous forme de questions en langage naturel. Après avoir ajouté toutes vos requêtes, choisissez Appliquer la configuration. Les réponses aux questions se trouvent sur le Requêtes languette.

Spécifiez et extrayez des informations à partir de documents à l'aide de la nouvelle fonctionnalité Requêtes dans Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Exemples de code

Dans cette section, nous expliquons comment appeler l'API Analyser le document avec le paramètre Queries pour obtenir des réponses aux questions en langage naturel sur le document. Le document d'entrée est soit au format tableau d'octets, soit situé dans un Service de stockage simple Amazon (Amazon S3). Vous transmettez des octets d'image à une opération d'API Amazon Textract à l'aide de la propriété Bytes. Par exemple, vous pouvez utiliser le Bytes propriété pour transmettre un document chargé à partir d’un système de fichiers local. Octets d'image transmis en utilisant le Bytes la propriété doit être codée en base64. Votre code n'aura peut-être pas besoin d'encoder les octets du fichier de document si vous utilisez un kit SDK AWS pour appeler les opérations de l'API Amazon Textract. Vous pouvez également transmettre des images stockées dans un compartiment S3 à une opération d'API Amazon Textract à l'aide de l'outil S3Object propriété. Les documents stockés dans un compartiment S3 n'ont pas besoin d'être encodés en base64.

Vous pouvez utiliser la fonction Requêtes pour obtenir des réponses à partir de différents types de documents tels que les fiches de paie, les cartes de vaccination, les documents hypothécaires, les relevés bancaires, les formulaires W-2, les formulaires 1099 et autres. Dans les sections suivantes, nous passons en revue certains de ces documents et montrons comment fonctionne la fonctionnalité Requêtes.

Talon de paie

Dans cet exemple, nous passons en revue les étapes d'analyse d'un bulletin de paie à l'aide de la fonctionnalité Requêtes, comme le montre l'exemple d'image suivant.

Spécifiez et extrayez des informations à partir de documents à l'aide de la nouvelle fonctionnalité Requêtes dans Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Nous utilisons l'exemple de code Python suivant :

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" }] })

Le code suivant est un exemple de commande AWS CLI :

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"}]}' 

Analysons la réponse que nous obtenons pour les deux requêtes que nous avons transmises à l'API Analyser Document dans l'exemple précédent. La réponse suivante a été réduite pour afficher uniquement les parties pertinentes :

{ "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 }

La réponse a un BlockType of QUERY qui montre la question qui a été posée et un Relationships section qui contient l’ID du bloc qui contient la réponse. La réponse est dans le BlockType of QUERY_RESULT. L'alias transmis en tant qu'entrée à l'API Analyze Document est renvoyé dans le cadre de la réponse et peut être utilisé pour étiqueter la réponse.

Nous utilisons les Analyseur de réponse Amazon Textract pour extraire uniquement les questions, l'alias et les réponses correspondantes à ces questions :

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"))

Le code précédent renvoie les résultats suivants :

|------------------------------------|-----------------------|-----------|
| 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 |

D'autres questions et le code complet peuvent être trouvés dans le cahier sur le GitHub repo.

Note hypothécaire

L'API Analyser les requêtes de documents fonctionne également bien avec les notes hypothécaires comme celles-ci.

Spécifiez et extrayez des informations à partir de documents à l'aide de la nouvelle fonctionnalité Requêtes dans Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le processus d’appel de l’API et de traitement des résultats est le même que dans l’exemple précédent. Vous pouvez trouver l'exemple de code complet sur le GitHub repo.

Le code suivant montre les exemples de réponses obtenues à l'aide de l'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 |

Carte de vaccination

La fonctionnalité Amazon Textract Queries fonctionne également très bien pour extraire des informations des cartes de vaccination ou des cartes qui leur ressemblent, comme dans l'exemple suivant.

Spécifiez et extrayez des informations à partir de documents à l'aide de la nouvelle fonctionnalité Requêtes dans Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le processus pour appeler l’API et analyser les résultats est le même que celui utilisé pour un bulletin de paie. Après avoir traité la réponse, nous obtenons les informations suivantes :

|------------------------------------------------------------|--------------------------------------|--------------|
| 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 |

Le code complet se trouve dans le cahier sur le GitHub repo.

Carte d'assurance

La fonctionnalité Requêtes fonctionne également bien avec les cartes d'assurance comme celles-ci.

Spécifiez et extrayez des informations à partir de documents à l'aide de la nouvelle fonctionnalité Requêtes dans Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le processus d’appel de l’API et de traitement des résultats est le même que celui indiqué précédemment. L'exemple de code complet est disponible dans le notebook sur le GitHub repo.

Voici les exemples de réponses obtenues à l'aide de l'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% |

Meilleures pratiques pour la création de requêtes

Lors de la création de vos requêtes, tenez compte des bonnes pratiques suivantes :

  • En général, posez une question en langage naturel qui commence par « Qu'est-ce que », « Où est » ou « Qui est ». L'exception est lorsque vous essayez d'extraire des paires clé-valeur standard, auquel cas vous pouvez transmettre le nom de la clé sous forme de requête.
  • Évitez les questions mal formées ou grammaticalement incorrectes, car elles pourraient donner lieu à des réponses inattendues. Par exemple, une requête mal formée est « Quand ? » alors qu’une question bien formulée est « Quand la première dose de vaccin a-t-elle été administrée ?
  • Dans la mesure du possible, utilisez des mots du document pour construire la requête. Bien que la fonctionnalité Requêtes tente de faire correspondre les acronymes et les synonymes de certains termes courants du secteur tels que « SSN », « numéro d'identification fiscale » et « numéro de sécurité sociale », l'utilisation d'un langage directement issu du document améliore les résultats. Par exemple, si le document indique « avancement du travail », essayez d'éviter d'utiliser des variantes telles que « avancement du projet », « avancement du programme » ou « statut du travail ».
  • Construisez une requête contenant des mots de l’en-tête de ligne et de l’en-tête de colonne. Par exemple, dans l’exemple de carnet de vaccination précédent, afin de connaître la date de la deuxième vaccination, vous pouvez formuler la requête comme « À quelle date la 2ème dose a-t-elle été administrée ?
  • Les réponses longues augmentent la latence des réponses et peuvent entraîner des délais d'attente. Essayez de poser des questions dont les réponses contiennent moins de 100 mots.
  • Transmettre uniquement le nom de la clé comme question fonctionne lorsque vous essayez d'extraire des paires clé-valeur standard d'un formulaire. Nous vous recommandons de formuler des questions complètes pour tous les autres cas d’utilisation d’extraction.
  • Soyez aussi spécifique que possible. Par exemple:
    • Lorsque le document contient plusieurs sections (telles que « Emprunteur » et « Co-emprunteur ») et que les deux sections comportent un champ appelé « SSN », demandez « Quel est le SSN de l'emprunteur ? et « Quel est le SSN pour le co-emprunteur ? »
    • Lorsque le document comporte plusieurs champs liés à la date, soyez précis dans le langage de requête et demandez « Quelle est la date à laquelle le document a été signé ? » ou "Quelle est la date de naissance de la demande ?" Évitez de poser des questions ambiguës comme « Quelle est la date ? »
  • Si vous connaissez à l'avance la mise en page du document, donnez des indications de localisation pour améliorer la précision des résultats. Par exemple, demandez « Quelle est la date en haut ? » ou "Quelle est la date à gauche?" ou "Quelle est la date en bas?"

Pour plus d'informations sur la fonctionnalité Requêtes, reportez-vous au Texttract Documentation.

Conclusion

Dans cet article, nous avons fourni un aperçu de la nouvelle fonctionnalité Requêtes d'Amazon Textract pour récupérer rapidement et facilement des informations à partir de documents tels que des fiches de paie, des notes d'hypothèque, des cartes d'assurance et des cartes de vaccination sur la base de questions en langage naturel. Nous avons également décrit comment analyser la réponse JSON.

Pour plus d'informations, voir Analyser des documents , ou consultez la console Amazon Textract et essayez cette fonctionnalité.


À propos des auteurs

Spécifiez et extrayez des informations à partir de documents à l'aide de la nouvelle fonctionnalité Requêtes dans Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Oudaï Narayanan est architecte de solutions senior chez AWS. Il aime aider les clients à trouver des solutions innovantes à des défis commerciaux complexes. Ses principaux domaines d'intérêt sont l'analyse de données, les systèmes Big Data et l'apprentissage automatique. Dans ses temps libres, il aime faire du sport, regarder des émissions de télévision et voyager.

Spécifiez et extrayez des informations à partir de documents à l'aide de la nouvelle fonctionnalité Requêtes dans Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Rafael Caixeta est un architecte de solutions senior chez AWS basé en Californie. Il possède plus de 10 ans d'expérience dans le développement d'architectures pour le cloud. Ses domaines principaux sont le sans serveur, les conteneurs et l'apprentissage automatique. Dans ses temps libres, il aime lire des livres de fiction et parcourir le monde.

Spécifiez et extrayez des informations à partir de documents à l'aide de la nouvelle fonctionnalité Requêtes dans Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï. Navneeth Nair est chef de produit senior, technique au sein de l'équipe Amazon Texttract. Il se concentre sur la création de services basés sur l'apprentissage automatique pour les clients AWS.

Spécifiez et extrayez des informations à partir de documents à l'aide de la nouvelle fonctionnalité Requêtes dans Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Martin Schade est un Senior ML Product SA avec l'équipe Amazon Textract. Il a plus de 20 ans d'expérience dans les technologies, l'ingénierie et les solutions d'architecture liées à Internet. Il a rejoint AWS en 2014, guidant d'abord certains des plus grands clients AWS sur l'utilisation la plus efficace et la plus évolutive des services AWS, puis s'est concentré sur l'IA/ML en mettant l'accent sur la vision par ordinateur. Actuellement, il est obsédé par l'extraction d'informations à partir de documents.

Horodatage:

Plus de Apprentissage automatique AWS