🚀 каждый вопрос, как точка в многомерной пространстве
Последние несколько дней я экспериментировал с ML-ядром Dovtalab.
Идея довольно простая: вместо хранения вопросов как обычного текста, каждый вопрос преобразуется в 384-мерный эмбеддинг, который отражает его смысл. В результате каждый вопрос становится точкой в семантическом пространстве.
Но человеку невозможно представить 384 измерения, поэтому я спроецировал их в 2D с помощью алгоритма UMAP.
Результат оказался очень интересным.
На графике видно, что вопросы не распределяются случайно. Они естественным образом образуют крупные области, соответствующие разным предметам, а внутри них — более мелкие тематические группы.
📊 Всего в эксперименте участвовало:
7 888 вопросов; 384-мерные эмбеддинги; около 70 кластеров внутри квизов.
После этого поверх эмбеддингов применяется кластеризация, которая позволяет находить тематически близкие вопросы. Именно эти данные затем используются алгоритмом адаптивного выбора вопросов в Dovtalab.
Следующий этап — сделать пространство динамическим. Сейчас расположение вопросов определяется их смыслом, но со временем я хочу, чтобы оно также учитывало поведение пользователей: какие вопросы часто вызывают одинаковые ошибки, какие изучаются вместе и какие лучше подходят для оценки уровня знаний.
Так пространство вопросов будет отражать не только текст, но и реальный процесс обучения.
Это только один из экспериментов, но уже сейчас интересно наблюдать, как тысячи вопросов постепенно превращаются в своеобразную «карту знаний». 🧠