OCR ve Google Kitaplar API'sini Kullanarak Kitap Meta Verileri ve Kapak Alma
KNIME ile görüntülerden kritik bilgi parçalarını çıkarmak ABC kadar kolay hale gelir.
By Roberto Cadili, Veri Bilimcisi, KNIME & Lada Rudnitckaia, Veri Bilimcisi, KNIME
Şekil 1: OCR sayesinde bilgilerin çıkarılabildiği kitap baskısı bildirimlerine örnekler.
Çoğu zaman, veri bilimi projemiz için ihtiyaç duyduğumuz ham veriler düzenli, iyi yapılandırılmış ve anlayışlı bir tabloda düzenlenmemiştir. Bunun yerine, bu bazen taranan bir belgede metin olarak saklanır. Belgedeki kelimeler daha sonra metin formatlı bir veri hücresi oluşturmak için birer birer ayıklanmalıdır. Bu, Optik Karakter Tanıma (OCR) tarafından gerçekleştirilen görevdir.
Bu makalenin sözcüklerini okurken, ister metin ister sayı olsun, gözleriniz karakterleri oluşturan açık ve koyu desenleri (örneğin harfler, sayılar, noktalama işaretleri vb.) tanıyarak bunları işleyebilir. Beyniniz daha sonra kelimelerin anlamlarını kavramak için farklı karakter ve kalıp kombinasyonlarını çözüyor. Bu anlamda, gözleriniz ve beyniniz, hayal edebileceğiniz en gelişmiş ve rafine OCR motorudur ve siz farkına bile varmadan çalışırlar.
Bilgisayarların benzer yetenekleri vardır, ancak çok önemli bir sınırlamanın üstesinden gelmeleri gerekir: gözlerin yokluğu. Bilgisayarların fiziksel bir metin belgesini görmesini ve okumasını istiyorsak, optik tarayıcı veya dijital kamera ile oluşturulmuş bir grafik dosyası girmemiz gerekir. Bilgisayarlar söz konusu olduğunda, bu seçeneklerden herhangi biriyle elde edilen bir belge ile Eyfel Kulesi'nin bir fotoğrafı arasında hiçbir fark yoktur: her ikisi de herhangi bir bilgisayar grafiği görüntüsünü oluşturan anlamsız renkli kareler - piksel olarak da bilinir - koleksiyonları olarak kabul edilir. Bu nedenle, ikincisi metnin kendisinden ziyade okumayı amaçladığımız metnin bir resmidir.
OCR'nin kullanışlı olabileceği yer burasıdır. Bu güçlü teknoloji, faturalar, kartvizitler, yasal metinler veya çıktılar gibi basılı, daktilo edilmiş veya elle yazılmış verileri çıkarabilir ve aranabilir ve düzenlenebilir bir dijital formata dönüştürebilir. OCR, 2000'li yılların ortalarından itibaren yalnızca çok az sayıda büyük şirketin karşılayabileceği pahalı bir hizmet olarak görülse de, doğruluğu ve yetenekleri bugün birkaç yüz dili ve karakter kodlamasını destekleyecek şekilde gelişirken, maliyeti yavaş yavaş düştü. , UTF-8'den GB2312'ye.
Resimlerden metin arama ve çıkarma yeteneğinin faydası paha biçilemez olabilir. Örneğin, hukuk veya muhasebe endüstrisinde, makalelerdeki veya mali tablolardaki metin veya sayıların bölümlerinin saniyeler içinde alınmasını sağladığı için önemli bir maliyet ve zaman tasarrufu sağlayabilir. Bu süreci, tek bir kritik bilgiyi bulmak için binlerce belgeyi okuması için bir grup insanı işe almanın maliyetiyle karşılaştırmak, OCR'nin işletmelere nasıl fayda sağlayabileceği hakkında bir fikir verir.
Daha yakın zamanlarda, bu hizmetin sağlayıcıları onu AI ile birleştirdikçe OCR teknolojisi sessiz bir devrim geçiriyor. Bunun bir sonucu olarak, yalnızca veriler yakalanmakla, aranabilir ve düzenlenebilir hale getirilmekle kalmıyor, aynı zamanda AI sistemi belirli görevleri yerine getirmek için içeriği gerçekten anlıyor. Örneğin, bir metnin OCR'sini yaptıktan sonra AI, minimum insan müdahalesi ile sinirsel makine çevirisini kullanarak çevirisini sağlayabilir. Başka bir klasik örnek, sahte faturaların pdf belgesinin içeriğinin aykırı değer tespit teknikleri kullanılarak OCR'lenmesinden sonra tanınabileceği denetim bölümünden gelir. Ve benzeri. Bu sinerji, süreçleri kolaylaştırmak ve işletmeler ve müşteriler için üretkenliği artırmak için her iki dünyanın en iyilerini birleştirir.
Bu makalede açıklanan kullanım örneğinde, OCR bir kitabı tanımlamak ve ardından kitabın meta verilerini Google Kitaplar deposundan almak için kullanılır.
Daha spesifik olarak, şunlara bir göz atacağız:
- OCR nasıl yürütülebilir? KNIME Analytics Platformu.
- Kitap meta verilerini ve kapağını alma kullanım durumu için KNIME'ın OCR işlemcisini ve Google Kitaplar API'sini nasıl entegre edebiliriz.
KNIME Analytics Platformunda OCR
KNIME'da metin içeren bir resmin OCR işlemi çok kolay bir iştir. Tek gereken, KNIME Görüntü İşleme — Tess4J Entegrasyonu yerel uzantı KNIME Analytics Platformuve sürükleyip bırakmak için Tess4J iş akışı düzenleyicinize düğüm atın.
Tess4J düğümü, Tesseract OCR kitaplığı, mevcut en yaygın kullanılan ve doğru açık kaynaklı OCR işlemcilerinden biri. Tesseract ilk olarak 1990'ların başında Hewlett-Packard Laboratories tarafından özel bir yazılım olarak geliştirildi ve daha sonra 2005'te açık kaynak haline getirildi. Google o zamandan beri projeyi benimsedi ve gelişimine sponsor oldu.
Tess4J düğümü, iki geçişli bir prosedürde karakter kalıplarını tanıyarak çalışan Tesseract 3 üzerinde çalışır.
- İlk geçişte, motor her bir karakteri tanımaya çalışır. Daha sonra, ilk geçişte yüksek güvenle tanınan karakterleri, eğitim verileri olarak uyarlanabilir bir sınıflandırıcıya iletir. Bu sayede uyarlanabilir sınıflandırıcı sonraki metni nasıl daha doğru tanıyacağını öğrenme şansına sahip olur.
- Bununla birlikte, uyarlanabilir sınıflandırıcı anlamlı bir katkı sağlamak için yararlı bilgileri çok geç öğrenebilir. Bu sorunu çözmek ve uyarlamalı sınıflandırıcı tarafından edinilen bilgiden yararlanmak için motor, yeterince iyi tanınmayan karakterlerin yeniden tanındığı ikinci bir geçişi çalıştırır [1].
Tesseract 3, herhangi bir Unicode karakterini (UTF-8 ile kodlanmış) işler ve çeşitli dillerdeki ve yazı düzenindeki metni işleyebilir: soldan sağa (örn. İngilizce, İtalyanca, Rusça, vb.), sağdan sola (örn. Arapça, İbranice, Urduca vb.) ve yukarıdan aşağıya (örn. Japonca, Korece, Çince vb.) [2].
Yasal Uyarı. Mac kullanıcıları şu anda Tess4J düğümünü kullanamıyor. KNIME geliştiricileri, sorunsuz çalışmayı yeniden sağlamak için çalışıyor.
Kullanım Örneği: Kitap Meta Verilerini ve Kapağı Alma
OCR'nin KNIME Analytics Platformunda nasıl çalıştığına dair temel bir anlayış kazandığımıza göre, şimdi ilginç bir kullanım örneğine bakalım. Birkaç kitabın basım bildirimlerini gösteren resimler topladığımızı ve bu bilgilerle kitap meta verilerini ve kapaklarını almak istediğimizi varsayalım. Alınan veriler daha sonra örneğin özelleştirilmiş bir dijital kütüphane oluşturmak ve bir kitap tavsiye sistemi eğitmek için kullanılabilir.
Şekil 2'deki iş akışı tüm adımları kapsar: görüntü okuma, OCRing, metin işleme ve ISBN referans çıkarmadan kitap meta verilerine ve kapak alma ve görselleştirmeye kadar. Farklı adımlara ayrıntılı olarak bir göz atalım.
Şekil 2: Bu iş akışı kitap baskı bildirimlerinde basit bir OCR görevi gerçekleştirir ve Google Kitaplar API'sini kullanarak kitap meta verilerini ve kapağını alır.
1 — Görüntü Verilerini Oku
İlk adım, kitap baskısı bildirim resimlerini KNIME'a aktarmaktır. Basım bildirimi, bir kitaptaki telif hakkı bildirimi, yasal bildirimler, yayın bilgileri, baskı geçmişi ve bir ISBN kodu gibi mevcut sürümle ilgili bilgileri içeren sayfadır (Şekil 1).
“Resim verilerini oku” metanodu bunu kolay ve programlı bir şekilde halleder (Şekil 3). Görüntü dosyalarının depolandığı konumu, Dosyaları/Klasörleri Listele düğümü kullanın ve Resim Okuyucu (Tablo) görüntüleri zarif bir şekilde içe aktarmak için düğüm. Image Reader (Tablo) düğümünde sadece “Dosya Giriş Sütunu” yani görsellerimizin depolandığı dosyalara giden yolların bulunduğu sütunu belirtmemiz gerekiyor. Diğer tüm konfigürasyonlar varsayılan olarak bırakılabilir.
Resim Okuyucu (Tablo), KNINE Görüntü İşleme uzantısına sahiptir ve bu uzantıdaki diğer düğümler gibi, düğüme sağ tıklayarak, “Görünüm: Görüntü Görüntüleyici”yi seçerek ve tablo görünümünde herhangi bir görüntüye çift tıklayarak görüntüyü ve meta verilerini içeren etkileşimli bir görünüm sunar.
Şekil 3: “Görüntü verilerini oku” metanodu içinde. Görüntü Okuyucu (Tablo) düğümü, görüntüleri iş akışına aktarır ve bunları kendi görünümünde etkileşimli olarak keşfetmemize olanak tanır.
2 — OCR
Kitap baskısı bildirimlerinin resim dosyalarını okuduktan sonra, onları OCR yapabiliriz.
Tess4J düğümünün konfigürasyonu çok basittir ve sadece birkaç tıklama gerektirir (Şekil 4). İçinde Ayarlar sekmesinde, düğüm, yapılandırma iletişim kutusunun "Ön İşleme" bölümündeki "Deskew input images" kutusunu seçerek herhangi bir döndürme veya eğik görüntüyü düzeltme olanağı sunar. Grafik dosyaları düzgün şekilde hizalanmayabileceğinden, genellikle bunu yapmanız önerilir. Ayrıca, Tess4J düğümü, kaputun arkasında otomatik olarak ikili bir görüntü üretir.
Ardından, “Tessdata Yolu”nu seçiyoruz. Varsayılan olarak, bu, daha sonra işlemek istediğimiz metnin dilini seçmemize izin veren “Dahili Kullan” olarak ayarlanmıştır. Bu yapılandırmada İngilizce varsayılan dildir, ancak Tess4J düğümü Danca, İtalyanca, İspanyolca, Rusça, Yunanca, Slovakça, Almanca ve Fransızca gibi diğer doğal dilleri destekler. “Harici Kullan”ı seçerek, Tess4J düğümünün yeteneklerini dahili olarak desteklenmeyen dilleri içerecek şekilde genişletebileceğimizi belirtmekte fayda var. Aslında, depolandıkları dizini belirterek kendi harici eğitimli veri dili modellerimizi seçebiliriz. İngilizce belgelerimiz için Tess4J'nin dahili modellerine güvenmeyi tercih ettiğimiz için “Dahili Kullan”ı seçiyoruz.
"Tanıma Yapılandırması" bölümünde, "Sayfa Bölümleme Modu" ve "OCR Motor Modu" olmak üzere en önemli iki açılır liste yapılandırmasını buluyoruz. İlki, sayfamızın nasıl bölümlere ayrıldığını tanımlar.
Şekil 4'te tam otomatik sayfa segmentasyonu sağlayan “Full Auto Pageseg”i seçiyoruz. Eldeki belirli kullanım durumuna bağlı olarak, mevcut 13 moddan (örneğin, “Tek Sütun” veya “Sparse Text”) başka bir mod seçmek daha uygun bir seçenek olabilir.
İkinci ayar bizden OCR motorunu seçmemizi istiyor. Burada en hızlı yürütmeyi sağlayan “Tesseract Only”yi seçiyoruz. Diğer seçenekler arasında daha yavaş olan ancak genellikle daha iyi sonuçlar veren Tesseract için alternatif bir tanıma modu olan “Yalnızca Küp”; veya her iki dünyanın en iyilerini birleştiren “Tesseract And Cube”. Bir motor veya diğerini seçmek, büyük ölçüde görüntünün kalitesine ve işlemek istediğimiz metnin karmaşıklığına bağlıdır.
Temel ayarlara ek olarak, Tess4J düğümü bir Gelişmiş Yapılandırma bir dizi tanımlayabileceğimiz sekme kontrol parametreleri. Bu sekme, düğümü son derece esnek hale getirir ve uzman kullanıcıların Tesseract OCR motorunu özel ihtiyaçlarına göre özelleştirmelerine ve ince ayar yapmalarına yardımcı olur. Endişelenmeyin, çoğu durumda temel konfigürasyonlar sizi uzun bir yol kat edecektir!
Şekil 4: Tess4J düğümünün yapılandırma iletişim kutusu.
Tess4J düğümünün konfigürasyonlarını eldeki kullanım durumuna göre ayarlamanın yanı sıra, gerekirse giriş görüntülerini baştan sona önceden işlemek iyi bir uygulamadır. Özellikle, Tesseract, karakterlerin x yüksekliğinin piksel sayısı en az 20 piksel olacak şekilde görüntüler yeterince büyütüldüğünde en iyi sonucu verir; görüntüler doğru şekilde hizalanmış ve yeterince yüksek çözünürlüğe sahip; ve koyu kenarlıklar kaldırılır veya bunlar karakter olarak yanlış yorumlanabilir [3]. bu KNINE Görüntü İşleme uzantı, görüntü temizleme, işleme ve dönüştürme için birkaç düğüm içerir ve birçok örnek iş akışları bulunabilir KNIME Merkezi.
Tess4J düğümünün çıktısı, ayıklanan metni String veri türü olarak içeren bir tablodur ve bu nedenle aranabilir ve düzenlenebilir.
3 — ISBN Çıkarımı için Metin İşleme
Görüntüler OCR işlemine tabi tutulduktan sonra, içerdikleri metne nihayet erişilebilir ve faydalı bilgiler alınabilir.
Özellikle, baskı bildirimleri genellikle kitaba atanan ISBN kodunu bildirir. ISBN kodu benzersiz, 13 basamaklı bir uzunluğa sahiptir (10'den önce 2007 basamaklıydı), ticari kitap tanımlayıcısıdır ve bu nedenle bir yayının her bir ayrı basımına ve varyasyonuna atanır. ISBN kodunun çıkarılması, üstbilgi almak istediğimizde her kitaba açık bir şekilde başvurmamızı sağlar. Bunu başarmak için, dahil edilen düğümlere güvenebiliriz. KNIME — Metin İşleme bazıları “ISBN çıkarma” metanodunda kullanılan uzantı (Şekil 5).
“Metin temizleme” metanodunda, OCRed metnini String'den Document veri tipine dönüştürerek başlıyoruz. Ardından, metni küçük harfe dönüştürürüz, noktalama işaretlerini, boşlukları, kısa çizgileri kaldırır ve ISBN kodlarında yanlış tanınan karakterleri düzeltmek için "o" harflerini "0" (sıfır) ile değiştiririz.
“isbn” dizesinden sonra gelen 13 karakteri izole ederek ISBN kodlarını çıkarıyoruz ve Kural Motoru ayıklanan karakterlerin eksik değerler içerip içermediğini ve beklenen uzunluğu 13 karakter olup olmadığını kontrol etmek için düğüm. Daha sonra bu düğümün başarılı ayıklamayı 1 ve başarısız çıkarmayı 0 olarak etiketleyen bir sütun ekleme yeteneğinden yararlanırız.
Şekil 5: “ISBN çıkarma” metanodunun içi.
4 — MetaBilgi Alma ve Görselleştirme
Son adımda, Google Kitaplar API'sinden kitap meta bilgilerini ve kapaklarını almak için ISBN kodlarını kullanırız. “Kitap meta verilerini ve kapaklarını al” metanodu bununla ilgilenir (Şekil 6). Ancak, meta veri alımı, yalnızca ISBN kodları başarılı bir şekilde ayıklanmışsa mümkündür. Başarılı/başarısız ISBN çıkarma işleminin sorunsuz bir şekilde yapılmasını sağlamak için birkaç iş akışı kontrol düğümü ekledik. Bilgilendirici bir genel bakışı şurada bulabilirsiniz: Cheat Sheet: KNIME Analytics Platform ile Kontrol ve Düzenleme.
ISBN kodu başarıyla çıkarılırsa, TALEP AL GET İsteği göndermek için düğüm Google Kitaplar API'sı, kitap adı, alt başlık, yazarlar, yayın tarihi, açıklama, sayfa sayısı, dil, ortalama derecelendirme, derecelendirme sayısı ve kapak gibi çeşitli meta bilgilerin alınmasını sağlayan, Google tarafından desteklenen ücretsiz bir RESTful web hizmetidir. Ayrıca, bu RESTful web hizmeti, bir geliştirici hesabı oluşturulmasını gerektirmez. GET İstek düğümünün yapılandırması çok basittir. İçinde oluşturduğumuz anlamlı bir “URL sütununun” basit seçimini gerektirir. Dize Manipülasyonu katılarak düğüm Google Kitaplar API URL'si her basım bildiriminin ISBN koduyla birlikte. Diğer tüm konfigürasyonlar varsayılan olarak bırakılabilir.
Daha sonra GET İsteği düğümünün JSON çıktısını aşağıdakileri kullanarak ayrıştırırız: JSON Yolu Nihai sonuçları toplamadan önce kitap kapaklarıyla düğümleyin ve çıkarılan meta bilgileri birleştirin.
Son olarak, alınan kitap meta bilgisinin ve kapaklarının düzgün bir şekilde görselleştirilmesi için "Kitap meta verilerini ve kapaklarını görselleştir" bileşenini oluşturuyoruz.
Bileşende, sarıyoruz Etkileşimli Aralık Kaydırıcı Filtre Widget'ı Google Kitaplar'daki okuyucular tarafından atanan ortalama derecelendirme sayısına (0-korkunç; 5-harika) dayalı dinamik kitap filtrelemeyi etkinleştirmek için düğüm ve Döşeme Görünümü sonuçları görüntülemek için düğüm.
Bileşen daha sonra ortalama derecelendirmeye göre kitapları seçmek için kaydırıcıyı ve seçilen kitapların kapaklarını ve açıklamalarını içeren bir tabloyu içeren bir görünüm elde eder. Bu makale için, 3 ile 5 arasında derecelendirmeye sahip kitapları seçmeyi seçtik ve sonuçlar Şekil 6'da gösterilmektedir.
Şekil 6: Derecelendirmesi 3'ten yüksek olan kitaplar için alınan üstbilgi ve kitap kapakları.
Özet
Bu yazımızda, KNIME Analytics Platformunda OCR'nin nasıl kolayca yapılabileceğini gösterdik. Bu amaçla, Tess4J düğümünü sunduk ve bu düğümün dayandığı Tesseract OCR kitaplığının işleyişi hakkında ayrıntılar sağladık.
Ayrıca, OCR'nin güçlü ve kullanışlı bir kaynak olabileceği basit bir kullanım örneği gösterdik. Google Kitaplar'ın RESTful web hizmetine bir GET İsteği göndermek için kitap baskı bildirimlerinden – özellikle ISBN kodlarından – bilgi aldık. Bu, kitap meta verilerini ve kapaklarını almamızı sağladı.
KNIME ile kritik bilgi parçalarını çıkarmak için OCR görüntüleri ABC kadar kolay hale gelir. Kendiniz deneyin! OCR kullanım durumunuz nedir?
Bu makalede sunulan iş akışı şu adresten ücretsiz olarak indirilebilir: KNIME Merkezi.
Referanslar
[1] Smith, R. (2007). "Tesseract OCR Motoruna Genel Bir Bakış". Dokuzuncu Uluslararası Belge Analizi ve Tanıma Konferansı (ICDAR 2007), s. 629-633. Erişilebilir:
https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33418.pdf
[Alınan: 15.07.2021].
[2] GitHub'da Tesseract OCR projesi — https://github.com/tesseract-ocr/tesseract
[3] GitHub'da Tesseract OCR belgeleri — https://tesseract-ocr.github.io/tessdoc/
Roberto Cadili KNIME'de bir veri bilimcisi, NLP meraklısı ve tarih aşığıdır. Gelişmiş Veri Bilimi için Düşük Kod Editörü.
Lada Rudnitckaia KNIME'de veri bilimcisidir.
İlk yayınlandığı gibi Gelişmiş Veri Bilimi için Düşük Kod.
orijinal. İzinle yeniden yayınlandı.
İlgili:
Kaynak: https://www.kdnuggets.com/2021/11/book-metadata-cover-retrieval-ocr-google-books-api.html
- "
- &
- 2021
- Hesap
- muhasebe
- AI
- Türkiye
- analiz
- analytics
- api
- göre
- mal
- Yazarlar
- Oto
- İYİ
- Kitaplar
- kutu
- inşa etmek
- iş
- işletmeler
- hangi
- Kariyer
- durumlarda
- karakter tanıma
- Çince
- sınıflandırma
- Temizlik
- istemciler
- kod
- Toplama
- Sütun
- ticari
- Şirketler
- bileşen
- bilgisayarlar
- Konferans
- güven
- yapılandırma
- içerik
- telif hakkı
- akım
- gösterge paneli
- veri
- veri bilimi
- veri bilimcisi
- ayrıntı
- Bulma
- Geliştirici
- geliştiriciler
- gelişme
- dijital
- evraklar
- Damla
- Erken
- editör
- mühendis
- İngilizce
- vb
- infaz
- Genişletmek
- sömürmek
- çıkarma
- şekil
- Nihayet
- mali
- Ad
- takip et
- Airdrop Formu
- biçim
- Ücretsiz
- Fransızca
- GitHub
- Tercih Etmenizin
- grup
- kullanma
- kullanışlı
- okuyun
- Yüksek
- Kiralama
- tarih
- hosting
- Ne kadar
- Nasıl Yapılır
- HTTPS
- Fikir
- belirlemek
- görüntü
- Dahil olmak üzere
- Gelir
- Artırmak
- sanayi
- bilgi
- interaktif
- Uluslararası
- IT
- kaydol
- bilgi
- Koreli
- Etiketler
- dil
- Diller
- büyük
- ÖĞRENİN
- öğrenme
- Yasal Şartlar
- Kaldıraç
- Kütüphane
- ışık
- Liste
- yer
- Uzun
- makine öğrenme
- makine çevirisi
- hile
- orta
- yani
- temiz
- sinirsel
- nlp
- düğümler
- sayılar
- OCR
- Teklifler
- açık
- açık kaynak
- optik karakter tanıma
- seçenek
- Opsiyonlar
- Diğer
- İnsanlar
- fiziksel
- resim
- piksel
- platform
- verimlilik
- proje
- Python
- kalite
- menzil
- değerlendirme
- Çiğ
- işlenmemiş veri
- Okuyucu
- okuyucular
- Okuma
- rapor
- kaynak
- Sonuçlar
- Bilim
- Ara
- seçilmiş
- duyu
- set
- ayar
- Basit
- So
- Yazılım
- ÇÖZMEK
- İspanyolca
- Sponsor
- başlama
- hikayeler
- başarılı
- destek
- destekli
- Destekler
- sistem
- teknikleri
- Teknoloji
- teserakt
- zaman
- üst
- Eğitim
- Dönüşüm
- dönüşüm
- Çeviri
- unicode
- us
- kullanıcılar
- Görüntüle
- görüntüleme
- ağ
- Nedir
- sözler
- İş
- iş akışı
- çalışır
- değer
- yazı yazıyor
- X
- yıl