OCR математичних формул: Pix2Tex, Mathpix, TrOCR

Рукописні та друковані формули в статтях, звітах і патентах доводиться переносити в електронний вигляд вручну — це повільно й з помилками. Ми розробляємо розпізнавання формул під ключ: налаштовуємо розбір під ваші документи та віддаємо результат у зручному для редакторів вигляді. Частка ручного правлення після впровадження скорочується в рази.
Часті запитання

Чому розпізнавання формул ламається на реальних документах

Розпізнавання формул ламається не на рівні символів, а на рівні структури. Формула — це двовимірна верстка: положення гліфа щодо базової лінії задає, індекс це, показник чи множник.

Моделі, що читають рядок зліва направо, втрачають цю геометрію й повертають коректну розмітку, яка описує інший вираз.

Накладені індекси — перший клас помилок розпізнавання: вкладені степені й подвійні підрядкові знаки згортаються в один рівень.

Дроби на кілька ярусів і матриці додають другу вісь, де межі рядків і стовпців визначаються за проміжками, а дужки змінної висоти заважають відновити розмітку.

Рукописні формули погіршують картину: почерк не дає стабільних пропорцій, а правки поверх друкованого тексту читаються як частина виразу.

Якість сканів працює як множник до всіх цих збоїв. Перекіс сторінки, нерівномірне засвітлення, артефакти стиснення й тонкі штрихи перетворюють індекс на шум, тому поріг бінаризації доводиться добирати посторінково — інакше частина знаків зливається з фоном. Навіть сильні на друкованих виразах рішення просідають на таких файлах.

Окрема категорія — контекст навколо виразу. Наскрізна нумерація всередині абзацу, посилання виду «див. (14)», розрив формули між рядками або колонками потребують не розпізнавання символів, а розбору структури документа.

Тому ми оцінюємо частку виразів, що повністю збіглися, а не точність за окремими знаками: остання метрика маскує зсунутий індекс і втрачену дужку.

Вимірюваний ефект: точність, швидкість, частка ручної правки

Точність розпізнавання вважаємо не за «кількістю вгаданих символів», а за формулою загалом: нормалізуємо розмітку й порівнюємо з еталоном, який підготував методист.

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

Працюємо через локальний розпізнавач Pix2Tex: він працює в нашій інфраструктурі, сторінки не йдуть у зовнішні сервіси, а на виході ми отримуємо оцінку впевненості за кожним фрагментом.

Формула нижче порогу не потрапляє до готового документа автоматично — вона йде в чергу на перевірку з підсвічуванням сумнівних місць. Так закривається найдорожчий клас відмов: непомітно хибна формула, яка доходить до редактора й живе в макеті до верстки.

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

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

Варіанти розбору формул: порівняння підходів і режимів

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

Формули не можна «поправити за змістом» — втрачений індекс степеня або межа дробу змінюють результат, тому режим добирають під задачу, а не «найточніший загалом».

Окремо фіксуємо формат виводу: LaTeX для вставки в редактори й MathML для веба — від нього залежить, що далі робить конвеєр.

Варіант Коли підходить Обмеження
Готовий зовнішній сервіс Разовий розбір невеликих обсягів, простий друкований набір Сторінки йдуть на чужий бік; якість не підлаштувати під свій корпус
Локальний рушій Конфіденційні документи й потік сторінок усередині вашого контуру На складній нотації точність нижча без налаштування; потрібен власний запуск і оновлення моделей
Гібридна схема Масовий потік, де помилка дорога: чорновий прохід плюс перевірка людиною Потрібен інтерфейс правки й регламент — частина роботи залишається за редактором
Дообучення на власному корпусі Вузька нотація, власні позначення, багато однотипних документів Потрібен розмічений корпус і час; виграш помітний від кількох тисяч формул

Гібридну схему й дообучення не протиставляємо: розмічені правки з інтерфейсу перевірки стають корпусом для наступної ітерації, і частка формул, що пройшли без правки, зростає від запуску до запуску.

Перед запуском потоку в роботу ми проганяємо ваш набір документів і звіряємо рендер LaTeX і MathML у тому редакторі, де формулами будуть користуватися, — так несумісність виводу з’ясовується на тесті, а не в середині вивантаження.

Етапи впровадження розпізнавання формул у конвеєр документів

Розпізнавання формул ламається не на моделі, а на розриві між демонстраційним прикладом і реальним корпусом. В одному потоці йдуть скани з шумом і перекосом, векторні PDF, де гліфи розкладені за координатами, і фотографії з дошки.

Тому роботи йдуть фіксованою послідовністю: спочатку вимірюємо корпус, потім будуємо схему розбору, далі налаштовуємо й передаємо.

  1. Аудит корпусу документів. Рахуємо частку сторінок із формулами, типи джерел, шрифти, мови викладок. Фіксуємо, що трапляється: дроби, матриці, індекси, багаторядкові виведення. На виході — карта: де розбір іде відразу, а де потрібна попередня обробка.
  2. Еталонна вибірка. Кілька сотень сторінок, розмічених вручну, з балансом за типами формул. Метрика — частка викладок, розпізнаних загалом і з правильною структурою: точність за символами приховує втрачений індекс або вкладеність.
  3. Схема розбору. Задаємо порядок: пошук областей формул, вирізання із запасом, нормалізація масштабу й контрасту, розпізнавання, складання назад у розмітку документа. Рушій вибираємо за результатом на вибірці, а не за описом.
  4. Налаштування розбору. Під ваш корпус: поріг детекції областей, словник команд, постобробка — відновлення дужок і службових команд, розв’язання конфліктів із текстовим шаром сторінки.
  5. Перевірка на еталонній вибірці. Проганяємо конвеєр загалом, розбираємо помилки за класами: злиплі індекси, втрачені знаки, неправильна вкладеність. Окремий сліпий набір сторінок, що не брали участі в налаштуванні, відокремлює реальну точність від підгонки.
  6. Передача рішення. Віддаємо код, конфігурацію, словники й регламент експлуатації: як підключати нові типи формул, що перевіряти при просіданні точності, де дивитися журнали й як оновлювати вибірку.

Що залишається в замовника: артефакти й регламенти

Рішення передаємо не як сервіс, що працює на нашому боці, а як комплект, який ваша команда супроводжує без нас. Кожен матеріал перевіряється на прийманні: якщо процес не можна відтворити за документами, передача не закрита.

  • Конфігурації розпізнавання: параметри попередньої обробки сторінок, пороги впевненості, правило надсилання фрагмента на ручну перевірку.
  • Схеми розбору: як зображення перетворюється на структуру формули — межі блоків, дроби, індекси, матриці, багаторядкові вирази.
  • Словник позначень: відповідність символів прийнятій у вас нотації, щоб результат збігався з тим, як формула пишеться у ваших матеріалах.
  • Протокол якості: набір еталонних сторінок із розміткою й метрика точності, до якої рішення зобов’язане повертатися після кожної правки.
  • Інструкції для редакторів: що робити з непевними фрагментами, як позначати правки й які помилки вважати системними, а які — одиничними.
  • Регламент змін: новий тип формул проходить через той самий протокол якості, а не править конфігурацію на місці.
  • Порядок передачі: доступи, середовище, журнал звернень і відповідальний інженер на період супроводу.

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

Кейс: наукове видавництво й потік рукописних статей

Академічне видавництво приймало рукописи сканами й фотографіями: авторські правки, позначки на полях, формули від руки у два рядки.

Кожен вираз редактор звіряв із зображенням і набирав заново — стаття на 40–60 формул забирала майже робочий день, а черга вичитки розтягувалася на тижні.

Що зібрали

Конвеєр розпізнавання формул: детекція областей із виразами на сторінці, розпізнавання, приведення до LaTeX, далі структурна валідація — баланс дужок, вкладеність дробів, парність індексів, звірка символів зі словником і з вихідним растром. Ручній вичитці залишаються тільки фрагменти, де валідатор не зійшовся із зображенням.

На старті брали сервіс Mathpix як еталон якості й на його тлі добирали модель під рукописні скани: для друкованих сторінок вистачало однієї гілки, для чернеток — дообучення на розмітці самої редакції.

Метрики до і після

Показник До Після
Час вичитки виразів у статті близько 6 годин 40–50 хвилин
Частка формул із ручною правкою 100% 12–15%
Помилки, що спливають після верстки кожна п’ята формула одиничні випадки

Повністю зникли класи помилок, які раніше ловилися тільки на коректурі: переплутані верхні та нижні індекси, втрачені дробові риски й дужки, підміна схожих символів. Їх відсікає валідація до потрапляння виразу в макет — редактор витрачає час на зміст, а не на звірку знаків.

Чим відрізняється розбір формул від звичайного розпізнавання тексту?

Рядковий розпізнавач виходить із того, що текст лінійний: знаки йдуть зліва направо, а зв’язок між ними задається тільки порядком. Формула так не влаштована — чисельник стоїть над знаменником, індекс іде вгору або вниз від бази, радикал накриває вираз рискою, матриця задає сітку.

Одні й ті самі знаки в різній геометрії читаються як різні вирази, тому розпізнавання тексту віддає рядок символів, але не зміст.

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

Другий — розмітка структури виразу: за відносними позиціями й розмірами визначаються межі дробу, степінь кореня, межі підсумовування, вкладеність дужок. Зсунута межа дробу змінює зміст цілком, тому структуру відновлюють і перевіряють окремо від символів.

Третій шар — словник символів і граматика запису. Розпізнані знаки зіставляються з відомими операторами, грецькими літерами й функціями, змінні пов’язуються зі своїми індексами, а зібрана структура перевіряється на синтаксис.

Так знімаються класичні неоднозначності: «l» і одиниця, літера x і знак множення, нуль і велика O. Словник обмежує простір гіпотез, а перевірка відсікає гілки, які формально зібрані, але математично безглузді.

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

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

Технічні сумніви: якість, перевірка, впровадження

Друкована верстка й рукописні викладки — два різних режими, і одним конвеєром їх не закрити. Для друкованих формул підходить готовий сервіс розбору на кшталт Mathpix, але він надсилає сторінку на зовнішній сервер — для закритого контуру це неприйнятно.

У закритому контурі розгортаємо модель на ваших потужностях: документи не покидають периметр, журнал обробки залишається у вас.

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

Ручна вичитка не зникає, а стає точковою: редактор дивиться не все підряд, а фрагменти нижче порогу впевненості, які система підсвічує сама.

Чи можна обійтися без зовнішніх сервісів?

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

Чи потрібна суцільна ручна вичитка?

Ні. Упевненість рахується за кожним фрагментом, редактор перевіряє тільки спірні місця — зазвичай частки відсотка від обсягу. Суцільний прохід залишаємо на фінальну звірку.

Що робити, коли модель помиляється на нових формулах?

Правки редактора автоматично стають розміткою й потрапляють у набір для дообучення моделі. Після кількох циклів клас помилок закривається, частка ручних правок падає.

Обговоримо задачу: що уточнити до початку робіт

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

  • Типи джерел: скани друкованих видань, фотографії рукописних записів, PDF із текстовим шаром, скриншоти. Від цього залежить попередня обробка — вирівнювання, очищення від шуму, бінаризація — і вибір моделі.
  • Обсяг корпусу: скільки сторінок, яка частка з них містить формули, скільки вже розмічено вручну. Це визначає трудомісткість підготовки даних і режим навчання.
  • Цільові метрики: точність на рівні символу й частка формул, розпізнаних загалом без правки. Еталонний набір на кілька сотень сторінок дозволяє вимірювати якість чисельно, а не на око.
  • Вимоги до контуру: закритий сервер замовника, хмара або гібридна схема; чи потрібен офлайн-режим, що можна передавати назовні, що писати в журнали доступу.
  • Формат результату: LaTeX, MathML або власна розмітка; чи потрібні координати формули на сторінці й зв’язок із вихідним зображенням.
  • Що відбувається з розпізнаним далі: ручна перевірка оператором, автоматична перевірка синтаксису, пошук за формулами. Це задає поріг якості, нижче якого результат не приймається.
  • Формат передачі: розгорнутий контур, навчена модель, скрипти навчання, розмічений еталонний набір, документація та інструкція для підтримки.

Опишіть задачу в цих межах — повернемося з оцінкою, планом робіт і варіантами архітектури.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1141