{"id":31580,"date":"2020-09-09T09:20:46","date_gmt":"2020-09-09T07:20:46","guid":{"rendered":"https:\/\/nearshore-it.eu\/artykuly\/technologia-rozpoznawania-obrazu-ocr-w-rpa\/"},"modified":"2024-11-07T14:37:26","modified_gmt":"2024-11-07T13:37:26","slug":"technologia-rozpoznawania-obrazu-ocr-w-rpa","status":"publish","type":"post","link":"https:\/\/nearshore-it.eu\/pl\/artykuly\/technologia-rozpoznawania-obrazu-ocr-w-rpa\/","title":{"rendered":"Technologia rozpoznawania obrazu OCR w RPA"},"content":{"rendered":"\n<div class=\"table-of-contents\">\n    <p class=\"title\">Przejd\u017a do:<\/p>\n    <ol>\n                    <li><a href=\"#czym-jest-technologia-ocr\">1.  Czym jest technologia OCR?<\/a><\/li>\n                    <li><a href=\"#wykorzystanie-technologii-ocr-w-rpa\">2.  Wykorzystanie technologii OCR w RPA<\/a><\/li>\n                    <li><a href=\"#skutecznosc-ocr\">3.  Skuteczno\u015b\u0107 OCR<\/a><\/li>\n                    <li><a href=\"#ocr-w-rpa-w-praktyce-case-study\">4.  OCR w RPA w praktyce \u2013 case study<\/a><\/li>\n                    <li><a href=\"#ocr-w-rpa-najwieksze-korzysci\">5.  OCR w RPA \u2013 najwi\u0119ksze korzy\u015bci<\/a><\/li>\n                    <li><a href=\"#podsumowanie\">6.  Podsumowanie<\/a><\/li>\n            <\/ol>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"czym-jest-technologia-ocr\">Czym jest technologia OCR?<\/h2>\n\n\n\n<p>Technologia <strong>OCR (Optical Character Recognition)<\/strong> jest zestawem technik s\u0142u\u017c\u0105cych do rozpoznawania znak\u00f3w i ca\u0142ych tekst\u00f3w w pliku graficznym w postaci rastrowej (czyli w formie bitmapy). M\u00f3wi\u0105c pro\u015bciej, OCR umo\u017cliwia rozpoznawanie pisma, zeskanowanego tekstu (czyli uog\u00f3lniaj\u0105c pliku graficznego) i przetworzenie go do postaci cyfrowej. Rozpoznawanie pisma jest mo\u017cliwe dzi\u0119ki zastosowaniu w tej technologii wielu metod z dziedziny rozpoznawania wzorc\u00f3w, kt\u00f3ra jest jedn\u0105 z metod sztucznej inteligencji. Za ka\u017cdym razem wi\u0119c, gdy wykorzystujemy rozpoznawanie obrazu, korzystamy z bardziej zaawansowanej technologii ni\u017c cz\u0119sto nam si\u0119 wydaje.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wykorzystanie-technologii-ocr-w-rpa\">Wykorzystanie technologii OCR w RPA<\/h2>\n\n\n\n<p><a href=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/robotic-process-automation-w-czym-tkwi-sekret-jej-popularnosci\">Robotics Process Automation<\/a> to dziedzina, kt\u00f3ra korzysta z r\u00f3\u017cnych technologii informatycznych, aby automatyzowa\u0107 procesy biznesowe. W wielu procesach z r\u00f3\u017cnych obszar\u00f3w dzia\u0142alno\u015bci firmy na kt\u00f3rym\u015b etapie (np. jako dane wej\u015bciowe) wykorzystuje si\u0119 skany dokument\u00f3w. W wi\u0119kszo\u015bci dokumenty te s\u0105 dostarczane lub generowane w formie plik\u00f3w PDF, a pracownicy potrzebuj\u0105 wydoby\u0107 (wyekstrahowa\u0107) z nich okre\u015blone dane. W takiej sytuacji mo\u017cna wykorzysta\u0107 automatyzacj\u0119, kt\u00f3ra dzia\u0142a w oparciu o rozpoznawanie obrazu. Wa\u017cne jest to, w jakim formacie s\u0105 dostarczone dane. Je\u015bli pliki PDF wygenerowane s\u0105 jako tekst i maj\u0105 ustalon\u0105 struktur\u0119, to do ich analizy developerzy mog\u0105 u\u017cy\u0107 wyra\u017ce\u0144 regularnych, kt\u00f3re s\u0142u\u017c\u0105 do walidacji danych tekstowych lub wyszukiwania danych w tek\u015bcie na podstawie wzorc\u00f3w. <strong>Je\u015bli jednak dokument jest zeskanowany jako obraz, to jedynym sposobem umo\u017cliwiaj\u0105cym sczytanie danych jest wykorzystanie technologii OCR.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"skutecznosc-ocr\">Skuteczno\u015b\u0107 OCR<\/h2>\n\n\n\n<p>Czy ka\u017cdy dokument mo\u017cna odczyta\u0107 za pomoc\u0105 OCR? Najwa\u017cniejszym czynnikiem jest to, czy dane s\u0105 kompletne i prawdziwe \u2013 w przeciwnym razie b\u0119d\u0105 one bezu\u017cyteczne. Skuteczno\u015b\u0107 odczytu jest uzale\u017cniona od jako\u015bci dokument\u00f3w. Je\u017celi dostarczane dokumenty nie s\u0105 dobrej&nbsp;jako\u015bci, pismo nie jest kontrastowe, dokumenty b\u0119d\u0105 zawiera\u0142y pismo odr\u0119czne lub b\u0119d\u0105 np.: odwr\u00f3cone, to wp\u0142ynie to znacz\u0105co na jako\u015b\u0107 odczytu danych. <strong>Z pomoc\u0105 przychodz\u0105 zaawansowane algorytmy rozpoznawania tekstu, a na rynku jest wiele firm, kt\u00f3re oferuj\u0105 gotowe oprogramowanie lub zaawansowane algorytmy OCR.<\/strong> Decyduj\u0105c si\u0119 na takie rozwi\u0105zanie, trzeba si\u0119 upewni\u0107, \u017ce dane oprogramowanie posiada interfejs, kt\u00f3ry umo\u017cliwi dostarczenie dokumentu do procesowania i odebrania przetworzonych danych z OCR. Jednak aby skuteczno\u015b\u0107 rozpoznawania danych by\u0142a w\u0142a\u015bciwa, developerzy RPA automatyzuj\u0105 testowanie jako\u015bci danych zwr\u00f3conych przez narz\u0119dzie OCR.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ocr-w-rpa-w-praktyce-case-study\">OCR w RPA w praktyce \u2013 case study<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"problem\">Problem<\/h3>\n\n\n\n<p>Jako programista wspieram firmy, kt\u00f3re chc\u0105 przyspieszy\u0107 procesowanie dokument\u00f3w. W jednym z projekt\u00f3w wdra\u017ca\u0142em rozwi\u0105zanie dla klienta, kt\u00f3ry procesowa\u0142 du\u017ce ilo\u015bci zam\u00f3wie\u0144 w formie PDF i chcia\u0142 przyspieszy\u0107 i usprawni\u0107 ten proces. W moim przypadku realizowany by\u0142 projekt z obszaru Procurement, a rozwi\u0105zanie OCR dostarcza\u0142 jeden z wiod\u0105cych dostawc\u00f3w narz\u0119dzi OCR. Oto, jak przebiega\u0142 proces u klienta:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sprzedawca (Vendor) dostarcza potwierdzenie z\u0142o\u017cenia zam\u00f3wienia (Order Acknowledgement) w formacie PDF. Dokument ten przesy\u0142a na dedykowan\u0105 skrzynk\u0119 mailow\u0105.<\/li>\n\n\n\n<li>Pracownicy po stronie biznesu odbieraj\u0105 dokument, odczytuj\u0105 dane i waliduj\u0105 je, por\u00f3wnuj\u0105c z danymi w systemie ERP.<\/li>\n\n\n\n<li>Je\u017celi dokument przechodzi walidacj\u0119, odczytane dane s\u0105 procesowane w kilku transakcjach ERP.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"wyzwanie\">Wyzwanie<\/h3>\n\n\n\n<p>Wyzwaniem w projekcie by\u0142o skuteczne odczytanie okre\u015blonych p\u00f3l.<strong> Z przes\u0142anego potwierdzenia zam\u00f3wienia nale\u017ca\u0142o ekstrahowa\u0107 15 p\u00f3l, z czego 5 zawiera\u0142o dane kluczowe, niezb\u0119dne do walidacji i procesowania danego dokumentu.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"projekt\">Projekt<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Dostawca rozwi\u0105zania, zobowi\u0105za\u0142 si\u0119, \u017ce dok\u0142adno\u015b\u0107 odczytywanych danych, szczeg\u00f3lnie danych kluczowych, b\u0119dzie na poziomie 90%.<\/li>\n\n\n\n<li>&nbsp;Przedstawiciele klienta dostarczyli dane wzorcowe, z kt\u00f3rymi por\u00f3wnywany by\u0142 ekstrakt z OCR.<\/li>\n\n\n\n<li>Projekt zosta\u0142 podzielony na rundy. Podczas ka\u017cdej rundy dostawca oprogramowania dostosowywa\u0142 algorytm OCR do specyfikacji przesy\u0142anych dokument\u00f3w, aby poprawi\u0107 skuteczno\u015b\u0107 rozpoznawania znajduj\u0105cych si\u0119 w nich danych.<strong> W pocz\u0105tkowych fazach projektu skuteczno\u015b\u0107 rozpoznawania cz\u0119\u015bci danych, szczeg\u00f3lnie danych tekstowych, by\u0142a bardzo niska, cz\u0119sto poni\u017cej 60%.<\/strong> W przypadku danych numerycznych algorytm radzi\u0142 sobie lepiej.<\/li>\n\n\n\n<li>Programi\u015bci stworzyli robota, kt\u00f3ry \u201eczyta\u0142\u201d e-maile z dedykowanej skrzynki i je\u017celi email zawiera\u0142 za\u0142\u0105cznik w formacie PDF, by\u0142 on wysy\u0142any do narz\u0119dzia OCR w celu procesowania.<strong>Pierwsze obserwacje:<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Najlepsz\u0105 skuteczno\u015b\u0107 rozpoznawania mia\u0142y dane liczbowe oraz ustandaryzowane dane, takie jak np. kody pocztowe.<\/li>\n\n\n\n<li>Najwi\u0119ksze problemy zaobserwowa\u0142em przy rozpoznawaniu danych tekstowych. Dla przyk\u0142adu, OCR zamiast liter B zwraca\u0142 liczb\u0119 8, zamiast cyfry 0 \u2013 liter\u0119 O.<\/li>\n\n\n\n<li>Problemem by\u0142o r\u00f3wnie\u017c rozpoznawanie dat, poniewa\u017c daty w dokumentach wyst\u0119powa\u0142y w r\u00f3\u017cnych niestandardowych formatach.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>W celu mo\u017cliwo\u015bci wysy\u0142ania i odbierania danych z OCR, zosta\u0142 udost\u0119pniony interfejs webowy (WebAPI). Robot w jednym z podproces\u00f3w wysy\u0142a\u0142 dany dokument do procesowania. W kolejnym podprocesie przetworzone dane by\u0142y odbierane w czytelnym formacie JSON, s\u0142u\u017c\u0105cym do zapisu struktur danych.<\/li>\n\n\n\n<li>Zosta\u0142 stworzony podproces przetwarzaj\u0105cy dane do formatu, w kt\u00f3rym znajdowa\u0142y si\u0119 nie tylko warto\u015bci poszczeg\u00f3lnych p\u00f3l na dokumencie, ale r\u00f3wnie\u017c wyra\u017cone w procentach informacje na temat tego, jakiej jako\u015bci s\u0105 te dane, <strong>tzw. Confidence Score.<\/strong> Warto\u015b\u0107 Confidence Score by\u0142a podawana zar\u00f3wno dla poszczeg\u00f3lnych p\u00f3l, jak i dla ca\u0142ego dokumentu.<\/li>\n\n\n\n<li>Na podstawie Confidence Score robot klasyfikowa\u0142 dany dokument do dalszego procesowania. <strong>Je\u017celi warto\u015b\u0107 Confidence Score dla ca\u0142ego dokumentu wynosi\u0142a poni\u017cej 90%, wymaga\u0142 on manualnej walidacji i uzupe\u0142nienia danych przez pracownik\u00f3w.<\/strong> Je\u017celi warto\u015b\u0107 Confidence Score wynosi\u0142a powy\u017cej 90%, dokument m\u00f3g\u0142 by\u0107 procesowany w <a href=\"http:\/\/jcommerce.local\/uslugi-it\/systemy-erp\" target=\"_blank\" rel=\"noopener\">systemie ERP.<\/a><\/li>\n<\/ol>\n\n\n\n<p>Dodatkowo, na potrzeby testowania skuteczno\u015bci algorytmu OCR, robot ekstrahowa\u0142 dane zwr\u00f3cone przez OCR, kt\u00f3re nast\u0119pnie by\u0142y por\u00f3wnywane z danymi wzorcowymi dostarczonymi przez klienta. W celu zautomatyzowania procesu testowania stworzy\u0142em narz\u0119dzie wykorzystuj\u0105ce algorytm, kt\u00f3ry wyszukiwa\u0142 i por\u00f3wnywa\u0142 dane testowe z danymi z OCR.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"efekty\">Efekty<\/h3>\n\n\n\n<p><strong>Po kilku miesi\u0105cach i 6-7 rundach dostosowywania algorytmu OCR przez dostawc\u0119, dane dla wielu p\u00f3l, szczeg\u00f3lnie p\u00f3l danych kluczowych, by\u0142y bliskie 90%.<\/strong> Narz\u0119dzie generowa\u0142o dok\u0142adne rezultaty wyra\u017cone w procentach dla ka\u017cdego z odczytywanych p\u00f3l. W efekcie wi\u0119cej dokument\u00f3w by\u0142o procesowanych automatycznie i uda\u0142o si\u0119 zautomatyzowa\u0107 proces walidacji faktur, kt\u00f3ry wcze\u015bniej by\u0142 wykonywany r\u0119cznie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ocr-w-rpa-najwieksze-korzysci\">OCR w RPA \u2013 najwi\u0119ksze korzy\u015bci<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Odci\u0105\u017cenie dzia\u0142\u00f3w zajmuj\u0105cych si\u0119 walidacj\u0105 danych i przyspieszenie procesu.<\/li>\n\n\n\n<li>Szybszy obieg dokument\u00f3w.<\/li>\n\n\n\n<li>Automatyzacja wi\u0119kszej liczby proces\u00f3w dzi\u0119ki wykorzystaniu zaawansowanej technologii.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"podsumowanie\">Podsumowanie<\/h2>\n\n\n\n<p>Jak wida\u0107 z przytoczonego przyk\u0142adu, technologia OCR ma bardzo praktyczne zastosowanie w robotyce. Kluczowym czynnikiem jest efektywno\u015b\u0107 i precyzja w rozpoznawaniu tekstu, kt\u00f3ra wp\u0142ywa na finalny sukces danego projektu. W bardziej zaawansowanych i rozbudowanych rozwi\u0105zaniach OCR dodatkowo wykorzystuje si\u0119 <a href=\"http:\/\/jcommerce.local\/uslugi-it\/transformacja-cyfrowa\/uczenie-maszynowe\" target=\"_blank\" rel=\"noopener\">Machine Learning,<\/a> dzi\u0119ki czemu skuteczno\u015b\u0107 rozpoznawania tekstu poprawia si\u0119 w czasie, wraz z liczb\u0105 dostarczanych dokument\u00f3w. Technologia daje nam niesamowite mo\u017cliwo\u015bci i pozwala osi\u0105ga\u0107 efekty, jakie by\u0142yby niemo\u017cliwe dla cz\u0142owieka. Specjali\u015bci RPA i zespo\u0142y programistyczne ca\u0142y czas pracuj\u0105 nad udoskonalaniem tych rozwi\u0105za\u0144, tak by klienci osi\u0105gali coraz lepsze rezultaty dzi\u0119ki inteligentnym rozwi\u0105zaniom.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jedn\u0105 z technologii, jakie wykorzystuje si\u0119 w automatyzacji proces\u00f3w biznesowych, jest rozpoznawanie obrazu. OCR pozwala usprawni\u0107 procesy wsz\u0119dzie tam, gdzie pracuje si\u0119 z du\u017c\u0105 liczb\u0105 dokument\u00f3w, faktur i plik\u00f3w PDF. Jak wykorzysta\u0107 t\u0119 technologi\u0119 w praktyce i usprawni\u0107 obieg dokument\u00f3w w firmie? Postaram si\u0119 pokaza\u0107 ten proces i efekty z perspektywy programisty, kt\u00f3ry pomaga klientom z r\u00f3\u017cnych bran\u017c wdra\u017ca\u0107 i udoskonala\u0107 rozwi\u0105zania typu Robotic Process Automation.<\/p>\n","protected":false},"author":133,"featured_media":31581,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"iawp_total_views":30,"footnotes":""},"categories":[1,582],"tags":[615,564],"offering":[521],"class_list":["post-31580","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artykuly","category-technologie","tag-rpa-2","tag-transformacja-cyfrowa","offering-modern-data-solutions"],"acf":[],"_links":{"self":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/31580","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/users\/133"}],"replies":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/comments?post=31580"}],"version-history":[{"count":3,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/31580\/revisions"}],"predecessor-version":[{"id":33900,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/31580\/revisions\/33900"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/media\/31581"}],"wp:attachment":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/media?parent=31580"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/categories?post=31580"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/tags?post=31580"},{"taxonomy":"offering","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/offering?post=31580"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}