Чому розпізнавання формул ламається на реальних документах
Розпізнавання формул ламається не на рівні символів, а на рівні структури. Формула — це двовимірна верстка: положення гліфа щодо базової лінії задає, індекс це, показник чи множник.
Моделі, що читають рядок зліва направо, втрачають цю геометрію й повертають коректну розмітку, яка описує інший вираз.
Накладені індекси — перший клас помилок розпізнавання: вкладені степені й подвійні підрядкові знаки згортаються в один рівень.
Дроби на кілька ярусів і матриці додають другу вісь, де межі рядків і стовпців визначаються за проміжками, а дужки змінної висоти заважають відновити розмітку.
Рукописні формули погіршують картину: почерк не дає стабільних пропорцій, а правки поверх друкованого тексту читаються як частина виразу.
Якість сканів працює як множник до всіх цих збоїв. Перекіс сторінки, нерівномірне засвітлення, артефакти стиснення й тонкі штрихи перетворюють індекс на шум, тому поріг бінаризації доводиться добирати посторінково — інакше частина знаків зливається з фоном. Навіть сильні на друкованих виразах рішення просідають на таких файлах.
Окрема категорія — контекст навколо виразу. Наскрізна нумерація всередині абзацу, посилання виду «див. (14)», розрив формули між рядками або колонками потребують не розпізнавання символів, а розбору структури документа.
Тому ми оцінюємо частку виразів, що повністю збіглися, а не точність за окремими знаками: остання метрика маскує зсунутий індекс і втрачену дужку.
Вимірюваний ефект: точність, швидкість, частка ручної правки
Точність розпізнавання вважаємо не за «кількістю вгаданих символів», а за формулою загалом: нормалізуємо розмітку й порівнюємо з еталоном, який підготував методист.
На контрольній вибірці типових навчальних матеріалів поодинокі дроби та степені розпізнаються майже без помилок, а весь залишок похибки концентрується в багаторядкових системах, матрицях з індексами й дробах із вкладеними дужками — там і з’являється частка ручної правки, яку видно у звіті.
Працюємо через локальний розпізнавач Pix2Tex: він працює в нашій інфраструктурі, сторінки не йдуть у зовнішні сервіси, а на виході ми отримуємо оцінку впевненості за кожним фрагментом.
Формула нижче порогу не потрапляє до готового документа автоматично — вона йде в чергу на перевірку з підсвічуванням сумнівних місць. Так закривається найдорожчий клас відмов: непомітно хибна формула, яка доходить до редактора й живе в макеті до верстки.
Швидкість обробки архіву визначається не розпізнаванням, а верифікацією. Пакетний режим розбирає тисячі сторінок за години, вузьке місце зміщується на перевірку: інженери самі розмічають складні випадки, а прості проходять за правилом впевненості без участі людини.
На виході — частка ручної правки у відсотках від кількості формул, розподіл помилок за типами й набір складних формул замовника, на якому приймаємо результат і відстежуємо регрес після будь-яких змін.
Варіанти розбору формул: порівняння підходів і режимів
Вибір режиму розпізнавання формул визначають три речі: характер джерел (друкований набір, рукопис, скани низької якості), вимоги до конфіденційності й допустима частка помилок на виході.
Формули не можна «поправити за змістом» — втрачений індекс степеня або межа дробу змінюють результат, тому режим добирають під задачу, а не «найточніший загалом».
Окремо фіксуємо формат виводу: LaTeX для вставки в редактори й MathML для веба — від нього залежить, що далі робить конвеєр.
| Варіант | Коли підходить | Обмеження |
|---|---|---|
| Готовий зовнішній сервіс | Разовий розбір невеликих обсягів, простий друкований набір | Сторінки йдуть на чужий бік; якість не підлаштувати під свій корпус |
| Локальний рушій | Конфіденційні документи й потік сторінок усередині вашого контуру | На складній нотації точність нижча без налаштування; потрібен власний запуск і оновлення моделей |
| Гібридна схема | Масовий потік, де помилка дорога: чорновий прохід плюс перевірка людиною | Потрібен інтерфейс правки й регламент — частина роботи залишається за редактором |
| Дообучення на власному корпусі | Вузька нотація, власні позначення, багато однотипних документів | Потрібен розмічений корпус і час; виграш помітний від кількох тисяч формул |
Гібридну схему й дообучення не протиставляємо: розмічені правки з інтерфейсу перевірки стають корпусом для наступної ітерації, і частка формул, що пройшли без правки, зростає від запуску до запуску.
Перед запуском потоку в роботу ми проганяємо ваш набір документів і звіряємо рендер LaTeX і MathML у тому редакторі, де формулами будуть користуватися, — так несумісність виводу з’ясовується на тесті, а не в середині вивантаження.
Етапи впровадження розпізнавання формул у конвеєр документів
Розпізнавання формул ламається не на моделі, а на розриві між демонстраційним прикладом і реальним корпусом. В одному потоці йдуть скани з шумом і перекосом, векторні PDF, де гліфи розкладені за координатами, і фотографії з дошки.
Тому роботи йдуть фіксованою послідовністю: спочатку вимірюємо корпус, потім будуємо схему розбору, далі налаштовуємо й передаємо.
- Аудит корпусу документів. Рахуємо частку сторінок із формулами, типи джерел, шрифти, мови викладок. Фіксуємо, що трапляється: дроби, матриці, індекси, багаторядкові виведення. На виході — карта: де розбір іде відразу, а де потрібна попередня обробка.
- Еталонна вибірка. Кілька сотень сторінок, розмічених вручну, з балансом за типами формул. Метрика — частка викладок, розпізнаних загалом і з правильною структурою: точність за символами приховує втрачений індекс або вкладеність.
- Схема розбору. Задаємо порядок: пошук областей формул, вирізання із запасом, нормалізація масштабу й контрасту, розпізнавання, складання назад у розмітку документа. Рушій вибираємо за результатом на вибірці, а не за описом.
- Налаштування розбору. Під ваш корпус: поріг детекції областей, словник команд, постобробка — відновлення дужок і службових команд, розв’язання конфліктів із текстовим шаром сторінки.
- Перевірка на еталонній вибірці. Проганяємо конвеєр загалом, розбираємо помилки за класами: злиплі індекси, втрачені знаки, неправильна вкладеність. Окремий сліпий набір сторінок, що не брали участі в налаштуванні, відокремлює реальну точність від підгонки.
- Передача рішення. Віддаємо код, конфігурацію, словники й регламент експлуатації: як підключати нові типи формул, що перевіряти при просіданні точності, де дивитися журнали й як оновлювати вибірку.
Що залишається в замовника: артефакти й регламенти
Рішення передаємо не як сервіс, що працює на нашому боці, а як комплект, який ваша команда супроводжує без нас. Кожен матеріал перевіряється на прийманні: якщо процес не можна відтворити за документами, передача не закрита.
- Конфігурації розпізнавання: параметри попередньої обробки сторінок, пороги впевненості, правило надсилання фрагмента на ручну перевірку.
- Схеми розбору: як зображення перетворюється на структуру формули — межі блоків, дроби, індекси, матриці, багаторядкові вирази.
- Словник позначень: відповідність символів прийнятій у вас нотації, щоб результат збігався з тим, як формула пишеться у ваших матеріалах.
- Протокол якості: набір еталонних сторінок із розміткою й метрика точності, до якої рішення зобов’язане повертатися після кожної правки.
- Інструкції для редакторів: що робити з непевними фрагментами, як позначати правки й які помилки вважати системними, а які — одиничними.
- Регламент змін: новий тип формул проходить через той самий протокол якості, а не править конфігурацію на місці.
- Порядок передачі: доступи, середовище, журнал звернень і відповідальний інженер на період супроводу.
Перед закриттям приймання комплект проганяється на вашому боці: ваш фахівець піднімає середовище й повторює еталонний прогін. Збіг результату з нашим і є доказом, що рішення справді передано.
Кейс: наукове видавництво й потік рукописних статей
Академічне видавництво приймало рукописи сканами й фотографіями: авторські правки, позначки на полях, формули від руки у два рядки.
Кожен вираз редактор звіряв із зображенням і набирав заново — стаття на 40–60 формул забирала майже робочий день, а черга вичитки розтягувалася на тижні.
Що зібрали
Конвеєр розпізнавання формул: детекція областей із виразами на сторінці, розпізнавання, приведення до LaTeX, далі структурна валідація — баланс дужок, вкладеність дробів, парність індексів, звірка символів зі словником і з вихідним растром. Ручній вичитці залишаються тільки фрагменти, де валідатор не зійшовся із зображенням.
На старті брали сервіс Mathpix як еталон якості й на його тлі добирали модель під рукописні скани: для друкованих сторінок вистачало однієї гілки, для чернеток — дообучення на розмітці самої редакції.
Метрики до і після
| Показник | До | Після |
|---|---|---|
| Час вичитки виразів у статті | близько 6 годин | 40–50 хвилин |
| Частка формул із ручною правкою | 100% | 12–15% |
| Помилки, що спливають після верстки | кожна п’ята формула | одиничні випадки |
Повністю зникли класи помилок, які раніше ловилися тільки на коректурі: переплутані верхні та нижні індекси, втрачені дробові риски й дужки, підміна схожих символів. Їх відсікає валідація до потрапляння виразу в макет — редактор витрачає час на зміст, а не на звірку знаків.
Чим відрізняється розбір формул від звичайного розпізнавання тексту?
Рядковий розпізнавач виходить із того, що текст лінійний: знаки йдуть зліва направо, а зв’язок між ними задається тільки порядком. Формула так не влаштована — чисельник стоїть над знаменником, індекс іде вгору або вниз від бази, радикал накриває вираз рискою, матриця задає сітку.
Одні й ті самі знаки в різній геометрії читаються як різні вирази, тому розпізнавання тексту віддає рядок символів, але не зміст.
Звідси три шари роботи поверх звичайного розпізнавання. Перший — детекція й класифікація знаків: тонкі штрихи, засічки й нахилене накреслення заважають так само, як рукописне введення.
Другий — розмітка структури виразу: за відносними позиціями й розмірами визначаються межі дробу, степінь кореня, межі підсумовування, вкладеність дужок. Зсунута межа дробу змінює зміст цілком, тому структуру відновлюють і перевіряють окремо від символів.
Третій шар — словник символів і граматика запису. Розпізнані знаки зіставляються з відомими операторами, грецькими літерами й функціями, змінні пов’язуються зі своїми індексами, а зібрана структура перевіряється на синтаксис.
Так знімаються класичні неоднозначності: «l» і одиниця, літера x і знак множення, нуль і велика O. Словник обмежує простір гіпотез, а перевірка відсікає гілки, які формально зібрані, але математично безглузді.
Контекст добирає залишок неоднозначності: сусідні знаки й загальна форма виразу підказують, межа перед нами чи індекс. Моделі, які бачать вираз цілком, а не ковзають по рядку, помиляються в таких місцях помітно рідше.
На виході звичайне розпізнавання дає текст, який залишається перечитати й передрукувати, а розбір формул — дерево виразу, готове до відрисовки й обчислення.
Технічні сумніви: якість, перевірка, впровадження
Друкована верстка й рукописні викладки — два різних режими, і одним конвеєром їх не закрити. Для друкованих формул підходить готовий сервіс розбору на кшталт Mathpix, але він надсилає сторінку на зовнішній сервер — для закритого контуру це неприйнятно.
У закритому контурі розгортаємо модель на ваших потужностях: документи не покидають периметр, журнал обробки залишається у вас.
Рукописне введення дообучаємо на ваших зразках: кілька сотень розмічених сторінок дають приріст саме там, де базова модель плутає — схожі індекси, мала й велика літери, знак похідної.
Ручна вичитка не зникає, а стає точковою: редактор дивиться не все підряд, а фрагменти нижче порогу впевненості, які система підсвічує сама.
Чи можна обійтися без зовнішніх сервісів?
Так. Модель розгортається на ізольованому сервері без виходу в мережу, розмітка й дообучення йдуть усередині периметра.
Чи потрібна суцільна ручна вичитка?
Ні. Упевненість рахується за кожним фрагментом, редактор перевіряє тільки спірні місця — зазвичай частки відсотка від обсягу. Суцільний прохід залишаємо на фінальну звірку.
Що робити, коли модель помиляється на нових формулах?
Правки редактора автоматично стають розміткою й потрапляють у набір для дообучення моделі. Після кількох циклів клас помилок закривається, частка ручних правок падає.
Обговоримо задачу: що уточнити до початку робіт
Чим точніші ввідні, тим менше припущень в оцінці й тим швидше ми повертаємося з планом робіт. Перелічені нижче пункти визначають архітектуру розпізнавання формул — якщо даних щодо якогось із них немає, зафіксуємо припущення прямо в оцінці.
- Типи джерел: скани друкованих видань, фотографії рукописних записів, PDF із текстовим шаром, скриншоти. Від цього залежить попередня обробка — вирівнювання, очищення від шуму, бінаризація — і вибір моделі.
- Обсяг корпусу: скільки сторінок, яка частка з них містить формули, скільки вже розмічено вручну. Це визначає трудомісткість підготовки даних і режим навчання.
- Цільові метрики: точність на рівні символу й частка формул, розпізнаних загалом без правки. Еталонний набір на кілька сотень сторінок дозволяє вимірювати якість чисельно, а не на око.
- Вимоги до контуру: закритий сервер замовника, хмара або гібридна схема; чи потрібен офлайн-режим, що можна передавати назовні, що писати в журнали доступу.
- Формат результату: LaTeX, MathML або власна розмітка; чи потрібні координати формули на сторінці й зв’язок із вихідним зображенням.
- Що відбувається з розпізнаним далі: ручна перевірка оператором, автоматична перевірка синтаксису, пошук за формулами. Це задає поріг якості, нижче якого результат не приймається.
- Формат передачі: розгорнутий контур, навчена модель, скрипти навчання, розмічений еталонний набір, документація та інструкція для підтримки.
Опишіть задачу в цих межах — повернемося з оцінкою, планом робіт і варіантами архітектури.







