Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Jak wykonać zamówienia OCR w celu automatyzacji

Typowy proces zakupowy w dowolnej firmie wiąże się z wieloma dokumentami, np. Faktury, zamówienia zakupu, dokumenty dostawy itp. Proces ten był konsekwentnie skoncentrowany na ulepszeniach opartych na technologii w celu zmniejszenia kosztów ogólnych. Główna optymalizacja polegała na digitalizacji tych dokumentów, co doprowadziło do obniżenia kosztów, skrócenia czasu realizacji i zmniejszenia liczby błędów. W tym poście przedstawimy aktualną najnowocześniejszą technologię pozyskiwania danych w oparciu o OCR z tych dokumentów, szczególnie skupiając się na Zamówieniach Zakupu.

Bez wchodzenia w szczegóły typowy przepływ pracy wygląda tak:

  1. Kupujący generuje Zamówienie
  2. Sprzedawca generuje fakturę
  3. Kupujący generuje PZ/Zamówienie Paragon Note

Istnieją pewne subtelne różnice między procesem przechwytywania danych a wymaganiami dla każdego z tych dokumentów, ze względu na różnice w zawartych informacjach i strukturze tych dokumentów. Istotną różnicą jest również to, kto przygotowuje dokument, a co za tym idzie, kto ma potrzebę zdigitalizowania dokumentu.

Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

3-drożne dopasowanie

Głównym powodem cyfryzacji jest to, że wszystkie te dokumenty muszą potwierdzać i opowiadać spójną historię transakcji. Proces potwierdzania tych 3 dokumentów określany jest mianem trójstronnego dopasowania. Potrzeba i proces trójstronnego dopasowywania znacznie się różnią w zależności od tego, kto przeprowadza mecz, kupujący czy sprzedający.

Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Perspektywa kupującego:

Kupujący generuje PO, a Paragon i posiada te informacje, które można łatwo uzgodnić w swoim oprogramowaniu. Musisz dopasować Faktura do Zamówienia i Paragon. Kupujący musi dokonać digitalizacji Faktura pozostałe dokumenty znajdują się już w ich systemie ERP.

Istnieje wiele powodów, dla których kupujący musi przeprowadzić dopasowywanie trójstronne:

  1. Zapewnienie, że zakup jest autoryzowany przez dopasowanie i faktura i GRN z Zamówieniem Zakupu
  2. Zapewnienie zakupu właściwego produktu poprzez dopasowanie różnych dokumentów
  3. Zapewnienie, że zakupiono i dostarczono prawidłową autoryzowaną ilość.
  4. Upewnienie się, że cena zapłacona za każdy produkt była autoryzowana
  5. Zapewnienie, że wybrano właściwego dostawcę, a właściwy dostawca ostatecznie otrzyma zapłatę, ponieważ te same produkty mogą być nabywane od różnych dostawców
  6. Dopasowywanie zapasów do ilości w PZ w celu uzyskania dalszej jakości danych

Perspektywa sprzedawcy:

Sprzedawca generuje Faktura i musi upewnić się, że PO i Paragon dopasować informacje na fakturze. Sprzedawca musi zdigitalizować Zamówienie zakupu i otrzymać fakturę generowaną z jego ERP.

Potrzeba sprzedawcy w zakresie 3-drożnego dopasowania

  1. Sprawdzenie, czy zamówienie może zostać zrealizowane przy danych stanach magazynowych w systemie
  2. Zapewnienie, że towary wysłane tak, aby odpowiadały żądanemu produktowi
  3. Zapewnienie, że żądany produkt został wysłany do właściwego klienta
  4. Upewnienie się, że żądane produkty są dostarczane do klienta
  5. Zapewnienie dostarczenia klientowi odpowiednich ilości
  6. Zapewnienie ceny w PO ma marżę brutto, którą można spełnić

Szukasz rozwiązania OCR opartego na sztucznej inteligencji do automatyzacji zamówień zakupu? Daj NanonetInteligentna Platforma Automatyki spin i umieść swoje zamówienia na autopilocie!


Problemy z ręcznym dopasowywaniem trójstronnym

Ponieważ problem z dopasowaniem 3-drogowym jest dość krytyczny dla obu stron, aby dotrzymać końca kontraktu, wydajność i dokładność są najważniejsze. Jest to jednak dość wysoki koszt procesu z różnych perspektyw:

Koszt ludzki związany ze śledzeniem dokumentów i błędami

  1. Jest to nieporządny proces, zwłaszcza gdy zamówienie zakupu jest wielokrotnie zmieniane. Utrzymanie prawidłowej wersji PO może być trudne. Jeśli nie zostanie to zrobione poprawnie, może prowadzić do wielu płatności, dostawy dodatkowych przedmiotów itp.
  2. Istnieje wiele podobnych dokumentów i transakcji między częstym dostawcą, kupującym. Te transakcje mogą być konsumowane.
  3. Procesu nie można skalować. Utrzymanie optymalnych zasobów ludzkich jest trudne, gdy wielkość przetwarzania szybko się zmienia. Większość firm ma nadmierne zatrudnienie w tych działach, aby zrekompensować skoki wolumenu

Opóźnienia w płatnościach lub zamówieniach

  1. Dane z dokumentów są wprowadzane ręcznie. Ten proces staje się wąskim gardłem, gdy wzrasta ilość przetwarzanych dokumentów
  2. Opóźnienia mogą prowadzić do opóźnień w dostawie / płatności / zamówieniu. Prowadzi to do wysokich kosztów kapitału obrotowego lub utraty przychodów z powodu opóźnień w zakupie surowców itp.

Błędy zapasów

  1. Jeśli systemy zapasów nie zostaną prawidłowo zintegrowane z tym procesem, może wystąpić wysoki koszt błędnego obliczenia zapasów. Skutkiem tego jest nadmiar zapasów, dublowanie zamówień, niedopasowanie i utrata przychodów.

Błędy w dopasowaniu 3-drogowym

W tym procesie występuje wiele różnych błędów. Poniżej znajduje się kilka przykładów

Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Błędy dopasowania dostawcy

Dopasowanie dostawcy odbywa się zazwyczaj na podstawie dwóch rzeczy, nazwy dostawcy i adresu. Ponieważ ta sama firma może mieć różne filie i różne jednostki biznesowe wydające podobne faktury.

Jeśli adres z Zamówienia i Faktura nie mają prawidłowego adresu i nazwy dostawcy, mogą wystąpić problemy z dopasowaniem. Jak widać wyraźnie, tylko bezpośrednie dopasowanie tekstu nie działa w przypadku dopasowywania faktury i zamówienia zakupu.

Zamówienia Faktura Rynek
Firma Acme Inc. Firma Acme Inc. Prace
Firma Acme Inc. Acme Inc. Afryka Fails
Kulminacja Acme Sp. Fails
Acme Sp. Acme LLC. Dywizja Artylerii Fails

Błędy dopasowania produktu

Produkty są najtrudniejszymi do dopasowania pozycjami, ponieważ rzadko występują pod tą samą nazwą w zamówieniu zakupu i na fakturze oraz paragon. Jest to najprawdopodobniej największa przyczyna błędów.

Przyczyny błędów mogą być spowodowane tym, że istnieją różne wersje tego samego produktu, różne rozmiary, specyfikacje i ceny. Produkt mógł mieć ostatnią aktualizację, zamiennik niedostępnego elementu itp.

Zamówienia Faktura Rynek
TYLENOL Ucisk i ból zatok TYLENOL Ucisk i ból zatok Prace
Tylenol TYLENOL Ucisk i ból zatok Fails
TYLENOL Ucisk i ból zatok TYLENOL® ucisk i ból zatok Fails
TYLENOL Dodatkowa Siła TYLENOL Lek przeciwbólowy o zwiększonej sile i zmniejszający gorączkę Kapsułki 500 mg Fails
TYLENOL Lek przeciwbólowy o zwiększonej sile i zmniejszający gorączkę Kapsułki 500 mg TYLENOL Lek przeciwbólowy o zwiększonej sile i zmniejszający gorączkę Kapsułki 250 mg Fails

Błędy dopasowania ilości

Nawet jeśli produkt jest dopasowany poprawnie, mogą wystąpić błędy w dopasowaniu ilości, jeśli produkt w określonej ilości jest niedostępny itp. Jest to zwykle prawdą między zamówieniem a PZ, ponieważ zwykle występuje opóźnienie między tymi dwoma dokumentami.

Błędy dopasowania ceny

Jeśli nastąpiła zmiana ceny podczas całego cyklu życia produktu lub jeśli produkt został zaktualizowany lub zastąpiony, może wystąpić ten błąd.

Zduplikowane dokumenty

W przypadku częstych zakupów podobnych produktów od tego samego dostawcy może istnieć wiele dokumentów, które wyglądają bardzo podobnie. Jeśli numer referencyjny zamówienia zakupu nie jest wymieniony na fakturze ani w dokumencie PZ dla faktury lub zamówienia zakupu, istnieje znaczny zakres niezgodności dokumentów.


Digitalizacja zamówień

Aby zebrać wszystkie istotne dane z zamówień, należy wyodrębnić następujące pola:

Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Wspólna lista pól do wyodrębnienia (w zamówieniach zakupu mogą mieć różne nazwy):

Adres rozliczeniowy Zasady płatności Suma częściowa
Imię kupującego numer PO Temat
Kontakt Imię Produkt Kwota produktów:
Waluta Data zamówienia Cena za sztukę
Dostarczyć do Ilość Nazwa dostawcy
Due Date Nr zamówienia

Aktualne rozwiązania i ich problemy

Szablon + dopasowanie tekstu

Obejmuje to zdefiniowanie dokładnego regionu w celu wyszukania określonej informacji. Załóżmy więc, że chcesz wyodrębnić datę, a format jest dokładnie taki sam we wszystkich dokumentach, a data występuje dokładnie w tym samym miejscu w dokumencie. Definiujemy obszar do wyszukania w dokumencie dla daty.
Oto proces:

  1. Przekonwertuj dokument na obraz
  2. Podajemy przykładowy dokument
  3. Zaznacz region, w którym znaleziono datę (dokument jest postrzegany jako układ współrzędnych, w którym lewy górny róg znajduje się (0,0)) możemy oznaczyć (200,300) do (350,450), który jest obszarem zainteresowania dla daty
  4. Gdy pojawia się nowy dokument, sprawdzamy (200,300) do (350,450) i wyodrębniamy tam tekst

Historycznie było to jedno z najczęstszych podejść do rozwiązania tego problemu. Dzieje się tak z różnych powodów:

  1. Prostota oprogramowania i wdrożenia. Kompetentny programista mógłby stworzyć takie rozwiązanie w niecały dzień
  2. Nie ma wątpliwości, jak rozwiązanie będzie działać, jeśli dokument ma dokładnie ten sam format to będzie działał idealnie
  3. Wyodrębnienie danych wymaga bardzo ograniczonych zasobów obliczeniowych

Istnieją jednak bardzo oczywiste wyzwania, biorąc pod uwagę, jak podstawowa jest ta metoda:

  1. To nie działa, jeśli jest nawet niewielka różnica w dokumentach
  2. Nie działa, jeśli Kupujący zaktualizuje swój format
  3. Dla każdego kupującego istnieje nowy format, który należy skonfigurować
  4. Nie działa w przypadku zeskanowanych dokumentów
Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

OCR + NLP + dopasowywanie tekstu

OCR + NLP to nowsza technika wyodrębniania danych z dokumentów. OCR to dość dobrze zbadany problem i wyodrębnianie tekstu z dokumentów działa przez większość czasu. Następnym krokiem jest pobranie całego surowego tekstu wyodrębnionego z dokumentu, a następnie próba przeanalizowania każdego z poszczególnych fragmentów tekstu w dokumencie

Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

W ramach NLP istnieje wiele technik, które można zastosować do rozwiązania tego problemu

  1. Regex (wyrażenia regularne)

Aby wyodrębnić datę, wyrażenie regularne wyglądałoby tak:

^(?:(?:31(/|-|.)(?:0?[13578]|1[02]|(?:Jan|Mar|May|Jul|Aug|Oct|Dec)))1|(?:(?:29|30)(/|-|.)(?:0?[1,3-9]|1[0-2]|(?:Jan|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))2))(?:(?:1[6-9]|[2-9]d)?d{2})$|^(?:29(/|-|.)(?:0?2|(?:Feb))3(?:(?:(?:1[6-9]|[2-9]d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1d|2[0-8])(/|-|.)(?:(?:0?[1-9]|(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep))|(?:1[0-2]|(?:Oct|Nov|Dec)))4(?:(?:1[6-9]|[2-9]d)?d{2})$

Wyciągi 01

Źródło: https://stackoverflow.com/questions/15491894/regex-to-validate-date-format-dd-mm-yyyy

Wadą rozwiązania opartego na Regex jest to, że każdy nowy format musi być programowany osobno. Jeśli istnieje nowy format, należy go dodać do wyrażenia regularnego. Nie określa, czy konkretna data jest datą dostawy, terminem wymagalności lub datą zamówienia.

2. NER (Rozpoznawanie nazwanych podmiotów)

Aby wyodrębnić typy pól za pomocą NER

results = stanford_ner_tagger.tag(article.split()) print('Original Sentence: %s' % (article)) for result in results: tag_value = result[0] tag_type = result[1] if tag_type != 'O': print('Type: %s, Value: %s' % (tag_type, tag_value))

wydruki
Type: DATE, Value: 01/02/2020

Źródło: https://towardsdatascience.com/named-entity-recognition-3fad3f53c91e

Wadą ekstrakcji opartej na NER jest to, że działa dobrze w przypadku dobrze zdefiniowanych typów, ale zawodzi w przypadku różnych typów, takich jak adresy i rzeczy, które są niestandardowymi formatami. Działa dobrze w przypadku dat, walut, numerów telefonów itp. Działa sporadycznie w przypadku nazw i podmiotów. Cierpi na podobny problem polegający na tym, że nie wiadomo, która data jest datą dostawy, terminem wymagalności lub datą zamówienia.

3. Zmusić dostawcę / kupującego do korzystania z oprogramowania w celu przesłania dokumentu

Jeśli sprzedawca lub kupujący ma znaczący wpływ na transakcję, może zmusić drugą stronę do użycia ich oprogramowania w celu przesłania dokumentu. Eliminuje to większość problemów i odciąża całą odpowiedzialność na dostawcę, a digitalizacja dokumentów nie jest wymagana. Jednak to cierpi z powodu oczywistego problemu, że nie jest wszechobecny i wymaga interakcji drugiej strony z twoim oprogramowaniem. Nawet jeśli kilka stron trzecich nie przestrzega tego protokołu, dodanie go do istniejącego systemu wymaga znacznego wysiłku.


głęboki Learning

Technologia Deep Learning stała się ostatnio dość zaawansowana w wyodrębnianiu danych i, co ważniejsze, wyodrębnianiu funkcji, które mogą prowadzić do lepszych prognoz.

Graf Convolutional Neural Networks (GCN) może służyć do wyodrębniania danych z tych dokumentów. Dostarczamy GCN wiele różnych funkcji, z których każda służy do wydobywania prawidłowych informacji.

Można go podzielić na 2 etapy:
1. Ekstrakcja cech

Z każdego bloku tekstu wyodrębniamy różne funkcje.

a) Funkcje tekstowe

b) Cechy wizualne

c) Funkcje lokalizacji

d) Cechy rozmiaru

e) Funkcje czcionek

2. Tworzenie wykresów

Te funkcje są tworzone dla każdego bloku tekstu, a następnie tworzony jest wykres. Dla każdego bloku tekstu przekazywane są cechy jego sąsiada. Dzięki funkcjom wykresu i innym funkcjom utworzonym dla każdego bloku tekstu jest on następnie klasyfikowany jako jedno z pól zainteresowania lub jako Brak.

Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Dopasowywanie dokumentów

Aby dopasować dokumenty, Deep Learning jest również doskonałym rozwiązaniem, w którym wyodrębnione pola z każdego z typów dokumentów można przeanalizować, aby uzyskać ostateczną prognozę, czy dokumenty są zgodne.

Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Problemy z uczeniem głębokim

Istnieją dwie klasy informacji do wyodrębnienia

1. Problemy z kluczowymi wartościami (numer zamówienia, data itp.)

Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  • Identyfikowanie par klucz-wartość. Nie są one równomiernie rozmieszczone w różnych formatach i nie jest jasne, ilu sąsiadów przejrzeć.
  • Uwzględnienie wielu języków.
  • Za mało danych do trenowania dla określonego klucza (nierównowaga klas)

2. Problemy z wartościami tabeli

Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  • Klasyfikacja dowolnego pudełka jako tabeli
  • Brakuje tabel na stronach zawierających wiele tabel
  • Scalanie dwóch zamkniętych kolumn
  • Błędne interpretowanie granic strony jako granic tabeli

3. Inne problemy

  • Rotacja i kadrowanie
  • Obrazy niskiej jakości
  • Dryf danych

Używanie nanonetów

Rozwiązywanie problemów związanych z używaniem Deep Learning dla OCR w zamówieniach

Korzystanie z interfejsu API Nanonets Możesz automatycznie wyodrębnić wszystkie wymagane klucze wymagane do dopasowania dokumentów. Po prostu prześlij dokument i otrzymaj wszystkie wyodrębnione pola zwrócone w wybranym przez siebie formacie.

Rozwiązujemy większość problemów wymienionych powyżej, więc nie musisz tracić czasu na odkrywanie koła na nowo.

Kluczowe pary wartości:

1.Identyfikacja par klucz-wartość. Nie są one równomiernie rozmieszczone w różnych formatach.

Korzystając z naszej implementacji GCN, możemy analizować klucze w dokumentach. Nasza implementacja GCN obejmuje optymalizacje pod kątem znalezienia odpowiedniego wyszukiwania sąsiedztwa, aby uzyskać najlepszą ścieżkę między eksplozją funkcji a brakiem kontekstu dla modelu, aby poprawnie zinterpretować, do którego klucza należy każdy z nich

2. Uwzględnienie wielu języków.

Nasze modele zostały przeszkolone z osadzaniem tekstu niezależnym od języka. Osiąga się to poprzez utworzenie przestrzeni obiektów, w której osadzenia słów „Faktura” i „Faktura” (faktura w języku niemieckim) i चलाना (faktura w języku hindi) są odwzorowywane na tę samą przestrzeń obiektów. Tak więc funkcje tekstu stają się niezależne od języka, a model nie musi być trenowany dla każdego języka.

3. Za mało danych do trenowania dla określonego klucza (nierównowaga klas)

Posiadamy duży zbiór dokumentów finansowych, na podstawie których szkoleni są nasze modele, co łagodzi ten problem.

Stoły

1.Klasyfikowanie dowolnego pola jako tabeli

Zbudowaliśmy solidny klasyfikator, który może identyfikować wiele różnych tabel w różnych formatach i ustawieniach. Wykorzystuje połączenie funkcji wizualnych i funkcji układu wraz z funkcjami tekstowymi do identyfikacji struktury tabeli.

2. Brakujące tabele na stronach z wieloma tabelami

Po zidentyfikowaniu każdej z różnych struktur tabel na stronach mamy logikę scalania, która decyduje, czy struktura jest wystarczająco podobna do scalenia i czy tabela na poprzedniej stronie była niekompletna, aby określić, czy dwie tabele powinny zostać połączone.

3. Scalanie dwóch zamkniętych kolumn

Jeśli polegamy wyłącznie na cechach wizualnych, staje się to problemem, ponieważ trudno jest zidentyfikować separację przestrzenną. Jednak wraz z włączeniem tekstu wizualnego i funkcji opartych na pozycji możliwe staje się zidentyfikowanie, gdzie rodzaj danych zawartych w kolumnie jest na tyle inny, że można go nazwać nową kolumną.

4. Błędne interpretowanie granic stron jako granic tabel

Podobnie jak powyżej, problem ten rozwiązuje się za pomocą różnych funkcji w celu określenia, czy dana struktura jest tabelą, czy obramowaniem strony.

Inne problemy

1. obrót i kadrowanie

Wdrożyliśmy model obracania i przycinania jako część naszego etapu wstępnego przetwarzania, aby zidentyfikować krawędzie dokumentu, a następnie prawidłowo zorientować dokument. Wykorzystuje model podobny do modelu wykrywania obiektów ze zmodyfikowaną funkcją celu w celu zidentyfikowania 4 rogów, w przeciwieństwie do 2 punktów, co jest standardem w przypadku problemu z wykrywaniem obiektów. Rozwiązuje to zarówno płodozmian, jak i uprawę

2. Rozmycie i niska jakość dokumentu

Mamy model jakości umieszczony jako część naszego potoku przetwarzania wstępnego, który akceptuje tylko dokumenty powyżej określonego progu jakości. Jest to klasyfikator binarny, który jest prostym modelem klasyfikacji obrazów wyszkolonym na wielu dokumentach, które są zarówno dobrej, jak i złej jakości. W potoku przechwytywania dokumentów dokumenty mogą zostać odrzucone wcześnie, jeśli nie spełniają wymaganych standardów jakości i mogą zostać wysłane do ponownego przechwycenia lub ręcznego przetworzenia.

2. Dryft danych

Dryf danych jest problemem, gdy model jest narażony tylko na dane od jednego dostawcy lub jednego regionu. Jeśli model był w przeszłości szkolony dla różnych dostawców, branż geograficznych itp., Możliwość dryftu danych znacznie się zmniejsza, ponieważ był już narażony na te rozbieżności.

Rozpocznij digitalizację PO i Faktury Teraz z Nanonetami - 1 Kliknij Digitalizacja PO:

Jak OCR zamówień zakupu dla automatyzacji PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Inne dokumenty

Aktualizacja 1:
Dodano dalsze materiały do ​​czytania dotyczące wyodrębniania informacji z zamówień zakupu i używania OCR do automatyzacji

aktualizacja 2: Znacznie poprawiliśmy dokładność naszych modeli, aby wyodrębnić dane z PO.

Skonfiguruj demo

Skonfiguruj demo, aby dowiedzieć się, w jaki sposób Nanonets może pomóc w rozwiązaniu tego problemu

Znak czasu:

Więcej z AI i uczenie maszynowe