Apa itu pemrosesan dokumen?
Pemrosesan dokumen adalah proses otomatisasi ekstraksi data terstruktur dari dokumen. Ini bisa untuk dokumen apa pun, katakanlah faktur, resume, kartu identitas, dll. Bagian yang menantang di sini bukan hanya OCR. Ada banyak opsi yang tersedia di luar sana dengan biaya rendah yang dapat mengekstrak teks dan memberi Anda lokasi. Tantangan sebenarnya adalah melabeli potongan teks ini secara akurat dan otomatis.
Dampak Bisnis Pemrosesan Dokumen
Beberapa industri sangat bergantung pada pemrosesan dokumen untuk operasi sehari-hari mereka. Organisasi keuangan memerlukan akses ke pengarsipan SEC, pengarsipan asuransi, perusahaan E-Commerce atau Rantai Pasokan mungkin memerlukan akses ke faktur yang sedang digunakan, daftarnya terus berlanjut. Keakuratan informasi ini sama pentingnya dengan penghematan waktu, itulah sebabnya kami selalu merekomendasikan penggunaan metode pembelajaran mendalam lanjutan yang lebih menggeneralisasi, dan lebih akurat.
Menurut laporan ini oleh PwC, [link] bahkan jumlah ekstraksi data terstruktur yang paling sederhana pun dapat membantu menghemat 30-50% waktu karyawan yang dihabiskan untuk menyalin dan menempelkan data secara manual dari PDF ke spreadsheet excel. Model seperti LayoutLM tentu saja tidak sederhana, mereka telah dibangun sebagai agen yang sangat cerdas yang mampu mengekstraksi data yang akurat dalam skala besar, di berbagai kasus penggunaan. Bahkan dengan banyak pelanggan kami sendiri, kami telah mengurangi waktu yang diperlukan untuk mengekstrak data secara manual dari 20 menit per dokumen menjadi kurang dari 10 detik. Itu adalah perubahan besar, memungkinkan pekerja menjadi lebih produktif, dan untuk hasil yang lebih tinggi secara keseluruhan.
Jadi di mana AI yang mirip dengan LayoutLM dapat diterapkan? Di Nanonets, kami telah menggunakan teknologi tersebut untuk
dan banyak kasus penggunaan lainnya.
Mengapa LayoutLM?
Bagaimana model pembelajaran mendalam memahami apakah bagian teks yang diberikan adalah deskripsi item dalam faktur, atau nomor faktur? Sederhananya, bagaimana model mempelajari cara menetapkan label dengan benar?
Salah satu metode adalah dengan menggunakan penyematan teks dari model bahasa besar seperti BERT atau GPT-3 dan menjalankannya melalui pengklasifikasi – meskipun ini tidak terlalu efektif. Ada banyak informasi yang tidak dapat diukur hanya dengan menggunakan teks. Atau, seseorang dapat menggunakan informasi berbasis gambar. Ini dicapai dengan menggunakan model R-CNN dan R-CNN yang Lebih Cepat. Namun, ini masih belum sepenuhnya memanfaatkan informasi yang tersedia dalam dokumen. Pendekatan lain yang digunakan adalah dengan Graph Convolutional Neural Networks, yang menggabungkan informasi lokasi dan tekstual, tetapi tidak memperhitungkan informasi gambar.
Jadi bagaimana kita menggunakan ketiga dimensi informasi, yaitu teks, gambar, dan lokasi dari teks yang diberikan juga? Di situlah model seperti LayoutLM masuk. Meskipun merupakan bidang penelitian yang aktif selama bertahun-tahun sebelumnya, LayoutLM adalah salah satu model pertama yang berhasil menggabungkan bagian-bagian untuk membuat model tunggal yang melakukan pelabelan menggunakan informasi posisi, informasi berbasis teks, dan juga informasi gambar.
Tutorial LayoutLM
Artikel ini mengasumsikan bahwa Anda memahami apa itu model bahasa. Jika tidak, jangan khawatir, kami menulis artikel tentang itu juga! Jika Anda ingin mempelajari lebih lanjut tentang apa itu model transformator, dan apa perhatiannya, di sini adalah artikel yang luar biasa oleh Jay Alammar.
Dengan asumsi kita telah menyelesaikan masalah ini, mari kita mulai dengan tutorialnya. Kami akan menggunakan kertas LayoutLM asli sebagai referensi utama.
Ekstraksi Teks OCR
Hal pertama yang kita lakukan dengan dokumen adalah mengekstrak informasi berbasis teks dari dokumen, dan menemukan lokasinya masing-masing. Berdasarkan lokasi, kami merujuk pada sesuatu yang disebut 'kotak pembatas'. Kotak pembatas adalah persegi panjang yang merangkum potongan teks pada halaman.
Dalam kebanyakan kasus, diasumsikan bahwa kotak pembatas memiliki asal di sudut kiri atas, dan bahwa sumbu x positif diarahkan dari titik asal ke arah kanan halaman, dan sumbu y positif diarahkan dari titik asal ke bagian bawah halaman, dengan satu piksel dianggap sebagai unit pengukuran.
Penyematan Bahasa dan Lokasi
Selanjutnya, kita menggunakan lima lapisan embedding yang berbeda. Satu, adalah untuk mengkodekan informasi terkait bahasa - yaitu teks embeddings.
Empat lainnya dicadangkan untuk penyematan lokasi. Dengan asumsi bahwa kita mengetahui nilai xmin, ymin, xmax dan ymax, kita dapat menentukan seluruh kotak pembatas (jika Anda tidak dapat memvisualisasikannya, ini tautan untuk Anda). Koordinat ini dilewatkan melalui lapisan penyematan masing-masing untuk mengkodekan informasi lokasi.
Lima penyematan – satu untuk teks dan empat untuk koordinat – kemudian ditambahkan untuk membuat nilai akhir penyematan yang dilewatkan melalui LayoutLM. Outputnya disebut sebagai embedding LayoutLM.
Penyematan Gambar
Oke, jadi kami telah berhasil menemukan teks dan informasi terkait lokasi dengan menggabungkan embeddings mereka dan meneruskannya melalui model bahasa. Sekarang bagaimana kita melakukan proses menggabungkan informasi terkait gambar di dalamnya?
Saat informasi teks dan tata letak sedang dikodekan, secara paralel, kami menggunakan Faster R-CNN untuk mengekstrak bidang teks yang terkait dengan dokumen. Faster R-CNN adalah model citra yang digunakan untuk pendeteksian objek. Dalam kasus kami, kami menggunakannya untuk mendeteksi potongan teks yang berbeda (dengan asumsi setiap frasa adalah objek) dan kemudian meneruskan gambar tersegmentasi melalui lapisan yang terhubung sepenuhnya untuk membantu menghasilkan embeddings untuk gambar juga.
Penyematan LayoutLM serta penyematan gambar digabungkan untuk membuat penyematan akhir, yang kemudian dapat digunakan untuk melakukan pemrosesan hilir.
Tata Letak Pra-pelatihanLM
Semua hal di atas masuk akal hanya jika kita memahami metode pelatihan LayoutLM. Lagi pula, tidak peduli jenis koneksi apa yang kita buat di jaringan saraf, sampai dan kecuali jika dilatih dengan tujuan pembelajaran yang tepat, itu tidak cukup cerdas. Penulis LayoutLM ingin menggunakan metode yang serupa dengan yang digunakan untuk BERT pra-pelatihan.
Model Bahasa Visual Bertopeng (MVLM)
Untuk membantu model mempelajari teks apa yang mungkin ada di lokasi tertentu, penulis secara acak menutupi beberapa token teks sambil mempertahankan informasi dan penyematan terkait lokasi. Ini memungkinkan LayoutLM untuk melampaui Pemodelan Bahasa Bertopeng sederhana, dan membantu mengaitkan penyematan teks dengan modalitas terkait lokasi juga.
Klasifikasi Dokumen Multi-label (MDC)
Menggunakan semua informasi dalam dokumen untuk mengklasifikasikannya ke dalam kategori membantu model memahami informasi apa yang relevan dengan kelas dokumen tertentu. Namun, penulis mencatat bahwa untuk kumpulan data yang lebih besar, data pada kelas dokumen mungkin tidak tersedia. Oleh karena itu, mereka telah memberikan dasar hasil baik pelatihan MVLM saja, maupun pelatihan MVLM + MDC.
Fine Tuning LayoutLM untuk Tugas Hilir
Ada beberapa tugas hilir yang dapat dijalankan dengan LayoutLM. Kami akan membahas yang penulis lakukan.
Pemahaman Formulir
Tugas ini memerlukan penautan jenis label ke bagian teks tertentu. Dengan ini, kami dapat mengekstrak data terstruktur dari dokumen apa pun. Mengingat keluaran akhir, yaitu LayouLM embeddings + Image embeddings, mereka dilewatkan melalui lapisan yang terhubung sepenuhnya dan kemudian melewati softmax untuk memprediksi probabilitas kelas untuk label bagian teks tertentu.
Penerimaan Pemahaman
Dalam tugas ini, beberapa slot informasi dibiarkan kosong pada tanda terima, dan model harus memposisikan potongan teks dengan benar ke slot masing-masing.
Klasifikasi Gambar Dokumen
Informasi dari teks dan gambar dokumen digabungkan untuk membantu memahami kelas dokumen hanya dengan melewatkannya melalui lapisan softmax.
Tata Letak HuggingfaceLM
Salah satu alasan utama LayoutLM banyak dibahas adalah karena modelnya open source beberapa waktu lalu. Dia tersedia di Memeluk Wajah, jadi menggunakan LayoutLM sekarang jauh lebih mudah.
Sebelum kita membahas secara spesifik tentang bagaimana Anda dapat menyempurnakan LayoutLM untuk kebutuhan Anda sendiri, ada beberapa hal yang perlu dipertimbangkan.
Menginstal Perpustakaan
Untuk menjalankan LayoutLM, Anda memerlukan perpustakaan transformer dari Hugging Face, yang pada gilirannya bergantung pada perpustakaan PyTorch. Untuk menginstalnya (jika belum diinstal), jalankan perintah berikut
Pada kotak pembatas
Untuk membuat skema embedding yang seragam terlepas dari ukuran gambar, koordinat kotak pembatas dinormalisasi pada skala 1000
konfigurasi
Dengan menggunakan kelas transformers.LayoutLMConfig, Anda dapat mengatur ukuran model agar paling sesuai dengan kebutuhan Anda, karena model ini biasanya berat dan membutuhkan sedikit daya komputasi. Menyetelnya ke model yang lebih kecil mungkin membantu Anda menjalankannya secara lokal. Kamu bisa pelajari lebih lanjut tentang kelas di sini.
LayoutLM untuk Klasifikasi Dokumen (Link)
Jika Anda ingin melakukan klasifikasi dokumen, Anda memerlukan kelas transformers.LayoutLMForSequenceClassification. Urutan di sini adalah urutan teks dari dokumen yang telah Anda ekstrak. Berikut adalah contoh kode kecil dari Hugging Face.co yang akan menjelaskan cara menggunakannya
LayoutLM untuk Pelabelan Teks (Link)
Untuk melakukan pelabelan semantik, yaitu menetapkan label ke bagian teks yang berbeda dalam dokumen, Anda memerlukan kelas transformers.LayoutLMForTokenClassification. Anda dapat menemukan detail lebih lanjut di sama disini.Berikut adalah contoh kode kecil bagi Anda untuk melihat cara kerjanya untuk Anda
Beberapa Hal yang Perlu Diperhatikan tentang Memeluk Wajah LayoutLM
- Saat ini, model Hugging Face LayoutLM menggunakan perpustakaan sumber terbuka Tesseract untuk ekstraksi teks, yang tidak terlalu akurat. Anda mungkin ingin mempertimbangkan untuk menggunakan alat OCR berbayar yang berbeda seperti AWS Textract atau Google Cloud Vision
- Model yang ada hanya menyediakan model bahasa, yaitu embedding LayoutLM, dan bukan lapisan akhir yang menggabungkan fitur visual. Tata LetakLMv2 (dibahas di bagian selanjutnya) menggunakan perpustakaan Detektor untuk mengaktifkan penyematan fitur visual juga.
- Klasifikasi label terjadi pada tingkat kata, jadi terserah mesin ekstraksi teks OCR untuk memastikan semua kata dalam suatu bidang berada dalam urutan yang berkelanjutan, atau satu bidang dapat diprediksi sebagai dua.
Tata LetakLMv2
LayoutLM muncul sebagai sebuah revolusi dalam cara data diekstraksi dari dokumen. Namun, sejauh penelitian pembelajaran mendalam berjalan, model hanya meningkat lebih dan lebih dari waktu ke waktu. LayoutLM juga digantikan oleh LayoutLMv2, di mana penulis membuat beberapa perubahan signifikan pada cara model dilatih.
Termasuk Penyematan Spasial 1-D dan Penyematan Token Visual
LayoutLMv2 menyertakan informasi mengenai lokasi relatif 1-D, serta informasi terkait gambar secara keseluruhan. Alasan mengapa ini penting adalah karena tujuan pelatihan baru, yang sekarang akan kita bahas
Tujuan Pelatihan Baru
LayoutLMv2 menyertakan beberapa tujuan pelatihan yang dimodifikasi. Ini adalah sebagai berikut:
- Pemodelan Bahasa Visual Bertopeng: Ini sama seperti di LayoutLM
- Perataan Gambar Teks: Teks dicakup secara acak dari gambar, sementara token teks disediakan untuk model. Untuk setiap token, model harus mempelajari apakah teks yang diberikan tercakup atau tidak. Melalui ini, model dapat menggabungkan informasi dari modalitas visual dan tekstual
- Pencocokan Gambar Teks: Model diminta untuk memeriksa apakah gambar yang diberikan sesuai dengan teks yang diberikan. Sampel negatif dimasukkan sebagai gambar palsu, atau tidak ada penyematan gambar sama sekali. Hal ini dilakukan untuk memastikan model belajar lebih banyak tentang bagaimana teks dan gambar terkait.
Dengan menggunakan metode dan penyematan baru ini, model ini mampu mencapai skor F1 yang lebih tinggi di hampir semua set data pengujian sebagai LayoutLM.
- Tentang Kami
- mengakses
- Akun
- tepat
- dicapai
- di seluruh
- aktif
- maju
- agen
- AI
- Semua
- sudah
- Meskipun
- jumlah
- Lain
- pendekatan
- DAERAH
- sekitar
- artikel
- penulis
- tersedia
- AWS
- dasar
- makhluk
- TERBAIK
- Bit
- Kotak
- Kartu-kartu
- kasus
- menantang
- klasifikasi
- awan
- kode
- bergabung
- perusahaan
- menghitung
- konfigurasi
- Koneksi
- pertimbangan
- Biaya
- bisa
- pelanggan
- data
- hari
- Meskipun
- Deteksi
- MELAKUKAN
- berbeda
- dokumen
- turun
- e-commerce
- Efektif
- memungkinkan
- menetapkan
- Excel
- Menghadapi
- lebih cepat
- Fitur
- Fitur
- Fed
- keuangan
- Pertama
- berikut
- menghasilkan
- GitHub
- membantu
- membantu
- di sini
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTTPS
- gambar
- Dampak
- penting
- memperbaiki
- termasuk
- industri
- informasi
- asuransi
- Cerdas
- IT
- pelabelan
- Label
- bahasa
- lebih besar
- BELAJAR
- pengetahuan
- Tingkat
- Perpustakaan
- LINK
- Daftar
- lokal
- tempat
- lokasi
- manual
- besar-besaran
- sesuai
- hal
- model
- model
- paling
- jaringan
- jaringan
- Buka
- open source
- Operasi
- Opsi
- urutan
- organisasi
- Lainnya
- dibayar
- kertas
- bagian
- kekuasaan
- proses
- menyediakan
- PWC
- alasan
- sarankan
- melaporkan
- wajib
- Persyaratan
- penelitian
- Hasil
- lanjut
- Run
- Skala
- skema
- SEC
- rasa
- set
- pengaturan
- bergeser
- penting
- mirip
- Sederhana
- Ukuran
- kecil
- pintar
- So
- sesuatu
- mulai
- sukses
- menyediakan
- supply chain
- tugas
- Teknologi
- uji
- Melalui
- waktu
- token
- Token
- puncak
- Pelatihan
- memahami
- menggunakan
- Penggunaan
- nilai
- Apa
- apakah
- kata
- Kerja
- pekerja
- tahun