Metadata Buku dan Pengambilan Sampul Menggunakan OCR dan Google Books API
Dengan KNIME, penggalian informasi penting dari gambar menjadi semudah ABC.
By Roberto Cadili, Ilmuwan Data, KNIME & Lada Rudnitckaia, Ilmuwan Data, KNIME
Gambar 1: Contoh pemberitahuan edisi buku di mana informasi dapat diekstraksi berkat OCR.
Sering kali, data mentah yang kami butuhkan untuk proyek ilmu data kami tidak diatur dalam tabel yang rapi, terstruktur dengan baik, dan berwawasan luas. Sebaliknya, ini terkadang disimpan sebagai teks dalam dokumen yang dipindai. Kata-kata dalam dokumen kemudian harus diekstraksi satu per satu untuk membentuk sel data berformat teks. Ini adalah tugas yang dilakukan oleh Optical Character Recognition (OCR).
Saat Anda membaca kata-kata dalam artikel ini, baik teks maupun angka, mata Anda mampu mengolahnya dengan mengenali pola terang dan gelap yang membentuk karakter (misalnya huruf, angka, tanda baca, dll.). Otak Anda kemudian menguraikan kombinasi karakter dan pola yang berbeda untuk memahami arti kata-kata tersebut. Dalam pengertian itu, mata dan otak Anda adalah mesin OCR paling canggih dan halus yang dapat Anda bayangkan, dan bekerja tanpa Anda sadari.
Komputer memiliki kemampuan serupa, tetapi mereka harus mengatasi batasan penting: ketiadaan mata. Jika kita ingin komputer melihat dan membaca dokumen teks fisik, kita perlu memasukkan file grafik yang dibuat dengan pemindai optik atau kamera digital. Sejauh menyangkut komputer, tidak ada perbedaan antara dokumen yang diperoleh dengan salah satu opsi tersebut dan foto Menara Eiffel: keduanya dianggap sebagai kumpulan kotak berwarna yang tidak berarti — juga dikenal sebagai piksel — yang merupakan gambar grafis komputer apa pun. Dengan demikian, yang terakhir hanyalah gambaran dari teks yang ingin kita baca daripada teks itu sendiri.
Di sinilah OCR bisa berguna. Teknologi canggih ini mampu mengekstrak data yang dicetak, diketik, atau ditulis tangan, baik itu faktur, kartu nama, teks hukum, atau cetakan, dan mengubahnya menjadi format digital yang dapat dicari dan diedit. Meskipun selama bertahun-tahun OCR telah dianggap sebagai layanan mahal, yang hanya mampu dibeli oleh sedikit perusahaan besar, sejak pertengahan 2000-an dan seterusnya, biayanya secara bertahap turun sementara akurasi dan kemampuannya telah berevolusi untuk mendukung hari ini beberapa ratus bahasa dan pengkodean karakter. , dari UTF-8 ke GB2312.
Manfaat untuk dapat mencari dan mengekstrak teks dari gambar bisa sangat berharga. Misalnya, dalam industri hukum atau akuntansi, ini dapat menghemat biaya dan waktu yang signifikan, karena memungkinkan pengambilan sebagian teks atau angka dalam artikel atau laporan keuangan dalam hitungan detik. Membandingkan proses ini dengan biaya mempekerjakan sekelompok orang untuk membaca ribuan dokumen hanya untuk menemukan satu informasi penting memberikan gambaran tentang bagaimana OCR dapat menguntungkan bisnis.
Baru-baru ini, teknologi OCR sedang mengalami revolusi diam-diam karena penyedia layanan ini menggabungkannya dengan AI. Akibatnya, tidak hanya data yang diambil, dibuat dapat dicari dan diedit, tetapi sistem AI benar-benar memahami konten untuk melakukan tugas tertentu. Misalnya, setelah OCRing teks, AI dapat menyediakan terjemahannya menggunakan terjemahan mesin saraf dengan sedikit campur tangan manusia. Contoh klasik lainnya berasal dari bagian audit, di mana faktur palsu dapat dikenali setelah OCR konten dokumen pdf, menggunakan teknik deteksi outlier. Dan seterusnya. Sinergi ini menggabungkan yang terbaik dari kedua dunia untuk merampingkan proses dan meningkatkan produktivitas untuk bisnis dan klien.
Dalam kasus penggunaan yang dijelaskan dalam artikel ini, OCR digunakan untuk mengidentifikasi buku dan kemudian mengambil metadata buku dari penyimpanan Google Buku.
Lebih khusus lagi, kita akan melihat:
- Bagaimana OCR dapat dilakukan di Platform Analisis KNIME.
- Bagaimana kami dapat mengintegrasikan prosesor OCR KNIME dan Google Books API untuk kasus penggunaan pengambilan metadata dan sampul buku.
OCR di Platform Analitik KNIME
OCRing gambar yang berisi teks di KNIME adalah tugas yang sangat mudah. Yang diperlukan hanyalah menginstal Pemrosesan Gambar KNIME — Integrasi Tess4J ekstensi di lokal Anda Platform Analisis KNIME, dan untuk menarik & melepas Tess4J node ke editor alur kerja Anda.
Node Tess4J mengintegrasikan Pustaka Tesseract OCR, salah satu prosesor OCR sumber terbuka yang paling banyak digunakan dan akurat. Tesseract awalnya dikembangkan sebagai perangkat lunak berpemilik oleh Hewlett-Packard Laboratories pada awal 1990-an dan kemudian dijadikan open source pada tahun 2005. Sejak saat itu Google mengadopsi proyek tersebut dan mensponsori pengembangannya.
Node Tess4J berjalan pada Tesseract 3, yang bekerja dengan mengenali pola karakter dalam prosedur dua jalur.
- Pada lintasan pertama, mesin mencoba mengenali setiap karakter individu. Ini kemudian meneruskan karakter yang dikenali dengan keyakinan tinggi pada umpan pertama ke pengklasifikasi adaptif sebagai data pelatihan. Dengan cara ini, pengklasifikasi adaptif memiliki kesempatan untuk mempelajari cara mengenali teks berikutnya dengan lebih akurat.
- Namun, mungkin saja pengklasifikasi adaptif terlambat mempelajari informasi yang berguna untuk memberikan kontribusi yang berarti. Untuk mengatasi masalah ini dan memanfaatkan pengetahuan yang diperoleh oleh pengklasifikasi adaptif, mesin mengoperasikan lintasan kedua di mana karakter yang tidak dikenali dengan cukup baik akan dikenali lagi [1].
Tesseract 3 menangani karakter Unicode apa pun (dikodekan dengan UTF-8) dan dapat memproses teks dalam berbagai bahasa dan tata letak penulisan: kiri-ke-kanan (mis., Inggris, Italia, Rusia, dll.), kanan-ke-kiri (mis., Arab, Ibrani, Urdu dll) dan top-to-bottom (misalnya, Jepang, Korea, Cina, dll) [2].
Penolakan. Pengguna Mac saat ini tidak dapat menggunakan node Tess4J. Pengembang KNIME bekerja untuk mengembalikan kelancaran fungsi.
Kasus Penggunaan: Mengambil Metadata dan Sampul Buku
Sekarang setelah kita mendapatkan pemahaman dasar tentang cara kerja OCR di KNIME Analytics Platform, mari kita lihat kasus penggunaan yang menarik. Misalkan kita telah mengumpulkan gambar yang mengilustrasikan pemberitahuan edisi beberapa buku dan dengan informasi ini kita ingin mengambil metadata dan sampul buku. Data yang diambil kemudian dapat digunakan, misalnya, untuk membangun perpustakaan digital yang disesuaikan dan melatih sistem rekomendasi buku.
Alur kerja pada Gambar 2 mencakup semua langkah: mulai dari pembacaan gambar, OCRing, pemrosesan teks, dan ekstraksi referensi ISBN, hingga metadata buku dan pengambilan sampul serta visualisasi. Mari kita lihat langkah-langkah yang berbeda secara rinci.
Gambar 2: Ini alur kerja melakukan tugas OCR sederhana pada pemberitahuan edisi buku dan mengambil metadata dan sampul buku menggunakan Google Books API.
1 — Membaca Data Gambar
Langkah pertama adalah mengimpor gambar pemberitahuan edisi buku ke KNIME. Pemberitahuan edisi adalah halaman dalam buku yang berisi informasi tentang edisi saat ini, seperti pemberitahuan hak cipta, pemberitahuan hukum, informasi publikasi, riwayat pencetakan, dan kode ISBN (Gambar 1).
Metanode "Baca data gambar" menanganinya dengan cara yang mudah dan terprogram (Gambar 3). Kami mengidentifikasi lokasi penyimpanan file gambar dengan Daftar File/Folder node dan menggunakan Pembaca Gambar (Tabel) simpul untuk mengimpor gambar dengan anggun. Di simpul Pembaca Gambar (Tabel), kita hanya perlu menentukan "Kolom Input File", yaitu kolom dengan jalur ke file tempat gambar kita disimpan. Semua konfigurasi lainnya dapat dibiarkan sebagai default.
Pembaca Gambar (Tabel) adalah bagian dari Pemrosesan Gambar KNINE ekstensi dan, seperti node lain dalam ekstensi ini, ia menawarkan tampilan interaktif yang berisi gambar dan metadatanya hanya dengan mengklik kanan pada node, memilih "View: Image Viewer", dan mengklik dua kali pada gambar apa pun di tampilan tabel.
Gambar 3: Di dalam metanode "Baca data gambar". Node Pembaca Gambar (Tabel) mengimpor gambar ke dalam alur kerja dan memungkinkan kita menjelajahinya secara interaktif dalam tampilannya.
2 — OKR
Setelah membaca file gambar pemberitahuan edisi buku, kami dapat meng-OCR-nya.
Konfigurasi node Tess4J sangat sederhana dan hanya memerlukan beberapa klik (Gambar 4). Dalam Settings tab, node menawarkan kemungkinan untuk mengoreksi setiap rotasi atau gambar miring dengan memilih kotak "Deskew input images" di bagian "Preprocessing" dari dialog konfigurasi. Biasanya disarankan untuk melakukannya, karena file grafik mungkin tidak disejajarkan dengan benar. Selain itu, node Tess4J secara otomatis menghasilkan gambar biner di balik tudung.
Selanjutnya, kita pilih “Tessdata Path”. Secara default, ini diatur ke "Gunakan Internal", yang kemudian memungkinkan kita memilih bahasa teks yang ingin kita proses. Dalam konfigurasi ini, bahasa Inggris adalah bahasa default, tetapi simpul Tess4J mendukung bahasa alami lainnya seperti Denmark, Italia, Spanyol, Rusia, Yunani, Slovakia, Jerman, dan Prancis. Perlu disebutkan bahwa dengan memilih "Gunakan Eksternal", kami dapat memperluas kemampuan node Tess4J untuk menyertakan bahasa yang tidak didukung secara internal. Memang, kita dapat memilih model bahasa data terlatih eksternal kita sendiri dengan menentukan direktori tempat mereka disimpan. Kami memilih "Gunakan Internal" karena kami lebih suka mengandalkan model internal Tess4J untuk dokumen bahasa Inggris kami.
Di bagian "Konfigurasi Pengenalan", kami menemukan dua konfigurasi daftar drop-down terpenting, yaitu "Mode Segmentasi Halaman" dan "Mode Mesin OCR". Yang pertama menentukan bagaimana halaman kita tersegmentasi.
Pada Gambar 4, kami memilih "Full Auto Pageseg", yang memastikan segmentasi halaman sepenuhnya otomatis. Bergantung pada kasus penggunaan khusus yang ada, memilih mode lain dari 13 mode yang tersedia (misalnya, "Kolom Tunggal" atau "Teks Jarang") mungkin merupakan opsi yang lebih cocok.
Setting kedua meminta kita untuk memilih mesin OCR. Di sini, kami memilih "Hanya Tesseract", yang memastikan eksekusi tercepat. Pilihan lain termasuk "Cube Only" — mode pengenalan alternatif untuk Tesseract — yang lebih lambat tetapi seringkali menghasilkan hasil yang lebih baik; atau "Tesseract And Cube", yang menggabungkan yang terbaik dari kedua dunia. Memilih satu mesin atau lainnya sangat bergantung pada kualitas gambar dan kerumitan teks yang ingin kita proses.
Selain pengaturan dasar, node Tess4J menawarkan Konfigurasi Lanjutan tab di mana kita dapat menentukan satu set parameter kontrol. Tab ini membuat node sangat fleksibel dan membantu pengguna ahli untuk menyesuaikan dan menyempurnakan mesin Tesseract OCR dengan kebutuhan khusus mereka. Namun, jangan khawatir, untuk sebagian besar kasus, konfigurasi dasar akan sangat membantu Anda!
Gambar 4: Dialog konfigurasi node Tess4J.
Selain men-tweak konfigurasi node Tess4J ke kasus penggunaan yang ada, merupakan praktik yang baik untuk memproses gambar input secara menyeluruh, jika diperlukan. Secara khusus, Tesseract berfungsi paling baik saat gambar ditingkatkan secara memadai sehingga jumlah piksel dari tinggi x karakter minimal 20 piksel; gambar disejajarkan dengan benar dan memiliki resolusi yang cukup tinggi; dan setiap batas gelap dihilangkan, atau mungkin disalahartikan sebagai karakter [3]. Itu Pemrosesan Gambar KNINE ekstensi mencakup beberapa node untuk pembersihan gambar, manipulasi dan transformasi, dan banyak lagi contoh alur kerja dapat ditemukan pada Pusat KNIME.
Output dari node Tess4J adalah tabel yang berisi teks yang diekstrak sebagai tipe data String, dan dengan demikian dapat dicari dan diedit.
3 — Pemrosesan Teks untuk Ekstraksi ISBN
Setelah gambar di-OCR, teks yang dikandungnya akhirnya dapat diakses dan informasi berguna diambil.
Secara khusus, pemberitahuan edisi biasanya melaporkan kode ISBN yang diberikan pada buku tersebut. Kode ISBN unik, sepanjang 13 digit (dulu 10 digit sebelum tahun 2007), pengidentifikasi buku komersial dan dengan demikian diberikan untuk setiap edisi dan variasi publikasi yang terpisah. Mengekstrak kode ISBN memungkinkan kita merujuk ke setiap buku dengan jelas saat kita ingin mengambil metainformasi. Untuk mencapai itu, kita dapat mengandalkan node yang termasuk di dalamnya KNIME — Pemrosesan Teks ekstensi, beberapa di antaranya digunakan dalam metanode “ekstraksi ISBN” (Gambar 5).
Dalam metanode "Pembersihan teks", kita mulai dengan mengubah teks OCR dari tipe data String ke Dokumen. Selanjutnya, kami mengonversi teks menjadi huruf kecil, menghapus tanda baca, spasi kosong, tanda hubung, dan mengganti huruf "o" dengan "0" (nol) untuk mengoreksi karakter yang salah dikenali dalam kode ISBN.
Kami mengekstrak kode ISBN dengan memisahkan 13 karakter yang mengikuti string “isbn”, dan menggunakan Mesin Aturan simpul untuk memeriksa apakah karakter yang diekstraksi tidak mengandung nilai yang hilang dan memiliki panjang yang diharapkan 13 karakter. Kami kemudian mengeksploitasi kemampuan node ini untuk menambahkan kolom yang memberi label ekstraksi yang berhasil sebagai 1 dan ekstraksi yang gagal sebagai 0.
Gambar 5: Di dalam metanode “ekstraksi ISBN”.
4 — Pengambilan dan Visualisasi Metainformasi
Pada langkah terakhir, kami menggunakan kode ISBN untuk mengambil metainformasi dan sampul buku dari Google Books API. Metanode “Dapatkan metadata dan sampul buku” menangani hal itu (Gambar 6). Namun, pengambilan metadata hanya dapat dilakukan jika kode ISBN berhasil diekstrak. Untuk memastikan kelancaran penanganan ekstraksi ISBN yang berhasil/tidak berhasil, kami menyertakan beberapa node kontrol alur kerja. Anda dapat menemukan ikhtisar mendalam di Lembar Curang: Kontrol dan Orkestrasi dengan Platform Analitik KNIME.
Jika kode ISBN berhasil diekstraksi, kami menggunakan DAPATKAN Permintaan simpul untuk mengirim Permintaan GET ke API Buku Google, layanan web RESTful gratis yang didukung oleh Google yang memungkinkan pengambilan beberapa metainformasi seperti judul buku, subjudul, penulis, tanggal publikasi, deskripsi, jumlah halaman, bahasa, peringkat rata-rata, jumlah peringkat, dan sampul. Selain itu, layanan web RESTful ini tidak memerlukan pembuatan akun pengembang. Konfigurasi node GET Request sangat mudah. Ini membutuhkan pemilihan sederhana dari "kolom URL" yang bermakna yang kami buat di Manipulasi String node dengan bergabung dengan URL API Buku Google dengan kode ISBN setiap pemberitahuan edisi. Semua konfigurasi lainnya dapat dibiarkan sebagai default.
Kami kemudian mem-parsing output JSON dari node GET Request menggunakan Jalur JSON simpul dan gabungkan metainformasi yang diekstraksi dengan sampul buku sebelum mengumpulkan hasil akhir.
Terakhir, kami membuat komponen "Visualisasikan metadata dan sampul buku" untuk visualisasi yang rapi dari metainformasi dan sampul buku yang diambil.
Dalam komponen, kami membungkus Widget Filter Penggeser Rentang Interaktif node untuk mengaktifkan pemfilteran buku dinamis berdasarkan jumlah peringkat rata-rata (0-mengerikan; 5-fantastis) yang ditetapkan oleh pembaca di Google Buku, dan Tampilan Ubin simpul untuk menampilkan hasilnya.
Komponen kemudian memperoleh tampilan termasuk penggeser untuk memilih buku berdasarkan peringkat rata-rata dan tabel yang memuat sampul dan deskripsi buku yang dipilih. Untuk artikel ini, kami telah memilih untuk mengekstrak buku dengan peringkat antara 3 dan 5, dan hasilnya ditampilkan pada Gambar 6.
Gambar 6: Metainformasi dan sampul buku yang diambil untuk buku dengan peringkat lebih tinggi dari 3.
Kesimpulan
Dalam artikel ini, kami telah mengilustrasikan bagaimana OCR dapat dilakukan dengan mudah di Platform Analitik KNIME. Untuk tujuan ini, kami telah menyajikan node Tess4J dan memberikan detail tentang fungsi perpustakaan Tesseract OCR yang menjadi basis node ini.
Selain itu, kami telah menunjukkan kasus penggunaan sederhana di mana OCR dapat menjadi sumber daya yang kuat dan berguna. Kami telah mengambil informasi dari pemberitahuan edisi buku – khususnya, kode ISBN – untuk mengirimkan Permintaan GET ke layanan web RESTful Google Buku. Ini memungkinkan kami mengambil metadata dan sampul buku.
Dengan KNIME, gambar OCRing untuk mengekstrak informasi penting menjadi semudah ABC. Cobalah sendiri! Apa kasus penggunaan OCR Anda?
Alur kerja yang disajikan dalam artikel ini dapat diunduh secara gratis dari Pusat KNIME.
Referensi
[1] Smith, R. (2007). "Tinjauan Mesin Tesseract OCR". Konferensi Internasional Kesembilan tentang Analisis dan Pengakuan Dokumen (ICDAR 2007), hlm. 629–633. Dapat diakses di:
https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33418.pdf
[Diakses: 15.07.2021].
[2] Proyek Tesseract OCR di GitHub — https://github.com/tesseract-ocr/tesseract
[3] Dokumentasi Tesseract OCR di GitHub — https://tesseract-ocr.github.io/tessdoc/
Roberto Cadili adalah seorang ilmuwan data di KNIME, penggemar NLP, dan pencinta sejarah. Editor untuk Kode Rendah untuk Ilmu Data Tingkat Lanjut.
Lada Rudnitckaia adalah ilmuwan data di KNIME.
Seperti yang pertama kali diterbitkan di Kode Rendah untuk Ilmu Data Tingkat Lanjut.
Original. Diposting ulang dengan izin.
Terkait:
Sumber: https://www.kdnuggets.com/2021/11/book-metadata-cover-retrieval-ocr-google-books-api.html
- "
- &
- 2021
- Akun
- akuntansi
- AI
- Semua
- analisis
- analisis
- api
- artikel
- artikel
- penulis
- mobil
- TERBAIK
- Buku-buku
- Kotak
- membangun
- bisnis
- bisnis
- yang
- Lowongan Kerja
- kasus
- pengenalan karakter
- Cina
- klasifikasi
- Pembersihan
- klien
- kode
- Mengumpulkan
- Kolom
- komersial
- Perusahaan
- komponen
- komputer
- Konferensi
- kepercayaan
- konfigurasi
- Konten
- hak cipta
- terbaru
- dasbor
- data
- ilmu data
- ilmuwan data
- rinci
- Deteksi
- Pengembang
- pengembang
- Pengembangan
- digital
- dokumen
- Menjatuhkan
- Awal
- editor
- insinyur
- Inggris
- dll
- eksekusi
- Lihat lebih lanjut
- Mengeksploitasi
- ekstraksi
- Angka
- Akhirnya
- keuangan
- Pertama
- mengikuti
- bentuk
- format
- Gratis
- Perancis
- GitHub
- baik
- Kelompok
- Penanganan
- berguna
- di sini
- High
- Mempekerjakan
- sejarah
- tuan
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTTPS
- ide
- mengenali
- gambar
- Termasuk
- Pendapatan
- Meningkatkan
- industri
- informasi
- interaktif
- Internasional
- IT
- ikut
- pengetahuan
- Korea
- Label
- bahasa
- Bahasa
- besar
- BELAJAR
- pengetahuan
- Informasi
- Leverage
- Perpustakaan
- cahaya
- Daftar
- tempat
- Panjang
- Mesin belajar
- mesin penerjemah
- manipulasi
- medium
- yaitu
- Rapi
- saraf
- nLP
- node
- nomor
- OCR
- Penawaran
- Buka
- open source
- optical character recognition
- pilihan
- Opsi
- Lainnya
- Konsultan Ahli
- fisik
- gambar
- pixel
- Platform
- produktifitas
- proyek
- Ular sanca
- kualitas
- jarak
- peringkat
- Mentah
- data mentah
- Pembaca
- pembaca
- Bacaan
- melaporkan
- sumber
- Hasil
- Ilmu
- Pencarian
- terpilih
- rasa
- set
- pengaturan
- Sederhana
- So
- Perangkat lunak
- MEMECAHKAN
- Spanyol
- Disponsori
- awal
- cerita
- sukses
- mendukung
- Didukung
- Mendukung
- sistem
- teknik
- Teknologi
- tesseract
- waktu
- puncak
- Pelatihan
- Transformasi
- mengubah
- Terjemahan
- unicode
- us
- Pengguna
- View
- visualisasi
- jaringan
- Apa itu
- kata
- Kerja
- alur kerja
- bekerja
- bernilai
- penulisan
- X
- tahun