Метадані книги та пошук обкладинки за допомогою OCR і API Google Books
З KNIME вилучення критичної інформації із зображень стає таким же простим, як ABC.
By Роберто Каділі, дослідник даних, KNIME & Лада Рудницька, дослідник даних, KNIME
Малюнок 1: Приклади сповіщень про видання книги, де інформацію можна отримати завдяки OCR.
У більшості випадків необроблені дані, які нам потрібні для нашого наукового проекту, не організовані в акуратну, добре структуровану та зрозумілу таблицю. Навпаки, це іноді зберігається як текст у відсканованому документі. Потім слова в документі потрібно витягувати одне за одним, щоб сформувати комірку даних у текстовому форматі. Це завдання виконує оптичне розпізнавання символів (OCR).
Коли ви читаєте слова цієї статті, будь то текст чи цифри, ваші очі здатні обробляти їх, розпізнаючи світлі та темні візерунки, які складають символи (наприклад, літери, цифри, знаки пунктуації тощо). Потім ваш мозок розшифровує різні комбінації символів і шаблонів, щоб зрозуміти значення слів. У цьому сенсі ваші очі та мозок є найдосконалішим і найдосконалішим OCR-механізмом, який ви можете собі уявити, і вони працюють, навіть не помічаючи цього.
Комп’ютери мають схожі можливості, але їм доводиться долати важливе обмеження: відсутність очей. Якщо ми хочемо, щоб комп’ютери бачили та читали фізичний текстовий документ, нам потрібно ввести графічний файл, створений за допомогою оптичного сканера або цифрової камери. Що стосується комп’ютерів, то немає різниці між документом, отриманим за допомогою будь-якої з цих опцій, і фотографією Ейфелевої вежі: обидва вважаються безглуздими колекціями кольорових квадратів — також відомих як пікселі — які складають будь-яке комп’ютерне графічне зображення. Таким чином, останній є лише зображенням тексту, який ми збираємося прочитати, а не самим текстом.
Тут може стати в нагоді OCR. Ця потужна технологія здатна отримувати друковані, надруковані чи рукописні дані, будь то рахунки-фактури, візитні картки, юридичні тексти чи роздруківки, і перетворювати їх у цифровий формат, доступний для пошуку та редагування. Незважаючи на те, що протягом багатьох років OCR вважався дорогою послугою, яку могли собі дозволити лише деякі великі компанії, з середини 2000-х років її вартість поступово впала, тоді як її точність і можливості розвинулися для підтримки кількох сотень мов і кодування символів. , від UTF-8 до GB2312.
Перевага можливості пошуку й вилучення тексту із зображень може бути безцінною. Наприклад, у юридичній чи бухгалтерській галузі це може значно заощадити кошти та час, оскільки дає змогу за лічені секунди отримати частини тексту чи цифри в статтях чи фінансових звітах. Порівняння цього процесу з вартістю найму групи людей для перегляду тисяч документів лише для того, щоб знайти одну важливу інформацію, дає уявлення про те, яку користь OCR може принести бізнесу.
Зовсім недавно технологія OCR переживає тиху революцію, оскільки постачальники цієї послуги поєднують її з ШІ. Завдяки цьому дані не тільки збираються, дають можливість шукати та редагуватися, але й система штучного інтелекту фактично розуміє вміст для виконання конкретних завдань. Наприклад, після оптичного розпізнавання тексту ШІ може забезпечити його переклад за допомогою нейронного машинного перекладу з мінімальним втручанням людини. Ще один класичний приклад із розділу аудиту, де шахрайські рахунки-фактури можна розпізнати після розпізнавання вмісту PDF-документа за допомогою методів виявлення викидів. І так далі. Ця синергія поєднує найкраще з обох світів для оптимізації процесів і підвищення продуктивності для компаній і клієнтів.
У випадку використання, описаному в цій статті, OCR використовується для ідентифікації книги, а потім для отримання метаданих книги зі сховища книг Google.
Точніше, ми збираємося поглянути на:
- Як OCR можна проводити в Аналітична платформа KNIME.
- Як ми можемо інтегрувати процесор оптичного розпізнавання символів KNIME та API Google Books для отримання метаданих книг і обкладинки.
OCR на аналітичній платформі KNIME
Розпізнавання зображення, що містить текст, у KNIME є дуже легким завданням. Все, що потрібно, це встановити Обробка зображень KNIME — інтеграція Tess4J розширення у вашому локальному Аналітична платформа KNIMEі перетягніть Tess4J вузол на ваш редактор робочого процесу.
Вузол Tess4J інтегрує Бібліотека Tesseract OCR, один із найпоширеніших і найточніших доступних процесорів розпізнавання тексту з відкритим кодом. Tesseract спочатку був розроблений як пропрієтарне програмне забезпечення лабораторіями Hewlett-Packard на початку 1990-х років, а потім у 2005 році став відкритим вихідним кодом. Відтоді Google прийняв проект і спонсорував його розробку.
Вузол Tess4J працює на Tesseract 3, який розпізнає шаблони символів у двопрохідній процедурі.
- Під час першого проходу механізм намагається розпізнати кожен окремий символ. Потім він передає адаптивному класифікатору як навчальні дані символи, які були розпізнані з високою впевненістю під час першого проходу. Таким чином, адаптивний класифікатор має можливість навчитися точніше розпізнавати наступний текст.
- Однак може статися так, що адаптивний класифікатор дізнається корисну інформацію занадто пізно, щоб зробити значний внесок. Щоб вирішити цю проблему та використати знання, отримані адаптивним класифікатором, механізм виконує другий прохід, коли символи, які не були розпізнані достатньо добре, розпізнаються знову [1].
Tesseract 3 обробляє будь-які символи Unicode (закодовані за допомогою UTF-8) і може обробляти текст різними мовами та розкладкою: зліва направо (наприклад, англійська, італійська, російська тощо), справа наліво (наприклад, арабською, івритом, урду тощо) і зверху вниз (наприклад, японською, корейською, китайською тощо) [2].
Відмова від відповідальності. Користувачі Mac наразі не можуть використовувати вузол Tess4J. Розробники KNIME працюють над відновленням безперебійної роботи.
Випадок використання: отримання метаданих книги та обкладинки
Тепер, коли ми отримали базове розуміння того, як OCR працює на платформі KNIME Analytics, давайте розглянемо цікавий варіант використання. Припустімо, що ми зібрали зображення, що ілюструють повідомлення про видання кількох книг, і за допомогою цієї інформації ми хочемо отримати метадані книги та обкладинки. Потім отримані дані можна використати, наприклад, для створення індивідуальної цифрової бібліотеки та навчання системи рекомендацій книг.
Робочий процес на малюнку 2 охоплює всі етапи: від читання зображень, оптичного розпізнавання тексту, обробки тексту та вилучення посилань ISBN до метаданих книги та охоплює пошук і візуалізацію. Давайте детально розглянемо різні кроки.
Малюнок 2: Це робочий виконує просте завдання розпізнавання повідомлень про видання книги та отримує метадані книги та обкладинку за допомогою API Книг Google.
1 — Зчитування даних зображення
Першим кроком є імпорт зображень повідомлень про видання книги в KNIME. Повідомлення про видання – це сторінка в книзі, яка містить інформацію про поточне видання, наприклад повідомлення про авторські права, юридичні повідомлення, інформацію про публікацію, історію друку та код ISBN (рис. 1).
Метанода «Прочитати дані зображення» подбає про це простим і програмним способом (рис. 3). Ми визначаємо місце, де зберігаються файли зображень, за допомогою Список файлів/папок вузол і використовуйте Зчитувач зображень (таблиця) вузол для елегантного імпорту зображень. У вузлі Image Reader (Table) нам потрібно лише вказати «File Input Column», тобто стовпець із шляхами до файлів, де зберігаються наші зображення. Усі інші налаштування можна залишити за замовчуванням.
Зчитувач зображень (таблиця) є частиною Обробка зображень KNINE і, як і інші вузли в цьому розширенні, він пропонує інтерактивне подання, що містить зображення та його метадані, просто клацнувши вузол правою кнопкою миші, вибравши «Перегляд: Перегляд зображень» і двічі клацнувши будь-яке зображення в поданні таблиці.
Малюнок 3: Всередині метаноди «Читати дані зображення». Вузол Image Reader (Table) імпортує зображення в робочий процес і дозволяє нам інтерактивно досліджувати їх у його поданні.
2 — OCR
Прочитавши у файлах зображень повідомлення про видання книги, ми можемо розпізнати їх.
Конфігурація вузла Tess4J дуже проста і вимагає лише кількох клацань миші (Малюнок 4). В Налаштування Вузол пропонує можливість виправити будь-яке обертання або перекіс зображення, вибравши прапорець «Виправити вхідні зображення» в розділі «Попередня обробка» діалогового вікна налаштування. Зазвичай це рекомендується робити, оскільки графічні файли можуть бути неправильно вирівняні. Крім того, вузол Tess4J автоматично створює двійкове зображення за капотом.
Далі ми вибираємо «Шлях Tessdata». За замовчуванням для цього встановлено значення «Використовувати внутрішні», що дозволяє нам вибрати мову тексту, який ми хочемо обробити. У цій конфігурації англійська є мовою за замовчуванням, але вузол Tess4J підтримує інші природні мови, такі як датська, італійська, іспанська, російська, грецька, словацька, німецька та французька. Варто зазначити, що вибравши «Використовувати зовнішній», ми можемо розширити можливості вузла Tess4J, щоб включити мови, які не підтримуються внутрішньо. Дійсно, ми можемо вибрати наші власні, зовнішні навчені моделі мови даних, вказавши каталог, де вони зберігаються. Ми обираємо «Use Internal», оскільки ми вважаємо за краще покладатися на внутрішні моделі Tess4J для наших англійських документів.
У розділі «Конфігурація розпізнавання» ми знаходимо дві найважливіші конфігурації розкривного списку, а саме «Режим сегментації сторінки» та «Режим механізму OCR». Перший визначає, як наша сторінка сегментована.
На малюнку 4 ми вибираємо «Full Auto Pageseg», що забезпечує повністю автоматичну сегментацію сторінок. Залежно від конкретного випадку використання, вибір іншого режиму з 13 доступних (наприклад, «Один стовпець» або «Розріджений текст») може бути більш прийнятним варіантом.
Друге налаштування просить нас вибрати механізм OCR. Тут ми вибираємо «Тільки Тессеракт», що забезпечує найшвидше виконання. Інші варіанти включають «Лише куб» — альтернативний режим розпізнавання для Tesseract — який повільніший, але часто дає кращі результати; або «Тессеракт і куб», який поєднує в собі найкраще з обох світів. Вибір того чи іншого механізму сильно залежить від якості зображення та складності тексту, який ми хочемо обробити.
Окрім базових налаштувань, вузол Tess4J пропонує Advanced Config вкладка, де ми можемо визначити набір параметри контролю. Ця вкладка робить вузол надзвичайно гнучким і допомагає досвідченим користувачам налаштовувати та точно налаштовувати механізм Tesseract OCR відповідно до своїх конкретних потреб. Не хвилюйтеся, однак, у більшості випадків базові конфігурації займуть вам довгий шлях!
Рисунок 4: Діалогове вікно налаштування вузла Tess4J.
Окрім налаштування конфігурацій вузла Tess4J відповідно до наявного варіанту використання, за потреби бажано ретельно обробляти вхідні зображення. Зокрема, Tesseract працює найкраще, коли зображення достатньо масштабовані, щоб кількість пікселів x-висоти символів становила принаймні 20 пікселів; зображення правильно вирівняні і мають досить високу роздільну здатність; і будь-які темні рамки видаляються, інакше вони можуть бути неправильно витлумачені як символи [3]. The Обробка зображень KNINE розширення включає кілька вузлів для очищення зображення, маніпуляції та трансформації та багато приклад робочих процесів можна знайти на Центр KNIME.
Результатом роботи вузла Tess4J є таблиця, що містить витягнутий текст як тип даних String, і як такий його можна шукати та редагувати.
3 — Обробка тексту для вилучення ISBN
Після оптичного розпізнавання зображень можна нарешті отримати доступ до тексту, який вони містять, і отримати корисну інформацію.
Зокрема, повідомлення про видання зазвичай містять код ISBN, присвоєний книзі. Код ISBN є унікальним 13-значним кодом (до 10 року він був 2007-значним) комерційним ідентифікатором книги, і як такий він призначається кожному окремому виданню та варіанту публікації. Вилучення коду ISBN дозволяє нам однозначно посилатися на кожну книгу, коли ми хочемо отримати метаінформацію. Щоб досягти цього, ми можемо покладатися на вузли, включені в KNIME — Обробка тексту розширення, деякі з яких використовуються в метаноді «вилучення ISBN» (рис. 5).
У метаноді «Очищення тексту» ми починаємо з перетворення розпізнаного тексту з типу даних String на Document. Далі ми перетворюємо текст на малі літери, видаляємо знаки пунктуації, пробіли, дефіси та замінюємо літери «o» на «0» (нулі), щоб виправити неправильно розпізнані символи в кодах ISBN.
Ми витягуємо коди ISBN, виділяючи 13 символів, які слідують за рядком «isbn», і використовуємо Двигун правил вузол, щоб перевірити, чи витягнуті символи не містять пропущених значень і чи мають очікувану довжину 13 символів. Потім ми використовуємо можливість цього вузла, щоб додати стовпець, який позначає успішне вилучення як 1, а невдале вилучення як 0.
Малюнок 5: Всередині метаноду «вилучення номера ISBN».
4 — Пошук та візуалізація метаінформації
На останньому кроці ми використовуємо коди ISBN, щоб отримати метаінформацію про книги та обкладинки з API книг Google. Про це подбає метанода «Отримати метадані та обкладинки книги» (рис. 6). Однак отримання метаданих можливе лише за умови успішного вилучення кодів ISBN. Щоб забезпечити плавну обробку успішного/невдалого вилучення ISBN, ми включаємо кілька вузлів керування робочим процесом. Ви можете знайти глибокий огляд у Шпаргалка: контроль і оркестровка за допомогою аналітичної платформи KNIME.
Якщо код ISBN видобуто успішно, ми використовуємо ОТРИМАЙТЕ запит вузол для надсилання запиту GET API книг Google, безкоштовний веб-сервіс RESTful від Google, який дозволяє отримувати декілька метаінформації, як-от назва книги, підзаголовок, автори, дата публікації, опис, кількість сторінок, мова, середній рейтинг, кількість рейтингів і обкладинка. Крім того, цей веб-сервіс RESTful не потребує створення облікового запису розробника. Конфігурація вузла GET Request дуже проста. Це вимагає простого вибору значущого «URL-стовпця», який ми створюємо в Маніпулювання рядками вузол шляхом приєднання до URL-адреса API книг Google з кодом ISBN кожного повідомлення про видання. Усі інші налаштування можна залишити за замовчуванням.
Потім ми аналізуємо вихід JSON вузла GET Request за допомогою Шлях JSON вузол і об’єднайте витягнуту метаінформацію з обкладинками книг перед тим, як збирати остаточні результати.
Нарешті, ми створюємо компонент «Візуалізація метаданих і обкладинок книги» для акуратної візуалізації отриманої метаінформації та обкладинок книги.
У компонент ми обертаємо Віджет фільтра інтерактивного повзунка діапазону вузол для ввімкнення динамічного фільтрування книг на основі середньої кількості оцінок (0-жахливо; 5-чудово), призначених читачами в Google Books, і Вид плитки вузол для відображення результатів.
Потім компонент отримує подання, включаючи повзунок для вибору книг на основі середнього рейтингу та таблицю з обкладинками та описом вибраних книг. Для цієї статті ми вибрали для вилучення книги з рейтингом від 3 до 5, і результати відображені на малюнку 6.
Малюнок 6: Отримана метаінформація та обкладинки книг для книг із рейтингом вище 3.
Підсумки
У цій статті ми проілюстрували, як OCR можна легко виконати на платформі KNIME Analytics. З цією метою ми представили вузол Tess4J і надали подробиці про функціонування бібліотеки Tesseract OCR, на якій базується цей вузол.
Крім того, ми показали простий варіант використання, де OCR може бути потужним і корисним ресурсом. Ми витягли інформацію з повідомлень про видання книг, зокрема, коди ISBN, щоб надіслати запит GET до веб-служби RESTful Google Books. Це дозволило нам отримати метадані книги та обкладинки.
З KNIME оптичне розпізнавання зображень для вилучення критично важливих фрагментів інформації стає таким же простим, як ABC. Спробуйте самі! Який ваш варіант використання OCR?
Робочий процес, представлений у цій статті, можна безкоштовно завантажити з Центр KNIME.
посилання
[1] Сміт, Р. (2007). «Огляд Tesseract OCR Engine». Дев'ята міжнародна конференція з аналізу та розпізнавання документів (ICDAR 2007), стор. 629–633. Доступно за адресою:
https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33418.pdf
[Отримано: 15.07.2021].
[2] Проект Tesseract OCR на GitHub — https://github.com/tesseract-ocr/tesseract
[3] Документація Tesseract OCR на GitHub — https://tesseract-ocr.github.io/tessdoc/
Роберто Каділі є дослідником даних у KNIME, ентузіастом НЛП та любителем історії. Редактор низького коду для Advanced Data Science.
Лада Рудницька є науковцем з даних у KNIME.
Як вперше опубліковано в Низький код для Advanced Data Science.
Оригінал. Повідомлено з дозволу.
За темою:
Джерело: https://www.kdnuggets.com/2021/11/book-metadata-cover-retrieval-ocr-google-books-api.html
- "
- &
- 2021
- рахунки
- бухгалтерський облік
- AI
- ВСІ
- аналіз
- аналітика
- API
- стаття
- статті
- authors
- автоматичний
- КРАЩЕ
- книги
- Box
- будувати
- бізнес
- підприємства
- який
- кар'єра
- випадків
- розпізнавання символів
- китайський
- класифікація
- Очищення
- клієнтів
- код
- Збір
- Колонка
- комерційний
- Компанії
- компонент
- комп'ютери
- конференція
- довіра
- конфігурація
- зміст
- авторське право
- Поточний
- приладова панель
- дані
- наука про дані
- вчений даних
- деталь
- Виявлення
- Розробник
- розробників
- розробка
- цифровий
- документація
- Падіння
- Рано
- редактор
- інженер
- англійська
- і т.д.
- виконання
- Розширювати
- Експлуатувати
- видобуток
- Рисунок
- в кінці кінців
- фінансовий
- Перший
- стежити
- форма
- формат
- Безкоштовна
- французька
- GitHub
- добре
- Group
- Обробка
- мобільний
- тут
- Високий
- Наймання
- історія
- хостинг
- Як
- How To
- HTTPS
- ідея
- ідентифікувати
- зображення
- У тому числі
- Дохід
- Augmenter
- промисловість
- інформація
- інтерактивний
- Міжнародне покриття
- IT
- приєднатися
- знання
- корейський
- етикетки
- мова
- мови
- великий
- УЧИТЬСЯ
- вивчення
- легальний
- Важіль
- бібліотека
- світло
- список
- розташування
- Довго
- навчання за допомогою машини
- машинний переклад
- Маніпуляція
- середа
- а саме
- нерозбавлений
- Нейронний
- nlp
- вузли
- номера
- OCR
- Пропозиції
- відкрити
- з відкритим вихідним кодом
- оптичне розпізнавання символів
- варіант
- Опції
- Інше
- Люди
- фізичний
- картина
- піксель
- платформа
- продуктивність
- проект
- Python
- якість
- діапазон
- рейтинги
- Сировина
- необроблені дані
- читач
- читачі
- читання
- звітом
- ресурс
- результати
- наука
- Пошук
- обраний
- сенс
- комплект
- установка
- простий
- So
- Софтвер
- ВИРІШИТИ
- іспанська
- Рекламні
- старт
- історії
- успішний
- підтримка
- Підтриманий
- Опори
- система
- методи
- Технологія
- tesseract
- час
- топ
- Навчання
- Перетворення
- перетворення
- Переклад
- Unicode
- us
- користувачі
- вид
- візуалізації
- Web
- Що таке
- слова
- Work
- робочий
- працює
- вартість
- лист
- X
- років