В эпоху глобализации английский язык стал ключевым навыком, необходимым для личного и профессионального развития. В то же время, современные технологии, такие как искусственный интеллект и сервисы распознавания речи, открывают новые возможности для изучения языка. В этой статье я расскажу о том, как я создавал чат-бот Thought, который помогает пользователям улучшить английский язык с акцентом на произношение и грамматику, и поделюсь техническими деталями, стоящими за этим проектом.
Основная идея и выбор технологий
Идея Thought возникла из необходимости создания удобного инструмента, который мог бы помочь людям совершенствовать произношение и другие аспекты английского языка. Существующие решения часто либо слишком сложны в использовании, либо требуют значительных ресурсов. Я решил объединить простоту и доступность мессенджеров Telegram и ВКонтакте с мощью Yandex SpeechKit и GPT-4, чтобы создать обучающий чат-бот, доступный каждому.
GPT-4 используется в качестве ИИ-репетитора, который не только анализирует ошибки пользователей, но и предлагает персонализированные тренировки и рекомендации. Благодаря GPT-4, Thought способен вести диалог, давать развернутую обратную связь и адаптировать задания под уровень пользователя.
Для интересующихся, системный промпт к GPT:
Скрытый текст
Thought - чат-бот для тренировки английского произношения. В основном бот даёт фразы на английском, а пользователь должен произносить эти фразы, и бот показывает, где ошибки в произношении. Например, ты пишешь фразу "Hello, world", а из голосового сообщения пользователя распознано "hello would". Значит, пользователь допустил определенные ошибки в произношении слова "world". Анализируй эти ошибки и помогай пользователю их исправить. С тобой можно общаться как с настоящим репетитором, ты можешь отвечать как человек на вопросы в любом виде. У пользователя есть кнопки "режимы", "помощь". Если он пишет "помощь", напиши что готов ответить на любой его вопрос. Будь максимально понятен пользователю, даже если он не знает многих терминов. Например, большинство пользователей не знают слов "бот", "ИИ", "ассистент" и так далее. Называй себя "виртуальный репетитор Thought".
Можешь ставить пользователю баллы, или оценки, или оценивать в соответствии с какими-нибудь международными стандартами оценки. Периодически можешь вставлять интересные факты о произношении в английском языке.
Есть много разных режимов тренировки:
-
Спринт: Короткая сессия на 20 фраз, которые пользователь должен произнести. Нумеруй каждую фразу.
-
Марафон: Длительная сессия с разнообразными заданиями (произношение, аудирование, грамматика) без ограничения по времени, но с целью достичь определенного количества баллов или определенной оценки.
-
Тематический: Фокус на определенной теме с соответствующей лексикой и фразами. Позволяй пользователю самому придумывать тему.
-
Диалог: Имитация разговора, где бот задает вопросы или дает реплики, а пользователь должен адекватно отвечать.
-
Составь слова: Пользователь получает набор букв и должен составить как можно больше английских слов.
-
Исправь ошибки: Серия предложений с синтаксическими и лексическими ошибками, которые пользователь должен найти и исправить ошибки.
-
Перевод на скорость: Перевод фраз с русского на английский и обратно.
-
Сложный: Комбинация различных типов заданий с нарастающей сложностью, как в игре.
Фразы для тренировки пиши по одной на сообщение. Пиши также и транскрипции к фразамсловам. Напоминай пользователю, в каком режиме происходит сейчас обучение.
Принцип работы и оценка качества произношения
Основная сложность заключалась в том, чтобы создать точную и интуитивно понятную систему оценки произношения. Было важно, чтобы пользователи могли легко понимать, где они сделали ошибку. Для этого был реализован следующий алгоритм:
-
Предложение фразы: Бот предлагает пользователю фразу на английском языке вместе с транскрипцией. Транскрипция может быть в американском или британском варианте, в зависимости от предпочтений пользователя.
-
Аудио пример: Для удобства и лучшего понимания, бот отправляет аудио пример правильного произношения предложенной фразы.
-
Запись и распознавание: Пользователь записывает голосовое сообщение с произношением фразы, и это сообщение передается в сервис распознавания речи (в данном случае используется Yandex SpeechKit).
-
Сравнение и оценка: Распознанная фраза сравнивается с исходным текстом. Yandex SpeechKit часто предлагает несколько вариантов распознанного текста. Оценка осуществляется по следующему принципу:
-
Зеленый цвет: Если слова в произнесенной фразе полностью совпадают с исходной фразой, они считаются правильно произнесенными.
-
Желтый цвет: Если слова или символы частично совпадают с предложенными ботом вариантами, но есть отклонения, они обозначаются желтым цветом.
-
Красный цвет: Если слова не распознаны, они считаются неправильно произнесенными и отмечаются красным цветом.
-
Этот метод оценки позволяет пользователю наглядно видеть свои ошибки и работать над их исправлением.
Одной из ключевых задач была оптимизация работы с Yandex SpeechKit. Важно было добиться максимально быстрой и точной обработки голосовых сообщений, чтобы пользователь не ощущал задержек. Для этого пришлось экспериментировать с различными параметрами API и оптимизировать код.
Еще одной сложностью стала интеграция с GPT-4. Настройка промпта потребовала времени, чтобы репетитор мог давать адекватные и полезные советы, учитывая уровень пользователя. Важно было, чтобы GPT-4 не перегружал пользователя сложными терминами и был максимально простым и понятным.
Режимы тренировок
Thought предлагает два основных способа тренировки:
-
Простой режим: В этом режиме пользователь тренируется на заранее заданных фразах, что идеально подходит для новичков, стремящихся улучшить базовые навыки произношения.
-
Продвинутый режим: Этот режим включает ИИ-репетитора на базе GPT-4, который предлагает разнообразные сценарии тренировок. Каждый режим адаптирован под разные уровни подготовки и цели пользователя, что делает процесс обучения гибким и эффективным.
Заключение
Можете ознакомиться с Thought в Telegram: t.me/enthoughtbot или ВКонтакте: vk.com/enthought. Этот проект продолжает развиваться, и я буду рад услышать отзывы и предложения по его улучшению. Основной проблемой сейчас для меня является не техническая часть разработки, а попытки продумать максимально удобный и понятный интерфейс, и увидеть все те недостатки, которые я не замечаю. Также я начинаю вести канал по теме разработки чат-ботов и в целом по теме IT и ИИ, пока там пустовато, но скоро контент появится, так что подписывайтесь: t.me/curseknowledge.
Автор: Nevergreenin