

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
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract"></a>

*Tianxia Jia, Amazon Web Services*

## Ringkasan
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-summary"></a>

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](https://aws.amazon.com/textract/faqs/) 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](https://docs.aws.amazon.com/textract/latest/dg/API_BoundingBox.html), 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
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-prereqs"></a>

**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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) 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](https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-prepare.html). SageMaker 
+ File PDF yang ada yang memiliki format identik.
+ Pemahaman tentang Python.

**Batasan**
+ File PDF Anda harus berkualitas baik dan dapat dibaca dengan jelas. File PDF asli direkomendasikan, tetapi Anda dapat menggunakan dokumen yang dipindai yang dikonversi ke format PDF jika semua kata individual jelas. Untuk informasi selengkapnya tentang ini, lihat [praprosesan dokumen PDF dengan Amazon Textract: Deteksi dan penghapusan visual](https://aws.amazon.com/blogs/machine-learning/process-text-and-images-in-pdf-documents-with-amazon-textract/) di Blog AWS Machine Learning.
+ Untuk file multipage, Anda dapat menggunakan operasi asinkron atau membagi file PDF menjadi satu halaman dan menggunakan operasi sinkron. Untuk informasi selengkapnya tentang dua opsi ini, lihat [Mendeteksi dan menganalisis teks dalam dokumen multihalaman](https://docs.aws.amazon.com/textract/latest/dg/async.html) serta [Mendeteksi dan menganalisis teks dalam dokumen satu halaman dalam dokumentasi](https://docs.aws.amazon.com/textract/latest/dg/sync.html) Amazon Textract.

## Arsitektur
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-architecture"></a>

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\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/2d724523-2cab-42c9-a773-65857014d9ec/images/9e20070f-3e0c-46aa-aa98-a8b1eb3395dc.png)


 

Diagram menunjukkan alur kerja berikut untuk pola ini:

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

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

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

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

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

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

1. Cocokkan file JSON yang diurai dengan file. `TemplateJSON`

1. 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](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html).

## Alat
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-tools"></a>
+ [Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html) 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
+ [Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/what-is.html) memudahkan untuk menambahkan deteksi dan analisis teks dokumen ke aplikasi Anda.

## Epik
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-epics"></a>

### Lari pertama kali
<a name="first-time-run"></a>


| Tugas | Deskripsi | Keterampilan 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 ().](https://docs.aws.amazon.com/textract/latest/dg/sync.html) `Syn API`Anda juga dapat menggunakan [operasi asinkron](https://docs.aws.amazon.com/textract/latest/dg/async.html) 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:<pre>response = textract.analyze_document(<br />Document={<br />        'S3Object': {<br />            'Bucket': BUCKET,<br />            'Name': '{}'.format(filename)<br />                    }<br />                },<br />        FeatureTypes=["TABLES", "FORMS"])</pre>Parse JSON respon ke dalam bentuk dan tabel dengan menggunakan kode berikut:<pre>parseformKV=form_kv_from_JSON(response)<br />parseformTables=get_tables_fromJSON(response)</pre> | 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:<pre>finalJSON=postprocessingCorrection(parsedJSON,templateJSON)</pre> | Ilmuwan data, Pengembang | 

### Ulangi lari
<a name="repeat-run"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Siapkan file PDF. | [Siapkan file PDF dengan membaginya menjadi satu halaman dan mengubahnya menjadi format JPEG untuk operasi sinkron Amazon Textract ().](https://docs.aws.amazon.com/textract/latest/dg/sync.html) `Syn API`Anda juga dapat menggunakan [operasi asinkron](https://docs.aws.amazon.com/textract/latest/dg/async.html) Amazon Textract (`Asyn API`) untuk file PDF multihalaman. | Ilmuwan data, Pengembang | 
| Hubungi Amazon Texttract API. | Hubungi Amazon Texttract API dengan menggunakan kode berikut:<pre>response = textract.analyze_document(<br />        Document={<br />        'S3Object': {<br />            'Bucket': BUCKET,<br />            'Name': '{}'.format(filename)<br />                    }<br />                },<br />        FeatureTypes=["TABLES", "FORMS"])</pre> | Ilmuwan data, Pengembang | 
| Mengurai respons Amazon Texttract JSON. | Parse JSON respon ke dalam bentuk dan tabel dengan menggunakan kode berikut:<pre>parseformKV=form_kv_from_JSON(response)<br />parseformTables=get_tables_fromJSON(response)</pre> | 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:<pre>form_kv_corrected=form_kv_correction(parseformKV,templateJSON)<br />form_table_corrected=form_Table_correction(parseformTables, templateJSON)<br />form_kv_table_corrected_final={**form_kv_corrected , **form_table_corrected}</pre> | Ilmuwan data, Pengembang | 
| Koreksi pasca pemrosesan. | Gunakan `DataType` dalam `TemplateJSON` file dan fungsi pasca-pemrosesan untuk mengoreksi data dengan menggunakan kode berikut: <pre>finalJSON=postprocessingCorrection(form_kv_table_corrected_final,templateJSON)</pre> | Ilmuwan data, Pengembang | 

## Sumber daya terkait
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-resources"></a>
+ [Secara otomatis mengekstrak teks dan data terstruktur dari dokumen dengan Amazon Ttract](https://aws.amazon.com/blogs/machine-learning/automatically-extract-text-and-structured-data-from-documents-with-amazon-textract/)
+ [Ekstrak teks dan data terstruktur dengan Amazon Textract](https://aws.amazon.com/getting-started/hands-on/extract-text-with-amazon-textract/)
+ [Sumber daya Amazon Texttract](https://aws.amazon.com/textract/resources/?blog-posts-cards.sort-by=item.additionalFields.createdDate&blog-posts-cards.sort-order=desc)

## Lampiran
<a name="attachments-2d724523-2cab-42c9-a773-65857014d9ec"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/2d724523-2cab-42c9-a773-65857014d9ec/attachments/attachment.zip)