Обновить

Комментарии 66

Первое впечатление. Зашел по ссылке в тг бот, при нажатии /start получил сообщение "Доступ закрыт. Попроси администратора добавить тебя", на этом этапе отсеются 8 из 10 попытавшихся попробовать :) просто потому что неизвестно где этот администратор, кому писать, что делать и т.п. Хоть в описание бота добавьте контакты админа =) Ну ок, я решил потестить, поэтому не поленился и написал тут, а обычному пользователю как?:)

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

Аппку в итоге запустил, на старте предлагает отметить слова, которые точно понимаешь.

В списке слов есть несуществующие, это может и будет искажать смысл опроса, потому что люди будут сомневаться. Например слово abulled - это что? Ни моя память ни гугление ни шуршание словарем не сумели помочь, оно выдуманное что-ли?:) Ну имя есть арабское такое, но причем тут английский язык?)) Может нейросетка сгаллюцинировала и это должно было быть annulled? Тоже самое с proute, reful, symping (ну ок это дико сленгово и даже на urbandictionary идут споры имеет ли оно место быть или это просто кривое произношение simping)? Sarate - это что за чудо? Есть даже вариант слова "iii". Ну то есть я сомневаюсь что набор несуществующих слов поможет как-то определить моё знание английского.

Да, это как раз специальная механика, которую я нашел в научной статье по изучению языков - 20% слов ненастоящие. Генерировал их цепями маркова, потом еще Sonnet отсеивал "похожее на слова". Идея в том, что правильные слова добавляют уверенности в оценку, а ненастоящие - убавляют. В результате, если отметить все, то оценка будет "0 слов", что как будто бы и правильная при попытке затыкать все.

Вот сама статья - https://link.springer.com/article/10.3758/s13428-011-0146-0

Там конечно больше охват и как-то они постарались соединить модельные наборы с реальными, но в целом результаты кажутся довольно здоровыми.

По итогу выдало мне С2 с парой ошибок при проверке, с которыми я не особо согласен, ну да ладно, потом дальше покручу=)

И вот тут у меня тоже начинаются проблемы. Как будто грамматику +- я понимаю и уж "выбери из 3х вариантов" получаются, вон тот же EF тоже C2 выдает. Но это ж неправильно. Учителя живые на первом занятии просто говорят "давай, поговори там чего-нибудь". Но я боюсь такое сразу людей отпугнет, потому, что меня такое в других продуктах удивило и я продолжать не стал. А самая главная проблема потом начинается - оно же считает, что все, C2, и это подается на вход LLM, типа "не стесняйся в выражениях, там нормально все" и получаются грамматические монстры, которые мне вообще не понятны

Сейчас пришла идея, что может нужно динамическую переоценку проводить, на основании ошибок? Я же все равно всю историю собираю и по грамматике и по словам. Только как потом пользователю сказать, что мы как будто бы немного ошиблись и у него не C2, а очень даже B1 😣

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

Не говорить вроде как-то неправильно, но можно предупредить, что будет переоценка и показывать ее в настройках просто. Что бы потом и пользователь мог сказать "а вот и не угадали" и вернуть обратно. Основная то идея уровня в том, что задания генерируются под уровень, а не слова. Слова нужны, конечно, но в целом нет такой штуки как "слова уровня B2" - это скорее предположение, что 80%, у кого уровень близок к этому столкнулись и знают. Но у меня 4 датасета с разных источников и в них процентов 30 расхождений по оценке уровня слов, поэтому на одном словаре наверное не стоит основываться. На словаре и грамматике вполне можно, наверное

Я не маркетолог, но проверку уровня языка я бы положил ДО входа и создания аккаунта.

Вот над этим я тоже думал, но очень уж я часто сталкиваюсь с волшебными решениями, где проходишь какой-нибудь опрос, тратишь время, а они потом тебе "а давай-ка ты сразу подписочку оформишь". А я вроде как и не хочу никому подписочку лишнюю предлагать. Хочу добро людям нести. Основная цель такая была - принести чего-нибудь полезное, потому что мне лично было полезно грамматический тренер. Вообще очень по-дурацки получается, EF грамматика C2, а открываю уроки 1.1/1.2 и половина неправильно говорю в реалтайм. В сущности идея была сделать этакий грамматический решебник, но без идей "3 примера на правило" и вообще без "вставь в пропуск" в идеале (от B1 дефолтный режим ставится "полный перевод"). Потому, что вставь пропуск - это то же самое, что и выбрать из 3х вариантов - не помогает запомнить. Но для A2 понятно, что полностью перевод сразу тяжело сделать, особенно голосом в реалтайм

это мой пет-проект, который я более или менее довёл до состояния «можно показывать людям»

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

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

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

Например, сначала идут, допустим, фразы, типа: «Я что-то делаю», «Он что-то делает», …, «Они что-то делают». Потом, тоже самое, в простом прошедшем и будущем времени. Затем, в сослагательном наклонении и т.д. и т.п. Помимо акций, должны также осваиваться описания свойств и состояний, вроде: «Мы – лучшие!», «Он – гений!», или там, «Штирлиц – насторожился!», «Я хочу / могу / надеюсь чего-то там или на что-то». Ну, думаю, идея понятна. При этом предложения в нашем «фразебуке» должны быть, начиная от одного-двух слов до трех-пяти, максимум, на первом этапе. Длинные предложения, затем, строим через композицию коротких.

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

Это напоминает достаточно популярные и широко используемые русско-иностранные и иностранно-русские разговорники. Только, имеет смысл объединить озвучку, хотя бы TTS-ную, с текстом. Тем самым мы получаем уроки в видео-формате. Для интерактивной работы используем соответствующие обучающие программы.

Например, я никогда ранее не изучал немецкий язык, но решил попробовать сделать первые уроки в формате немецко-русского (или наоборот) видео-разговорника. Потом эти данные конвертировать в формат Sqlite, для моей обучающей программы «L’école». Примеры обучающих видео с двуязычными субтитрами можно посмотреть на моих каналах (более подробную информацию можно найти в моем профиле).

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

Короче говоря, главное, при изучении языка, это хороший текст, на языке оригинала. «Всё остальное можно купить за деньги!», то бишь, получить, используя бесплатные ИИ-сервисы, не говоря уже о платных.

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

Но вот эта вечная идея прогрессивного обучения спотыкается о то, что нужно как-то оценить, куда пользователь движется и как у него в мозгу это укладывается. То есть как-то почитать его мысли и узнать его лучше, чем он знает себя сам. Даже учителя не все с этим справляются, не то, что ИИ, к сожалению. И мы не скоро достигнем состояния, когда можно будет хотя бы "уверенность" в ответе измерить каким-то разумным способом, чтобы от него модель считать. Всякие измерения кожного сопротивления не в счет - не каждый ученик будет учить английский в детекторе лжи 😅

Мне кажется как раз программа важна. Путь, по которому пользователя можно или быстро протащить или задержать где, в зависимости от сложности (мне раньше нравилась подача ютубера CGPGray - у него адаптивная скорость подачи в зависимости от важности была очень хорошо настроена. Вот такую бы и мне в тренажер).

Программы во всяких duolingo настроены на наборы фраз и фактически "программой изучения" языка то и не являются, как не является программой любой карманный разговорник. А хочется системность, а не разговорник для туристов. И насчет бесплатных ИИ не вполне согласен. Я пробовал с чатами это делать - набор заданий сделать можно, но это разовая акция, без оценки, без реалтайма, без произношения, в общем сделай и оцени сам. Тоже не мой случай.

нужно как-то оценить, куда пользователь движется и как у него в мозгу это укладывается

В моей программе есть режим «Экзамен», там можно проверить уровень запомненных слов и фраз (путем выбора правильного варианта из неправильных либо отказаться от выбора, чтобы система сделала подсказку – этот вариант нужен для того, чтобы не портить себе статистику, за счет удлинения времени «экзамена»). Проверять можно в двух направлениях: оригинал – перевод и перевод- оригинал.

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

Ну, если мы учим язык не для «дяди», а для себя, то это, скорее всего, не понадобится. Мне лично достаточно одного понимания устной речи, а для письменного общения можно использовать онлайн-переводчики. Устное общение у меня было, когда-то, с одним американцем, который приезжал в наш город, и которому нужно было помочь с временным обустройством. Там, где я не понимал его, просил писать на бумаге. Письменная речь у меня была явно лучше устной. А мой «американский» язык он понимал вполне.

А хочется системность, а не разговорник для туристов.

Мне тоже хочется, поэтому я и говорю, что главное – это хорошо структурированный и сбалансированный по содержанию оригинальный текст. Однако, его никто не дает. По крайней мере, в моем понимании. Я просмотрел сотни обучающих роликов, на разных языках, на Ютубе и другие источники в «ваших Интернетах», но системы по содержимому, не увидел нигде. Только, более-менее, по форме подачи материала (грамматика, словарный запас).

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

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

И насчет бесплатных ИИ не вполне согласен. Я пробовал с чатами это делать - набор заданий сделать можно, но это разовая акция, без оценки, без реалтайма, без произношения, в общем сделай и оцени сам

Я имел в иду немного другое. Берем подходящий текст на языке оригинала. С помощью ИИ-сервисов делаем, при необходимости, его озвучку, перевод и транскрипцию. А с этими задачами «Искусственный Идиот» вполне справляется. Если же подходящий текст доступен только в виде озвучки на языке оригинала, то, существуют очень неплохие бесплатные транскрибаторы (STT), до 30 минут на сеанс, с помощью которых мы получаем нужную текстовку, которую, нам никто не мешает отредактировать на свой вкус (при наличии некоторых способностей). Вот так и живём… :) .

Тоже не мой случай.

Естественно! У каждого собственные представления о прекрасном.

Фактически Экзамен - это рекалибровка по контрольным точкам. Но вот насчет подсказки не уверен. Это как-то ухудшает показатель экзамена? В том смысле, что если нет - то как будто бы не совсем верно. Ты не знаешь, но все равно оценка как будто знаешь.

И экзамен как-то сам назначается, по объему прохождения или нужно помнить и запускать?

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

И цель как раз закрыть зазор между восприятием и знанием правил и применением в реалтайме. В идеале, когда ты запускаешь тренажер в режиме постоянного перевода и он говорит “а скажи-ка мне вот это” или “давай поговорим о твоих сегодняшних словах” и у тебя 1.5 секунды, что бы подумать ) Письменное с grammarly заходит на ура, но когда надо мгновенно - то у меня сразу проблемы. Практика решает

А еще вопрос про разговорник и лицензии на него. Даже переработанное - это все равно собственность некоторых людей. Поэтому я брал только открытые датасеты. По идее сами предложения сейчас уже можно недорого собрать LLM, хоть и не с первого раза 😅

И экзамен как-то сам назначается, по объему прохождения или нужно помнить и запускать?

У меня программа для индивидуального пользователя. «Экзамен» там делается для себя лично, а не для кого-то. Подсказка – вариант самообучения, чтобы не возвращаться в режим «Конспект» или «Видео» для повторного усвоения. Статистика тоже предназначена для себя. Вот, из ста слов, допустим, угадал, к примеру, 95. На последние пять можно обратить дополнительное внимание. В общем, всё по желанию.

И про перевод в двух направлениях тоже не уверен.

Без примеров, мы говорим о разном. Вот пример, работы режима «Экзамен», в двух направлениях (при включенной подсказке для лучшего восприятия):

Проверка оригиналов запомненных слов, с озвучкой. Если не знаем правильный ответ – просим подсказку
Проверка оригиналов запомненных слов, с озвучкой. Если не знаем правильный ответ – просим подсказку
Проверка переводов запомненных слов, с озвучкой. Если не знаем правильный ответ – просим подсказку
Проверка переводов запомненных слов, с озвучкой. Если не знаем правильный ответ – просим подсказку

Конечно, когда у слова «миллион» значений, то работать с ним в программе менее удобно, проще использовать видео-словарь ( https://my.mail.ru/mail/emmerald/video/_myvideo/27.html ):

Пример многозначного перевода французского глагола»
Пример многозначного перевода французского глагола»

А еще вопрос про разговорник и лицензии на него. Даже переработанное - это все равно собственность некоторых людей.

Ну, одни и те же фразы встречаются в разных источниках, разных авторов. Кому, скажем, принадлежат фразы, типа: «Hallo! Guten Tag! Guten Morgen! Guten Abend! Gute Nacht! Willkommen! Herzlich willkommen! Auf Wiedersehen. Auf Wiederhören. Bis bald. Tschüss., и т.д. и т.п.»? Что-то более сложное можно брать из разных источников.

Мы берем эти и подобные фразы, лепим к ним озвучку, например, TTS, скажем, на базе локальных, бесплатных onnx-моделей (у меня есть статья на эту тему, здесь). Добавляем перевод из Гугл-транслэйта и снабжаем транскрипцией из какого-нибудь ИИ-сервиса. Все это оформляем в виде видео-уроков либо данных для обучающей программы. Ну и как тут будут решаться вопросы «собственности некоторых людей»? Хотя, допускаю, имея команду юристов и желание кого-то наказать, можно и к столбу доклепаться.

Экзамен можно например по времени в приложении предлагать - поработал 2 часа и забыл про него - оповещение о том, что неплохо бы и контроль сделать.

А как генерируется подсказка? Какой-то смысловой подбор или просто слова из словаря? Кажется, что LLM бы разобралась, но может быть детерминистически можно разобрать (не смог скачать https://lecole.free.nf/Prg/Lecole101_orig.zip что бы посмотреть - говорит ошибка 404). Для Английского есть например база Open English WordNet (лицензия CC BY 4.0) - можно собрать ко-гиперонимы чтобы по коннотации рядом, но не совсем оно. Расстояния семантического только там, конечно же, нет, чтобы выбирать какие-то подальше смыслы, но тоже решаемо детерминистически.

Экзамен можно например по времени в приложении предлагать - поработал 2 часа и забыл про него - оповещение о том, что неплохо бы и контроль сделать.

Я думаю, вскоре, заняться разработкой второй версии программы. У меня накопились свои претензии. Но, вашего посыла я не понял. Что вы понимаете под «оповещением» и «контролем»?

А как генерируется подсказка? Какой-то смысловой подбор или просто слова из словаря?

У меня идет отбор из слов из текущего файла базы данных, той же самой грамматической категории (глагол, существительное и т.п.), кроме присутствующих в «правильной» записи. Например, случайный подбор вариантов перевода не должен показывать значения, которые могут быть верными и для правильного слова и для неправильного. Если слов не хватает, то количество вариантов перевода уменьшается с пяти, вплоть до одного. Фразы имеют общую, неопределенную категорию, поэтому угадывать их легче, если знаешь, хотя бы какие-то слова в них.

не смог скачать https://lecole.free.nf/Prg/Lecole101_orig.zip что бы посмотреть - говорит ошибка 404

Спасибо, за замеченную ошибку! Проверил, действительно, файл отсутствует (удалил сам сервер). Попробовал перезалить, но сервер отказывается его принимать. Думаю, что дело в его размере. Похоже, что с некоторых пор, (бесплатный) сервер стал удалять большие файлы (порядка 100 мегабайт). При этом, файлы: https://polezp.narod.ru/Prg/Lecole100_orig.zip (57 Мб) и https://lecole.free.nf/Prg/MiniDL100.zip (графическая обёртка для консольного загрузчика видосиков – 363 Кб) – доступны. Чтобы решить проблему, я добавил туда Lecole101_orig.zip и Lecole100_orig.zip (который тоже был удалён), но просто с одним html-файлом в котором указаны реальные ссылки, в т.ч., на Yandex.disk (чтобы не менять страницу на сайте: https://lecole.free.nf/Prg/Lecole.php ). Короче говоря, эквивалентные ссылки: https://polezp.narod.ru/Prg/Lecole100_orig.zip и https://disk.yandex.ru/d/5yjYP4JP1aVnIw – Lecole101_orig.zip) работают, только что проверил.

Я вот за системный подход. Поэтому и есть отслеживание календаря занятий, всякие FSRS и оповещения. Поэтому контроль, как мне кажется - это внешняя штука, как вот когда с преподавателем занимаетесь в школе/институте - он же как-то (понятия не имею как) определяет, что нужно контроль запустить. По темам, по набору тем, просто срез знаний. Поэтому если пользователь занимается с вашей программой, то он может методологию то и не знать, но подталкивать его к этому программа может. Сделали срез знаний, скорректировали оценку по всему объему или секционно, выдаем ошибки или уточняем по ходу дела.

Я вот за системный подход.

Я тоже. Только, полного системного подхода нет ни у кого. Кого вы можете назвать? Шестов, Петров, Кристина Франс, Анки, Дуолинго и т.д. и т.п.?

Да, можно возразить. Мол, есть, скажем, на Ютубе: @Lhexagoneplus (французский язык) или Елена Шипилова (немецкий язык). Они преподают язык, в своих видео-лекциях, глубоко и системно.

Но, это если ориентироваться на преподаватели / репетитора. Это, конечно, решает вопросы с грамматикой и общим погружением в тему. Однако нужен еще словарный запас, знание непереводимых буквально фразеологизмов, умение говорить, может быть, системы упражнений и много чего ещё.

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

Поэтому, нельзя объять необъятное. Та же Анки ориентирована на создание платформы для работы с собственными данными, которые вы должны делать сами. У меня нечто похожее. Естественно, я пытаюсь делать какие-то демо-данные для своей обучающей программы, но, параллельно, думаю, над оптимизацией работы самой программы. А там еще много, что можно улучшать.

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

Так и живем :) .

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

С Анки не согласен, есть хорошие наборы данных и в целом идея сделать свое хороша только как создание ценности в набор данных. Можно создать ценность трудом создания карточек, деньгами за их стоимость, временем, которое как-то получилось вложить и сейчас уже не хочется бросать или как у меня - забавной математикой распределения словаря по уровням пользователей. К сожалению не адаптивная пока, но это тоже легко выясняется на живых данных.

У репетитора система тоже только в голове, да и то, если ты единственный ученик. А если вас по 8 человек в день или по 4 группы по 15, то система рушится - т.к. адаптивность не предусмотрена.

В сущности, мы пытаемся смоделировать какую-то среду и посмотреть, как на нее реагирует некоторая выборка людей.

Я бы так не сказал. У меня лично задача другая. Я пытаюсь выстроить систему обучения для себя и выучить, наконец, какой-нибудь иностранный язык, в уже зрелом возрасте. При этом, руководствуюсь принципом, если сделал что-то путное, хотя бы то, что нравится себе, – поделись с другими. Ну, а если «другим» не понравится, то, «моё дело предложить – ваше дело отказаться». Как бы всё просто, без особых претензий.

Концептуально, для меня, «система» обучения заключается в использовании «триграммы»: работа с текстом, в т.ч., двуязычным, работа с видео (с двуязычными субтитрами) и использование обучающей программы (для интерактивного взаимодействия с озвученными словами и фразами и проверкой запомненного материала).

К этой «троице» можно добавить еще два пункта, чтобы получить «пентаграмму». Это работа с преподавателем / репетитором (непосредственно либо опосредованно) и взаимодействие с носителями, тоже, напрямую либо виртуально.

Отсюда видно, что на техническом уровне нужна соответствующая программа, обучающие видео и обучающие тексты. Непосредственные контакты можно отложить на «потом».

Вот я и веду речь об «идеальной» программе и об «идеальных» данных. А где их взять? То, что доступно – неинтересно, а то, что интересно – недоступно. Вот и приходится ваять программы, видео и тексты самому.

А поскольку человек – не машина, то всё у него происходит медленно и противоречиво, особенно, как вы пишете: «Я один…». Со стороны может казаться, что бестолково и не практично. Поэтому, и «нет Пророка в своём Отечестве!». Вот и остаётся руководствоваться поговоркой: «А Васька слушает, да ест!» :) .

Ну вот я такую обучалку делаю исключительно для себя. Проблема в том, что для большинства европейских языков обучалки очень скудные. Особенно если это малочисленная страна. И обучение сводится к изучи слова , и по системе, которая только автору понятна. Да, всякие дом, дерево, трава - высокочастотные с точки зрения лингвистики, но совершенно бесполезные в реальной жизни. Свои же наборы создавать часто невозможно или криво или неудобно.
Анки большие наборы, но GUI для них мягко сказать оставляют желать лучшего ,как и изображения.
Поэтому мой пайплан строится от диалога-реальной жизненной ситуации с которой сталкивается человек приехавший в страну.
1 ситуация 10-15 фраз в виде диалога . Далее этот диалога раскладывается на : фразы, чанки (это смысловые связанные словосочетания, которые неразрывны и учаться 1 блоком), леммы (все слова , что участвуют в диалоге) и интересная фишка каркасы, это некие блоки, которые участвуют почти во всех фразах. По типу "я бы хотел ..." , "покажите мне" , "а сколько стоит ... " ... . По каждой сущности материал раскладывается ии промптами, и далее обогащается полезными подсказками. Например дял лемм вытягиваются окончания, парадигмы, склонения, правила написания. Для чанков - как образовывается и изменяется.
Далее идет озвучка через elevenlabs и отрисовка через ChatGpt image . При чем качество изображений на порядок лучше того, что есть в любом текущем софте.
Вот сейчас как раз на финальном этапе составления базы. GUI , к сожалению очень сырой, все силы брошены именно на составление базы, потому как ничего дельного не нашел для своего языка и приходится заниматся этим самому. Будет GUI, тогда опишу. Есть много интересных решений, по типу RAG учебники грамматики, которыми через mcp пользуются агенты энричеры дергая при неуверенности правила грамматики. Это убирает фантазии ии, и повышает грамматическую ценность.

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

А разве разговорники не решают ваших проблем? Там как раз и будут фразы, типа: «“я бы хотел …” , “покажите мне” , "а сколько стоит … "». Скажем, для изучения немецкого, с нуля, я взял несколько подобных разговорников, включая типовые фразы из видосиков Ютуба и пытаюсь из всего этого «винегрета» сфарганить что-то удобоваримое. Включая озвучку фраз, при необходимости, с помощью TTS.

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

В принципе, можно взять и русский, аналогичный текст, вроде ваших желаемых фраз, в кавычках, перевести их и дальше уже – по накатанной колее. Только, при этом, мы теряем специфику языка. Ибо больше половины ходовых фраз не переводятся буквально и даже лучшие онлайн-переводчики не гарантируют 100%-ной точности. Поэтому, в идеале, лучше иметь нужный текст, созданный носителями или носительницами.

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

Кстати, большинство подобных ходовых фраз присутствует в примерах использования, в словарях. Можно взять, допустим, простой словарь, скажем для школьников, например, на 3000 слов и читать его внимательно, даже не стараясь ничего запоминать, только обращая внимание на структуру фраз в примерах использования. Или, как вариант, скачать онлайн-словарь и выделить оттуда примеры использования, упорядочить их по переводу, убрать дубликаты и «ненужные» фразы и осваивать уже их. Как, скажем, я делал в своей статье: «Запоминаем иностранные слова по видео-словарю, упорядоченного по грамматическим категориям и переводам» ( https://habr.com/ru/articles/1021912/ ):

Упорядочивание части d) для словарных статей из онлайн-словаря, по переводам
Упорядочивание части d) для словарных статей из онлайн-словаря, по переводам

Для основных языков есть такие наборы. Для мноих стран с небольшим населением их нет. В целом у меня ии генератор отлично справляется с этой задачей выдавая качественный материал.
При чем у него есть 2 точки опоры, это mcp морфологический анализатор + RAG по учебникам.
И я получаю свои наборы, которые нужны сдесь и сейчас.
А пользовательским словарям, сейчас сложно доверять, там может быть вполне ни кем не проверенный ии слоп. Дак у меня хоть свой, контролируемый по куче правил и чеклистов.

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

Скрытый текст

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

Картинки – красивые! Сделано со вкусом. Однако, стиль – не мой. Хотя, многие вполне могут захотеть осваивать язык по вашему методу.

У меня накопилось немало французских учебников грамматики на французском языке. Там тоже очень любят стиль, подобный вашему. Я же, в силу консерватизма, предпочитаю более регулярные тексты, с меньшим количеством графики. Одну такою книгу, на языке оригинала, нашел. Там «всего» полторы тысячи страниц. Развлекательных картинок там нет, но есть грамматические таблицы, которые довольно трудно представлять в формате двуязычной книги, с короткими фразами, переведенными по методу БКП («Буквальный Контекстный Перевод») :

Пример БКП (буквального контекстного перевода)
Пример БКП (буквального контекстного перевода)

Я пробую разные варианты двуязычных книг: в html-формате, в Эксел-формате, в видео-формате (о чём пишу в своих статьях, здесь).

Если брать художественные или общетехнические тексты, без изображений и таблиц, в формате БКП, то учить письменный иностранный язык, таким способом, достаточно комфортно. Основная проблема – сделать хорошую сегментацию оригинального текста (у меня есть ИИ-шные скрипты на эту тему, но все равно, результирующие фразы бывают очень длинными) и собственно перевод по БКП. Вручную (после использования ИИ-шных переводчиков), всё, в принципе, получается, но это долго, поэтому, проблема создания хороших двуязычных книг остаётся.

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

Скрытый текст

При чем запоминание блоками и на реальных фразах, на каждый день.

Вы так и не ответили, чем вас не устраивают разговорники? Тем, что там нет красивого оформления?

Впрочем, ваша последняя картинка мне нравится больше. Это уже ближе к моему пониманию освоения языка. Однако, естественно, предпочтения у нас разные. Вы делаете акцент на непосредственное общение в быту, с носителями языка, а мне это не надо, за рубеж, я выезжать не планирую и непосредственно общаться с иностранцами – тоже. Мне вполне достаточно понимать речь на слух в оригинальных видео и воспринимать письменные тексты.

У меня расчет на 0 уровень, потому максимум интерактива, мнемоническое запоминание.

У меня тоже, только, «мнемонически запоминать» я предпочитаю в собственной обучающей программе «L’école» ( https://lecole.free.nf/Prg/Lecole.php ) :

Общие фразы на испанском языке в программе «L'école», в режиме «Видео»
Общие фразы на испанском языке в программе «L'école», в режиме «Видео»

Непосредственно, этот урок можно посмотреть в https://my.mail.ru/mail/emmerald/video/_myvideo/24.html .

Идея простая, мы создаем озвученные, грамматически однородные фразы (на базе роликов Ютуба либо TTS) и на их основе делаем, как видео с двуязычными титрами, так и данные для обучающей программы. Что, вполне обеспечивает «интерактив» (в режиме «Конспект») и контроль запомненных слов и фраз (в режиме «Экзамен»).

В целом, ситуация понятная, делаем что-то «под себя» и делимся с «другими». Если «другим» понравится, они пользуются, если нет, пользуемся только мы сами. В любом случае, какая-то польза будет.

Разговорники не устраивают, тем, что их нет :D . Если для Английского,Немецкого, Франзузского их валом, то для словацкого я нашел только 1 приложение , в котором есть живые фразы, та и то криво-косое за дикие деньги. Учебников для рускоязычных критически мало.
К тому же тот же словацкий, при всей похожести, имеет кучу критических отличий, одно из них клитики. И тут либо зубрить грамматику , чтобы сказать простую фразу.
Вот , к примеру: Я бы хотел отдохнуть  - частая фраза.
В словацком она звучит Chcel by som si oddýchnuť . Если переводить и составлять по словам, о Хотел бы я себе отдохнуть.
В моей обучалке эта фраза породит 2 чанка [Chcel by som] - я бы хотел [si oddýchnuť] - отдохнуть
+ 1 так называемый каркас (это список вот таких заготовок с которых начинаются самые популярные разговорные фразы) :
[Chcel by som] + [ что? ...]
Ученик запоминает блоками, пока не подтянет грамматику.
Далее слой энрича обьяснит отдельно почему в [Chcel by som] порядок именно такой со ссылкой на грамматические правила из учебника. Плюс мнемоническая отрисовка.

Еще примеры (напомню это полный автомат-конвеер просто от 1 фразы , 0 ручной работы). Есть промпт, который генерит промпты для Gpt Image . Вот ниже еще один пример с глаголом быть, который есть в словацком, и которого нет в русском.

Скрытый текст

Разговорники не устраивают, тем, что их нет :D .

Как по мне, то материалов для изучения словацкого, в Интернете, достаточно. В чистом виде, разговорники, в своем классическом виде, вам могут и не подойти. Типа, тем там много, но именно те, что интересуют – представлены слабо. Поэтому, ориентируюсь на себя.

Вот, бегло посмотрел, что есть в «ваших Интернетах». Материалов по грамматике – хватает. Например: https://slovake.eu/grammar?hl=ru – на русском языке.

На английском языке, хороший ресурс по «фразебуку»: https://www.goethe-verlag.com/book2/EN/ENSK/ENSK002.HTM . Берем, там, скажем, тему (с озвучкой): «Fruits and food», переводим с английского на русский и смотрим:

• Нам нужны хлеб и рис. – Potrebujeme chlieb a ryžu.

• Нам нужна рыба и стейки. – Potrebujeme rybu a steaky.

• Нам нужна пицца и спагетти. – Potrebujeme pizzu a špagety.

• Что еще нам нужно? – Čo ešte potrebujeme?

• Нам нужны морковь и помидоры для супа. – Do polievky potrebujeme mrkvu a paradajky.

Можно скачать книги по грамматике, например: «PRAGMATICKÁ GRAMATIKA 1, Zuzana Popovičová Sedláčková, Kristína Piatková, Univerzita Komenského v Bratislave, 2021», на 245 страниц. Да, она на словацком языке, но можно перевести документ в Гугл-транслайте. Попутно, загрузил еще несколько пособий на языке оригинала, но, меньшего размера.

По видео, материалов тоже достаточно. Например:

• 200 фраз - Словацкий - Русский : https://www.youtube.com/watch?v=6mqKbtNZjtU ,

• Slovak phrases for everyday conversation – Learn Slovak : https://www.youtube.com/watch?v=MTrZnGbS35w .

Есть даже целые каналы, интересные для работы, скажем: https://www.youtube.com/@joyfulslovak/playlists , например: https://www.youtube.com/watch?v=sg4ucU7d-dQ&list=PLJu_2v-6aJQYdHQv3q9rx4U4NS14pKAUw (Conversations in Slovak Language for beginers)

И т.д. и т.п.

Иначе говоря, английский язык не помеха, если, допустим, видео на английско-словацком языке, то разделяем звук по языкам (я этим занимаюсь регулярно), выделяем нужный язык и пересоздаем видео либо данные для обучающей программы, только с нужным языком. Если нужно, распознаем речь, с помощью онлайн-сервисов, делаем перевод и, вуаля, получаем то, что хотим.

Отсюда вывод, для создания обучающих материалов – недостатка в данных нет, это только вопрос времени и желания. Поэтому, мне лично безразлично, что немецкий с нуля осваивать, что словацкий. Только на словацком говорит всего пять с половиной миллионов человек, что как-то не «греет». А так, первое впечатление – словацкий сильно связан с русским языком, похоже, у них общий праязык.

Да, спасибо, это неплохой ресурс, пользовался им. Но может в силу возраста, может особенностей запоминания мне сложно воспринимать черно-белый плоский текст.
Да и сырая лингвистика не моя тема, я визуал и мне нужны графики, таблички, выделение цветом, мнемоника с картинками ...
И почему бы и нет, если современные Image модели способны очень качествено визуализировать данные, что значительно облегчает процесс запоминания.
Потому пошел своим путем, и делаю обучалку в первую очередь для себя + опыт в ИИ разработке.
Хочется решить задачу 1 мили, именно старта.
Для меня это не блажь, а жизненная необходимость и обучении должен быть некий минимальный интерактив.
Что для меня означает удобный визуальный тренажер с возможностью отмечать "помню/не помню" "знаю/не знаю" , чтобы не тягать по 100 раз уже выученные слова и фразы в блокнотике, это уже как-то дико в наш цифровой век.
Словацкий , не смотря на кажущуюся простоту, достаточно сильно отличается от русского, и именно на контрасте у меня построена вся обучающая модель. Т.е. показать сходства и отличия.

мне сложно воспринимать черно-белый плоский текст

Не понимаю, о чем вы? Вы имеете в виду обычные бумажные книги? Если делать (пересоздавать) свои видео, то там, можно использовать графику без проблем. Если работать с обучающей программой, то фон, цвет, логотипы можно выбирать самому, чего вполне достаточно, куда ещё «цветастей»?

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

• 001-ФранцузскийАлфавит.mp4 : https://disk.yandex.ru/i/G4pJZ__AKhtHsw ,

• 001-ФранцузскийАлфавит.pdf : https://disk.yandex.ru/i/DwEX79lOXZlJyw .

Если у вас более развитая фантазия, то оформлять свои уроки вы можете на свой вкус. Однако, формат самоучитель + видео, мне нравится куда больше, чем просто изображения, даже красиво оформленные. Если мы здесь в чем-то и ограничены, так только собственной фантазией.

Да и сырая лингвистика не моя тема

Это, если она написана на русском языке. Действительно, русскоязычные книги по иностранной грамматике быстро становятся скучными, наблюдал это на себе много раз. А вот, та же грамматика, на языке оригинала, уже почти как увлекательная игра. А что именно «буржуи» там «напейсали»? Да и само чтение имеет двойную выгоду: вы осваиваете иностранный текст, как таковой (по форме) плюс, дополнительно, воспринимаете его содержание. А та же французская грамматика, на французском языке, которую я сейчас преобразую в двуязычный текст (по вертикали, по горизонтали, разноцветный, короткими фразами, переведенными по БКП), по содержанию сильно отличается от наших учебников и даже, в какой-то мере, проще, хотя и объемней за счет большей литературности. Т.е., процесс достаточно интересный, хотя и трудоёмкий.

современные Image модели способны очень качественно визуализировать данные

Ключевое слово: «Image». Мне больше «вставляет» «Video». Хотя, когда у меня несколько дней были проблемы с компьютером, я читал черно-белые бумажные распечатки французско-русского школьного словаря на 3000 слов (благо, в свое время, распечатал на работе) и бумажное пособие МГУ, на французском языке для студентов-филологов, где только первая глава на русском, а остальные на французском. И меня, как-то, «чёрно-белость» ничуть не напрягала. Больше страдал из-за поломки компьютера.

делаю обучалку в первую очередь для себя + опыт в ИИ разработке

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

Сейчас меня больше интересует сегментация французских предложений на логически самодостаточные смысловые фразы, так чтобы русский перевод (для полных предложений) можно было, с помощью тех же ИИ, поставить в соответствие полученным фразам. При этом никакой отсебятины в переводе мне не надо, только БКП. Как говорят французы: « Traducteur, traitre. Traduire, c’est trahir. » : «Переводчик – предатель. Переводить – предавать.». Это, конечно, сказано слишком грубо, тем не менее, не на пустом же месте появилась эта поговорка.

Вручную, у меня всё получается, но, хочется «вножную», всё-таки, не за горами время, когда будет создана «Искусственная Жизнь», а не какой-то там продвинутый «Искусственный Интеллект» :) .

чтобы не тягать по 100 раз уже выученные слова и фразы в блокнотике

В моей обучающей программе, в режиме «Экзамен», правильно указанные слова (перевод для оригинала или наоборот) не повторяются, а неправильно выбранные, через какое-то время, вылезут снова. Так что, про бумажный «блокнотик» пора уже забывать :) .

Сегментация есть у меня) Собственно это основа всего процесса. Правда на уровне фразы.

Ниже грубый пример отрисованный с raw data. Фраза разбирается на граф взаимосвязей. Ось вращения (pivot) - это основа для вариатора, когда из 1 фразы мы можем показать изменение любой части по роду, числу , падежу ...
Чанк же это грамматический блок-кирпичик. Где изменение одной части тянет за собой изменение другой (род тянет окончание, меняем род, меняется окончание). Для славянских языков это важно, словацикй тут не исключение. И окончания с русскими совпадают в 40% случаев, хотя тенденции и прослеживаются, и проще учить различия...

Скрытый текст

Сегментация есть у меня) Собственно это основа всего процесса. Правда на уровне фразы.

изменение одной части тянет за собой изменение другой (род тянет окончание, меняем род, меняется окончание)

Ну, это примерно то, что мне нужно. Только ваш результат, в изложенном виде, – не воспроизводимый.

Например, рассмотрим такую задачу:

Дать таблицу спряжений для всех французских глаголов. Их, в современном, французском языке, порядка семи тысяч. Каждый их них имеет, примерно, 90 форм спряжения. Как их все получить?

Оказывается, что эти, под миллион, данные можно описать с помощью, всего, ста пятидесяти шаблонов (которые можно найти на Гитхабе). Далее, дело программистской техники.

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

В итоге, я хочу иметь примерно такое представление:

Примет двуязычного текста

Manifeste de Prague Пражский манифест (движения за международный язык эсперанто)

Nous, Мы,

membres du mouvement mondial участники всемирного движения

pour la promotion de la langue internationale Espéranto, за продвижение международного языка эсперанто,

adressons ce manifeste обращаем этот манифест

à tous les gouvernements, ко всем правительствам,

à toutes les organisations internationales et ко всем международным организациям и

à tous les hommes de bonne volonté, ко всем людям доброй воли,

déclarons notre inébranlable attachement заявляем о нашей непоколебимой приверженности

aux objectifs définis ci-dessous, целям, определенным ниже,

et invitons chaque organisation et и приглашаем каждую организацию и

chaque individu каждого человека

à se joindre присоединиться

à nos efforts к нашим усилиям

dans ce sens. в этом направлении.

Lancé en 1887 Созданный в 1887 году,

comme projet de langue auxiliaire как проект вспомогательного языка

pour la communication internationale, для международного общения,

l’Espéranto s’est rapidement développé эсперанто быстро развился

pour devenir une langue vivante, и стал живым языком,

riche en nuances. богатым нюансами.

Depuis plus d’un siècle, На протяжении более века

l’Espéranto fonctionne et эсперанто функционирует и

rapproche des hommes объединяет людей,

par delà les barrières linguistiques et преодолевая языковые и

culturelles. культурные барьеры.

Entre-temps, За это время,

les objectifs de ses utilisateurs цели его сторонников

n’ont rien perdu de leur importance не утратили ни своей важности,

ni de leur actualité. ни своей актуальности.

Ni l’utilisation Ни использование

au niveau mondial на глобальном уровне

de quelques langues nationales, нескольких национальных языков,

ni les avancées ни достижения

en matière в области

de techniques de communication, коммуникационных технологий,

ni même l’invention ни даже изобретение

de nouvelles methods новых методов

d’enseignement des langues обучения языкам

ne permettront de concrétiser не позволят реализовать

les principes suivants, следующие принципы,

que nous considérons comme essentiels которые мы считаем существенными

dans un ordre linguistique для языкового порядка,

juste et efficace. справедливого и эффективного.

  1. Democratie 1. Демократичность

Un système de communication qui Система общения, которая

privilégie toujours всегда предоставляет привилегии

certains citoyens, определенным гражданам,

mais exige d’autres но требует от других

qu’ils consentent des années d’effort годы усилий

pour atteindre un degré moindre de compétence, для достижения меньшей степени компетентности,

est fondamentalement antidémocratique. является принципиально недемократичной.

Bien que l’Espéranto, Хотя эсперанто,

comme toute langue, как и любой язык,

ne soit pas parfait, несовершенен,

il dépasse de loin tous ses rivaux он намного превосходит всех своих конкурентов

comme moyen de communication égalitaire как эгалитарное средство общения

à l’échelle mondiale. в международном масштабе.

И кстати, вот на том видео, что вы прислали "200 фраз" , для меня как человека, который живет в стране, 50% полностью бесполезны: "Я тебя люблю", "я работаю в больнице" , "позволь мне тебя обнять" ... остальные постольку-поскольку. Реально золотых там от силы 20-30 фраз. И это касается большинства обучаловок.
К тому же нет обьяснения как строится фраза, если будет не "тот" а "та"? Если не "вон тут" а "вот там"? А если перестроить фразу ... и да, с репетиторами тоже достаточно плохо. Программы обучения из прошлого века ...
У меня на это есть вариатор ,который раскручивает из 1 фразы кучу вариатов в разных падежах, числах, лицах ...
Одно дело учить язык "на вырост" в свободное время, а другое дело, что нужно вот здесь и сейчас, при полном лимите свободного времени на обучение.
Ну и у всех разные способности к языкам, у меня они посредственные. Мне надо математически разложить все по полочкам. Понять структуру , связи , визуализации ...

на том видео, что вы прислали “200 фраз” , для меня как человека, который живет в стране, 50% полностью бесполезны

Я это понял сразу, не «живя в стране». Для меня, как абсолютно постороннего, здесь важнее первое знакомство с произношением, хотя, допускаю, что там всё – ИИ-шное творчество. Более, важно, что такие видео вообще есть.

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

К тому же нет объяснения как строится фраза, если будет не “тот” а “та”? Если не “вон тут” а “вот там”?

Для этого и существует грамматика. Просто, вам её влом читать, но, без нее – никуда. Можно, конечно, пытаться готовить грамматически однородные блоки данных (оригинал + перевод + озвучка), демонстрирующих ту или иную специфику (род, число, падеж, спряжение, время и т.д. и т.п.). Тогда мы осваиваем грамматику и заодно слова в контексте. Я пытаюсь делать подобные материалы, но это всё трудоёмкий процесс, проще, получается, не полениться и почитать учебник грамматики непосредственно. При этом, грамматика, скажем, французского языка – сложнее английского, а у немецкого языка – проще английского, как и у испанского.

Думаю, что нужно не комплексовать перед «бумажной» грамматикой, только и всего.

Программы обучения из прошлого века …

Как я уже понял, важна не столько обучающая программа, сколько данные для нее. Данные, по сути, нужно готовить самому. Это делаете вы – для себя и я – для себя. Программа нужна для интерактивной работы (набор руками, для лучшего запоминания, озвучка, навигация по данным, контроль ввода и качества усвоения).

Это хорошо дополняют видео с двуязычными титрами. Если понравился видосик, то извлекаем звуковую дорожку, распознаём ее, делаем звуковую разметку фраз, переводим их и ваяем уже собственный вариант видео. Это хорошо работает даже для песен. Вот удивило меня содержание детской песни «La Batalla de los Planetas» («Битва Планет», у нас такие не поют) и я сделал двуязычные титры к ней: https://rutube.ru/video/87d4a7fe4a59271dd1871ec2331ee98f/ . Потом скачал учебники грамматики по испанскому, посмотрел, ничего страшного там нет, как-нибудь еще вернусь к этой теме.

Или вот итальянская песня: «Bella Ciao» («Красавица – прощай!»), про итальянских партизан, во время Второй Мировой. Узнал содержание – зацепило! Мы страдали, в Великой Отечественной, не меньше итальянцев, но такой песни, да еще в десятках разных вариаций (как детских, так и взрослых), у нас, почему-то, нет. Может быть, и для неё сделаю двуязычный ролик. У нас я знаю только одну подобную песню: «Скажи Председатель!», которую невозможно было слушать без слёз, особенно в «период безвременья», т.е., «лихих 90-х».

Последний фактор, в этой «троице» («триграмме»), это двуязычные книги, над которыми я сейчас работаю.

У меня на это есть вариатор ,который раскручивает из 1 фразы кучу вариатов в разных падежах, числах, лицах …

Это, конечно, очень здорово! Но, лучше было бы, если бы вы написали, здесь, статью на эту тему. Было бы интересно почитать.

Мне надо математически разложить все по полочкам. Понять структуру, связи, визуализации …

Вы говорите, прямо, как полиглот Петров! Он тоже призывал понять «математические алгоритмы» в иностранном языке. Но, так может говорить только, человек, имеющий какое-то отношение к математике. А как у вас дела с математикой? :)

С грамматикой в словацком проще в той части, что она тотально не так сильно отличается от русской, как например английская , немецкая или французская. Очень много похожих по звучанию и написанию слов. Поэтому тут достаточно часто увидеть разницу и запомнить различия. Для этого и расчленяю фразу на составляющие.
Про математику я писал в той части, что мне проще искать структуру, логику , взаимосвязи , чем листать огромные учебники.
Собственно изучение грамматики ни кто не отменяет, это параллeльный процесс. Сначала мы запоминаем "chel by som" как кнопка в голове, которую надо нажать, чтобы что-то попросить. И параллельно учим правила.
А проблему генерации фраз я решил в первую неделю разработки, собственно это очень простая для ИИ задача, особенно если дать опору из mcp учебников и морфотаггеров.
При чем конкретно у меня сейчас идет привязка к словацкому, потому как он мне нужен, но совершенно на тех же принципах я могу делать на любую языковую пару из славянских языков. Английский тут нет, из-за иного подхода к грамматике. Но даже ради интереса пробовал с разбегу перестроить под Немецкий и получил неплохие результаты. Оказывается он достаточно близок к славянским языкам в части построения фраз, падежей окончаний. Я не лингвист тут , но мои алгоритмы отработали достаточно неплохо даже без перестройки под специфику.
Ваша же задача, таблица спряжений , если я ее правильно понимаю, решается морфологическими таггерами. Можно с ИИ можно без.
Для словацкого есть MorphoDiTa
для русского , у меня вот такой стек определения форм и окончаний. Это mcp , который отдает информацию модели на лету в процессе рассуждения, и она при надобности получает все формы слова, разбор окончаний (это нужно для сопоставления их со словацкими и подсветки разницы для привлечения внимания).

## Внешние зависимости
| Пакет | Версия | Назначение | RAM |
| pymorphy3 | latest | Словарь OpenCorpora (~400K лемм) | ~5 MB 
| stanza | latest | Нейросетевой NLP (модель RU ~200MB на диске) | при загрузке ~500 MB 
| morpho_segm | 0.3.1 | Sorokin NN морфемная сегментация (Тихонов 96K) | ~30 MB (lazy) 
| mcp | 1.26.0 | FastMCP, streamable-http | — |
Скрытый текст

под вашу задачу вот беглый гуглеж дал такие советы (по сути это аналог моей MorphoDita/Stanza):
А далее или ручками, то что вам нужно, скриптами. Или сделать mcp сервер как у меня, который будет возвращать json со всеми формами и фразы на вход. Собственно вот у меня таким занимается вариатор, когда из 1 фразы делает несколько , отвечая на вопросы (а вот если тут был бы другой род/число/падеж ..., как бы изменилась фраза) .

Скрытый текст

1. Для генерации форм (Синтез)

Если вашему вариатору нужно взять инфинитив (лемму) и сгенерировать правильную форму для подстановки во фразу:

  • verbecc — это буквально то, о чем вы писали выше. Эта библиотека построена ровно на тех самых ~150 XML-шаблонах спряжений. Вы даете ей глагол, она определяет его шаблон и возвращает полный JSON со всеми 90 формами. Это идеальный детерминированный инструмент для вашей задачи.

  • Lefff (Lexique des Formes Fléchies du Français) — это колоссальный открытый морфологический словарь французского языка (аналог словаря OpenCorpora, который использует pymorphy3). Это огромная таблица, где перечислены сотни тысяч словоформ с их тегами (существительные, прилагательные, глаголы). Если нужно склонять не только глаголы, но и менять род/число прилагательных, используют этот словарь.

2. Для разбора текста (Анализ)

Если вам нужно разобрать готовое французское предложение, понять, где там подлежащее, а где сказуемое, и получить леммы (начальные формы) для последующей сверки:

  • UDPipe — прямой родственник MorphoDiTa (разработан той же командой). Отлично делает морфологический анализ французского и отдает данные в формате Universal Dependencies.

  • spaCy (модели fr_core_news_...) — заменяет связку Stanza/MorphoDiTa для анализа. Он мгновенно разбивает предложение на токены, отдает лемму каждого слова и его синтаксическую роль (что крайне важно для разбивки на чанки, о которых мы говорили ранее).

Ваша же задача, таблица спряжений , если я ее правильно понимаю, решается морфологическими таггерами. Можно с ИИ можно без.

Получить все формы спряжений для 7000 французских глаголов, вообще не проблема. Смотрим, какой номер шаблона для каждого глагола (на базе соответствующего списка из Гитхаба) и по нему генерим все 90 форм спряжения. В итоге, получаем полную таблицу соответствий, в которой, потом, находим нужное значение простым поиском.

Однако, эта задача, скорее, академическая, чем реальная. Меня, конкретно интересует разбивка французских предложений на короткие смысловые фразы и их «Буквальный Контекстный Перевод» на русский язык (см. «Пример двуязычного текста» с «Пражским Манифестом» в https://habr.com/ru/articles/1061612/#comment_30292236 ).

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

В целом, получается неплохо, а некоторые шероховатости, вроде вставки разделителей строк, после номеров с точкой или аббревиатур, подобных: «M.», «Mme.», «Mlle…», «etc.» и т.п., можно решать либо усложнением кода скрипта на Питоне либо ручной правкой.

С переводом, чуть сложнее. Его нужно делать дважды: для всего предложения и для группы сегментов, так чтобы, в конечном счете, было минимум «отсебятины» и ненужной литературности. Тут бы и развернуться ИИ, Если ограничится только Гугл-транслэйтом, то без ручной правки обойтись будет трудно. Хотя, нет худа, без добра, вынужден лучше вникать во все нюансы, что только на пользу.

Собственно вот у меня таким занимается вариатор, когда из 1 фразы делает несколько , отвечая на вопросы (а вот если тут был бы другой род/число/падеж …, как бы изменилась фраза) .

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

У меня делается такая ИИ сегментация. И перевод идет как фразы целиком, так и по отдельным блокам. Т.е. у меня есть четкий матчинг между словацким блоком и русским переводом. Вот тот же "chel by som" переведется не пословно "хотел бы я" , а "я бы хотел" .
После кучи иттераций нашел интересный механизм, который лег в основу движка , который делает сегментацию.
Смысл в том, что мы берем слово и пытаемся его изменить (крутим ручку: род, число, падеж ... ) далее смотрим что тянет изменить в фразе, чтобы она осталась грамматически правильной, какие элементы меняются. Далее уже обнаруживаются взаимосвязи и фраза делится на чанки (неразравные элементы-блоки). Ну и ручки кручения становятся осями вариатора, по которым потом из 1 фразы можно сгенерировать несколько.
Т.е. у меня появляется некий слой абстракции, между словами и фразой. Чанки состоят из слов, а фразы состоят из чанков + слов связок.
Для любых славянских языков это работает четко. Пробовал для Немецкого - Как-то работает) но я его не понимаю совсем, чисто игрался.

Скрытый текст

Вот тот же “chel by som” переведется не пословно “хотел бы я” , а “я бы хотел” .

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

После кучи итераций нашел интересный механизм, который лег в основу движка , который делает сегментацию.

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

Однако, я не сторонник сложных решений, без крайней необходимости. К счастью, западноевропейские языки не имеют той сложной системы окончаний, как в русском и языках на его основе (в котором вы подозреваете немецкий, а некоторые утверждают, что и шведский, хотя, Александр Драгункин идет еще дальше и считает мировым праязыком – исключительно русский: «В начале было слово – русское!»). Поэтому применять ваш алгоритм к «жестким» языкам (то бишь, западноевропейским) нет никакой нужды. А для работы с «гибкими» языками, вроде славянских, с которыми вы имеете дело, ваш подход, думаю, очень эффективен. По крайней мере, тянет, если не на патент, то на монетизацию. Только я бы, на вашем месте, не ограничивался бы одними картинками. Думаю, вам нужна своя собственная обучающая программа.

Я же собираюсь идти своим путем. Делать сегментацию оригинального текста, в принципе, не проблема. Перевод сегментов в Гугл-траслэйте (в режиме «текст»), процентов на 80 – меня устраивает. Толька там ограничение на 5000 символов. Целиком документы (в формате: docx, xlsx, pdf, до 10 Мб) можно переводить в том же в Гугл-траслэйте, в режиме «документ». Затем нужно просто сравнить оба варианта переводов и выбрать более подходящий. Для большей точности можно задействовать электронный словарь, типа, «Lingvo x6 Professional», с помощью которого я даже находил ошибки во французской грамматике на французском языке.

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

Еще проще вариант – взять готовые двуязычные книги, которые сопоставлены по абзацам. Установить прямое соответствие, с помощью скриптов, на уровне отдельных предложений и работать с ними. Да, БКП там не будет, но, опять же, за счет массовости просматриваемого текста – эффект от их чтения возникнет. Как говориться: «Дешево и сердито!». Это почти тот же «метод Ильи Франка», только «вид сбоку» :) .

Гугл транслейт очень слабенький переводчик. Любая модель на самом дешевом тарифе порвет его как тузик грелку. При чем в том же Codex за 20 баксов можно делать это автоматически.

ИИ последних моделей справляются с переводом или OCR просто на ура. И 20 баксов за ChatGpt хватит с головой на кучу задач.
Я вот переводил 2 огромных учебника , при чем OCR .
Мне сам ИИ предложил изначально составить список терминов которые не надо переводить (задача перевода учебника совсем нетривиальна, ибо нужно думать что переводить, а что нет).
Мне вот , кстати, интересно как сработает мой движок на франзузском. Можете дать десяток фраз, я сделаю разбор с переводом по блокам, правда с разбегу (для качественного анализа нужны те самые пресловутые учебники, лексические таггеры). Но для уровня А1/А2 в целом ИИ справляется и без подпорок.
Очень интересные и неожиданные находки появляются. например что немецкий и славянские языки достаточно близки по строению. А словацкий(чешский) и итальянский имеют много общего , те же клитики ...

Гугл транслейт очень слабенький переводчик. Любая модель на самом дешевом тарифе порвет его как тузик грелку. При чем в том же Codex за 20 баксов можно делать это автоматически.

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

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

Совершенно согласен! Плюс проблема представления двуязычного текста, например, для таблиц. Также, под вопросом перевод грамматических терминов. Оставлять в русском переводе французский текст, неинтересно, а общепринятого перевода терминов может и не быть либо они могут быть разными в разных источниках. ИИ дает свой вариант переводов терминов, но доверять ему полностью тоже нельзя.

Мне вот , кстати, интересно как сработает мой движок на франзузском. Можете дать десяток фраз, я сделаю разбор с переводом по блокам, правда с разбегу (для качественного анализа нужны те самые пресловутые учебники, лексические таггеры). Но для уровня А1/А2 в целом ИИ справляется и без подпорок.

Очень интересные и неожиданные находки появляются. например что немецкий и славянские языки достаточно близки по строению.

Думаю, удобно взять для анализа небольшой глобалистский документ: «Manifeste de Prague» (Пражский манифест движения за международный язык эсперанто):

Французско-русский вариант – https://bilinguator.com/ru/online?book=2901 . или Французско-немецкий вариант – https://bilinguator.com/en/online?book=2873 .

Возьмите столько фраз, сколько вам нужно и на любом языке.

И кстати, многие из моих анализаторов на вскидку скриптовые, но все попытки перевести их в скрипт заканчивались неудачей. Пресловутые последние несколько % ломали все. Словари исключений начинали раздуваться дикими темпами, код усложнялся до невозможности ...
Вот взять простую задачу, которая у меня есть. Матчинг окончаний между русским и словацким. С подсветкой где равно, где похоже, где отличается. Какзалось бы, чисто скриптовая задача. Есть 2 справочника парадигм, окончаний , сравнивай - не хочу ...
Но даже на уровне А1/А2 чистый скрипт часто вызывал сплошную боль. Очень много пограничных вариантов, где схема ломалась. В конце концов решилось гибридом, скрипт который матчит , то что матчится на 100% остальное дотягивает ИИ. Ему проще там, где в целом-то тривиальное совпадение человеческим взглядом, но для скрипта = <> и все начинает сыпаться или обрастать кучей правил, отодвигая конечное решение на бесконечные сроки.

Пресловутые последние несколько % ломали все.

Матчинг окончаний между русским и словацким.

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

У меня похожая проблема. Если в моей обучающей программе изучать западноевропейский язык русскими – то, это относительно просто, а если наоборот, то, на порядок сложнее. И я до сих пор думаю, нужно ли мне реализовывать, во второй версии, возможность изучения русского языка западными европейцами?

Сам бы я не пошел вашим путём, ибо сильно муторно. Мне проще учить славянский язык, если потребуется, как в грузинской школе: «Дэти, запомныте! Тарелька и вилька пишется без мягкий знак, а сол и фасол - с мягкий знак!». Или, как в анекдоте: «У вас есть воды? – Не «воды», а «вода»! – Ну, налей мне стакан вода! – Не «вода», а «воды»! – Вы, здесь, грамматиком торгуете или водом?»

То бишь, учил бы конкретные пары фраз: оригинал / перевод и наоборот. А там, где нет шаблона, будет что-то типа: «девчик», «совсем одын» и т.п. Ну, не только же мы должны смеяться с «них», пусть и «они» посмеются с нас :) .

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

Я сам в последнее время делаю тексты (статьи) для высоких уровней с некой опорой, вроде переведенных сложных слов, но это чтобы лишний раз в словарь не лезть. Для аудирования можно так же брать видео, генерировать вопросы к нему по скрипту и проверять себя. Это делается нейронками за минуту. Но чтобы системно провести человека от нуля до С1, это легче сделать классическими учебниками, дополненными самостоятельной работой.

Но чтобы системно провести человека от нуля до С1, это легче сделать классическими учебниками, дополненными самостоятельной работой.

Да, особенно, если этому «человеку» лет, сильно меньше двадцати. Когда тебе уже под «сраку лет» и выше, то никто тебя «вести» не будет, если ты, конечно, не Константин Устинович Черненко, которому, уже, будучи секретарем обкома КПСС и обучающемуся, заочно, в учительском институте, звонит профессор и спрашивает: «Константин Устинович, не могу ли я приехать к вам в обком, чтобы поставить вам зачет? – Нет, мне сегодня некогда, приезжайте завтра!».

На самом деле, в зрелом возрасте, это метода не работает. Да, по факту, начиная изучать новый язык, есть смысл ознакомиться с его грамматикой. Тут «классика» почти «рулит». Но, чтобы она работала еще лучше, берем, в моем случае, французскую грамматику, на французском языке, «всего», на полторы тысячи страниц и делаем из нее двуязычную книгу с короткими фразами и соответствующим им переводами, без «отсебятины» и литературных изысков. Только БКП (буквальный контекстный перевод), только хардкор!

В результате мы выигрываем дважды: осваиваем язык, как таковой (по форме) и изучаем его содержание. Тем более, что грамматика от носителей, как ни странно, проще, чем излагаемая у нас. Просто, мы любим очень формализованное и компактное изложение, а они склоны к большему литературному «словоблудию», что, впрочем, в данном случае, не минус, а плюс, поскольку, большее количество материала легче переходит в новое качество его понимания.

То, что созданием подобной двуязычной книги занимаюсь я сам, то это можно воспринимать как упражнения, тем более, что классические упражнения, как в наших, так и в «ихних» учебниках, я не люблю. А этот процесс, мне более-менее, нравится. Особенно, если удается как-то привлечь сюда средства автоматизации. Однако, я бы не отказался почитать подобный двуязычный учебник, созданный другими. То ли я освою одну книгу, сделанную самим, толи несколько, сделанные другими.

Далее, опять же опытным путем получено, что вместо: «Самоучитель + Аудио» лучше использовать «Самоучитель + Видео», которые, естественно, никто делать не хочет. /Я, здесь, уже давал ссылки, на уроки, которые хотел бы видеть. Вот, образец моего первого урока (видео+pdf), для французского языка:

• 001-ФранцузскийАлфавит.mp4 : https://disk.yandex.ru/i/G4pJZ__AKhtHsw ,

• 001-ФранцузскийАлфавит.pdf : https://disk.yandex.ru/i/DwEX79lOXZlJyw .

Если бы кто-то сделал лучше, то я был бы только рад.

Ну и третий компонент в моей триграмме (программа + видео + книги) уже описывался, здесь, тоже. Это облучающая программа «L’école». Она создана, прежде всего, для моих целей и следующую её версию я собираюсь делать по себя тоже.

Так что классика классикой, но без собственных идей язык не выучишь.

Системность заключается в регулярности прежде всего. Говорите, решаете более сложные языковые задачи - уровень растет. Делаете одно и то же - уровень на месте. Перерывы - уровень падает. Пока что нет курсов, гарантирующих уровень после прохождения, и ИИ, соответственно, только помощник, но не главное средство.

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

Уточнение: я имел в виду тренировку интонации. Корректировки отдельных звуков, как по мне, недостаточно.

Согласен, но к сожалению пока сложно из-за деталей реализации. Хотя может быть поищу альтернативных поставщиков сервиса. Может быть видели у кого-то такое, кроме Elsa? )

LLM проверяет, но в уроках эти отдельные элементы есть - как нулевой артикль, так и различные применения. Но за ссылочки спасибо, проверю, что все как я думаю )

Вы сами смогли свободно заговорить при подобном подходе?
Просто вы обозначили проблему как "стык между «знаю правило» и «сказал вслух и не облажался» и сделали очень хороший тренажер чтобы как можно дольше бултыхаться на месте этого стыка, т..е у вас реализована тренировка отдельных слов и грамматики и затем сразу переход к разговору с ИИ, путь даже ИИ будет подсовывать вам изучаемые слова. Вы в любом случае остаетесь на уровне мучительного построения фраз и предложений со скоростью, которую может вынести только ИИ. Для свободного говорения нужно тренировать беглость, которая появляется когда вы автоматизировали произношение не отдельных слов, а чанков и коллокаций, автоматизировали грамматические паттерны настолько, что не думаете о них и начинаете думать о том что сказать, а не как сказать. Добавьте раздел тренировка беглости, с учетом изучаемых слов и ваш стык будет закрыт. Ну и тренировку слов стоит расширить до тренировки слов в чанках, а не изолированных лексических единиц.

Спасибо за отличный отзыв! А что вы имеете в виду под тренировкой беглости? У меня есть условно "правила", "слова" и "предложения", как просто для тренировки произношения, так и самый главный модуль - просто произношение предложений. В этом режиме как раз можно включить реалтайм разговор и по правилам даже просто в режиме "заполни пропуск" говорить целиком предложения (не так стрессово, как полностью перевод - для новичков подойдет) и получать анализ произношения да заодно и грамматику. То есть я вижу это как набор "посмотрели правило" -> "поделали упражнения в тексте" -> "поговорили"

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

А чанки к словам это фразы или предложения? Никогда такого не видел, но кажется идея очень интересная. В целом то можно насобирать по 5-6 фраз к одному слову для его тренировки и каждый раз показывать разное. Такое что-то?

Chunks and collocations - готовые блоки из нескольких слов (2-3-4-5 и больше) которые хранятся у вас в долговременной памяти как одно целое. Это и фразовые глаголы, и устойчивые сочетания типа heavy rain, (а не strong rain), вводные конструкции to be honest, as far as I know, шаблоны предложений What I meant was... и т.д.
Как это влияет на беглость? В фокусе сознания вы можете держать ограниченное количество элементов, если каждый элемент - это отдельное слово, вы захлебываетесь в длинном предложении, если каждый элемент - это пресобранный блок из 3-4 слов, вы не тратите время и ресурс на составление сложного предложения, и можете думать о смысле того, что хотите донести. За счет этого скорость речи возрастает в 3-5 раз, и грамотность тоже, потому что грамматика уже вшита в чанк. Например What I'm trying to say (блок 1) is that (блок 2 ) I've always been into (блок 3) learning languages (блок 4).
Как это тренировать? Во-первых нужно научиться видеть это в речи носителей, письменной и устной. Затем вытаскивать чанк в свою программу тренировок лексики и гонять его в каких хотите вариантах, но самое главное - проговаривая ВСЛУХ в хорошем темпе до тех пор, пока вам не станет ЛЕГКО проговаривать всю фразу, "легко" не значит как 100% носитель, это значит ваш артикуляционный аппарат готов выдать эту фразу на автомате как слитное целое. Побочный эффект - также вырастут ваши listening skills.
Чем больше таких пресобранных блоков, (которые вам легко произнести вслух и естественно вы понимаете смысл этой фразы) вы загнали в область бессознательного, тем легче вам во время речи сосредоточиться на том, что вы хотите сказать, каким маркером вежливости воспользоваться в данной ситуации, где сделать логическое ударение и прочее, а область бессознательного будет подкидывать вам строительные блоки уже грамматически оформленные. Да, вы будете лажать, и это нормально, даже на родном языке мы можем сказать не то окончание, и заметить это уже после того, как слово вылетело. Но лучше лажать по мелочи, чем рожать одно предложение 3 минуты.

Всё так. И всё-таки, стоит добавить сюда интонацию .

Да, наверное было бы неплохо и тестирование интонации, а не просто просодию по всему блоку, но к сожалению Azure не предоставляет, свою модельку дорого. Схожу к Elsa, у них приложунька специально для произношения и она просто отличная. Но сдается мне там цена API в 3 раза выше Ажура, раз они даже не публикуют на сайте

Из того, что я вижу - это вы говорите, что человеку нужен правильный "контекст", который он запоминает, а не только слово. У меня сейчас контекст предоставляется одним предложением на английском. Но предложение - это слишком большой блок, верно? И слишком статичный. Если это будет например набор контекстных фраз (пока не знаю, откуда их можно взять, потому, что большинство слов все-таки не контекстные, кажется и heavy rain это скорее исключение, к тому же специфичное - не каждый дождь сильный, да и на русском я не помню когда говорил последний раз про сильный дождь).

Но что-то отвлекся. К примеру для дождя, если контекст будет представлен фразами, которые сразу же и озвучиваются. То есть после выбора оценки слова пользователь будет слышать что-то вроде.

  • rain. heavy rain

  • rain. pouring rain

  • rain. caught in the rain

с соответствующим переводом. Что бы и слышать и возможность сказать это же и контекст. Примерно об этом говорите? Я просто как будто-бы мост в повышение уровня собираю, но если сразу только фразы - кажется, что сложность гораздо больше чем просто 'rain'.

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

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

Как получается, что люди учат язык 10-20 лет и все еще не могут пройти на этом языке собеседование чтобы на нем работать?
Грамматика как теория изучается за 3 месяца. Ее беглое использование придет когда будет практика, а практика будет при условии, что есть на чем тренироваться, а для этого нужен эффективный активный словарный запас тысячи на 3 слов (причем не включая сюда производные слова и интернациональные).
Люди плохо способные к языкам тратят десятилетия без толку из за засилия мнений исходящих от полиглотов, что нужно отрабатывать правила, устойчивые сочетания, идиомы, беглость и так далее. По мне, так слон в комнате для простого смертного, это всегда активное вокаблари и больше ничего. Если у меня хватает слов чтобы выразить то что я хочу выразить я вам выдам это на скорости пулемета, если слов не хватает, всякие "What I'm trying to say" на уровне автоматизма помогут только генерить бессмыслицу а не выражать то что я хочу объяснить. А эмоциональная и вежливая окраска речи, это вообще очень узкая тема не очень много кому нужная.

Спасибо за мнение, тоже очень ценно! Вот как раз согласен с тем, что грамматика изучается за 3 месяца (правда если не практиковать так же и уходит), я как будто даже думал что типовой пользователь - это 2 месяца.

И еще для меня "практика" - это решение реальных задач с использованием инструмента (в данном случае языка), поэтому никакие учебники и человеческие репетиторы этого не заменят, к сожалению. 6 часов реальных собеседований дало мне больше понимания языка и уверенности чем часов 50 потраченных на Preply. С настоящими людьми и настоящими уроками. Поэтому все приложения это от лукавого ) А тем более промпты "дай мне план обучения на 30 дней"

Но вот что я действительно пытался решить, так это подбор слов по уровню. Не уверен, что частотные характеристики и разметка слов по CEFR решила эту проблему, но это пока самое близкое что смог сделать. Тоже помню как-то нашел словарь 5000 слов для Anki (не оксфорд. Потом пытался его еще раз искать - не нашел) и пробежался по нему за полгода. Через полгода ооочень сильно удивился как вырос уровень восприятия. Так что да, вокабуляр влияет. Но в активную форму заходит только то, что было в активной - то есть использовалось. Такого даже с репетитором не получается нормально делать. Вроде слова к уроку есть, а использование всегда опционально и не отслеживается.

Делаю подобный проект, но под славянские языки язык. Проблема АИ в том, что ему до конца, все же, нельзя доверять некоторые вещи, ибо он может фантазировать.
Пресловутые 20% последних процентов грамматической точности , а особенно последний 1%, достичь невероятно сложно.
Для себя решил проблему таким образом, просто сделал mcp GraphRag сервер куда загнал несколько академических учебников . При чем для каждого учебника свой tool метод. Как результат модель в процессе рассуждений, при неуверенности, делает вызовы к mcp rag, при чем еще и триангуляцией по нескольким учебникам сразу и получает в те моменты, когда сомневается, четкие грамматические правила , далее действует уже на их основании.
Плюс есть разные базы парадигм, частей слова для примера: morphodita, stanza под разные языки. Через этот фильтр вообще проходят все фразы . Страхует от фантазий на уровне слов.
После этих 2-х инструментов, грамматическая точность сильно окрепла. К тому же бонусом идут реф ссылки на чанки из учебников.

Приветствую, коллега ) При большом контексте маленькие быстрые модели начинают теряться а RAG - медленно. Как с этим боретесь? В целом то если реалтайм не нужен пользователь может подождать секунд 10 без проблем (особенно если ему показывать как краски смешиваются :)

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

В целом я вижу, что небольшой контекст даже с отключенными рассуждениями очень направляет LLM. Но и от модели зависит. Недавно пробовал перейти с Gemini Flash 3.1 на 3.5 - все сломалось сразу, не следует оно инструкциям тем же, нужно по новому промпт инженерить и тестировать. Я в этом смысле закрытый цикл без человека использовал - A/B тесты промптов гоняются с 2мя агентами - ботом, который потом и будет выдавать/оценивать и условным пользователем, а потом это каким-нибудь Opus сверху в ретроспективе оценивается, что получилось, что не получилось, исправления к промпту/контексту и заново цикл. Только дорого оценка получается, т.к. надо весь чат загонять, контекст и еще сверху требования к оценке. А т.к. это циклический процесс то кэш почти не используется (часовой не пробовал)

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

А можете подробнее про фильтр с этими базами (morphodita, stanza) рассказать? Это детерминистический фильтр слов или LLM тоже как-то использует? Просто у меня больше были проблемы с "Мама купила машину завтра", что как-будто бы на уровне слов вполне собирается, а смысловое - совсем нет.

У меня есть сложные движки (промпты), которые, например, разбирают фразу на граф и извлекают сущности: слова, чанки и частотные паттерны. Чанки — это словосочетания, которые неразрывно связаны синтаксическими зависимостями (например, если мы меняем одну часть, то меняется окончание у другой).

Пример разбора: Исходная фраза: «Я бы хотел купить ту вареную колбасу».

Разбивка: «Я бы [хотел купить]» + «ту [вареную колбасу]».

Извлекаются чанки:

  • «ту [вареную колбасу]» (вложенный)

  • «[вареную колбасу]»

Далее идет процесс обогащения (enrichment) характеристиками из разных источников:

  1. Лемматизация: извлекаются корни, окончания и другие морфологические признаки.

  2. Обогащение чанков: ИИ объясняет, как словосочетание «вареную колбасу» согласовывается, как оно образовывается, чем отличается в разных языках и почему используется именно такое окончание.

  3. Генерация контекста: ИИ создает полезные для ученика подсказки, указывает на частые ошибки и предлагает разные варианты «вареных колбас».

Без использования инструментов MCP модель часто делает разбор наугад. Особенно это заметно на пограничных случаях: словах, которые склоняются не по правилам, и исключениях.

Как работает интеграция:

  • Триггер: Серверы MCP вклиниваются в процесс рассуждения, когда у модели низкая уверенность (confidence) в правильности решения.

  • Запрос к RAG: При низкой уверенности ИИ обязан отправить запрос через MCP к RAG-системе, которая содержит грамматические справочники (просто разбитый на чанки учебник).

  • Корректировка: По запросу (например, «склонение существительных в родительном падеже») выдается конкретный список правил из нескольких учебников. Модель «умнеет» и начинает действовать строго по ним, так как для нее это доверенный источник истины (SOT).

  • Логирование: Все случаи применения правил корректируют поведение и записываются в лог.

Это, кстати, очень интересный механизм, который работает для любой задачи. ИИ хорош в грамматике, но в пограничных случаях цитаты из учебника смещают фокус в правильную сторону, повышают уверенность или корректируют поведение. Аналогично происходит с определением частей речи и парадигм — инструмент (например, MorphoDiTa) отдает точные данные, и ИИ не пытается угадывать то, что можно получить из грамматического справочника.

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

Фильтрация смысловых ошибок: Фраза «Мама купила машину завтра» — это типичный тупой перевод с английского по словам, тут MorphoDiTa не поможет. На такое у меня есть чек-лист фильтры по типу:

  • Проверка: «Так сказал бы англичанин/американец?»

  • Условие: да/нет — переделывай.

С таким модели справляются легко.
Задача тут не столько добится 100% грамматической точности, это практически невозможно, а свести ручную коррекцию к минимуму.
У меня почти всегда 1М контекст выжирается до конца (задание вначале). Ни когда не было проблем или разницы между началом и концом.
Решается нормальным строгим yaml пайплайном + механизмы самопроверки, чеклисты.
Ну и те же mcp , которые дергаются постоянно при неуверенности.
Т.е. основа промпта - структурированный yaml . Сам промпт целиком около 500КБ , вообще проблем 0. Едет по рельсам строго шаг за шагом, по сути алгоритм внутри промпта. Также есть механизмы коррекции на py , которые он запускает чтобы ловить слova, которые просачиваются из-за смешанного промпта.

Скрытый текст
version: 7    # v7 2026-07-10: самодокументируемость — how_to_read, паспорта tools (+healthcheck), сценарий flow из 3 актов, on_dispute, binding-поля; поведение прежнее

how_to_read:         # "прочти ЭТОТ блок — дальше файл читается сверху вниз"
  you_are: "LLM-исполнитель боевого стека; файл интерпретируешь: правила — в stack/, формы выхода — в blueprints/, здесь — что/когда/чем"
  map: "meta (версии) -> access (диск) -> tools (паспорта инструментов) -> flow (СЦЕНАРИЙ: 3 акта) -> on_dispute (условные маршруты) -> invariants (табу)"
  binding_legend:    # "обязательность — СТРУКТУРОЙ: поле binding у актов, артефактов и маршрутов"
    must: "обязательно — пропуск = брак прогона"
    conditional: "обязательно ПРИ условии (условие — в when)"
    opt: "по желанию — штрафа за пропуск нет"

meta:
  purpose: "пригвождённый порядок разбора словацкой фразы боевым LLM-стеком"
  serves: [manual_run, crank_heads]          # "одинаковый старт для обоих: разброс = анализ, не формулировки"
  rules_in: stack/                           # "правил в этом файле НЕТ; формат входа — акт flow.2_read_input"
  stack_version: "1.3.14"                     # "версия БАЗЫ (слои 1-4; двигается только версионным пакетом) -> штамп в D_audit.stack_version КАЖДОГО выхода"
  schema_versions:                           # "пер-секционные штампы валидности данных -> D_audit.schema_versions"
    rule: "значения тут НЕ дублируются — собери при прогреве из метки `schema:` в шапке файла-владельца; правка файла = бамп ЕГО шапки"
    trust: "секция сохранённого выхода годна как вход ⟺ её штамп совпадает с текущей шапкой (частичные прогоны / отладка отдельных фаз)"
    base: "= stack_version выше (слои 1-4 одним блоком)"
    from_headers:
      axes: stack/5_AXES.md
      lemmas: stack/6_LEMMAS.md
      translations: stack/7_TRANSLATIONS.md
      export: stack/8_EXPORT.md
      lex: lex/LEX_ROUTER.md                 # "ОДИН штамп на весь набор lex/; правка любой карточки бампает его (владелец — frontmatter роутера)"
      karkas: stack/4b_KARKAS.md             # "боевой слой (BD-050); штампуется только когда гонялся"
      l1_traps: stack/7b_L1_TRAPS.md         # "боевой слой (BD-050); штампуется только когда гонялся"
      trace: extras/TRACE_ADDON.md           # "штампуется в provenance каждого trace-файла"

access:              # "ГДЕ прогону можно трогать диск — ЕДИНСТВЕННЫЙ источник (START и акты ссылаются сюда; пути нигде не повторяются)"
  binds: "только САМОстоятельные действия — явная просьба оператора читать/писать в другом месте ПЕРЕБИВАЕТ любую границу ниже"
  allow_read: [pipeline.yaml, stack/, lex/, blueprints/, extras/, glossaries/]   # "glossaries/ — задел под глоссарий ВЫХОДА (в прогрев НЕ входит, см. коммент glossary ниже)"
  deny_read: [live_docs/, patches/, output/]     # "наша память · неслитые дельты · чужие прогоны; просьба оператора снимает запрет"
  allow_write: output/                           # "конкретная цель прогона = flow.3_phrase_cycle.b_output.out_dir (подпапка здесь)"

tools:               # "ПАСПОРТА инструментов — единственное место деталей вызова; when_use говорит КОГДА зовёшь, healthcheck — как пинговать"
  morphodita:
    when_use: "ОБЯЗАТЕЛЬНО на каждую фразу — ПЕРВЫЙ шаг работы (гейт: без разбора не начинай) + при спорах о форме/падеже/числе"
    healthcheck: "ToolSearch select:mcp__morpho__get_version -> вызови"
    load_tool: "ToolSearch select:mcp__morpho__mcp_morpho_analyze_phrase"    # "deferred-инструменты — загрузи перед вызовом"
    analyze: {tool: mcp_morpho_analyze_phrase, args: {format: full}}         # "ПРИГВОЖДЕНО — никогда slim (отладочная короткая форма со своей спекой чтения; головы дрейфуют к ней)"
    perturb: mcp_morpho_generate             # "возмущение — движок §5: смени токену форму, кто обязан перестроиться — тот и связан"
    paradigm: mcp_morpho_paradigm            # "обязательная сверка _disputed Imp-кандидата — движок §5"
    out: "токены: pos+upos / lemma / features[+_syncretic,+_disputed] / is_clitic / governs / позиция"
    hard_stop:
      gate: "нет приложенного разбора И нет успешного analyze -> ПОЛНЫЙ СТОП, доложи ошибку"
      never: "features по памяти — это обнуляет весь результат"
  academic:
    when_use: "спорная грамматика (on_dispute.hard_grammar) + ★-триггеры онбординга — там вызов ОБЯЗАТЕЛЕН; правильный ноль вызовов легален (LEX-гейт)"
    healthcheck: "ToolSearch select:mcp__slovak_book__get_version -> вызови"
    call: "retrieve_focused (tier-1); load через ToolSearch по мере надобности"
    onboarding: extras/ACADEMIC_EXTRACTOR_v1.0.0.md    # "как спрашивать и оценивать — владелец там (читается в 1_warmup)"
    verdict: "цитатой [ZPM/MSJ s.X-Y] + query/rating в disputes_routed"

ну вообще это на целую статью, а то и цикл) созрею, опишу.

По поводу скорости добавлю, у вас онлайн приложение, у меня оффлайн. Потому мне это не так критично. Сам RAG работает быстро, а вот размышления долго.
Но тут , ИМХО, в реальном времени такую обучалку сделать качественно без предустановленных и заготовленных диалогов с проверками нереально. ИИ фантазирует даже на уровне А1/А2 , дальше вообще может начать писать дичь.
У меня действует принцип, или макисмальная грамматическая точность или ничего. Если модель не уверена в ответе , то она просто ничего не говорит.
Внутри у нее почти всегда есть confidence параметры, она может ответить насколько она уверена, можно задать порог. Например на простых фразах будет уверенность 90-95% , на сложных 80 и ниже, так можно фильтровать в том числе по уровню.

А это уже можно попробовать? Формат обучения понять не могу, что бы даже спросить про вывод.

  • как многие отмечали - грамматику дети не учат. Тем более морфологию, это вообще только филологи и то с определенными целями. Для контроля LLM может быть, но для обучения важнее запомнить, что бывает вареная колбаса, а бывает.. ну в общем еще какая-то (для начала и этого хватит). Не много ли для старта или вы целитесь сразу в B2+ ?

  • Opus очень дорого. 500 кб промпта это сколько - 100-150килотокенов на вход? То есть первый некэшированный запрос 50-70 центов выходит? Не вполне понимаю выходной формат и паттерны использования, но пока Opus выглядит очень дорогим решением. А вкупе с дополнительными сходить в RAG поглядеть (там не отдельный дешевый агент же?) кажется, что это должно влетать в копеечку.

  • YAML для скелета промпта. Anthropic пишут, что XML лучше для этого (я тоже для других моделей использую, более универсально получается). Почему такой формат выбрали и проводили ли A/B тесты на других форматах?

  • "Все или ничего" тоже не совсем понял. Поговаривают, что русские учителя с неидеальным английским могут дать вполне хороший старт. То есть как будто бы иногда количество переходит в качество. А при низкой скорости и высокой стоимости как будто становится жалко собственных ресурсов на это, нет? В том смысле, что пользователь предпочтет сову ) Парето говорит нужно 80%, Амазон вообще на 60 настаивает. Дает ли это какой-то эффект в использовании или просто крутой лингвистический эксперимент?

Я вообще для себя делал) По сути идея была в том, чтобы учить язык не словами. А конструктами, чанками, фразами.
Большинство обучаловок на словацком (их реально мало) начинают со слов: дерево, трава, кошка под столом ... а зачем мне знать про кошку, если мне надо в чужой стране купить колбасы...
Вот у меня весь процесс стартует от ситуаций. 10-15 фраз на конкретную тему : магазин, бытовая ситуация, аптека, больница ...
Первая фаза пайплайна генерирует фразы на тему, дальше их раскручивают промпты. (всего их около 20). Вытаскивают все что можно вытащить, делают карточки, обогащают грамматикой, размечают, TTS озвучивает, далее промпты пишут задания на отрисовку лемм, чанков (кирпичиков) , фраз.
Получается интерактивный во всех смыслах материал с тренингом . Изучив к примеру хотя бы 200 слов (они совершенно частотные конкретные ), можно составить ситуации и покрыть большую часть базовой лексики туриста.
При чем некоторые вещи запоминаются блоками "я бы хотел купить" - это блок, в словацком вот он звучит "Chcel by som si" + kúpiť . Можно заглубиться в грамматику клитик, и 2 года не понимать как это сказать, а можно просто запомнить каркас "Chcel by som si" + kúpiť и начать говорить.

У меня Max подписка, лимитов хватает с головой вообще ни в чем не отказывая, по сути за 3 месяца подписки большая часть работы сделана. дальше можно потихоньку набивать материал хоть на минимальном Codex (но там контекста мне не хватает). Это больше хобби для себя и обкатки технологий).
Просто мне нужны 1M контексты, ибо промпты огромные.

yaml/xml реально нет разницы. По сути это структурированый текст, модели все равно. Это больше удобно для работы, когда все разбито по блокам и этапам, не нужно проверять на согласованность , если отредактировал часть промпта. Я ушел от боли монолитов на 500 кб, которые каким-то чудом работали , но их поддержка превращалась в кошмар.

"Все или ничего" - это базовый принцип заложенный в систему. Если какая-то подсказка по грамматике или действие не дает полной уверенности , что это грамматически верно, то она просто не делается. Ибо лучше отсуствие такой подсказки, чем галюцинации и шум. А вот эта уверенность как раз повышается mcp сверкой по словарям и учебникам.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации