Назад к проектам
Проект

Vocabulary Bot: как квиз выбирает следующее слово

Vocabulary Bot (@learn_lang_bot) — Telegram-бот с викторинами для заучивания самых частых английских слов. Эта страница о том, как он устроен внутри: правило выученного слова, алгоритм выбора следующего вопроса, список слов и исходный код. Чтобы пользоваться ботом, перейдите на страницу продукта. В боте зарегистрировалось примерно 350 человек, и около 150 из них начали хотя бы одну викторину.

Что делает пользователь

Вы выбираете языковую пару, например английский и русский или английский и японский. Затем либо сразу запускаете викторину, либо сначала выбираете темы и уровни CEFR, которые хотите учить в первую очередь. Бот показывает слово, а вы выбираете его перевод из восьми вариантов.

Экран готовности к викторине в боте @learn_lang_bot — выбор языковой пары и уровня перед началом

Когда слово считается выученным

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

Экран результата викторины в Vocabulary Bot

Как составляются варианты ответа

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

Как бот выбирает следующее слово

Ядро бота — алгоритм, который решает, о чём спросить дальше. Он держит баланс между тремя видами слов:

  • Новые слова, которых вы ещё не видели.
  • Слова, которые почти выучены: за ними один-два правильных ответа подряд, и нужно последнее повторение.
  • Слова, которые уже могут забыться: вы выучили их давно, и пора увидеть их снова.

Если спрашивать только новые слова, старые забудутся. Если повторять только старые, вы не сдвинетесь с места. Именно баланс делает полезной короткую ежедневную сессию. Это похоже на интервальные повторения, но без отдельной системы карточек, которой нужно управлять.

Список слов: 5000+ самых частых английских слов

Бот построен на 5000+ самых частых английских слов. У каждого слова есть уровень CEFR (от A1 для начинающих и выше) и темы, к которым оно относится, поэтому можно начать с тех слов, которые важны именно вам: темы работы, поездки или экзамена, на вашем уровне.

Интерфейс Telegram-бота с выбором уровня CEFR

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

Исходный код

Исходный код доступен на GitHub: Laraue.Apps.LearnLanguage. Это бэкенд бота на .NET. Код бесплатен для личного и другого некоммерческого использования по лицензии PolyForm Noncommercial 1.0.0. Если вы хотите зарабатывать с его помощью, нужно отдельное коммерческое соглашение: см. COMMERCIAL.md.

Чтобы понять, как устроены данные: слова и переводы лежат в translations.json, языки — в languages.json, а новые записи попадают в базу миграцией при следующем запуске.

Пользоваться ботом

Шаги для старта, список языков и скриншоты — на странице продукта. Или откройте @learn_lang_bot в Telegram напрямую.