Как я создал VibeLing — приложение, где ИИ помогает учить иностранные языки

Как я создал VibeLing — приложение, где ИИ помогает учить иностранные языки

На рынке полно решений для изучения языков — на любой вкус, цвет и бюджет. Но я так и не нашёл приложение, которое идеально подошло бы мне для изучения слов и фраз. Поэтому решил сделать его сам.

Какая проблема

Сейчас я вижу два типа приложений для изучения слов:

1. Мощные словарики

Например, Words или Skyeng. Да, там много слов с примерами — но все они собраны вручную. Я часто не находил там нужную фразу из сериала, целое предложение или фразовый глагол, который хотел бы выучить и начать использовать.

Приложение SkyEng
Приложение SkyEng

Вторая проблема таких приложений с ручной базой — они обычно рассчитаны на один язык. Когда я начал учить сербский помимо английского, вообще ничего подходящего не нашёл.

2. Кастомизируемые приложения

Второй тип — это пустышки с алгоритмом. Сюда подходит Anki, например. Ты сам добавляешь любые слова и фразы, какие хочешь, сам прописываешь перевод и примеры.

Казалось бы, это решает проблему первого типа приложений. Но добавлять вручную каждое слово — это ад. Искать примеры, подбирать картинки... Я пробовал начать это делать много раз и каждый раз останавливался на десятом слове.

Добавление слова в Anki
Добавление слова в Anki

И посмотрите на интерфейс Anki — тут просто без комментариев. Я до сих пор не понимаю, что значат эти кнопки внизу и зачем мне все эти детали. Я хочу просто отвечать: помню или не помню слово.

Интерфейс приложения Anki
Интерфейс приложения Anki

Как я решал эту проблему раньше

Когда я пользовался Anki, я генерировал переводы и примеры с помощью LLM. Настроил для себя удобный пайплайн и просто добавлял слова в свой словарь.

Мне показалось, что было бы здорово всё это автоматизировать. Хочу просто ввести слово или фразу — и чтобы оно сразу добавлялось в мой словарь вместе с примерами. А потом приложение само напоминало мне об этих фразах, когда приходит время их повторить.

Разработка приложения

Так появилась идея VibeLing — изначально я собрал прототип за месяц. В нём были основные кор-функции:

  • поиск слова или фразы;
  • получение перевода с примерами использования;
  • озвучка слова или примера, чтобы тренировать восприятие на слух;
  • добавление слов в личный словарь;
  • изучение слов через простой алгоритм интервального повторения

Я выложил пост в свой Telegram-канал и получил неплохой отклик. Решил, что стоит развивать проект дальше.

Первый пост в тг-канале https://t.me/pavlenkopro
Первый пост в тг-канале https://t.me/pavlenkopro

Ладно, не этот пост — вот следующий.

Второй пост в тг-канале https://t.me/pavlenkopro
Второй пост в тг-канале https://t.me/pavlenkopro

Как используется LLM в приложении

Я использую OpenRouter API для обработки запросов. LLM задействована на двух экранах приложения: на странице поиска и на странице перевода.

Саджесты

Здесь LLM используется в несколько этапов:

  1. Модель пытается предсказать, какое слово или фразу пользователь хочет ввести, и предлагает варианты продолжения. Причём это работает в обе стороны — можно искать как с английского, так и с русского (если вы учите английский).
  2. Все предложенные варианты сразу переводятся «налету».

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

Экран поиска слов в VibeLing
Экран поиска слов в VibeLing

Генерация перевода с примерами

На страницу перевода пользователь попадает из поиска.

Как я создал VibeLing — приложение, где ИИ помогает учить иностранные языки

Здесь LLM дополнительно генерирует примеры использования слова или фразы и переводы этих примеров, чтобы контекст был максимально живым и понятным.

Изначально перевод примера скрыт, чтобы можно было самому подумать. Но по клику его можно посмотреть.

Озвучка текста при помощи AWS

Очень важно иметь возможность слушать текст — чтобы понимать правильное произношение и тренировать восприятие на слух.

Для этого я использую AWS сервис озвучки. В приложении можно прослушивать текст на английском, сербском, немецком, французском и даже на русском (если ты изучаешь его как иностранный).

Достаточно нажать на иконку рядом с текстом — и слово или фраза будут озвучены.

Озвучка в VibeLing
Озвучка в VibeLing

Звук получается очень естественный, потому что озвучка AWS работает при помощи нейросетей.

Интервальное изучение слов

Это — просто база. Я ничего нового не изобретал, а взял для начала самый понятный алгоритм интервального повторения.

Если человек отвечает правильно, слово появляется снова через сутки. Ещё раз правильно — через 3 дня, потом через 7 и так далее. Если на каком-то этапе ответ неверный, слово возвращается в начало цикла. Когда слово доходит до конца — оно считается выученным.

Как работает алгоритм сейчас
Как работает алгоритм сейчас

На самом деле пользователю даже не нужно задумываться об этом. Каждый день приложение само формирует набор слов для тренировки. Всё, что нужно — просто начать и отвечать: помнишь слово или нет.

Тренировка в VibeLing
Тренировка в VibeLing

В том же Anki, на мой взгляд, всё слишком усложнено: нужно оценивать, насколько хорошо ты запомнил слово, и выбирать одну из пяти опций. Я считаю, что достаточно двух вариантов — «помню» или «не помню», чтобы не тратить лишние когнитивные ресурсы и сосредоточиться именно на изучении языка.

Доступные языки

Использование искусственного интеллекта открывает возможность добавить в приложение десятки языков.

Пока я реализовал изучение следующих языков:

  • 🇺🇸 английский
  • 🇩🇪 немецкий
  • 🇫🇷 французский
  • 🇷🇸 сербский
  • 🇪🇸 испанский
  • 🇷🇴 румынский

Не знаю, насколько это частый сценарий, но мне самому сейчас приходится изучать два языка — английский и сербский. Поэтому я сразу заложил такую возможность.

После установки можно выбрать несколько языков для изучения.

Позже в интерфейсе будет доступен тоггл в верхней части экрана, чтобы переключаться между языками и проходить тренировки отдельно по каждому.

Как я создал VibeLing — приложение, где ИИ помогает учить иностранные языки

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

Варианты подписок

В приложении есть бесплатная версия и Pro-версия за 5$ в месяц.

Я специально сделал так, чтобы бесплатной версией можно было пользоваться сколько угодно — и при этом получать реальную пользу.

Единственное отличие в том, что в Pro-версии нет никаких лимитов.

Так как я оплачиваю использование токенов LLM и секунды озвучки, такой подход оказался самым сбалансированным:

  • тем, кто пользуется приложением регулярно, но без фанатизма, достаточно бесплатной версии;
  • а продвинутые пользователи могут оформить подписку и не ограничивать себя.

Модели нейронки одинаковые на двух версиях – самые мощные из доступных на сегодняшний день.

Как я создал VibeLing — приложение, где ИИ помогает учить иностранные языки

План дальше

Когда я рассказал о приложении в Telegram-канале, то получил много идей, что можно улучшить. После первого цикла обратной связи я уже добавил возможность добавлять слова прямо со страницы подсказок, добавил новые языки и реализовал удаление слов из словаря свайпом.

Если поделитесь своими идеями или отзывами — обязательно возьму это в бэклог.

Дальше всё просто:

  • буду улучшать стабильность работы нейронок, чтобы снизить количество ошибок;
  • добавлять новые языки;
  • делать флоу максимально удобным — чтобы это стало самой любимой аппкой для изучения языков;
  • и, конечно, выпустить версию для Android.

В своём Telegram-канале я публикую новости о развитии приложения — подписывайтесь, если интересно следить. А ещё там я пишу про тренды в IT и про технологии в целом.

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