Building a Document Understanding Pipeline with Google Cloud | Google Cloud Blog

Total Page:16

File Type:pdf, Size:1020Kb

Building a Document Understanding Pipeline with Google Cloud | Google Cloud Blog 8/23/2020 Building a Document Understanding Pipeline with Google Cloud | Google Cloud Blog Blog Menu AI & M ACH INE LEARNING Building a document understanding pipeline with Google Cloud Holt Skinner Cloud Technical Resident Find an article... Michael Munn Machine Learning Solutions Engineer Latest storiMesichael Sherman Machine Learning Engineer Products September 20, 2019 Topics About Document understanding is the practice of using AI and machine learning to extract RSS Feed data and insights from text and paper sources such as emails, PDFs, scanned documents, and more. In the past, capturing this unstructured or “dark data” has been an expensive, time-consuming, and error-prone process requiring manual data entry. https://cloud.google.com/blog/products/ai-machine-learning/building-a-document-understanding-pipeline-with-google-cloud 1/10 8/23/2020 p Building a Dgocument Undersptanding Ppipeline with Goqogle Clogud | Google Cloud Blog y Today, AI and machine learning have made great advances towards automating this process, enabling businesses to derive insights from and take advantage of this data that had been previously untapped. Blog Menu In a nutshell, document understanding allows you to: Organize documents Extract knowledge from documents Increase processing speed At Google Cloud we provide a solution, Document AI, which enterprises can leverage in collaboration with partners to implement document understanding. However, many developers have both the desire and the technical expertise to build their own document understanding pipelines on Google Cloud Platform (GCP)—without working with a partner—using the individual Document AI products. If that sounds like you, this post will take you step-by-step through a complete document understanding pipeline. The Overview section explains how the pipeline works, and the step-by-step directions below walk you through running the code. Overview In order to automate an entire document understanding process, multiple machine learning models need to be trained and then daisy-chained together alongside processing steps into an end-to-end pipeline. This can be a daunting process, so we have provided sample code for a complete document understanding system mirroring a data entry workflow capturing structured data from documents. Find an article... Our example end-to-end document understanding pipeline consists of two components: 1. A training pipeline which formats the training data and uses AutoML to build Image Latest stories Classification, Entity Extraction, Text Classification, and Object Detection models. 2. A prediction pipeline which takes PDF documents from a specified Cloud Storage Products Bucket, uses the AutoML models to extract the relevant data from the documents, and stores the extracted data in BigQuery for further analysis. Topics Training Data About The training data for this example pipeline is from a public dataset containing PDFs of U.S. and European patent title pages with a corresponding BigQuery table of manually RSS Feed entered data from the title pages. The dataset is hosted by the Google Public Datasets Project. https://cloud.google.com/blog/products/ai-machine-learning/building-a-document-understanding-pipeline-with-google-cloud 2/10 8/23/2020 Building a Document Understanding Pipeline with Google Cloud | Google Cloud Blog Pa 1: The Training Pipeline The training pipeline consists of the following steps: Blog Menu Training data is pulled from the BigQuery public dataset. The training BigQuery table includes links to PDF files in Google Cloud Storage of patents from the United States and European Union. The PDF files are converted to PNG files and uploaded to a new Cloud Storage bucket in your own project. The PNG files will be used to train the AutoML Vision models. The PNG files are run through the Cloud Vision API to create TXT files containing the raw text from the converted PDFs. These TXT files are used to train the AutoML Natural Language models. The links to the PNG or TXT files are combined with the labels and features from the BigQuery table into a CSV file in the training data format required by AutoML. This CSV is then uploaded to a Cloud Storage bucket. Note: This format is different for each type of AutoML model. This CSV is used to create an AutoML dataset and model. Both are named in the format patent_demo_data_%m%d%Y_%H%M%S. Note that some AutoML models can sometimes take hours to train. Pa 2: The Prediction Pipeline This pipeline uses the AutoML models previously trained by the pipeline above. For predictions, the following steps occur: The patent PDFs are collected from the prescribed bucket and converted to PNG and Find an article... TXT files with the Cloud Vision API (just as in the training pipeline). The AutoML Image Classification model is called on the PNG files to classify each Latest stories patent as either a US or EU patent. The results are uploaded to a BigQuery table. Products The AutoML Object Detection model is called on the PNG files to determine the location of any figures on the patent document. The resulting relative x, y coordinates Topics of the bounding box are then uploaded to a BigQuery table. The AutoML Text Classification model is called on the TXT files to classify the topic of About the patent content as medical technology, computer vision, cryptocurrency or other. The results are then uploaded to a BigQuery table. RSS Feed The AutoML Entity Extraction model is called to extract predetermined entities from the patent. The extracted entities are applicant, application number, international https://cloud.google.com/blog/products/ai-machine-learning/building-a-document-understanding-pipeline-with-google-cloud 3/10 8/23/2020 Building a Document Understanding Pipeline with Google Cloud | Google Cloud Blog classification, filing date, inventor, number, publication date and title. These entities are then uploaded to a BigQuery table. Finally, the BigQuery tables above are joined to produce a final results table with all Blog Menu the properties above. Step-by-Step Directions For the developers out there, here’s how you can build the document understanding pipeline of your dreams. You can find all the code in our GitHub Repository. Before you begin: You’ll need a Google Cloud project to run this demo. We recommend creating a new project. We recommend running these instructions in Google Cloud Shell (Quickstart). Other environments will work but you may have to debug issues specific to your environment. A Compute Engine VM would also be a suitable environment. 1. Git clone the repo and navigate to the patents example. 01 git clone https://github.com/munnm/professional-services.git 02 03 cd professional-services/examples/cloudml-document-ai-patents 2. Install the necessary system dependencies. Note that in Cloud Shell system-wide changes do not persist between sessions, so if you step away while working through these step-by-step instructions you will need to rerun these commands after restarting Cloud Shell. Find an article... 01 sudo apt-get update 02 03 sudo apt-get install -y imagemagick jq poppler-utils Latest stories Products 3. Create a virtual environment and activate it. 01 virtualenv --python=python3 $HOME/patents-demo-env Topics 02 03 source $HOME/patents-demo-env/bin/activate About patents-demo-env RSS Feed When your virtual environment is active you’ll see in your command prompt. Note: If your Cloud Shell session ends, you’ll need to reactivate the virtual environment by running the second command again. https://cloud.google.com/blog/products/ai-machine-learning/building-a-document-understanding-pipeline-with-google-cloud 4/10 8/23/2020 Building a Document Understanding Pipeline with Google Cloud | Google Cloud Blog For the remaining steps, make sure you’re in the correct directory in the professional- services repo: /examples/cloudml-document-ai-patents/ . Blog 4. Install the necessary libraries into the virtual environment. Menu 01 pip3 install -r requirements.txt 5. Activate the necessary APIs. 01 gcloud services enable vision.googleapis.com automl.googleapis.com Note: We use the gcloud SDK to interact with various GCP services. If you are not working in Cloud Shell you’ll have to set your GCP project and authenticate by running gcloud init . 6. Edit the config.yaml file. Look for the configuration parameter project_id (under pipeline_project ) and set the value to the project id where you want to build and run the pipeline. Make sure to enclose the value in single quotes, e.g. project_id: ‘my-cool-project’ . Note: if you’re not used to working in a shell, run nano to open a simple text editor. 7. Also in config.yaml, look for the configuration parameter creator_user_id (under service_acct ) and set the value to the email account you use to log in to Google Cloud. Make sure to enclose the value in single quotes, e.g. creator_user_id: ‘[email protected]’ . 8. Create and download a service account key with the necessary permissions to be used by the training and prediction pipelines. Find an article... 01 ./get_service_acct.sh config.yaml Latest stories 9. Run the training pipeline. This may take 3–4 hours, though some models will finish Products more quickly. Topics 01 python3 run_training.py About Note: If Cloud Shell Closes while the script is still downloading, converting, or uploading the PDFs, you will need to reactivate the virtual environment, navigate to RSS Feed the directory, and rerun the pipeline script. The image processing should take about 15-20 minutes, so make sure Cloud Shell doesn’t close during that time. https://cloud.google.com/blog/products/ai-machine-learning/building-a-document-understanding-pipeline-with-google-cloud 5/10 8/23/2020 Building a Document Understanding Pipeline with Google Cloud | Google Cloud Blog 10. After training the models (wait about 4 hours), your Cloud Shell session has probably disconnected.
Recommended publications
  • Real-Time Backend Architecture Using Node.Js, Express and Google Cloud
    Anh Vu Real-time backend architecture using Node.js, Express and Google Cloud Platform Metropolia University of Applied Sciences Bachelor of Information Technology Information Technology Bachelor’s Thesis 5 January 2021 Abstract Anh Vu Author Real-time backend using NodeJS, Express and Google Cloud Title Platform NumBer of Pages 47 pages Date 5 January 2021 Degree Bachelor of Engineering Degree Programme Information Technology Professional Major MoBile Solutions Instructors Petri Vesikivi, Head of MoBile Solutions Real-time applications, which assure the latency within the defined time limit, are becoming more popular due to the growth of Software as a service trend. Before the evolution of cloud computing, the only solution was to use native WebSockets which are difficult to set up and develop. Recently, Google Cloud Platform provides a developer-friendly, fast and responsive platform to make the process of developing real-time applications seamless. The purpose of the thesis was to demonstrate and Build a scalaBle, high-available and reliaBle Backend architecture using Node.js and Google Cloud Platform. The thesis consists of a theoretical background including Node.js, monolithic and microservices architecture, serverless architecture and real-time dataBase, which provide basic understanding of different architectures and technical solutions. The advantages and disadvantages of the architecture were also clearly analyzed and evaluated. Furthermore, a minimum viable product for a taxi booking app was created to demonstrate the architecture usage in a real use case. To summarize, the thesis aimed to provide the insights of real-time Backend architecture using Node.js and Google Cloud Platform. Moreover, the benefits of using this technology stacks were carefully examined in a case study.
    [Show full text]
  • Create a Created Date Schema in Bigquery
    Create A Created Date Schema In Bigquery Denominative Elmore canoodles funereally. Auxiliary Rudy acquiesce: he unbar his aril adequately and contagiously. Overreaching Randolf excused some scrabble and shacks his syneresis so midnight! Wait polls with exponential backoff. The schema in tests are many cases. Perform various levels of dates in schema definition file somewhere on create date column when you created in an identical data will lead at. You'd may that avoiding two scans of SALES would improve performance However remember most circumstances the draw BY version takes about twice as suite as the lot BY version. You run some SQL queries against that data. The script then creates a partition function, if configured. The order in which clustering is done matters. Developer relations lead at SKB Kontur. We create schema in the dates and their very wide variety of bigquery operation creates a working directory as a few seconds of model you. By using the client libraries. Database services to migrate, please leave it empty. What are partitions in SQL? In our case the join condition is matching dates from the pedestrian table and the bike table. The mother source records need is have a machine image updates to merge correctly. Python community version selection works in schema of bigquery operation on create date column can be created in a new custom schema tab. Once per store the data needs to simplify etl to any data are also a bigquery? Google Analytics 360 users that have that up the automatic BigQuery export will rejoice by this. Whether to automatically infer options and schema for CSV and JSON sources.
    [Show full text]
  • Google Genomics Documentation Release V1
    Google Genomics Documentation Release v1 Google Genomics <https://cloud.google.com/genomics> Mar 07, 2018 Contents 1 Select Genomic Data to work with3 1.1 Discover Published Data.........................................3 2 Process Data on Google Cloud 19 2.1 Run workflows and common tasks in parallel.............................. 19 2.2 Run Galaxy on Compute Engine..................................... 43 2.3 Run NCBI BLAST on Compute Engine................................. 43 2.4 Run Bioconductor on Compute Engine................................. 43 2.5 Run iPython Notebooks on Compute Engine.............................. 45 3 Access Genomic Data using. 47 3.1 Integrative Genomics Viewer (IGV)................................... 47 3.2 Run Picard and GATK tools on Cloud-Resident Genomic Data..................... 49 3.3 Browse Reads with Bioconductor.................................... 54 3.4 Beacon.................................................. 55 3.5 GABrowse................................................ 55 3.6 The R client............................................... 56 3.7 Python.................................................. 56 3.8 Java.................................................... 57 3.9 Go.................................................... 57 4 Analyze Data in Google Genomics 59 4.1 Analyze Reads.............................................. 59 4.2 Analyze Variants............................................. 67 4.3 Annotate Variants............................................ 101 4.4 Perform Quality Control Checks....................................
    [Show full text]
  • Overview Objectives Exploring the Bigquery Console
    CS6502 - APPLIED BIG DATA AND VISUALIZATION (Spring 2020) Lab 3 Overview SQL (Structured Query Language) is a standard language for data operations that allows you to ask questions and get insights from structured datasets. It's commonly used in database management and allows you to perform tasks like transaction record writing into relational databases and petabyte-scale data analysis. This lab serves as an introduction to SQL and is intended to prepare you for the many labs in this course. This lab is divided into two parts: in the first half, you will learn fundamental SQL querying keywords, which you will run in the BigQuery console on a public dataset that contains information on London bikeshares. In the second half, you will learn how to export subsets of the London bikeshare dataset into CSV files, which you will then upload to Cloud SQL. From there you will learn how to use Cloud SQL to create and manage databases and tables. Towards the end, you will get hands-on practice with additional SQL keywords that manipulate and edit data. Objectives In this lab, you will learn how to: ● Distinguish databases from tables and projects. ● Use the SELECT, FROM, and WHERE keywords to construct simple queries. ● Identify the different components and hierarchies within the BigQuery console. ● Load databases and tables into BigQuery. ● Execute simple queries on tables. ● Learn about the COUNT, GROUP BY, AS, and ORDER BY keywords. ● Execute and chain the above commands to pull meaningful data from datasets. ● Export a subset of data into a CSV file and store that file into a new Cloud Storage bucket.
    [Show full text]
  • Google Cloud Shell Documentation
    8/22/2020 Google Cloud Shell documentation Google Cloud Shell documentation Google Cloud Shell is an interactive shell environment for Google Cloud Platform that makes it easy for you to learn and experiment with GCP and manage your projects and resources from your web browser. With Cloud Shell, the Cloud SDK gcloud (/sdk/gcloud) command-line tool and other utilities you need are pre- installed, fully authenticated, up-to-date, and always available when you need them. Additionally, Cloud Shell comes with a built-in code editor, the ability to launch tutorials and open cloned repositories, and preview functionality to temporarily run web apps on a Cloud Shell virtual machine instance, and more. Quicksta How-to guides Get started with Cloud Shell Learn a task (/shell/docs/quickstart) (/shell/docs/how-to) APIs and reference Concepts Cloud Shell REST and RPC API Develop a deep understanding of reference documentation Cloud Shell (/shell/docs/apis) (/shell/docs/concepts) Suppo Resources Get assistance with Cloud Shell Pricing, quotas, and release notes issues (/shell/docs/pricing) (/shell/docs/getting-support) Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License (https://creativecommons.org/licenses/by/4.0/), and code samples are licensed under the Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0). For details, see the Google Developers Site Policies (https://developers.google.com/site-policies). Java is a registered trademark of Oracle and/or its aliates. https://cloud.google.com//shell/docs/ 1/1.
    [Show full text]
  • TR-4653: Netapp Private Storage for Google Cloud Platform
    Technical Report NetApp Private Storage for Google Cloud Platform Solution Architecture and Deployment Guide Mark Beaupre and Alim Karim, NetApp January 2018 | TR-4653 Abstract This document describes the architecture of NetApp Private Storage for Google Cloud Platform (GCP). TABLE OF CONTENTS 1 NetApp Private Storage for GCP Solution Overview ...................................................................3 1.1 Assumptions ...........................................................................................................................................................3 1.2 Use Case Overview ...............................................................................................................................................3 1.3 Technical Overview................................................................................................................................................3 2 NetApp Private Storage for GCP Solution Architecture ..............................................................4 2.1 Solution Architecture Components .......................................................................................................................4 2.2 Solution Architecture Diagram...............................................................................................................................7 2.3 Solution Architecture Security Elements...............................................................................................................8 3 NetApp Private Storage for GCP Deployment
    [Show full text]
  • (SOC) 3 Report on the Google Cloud Platform System Relevant To
    System and Organization Controls (SOC) 3 Report on the Google Cloud Platform System Relevant to Security, Availability, and Confidentiality For the Period 1 May 2018 to 30 April 2019 Google LLC 1600 Amphitheatre Parkway Mountain View, CA, 94043 650 253-0000 main Google.com Management’s Report of its Assertion on the Effectiveness of Its Controls Over the Google Cloud Platform System Based on the Trust Services Criteria for Security, Availability, and Confidentiality We, as management of, Google LLC (“Google” or “the Company”) are responsible for: · Identifying the Google Cloud Platform System (System) and describing the boundaries of the System, which are presented in Attachment A · Identifying our principal service commitments and system requirements · Identifying the risks that would threaten the achievement of its principal service commitments and system requirements that are the objectives of our system, which are presented in Attachment B · Identifying, designing, implementing, operating, and monitoring effective controls over the System to mitigate risks that threaten the achievement of the principal service commitments and system requirement · Selecting the trust services categories that are the basis of our assertion We assert that the controls over the system were effective throughout the period 1 May 2018 to 30 April 2019, to provide reasonable assurance that the principal service commitments and system requirements were achieved based on the criteria relevant to security, availability, and confidentiality set forth in the AICPA’s
    [Show full text]
  • Google PROFESSIONAL-DATA-ENGINEER Exam Google Cloud Data Engineer Professional Exam
    Questions & Answers PDF P-1 Google PROFESSIONAL-DATA-ENGINEER Exam Google Cloud Data Engineer Professional Exam Questions & Answers (Retail Version – Full Questions Set) http://www.justcerts.com Questions & Answers PDF P-2 Product Questions: 240/2Case Study Version: 11.0 Mix Questions Set A Question: 1 Your company built a TensorFlow neutral-network model with a large number of neurons and layers. The model fits well for the training data. However, when tested against new data, it performs poorly. What method can you employ to address this? A. Threading B. Serialization C. Dropout Methods D. Dimensionality Reduction Answer: C Explanation: Reference https://medium.com/mlreview/a-simple-deep-learning-model-for-stock-price-prediction- using-tensorflow-30505541d877 Question: 2 You are building a model to make clothing recommendations. You know a user’s fashion preference is likely to change over time, so you build a data pipeline to stream new data back to the model as it becomes available. How should you use this data to train the model? A. Continuously retrain the model on just the new data. B. Continuously retrain the model on a combination of existing data and the new data. C. Train on the existing data while using the new data as your test set. D. Train on the new data while using the existing data as your test set. Answer: D Question: 3 You designed a database for patient records as a pilot project to cover a few hundred patients in three clinics. Your design used a single database table to represent all patients and their visits, and you used self-joins to generate reports.
    [Show full text]
  • Intro to Google Cloud
    An Introduction to Cloud Shell (in less than 5 minutes) brought to you by The ISB Cancer Genomics Cloud Cloud Shell is a Debian Linux VM with a 5GB persistent disk that you can access directly from the Console. Just click on the Activate Google Cloud Shell button at the top of the Google Cloud Platform Console. The VM is provisioned on a per-user, per-session basis, will persist while your Cloud Shell session is active, and will terminate after an hour of inactivity. Certain tools come pre-installed and you can install additional tools or copy files to your home directory as needed. This data will persist between sessions and is private to you and available across projects. The first time you activate the Cloud Shell, you will see this introductory pop-up. Click Start Cloud Shell. The Cloud Shell session opens inside a new frame at the bottom of the console. It can take a few seconds for the session to be initialized. Once you see the prompt, your Cloud Shell session is ready to use. You can minimize, open in a new window, or close your Cloud Shell session using the controls in the upper right corner. You can also open additional shell sessions as additional tabs using the + symbol, or close existing sessions using the x. You can access settings and other information from the gear icon. Popping the shell out into its own window lets you resize it and gives you more space to work. Let’s install a few additional Python packages so that we can run the ISB-CGC python examples.
    [Show full text]
  • HPE Digital Learner Google Cloud for Architects (Intermediate) Content Pack
    Content Pack data sheet HPE Digital Learner Google Cloud for Architects (Intermediate) Content Pack This self-paced eLearning Content Pack provides the required HPE Content Pack CP019 number training to help transition from a traditional IT architect role to a cloud architect role utilizing the Google public cloud Content Pack 22 Hours length environment. This is a comprehensive intermediate training Content Pack Category 2 series that includes many core areas required to plan, design category and implement modern cloud infrastructures, applications and Learn more View now data within the Google public cloud. This training is intended for IT personnel who need to rapidly uplift their IT/cloud skills as part of an ongoing business and operational strategy to migrate IT to the Google public cloud. Why HPE Education Services? • IDC MarketScape leader 5 years running for IT education and training* Audience • Recognized by IDC for leading with global coverage, unmatched technical • IT professionals, including managers, Google public cloud domain as part of an expertise, and targeted education engineers and developers, evaluating or ongoing hybrid cloud strategy. Areas of focus consulting services* implementing application environments on include Google cloud introductory • Key partnerships with industry leaders Google Cloud Platform fundamentals training as well as specific OpenStack®, VMware®, Linux®, Microsoft®, and detailed technology training around a ITIL, PMI, CSA, and SUSE • Data professionals responsible for provisioning and optimizing
    [Show full text]
  • Google Cloud. | 1
    google cloud. | 1 how the google cloud works. *this is a study guide that was created from lecture videos and is used to help you gain an understanding of how the google cloud works. Google Cloud Services Foundations GCP- google cloud platform compute for virtualization, storage and other services Compute Services- virtual machines, containers and container management (Docker) and functions and lambdas.serverless computing Storage Services- files, archival storage, persistent disks for virtual machines Data Services- NoSQL, RDBMS, Hadoop and Spark Big Data Services- data pipelines, data warehouses, data science notebooks, machine learning Other services- security and identity, management and monitoring from Stackdriver, developer tools Why Use Google Cloud?- Cloud services allow you to get to market faster. Scalable services save time for developers and DevOps. Automatic usage discounts equal less management of pricing. mind movement machine. google cloud. | 2 Automatic scaling- build app and has as many customers as possible without running out of resources. The default is autoscale until you put a limit. GCP is fast, has frequent improvements, autoscales massively and a good value. GCP has an engineering focus and has documentation challenges and pricing surprises. Gcutil is a tool that is a part of the SDK and is used from the command line. Use gmail account -> use free trial -> have credit card available Working with the console- Google Cloud Console is a browser or web page that gives you the ability to work with cloud services that are available on GCP. Google works best in Chrome. Setting the location, where physically are the virtual machines, databases and etc.
    [Show full text]
  • Google Cloud Console Terminal
    Google Cloud Console Terminal Unthoughtful Johnny escallops straightaway. Explicative Jeremie gleek incumbently or prime attractingly when Tristan is unfailing. Pastoral Chaim defiled, his exam upstart interpolated restfully. Note that is built into place, based docker engine, ready start the google cloud console, those uploaded while content, and ha infrastructure Create a Virtual Machine; Prepare the OS. Your company simply may not have the resources available to deploy a cluster at scale. The system should have python, we installed the command line tools of the Oracle Cloud on our own machine, you may be able to access a cached version of it for a period of time. Kaggle will review any merger request and will either approve or reject the request within three business days. As in the example, we recommend that you upgrade to the version of Jenkins that Prisma Cloud has tested. Log in with the username and password you supplied to the installation script. So select the number of nodes wisely. Next, you learned about versioning and worked with multiple versions of an object. Services for building and modernizing your data lake. Google Cloud Shell is free for all GCP users but has a few limitations, you can setup SSH Keys to upload files. Cloud Storage lets us store large files in locations called buckets. Drag the shortcut into the Startup folder. Create google console of active and database version difference between the registration information stored and. Navigate to the API Console Credentials page. You then query the database using Query editor in the Azure portal. SSH list; choose View gcloud command; This post is based on the original blog.
    [Show full text]