Как мы учим ИИ распознавать рукописный текст. Расскажите про нас «Тотальному диктанту» (пжл)

Всем привет. Это Dbrain, и мы всё ещё распознаём документы для больших и не очень компаний. Распознать паспорт или ПТС — это изи. А что насчёт научить нейросеть распознавать сложные рукописные тексты?

Например, школьные сочинения на несколько страниц, где у каждого ребёнка свой почерк и свои приколы. Этому мы тоже учим ИИ, и обучение выглядит очень красиво. Сейчас покажу.

Данила
Head of Labeling в Dbrain. Или глава разметки, если по-русски

Шаг 1. Ищем большой датасет фото или сканов с рукописным текстом

Мы взяли фотографии школьных сочинений у онлайн-школы, с которой работали. Для начала показали нашему ИИ, что такое тетрадь и страница тетради. Теперь он знает, откуда брать слова для обучения.

Напоминаем тем, кто давно закончил школу, как выглядит тетрадь
Напоминаем тем, кто давно закончил школу, как выглядит тетрадь

Шаг 2. Перед полноценным обучением размечаем поля

Показываем ИИ, что в тетради не просто гора текста, а всё-таки есть структура: даты, типы работ, номера заданий и решения.

Упражнение под номером аж 440. Бедный ребёнок
Упражнение под номером аж 440. Бедный ребёнок

Шаг 3. Размечаем текст: на строки, слова и символы

Сначала разметчики выделяют прямоугольниками строки. Затем строки делят на слова, а слова — на буквы. Последними выделяют знаки препинания.

Разметка строк помогает нам правильно выставлять последовательность слов
Разметка строк помогает нам правильно выставлять последовательность слов

Без этапа разметки строк слова из соседних строк могут перемешаться на этапе распознавания. А нам так не надо.

Деление на слова и символы учит ИИ словам и знакам препинания
Деление на слова и символы учит ИИ словам и знакам препинания
Последняя стадия: все элементы размечены и подсвечиваются разными цветами. Красота
Последняя стадия: все элементы размечены и подсвечиваются разными цветами. Красота

Шаг 4. Переписываем отдельные слова для примера

На предыдущих этапах мы научили ИИ находить страницу тетради, строки, слова и символы. Это всё? Если бы. Теперь нас ждёт самый объёмный и затратный этап 🥲

Мы должны научить ИИ не просто находить слово в рукописном тексте, но и понимать, что это за слово. Отдельная сложность в том, что нам нужен именно тот вариант написания, который был у школьника — со всеми ошибками и исправлениями. Так что никаких эвристик и прочих пост-процессинговых хитростей, только хардкор.

Таким образом мы разметили порядка миллиона слов. Маршрутка разметчиков на этом моменте могла бы заплакать

Включаем режим учителя и пытаемся понять, что написал ребёнок
Включаем режим учителя и пытаемся понять, что написал ребёнок

Шаг 5. Проверяем нейросеть и доучиваем её

На этом этапе нейросеть пробует распознавать текст и местами спотыкается. Когда какое-то слово непонятно нейросети, она приходит за помощью к разметчикам. Те смотрят контекст и печатают верное слово. Размеченные тексты отдают обратно нейросети, чтобы она запомнила буквы в разном написании. Даже самом кривом.

На этом этапе уже можно посмотреть, насколько хорошо ИИ справляется с рукописным текстом.

Радуемся 💫
Радуемся 💫
Какочок? Присматриваемся и видим слово «крючок». Дообучаем 👩🏻‍🏫
Какочок? Присматриваемся и видим слово «крючок». Дообучаем 👩🏻‍🏫
«В» вместо сердечка. ИИ так и не научился любить 💔
«В» вместо сердечка. ИИ так и не научился любить 💔

ИИ может научиться распознавать любой рукописный текст?

Да. Школьные сочинения мы уже умеем распознавать, а вот под новые задачи — например, рецепты от врача или судовой журнал морского капитана — придётся обучать ИИ по-новому. Но это не проблема. Если есть такой запрос — приходите.

А если нужно распознать сочинения — дообучение будет очень быстрым. У кого там есть контакты ребят из «Тотального диктанта»?)

Начать дискуссию