Інтелектуальна обробка документів (Intelligent Document Processing) за допомогою Tesseract, Google Vision API та elDoc

Питання про інтелектуальну обробку документів (Intelligent Document Processing, IDP) є на сьогоднішній день одним з найбільш актуальних як для глобальних мультинаціональних корпорацій, які намагаються уникнути додаткових операційних витрат на ручну обробку документів з неструктурованими даними, так і для малого та середнього бізнесу по всьому світі.

У деяких інтернет-джерелах часто невиправдано прирівнюють інтелектуальну обробку документів (IDP) до технології OCR (Optical Character Recognition). З технічного погляду це не зовсім коректно і своєю чергою нерідко призводить щонайменше до розчарування в технології IDP – Intelligent Document Processing або навіть до провалу проектів з інтелектуальної автоматизації процесів на стороні бізнесу.

З якими ж потребами з обробки документів зазвичай стикається бізнес? Які можливі рішення можуть застосовуватися для автоматизації цих процесів? Які їх основні переваги та недоліки?

Для прикладу візьмемо три рішення, за допомогою яких зможемо на практиці верифікувати різні можливості обробки документів – Tesseract, Google Vision API та elDoc.

Отже, почнемо з постановки завдання.

Якщо спробувати узагальнити типові повсякденні бізнес-задачі з обробки документів, що містять неструктуровані дані, то в більшості випадків для їх вирішення потрібно:

  • ідентифікувати окремі необхідні поля в документі;
  • вибрати й розпізнати їх цільові значення;
  • структурувати отримані дані для подальшого використання в рамках автоматизації бізнес-процесу.

Завдання може бути значно ускладнено в разі, якщо документ є багатосторінковим, з великим обсягом даних, а потрібно розпізнати й вибрати тільки певний тип даних (наприклад, значення окремих цільових колонок таблиць), ігноруючи при цьому інші дані, що не мають цінності для процесу. Або ж у разі, якщо потрібно обробити файл, який містить кілька абсолютно різних типів документів з різною структурою полів і даних, котрі повинні бути вибрані й надалі оброблені згідно з певною логікою в розрізі кожного типу документа.

Тестова задача, яку ми розглянемо, – це зчитування конкретних даних із сертифіката про освіту, а також даних із сервіс-звіту. Нам необхідно зчитати та розпізнати з відсканованого документа (сертифіката про освіту) наступні поля: номер сертифіката, ім’я та прізвище власника, перелік предметів і оцінки. Своєю чергою із сервіс-звіту необхідно зчитати та розпізнати назву та код компанії, дату й номер рахунку, ID, тип і модель обладнання. Всі інші дані при масовій обробці подібних документів для нас не важливі. Завдання ускладнимо тим, що файл із сертифікатом буде містити також багатосторінковий сервіс-звіт.

Отже, почнемо з Tesseract.

Tesseract являє собою ПЗ для OCR (Optical Character Recognition), спочатку був розроблений у брістольській лабораторії Hewlett-Packard (Англія, Великобританія) і в Hewlett-Packard Co (Грилі, штат Колорадо, США) в період з 1985 по 1994 роки. Потім у 2005 році Tesseract був випущений з відкритим вихідним кодом Hewlett-Packard і Невадським університетом у Лас-Вегасі. З 2006 року розробка Tesseract спонсорується Google. Остання версія Tesseract заснована на моделях машинного навчання (Machine Learning), що дозволяє досягати високих результатів за якістю розпізнавання.

Сьогодні Tesseract вважається одним з найпотужніших рішень з відкритим вихідним кодом (open-source) для розпізнавання даних зі сканованих документів. Tesseract підтримує понад 100 різних мов, що робить його універсальним і широко поширеним рішенням у всьому світі. Багато технологічних компаній використовують Tesseract в основі для побудови комплексних рішень з інтелектуальної обробки даних.

Tesseract – це потужне OCR-рішення, здатне з високою точністю розпізнавати дані зі сканованих / сфотографованих документів. Однак Tesseract позиціонується тільки як рішення для розпізнавання всіх даних (plain OCR). Plain Tesseract не має можливостей ідентифікувати й зчитувати з документа конкретні поля / дані, а також обробляти багатосторінкові документи або файли, що містять кілька документів, класифікувати останні за типом і зчитувати з них потрібні дані.

Так, для нашої тестової задачі ми відправимо на обробку за допомогою Tesseract багатосторінковий документ у форматі PDF, та односторінковий документ «Звіт» у форматі JPG (далі – приклад No1), а також односторінковий документ «Сертифікат про освіту» в форматі JPG (далі – приклад No2).

Ілюстративний приклад роботи Tesseract (приклад No1):



Як бачимо з першого короткого демо, ми передали наш багатосторінковий документ Tesseract у форматі PDF для розпізнавання. Однак Tesseract не підтримує обробку документів формату PDF і, як наслідок, не підтримує наш багатосторінковий документ у форматі PDF. Односторінковий документ у форматі JPG Tesseract обробив, однак є деякі невідповідності, зокрема не всі поля розпізнані коректно й Tesseract розпізнав і вибрав усі значення, а не цільові.

Ілюстративний приклад роботи Tesseract (приклад No2):


Як бачимо з другого короткого демо, ми передали наш сертифікат Tesseract для розпізнавання у форматі JPG. Tesseract розпізнав дані досить непогано, проте є кілька коментарів до розпізнаного тексту. З огляду на складність зображення (якщо подивитися при збільшенні, фон документа також містить текст), Tesseract вибрав і розпізнав фон як частину тексту, а також вибрав усі без винятку дані, а не необхідні в початкових умовах.

Основні переваги Tesseract:

  • Tesseract є дуже потужним OCR-рішенням для розпізнавання даних зі сканованих документів, що надає досить високий рівень якості розпізнаних даних;
  • Tesseract – це open-source рішення, яке не потребує жодних фінансових вкладень.

Основні обмеження Tesseract і що необхідно для повноцінної обробки документів:

  • обробка документів формату PDF не підтримується;
  • результати розпізнавання представлені набором тексту без унікального зв’язку між назвами необхідних полів і їх значеннями;
  • немає можливості задавати й отримувати з документа тільки потрібні значення, ігноруючи інші дані;
  • немає можливості покращувати якість вихідного документа й очищувати текстовий фон документів;
  • немає можливості передавати Tesseract файл, який містить кілька документів різного типу й формату для подальшої класифікації документів;
  • немає можливості обробляти багатосторінкові документи з подальшою вибіркою конкретних даних;
  • немає можливості перевіряти правильність даних у разі, якщо рівень (%) довіри до розпізнаного тексту нижче очікуваного / встановленого;
  • немає можливості відстежувати чергу завантажених документів при масовій обробці документів;
  • немає можливості переглядати результати розпізнавання, статус обробки, чергу в зручному для бізнес-користувача форматі.

Тепер розглянемо, як справляється з тією ж бізнес-задачею Google Vision API.

Google Vision API – хмарний сервіс, спеціально розроблений для глибокого аналізу та вилучення даних із зображень, що володіє високою точністю розпізнавання. Інструмент заснований на потужних моделях машинного навчання (Machine Learning).

Ілюстративний приклад роботи Google Vision API (приклад No1):



Як бачимо з першого короткого демо, ми передали наш багатосторінковий документ Google Vision API у форматі PDF для розпізнавання. Однак Google Vision API (в рамках demo-доступу) не підтримує обробку документів формату PDF, і, як наслідок, нам довелося розбити документ на односторінкові файли у форматі JPG.

Ілюстративний приклад роботи Google Vision API (приклад No2):


Як показує друге відео, Google Vision API краще структурував дані, проте, як і Tesseract, розпізнав фон документа як частину тексту, що значно ускладнює його подальшу обробку. Таким чином, дані вийшли структуровані трохи краще, ніж через обробку Tesseract, але все ще не в цільовому для нас форматі.

Важливе зауваження: наведений аналіз ґрунтується на використанні загальнодоступної (trial) версії Google Vision API.

Основні переваги Google Vision API:

  • потужний інструментарій, побудований з використанням технології машинного навчання для глибокого аналізу зображень;
  • рішення надає досить високий рівень розпізнаних даних.

Обмеження, які виникають при обробці документів via Google Vision API:

  • У разі, якщо необхідно обробити багатосторінковий документ у форматі PDF, розміщений на локальному диску, потрібно розбити його на окремі сторінки, конвертувати їх у формат .PNG / .JPEG і відправляти на обробку послідовно одну за одною;
  • результати розпізнавання представлені без зв’язку між назвами цільових полів і їх значеннями. Розпізнані дані розташовані в різних блоках як окремі незалежні текстові значення або представлені одним рядком спільно з іншими даними, які не становлять інтересу для бізнес-процесу, що значно ускладнює процес вилучення цільових значень і подальшу автоматизацію бізнес-процесів у цілому;
  • немає можливості обробляти багатосторінкові документи з подальшою вибіркою конкретних даних;
  • немає можливості перевіряти правильність даних у разі, якщо рівень (%) довіри до розпізнаного тексту нижче очікуваного / встановленого;
  • немає можливості відстежувати чергу завантажених документів при масовій обробці документів;
  • немає можливості переглядати результати розпізнавання, статус обробки, чергу в зручному для бізнес-користувача форматі.

В якості третього рішення такої ж бізнес-задачі візьмемо для порівняння систему інтелектуальної обробки документів elDoc.

elDoc – інтегрована інтелектуальна платформа для автоматизації процесів документообігу та обробки документів, яка включає elDoc IDP (Intelligent Document Processing) – високотехнологічний модуль для інтелектуальної обробки документів, розроблений із застосуванням когнітивних технологій і комплексних математичних моделей (AI based). В основі elDoc для розпізнавання даних також використовується Tesseract останньої версії, заснованої на нейронних мережах і машинному навчанні.

Ілюстративний приклад роботи elDoc:


Як бачимо, в систему elDoc ми завантажуємо файл, який містить кілька документів різних форматів (наш сертифікат, багатосторінковий сервіс-звіт) – задача, котра була поставлена спочатку. Результати обробки показують, що система elDoc виконала наступні операції:

  • автоматично здійснила очистку зображення, поліпшивши якість документа, де це можливо (вирівнювання, нормалізація фону);
  • автоматично класифікувала документи за типом (сертифікат, багатосторінковий сервіс-звіт);
  • вибрала й розпізнала потрібні поля в документі з визначенням рівня довіри до даних (confidence level).

Таким чином, для вирішення завдань, де потрібні розпізнавання всього тексту, який міститься у відсканованих / сфотографованих документах, і конвертація його в редагований / структурований формат, найбільше підійдуть такі рішення, як Google Vision API, Tesseract й інші подібні. Ці рішення також можуть служити ідеальним базисом для побудови комплексних систем обробки даних.

У тих же випадках, коли метою є повна автоматизація процесу обробки документів з неструктурованими даними (зокрема, де потрібна вибірка окремих цільових даних для подальшої конвертації в певний формат, їх структурування для подальшого використання та обробки відповідно до встановленої бізнес-логіки з можливістю проведення верифікації, зберігання документа й управління всім життєвим циклом документа), – застосовуються більш комплексні автоматизовані рішення – інтегровані інтелектуальні платформи для обробки документів (Intelligent Integrated Platform for Document Processing) і когнітивного машинного читання (Cognitive Machine Reading, CMR).

З тим щоб впровадити всі необхідні (базові) вимоги з обробки документів, однієї технології OCR недостатньо. Так само, як і у випадках, коли потрібно провести нормалізацію (передобробку) картинки з низькою якістю зображення, очистити її від фону й непотрібних артефактів з метою кращого розпізнавання тексту. Для подібного роду завдань використовуються комплексні рішення, зокрема інтегрована інтелектуальна автоматизована платформа elDoc. Вона включає в себе такі когнітивні технології, як Intelligent OCR, OMR, ICR, Computer Vision, і дозволяє не тільки виконати вищевказані завдання, а й надає можливості повної, комплексної автоматизації процесів обробки документів – від початку ініціації процесу до розміщення документа в електронному архіві.

Дізнатися більше про інтелектуальну обробку документів: Document Understanding and e2e Intelligent Document Processing capabilities.

Більше інформації про інтелектуальну обробку документів ви можете знайти, перейшовши за наступним посиланням – elDoc.

Завантажити брошуру з інтелектуальної інтегрованої платформи з розуміння документів та інтелектуальної обробки документів – Брошура elDoc.

Про «elDoc»
«elDoc» – інтегрована інтелектуальна платформа для автоматизації процесів документообігу та обробки документів, що включає: elDoc IDP (Intelligent Document Processing) – високотехнологічний модуль з інтелектуальної обробки документів. elDoc IDP – потужний механізм, побудований із застосуванням когнітивних технологій, що здатний класифікувати, здійснювати «image clearance», розпізнавати та отримувати дані зі сканованих та цифрових документів; elDoc BPM (Business Process Management) – високотехнологічний модуль для управління бізнес-процесами, що дозволяє налаштовувати процеси документообігу та форми документів відповідно до різних сценаріїв.

Про «DMS Solutions»
Компанія «DMS Solutions» – технологічна продуктова компанія, розробник інтегрованої платформи для інтелектуальної автоматизації процесів обробки документів (IDP – Intelligent Document Processing & Document Workflow Automation) – «elDoc».
Ми – перший український провайдер послуг у сфері роботизації бізнес-процесів (Robotic Process Automation, RPA), побудови систем управління програмними роботами, а також інтелектуальної обробки документів. Компанія «DMS Solutions» представлена в Україні й Гонконгу, охоплює ринки Європи, Північної Америки та Азії. «DMS Solutions» є офіційним Золотим партнером «UiPath» і реселлером програмного забезпечення «UiPath» в Україні, а також офіційним глобальним Advanced UiPath Technology Partner у сфері інтелектуальної обробки документів (Intelligent OCR).