Akıllı Belge İşleme Sistemleri oluşturma yolculuğumuza devam ediyoruz. Bu makalede, belge sınıflandırma ve doğrulamaya odaklanıyoruz.
Bu, Akıllı Belge İşleme ile ilgili dizinin ikinci bölümüdür (IDP). Seri 3 bölümden oluşmaktadır:
Veri hazırlamayla ilgileniyorsanız, önceki makaleyi okuyun. Orada verileri forma dönüştürmek için neler yaptığımızı anlatıyoruz.
sınıflar
Belge türlerinin ayrıntılı sınıflandırması, belgelerin yaklaşık 80 türe ayrıldığını göstermektedir. Her tür iyi temsil edilmez ve bazılarının küçük bir etkisi veya ihmal edilebilir özellikleri vardır, bu da bizi onları ayrı bir sınıf olarak ele almaya zorlayacaktır.
Ayrıntıları anladıktan sonra, 20 sınıf belge elde ettik. Atama gibi bazı sınıflar daha genel, bazıları ise İflas kadar özeldir. Sınıflandırdığımız türler şunlardır: Devir, Senet, Tapu, Ayrılık Senedi, Tazminat Senedi, Emanet Senedi, Haciz, Rehine Senedi Rehine, Haciz, Mortgage, Mütevelli Senedi, İflas, Düzeltme Senedi, Kiralama, Tadilat, Vazgeçme Senedi , İbra, Feragat, Fesih.
Her türde bulunan bilgileri özetledikten sonra bu belge türlerini seçtik. Aşağıdaki hizmetler ve yönlendirme benzer belgeler için aynı olduğunda, bunları hedef sınıflarda ayırt etmeyiz. Gerçek dünyada sık görülmeyen birkaç türü daha bıraktık.
sınıflandırma
Amacımız, sonraki doğru yönlendirme ve ardışık hizmetlerin uygulanması için bunları sınıflandırmaktı. Örneğin, İflas türü belge ile ilgilenen taraf isimleri ararken, birden fazla tüzel kişilik aramıyoruz.
Belgeler uzun ve çeşitlidir. Şimdi bunların matematiksel temsili hakkında düşünmeye başlayabiliriz. Sinir ağları, üstte sınıflandırıcı bulunan karmaşık bir kodlayıcı olarak görülebilir. Bu kodlayıcılar genellikle metindeki birçok içeriği ve bağımlılığı kavrayabilen güçlü sistemlerdir. Bununla birlikte, metin ne kadar uzun olursa, bir ağın tek bir kelimeye veya tek bir paragrafa odaklanması o kadar zor olur. Sezgimizi doğrulayan çok sayıda araştırma vardı; bu, büyük kodlayıcılar üzerindeki uzun belgelerin sınıflandırılmasının sorumluluğunun son katmanda olduğunu ve benzer sonuçlar vermek için gömmelerin rastgele olabileceğini gösteriyor.
Son GPT-3 (2020) açıkçası muhteşem ve kim bilir, belki de bu tür kodlayıcıların uzun metinler için geleceği vardır. Büyük bir maliyetle gelse bile – hesaplama gücü, işlem süresi. Uzun metin paragraflarını bir sinir ağı tarafından oluşturulmuş düşük boyutlu bir gömme içinde temsil etme konusunda iyi bir fikrimiz olmadığı için, daha basit yöntemlere yönelerek kendimize bir iyilik yaptık.
Sınıfların eşiklerini doğru bir şekilde yorumlayabilmek ve ayarlayabilmek için çıktı sınıfları katmanında olasılık dağılımını hiçbir şekilde yumuşatmayan çok sınıflı-çok etiketli bir sınıflandırıcı hazırlamamız gerekiyordu. Bu genellikle çıktı olasılık dağılımını düzeltmek için gerekli bir işlemdir. Ana sınıflandırıcımız TFiDF’de Lojistik Regresyon (Terim Frekansı – Ters Belge Frekansı) idi. Esas olarak TFiDF’yi ayarladık, ancak belgelerin kendilerine – sayfa sayısı, engellenen kelimeler vb. – biraz zaman harcadık.
Sonuçlarımız tatmin ediciydi. Deneylerimizde, belgelerdeki belirsizlik ve bir miktar etiket gürültüsü göz önüne alındığında, oldukça iyi bulduğumuz% 95’in üzerinde doğruluk elde ediyoruz.
Ancak, belgeleri başlığa, belge başlığına, ilk paragrafa veya buna benzer bir şeye göre sınıflandırmanın yeterli olup olmayacağını tahmin etmek doğaldır. Bir sınıflandırıcının başlık ifadesini vurgulamasının yararlı olup olmadığı veya yalnızca başlıklara göre sınıflandırmanın yeterli olup olmadığı, başlık tespitinden sonra çözülebilir.
Düzen algılama
Doküman Düzeni Analizi, çözümümüzde uygulamaya karar verdiğimiz bir sonraki konudur.
Her şeyden önce, yine, belgelerimizdeki mizanpaj çeşitliliği muazzamdır. Mevcut modeller görevlerimiz için kullanışlı değil.
Geliştirdiğimiz basit ama etkili yöntem, DBSCAN algoritmasına dayanmaktadır. Sözcükler ve çizgiler arasındaki mesafeleri, düzendeki blokların faydalı bir şekilde ayrılacağı şekilde hesaplamak için özel bir özel mesafe işlevi türettik. Özel mesafe işlevi Öklid mesafesine dayanır ancak metnin satırlarda OCR tarafından tanınması gerçeğini akıllıca kullanır. İşlev, bir çizginin genişliği ve yüksekliği arasındaki orantı açısından dinamiktir.
Sonuçları Şekil 1’de görebilirsiniz. Bu yerleşim bilgisini daha sonra birçok amaç için kullanabiliriz.
İçeriğe bağlı olarak, belirli bir düzendeki herhangi bir bloğun başlığı içerip içermediğine karar verebiliriz. Başlığa dayalı belge sınıflandırması için, belge sınıfını yalnızca tespit edilen başlığa göre tahmin etmenin, belge içeriğine göre yapılması kadar iyi olacağı görülmektedir. Tek sorun, ne yazık ki sık sık olan, belge başlığı olmadığında ortaya çıkar.
Genel olarak, mizanpaj bilgilerini metin içeriğiyle karıştırmak kesinlikle bir yoldur, çünkü mizanpaj bir belgenin ayrılmaz bir parçası gibi görünmektedir, yalnızca kozmetik ihtiyaçları karşılamakla kalmaz, aynı zamanda önemli bilgileri de depolar. Bu belgeleri not defterinde düz metin olarak okuduğunuzu hayal edin – bazı işaretler, tarihler, adresler, yerelleştirmeler ve metin satırlarının doğru yorumlanmış sırası olmadan ayırt etmek imkansızdır.
Tüm sınıflandırma hattı Şekil 2’de görselleştirilmiştir.
doğrulama
Bu proje için Metaflow python paketini dahil ettik. Her zaman akıcı bir şekilde çalışmayan karmaşık bir teknolojidir, ancak genel olarak bize yararlı yatay ölçeklenebilirlik (bazı zaman alıcı süreçler) sağladığını ve ekip üyeleri arasındaki işbirliğini kolaylaştırdığını düşünüyoruz.
Metaflow kullanımının ilginç örneği şu şekildedir: Bir zamanlar, tren setimizde sahip olduğumuz yetki alanlarının sayısının, modelin tüm yetki alanlarına genellenmesi için yeterli olduğundan emin olmamız gerekiyordu.
Belgelerimizin çoğu, diyelim ki Batı Yakası’ndan gelse bile, Alaska’daki küçük bir yetki alanından alınan ipoteğin işe yarayacağından emin miyiz?
Bunun çözümü, “birini dışarıda bırak” çapraz doğrulamasını, bir doğrulama kümesi olarak bir yetki alanından belgeleri elimizde tutacak şekilde hazırlamaktı. Çok sayıda yetki alanına sahip olduğumuz için bunlardan N tanesini seçmek zorunda kaldık. Her katlama uzak bir makinede bağımsız ve paralel olarak test edildi ve bu Metaflow sayesinde büyük ölçüde kolaylaştırıldı. Şekil 3’ü kontrol edin.
Sonraki
Sınıflandırma, sistemimizin çok önemli bir bileşenidir ve daha ileri adımlar atmamızı sağlar. Sınıflandırıcı yönlendirmesinden sonra sağlam temellere sahip olmak, sonraki hizmetleri çalıştırabiliriz – bulucular.