Secara otomatis mengekstrak konten dari file PDF menggunakan Amazon Ttract - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Secara otomatis mengekstrak konten dari file PDF menggunakan Amazon Ttract

Tianxia Jia, Amazon Web Services

Ringkasan

Banyak organisasi perlu mengekstrak informasi dari file PDF yang diunggah ke aplikasi bisnis mereka. Misalnya, organisasi mungkin perlu mengekstrak informasi secara akurat dari file PDF pajak atau medis untuk analisis pajak atau pemrosesan klaim medis.

Di Amazon Web Services (AWS) Cloud, Amazon Textract secara otomatis mengekstrak informasi (misalnya, teks cetak, formulir, dan tabel) dari file PDF dan menghasilkan file berformat JSON yang berisi informasi dari file PDF asli. Anda dapat menggunakan Amazon Ttract di AWS Management Console atau dengan menerapkan panggilan API. Kami menyarankan Anda menggunakan panggilan API terprogram untuk menskalakan dan secara otomatis memproses sejumlah besar file PDF.

Saat Amazon Textract memproses file, ia membuat daftar Block objek berikut: halaman, baris dan kata-kata teks, formulir (pasangan nilai kunci), tabel dan sel, dan elemen pemilihan. Informasi objek lainnya juga disertakan, misalnya, kotak pembatas, interval kepercayaan IDs, dan hubungan. Amazon Ttract mengekstrak informasi konten sebagai string. Nilai data yang diidentifikasi dan diubah dengan benar diperlukan karena dapat lebih mudah digunakan oleh aplikasi hilir Anda. 

Pola ini menjelaskan step-by-step alur kerja untuk menggunakan Amazon Ttract untuk secara otomatis mengekstrak konten dari file PDF dan memprosesnya menjadi output yang bersih. Pola menggunakan teknik pencocokan template untuk mengidentifikasi dengan benar bidang yang diperlukan, nama kunci, dan tabel, dan kemudian menerapkan koreksi pasca-pemrosesan untuk setiap tipe data. Anda dapat menggunakan pola ini untuk memproses berbagai jenis file PDF dan Anda kemudian dapat menskalakan dan mengotomatiskan alur kerja ini untuk memproses file PDF yang memiliki format yang identik.   

Prasyarat dan batasan

Prasyarat

  • Akun AWS aktif.

  • Bucket Amazon Simple Storage Service (Amazon S3) yang ada untuk menyimpan file PDF setelah dikonversi ke format JPEG untuk diproses oleh Amazon Textract. Untuk informasi selengkapnya tentang bucket S3, lihat ikhtisar Bucket di dokumentasi Amazon S3.

  • Notebook Textract_PostProcessing.ipynb Jupyter (terlampir), diinstal dan dikonfigurasi. Untuk informasi selengkapnya tentang notebook Jupyter, lihat Membuat buku catatan Jupyter di dokumentasi Amazon. SageMaker

  • File PDF yang ada yang memiliki format identik.

  • Pemahaman tentang Python.

Batasan

Arsitektur

Alur kerja pola ini pertama-tama menjalankan Amazon Ttract pada contoh file PDF (Jalankan pertama kali) dan kemudian menjalankannya pada file PDF yang memiliki format identik dengan PDF pertama (Ulangi jalankan). Diagram berikut menunjukkan gabungan alur kerja First-time run dan Repeat run yang secara otomatis dan berulang kali mengekstrak konten dari file PDF dengan format yang identik.

Menggunakan Amazon Ttract untuk mengekstrak konten dari file PDF

Diagram menunjukkan alur kerja berikut untuk pola ini:

  1. Konversi file PDF ke dalam format JPEG dan simpan dalam ember S3. 

  2. Panggil Amazon Texttract API dan uraikan file JSON respons Amazon Textract. 

  3. Edit file JSON dengan menambahkan KeyName:DataType pasangan yang benar untuk setiap bidang yang diperlukan. Buat TemplateJSON file untuk tahap Repeat run.

  4. Tentukan fungsi koreksi pasca-pemrosesan untuk setiap tipe data (misalnya, float, integer, dan tanggal).

  5. Siapkan file PDF yang memiliki format yang identik dengan file PDF pertama Anda.

  6. Hubungi Amazon Texttract API dan uraikan respons Amazon Textract JSON.

  7. Cocokkan file JSON yang diurai dengan file. TemplateJSON

  8. Menerapkan koreksi pasca-pemrosesan.

File keluaran JSON akhir memiliki yang benar KeyName dan Value untuk setiap bidang yang diperlukan.

Tumpukan teknologi target

  • Amazon SageMaker 

  • Amazon S3 

  • Amazon Textract

Otomatisasi dan skala

Anda dapat mengotomatiskan alur kerja Repeat run dengan menggunakan fungsi AWS Lambda yang memulai Amazon Ttract saat file PDF baru ditambahkan ke Amazon S3. Amazon Textract kemudian menjalankan skrip pemrosesan dan output akhir dapat disimpan ke lokasi penyimpanan. Untuk informasi selengkapnya tentang hal ini, lihat Menggunakan pemicu Amazon S3 untuk menjalankan fungsi Lambda dalam dokumentasi Lambda.

Alat

  • Amazon SageMaker adalah layanan ML yang dikelola sepenuhnya yang membantu Anda membuat dan melatih model ML dengan cepat dan mudah, lalu langsung menerapkannya ke lingkungan host yang siap produksi.

  • Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.

  • Amazon Textract memudahkan untuk menambahkan deteksi dan analisis teks dokumen ke aplikasi Anda.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Konversi file PDF.

Siapkan file PDF untuk pertama kali dijalankan dengan membaginya menjadi satu halaman dan mengubahnya menjadi format JPEG untuk operasi sinkron Amazon Textract (). Syn API

catatan

Anda juga dapat menggunakan operasi asinkron Amazon Textract (Asyn API) untuk file PDF multihalaman.

Ilmuwan data, Pengembang

Mengurai respons Amazon Texttract JSON.

Buka Textract_PostProcessing.ipynb notebook Jupyter (terlampir) dan panggil Amazon Textract API dengan menggunakan kode berikut:

response = textract.analyze_document( Document={ 'S3Object': { 'Bucket': BUCKET, 'Name': '{}'.format(filename) } }, FeatureTypes=["TABLES", "FORMS"])

Parse JSON respon ke dalam bentuk dan tabel dengan menggunakan kode berikut:

parseformKV=form_kv_from_JSON(response) parseformTables=get_tables_fromJSON(response)
Ilmuwan data, Pengembang

Edit file TemplateJSON.

Edit JSON yang diurai untuk masing-masing KeyName dan yang sesuai DataType (misalnya, string, float, integer, atau tanggal), dan header tabel (misalnya, dan). ColumnNames RowNames

Template ini digunakan untuk setiap jenis file PDF individu, yang berarti bahwa template dapat digunakan kembali untuk file PDF yang memiliki format yang identik.

Ilmuwan data, Pengembang

Tentukan fungsi koreksi pasca-pemrosesan.

Nilai dalam respons Amazon Textract untuk TemplateJSON file tersebut adalah string. Tidak ada diferensiasi untuk tanggal, float, integer, atau mata uang. Nilai-nilai ini harus dikonversi ke tipe data yang benar untuk kasus penggunaan hilir Anda. 

Perbaiki setiap tipe data sesuai dengan TemplateJSON file dengan menggunakan kode berikut:

finalJSON=postprocessingCorrection(parsedJSON,templateJSON)
Ilmuwan data, Pengembang
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan file PDF.

Siapkan file PDF dengan membaginya menjadi satu halaman dan mengubahnya menjadi format JPEG untuk operasi sinkron Amazon Textract (). Syn API

catatan

Anda juga dapat menggunakan operasi asinkron Amazon Textract (Asyn API) untuk file PDF multihalaman.

Ilmuwan data, Pengembang

Hubungi Amazon Texttract API.

Hubungi Amazon Texttract API dengan menggunakan kode berikut:

response = textract.analyze_document( Document={ 'S3Object': { 'Bucket': BUCKET, 'Name': '{}'.format(filename) } }, FeatureTypes=["TABLES", "FORMS"])
Ilmuwan data, Pengembang

Mengurai respons Amazon Texttract JSON.

Parse JSON respon ke dalam bentuk dan tabel dengan menggunakan kode berikut:

parseformKV=form_kv_from_JSON(response) parseformTables=get_tables_fromJSON(response)
Ilmuwan data, Pengembang

Muat file TemplateJSON dan cocokkan dengan JSON yang diurai.

Gunakan TemplateJSON file untuk mengekstrak pasangan kunci-nilai yang benar dan tabel dengan menggunakan perintah berikut:

form_kv_corrected=form_kv_correction(parseformKV,templateJSON) form_table_corrected=form_Table_correction(parseformTables, templateJSON) form_kv_table_corrected_final={**form_kv_corrected , **form_table_corrected}
Ilmuwan data, Pengembang

Koreksi pasca pemrosesan.

Gunakan DataType dalam TemplateJSON file dan fungsi pasca-pemrosesan untuk mengoreksi data dengan menggunakan kode berikut: 

finalJSON=postprocessingCorrection(form_kv_table_corrected_final,templateJSON)
Ilmuwan data, Pengembang

Sumber daya terkait

Lampiran

Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip