Do you think IIT Guwahati certified course can help you in your career?
No
Introduction
Document AI is a document understanding solution that takes unstructured data (documents, forms, etc.) and gives the data structure through content classification, entity extraction, sophisticated searching, and other methods. This makes the data easier to comprehend, analyze, and consume. To assist you in developing a scalable, cloud-based document interpretation solution, Document AI uses machine learning and Google Cloud. The Data Processing and Security Terms impose obligations on Google concerning Document AI.
You can use Document AI to:
Image-to-text conversion
Document classification
extracting and analyzing entities
For more information about Document AI, let's dive into the article.
Document AI features and solutions
General Processors: An excellent place to start when needing to process documents.
OCR (Optical Character Recognition) recognizes and extracts text from various documents.
Form Parser Key-value pairs are an example of form elements to extract.
Intelligent Documents Quality (Preview) Analyze a document's readability to determine its quality.
Specialized Processors: Specific models for the most prevalent document kinds in use today.
Procurement DocAI - Automate procurement data capture at scale by converting unstructured documents like invoices and receipts into structured data to boost operational effectiveness, enhance customer experience, and assist decision-making.
Lending DocAI - Automating mortgage documents' processing will transform the home loan experience for both borrowers and lenders. Streamline data acquisition and cut processing times while maintaining regulatory and compliance standards.
Contract DocAI - Simplify and extract highly accurate data from contracts to digitize and speed up contract life cycle management.
Identity DocAI - Specialized models to accurately and automatically extract information from identity documents.
Enterprise Knowledge Graph: Add linkages and real-world elements to data.
Human-in-the-Loop (HITL) - Human verification and corrections to assure the accuracy of data retrieved by Document AI processors for usage in crucial business applications.
Document AI processors
Depending on their capability, a growing number of processors (also known as parsers or splitters) are available from Document AI to extract data from particular document types. The following document processors are available right now from Document AI:-
General processors
Contract processors
Identity processors
Lending processors
Procurement processors
Using Document AI processors
The main steps for using Document AI are as follows:
For your use case, pick an appropriate processor.
Use the Cloud console to create a processor.
You can send your documents to the prediction endpoint that Document AI creates.
Refer to Building a processor for comprehensive instructions.
Send us your Document (s), so we can process them.
Once the Document (s) have been processed by Document AI, one or more document objects containing the extracted, structured information are returned.
Human in the Loop documentation
Before being employed in crucial business applications, HITL AI enables human verification and adjustments to guarantee the accuracy of data gathered by humans in the Loop processors. It provides a workflow and user interface (UI) for people to examine, confirm, and correct the data humans in the Loop processors have collected from documents. It is utilized in various sectors, including government, manufacturing, health, and financial services.
We give customers two choices for human labelers:
Bring your labelers so your staff or a partner organization can review the documents.
Documents can be privately previewed using Google HITL Workforce. Only documents without personally identifiable information are subject to this evaluation (PII).
Features
We assist with the following attributes:
Filters with confidence thresholds to control the volume of documents flowing through HITL.
Management of the labeler pool, including task assignments and labeler and task-specific efficiency data.
UI cues and features decrease the time a labeler handles a document.
Analytics and metrics for tasks and labelers, allowing you to automate HITL processes
Benefits
HITL AI provides these advantages:
Risk mitigation- reduce the likelihood that crucial data, such as invoice amounts, billing addresses, loan amounts, etc., would be inaccurate and cause financial loss.
Simplify Exception Handling- Easily implement a system for handling exceptions and human review.
Workforce Efficiencies- Manage, oversee, and enhance workforce productivity through managing the human review.
Cost control- Manage human review expenses using programmable filters.
Data completeness- Ensure that your extracted data is complete for your future business applications.
Processors supported
The HITL review workflow now supports the following processors:
General Processors
Form Parser
Procurement Processors
Expense Parser
Invoice Parser
Utility Parser
Lending Processors
1003 Parser
1040 Parser
1040 Schedule C Parser
1040 Schedule E Parser
1099-DIV Parser
1099-G Parser
1099-INT Parser
1099-MISC Parser
1120S Parser
Bank Statement Parser
HOA Statement Parser
Mortgage Statement Parser
Pay Slip Parser
Retirement/Investment Statement Parser
SSA-89 Parser
W2 Parser
W9 Parser
Contract Processors
Contract parser
Identity Processors
France Driver License Parser
France National ID Parser
France Passport Parser
US Driver License Parser
US Passport Parser
Language support
The text recognition feature (OCR) of the Document AI API can recognize a range of languages, including several languages inside a single document. The Document object's detectedLanguages field contains a BCP-47 identifier for each language identified by the Document AI API. See the Cloud Vision OCR Language Support documentation for a list of the languages and scripts that Document OCR (Optical Character Recognition) supports. Other processors might support a smaller number of languages.
General processors
Contract processors
Identity processors
Lending processors
Procurement processors
Supported Files
Following are the image formats that Document AI supports.
Note: A few of these image formats are "lossy" (for example, JPEG). The image quality and accuracy of Document AI results may suffer as file sizes for lossy formats are reduced.
Document scan resolution
Document scans must be at least 200 dpi for Document AI to produce the most accurate OCR results (dots per inch). The most significant results will often be obtained at 300 dpi or higher.
Document AI client libraries
This section demonstrates how to use the Cloud Client Libraries for the Document AI API. In Client Libraries Explained, you may learn more about client libraries for Cloud APIs, including the older Google API client libraries.
Installing the client library
This section explains how to start with the Document AI Cloud Client Libraries.
Java
Add the following to your pom.xml file if you're using Maven. The Google Cloud Platform Libraries BOM has more information about BOMs.
The following IDE plugins can be used to add client libraries to your project if you're working with Visual Studio Code, IntelliJ, or Eclipse:
Cloud Code for VS Code
Cloud Code for IntelliJ
Cloud Tools for Eclipse
The plugins offer extra features like key management for service accounts. Details can be found in the documentation for each plugin.
Node.Js
npm install @google-cloud/documentai
Python
pip install --upgrade google-cloud-documentai
Setting up authentication
You must first configure authentication before you can start the client library. As demonstrated in the subsequent steps, making a service account and setting an environment variable are two ways to accomplish it. See Authenticating as a service account for other methods of authentication.
Console
Setting up a service account:-
Navigate to the Create service account page in the console. Go to Create service account
Choose a project.
Enter a name in the Service account name field. Based on this name, the console populates the Service account ID column.
Enter a description in the Service account description area. Service account, as an illustration, for a quick start.
Click Create and continue.
To complete creating the service account, click Done.
Keep your browser window open. It is put to use in the following action.
Make a service account key:
Click the email associated with the service account you created in the console.
Press Keys.
Click Create new key after selecting Add key.
Press Create. On your computer, a JSON key file is downloaded.
To close, click.
Gcloud
Configure authentication:-
Setting up the service account
gcloud iam service-accounts create NAME
NAME should be changed to the name of the service account.
Making the key file: gcloud iam service-accounts keys create FILE_NAME.json --iam-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Substitute the following:
FILE_NAME: The name of the key file
SERVICE_ACCOUNT_NAME: The service account's name
PROJECT_ID: The project ID where the service account was created
Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to provide authentication credentials to your application code. This variable only functions during the current shell session. Set the variable in your shell starting file, such as the ~/.bashrc or ~/.profile file, if you want it to apply to subsequent shell sessions.
Using the client library
The use of the client library is demonstrated in the example that follows.
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'YOUR_PROJECT_LOCATION'; // Format is 'us' or 'eu'
// const processorId = 'YOUR_PROCESSOR_ID'; // Create processor in Cloud Console
// const filePath = '/path/to/local/pdf';
const {DocumentProcessorServiceClient} =
require('@google-cloud/documentai').v1;
const client = new DocumentProcessorServiceClient();
async function quickstart() {
// You must create new processors in the Cloud Console first
const name = `projects/${projectId}/locations/${location}/processors/${processorId}`;
const fs = require('fs').promises;
const imageFile = await fs.readFile(filePath);
const encodedImage = Buffer.from(imageFile).toString('base64');
const request = {
name,
rawDocument: {
content: encodedImage,
mimeType: 'application/pdf',
},
};
const [result] = await client.processDocument(request);
const {document} = result;
const {text} = document;
const getText = textAnchor => {
if (!textAnchor.textSegments || textAnchor.textSegments.length === 0) {
return '';
}
const startIndex = textAnchor.textSegments[0].startIndex || 0;
const endIndex = textAnchor.textSegments[0].endIndex;
return text.substring(startIndex, endIndex);
};
console.log('The document contains the following paragraphs:');
const [page1] = document.pages;
const {paragraphs} = page1;
for (const paragraph of paragraphs) {
const paragraphText = getText(paragraph.layout.textAnchor);
console.log(`Paragraph text:\n${paragraphText}`);
}
}
Python
from google.api_core.client_options import ClientOptions
from google.cloud import documentai_v1 as documentai
# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_PROCESSOR_LOCATION'
# processor_id = 'YOUR_PROCESSOR_ID'
# file_path = '/path/to/local/pdf'
# mime_type = 'application/pdf' # Refer to https://cloud.google.com/document-ai/docs/processors-list for supported file types
def quickstart(
project_id: str, location: str, processor_id: str, file_path: str, mime_type: str
):
# You must set the api_endpoint if you use a location other than 'us', e.g.:
opts = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")
client = documentai.DocumentProcessorServiceClient(client_options=opts)
# The full resource name of the processor, e.g.:
# projects/project_id/locations/location/processor/processor_id
# You must create new processors in the Cloud Console first
name = client.processor_path(project_id, location, processor_id)
with open(file_path, "rb") as image:
image_content = image.read()
raw_document = documentai.RawDocument(content=image_content, mime_type=mime_type)
request = documentai.ProcessRequest(name=name, raw_document=raw_document)
result = client.process_document(request=request)
# For a full list of Document object attributes, please reference this page:
# https://cloud.google.com/python/docs/reference/documentai/latest/google.cloud.documentai_v1.types.Document
document = result.document
# Read the text recognition output from the processor
print("The document contains the following text:")
print(document.text)
Cloud Document AI API Connector Overview
The built-in features that can be used to access other Google Cloud products within a workflow are defined by the Workflows connector.
An overview of each connector is given in this section. When used in a call step, connectors function right out of the box; therefore, there is no need to import or load connector libraries in a process.
Cloud Document AI API
Service that uses cutting-edge Google AI, including natural language processing, computer vision, translation, and AutoML, to extract structured information from unstructured or semi-structured documents.
Cloud Document AI connector sample
# This workflow demonstrates how to use the process and batchProcess
# APIs in the Cloud Document AI connector.
# Expected successful output: the batch process response.
- process_document:
call: googleapis.documentai.v1.projects.locations.processors.process
args:
name: "projects/placeholder/locations/us/processors/placeholder"
location: "us"
body:
rawDocument:
# Procedure to create some test raw content:
# 1. Create a docx with some arbitrary texts in it. For example, "hello world".
# 2. Export a pdf file from Microsoft Word.
# 3. Use any online pdf-to-raw converter to convert the file to raw base64 texts. (https://pdfmall.com/pdf-to-raw).
# 4. Copy and paste the content here.
content: "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ZXIgKG1hY09TIFZlcnNpb24gMTEuNCBcKEJ1aWxkIDIwRjcxXCkgUXVhcnR6IFBERkNvbnRleHQpCi9DcmVhdG9yIChXb3JkKSAvQ3JlYXRpb25EYXRlIChEOjIwMjEwNzMwMDUxMjE4WjAwJzAwJykgL01vZERhdGUgKEQ6MjAyMTA3MzAwNTEyMThaMDAnMDAnKQo+PgplbmRvYmoKeHJlZgowIDE5CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDI4MiAwMDAwMCBuIAowMDAwMDAzMjQzIDAwMDAwIG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAwMDAwMDM4NiAwMDAwMCBuIAowMDAwMDAzMjA3IDAwMDAwIG4gCjAwMDAwMDAwMDAgMDAwMDAgbiAKMDAwMDAwMzM3NiAwMDAwMCBuIAowMDAwMDAwMDAwIDAwMDAwIG4gCjAwMDAwMTI3MzkgMDAwMDAgbiAKMDAwMDAwMDQ5NCAwMDAwMCBuIAowMDAwMDAzMzI2IDAwMDAwIG4gCjAwMDAwMDM5MTQgMDAwMDAgbiAKMDAwMDAwMzU2NiAwMDAwMCBuIAowMDAwMDA0MTUwIDAwMDAwIG4gCjAwMDAwMTMyNjMgMDAwMDAgbiAKMDAwMDAxMjkzMSAwMDAwMCBuIAowMDAwMDEzNTA3IDAwMDAwIG4gCjAwMDAwMTc5MzkgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAxOSAvUm9vdCAxMSAwIFIgL0luZm8gMTggMCBSIC9JRCBbIDxlYmVhMGI0NDdlNDZmZTdlMjdhYTNmYjUxZjlhZTdkZT4KPGViZWEwYjQ0N2U0NmZlN2UyN2FhM2ZiNTFmOWFlN2RlPiBdID4+CnN0YXJ0eHJlZgoxODE1OQolJUVPRgo="
mimeType: "application/pdf"
result: process_resp
- batch_process:
call: googleapis.documentai.v1.projects.locations.processors.batchProcess
args:
name: "projects/cloudworkflows-test-dev/locations/us/processors/583f73e6003945cc"
location: "us"
body:
inputDocuments:
gcsDocuments:
documents:
- gcsUri: "gs://connector-demo/documents/helloworld1.pdf"
mimeType: "application/pdf"
- gcsUri: "gs://connector-demo/documents/helloworld2.pdf"
mimeType: "application/pdf"
documentOutputConfig:
gcsOutputConfig:
gcsUri: "gs://connector-demo/documents/"
result: batch_process_resp
- return:
return: ${batch_process_resp}
The DocAI platform is a centralized document processing console that provides easy access to all parsers and tools. You can automate and validate documents from the platform to simplify operations, eliminate uncertainty, and maintain correct and compliant data.
How does Google's AI for documents operate?
By providing structure through content classification, entity extraction, advanced searching, and other methods, Document AI is a document understanding solution that takes unstructured data (documents, forms, etc.) and makes it simpler to comprehend, analyze, and consume.
How does intelligent document processing work?
Unstructured data is transformed using intelligent document processing (IDP). Unstructured and semi-structured data can be transformed into structured, usable information, offering document-centric business processes with end-to-end automation.
How does AI understand the text?
The automatic method classifies a text based on predetermined criteria using machine learning models and algorithms. Based on the frequency of a group of words, text classification analytics can identify patterns and sentiments in a text by using the BOW model.
Conclusion
In this article, we have extensively discussed Document AI. We have also explained Document ai features, language support in Document ai, supported files, client libraries, and more in detail.