- BrainTools - https://www.braintools.ru -

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

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

Сразу ссылка на App Store [2].

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

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

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

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

Приложение SkyEng

Приложение SkyEng

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • поиск слова или фразы;

  • получение перевода с примерами использования;

  • озвучка слова или примера, чтобы тренировать восприятие [3] на слух [4];

  • добавление слов в личный словарь;

  • изучение слов через простой алгоритм интервального повторения [5]

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

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

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

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

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

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

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

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

Саджесты

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

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

  2. Все предложенные варианты сразу переводятся «налету».

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

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

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

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

[скриншот страницы перевода]

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

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

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

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

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

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

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

Озвучка в VibeLing

Озвучка в VibeLing

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

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

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

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

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

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

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

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

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

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

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

Пока я реализовал изучение английского, немецкого, французского и сербского.

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

Какие пары
  • 🇷🇺 русскоязычный учит 🇺🇸 английский

  • 🇷🇺 русскоязычный учит 🇩🇪 немецкий

  • 🇷🇺 русскоязычный учит 🇫🇷 французский

  • 🇷🇺 русскоязычный учит 🇷🇸 сербский

  • 🇺🇸 англоязычный учит 🇷🇺 русский

  • 🇺🇸 англоязычный учит 🇩🇪 немецкий

  • 🇺🇸 англоязычный учит 🇫🇷 французский

  • 🇺🇸 англоязычный учит 🇷🇸 сербский

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

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

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

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

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

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

В приложении есть бесплатная версия и Pro-версия.

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

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

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

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

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

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

Функционал

Бесплатная версия

Pro-версия

Добавление слов в словарь

10 слов в день

Безлимитно

Озвучка текста

10 000 символов в день

Безлимитно

Открытие страницы с новым словом из поиска

100 слов в день

Безлимитно

Тренировки и просмотр уже добавленных слов

Безлимитно

Безлимитно

План дальше

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

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

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

  • буду улучшать стабильность работы нейронок, чтобы снизить количество ошибок;

  • добавлять новые языки;

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

  • и, конечно, выпустить версию для Android.

Ссылка на App Store [2]


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

Автор: vital_pavlenko

Источник [8]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/21641

URLs in this post:

[1] вкус: http://www.braintools.ru/article/6291

[2] ссылка на App Store: https://apps.apple.com/ru/app/vibeling-%D0%B8%D0%B7%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2-%D1%81-%D0%B8%D0%B8/id6753818507

[3] восприятие: http://www.braintools.ru/article/7534

[4] слух: http://www.braintools.ru/article/6251

[5] повторения: http://www.braintools.ru/article/4012

[6] https://t.me/pavlenkopro: https://t.me/pavlenkopro

[7] интеллекта: http://www.braintools.ru/article/7605

[8] Источник: https://habr.com/ru/articles/963894/?utm_source=habrahabr&utm_medium=rss&utm_campaign=963894

www.BrainTools.ru

Rambler's Top100