Как мы учим ИИ распознавать рукописный текст. Расскажите про нас «Тотальному диктанту» (пжл)
Всем привет. Это Dbrain, и мы всё ещё распознаём документы для больших и не очень компаний. Распознать паспорт или ПТС — это изи. А что насчёт научить нейросеть распознавать сложные рукописные тексты?
Например, школьные сочинения на несколько страниц, где у каждого ребёнка свой почерк и свои приколы. Этому мы тоже учим ИИ, и обучение выглядит очень красиво. Сейчас покажу.
Шаг 1. Ищем большой датасет фото или сканов с рукописным текстом
Мы взяли фотографии школьных сочинений у онлайн-школы, с которой работали. Для начала показали нашему ИИ, что такое тетрадь и страница тетради. Теперь он знает, откуда брать слова для обучения.
Шаг 2. Перед полноценным обучением размечаем поля
Показываем ИИ, что в тетради не просто гора текста, а всё-таки есть структура: даты, типы работ, номера заданий и решения.
Шаг 3. Размечаем текст: на строки, слова и символы
Сначала разметчики выделяют прямоугольниками строки. Затем строки делят на слова, а слова — на буквы. Последними выделяют знаки препинания.
Без этапа разметки строк слова из соседних строк могут перемешаться на этапе распознавания. А нам так не надо.
Шаг 4. Переписываем отдельные слова для примера
На предыдущих этапах мы научили ИИ находить страницу тетради, строки, слова и символы. Это всё? Если бы. Теперь нас ждёт самый объёмный и затратный этап 🥲
Мы должны научить ИИ не просто находить слово в рукописном тексте, но и понимать, что это за слово. Отдельная сложность в том, что нам нужен именно тот вариант написания, который был у школьника — со всеми ошибками и исправлениями. Так что никаких эвристик и прочих пост-процессинговых хитростей, только хардкор.
Шаг 5. Проверяем нейросеть и доучиваем её
На этом этапе нейросеть пробует распознавать текст и местами спотыкается. Когда какое-то слово непонятно нейросети, она приходит за помощью к разметчикам. Те смотрят контекст и печатают верное слово. Размеченные тексты отдают обратно нейросети, чтобы она запомнила буквы в разном написании. Даже самом кривом.
На этом этапе уже можно посмотреть, насколько хорошо ИИ справляется с рукописным текстом.
ИИ может научиться распознавать любой рукописный текст?
Да. Школьные сочинения мы уже умеем распознавать, а вот под новые задачи — например, рецепты от врача или судовой журнал морского капитана — придётся обучать ИИ по-новому. Но это не проблема. Если есть такой запрос — приходите.
А если нужно распознать сочинения — дообучение будет очень быстрым. У кого там есть контакты ребят из «Тотального диктанта»?)