Co to jest przetwarzanie dokumentów?
Przetwarzanie dokumentów to proces automatyzacji wydobywania danych strukturalnych z dokumentów. Może to dotyczyć dowolnego dokumentu, na przykład faktury, życiorysu, dowodów osobistych itp. Wyzwaniem jest tutaj nie tylko OCR. Dostępnych jest wiele niedrogich opcji, które pozwalają wyodrębnić tekst i podać lokalizację. Prawdziwym wyzwaniem jest dokładne i automatyczne etykietowanie tych fragmentów tekstu.
Biznesowy wpływ przetwarzania dokumentów
Wiele branż w swojej codziennej działalności w dużym stopniu opiera się na przetwarzaniu dokumentów. Organizacje finansowe potrzebują dostępu do dokumentacji SEC, dokumentacji ubezpieczeniowej, a firma zajmująca się handlem elektronicznym lub łańcuchem dostaw może potrzebować dostępu do używanych faktur, lista jest długa. Dokładność tych informacji jest tak samo ważna jak oszczędność czasu, dlatego zawsze zalecamy stosowanie zaawansowanych metod głębokiego uczenia się, które pozwalają na większe uogólnienie i są dokładniejsze.
Według tego raportu PwC, [link] nawet najbardziej podstawowa ekstrakcja danych strukturalnych może pomóc zaoszczędzić 30–50% czasu pracowników spędzanego na ręcznym kopiowaniu i wklejaniu danych z plików PDF do arkuszy kalkulacyjnych programu Excel. Modele takie jak LayoutLM z pewnością nie są proste. Zostały zbudowane jako niezwykle inteligentne agenty zdolne do dokładnego wyodrębniania danych na dużą skalę, w różnych przypadkach użycia. Nawet w przypadku wielu naszych klientów skróciliśmy czas wymagany do ręcznego wyodrębnienia danych z 20 minut na dokument do poniżej 10 sekund. To ogromna zmiana, która umożliwia pracownikom większą produktywność i ogólną wyższą wydajność.
Gdzie więc można zastosować sztuczną inteligencję podobną do LayoutLM? W Nanonets zastosowaliśmy taką technologię m.in
- Automatyzacja przetwarzania faktur
- Ekstrakcja danych z tabeli
- Ekstrakcja danych z formularza
- Wznów analizowanie
i wiele innych przypadków użycia.
Dlaczego LayoutLM?
W jaki sposób model głębokiego uczenia się rozumie, czy dany fragment tekstu jest opisem pozycji na fakturze, czy numerem faktury? Mówiąc prościej, w jaki sposób model uczy się prawidłowego przypisywania etykiet?
Jedną z metod jest użycie osadzania tekstu z ogromnego modelu językowego, takiego jak BERT lub GPT-3 i przepuszczenie go przez klasyfikator – chociaż nie jest to zbyt skuteczne. Jest wiele informacji, których nie można ocenić wyłącznie za pomocą tekstu. Można też skorzystać z informacji opartych na obrazie. Osiągnięto to poprzez zastosowanie modeli R-CNN i Faster R-CNN. Jednakże nie wykorzystuje to w pełni informacji zawartych w dokumentach. Innym zastosowanym podejściem były Graph Convolutional Neural Networks, które łączyły informacje lokalizacyjne i tekstowe, ale nie uwzględniały informacji o obrazie.
Jak zatem wykorzystać wszystkie trzy wymiary informacji, czyli także tekst, obraz i lokalizację danego tekstu? W tym miejscu z pomocą przychodzą modele takie jak LayoutLM. Pomimo tego, że LayoutLM był aktywnym obszarem badań przez wiele lat wcześniej, był jednym z pierwszych modeli, które odniosły sukces, łącząc elementy w jeden model, który wykonuje etykietowanie przy użyciu informacji o położeniu, informacji tekstowych, a także informacje o obrazie.
Samouczek LayoutLM
W tym artykule założono, że rozumiesz, czym jest model języka. Jeśli nie, nie martw się, napisaliśmy również artykuł na ten temat! Jeśli chcesz dowiedzieć się więcej o tym, czym są modele transformatorów i na co należy zwrócić uwagę, tutaj to niesamowity artykuł Jaya Alamara.
Zakładając, że mamy już to za sobą, zacznijmy od samouczka. Jako główne odniesienie będziemy używać oryginalnego papieru LayoutLM.
Ekstrakcja tekstu OCR
Pierwszą rzeczą, którą robimy z dokumentem, jest wyodrębnienie z niego informacji tekstowych i znalezienie ich odpowiednich lokalizacji. Przez lokalizację rozumiemy coś, co nazywa się „obwiednią”. Obwiednia to prostokąt otaczający fragment tekstu na stronie.
W większości przypadków zakłada się, że początek ramki ograniczającej znajduje się w lewym górnym rogu i że dodatnia oś x jest skierowana od początku w prawo strony, a dodatnia oś y jest skierowana od początku do na dole strony, przy czym za jednostkę miary uważa się jeden piksel.
Osadzanie języka i lokalizacji
Następnie korzystamy z pięciu różnych warstw osadzania. Jednym z nich jest kodowanie informacji związanych z językiem – tj. osadzania tekstu.
Pozostałe cztery są zarezerwowane dla osadzania lokalizacji. Zakładając, że znamy wartości xmin, ymin, xmax i ymax, możemy wyznaczyć całą obwiednię (jeśli nie możesz sobie tego wyobrazić, tutaj jest link dla ciebie). Współrzędne te są przekazywane przez odpowiednie warstwy osadzania w celu zakodowania informacji o lokalizacji.
Pięć osadzania – jedno dla tekstu i cztery dla współrzędnych – jest następnie sumowanych, aby utworzyć końcową wartość osadzania, która jest przekazywana przez LayoutLM. Wynik jest nazywany osadzaniem LayoutLM.
Osadzanie obrazów
OK, udało nam się znaleźć informacje związane z tekstem i lokalizacją, łącząc ich osady i przepuszczając je przez model językowy. Jak teraz obejść proces łączenia w nim informacji związanych z obrazem?
Podczas kodowania tekstu i informacji o układzie równolegle używamy programu Faster R-CNN w celu wyodrębnienia obszarów tekstu związanych z dokumentem. Faster R-CNN to model obrazu używany do wykrywania obiektów. W naszym przypadku używamy go do wykrywania różnych fragmentów tekstu (zakładając, że każda fraza jest obiektem), a następnie przepuszczamy podzielone na segmenty obrazy przez w pełni połączoną warstwę, aby pomóc również w wygenerowaniu osadzania obrazów.
Osadzenia LayoutLM oraz osadzenia obrazu są łączone w celu utworzenia ostatecznego osadzenia, które można następnie wykorzystać do dalszego przetwarzania.
Układ przedtreningowyLM
Wszystko powyższe ma sens tylko wtedy, gdy rozumiemy metodę, w której uczono LayoutLM. W końcu niezależnie od rodzaju połączeń, jakie nawiążemy w sieci neuronowej, dopóki nie zostanie ona przeszkolona w oparciu o odpowiedni cel uczenia się, nie jest ona całkiem mądra. Autorzy LayoutLM chcieli zastosować metodę podobną do tej, którą stosowano przy przedtreningowym BERT.
Zamaskowany model języka wizualnego (MVLM)
Aby pomóc modelowi dowiedzieć się, jaki tekst mógł znajdować się w określonym miejscu, autorzy losowo zamaskowali kilka znaczników tekstu, zachowując jednocześnie informacje związane z lokalizacją i elementy osadzone. Umożliwiło to LayoutLM wyjście poza proste modelowanie języka maskowanego i pomogło powiązać osadzanie tekstu z modalnościami związanymi z lokalizacją.
Klasyfikacja dokumentów wieloetykietowych (MDC)
Użycie wszystkich informacji zawartych w dokumencie do sklasyfikowania go w kategorie pomaga modelowi zrozumieć, jakie informacje są istotne dla określonej klasy dokumentów. Autorzy zauważają jednak, że w przypadku większych zbiorów danych dane dotyczące klas dokumentów mogą nie być łatwo dostępne. W związku z tym zapewniły podstawę wyników zarówno samego szkolenia MVLM, jak i szkolenia MVLM + MDC.
Dostosowanie LayoutLM do dalszych zadań
Istnieje kilka dalszych zadań, które można wykonać za pomocą LayoutLM. Omówimy te, które podjęli autorzy.
Zrozumienie formy
Zadanie to polega na powiązaniu typu etykiety z danym fragmentem tekstu. Dzięki temu możemy wyodrębnić uporządkowane dane z dowolnego rodzaju dokumentu. Biorąc pod uwagę końcowy wynik, tj. osadzanie LayouLM + osadzanie obrazu, są one przepuszczane przez w pełni połączoną warstwę, a następnie przepuszczane przez softmax w celu przewidzenia prawdopodobieństw klas dla etykiety danego fragmentu tekstu.
Zrozumienie odbioru
W tym zadaniu kilka pól informacyjnych na paragonach pozostało pustych, a model musiał prawidłowo umieścić fragmenty tekstu w odpowiednich miejscach.
Klasyfikacja obrazu dokumentu
Informacje z tekstu i obrazu dokumentu są łączone, aby pomóc zrozumieć klasę dokumentu, po prostu przepuszczając je przez warstwę softmax.
Układ HuggingfaceLM
Jednym z głównych powodów, dla których LayoutLM jest tak szeroko omawiany, jest fakt, że jakiś czas temu model ten był open source. To jest dostępny na Hugging Face, więc korzystanie z LayoutLM jest teraz znacznie łatwiejsze.
Zanim zagłębimy się w szczegóły dotyczące dostosowywania LayoutLM do własnych potrzeb, należy wziąć pod uwagę kilka rzeczy.
Instalowanie bibliotek
Aby uruchomić LayoutLM, będziesz potrzebować biblioteki transformatorów z Hugging Face, która z kolei jest zależna od biblioteki PyTorch. Aby je zainstalować (jeśli nie zostały jeszcze zainstalowane), uruchom następujące polecenia
Na obwiedniach
Aby utworzyć jednolity schemat osadzania niezależnie od rozmiaru obrazu, współrzędne ramki ograniczającej są normalizowane w skali 1000
systemu
Korzystając z klasy transformatory.LayoutLMConfig, możesz ustawić rozmiar modelu tak, aby najlepiej odpowiadał Twoim wymaganiom, ponieważ modele te są zazwyczaj ciężkie i wymagają sporo mocy obliczeniowej. Ustawienie mniejszego modelu może pomóc w uruchomieniu go lokalnie. Możesz więcej o zajęciach dowiesz się tutaj.
LayoutLM do klasyfikacji dokumentów (Połączyć)
Jeśli chcesz przeprowadzić klasyfikację dokumentów, będziesz potrzebować klasy transformatory.LayoutLMForSequenceClassification. Sekwencja tutaj jest sekwencją tekstu z wyodrębnionego dokumentu. Oto mała próbka kodu z Hugging Face.co, która wyjaśni, jak z niego korzystać
LayoutLM dla etykiet tekstowych (Połączyć)
Do wykonania etykietowania semantycznego, czyli przypisania etykiet różnym fragmentom tekstu w dokumencie potrzebna będzie klasa transformatory.LayoutLMForTokenClassification. Więcej szczegółów możesz znaleźć na stronie samo jest tutaj.Oto mały przykładowy kod, dzięki któremu możesz zobaczyć, jak może to zadziałać w Twoim przypadku
Kilka uwag na temat układu twarzy obejmującejLM
- Obecnie model Hugging Face LayoutLM wykorzystuje bibliotekę open source Tesseract do ekstrakcji tekstu, co nie jest zbyt dokładne. Możesz rozważyć użycie innego, płatnego narzędzia OCR, takiego jak AWS Textract lub Google Cloud Vision
- Istniejący model zapewnia jedynie model językowy, czyli osadzanie LayoutLM, a nie końcowe warstwy łączące cechy wizualne. UkładLMv2 (omówione w następnej sekcji) korzysta z biblioteki Detectron, aby umożliwić również osadzanie funkcji wizualnych.
- Klasyfikacja etykiet odbywa się na poziomie słowa, więc tak naprawdę zadaniem mechanizmu wyodrębniania tekstu OCR jest zapewnienie, że wszystkie słowa w polu znajdują się w ciągłej sekwencji, w przeciwnym razie jedno pole może zostać przewidziane jako dwa.
UkładLMv2
LayoutLM pojawił się jako rewolucja w sposobie wydobywania danych z dokumentów. Jeśli jednak chodzi o badania nad głębokim uczeniem się, modele z biegiem czasu stają się coraz lepsze. LayoutLM został w podobny sposób zastąpiony przez LayoutLMv2, w którym autorzy wprowadzili kilka znaczących zmian w sposobie uczenia modelu.
Obejmuje osadzanie przestrzenne 1-D i osadzanie tokenów wizualnych
LayoutLMv2 zawierał informacje dotyczące względnej lokalizacji 1-D, a także ogólne informacje związane z obrazem. Jest to ważne ze względu na nowe cele szkoleniowe, które teraz omówimy
Nowe cele szkoleniowe
LayoutLMv2 zawierał pewne zmodyfikowane cele szkoleniowe. Są to następujące:
- Modelowanie zamaskowanego języka wizualnego: To samo, co w LayoutLM
- Wyrównanie obrazu tekstowego: Tekst został losowo zasłonięty z obrazu, a tokeny tekstowe zostały dostarczone do modelu. Dla każdego tokena model musiał dowiedzieć się, czy dany tekst został zakryty. Dzięki temu model był w stanie połączyć informacje pochodzące zarówno z modalności wizualnej, jak i tekstowej
- Dopasowanie obrazu tekstowego: Model proszony jest o sprawdzenie, czy podany obraz odpowiada podanemu tekstowi. Próbki negatywne są albo podawane jako fałszywe obrazy, albo w ogóle nie są dodawane żadne obrazy. Ma to na celu zapewnienie, że model nauczy się więcej o powiązaniach tekstu i obrazów.
Korzystając z tych nowych metod i osadzania, model był w stanie osiągnąć wyższe wyniki F1 w prawie wszystkich testowych zestawach danych jako LayoutLM.
- O nas
- dostęp
- Konto
- dokładny
- osiągnięty
- w poprzek
- aktywny
- zaawansowany
- agentów
- AI
- Wszystkie kategorie
- już
- Chociaż
- ilość
- Inne
- podejście
- POWIERZCHNIA
- na około
- artykuł
- Autorzy
- dostępny
- AWS
- podstawa
- jest
- BEST
- Bit
- Pudełko
- Kartki okolicznosciowe
- Etui
- wyzwanie
- klasyfikacja
- Chmura
- kod
- połączony
- sukcesy firma
- obliczać
- systemu
- połączenia
- wynagrodzenie
- Koszty:
- mógłby
- Klientów
- dane
- dzień
- Mimo
- Wykrywanie
- ZROBIŁ
- różne
- dokumenty
- na dół
- e-commerce
- Efektywne
- umożliwiając
- zapewniają
- przewyższać
- Twarz
- szybciej
- Cecha
- Korzyści
- nakarmiony
- budżetowy
- i terminów, a
- następujący
- Generować
- GitHub
- pomoc
- pomaga
- tutaj
- W jaki sposób
- How To
- HTTPS
- obraz
- Rezultat
- ważny
- podnieść
- włączony
- przemysłowa
- Informacja
- ubezpieczenie
- Inteligentny
- IT
- etykietowanie
- Etykiety
- język
- większe
- UCZYĆ SIĘ
- nauka
- poziom
- Biblioteka
- LINK
- Lista
- lokalnie
- lokalizacja
- lokalizacji
- ręcznie
- masywny
- dopasowywanie
- Materia
- model
- modele
- większość
- sieć
- sieci
- koncepcja
- open source
- operacje
- Opcje
- zamówienie
- organizacji
- Inne
- płatny
- Papier
- kawałek
- power
- wygląda tak
- zapewnia
- PWC
- Przyczyny
- polecić
- raport
- wymagany
- wymagania
- Badania naukowe
- Efekt
- Resume
- run
- Skala
- schemat
- SEK
- rozsądek
- zestaw
- ustawienie
- przesunięcie
- znaczący
- podobny
- Prosty
- Rozmiar
- mały
- mądry
- So
- coś
- rozpoczęty
- sukces
- Dostawa
- łańcuch dostaw
- zadania
- Technologia
- test
- Przez
- czas
- żeton
- Żetony
- Top
- Trening
- zrozumieć
- posługiwać się
- wykorzystać
- wartość
- Co
- czy
- słowa
- Praca
- pracowników
- lat