Ingin mengekstrak data dari dokumen yang dipindai? Mencoba Nanonet™ maju Pemindai OCR berbasis AI untuk mengekstrak dan mengatur informasi dari dokumen yang dipindai secara otomatis.
Pengantar
Ketika dunia telah beralih dari kertas dan tulisan tangan ke dokumen digital untuk kenyamanan, pentingnya mengubah gambar dan dokumen yang dipindai menjadi data yang bermakna telah meroket.
Untuk memenuhi kebutuhan ekstraksi data dokumen yang sangat akurat, banyak fasilitas penelitian dan perusahaan (yaitu, Google, AWS, Nanonets, dll.) berfokus secara mendalam pada teknologi di bidang visi komputer dan Pemrosesan Bahasa Alami (NLP).
Mekarnya teknologi pembelajaran mendalam telah memastikan lompatan besar ke dalam jenis data yang dapat diekstraksi; kita tidak lagi dibatasi dari hanya mengekstrak teks, tetapi juga struktur data lain seperti tabel dan pasangan nilai kunci. Banyak solusi kini menawarkan berbagai produk untuk memenuhi kebutuhan individu dan pemilik bisnis dalam ekstraksi data dokumen.
Artikel ini membahas teknologi terkini yang digunakan untuk ekstraksi data dari dokumen yang dipindai, diikuti dengan tutorial singkat menggunakan Python. Kami juga akan melihat beberapa solusi populer saat ini di pasar yang memberikan penawaran terbaik di bidang ini.
Apa itu Ekstraksi Data?
Ekstraksi data adalah proses mengubah data yang tidak terstruktur menjadi informasi yang dapat ditafsirkan oleh program untuk memungkinkan pemrosesan data lebih lanjut oleh manusia. Di sini kami mencantumkan beberapa jenis data yang paling umum untuk diekstraksi dari dokumen yang dipindai.
Data Teks
Tugas yang paling umum dan paling penting dalam ekstraksi data dari dokumen yang dipindai adalah mengekstraksi teks. Proses ini, meskipun tampak mudah, sebenarnya sangat sulit karena dokumen yang dipindai sering disajikan dalam format gambar. Selain itu, metode ekstraksi sangat tergantung pada jenis teks. Sementara teks hadir dalam format cetak padat sebagian besar waktu, kemampuan untuk mengekstrak teks yang jarang dari dokumen yang dipindai dengan baik atau dari surat tulisan tangan dengan gaya yang bervariasi secara drastis sama pentingnya. Proses semacam itu akan memungkinkan program untuk mengonversi gambar menjadi teks yang disandikan oleh mesin, di mana kita dapat mengaturnya lebih lanjut dari data tidak terstruktur ( tanpa pemformatan tertentu) menjadi data terstruktur untuk analisis lebih lanjut.
Meja
Bentuk tabel adalah pendekatan paling populer untuk penyimpanan data, karena formatnya mudah ditafsirkan dengan mata manusia. Proses mengekstrak tabel dari dokumen yang dipindai memerlukan teknologi di luar deteksi karakter — seseorang harus mendeteksi garis dan fitur visual lainnya untuk melakukan ekstraksi tabel yang tepat dan selanjutnya mengubah informasi tersebut menjadi data terstruktur untuk perhitungan lebih lanjut. Metode visi komputer (dijelaskan secara rinci di bagian berikut) banyak digunakan untuk mencapai ekstraksi tabel akurasi tinggi.
Pasangan Nilai Kunci
Format alternatif yang sering kita adopsi dalam dokumen untuk penyimpanan data adalah pasangan nilai kunci (KVP).
KVP pada dasarnya adalah dua item data — kunci dan nilai — yang dihubungkan bersama sebagai satu. Kunci digunakan sebagai pengidentifikasi unik untuk nilai yang akan diambil. Contoh KVP klasik adalah kamus, di mana kosa kata adalah kuncinya dan definisi yang sesuai adalah nilainya. Pasangan ini, meskipun biasanya tidak diperhatikan, sebenarnya sangat sering digunakan dalam dokumen: pertanyaan dalam survei seperti nama, usia, dan harga item dalam faktur semuanya secara implisit KVP.
Namun, tidak seperti tabel, KVP sering kali ada dalam format yang tidak diketahui dan terkadang bahkan sebagian ditulis tangan. Misalnya, kunci dapat dicetak sebelumnya dalam kotak dan nilainya ditulis tangan saat mengisi formulir. Oleh karena itu, menemukan struktur dasar untuk melakukan ekstraksi KVP secara otomatis adalah proses penelitian yang berkelanjutan bahkan untuk fasilitas dan laboratorium paling canggih sekalipun.
angka-angka
Akhirnya, juga sangat penting untuk mengekstrak atau menangkap data dari angka-angka dalam dokumen yang dipindai. Indikator statistik seperti diagram lingkaran dan diagram batang sering kali menyertakan informasi penting untuk dokumen. Proses ekstraksi data yang baik harus dapat menyimpulkan dari legenda dan angka untuk mengekstrak sebagian data dari angka untuk digunakan lebih lanjut.
Ingin mengekstrak data dari dokumen yang dipindai? Berikan Nanonet™ putaran untuk akurasi yang lebih tinggi, fleksibilitas yang lebih besar, pasca-pemrosesan, dan serangkaian integrasi yang luas!
Teknologi Di Balik Ekstraksi Data
Ekstraksi data berkisar pada dua proses utama: Pengenalan Karakter Optik (OCR) diikuti oleh Pemrosesan Bahasa Alami (NLP).
Ekstraksi OCR adalah proses mengubah gambar teks menjadi teks yang dikodekan mesin, sedangkan yang terakhir adalah analisis kata-kata untuk menyimpulkan makna. Seringkali disertai dengan OCR adalah teknik visi komputer lainnya seperti deteksi kotak dan garis untuk mengekstrak tipe data yang disebutkan di atas seperti tabel dan KVP untuk ekstraksi yang lebih komprehensif.
Peningkatan inti di balik jalur ekstraksi data terkait erat dengan kemajuan dalam pembelajaran mendalam yang berkontribusi besar pada bidang visi komputer dan pemrosesan bahasa alami (NLP).
Apa itu pembelajaran mendalam?
Pembelajaran mendalam, memiliki peran utama di balik hype era kecerdasan buatan, dan terus-menerus didorong ke garis depan dalam berbagai aplikasi. Dalam teknik tradisional, tujuan kami adalah merancang sistem/fungsi yang menghasilkan keluaran dari masukan yang diberikan; pembelajaran mendalam, di sisi lain, bergantung pada input dan output untuk menemukan hubungan antara yang dapat diperluas ke data baru yang tidak terlihat melalui apa yang disebut saraf jaringan.
Jaringan saraf, atau multi-layer perceptron (MLP), adalah arsitektur pembelajaran mesin yang terinspirasi dari cara otak manusia belajar. Jaringan berisi neuron, yang meniru neuron biologis dan "mengaktifkan" ketika diberikan informasi yang berbeda. Kumpulan neuron membentuk lapisan, dan beberapa lapisan ditumpuk bersama untuk membentuk jaringan untuk melayani tujuan prediksi berbagai bentuk (yaitu, klasifikasi gambar atau kotak pembatas untuk deteksi objek).
Di bidang visi komputer, jenis variasi jaringan saraf banyak diterapkan — jaringan saraf convolutional (CNN). Alih-alih lapisan tradisional, CNN mengadopsi kernel convolutional yang meluncur melalui tensor (atau vektor berdimensi tinggi) untuk ekstraksi fitur. Disertai dengan lapisan jaringan tradisional pada akhirnya, CNN sangat berhasil dalam tugas-tugas yang berhubungan dengan gambar, dan selanjutnya membentuk dasar untuk ekstraksi OCR dan deteksi fitur lainnya.
Di sisi lain, NLP bergantung pada kumpulan jaringan lain, yang berfokus pada data deret waktu. Tidak seperti gambar, di mana satu gambar tidak tergantung satu sama lain, prediksi teks dapat sangat diuntungkan jika kata-kata sebelum atau sesudah juga diperhitungkan. Dalam beberapa tahun terakhir, keluarga jaringan, yaitu ingatan jangka pendek yang panjang (LSTM), yang mengambil hasil sebelumnya sebagai input untuk memprediksi hasil saat ini. LSTM bilateral juga sering diadopsi untuk meningkatkan keluaran prediksi, di mana kedua hasil sebelum dan sesudah dipertimbangkan. Namun dalam beberapa tahun terakhir, konsep transformator yang menggunakan mekanisme perhatian mulai meningkat karena fleksibilitasnya yang lebih tinggi yang mengarah ke hasil yang lebih baik daripada jaringan tradisional yang menangani rangkaian waktu berurutan.
Aplikasi Ekstraksi Data
Tujuan utama ekstraksi data adalah untuk mengubah data dari dokumen tidak terstruktur ke format terstruktur, di mana pengambilan teks, gambar, dan struktur data yang sangat akurat dapat sangat membantu untuk analisis numerik dan kontekstual. Analisis ini bisa sangat membantu terutama untuk bisnis:
Bisnis
Perusahaan bisnis dan organisasi besar menangani ribuan dokumen dengan format serupa setiap hari — Bank-bank besar menerima banyak aplikasi yang identik, dan tim peneliti harus menganalisis tumpukan formulir untuk melakukan analisis statistik. Oleh karena itu, otomatisasi langkah awal mengekstrak data dari dokumen secara signifikan mengurangi redundansi sumber daya manusia dan memungkinkan pekerja untuk fokus menganalisis data dan meninjau aplikasi alih-alih memasukkan informasi.
- Memverifikasi Aplikasi — Perusahaan menerima banyak aplikasi, baik tulisan tangan atau hanya melalui formulir aplikasi. Paling sering, aplikasi ini dapat disertai dengan ID pribadi untuk tujuan verifikasi. Dokumen tanda pengenal yang dipindai seperti paspor atau kartu biasanya datang dalam batch dengan format serupa. Oleh karena itu, ekstraktor data yang ditulis dengan baik dapat dengan cepat mengubah data (teks, tabel, gambar, KVP) menjadi teks yang dapat dimengerti mesin, yang secara substansial dapat mengurangi jam kerja pada tugas-tugas ini dan fokus pada pemilihan aplikasi alih-alih ekstraksi.
- Rekonsiliasi Pembayaran — Rekonsiliasi Pembayaran adalah proses membandingkan laporan bank untuk memastikan kecocokan angka antar rekening, yang sangat berkisar pada ekstraksi data dari dokumen — masalah yang menantang bagi perusahaan dengan ukuran yang cukup besar dan berbagai sumber aliran pendapatan. Ekstraksi data dapat memudahkan proses ini dan memungkinkan karyawan untuk fokus pada data yang salah dan mengeksplorasi potensi kejadian penipuan tentang arus kas.
- Analisis Statistik — Umpan balik dari pelanggan atau peserta eksperimen digunakan oleh perusahaan dan organisasi untuk meningkatkan produk dan layanan mereka, dan evaluasi umpan balik yang komprehensif biasanya memerlukan analisis statistik. Namun, data survei mungkin ada dalam berbagai format atau tersembunyi di antara teks dengan berbagai format. Ekstraksi data dapat memudahkan proses dengan menunjukkan data yang jelas dari dokumen dalam batch, memudahkan proses menemukan proses yang berguna, dan pada akhirnya meningkatkan efisiensi.
- Berbagi Rekaman Sebelumnya — Dari perawatan kesehatan hingga beralih layanan bank, industri besar sering kali membutuhkan informasi pelanggan baru yang mungkin sudah ada di tempat lain. Misalnya, pasien yang pindah rumah sakit karena pindah mungkin memiliki catatan medis yang sudah ada sebelumnya yang dapat membantu rumah sakit baru. Dalam kasus seperti itu, perangkat lunak ekstraksi data yang baik sangat berguna karena semua yang diperlukan adalah bagi individu untuk membawa riwayat catatan yang dipindai ke rumah sakit baru agar mereka dapat secara otomatis mengisi semua informasi. Ini tidak hanya akan nyaman, tetapi juga dapat menghindari risiko yang luas terutama dalam industri perawatan kesehatan dari catatan pasien penting yang diabaikan.
Ingin mengekstrak data dari dokumen yang dipindai? Berikan Nanonet™ putaran untuk akurasi yang lebih tinggi, fleksibilitas yang lebih besar, pasca-pemrosesan, dan serangkaian integrasi yang luas!
Tutorial
Untuk memberikan pandangan yang lebih jelas tentang cara melakukan ekstraksi data, kami menunjukkan dua set metode untuk melakukan ekstraksi data dari pemindaian dokumen.
Membangun dari Awal
Seseorang dapat membuat mesin OCR ekstraksi data sederhana melalui mesin PyTesseract sebagai berikut:
try: from PIL import Image
except ImportError: import Image
import pytesseract # If you don't have tesseract executable in your PATH, include the following:
pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
# Example tesseract_cmd = r'C:Program Files (x86)Tesseract-OCRtesseract' # Simple image to string
print(pytesseract.image_to_string(Image.open('test.png'))) # List of available languages
print(pytesseract.get_languages(config='')) # French text image to string
print(pytesseract.image_to_string(Image.open('test-european.jpg'), lang='fra')) # In order to bypass the image conversions of pytesseract, just use relative or absolute image path
# NOTE: In this case you should provide tesseract supported images or tesseract will return error
print(pytesseract.image_to_string('test.png')) # Batch processing with a single file containing the list of multiple image file paths
print(pytesseract.image_to_string('images.txt')) # Timeout/terminate the tesseract job after a period of time
try: print(pytesseract.image_to_string('test.jpg', timeout=2)) # Timeout after 2 seconds print(pytesseract.image_to_string('test.jpg', timeout=0.5)) # Timeout after half a second
except RuntimeError as timeout_error: # Tesseract processing is terminated pass # Get bounding box estimates
print(pytesseract.image_to_boxes(Image.open('test.png'))) # Get verbose data including boxes, confidences, line and page numbers
print(pytesseract.image_to_data(Image.open('test.png'))) # Get information about orientation and script detection
print(pytesseract.image_to_osd(Image.open('test.png'))) # Get a searchable PDF
pdf = pytesseract.image_to_pdf_or_hocr('test.png', extension='pdf')
with open('test.pdf', 'w+b') as f: f.write(pdf) # pdf type is bytes by default # Get HOCR output
hocr = pytesseract.image_to_pdf_or_hocr('test.png', extension='hocr') # Get ALTO XML output
xml = pytesseract.image_to_alto_xml('test.png')
Untuk informasi lebih lanjut mengenai kode, Anda dapat memeriksa resmi mereka dokumentasi.
Dengan kata sederhana, kode mengekstrak data seperti teks dan kotak pembatas dari gambar yang diberikan. Meskipun cukup berguna, mesinnya tidak sekuat yang disediakan oleh solusi canggih karena kekuatan komputasinya yang besar untuk pelatihan.
Menggunakan Google Dokumen API
def async_detect_document(gcs_source_uri, gcs_destination_uri):
"""OCR with PDF/TIFF as source files on GCS""" import json import re from google.cloud import vision from google.cloud import storage # Supported mime_types are: 'application/pdf' and 'image/tiff' mime_type = 'application/pdf' # How many pages should be grouped into each json output file. batch_size = 2 client = vision.ImageAnnotatorClient() feature = vision.Feature( type_=vision.Feature.Type.DOCUMENT_TEXT_DETECTION) gcs_source = vision.GcsSource(uri=gcs_source_uri) input_config = vision.InputConfig( gcs_source=gcs_source, mime_type=mime_type) gcs_destination = vision.GcsDestination(uri=gcs_destination_uri) output_config = vision.OutputConfig( gcs_destination=gcs_destination, batch_size=batch_size) async_request = vision.AsyncAnnotateFileRequest( features=[feature], input_config=input_config, output_config=output_config) operation = client.async_batch_annotate_files( requests=[async_request]) print('Waiting for the operation to finish.') operation.result(timeout=420) # Once the request has completed and the output has been # written to GCS, we can list all the output files. storage_client = storage.Client() match = re.match(r'gs://([^/]+)/(.+)', gcs_destination_uri) bucket_name = match.group(1) prefix = match.group(2) bucket = storage_client.get_bucket(bucket_name) # List objects with the given prefix. blob_list = list(bucket.list_blobs(prefix=prefix)) print('Output files:') for blob in blob_list: print(blob.name) # Process the first output file from GCS. # Since we specified batch_size=2, the first response contains # the first two pages of the input file. output = blob_list[0] json_string = output.download_as_string() response = json.loads(json_string) # The actual response for the first page of the input file. first_page_response = response['responses'][0] annotation = first_page_response['fullTextAnnotation'] # Here we print the full text from the first page. # The response contains more information: # annotation/pages/blocks/paragraphs/words/symbols # including confidence scores and bounding boxes print('Full text:n') print(annotation['text'])
Pada akhirnya, AI dokumen Google memungkinkan Anda mengekstrak banyak informasi dari dokumen dengan akurasi tinggi. Selain itu, layanan ini juga ditawarkan untuk penggunaan khusus, termasuk ekstraksi teks untuk gambar normal dan liar.
Silakan lihat di sini untuk lebih.
Solusi Saat Ini Menawarkan Ekstraksi Data
Selain perusahaan besar dengan API untuk ekstraksi data dokumen, ada beberapa solusi yang memberikan akurasi tinggi OCR PDF jasa. Kami menyajikan beberapa opsi PDF OCR yang berspesialisasi dalam berbagai aspek, serta beberapa prototipe penelitian terbaru yang tampaknya memberikan hasil yang menjanjikan*:
*Catatan Samping: Ada beberapa layanan OCR yang ditargetkan untuk tugas-tugas seperti gambar di alam liar. Kami melewatkan layanan tersebut karena saat ini kami hanya berfokus pada pembacaan dokumen PDF.
- API Google — Sebagai salah satu penyedia layanan online terbesar, Google menawarkan hasil yang menakjubkan dalam ekstraksi dokumen dengan teknologi visi komputer perintis mereka. Seseorang dapat menggunakan layanan mereka secara gratis jika penggunaannya cukup rendah, tetapi harga akan meningkat seiring dengan peningkatan panggilan API.
- Pembaca Mendalam — Deep Reader adalah karya penelitian yang diterbitkan di ACCV Conference 2019. Ini menggabungkan beberapa arsitektur jaringan canggih untuk melakukan tugas-tugas seperti pencocokan dokumen, pengambilan teks, dan denoising gambar. Ada fitur tambahan seperti tabel dan ekstraksi pasangan nilai kunci yang memungkinkan data diambil dan disimpan secara terorganisir.
- Nanonets ™ — Dengan tim pembelajaran mendalam yang sangat terampil, Nanonets™ PDF OCR sepenuhnya template dan aturan independen. Oleh karena itu, Nanonets™ tidak hanya dapat bekerja pada jenis PDF tertentu, tetapi juga dapat diterapkan pada jenis dokumen apa pun untuk pengambilan teks.
Ingin mengekstrak data dari dokumen yang dipindai? Berikan Nanonet™ putaran untuk akurasi yang lebih tinggi, fleksibilitas yang lebih besar, pasca-pemrosesan, dan serangkaian integrasi yang luas!
Kesimpulan
Sebagai penutup, artikel ini menyajikan penjelasan menyeluruh terhadap ekstraksi data dari dokumen yang dipindai, termasuk tantangan di baliknya dan teknologi yang diperlukan untuk proses ini.
Dua tutorial dari metode yang berbeda disajikan, dan solusi saat ini yang menawarkannya di luar kotak juga disajikan untuk referensi.
- 2019
- Tentang Kami
- Mutlak
- Akun
- tepat
- Mencapai
- tambahan
- Tambahan
- maju
- uang muka
- AI
- algoritma
- Semua
- sudah
- alternatif
- analisa
- analisis
- Lain
- api
- Lebah
- Aplikasi
- aplikasi
- pendekatan
- arsitektur
- sekitar
- artikel
- buatan
- kecerdasan buatan
- perhatian
- Otomatisasi
- tersedia
- AWS
- latar belakang
- Bank
- Bank
- dasar
- makhluk
- TERBAIK
- Luar
- Terbesar
- batas
- Kotak
- membangun
- bisnis
- bisnis
- Kartu-kartu
- kasus
- Uang tunai
- arus kas
- tertentu
- tantangan
- menantang
- Charts
- Pembayaran
- klasik
- awan
- CNN
- kode
- bagaimana
- Umum
- Perusahaan
- perusahaan
- sama sekali
- menyelesaikan
- luas
- komputasi
- komputer
- konsep
- Konferensi
- kepercayaan
- terhubung
- terus-menerus
- mengandung
- berkontribusi
- kenyamanan
- Mudah
- konversi
- Core
- Perusahaan
- Sesuai
- bisa
- sangat penting
- terbaru
- Sekarang
- pelanggan
- pelanggan
- data
- pengolahan data
- penyimpanan data
- transaksi
- dijelaskan
- Mendesain
- rinci
- Deteksi
- berbeda
- sulit
- digital
- dokumen
- mudah
- efisiensi
- karyawan
- Mesin
- Teknik
- terutama
- dasarnya
- perkiraan
- dll
- evaluasi
- peristiwa
- contoh
- Kecuali
- eksperimen
- menyelidiki
- luas
- Ekstrak
- keluarga
- Fitur
- Fitur
- umpan balik
- Fields
- temuan
- Pertama
- keluwesan
- aliran
- Fokus
- terfokus
- berfokus
- berfokus
- berikut
- garis terdepan
- bentuk
- format
- bentuk
- Gratis
- Perancis
- Memenuhi
- penuh
- lebih lanjut
- tujuan
- baik
- lebih besar
- sangat
- Penanganan
- hands-on
- kepala
- kesehatan
- industri kesehatan
- bermanfaat
- di sini
- High
- lebih tinggi
- sangat
- sejarah
- rumah sakit
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTTPS
- manusia
- Sumber Daya Manusia
- Manusia
- gambar
- pentingnya
- penting
- memperbaiki
- memasukkan
- Termasuk
- Pendapatan
- Meningkatkan
- sendiri-sendiri
- individu
- industri
- industri
- informasi
- memasukkan
- terinspirasi
- Intelijen
- isu
- IT
- Pekerjaan
- kunci
- kunci-kunci
- Labs
- bahasa
- Bahasa
- besar
- terkemuka
- BELAJAR
- pengetahuan
- baris
- Daftar
- Panjang
- mesin
- Mesin belajar
- utama
- Mayoritas
- pria
- cara
- Pasar
- Cocok
- sesuai
- medis
- metode
- lebih
- paling
- Paling Populer
- bergerak
- beberapa
- yaitu
- Alam
- kebutuhan
- jaringan
- jaringan
- normal
- nomor
- banyak sekali
- menawarkan
- ditawarkan
- menawarkan
- Penawaran
- Penawaran
- resmi
- terus-menerus
- secara online
- operasi
- Opsi
- urutan
- organisasi
- terorganisir
- Lainnya
- pemilik
- peserta
- pembayaran
- melakukan
- periode
- pribadi
- Kepeloporan
- Populer
- potensi
- kekuasaan
- meramalkan
- ramalan
- menyajikan
- cukup
- sebelumnya
- harga pompa cor beton mini
- proses
- proses
- pengolahan
- Produk
- program
- program
- menjanjikan
- memberikan
- menyediakan
- tujuan
- segera
- RE
- Pembaca
- Bacaan
- menerima
- rujuk
- arsip
- menurunkan
- mengenai
- hubungan
- permintaan
- membutuhkan
- wajib
- membutuhkan
- penelitian
- Sumber
- tanggapan
- Hasil
- kembali
- risiko
- pemindaian
- detik
- layanan
- Layanan
- set
- beberapa
- Pendek
- jangka pendek
- mirip
- Sederhana
- sejak
- Ukuran
- Perangkat lunak
- padat
- Solusi
- beberapa
- khusus
- Berputar
- state-of-the-art
- Laporan
- statistik
- penyimpanan
- aliran
- kuat
- tersusun
- besar
- sukses
- Didukung
- Survei
- ditargetkan
- tugas
- tim
- teknik
- Teknologi
- Teknologi
- uji
- Dunia
- karena itu
- ribuan
- Melalui
- waktu
- kali
- bersama
- Nada
- terhadap
- tradisional
- Pelatihan
- tutorial
- jenis
- memahami
- unik
- menggunakan
- biasanya
- nilai
- berbagai
- Verifikasi
- View
- penglihatan
- apakah
- sementara
- dalam
- tanpa
- kata
- Kerja
- pekerja
- dunia
- akan
- XML
- tahun