Обучение моделей ИИ с использованием отзывов пользователей: плюсы и минусы
23 мая 2022 г.Недостаточно создать качественное и полезное мобильное приложение, отвечающее потребностям пользователей в определенной нише. Постоянная работа над новыми версиями приложения — это то, с чем сталкиваются все разработчики. Наша команда iScanner не исключение.
Обучение нейронной сети iScanner во многом основано на алгоритме оптического распознавания символов (OCR). Алгоритму OCR нужны данные для улучшения его функциональности. Если быть более конкретным, то ==алгоритму нужно много данных, которые он обрабатывает, обучаясь распознавать новые варианты текста== (поскольку iScanner — это платформа сканирования и управления документами, это одна из наших основных задач).
Представьте, что перед вами стоит задача распознать рукописный текст. Существуют сотни вариантов почерка на множестве языков. Независимо от того, насколько продвинутыми становятся технологии печати, люди по-прежнему пишут от руки: они делают заметки на рабочих встречах, записывают планы и даже записывают свои повседневные задачи в блокнот, потому что привыкли делать это. Но вот однажды наступает момент, когда этот текст нужно срочно оцифровать. И тут на помощь приходит iScanner, который оцифровывает ваши заметки и сохраняет важные документы и заметки на вашем телефоне.
Но как это происходит на технологическом уровне? И как наша команда обучает алгоритм OCR распознавать разные типы почерка?
Рукописный тест — наш способ обучения ИИ и общения с пользователями
Как мы уже говорили ранее, алгоритму OCR нужны данные. А для чрезвычайно сложных задач, таких как распознавание рукописного ввода, требуется очень много данных. Чем больше образцов почерка вы предоставляете алгоритму, тем умнее он становится. Если подумать, сколько вариаций рукописных символов существует только в одном языке, вся задача начинает казаться невыполнимой.
Почему трудно распознавать почерк? Проблема в том, что == существует широкий спектр вариантов рукописного ввода. == В дополнение к этому способ соединения символов при написании от руки становится критической переменной для распознавания рукописного текста. Это значительно усложняет задачу и ограничивает возможность генерации синтетических наборов данных на основе небольшого количества символов. Поэтому программистам сложно предоставить достаточное количество примеров того, как может выглядеть каждый символ. Кроме того, иногда символы очень похожи, что затрудняет их точное распознавание компьютерами. Например, половина населения пишет «1» как «7», а другая половина пишет «7» как «4»! Кроме того, заметки можно писать на лету, а подписи почти всегда неразборчивы. Некоторые слова также могут быть незаконченными, и автор может не понять их вне контекста.
Одни и те же символы могут быть написаны по-разному, при этом нужно учитывать и угол наклона текста, который зависит от используемой при письме руки, а также неряшливость и неразборчивость почерка. Также, помимо уникальности знаков в каждом почерке, существует проблема соединения знаков.
Еще одна сложная проблема заключается в том, что часто комбинация двух символов может выглядеть как третий символ, например, rn очень похож на m. Кроме того, оригиналы документов могут быть некачественными, так как бумага быстро портится.
Однако в целом точность распознавания зависит от полноты набора данных, используемого для обучения алгоритмов.
==Успех здесь сильно зависит от набора данных, используемого для обучения алгоритмов.== Наша команда понимала, что нам нужно получить как можно больше вариантов рукописного текста. Как мы можем этого добиться? Обратитесь за помощью к пользователям приложения!
Хочу отметить, что мы всегда уделяли пристальное внимание работе с пользовательским опытом. На этот раз мы попросили активных пользователей iScanner помочь нам сделать приложение лучше и прислать нам свои рукописные заметки. Мы объявили Handwriting Challenge прямо в приложении и на сайте iScanner и уже добились определенных результатов. Пользователи присылали нам учебные заметки, выдержки из книг, заметки из блокнота и т. д.
Кстати, такая активность пользователей не всегда проходит гладко, и разработчикам нужно это учитывать, прежде чем запускать такого рода челленджи. В нашем случае, несмотря на подробные инструкции, пользователи не всегда сканировали рукописный текст, а вместо этого часто присылали нам сканы печатного текста.
Еще одна трудность заключалась в том, что пользователи не всегда были внимательны при выборе слов, поэтому требовалась дополнительная проверка и обработка полученной пользовательской таблицы данных. В заключение, вот что я могу порекомендовать, исходя из нашего опыта сотрудничества с пользователями для улучшения новой функции в приложении: вы можете использовать этот прием, но всегда помните о перечисленных мною сложностях и не ожидайте, что ваши пользователи идеально следовать инструкциям. Даже самые опытные пользователи iScanner не являются разработчиками, знающими все тонкости обучения нейронной сети.
Мы собирали и продолжаем собирать данные для обучения собственной нейронной сети приложения iScanner, чтобы вывести функцию OCR на новый уровень. И да, мы вряд ли смогли бы реализовать эту функцию и получить лучшие результаты распознавания рукописного ввода без наших пользователей и их заинтересованности в улучшении приложения.
На этом примере взаимодействия с пользователем мы хотим подчеркнуть, насколько важно использовать отзывы наших пользователей для дальнейшего обучения ИИ. ==Не недооценивайте вклад пользователей в приложение, но и не переоценивайте его== (например, не ожидайте, что они сделают все гладко и правильно). Помимо очевидных преимуществ, эта задача также дает сообществу активных пользователей iScanner возможность почувствовать себя причастными и важными.
Оригинал