Konversi Data PDF ke Entri Basis Data PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Konversi Data PDF ke Entri Basis Data

Beberapa organisasi dan bisnis mengandalkan dokumen PDF untuk berbagi dokumen penting seperti faktur, slip gaji, keuangan, perintah kerja, kuitansi, dan banyak lagi. Namun, PDF bukanlah format masuk untuk menyimpan data historis karena tidak dapat dengan mudah diekspor & diatur ke dalam alur kerja. Jadi orang menggunakan algoritme ekstraksi informasi untuk mendigitalkan PDF & dokumen yang dipindai ke dalam format terstruktur seperti JSON, CSV, Tabel, atau Excel yang dapat dengan mudah diubah menjadi alur kerja organisasi lainnya.

Dalam beberapa kasus, PDF menyimpan informasi penting untuk diproses di berbagai ERP, CMS, dan sistem berbasis basis data lainnya. Sayangnya, dokumen PDF tidak memiliki fungsi PDF ke database yang mudah, dan menulis skrip atau membangun alur kerja di sekitar tugas ini agak rumit. Di sinilah algoritma OCR dan Deep Learning (DL) muncul untuk mengekstrak data dari format PDF ini dan mengekspornya ke database. Dalam posting blog ini, kita akan melihat berbagai cara bagaimana Anda dapat mencapainya dengan menggunakan teknologi DL serta beberapa API populer di pasaran.

Apa itu Konversi PDF ke Basis Data?

Konversi PDF ke Basis Data adalah tugas mengekspor data dari PDF ke dalam basis data seperti Postgres, Mongo, MySQL, dll.

Misalkan kita membangun aplikasi web atau sistem ERP yang menyimpan dan memelihara informasi faktur dari berbagai sumber. Menambahkan faktur historis secara manual ke database adalah tugas yang berat dan sangat rawan kesalahan. Di sisi lain, menggunakan OCR sederhana mungkin tidak mengekstrak tabel dari faktur secara akurat.

Di sinilah konversi PDF ke Database berbasis AI yang canggih berguna!

Bisakah proses konversi PDF ke database yang digerakkan oleh AI ini diotomatisasi? - Iya.

Di bagian di bawah ini, kami menggunakan visi komputer dan pembelajaran mendalam untuk mendeteksi area tabel dari dokumen yang dipindai. Tabel-tabel ini selanjutnya disimpan dalam format data tertentu seperti CSV atau excel dan akan langsung dimasukkan ke dalam database.

Sebelum membahas ini, mari kita pahami beberapa kasus penggunaan di mana deteksi PDF ke database dapat berguna.

Kasus penggunaan yang berbeda untuk PDF ke Database

Basis data adalah cara terbaik untuk menyimpan informasi di cloud dan penyimpanan lokal. Mereka memungkinkan kami untuk melakukan operasi dan manipulasi yang berbeda menggunakan kueri sederhana. Berikut adalah beberapa kasus penggunaan yang dapat sangat dioptimalkan dengan alur kerja konversi PDF ke database otomatis:

  1. Manajemen Faktur di Web: Bisnis dan organisasi berurusan dengan beberapa faktur setiap hari; dan sulit bagi mereka untuk memproses setiap faktur secara manual. Juga, terkadang, mereka menaikkan dan menerima faktur dalam format non-digital, yang membuatnya lebih sulit untuk dilacak. Oleh karena itu, mereka mengandalkan aplikasi berbasis web yang dapat menyimpan semua tagihan mereka di satu tempat. Konverter PDF ke basis data dapat mengotomatiskan ekstraksi data dari faktur ke aplikasi web. Untuk mengotomatisasi tugas-tugas ini secara efisien, kami dapat menjalankan tugas cron dan mengintegrasikannya dengan layanan pihak ketiga seperti n8n dan Zapier โ€“ ketika faktur baru dipindai dan diunggah, ia dapat menjalankan algoritme dan secara otomatis memasukkannya ke dalam tabel.
  2. Manajemen Inventaris EComt: Banyak manajemen inventaris e-com masih berjalan melalui entri manual produk dari PDF dan salinan yang dipindai. Namun, mereka perlu mengunggah semua data mereka ke perangkat lunak manajemen penagihan untuk melacak semua produk dan penjualan mereka. Oleh karena itu, menggunakan algoritma konversi tabel ke database dapat membantu mengotomatiskan entri manual mereka dan menghemat sumber daya. Proses ini biasanya melibatkan pemindaian daftar inventaris dari dokumen yang dipindai dan mengekspornya ke tabel database tertentu berdasarkan aturan dan ketentuan bisnis yang berbeda.
  3. Ekstraksi Data dari Survei: Untuk mengumpulkan umpan balik dan informasi berharga lainnya, kami biasanya melakukan survei. Mereka menyediakan sumber data dan wawasan penting bagi hampir semua orang yang terlibat dalam ekonomi informasi, mulai dari bisnis dan media hingga pemerintah dan akademisi. Saat ini dikumpulkan secara online, mudah untuk mengekstrak status data tabel berdasarkan respons pengguna dan mengunggahnya ke database. Namun, dalam kebanyakan kasus, tanggapan survei ada di atas kertas. Dalam kasus seperti itu, sangat sulit untuk mengumpulkan informasi secara manual dan menyimpannya dalam format digital. Oleh karena itu, mengandalkan tabel untuk algoritma database dapat menghemat waktu dan juga memotong biaya tambahan.

Bagaimana cara mengekstrak informasi dari PDF ke Database Relasional dan Non-Relasional?

File PDF dilihat sebagai dua jenis berbeda, yang dihasilkan secara elektronik dan yang tidak dibuat secara elektronik.

  1. PDF Elektronik: Dokumen PDF yang dipindai ini mungkin memiliki teks tersembunyi di balik gambar; ini juga disebut sebagai PDF yang dihasilkan secara elektronik.
  2. PDF non-elektronik: Dalam jenis ini, kami melihat lebih banyak konten yang dikodekan sebagai gambar. Ini adalah kasus ketika Anda memiliki dokumen hard copy yang dipindai menjadi file PDF.

Kita dapat mengandalkan bahasa dan kerangka kerja pemrograman sederhana seperti Python dan Java untuk tipe pertama (dihasilkan secara elektronik). Untuk PDF yang dihasilkan secara non-elektronik, kita perlu menggunakan teknik Computer Vision dengan OCR dan pembelajaran mendalam. Namun, algoritme ini mungkin tidak sama untuk semua algoritme ekstraksi tabel, dan algoritme ini perlu diubah bergantung pada jenis data untuk mencapai akurasi yang lebih tinggi. NLP (Natural Language Processing) juga digunakan untuk memahami data di dalam tabel dan mengekstraknya dalam beberapa kasus.

Di sisi lain, ada dua jenis database (relasional dan non-relasional); masing-masing database ini memiliki seperangkat aturan yang berbeda berdasarkan arsitekturnya. Database relasional terstruktur, artinya data diatur dalam tabel. Beberapa contoh termasuk MySQL, Postgres, dll.

Sebaliknya, basis data non-relasional berorientasi pada dokumen, artinya semua informasi disimpan dalam lebih banyak urutan daftar cucian. Dalam satu dokumen konstruktor, Anda akan mencantumkan semua data Anda โ€“ misalnya, MongoDB.

PDF ke database saat dokumen dibuat secara elektronik

Seperti yang telah dibahas, untuk PDF yang dihasilkan secara elektronik, proses mengekstraksi tabel sangatlah mudah. Idenya adalah untuk mengekstrak tabel dan kemudian menggunakan skrip sederhana untuk mengubahnya atau menambahkannya ke dalam tabel. Untuk ekstraksi tabel dari PDF, ada dua teknik utama.

Aliran Teknik #1: Algoritme mem-parsing tabel berdasarkan spasi putih di antara sel untuk mensimulasikan struktur tabelโ€”mengidentifikasi tempat teks tidak ada. Itu dibangun di atas fungsionalitas PDFMiner untuk mengelompokkan karakter pada halaman menjadi kata dan kalimat menggunakan margin. Dalam teknik ini, pertama, baris dideteksi dengan membuat tebakan kasar berdasarkan beberapa posisi sumbu y teks (yaitu, tinggi). Semua teks pada baris yang sama dianggap sebagai bagian dari baris yang sama. Selanjutnya, pembaca dikelompokkan dan disatukan sebagai kelompok yang berbeda untuk mengidentifikasi kolom dalam tabel. Terakhir, tabel diatur bersama berdasarkan baris dan kolom yang terdeteksi pada langkah sebelumnya.

Teknik #2 Kisi: Berbeda dengan aliran, Lattice lebih deterministik. Artinya tidak bergantung pada tebakan; itu pertama-tama mem-parsing melalui tabel yang telah mendefinisikan garis antar sel. Selanjutnya, secara otomatis dapat mengurai beberapa tabel yang ada di halaman. Teknik ini pada dasarnya bekerja dengan melihat bentuk poligon dan mengidentifikasi teks di dalam sel tabel. Ini akan menjadi sederhana jika PDF memiliki fitur yang dapat mengidentifikasi poligon. Jika ya, masuk akal untuk memiliki metode untuk membaca apa yang ada di dalamnya. Namun, tidak. Oleh karena itu, visi komputer banyak digunakan untuk mengidentifikasi bentuk-bentuk ini dan mengekstrak isi tabel.

Tabel yang diekstraksi terutama disimpan dalam format bingkai data. Ini adalah salah satu tipe data asli yang ditawarkan oleh salah satu panda library Python paling populer. Ada beberapa keuntungan menyimpan data tabel dalam bingkai data. Mereka dapat dengan mudah ditangani, dimanipulasi, dan diekspor ke berbagai format seperti JSON, CSV, atau tabel. Namun, sebelum kita mendorong bingkai data ini ke dalam tabel, pertama-tama kita harus terhubung ke database DB-Client dan kemudian memigrasikan tabel. Menggunakan bahasa seperti Python, kita dapat menemukan beberapa perpustakaan yang dapat terhubung ke sumber data ini dan mengekspor data.

PDF ke database saat dokumen dibuat secara non-elektronik

Teknik yang dibahas di atas mungkin tidak berfungsi untuk PDF yang dihasilkan secara non-elektronik, karena data di sini dipindai secara manual melalui sumber yang berbeda. Inilah mengapa kami akan menggunakan teknik OCR dan Deep Learning untuk mengekstrak data dari dokumen yang dipindai dan mengekspornya ke database.

Singkatnya, Optical Character Recognition, OCR adalah alat khusus yang mengubah huruf yang dicetak dari dokumen yang dipindai menjadi teks yang dapat diedit. Untuk mengidentifikasi tabel PDF dari dokumen, pertama, kita perlu mengidentifikasi posisi tabel dan kemudian menerapkan OCR untuk mengekstrak data dari sel tabel. Berikut adalah langkah-langkah tentang bagaimana hal itu dicapai:

  1. Pertama, kami mendeteksi segmen garis dengan menerapkan kontur horizontal dan vertikal.
  2. Perpotongan garis antar garis dideteksi dengan melihat intensitas piksel dari semua garis. Jika piksel garis memiliki intensitas lebih dari piksel lainnya, itu adalah bagian dari dua garis dan, oleh karena itu, merupakan persimpangan.
  3. Tepi tabel ditentukan dengan melihat intensitas piksel garis berpotongan. Di sini, semua piksel garis diambil, dan garis paling luar mewakili batas tabel.
  4. Analisis gambar diterjemahkan ke dalam koordinat PDF, di mana sel ditentukan. Teks ditugaskan ke sel berdasarkan koordinat x dan y-nya.
  5. OCR diterapkan pada koordinat untuk mengekstrak teks
  6. Teks yang diekstraksi diekspor ke bingkai data berdasarkan posisi tabel.

Ini adalah bagaimana kita dapat mengekstrak tabel menggunakan CV. Namun, ada beberapa kelemahan di sini. Algoritma ini gagal untuk tabel besar dan tabel dengan gaya template yang berbeda. Di sinilah pembelajaran mendalam masuk; mereka menggunakan jenis khusus kerangka jaringan saraf untuk belajar dari data dan mengidentifikasi pola serupa berdasarkan pembelajaran. Selama dekade terakhir, mereka telah mencapai kinerja mutakhir, terutama untuk tugas-tugas seperti ekstraksi informasi. Sekarang, mari kita lihat seberapa dalam jaringan saraf dapat belajar dari data dan mengekstrak tabel dari dokumen apa pun.

Pelatihan jaringan saraf dalam melibatkan alur kerja tertentu; alur kerja ini sering diubah berdasarkan jenis data yang kami kerjakan dan kinerja modelnya. Fase pertama dari alur kerja melibatkan pengumpulan data dan pemrosesannya berdasarkan model kami. Dalam kasus kami mengekstraksi tabel dari dokumen PDF, kumpulan data idealnya harus berisi dokumen tidak terstruktur. Dokumen-dokumen ini diubah menjadi gambar, dimuat sebagai tensor, dan disiapkan sebagai kelas pemuat data untuk pelatihan. Selanjutnya, kami biasanya mendefinisikan semua hyperparameter yang diperlukan untuk pelatihan. Ini biasanya mencakup pengaturan ukuran batch, fungsi kerugian, pengoptimal untuk model. Terakhir, arsitektur jaringan saraf didefinisikan atau dibangun di atas model yang telah ditentukan sebelumnya. Model ini akan dilatih di atas data dan disempurnakan berdasarkan metrik kinerja.

Berikut ini adalah tangkapan layar dari berbagai langkah yang terlibat dalam melatih model pembelajaran mendalam:

Alur Kerja ML Umum (sumber)

Mengekstrak data dari pdf dan mengekspornya ke database SQL menggunakan Python

Sejauh ini, kita telah mempelajari apa itu konversi pdf ke database dan telah membahas beberapa kasus penggunaan yang dapat membantu. Bagian ini secara praktis akan mendekati masalah ini menggunakan Computer Vision dan mendeteksi tabel dalam pdf yang dipindai dan mengekspornya ke dalam basis data. Untuk mengikuti, pastikan untuk menginstal Python dan OpenCV di mesin lokal Anda. Atau, Anda dapat menggunakan buku catatan Google Collab online.

Langkah 1: Instal Tabula dan Pandas

Dalam contoh ini, kita akan menggunakan Tabula dan Pandas untuk mengekstrak dan mendorong tabel ke dalam database. Mari kita menginstalnya melalui pip dan mengimpornya ke dalam program kita.

import tabula
import pandas as pd

Langkah 2: Membaca Tabel ke dalam Dataframe

Sekarang, kita akan menggunakan read_pdf fungsi dari tabula untuk membaca tabel dari PDF; perhatikan bahwa perpustakaan ini hanya berfungsi pada dokumen PDF yang dibuat secara elektronik. Berikut cuplikan kodenya:

table = tabula.read_pdf("sample.pdf",pages='all',multiple_tables=False)

df = pd.concat(table)

Di sini, seperti yang bisa kita lihat, pertama, kita gunakan untuk membaca konten file PDF, kita mengatur parameternya multiple_tables ke False, karena dokumen yang digunakan dalam contoh hanya memiliki satu tabel.

Sekarang, kita akan memuat daftar ini ke dalam bingkai data menggunakan panda, dan Anda dapat memeriksa tipe tabel dengan menggunakan metode tipe; ini akan mengembalikan bingkai data panda asli.

Langkah 3: Migrasi Dataframe ke Postres

Sebelum kita memasukkan tabel kita ke dalam database, pertama-tama kita harus membuat koneksi ke tabel tersebut dari program kita, dan kita dapat melakukannya dengan menggunakan sqlalchemy klien dengan python. Demikian pula, bahasa pemrograman yang berbeda menawarkan klien basis data semacam ini untuk berinteraksi dengan basis data langsung dari program kami.

Dalam program ini, kita akan menggunakan create_engine metode yang memungkinkan kita terhubung dengan database; pastikan untuk mengganti kredensial basis data dalam string yang diberikan agar ini berfungsi. Selanjutnya, kita menggunakan write_frame berfungsi untuk mengekspor tabel yang diekstrak ke dalam database yang terhubung.

engine = create_engine('postgresql+psycopg2://username:password@host:port/database')

sql.write_frame(df, 'table_name', con, flavor='postgresql')

Dan begitu saja, kami dapat mengekspor tabel dari PDF ke dalam database, ini terlihat cukup sederhana dan mudah karena kami telah menggunakan PDF sederhana yang diproses secara elektronik. Untuk mengekstrak tabel dari tabel yang dihasilkan secara non-elektronik, berikut ini adalah teknik pembelajaran mendalam yang populer yang dapat digunakan:

  1. Makalah dengan Kode โ€“ GFTE: Ekstraksi Tabel Keuangan Berbasis Grafik
  2. Makalah dengan Kode โ€“ PubTables-1M: Menuju kumpulan data dan metrik universal untuk melatih dan mengevaluasi model ekstraksi tabel
  3. TableNet: Model Pembelajaran Mendalam untuk deteksi Tabel ujung-ke-ujung dan ekstraksi data Tabular dari Gambar Dokumen yang Dipindai

Masukkan Nanonets: OCR Tingkat Lanjut untuk Tabel PDF ke Konversi Basis Data

Bagian ini akan melihat bagaimana Nanonets dapat membantu kami melakukan tabel ke database dengan cara yang lebih mudah disesuaikan dan lebih mudah.

Nanonetsโ„ข adalah OCR berbasis cloud yang dapat membantu mengotomatiskan entri data manual Anda menggunakan AI. Kami akan memiliki dasbor tempat kami dapat membangun/melatih model OCR kami pada data kami dan mengangkutnya dalam JSON/CSV atau format apa pun yang diinginkan. Berikut adalah beberapa keuntungan menggunakan Nanonets sebagai pemindai dokumen PDF.

Salah satu yang menarik dari Nanonets adalah kesederhanaan yang dibawa oleh layanan ini. Seseorang dapat memilih layanan ini tanpa latar belakang pemrograman apa pun dan dengan mudah mengekstrak data PDF dengan teknologi mutakhir. Berikut ini adalah gambaran singkat tentang betapa mudahnya mengubah PDF menjadi database.

Langkah 1: Buka nanonets.com dan daftar/login.

Konversi Data PDF ke Entri Basis Data PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Langkah 2: Setelah mendaftar, buka area โ€œPilih untuk memulaiโ€, di mana Anda dapat menggunakan ekstraktor yang telah dibuat sebelumnya atau membuatnya sendiri menggunakan kumpulan data Anda. Di sini, kita akan menggunakan pengekstrak faktur pra-bangun Faktur.

Konversi Data PDF ke Entri Basis Data PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Langkah 3: Unggah PDF gambar, untuk melakukan ekstraksi data dan pilih opsi ekstrak otomatis.

Konversi Data PDF ke Entri Basis Data PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Langkah 4: Buat integrasi baru Integrasi MySQL untuk mengekspor data yang diekstrak ke dalam database. Atau, Anda dapat memilih berbagai opsi berdasarkan database pilihan Anda.

Konversi Data PDF ke Entri Basis Data PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Buat koneksi data dan klik tambahkan integrasi. Dengan ini, data akan diekstraksi dan secara otomatis diunggah ke database setiap kali file diunggah. Jika Anda tidak menemukan integrasi yang diperlukan, Anda selalu dapat menggunakan API Nanonets dan menulis skrip sederhana untuk menyelesaikan otomatisasi.

Stempel Waktu:

Lebih dari AI & Pembelajaran Mesin