Belge işleme nedir?
Belge işleme, yapılandırılmış verilerin belgelerden çıkarılmasını otomatikleştirme sürecidir. Bu herhangi bir belge, örneğin bir fatura, bir özgeçmiş, kimlik kartları vb. için olabilir. Buradaki zorlayıcı kısım sadece OCR değildir. Metni çıkarabilen ve size konumu verebilen düşük maliyetli birçok seçenek vardır. Asıl zorluk, bu metin parçalarını doğru ve otomatik olarak etiketlemektir.
Belge İşlemenin Ticari Etkisi
Birçok endüstri, günlük operasyonları için büyük ölçüde belge işlemeye güvenir. Finansal kuruluşların SEC başvurularına, sigorta başvurularına erişmesi gerekir, bir E-Ticaret veya Tedarik Zinciri şirketinin kullanılan faturalara erişmesi gerekebilir, liste uzayıp gidiyor. Bu bilgilerin doğruluğu, kazanılan zaman kadar önemlidir, bu nedenle her zaman daha fazla genelleyen ve daha doğru olan gelişmiş derin öğrenme yöntemlerini kullanmanızı öneririz.
PwC tarafından hazırlanan bu rapora göre, [Link] en basit düzeyde yapılandırılmış veri ayıklama bile, çalışanların PDF'lerden excel elektronik tablolarına manuel olarak veri kopyalayıp yapıştırmak için harcadıkları zamandan %30-50 tasarruf etmenize yardımcı olabilir. LayoutLM gibi modeller kesinlikle ilkel değildir, farklı kullanım durumlarında ölçekte doğru veri çıkarma yeteneğine sahip son derece akıllı aracılar olarak oluşturulmuştur. Birçok müşterimizde bile, verileri manuel olarak çıkarmak için gereken süreyi belge başına 20 dakikadan 10 saniyenin altına indirdik. Bu, çalışanların daha üretken olmalarını ve genel olarak daha yüksek verim elde etmelerini sağlayan büyük bir değişimdir.
Peki, LayoutLM'ye benzer AI nerede uygulanabilir? Nanonets'te böyle bir teknolojiyi şu amaçlar için kullandık:
ve diğer birçok kullanım durumu.
Neden LayoutLM?
Derin öğrenme modeli, belirli bir metin parçasının bir faturadaki öğe açıklaması mı yoksa fatura numarası mı olduğunu nasıl anlar? Basitçe söylemek gerekirse, bir model etiketlerin nasıl doğru şekilde atanacağını nasıl öğrenir?
Bir yöntem, BERT veya GPT-3 gibi büyük bir dil modelinden metin yerleştirmelerini kullanmak ve bir sınıflandırıcı aracılığıyla çalıştırmaktır - bu çok etkili olmasa da. Yalnızca metin kullanarak ölçülemeyen pek çok bilgi var. Veya, görüntü tabanlı bilgilerden yararlanılabilir. Bu, R-CNN ve Daha Hızlı R-CNN modelleri kullanılarak sağlandı. Ancak, bu yine de belgelerde mevcut olan bilgileri tam olarak kullanmamaktadır. Kullanılan diğer bir yaklaşım, hem konumsal hem de metinsel bilgiyi birleştiren, ancak görüntü bilgisini hesaba katmayan Grafik Evrişimli Sinir Ağlarıydı.
Peki, bilginin üç boyutunu da, yani verilen metnin metnini, görüntüsünü ve konumunu da nasıl kullanırız? İşte burada LayoutLM gibi modeller devreye giriyor. Uzun yıllar önce aktif bir araştırma alanı olmasına rağmen, LayoutLM, konumsal bilgileri, metin tabanlı bilgileri kullanarak etiketleme gerçekleştiren tekil bir model oluşturmak için parçaları birleştirerek başarıya ulaşan ilk modellerden biriydi. ve ayrıca görüntü bilgileri.
LayoutLM Eğitimi
Bu makale, bir dil modelinin ne olduğunu anladığınızı varsayar. Değilse, endişelenme Biz de bunun üzerine bir yazı yazdık! Transformatör modellerinin ne olduğu ve dikkatin ne olduğu hakkında daha fazla bilgi edinmek isterseniz, burada Jay Alammar'ın harika bir makalesi.
Bunları aradan çıkardığımızı varsayarak, öğretici ile başlayalım. Ana referans olarak orijinal LayoutLM belgesini kullanacağız.
OCR Metin Çıkarma
Bir belgeyle yaptığımız ilk şey, belgeden metne dayalı bilgileri çıkarmak ve ilgili yerlerini bulmaktır. Yere göre, 'sınırlayıcı kutu' adı verilen bir şeye atıfta bulunuyoruz. Sınırlayıcı kutu, sayfadaki metin parçasını içine alan bir dikdörtgendir.
Çoğu durumda, sınırlayıcı kutunun sol üst köşede orijine sahip olduğu ve pozitif x ekseninin orijinden sayfanın sağına doğru yönlendirildiği ve pozitif y ekseninin orijinden orijine yönlendirildiği varsayılır. sayfanın alt kısmında, bir piksel ölçü birimi olarak kabul edilir.
Dil ve Konum Gömmeleri
Ardından, beş farklı gömme katmanından yararlanıyoruz. Birincisi, dille ilgili bilgileri, yani metin yerleştirmelerini kodlamaktır.
Diğer dördü konum yerleştirmeleri için ayrılmıştır. xmin, ymin, xmax ve ymax değerlerini bildiğimizi varsayarsak, tüm sınırlayıcı kutuyu belirleyebiliriz. (göremezseniz, işte size bir link). Bu koordinatlar, konum bilgilerini kodlamak için ilgili gömme katmanlarından geçirilir.
Beş gömme – biri metin için ve dördü koordinatlar için – daha sonra LayoutLM'den geçirilen gömmenin nihai değerini oluşturmak için toplanır. Çıktı, LayoutLM gömme olarak adlandırılır.
Görüntü Gömmeleri
Tamam, metin ve konumla ilgili bilgileri, bunların yerleştirmelerini birleştirerek ve bir dil modelinden geçirerek bulmayı başardık. Şimdi, içindeki görüntü ile ilgili bilgileri birleştirme sürecini nasıl atlatacağız?
Metin ve mizanpaj bilgileri kodlanırken paralel olarak, belge ile ilgili metnin bölgelerini çıkarmak için Daha Hızlı R-CNN kullanıyoruz. Daha hızlı R-CNN, nesne tespiti için kullanılan bir görüntü modelidir. Bizim durumumuzda, onu farklı metin parçalarını tespit etmek için kullanırız (her cümlenin bir nesne olduğunu varsayarsak) ve daha sonra, görüntüler için de gömmeler oluşturmaya yardımcı olmak için bölümlere ayrılmış görüntüleri tamamen bağlantılı bir katmandan geçiririz.
LayoutLM gömmelerinin yanı sıra görüntü gömmeleri, daha sonra aşağı akış işlemini gerçekleştirmek için kullanılabilen son bir gömme oluşturmak için birleştirilir.
Eğitim Öncesi DüzenLM
Yukarıdakilerin tümü, yalnızca LayoutLM'nin eğitildiği yöntemi anlarsak anlamlıdır. Sonuçta, bir sinir ağında ne tür bağlantılar kurarsak kuralım, doğru öğrenme hedefi ile eğitilmediği sürece pek akıllı değildir. LayoutLM'nin yazarları, BERT öncesi eğitim için kullanılana benzer bir yöntemi takip etmek istediler.
Maskeli Görsel Dil Modeli (MVLM)
Modelin belirli bir konumda hangi metnin olabileceğini öğrenmesine yardımcı olmak için yazarlar, konumla ilgili bilgileri ve yerleştirmeleri korurken birkaç metni rastgele maskelediler. Bu, LayoutLM'nin basit Maskeli Dil Modellemesinin ötesine geçmesini sağladı ve metin yerleştirmelerini konumla ilgili modalitelerle de ilişkilendirmeye yardımcı oldu.
Çok Etiketli Belge Sınıflandırması (MDC)
Belgedeki tüm bilgileri kategorilere ayırmak için kullanmak, modelin belirli bir belge sınıfıyla hangi bilgilerin alakalı olduğunu anlamasına yardımcı olur. Ancak yazarlar, daha büyük veri kümeleri için belge sınıflarına ilişkin verilerin hazır olmayabileceğini belirtmektedir. Bu nedenle, hem tek başına MVLM eğitimi hem de MVLM + MDC eğitimi bazında sonuçlar sağladılar.
Aşağı Yöndeki Görevler için İnce Ayar LayoutLM
LayoutLM ile yürütülebilecek birkaç aşağı akış görevi vardır. Yazarların üstlendiklerini tartışacağız.
Form Anlayışı
Bu görev, bir etiket türünün belirli bir metin parçasına bağlanmasını gerektirir. Bunu kullanarak, her türlü belgeden yapılandırılmış verileri çıkarabiliriz. Nihai çıktı, yani LayouLM yerleştirmeleri + Görüntü yerleştirmeleri göz önüne alındığında, bunlar tamamen bağlantılı bir katmandan geçirilir ve ardından belirli bir metin parçasının etiketi için sınıf olasılıklarını tahmin etmek için bir softmax'tan geçirilir.
Makbuz Anlayışı
Bu görevde, makbuzlarda birkaç bilgi yuvası boş bırakıldı ve modelin metin parçalarını ilgili yuvalarına doğru bir şekilde yerleştirmesi gerekiyordu.
Belge Görüntüsü Sınıflandırması
Belgenin metninden ve görüntüsünden alınan bilgiler, belgenin sınıfını basitçe bir softmax katmanından geçirerek anlamaya yardımcı olmak için birleştirilir.
Sarılma Yüz DüzeniLM
LayoutLM'nin bu kadar çok tartışılmasının ana nedenlerinden biri, modelin bir süre önce açık kaynaklı olmasıydı. Bu Hugging Face'de mevcut, bu nedenle LayoutLM'yi kullanmak artık çok daha kolay.
LayoutLM'yi kendi ihtiyaçlarınıza göre nasıl ince ayar yapabileceğinizin ayrıntılarına girmeden önce, göz önünde bulundurmanız gereken birkaç şey var.
Kitaplıkları Yükleme
LayoutLM'yi çalıştırmak için, sırayla PyTorch kitaplığına bağlı olan Hugging Face'den transformatörler kitaplığına ihtiyacınız olacak. Bunları yüklemek için (önceden yüklenmemişse), aşağıdaki komutları çalıştırın
Sınırlayıcı kutularda
Görüntü boyutundan bağımsız olarak tek tip bir gömme şeması oluşturmak için sınırlayıcı kutu koordinatları 1000 ölçeğinde normalleştirilir.
yapılandırma
Transformers.LayoutLMConfig sınıfını kullanarak, modelin boyutunu gereksinimlerinize en uygun olacak şekilde ayarlayabilirsiniz, çünkü bu modeller genellikle ağırdır ve oldukça fazla hesaplama gücüne ihtiyaç duyar. Daha küçük bir modele ayarlamak, yerel olarak çalıştırmanıza yardımcı olabilir. Yapabilirsin burada sınıf hakkında daha fazla bilgi edinin.
Belge Sınıflandırması için LayoutLM (Link)
Belge sınıflandırması yapmak istiyorsanız, sınıf transformatörlerine ihtiyacınız olacak.LayoutLMForSequenceClassification. Buradaki sıra, çıkardığınız belgeden metin sırasıdır. İşte Hugging Face.co'dan nasıl kullanılacağını açıklayan küçük bir kod örneği
Metin Etiketleme için LayoutLM (Link)
Anlamsal etiketleme yapmak, yani belgedeki metnin farklı bölümlerine etiket atamak için, transformatörler sınıfına ihtiyacınız olacak.LayoutLMForTokenClassification. hakkında daha fazla ayrıntı bulabilirsiniz. aynı yer.İşte sizin için nasıl çalışabileceğini görmeniz için küçük bir kod örneği.
Hugging Face LayoutLM Hakkında Dikkat Edilmesi Gereken Bazı Noktalar
- Şu anda, Hugging Face LayoutLM modeli, metin çıkarma için çok doğru olmayan Tesseract açık kaynak kitaplığını kullanıyor. AWS Textract veya Google Cloud Vision gibi farklı, ücretli bir OCR aracı kullanmayı düşünebilirsiniz.
- Mevcut model, görsel özellikleri birleştiren son katmanları değil, yalnızca dil modelini, yani LayoutLM yerleştirmelerini sağlar. DüzenLMv2 (sonraki bölümde tartışıldı), görsel özellik yerleştirmelerini de etkinleştirmek için Detectron kitaplığını kullanır.
- Etiketlerin sınıflandırılması kelime düzeyinde gerçekleşir, bu nedenle bir alandaki tüm kelimelerin sürekli bir sırada olmasını sağlamak gerçekten OCR metin çıkarma motoruna bağlıdır veya bir alan iki olarak tahmin edilebilir.
DüzenLMv2
LayoutLM, verilerin belgelerden nasıl çıkarıldığı konusunda bir devrim olarak ortaya çıktı. Bununla birlikte, derin öğrenme araştırmaları söz konusu olduğunda, modeller yalnızca zamanla daha fazla gelişir. LayoutLM'yi benzer şekilde, yazarların modelin nasıl eğitildiğine dair birkaç önemli değişiklik yaptığı LayoutLMv2 izledi.
1-D Uzamsal Gömmeler ve Görsel Simge Gömmeleri Dahil
LayoutLMv2, 1-B göreli konumla ilgili bilgilerin yanı sıra genel görüntüyle ilgili bilgileri içeriyordu. Bunun önemli olmasının nedeni, şimdi tartışacağımız yeni eğitim hedeflerinden kaynaklanmaktadır.
Yeni Eğitim Hedefleri
LayoutLMv2, bazı değiştirilmiş eğitim hedeflerini içeriyordu. Bunlar aşağıdaki gibidir:
- Maskelenmiş Görsel Dil Modellemesi: Bu, LayoutLM'deki ile aynıdır
- Metin Görüntüsü Hizalama: Metin, görüntüden rastgele örtülürken, metin belirteçleri modele sağlandı. Her bir belirteç için model, verilen metnin kapsanıp kapsanmadığını öğrenmek zorundaydı. Bu sayede model, hem görsel hem de metinsel modalitelerden gelen bilgileri birleştirebildi.
- Metin Resmi Eşleştirme: Modelden, verilen resmin verilen metne karşılık gelip gelmediğini kontrol etmesi istenir. Negatif örnekler ya yanlış görüntüler olarak beslenir ya da hiç görüntü gömme sağlanmaz. Bu, modelin metin ve görüntülerin nasıl ilişkili olduğu hakkında daha fazla bilgi edinmesini sağlamak için yapılır.
Bu yeni yöntemleri ve yerleştirmeleri kullanan model, LayoutLM olarak neredeyse tüm test veri kümelerinde daha yüksek F1 puanları elde etmeyi başardı.
- Hakkımızda
- erişim
- Hesap
- doğru
- elde
- karşısında
- aktif
- ileri
- ajanları
- AI
- Türkiye
- zaten
- Rağmen
- miktar
- Başka
- yaklaşım
- ALAN
- etrafında
- göre
- Yazarlar
- mevcut
- AWS
- temel
- olmak
- İYİ
- Bit
- kutu
- Kartlar
- durumlarda
- meydan okuma
- sınıflandırma
- bulut
- kod
- kombine
- şirket
- hesaplamak
- yapılandırma
- Bağlantılar
- dikkate
- maliyetler
- olabilir
- Müşteriler
- veri
- gün
- Rağmen
- Bulma
- DID
- farklı
- evraklar
- aşağı
- e-ticaret
- Etkili
- etkinleştirme
- kurmak
- Excel
- Yüz
- Daha hızlı
- Özellikler(Hazırlık aşamasında)
- Özellikler
- Fed
- mali
- Ad
- takip etme
- oluşturmak
- GitHub
- yardım et
- yardımcı olur
- okuyun
- Ne kadar
- Nasıl Yapılır
- HTTPS
- görüntü
- darbe
- önemli
- iyileştirmek
- dahil
- Endüstri
- bilgi
- sigorta
- Akıllı
- IT
- etiketleme
- Etiketler
- dil
- büyük
- ÖĞRENİN
- öğrenme
- seviye
- Kütüphane
- LINK
- Liste
- lokal olarak
- yer
- yerleri
- el ile
- masif
- uygun
- Mesele
- model
- modelleri
- çoğu
- ağ
- ağlar
- açık
- açık kaynak
- Operasyon
- Opsiyonlar
- sipariş
- organizasyonlar
- Diğer
- ödenmiş
- kâğıt
- parça
- güç kelimesini seçerim
- süreç
- sağlar
- PWC
- nedenleri
- tavsiye etmek
- rapor
- gereklidir
- Yer Alan Kurallar
- araştırma
- Sonuçlar
- devam et
- koşmak
- ölçek
- plan
- SEC
- duyu
- set
- ayar
- çalışma
- önemli
- benzer
- Basit
- beden
- küçük
- akıllı
- So
- bir şey
- başladı
- başarı
- arz
- tedarik zinciri
- görevleri
- Teknoloji
- test
- İçinden
- zaman
- simge
- Jeton
- üst
- Eğitim
- anlamak
- kullanım
- kullanmak
- değer
- Ne
- olup olmadığını
- sözler
- İş
- işçiler
- yıl