GSP1140

Ringkasan
Document AI adalah solusi pemahaman dokumen yang memproses data tidak terstruktur (misalnya dokumen, email, invoice, formulir, dll.) dan membuat data tersebut lebih mudah dipahami, dianalisis, dan digunakan. API ini menyediakan struktur melalui klasifikasi konten, ekstraksi entity, penelusuran lanjutan, dan lain-lain.
Di lab ini, Anda akan mempelajari cara menggunakan Pemroses Khusus Document AI untuk mengklasifikasi dan mengurai dokumen khusus dengan Python.
Untuk penguraian dan ekstraksi entity, Anda akan menggunakan invoice sebagai contoh. Prosedur dan contoh kode ini akan cocok dengan dokumen khusus apa pun yang didukung oleh Document AI.
Tujuan
Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:
- Mengekstrak entity berskema menggunakan pemroses khusus.
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
-
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
Klik jendela berikut:
- Lanjutkan melalui jendela informasi Cloud Shell.
- Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Tugas 1. Mengaktifkan Document AI API
Sebelum dapat mulai menggunakan Document AI, Anda harus mengaktifkan API-nya.
-
Buka Cloud Shell dengan mengklik tombol Activate Cloud Shell di bagian atas konsol.
-
Di Cloud Shell, jalankan perintah berikut guna mengaktifkan API untuk Document AI.
gcloud services enable documentai.googleapis.com
Anda akan melihat yang seperti ini:
Operation "operations/..." finished successfully.
Anda juga perlu menginstal Pandas, library Analisis Data Open Source untuk Python.
- Jalankan perintah berikut untuk menginstal Pandas.
pip3 install --upgrade pandas
- Jalankan perintah berikut guna menginstal library klien Python untuk Document AI.
pip3 install --upgrade google-cloud-documentai
Anda akan melihat yang seperti ini:
...
Installing collected packages: google-cloud-documentai
Successfully installed google-cloud-documentai-2.15.0
Sekarang, Anda siap untuk menggunakan Document AI API.
Klik Periksa progres saya untuk memverifikasi tujuan.
Mengaktifkan Document AI API
Tugas 2. Membuat pemroses Parser Formulir
Pertama-tama, Anda harus membuat instance pemroses Parser Formulir untuk digunakan di Platform Document AI untuk tutorial ini.
- Dari Navigation Menu, klik VIEW ALL PRODUCTS di bagian Artificial Intelligence, lalu pilih Document AI.

- Klik Explore Processors, scroll ke bawah ke Specialized, lalu klik Create Processor di dalam Invoice Parser.

-
Beri nama lab-invoice-parser, lalu pilih region terdekat di daftar.
-
Klik Create untuk membuat pemroses.
-
Salin ID Pemroses Anda. Anda harus menggunakannya dalam kode nanti.

Membuat pemroses
Mendownload contoh dokumen
Kami memiliki beberapa contoh dokumen yang dapat Anda gunakan untuk lab ini.
- Jalankan perintah berikut untuk mendownload contoh formulir ke Cloud Shell.
gcloud storage cp gs://cloud-samples-data/documentai/codelabs/specialized-processors/procurement_multi_document.pdf .
gcloud storage cp gs://cloud-samples-data/documentai/codelabs/specialized-processors/google_invoice.pdf .
- Pastikan file didownload ke Cloud Shell menggunakan perintah berikut:
ls
Anda akan melihat yang seperti ini:
google_invoice.pdf procurement_multi_document.pdf
Tugas 3. Mengekstrak entity
Sekarang Anda dapat mengekstrak entity berskema dari file, termasuk skor keyakinan, properti, dan nilai yang dinormalisasi.
Kode untuk membuat permintaan API sama dengan langkah sebelumnya, dan dapat dilakukan baik dengan permintaan batch maupun online.
Anda akan mengakses informasi berikut dari entity:
-
Jenis Entity
- (misalnya,
invoice_date, receiver_name, total_amount)
-
Nilai Mentah
- Nilai data seperti yang ditampilkan dalam file dokumen asli.
-
Nilai yang Dinormalisasi
-
Tingkat Keyakinan
- Tingkat keyakinan terhadap akurasi model.
Beberapa jenis entity, seperti line_item, juga dapat menyertakan properties yang merupakan entity bertingkat seperti line_item/unit_price dan line_item/description. Contoh ini meratakan struktur bertingkat agar mudah dilihat.
Parser Invoice
- Di Cloud Shell, buat file bernama
extraction.py, lalu tempelkan kode berikut ke dalamnya:
import pandas as pd
from google.cloud import documentai_v1 as documentai
def online_process(
project_id: str,
location: str,
processor_id: str,
file_path: str,
mime_type: str,
) -> documentai.Document:
"""
Processes a document using the Document AI Online Processing API.
"""
opts = {"api_endpoint": f"{location}-documentai.googleapis.com"}
# Instantiates a client
documentai_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
resource_name = documentai_client.processor_path(project_id, location, processor_id)
# Read the file into memory
with open(file_path, "rb") as file:
file_content = file.read()
# Load Binary Data into Document AI RawDocument Object
raw_document = documentai.RawDocument(content=file_content, mime_type=mime_type)
# Configure the process request
request = documentai.ProcessRequest(name=resource_name, raw_document=raw_document)
# Use the Document AI client to process the sample form
result = documentai_client.process_document(request=request)
return result.document
PROJECT_ID = "YOUR_PROJECT_ID"
LOCATION = "YOUR_PROJECT_LOCATION" # Format is 'us' or 'eu'
PROCESSOR_ID = "INVOICE_PARSER_ID" # Create processor in Cloud Console
# The local file in your current working directory
FILE_PATH = "google_invoice.pdf"
# Refer to https://cloud.google.com/document-ai/docs/processors-list
# for supported file types
MIME_TYPE = "application/pdf"
document = online_process(
project_id=PROJECT_ID,
location=LOCATION,
processor_id=PROCESSOR_ID,
file_path=FILE_PATH,
mime_type=MIME_TYPE,
)
types = []
raw_values = []
normalized_values = []
confidence = []
# Grab each key/value pair and their corresponding confidence scores.
for entity in document.entities:
types.append(entity.type_)
raw_values.append(entity.mention_text)
normalized_values.append(entity.normalized_value.text)
confidence.append(f"{entity.confidence:.0%}")
# Get Properties (Sub-Entities) with confidence scores
for prop in entity.properties:
types.append(prop.type_)
raw_values.append(prop.mention_text)
normalized_values.append(prop.normalized_value.text)
confidence.append(f"{prop.confidence:.0%}")
# Create a Pandas Dataframe to print the values in tabular format.
df = pd.DataFrame(
{
"Type": types,
"Raw Value": raw_values,
"Normalized Value": normalized_values,
"Confidence": confidence,
}
)
print(df)
-
Ganti INVOICE_PARSER_ID dengan ID untuk Pemroses Parser Invoice yang Anda buat sebelumnya dan gunakan file google_invoice.pdf.
-
Ganti YOUR_PROJECT_ID dan YOUR_PROJECT_LOCATION dengan Project ID Google Cloud dan lokasi Pemroses Anda.
-
Jalankan skrip:
python3 extraction.py
Output Anda akan terlihat seperti ini:
Type Raw Value Normalized Value Confidence
0 due_date Sep 30, 2019 2019-09-30 99%
1 net_amount 22,379.39 22379.39 99%
2 total_amount 19,647.68 19647.68 99%
3 invoice_date Sep 24, 2019 2019-09-24 98%
4 total_tax_amount 1,767.97 1767.97 94%
5 receiver_name Jane Smith, 88%
6 receiver_address 1600 Amphitheatre Pkway Mountain View, CA 94043 77%
7 invoice_id 23413561D 60%
8 freight_amount 199.99 199.99 60%
9 invoice_type invoice_statement 59%
10 currency $ USD 58%
11 supplier_name Google Google 37%
12 line_item 9.99 12 12 ft HDMI cable 119.88 100%
13 line_item/unit_price 9.99 9.99 95%
14 line_item/quantity 12 12 75%
15 line_item/description 12 ft HDMI cable 64%
16 line_item/amount 119.88 119.88 90%
17 line_item 12 399.99 27" Computer Monitor 4,799.88 100%
18 line_item/quantity 12 12 76%
19 line_item/unit_price 399.99 399.99 95%
20 line_item/description 27" Computer Monitor 42%
21 line_item/amount 4,799.88 4799.88 93%
22 line_item Ergonomic Keyboard 12 59.99 719.88 100%
23 line_item/description Ergonomic Keyboard 42%
24 line_item/quantity 12 12 75%
25 line_item/unit_price 59.99 59.99 94%
26 line_item/amount 719.88 719.88 85%
27 line_item Optical mouse 12 19.99 239.88 100%
28 line_item/description Optical mouse 55%
29 line_item/quantity 12 12 72%
30 line_item/unit_price 19.99 19.99 94%
31 line_item/amount 239.88 239.88 81%
32 line_item Laptop 12 1,299.99 15,599.88 100%
33 line_item/description Laptop 65%
34 line_item/quantity 12 12 71%
35 line_item/unit_price 1,299.99 1299.99 94%
36 line_item/amount 15,599.88 15599.88 91%
37 line_item Misc processing fees 899.99 899.99 1 100%
38 line_item/description Misc processing fees 54%
39 line_item/unit_price 899.99 899.99 92%
40 line_item/amount 899.99 899.99 82%
41 line_item/quantity 1 1 68%
- Buat bucket Cloud Storage, lalu upload output yang dihasilkan dari perintah
docai_outputs.txt ke bucket.
# Create a bucket
export PROJECT_ID=$(gcloud config get-value project)
gsutil mb gs://$PROJECT_ID-docai
# Create and upload the file
python3 extraction.py > docai_outputs.txt
gsutil cp docai_outputs.txt gs://$PROJECT_ID-docai
Membuat bucket Cloud Storage dan mengupload file output
Opsional: Mencoba pemroses khusus lainnya
Anda berhasil menggunakan Document AI untuk Pembelian guna mengklasifikasi dokumen dan mengurai invoice. Document AI juga mendukung solusi khusus lainnya yang tercantum di sini:
Anda dapat mengikuti prosedur yang sama dan menggunakan kode yang sama untuk menangani pemroses khusus apa pun.
Jika ingin mencoba solusi khusus lainnya, Anda dapat menjalankan kembali lab dengan jenis pemroses dan contoh dokumen khusus lainnya.
Catatan: Beberapa pemroses Identitas, Pinjaman, dan Kontrak saat ini memiliki akses terbatas. Jika Anda memiliki kasus penggunaan bisnis untuk pemroses ini, harap isi dan kirim formulir permintaan yang sesuai sebelum melanjutkan.
Contoh Dokumen
Berikut beberapa contoh dokumen yang dapat Anda gunakan untuk mencoba pemroses khusus lainnya.
Anda dapat menemukan contoh dokumen dan output pemroses lainnya dalam dokumentasi.
Selamat!
Selamat! Anda berhasil menggunakan Document AI untuk mengurai invoice. Anda juga telah mempelajari cara menggunakan Library Klien Python untuk memanggil Document AI API.
Langkah berikutnya/Pelajari lebih lanjut
Lihat referensi berikut untuk mempelajari Document AI dan Library Klien Python lebih lanjut:
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui: 07 November 2024
Lab Terakhir Diuji: 07 November 2024
Hak cipta 2026 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.