Pra-pemrosesan dokumen PDF dengan Amazon Textract: Deteksi dan penghapusan visual

Node Sumber: 1204412

Teks Amazon adalah layanan pembelajaran mesin (ML) yang terkelola sepenuhnya yang secara otomatis mengekstrak teks cetak, tulisan tangan, dan data lain dari dokumen yang dipindai yang melampaui pengenalan karakter optik (OCR) sederhana untuk mengidentifikasi, memahami, dan mengekstrak data dari formulir dan tabel. Amazon Textract dapat mendeteksi teks dalam berbagai dokumen, termasuk laporan keuangan, catatan medis, dan formulir pajak.

Dalam banyak kasus penggunaan, Anda perlu mengekstrak dan menganalisis dokumen dengan berbagai visual, seperti logo, foto, dan bagan. Visual ini berisi teks tersemat yang mengubah keluaran Amazon Textract atau tidak diperlukan untuk proses hilir Anda. Misalnya, banyak formulir atau dokumen evaluasi real estat berisi gambar rumah atau tren harga historis. Informasi ini tidak diperlukan dalam proses hilir, dan Anda harus menghapusnya sebelum menggunakan Amazon Textract untuk menganalisis dokumen. Dalam posting ini, kami mengilustrasikan dua metode efektif untuk menghapus visual ini sebagai bagian dari pemrosesan awal Anda.

Ikhtisar solusi

Untuk posting ini, kami menggunakan PDF yang berisi logo dan grafik sebagai contoh. Kami menggunakan dua jenis proses untuk mengubah dan mendeteksi visual ini, lalu menyuntingnya.

Dalam metode pertama, kami menggunakan detektor tepi canny perpustakaan OpenCV untuk mendeteksi tepi visual. Untuk metode kedua, kami menulis penganalisis konsentrasi piksel khusus untuk mendeteksi lokasi visual ini.

Anda dapat mengekstrak visual ini untuk diproses lebih lanjut, dan dengan mudah mengubah kode agar sesuai dengan kasus penggunaan Anda.

PDF yang dapat dicari adalah file PDF asli yang biasanya dibuat oleh aplikasi lain, seperti pemroses teks, printer PDF virtual, dan editor asli. Jenis PDF ini menyimpan informasi metadata, teks, dan gambar di dalam dokumen. Anda dapat dengan mudah menggunakan pustaka seperti PyMuPDF / fitz untuk menavigasi struktur PDF dan mengidentifikasi gambar dan teks. Dalam posting ini, kami fokus pada dokumen yang tidak dapat dicari atau berbasis gambar.

Opsi 1: Mendeteksi visual dengan detektor tepi OpenCV

Dalam pendekatan ini, kami mengonversi PDF ke dalam format PNG, kemudian dokumen menjadi abu-abu dengan OpenCV-Python perpustakaan dan gunakan Canny Edge Detector untuk mendeteksi lokasi visual. Anda dapat mengikuti langkah-langkah rinci berikut ini buku catatan.

  1. Ubah dokumen menjadi skala abu-abu.

  1. Terapkan algoritme Canny Edge untuk mendeteksi kontur di dokumen Canny-Edged.
  2. Identifikasi kontur persegi panjang dengan dimensi yang relevan.

Anda selanjutnya dapat menyesuaikan dan mengoptimalkan beberapa parameter untuk meningkatkan akurasi deteksi tergantung pada kasus penggunaan Anda:

  • Tinggi dan lebar minimum - Parameter ini menentukan batas tinggi dan lebar minimum untuk deteksi visual. Ini dinyatakan dalam persentase ukuran halaman.
  • Lapisan - Saat kontur persegi panjang terdeteksi, kami menentukan area pengisi tambahan agar memiliki beberapa fleksibilitas pada total area halaman yang akan disunting. Ini berguna jika teks dalam visual tidak berada di dalam area persegi yang dibatasi dengan jelas.

Keuntungan dan kerugian

Pendekatan ini memiliki keuntungan sebagai berikut:

  • Ini memenuhi sebagian besar kasus penggunaan
  • Mudah diterapkan, dan cepat untuk disiapkan dan dijalankan
  • Parameter optimalnya menghasilkan hasil yang baik

Namun, pendekatan tersebut memiliki kekurangan sebagai berikut:

  • Untuk visual tanpa kotak pembatas atau tepian yang mengelilinginya, performanya dapat bervariasi bergantung pada jenis visual
  • Jika blok teks berada di dalam kotak pembatas besar, seluruh blok teks dapat dianggap visual dan dihapus menggunakan logika ini

Opsi 2: Analisis konsentrasi piksel

Kami menerapkan pendekatan kedua kami dengan menganalisis piksel gambar. Paragraf teks normal mempertahankan tanda tangan konsentrasi di barisnya. Kami dapat mengukur dan menganalisis kepadatan piksel untuk mengidentifikasi area dengan kepadatan piksel yang tidak serupa dengan dokumen lainnya. Anda dapat mengikuti langkah-langkah rinci berikut ini buku catatan.

  1. Ubah dokumen menjadi skala abu-abu.
  2. Ubah area abu-abu menjadi putih.
  3. Perkecil piksel secara horizontal untuk menghitung konsentrasi piksel hitam.
  4. Pisahkan dokumen menjadi garis horizontal atau segmen untuk mengidentifikasi yang bukan teks lengkap (meluas ke seluruh halaman).

  1. Untuk semua segmen horizontal yang bukan teks lengkap, identifikasi area yang berupa teks vs. area yang berupa gambar. Ini dilakukan dengan memfilter bagian menggunakan ambang batas konsentrasi piksel hitam minimum dan maksimum.
  2. Hapus area yang diidentifikasi sebagai teks tidak lengkap.

Anda dapat menyesuaikan parameter berikut untuk mengoptimalkan akurasi pengidentifikasian area non-teks:

  • Ambang batas segmen horizontal non-teks - Tentukan ambang batas konsentrasi piksel hitam minimum dan maksimum yang digunakan untuk mendeteksi segmen horizontal non-teks di halaman.
  • Ambang segmen vertikal non-teks - Tentukan ambang batas konsentrasi piksel hitam minimum dan maksimum yang digunakan untuk mendeteksi segmen vertikal non-teks di halaman.
  • Ukuran jendela - Mengontrol bagaimana halaman dipisahkan dalam segmen horizontal dan vertikal untuk analisis (X_WINDOW, Y_WINDOW). Ini ditentukan dalam jumlah piksel.
  • Area visual minimum - Mendefinisikan area terkecil yang dapat dianggap sebagai visual yang akan dihapus. Ini ditentukan dalam piksel.
  • Ambang batas abu-abu - Ambang batas untuk menghilangkan bayangan abu-abu.

Keuntungan dan kerugian

Pendekatan ini sangat dapat disesuaikan. Namun, ini memiliki kekurangan sebagai berikut:

  • Parameter optimal membutuhkan waktu lebih lama dan untuk mencapai pemahaman solusi yang lebih dalam
  • Jika dokumen tidak diperbaiki dengan sempurna (gambar diambil dengan kamera dengan sudut), metode ini mungkin gagal.

Kesimpulan

Dalam posting ini, kami menunjukkan bagaimana Anda dapat menerapkan dua pendekatan untuk menyunting visual dari dokumen yang berbeda. Kedua pendekatan tersebut mudah diterapkan. Anda bisa mendapatkan hasil berkualitas tinggi dan menyesuaikan salah satu metode sesuai dengan kasus penggunaan Anda.

Untuk mempelajari lebih lanjut tentang berbagai teknik di Amazon Textract, kunjungi publik AWS Contoh Repo GitHub.


Tentang Penulis

 YuanJiang adalah Arsitek Solusi Sr dengan fokus dalam pembelajaran mesin. Dia adalah anggota program Amazon Computer Vision Hero dan Komunitas Lapangan Teknis Amazon Machine Learning.

Victor Red adalah Arsitek Solusi Mitra Sr dengan fokus AI Percakapan. Dia juga anggota program Amazon Computer Vision Hero.

Luis Pineda adalah Arsitek Solusi Manajemen Mitra Sr. Dia juga anggota program Amazon Computer Vision Hero.

Miguel Romero Calvo adalah Ilmuwan Data dari AWS Machine Learning Solution Lab.

Sumber: https://aws.amazon.com/blogs/machine-learning/process-text-and-images-in-pdf-documents-with-amazon-textract/

Stempel Waktu:

Lebih dari Blog Pembelajaran Mesin AWS