Все статьи
За кадром

Как мы делим предложения на смысловые группы — и 2 неверных поворота

Команда EasyDictation·21 июля 2026 г.·11 мин чтения

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

Как мы делим предложения на смысловые группы — и 2 неверных поворота

Всё началось с одной записи на нашей доске обратной связи:

Просьба пользователя на доске обратной связи: «разбивайте длинные предложения на части — ИИ выдаёт блок из 5 очень длинных предложений, за которым слишком трудно успевать; добавьте возможность делить его на новые куски».
Просьба пользователя на доске обратной связи: «разбивайте длинные предложения на части — ИИ выдаёт блок из 5 очень длинных предложений, за которым слишком трудно успевать; добавьте возможность делить его на новые куски».

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

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

Часть 1 — Резать коротко легко, резать правильно — нет

Самый быстрый подход механический: по пять слов на кусок или рез на каждой запятой. Мы попробовали. Получаются вот такие обрывки:

«the big» / «red car that I» / «bought last week»

Арифметически идеально. Как практика слуха — бесполезно. Никто не делает паузу между «the big» и «red car», поэтому кусок, нарезанный так, приучает к ритму, которого в живой речи нет. Хуже того, он просит держать в голове бессмысленный обрывок, а короткая память печально известна тем, что с бессмысленным справляется плохо.

Поэтому вопрос переписали: где нам резать нельзя ни в каком случае?

Часть 2 — Правила деления, написанные руками: почему они не сработали

Мы сели и выписали правила «здесь не рвать», исходя из того, как английский группирует слова. Никогда не рвать внутри:

  • определитель + существительноеthe big red car
  • предлог + его дополнениеin the garden, of a week
  • вспомогательный/модальный + глаголhas been, did not answer
  • глагол + частицаgive up, look after
  • «to» + глаголto share
  • имена собственные и титулыNew York City, Dr. Jane Smith
  • числа, даты, деньги, измерения
  • устойчивые идиомы и составные существительныеon the other hand, climate change
  • притяжательное + существительноеJohn's car

Плюс одно правило, звучащее очевидно: никогда не заканчивать кусок на голом служебном слове — не оставлять кусок висеть на «of».

Потом мы начали это программировать. Вот там всё и развалилось.

Чтобы понять, какое «of» осталось брошенным, надо знать, к какой фразе оно относится, а это значит разбирать предложение. И дальше становилось только хуже:

  • Одно и то же слово «up»: в «give up» это частица, которую нельзя отрывать от глагола. В «walked up the hill» это предлог, относящийся к тому, что идёт дальше. Для кода, который смотрит на символы, они одинаковы.
  • «New York City» должно остаться целым — но код не узнает, что это имя собственное, без прикрученного распознавателя именованных сущностей.
  • Запятая в «1,000» — никогда не место для реза; запятая в «In 2020, we…» — идеальное. Один и тот же символ.
  • «to» в «to share» — инфинитивная частица; «to» в «went to London» — предлог.

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

Дальше пришла довольно очевидная мысль, принять которую у нас заняло неприлично много времени: современные языковые модели — мастера ровно в этом. Отличить «give up» от «walked up», знать, что «New York City» — один блок, понимать, какая запятая пауза, а какая разделитель разрядов, — это именно то, чему они научились на миллиардах английских предложений. Мы кодировали руками умение, которое у модели уже было.

Поэтому мы поменяли роли:

  • Правила перестали быть кодом и стали заданием. Весь список «здесь не рвать» теперь живёт в промпте.
  • Модель решает 100 % границ. Код не придумывает ничего: ни добивки до нужного числа слов, ни ограничений по размеру.
  • Код отступил к тому, в чём код действительно хорош, — к проверке:
    1. Сверить каждый токен с исходным списком слов. Модель может потерять знаки препинания, но одно изменённое или пропавшее слово отклоняет весь вариант в пользу запасного.
    2. Проставить время каждому куску по таймингам отдельных слов, чтобы нажатие «play» попадало ровно на фразу.
    3. Привязать каждый кусок к его родительскому предложению — деталь, которая выручит нас позже.

Одно небольшое изменение, которое очень многое дало: мы подаём модели расшифровку со знаками препинания, а не заново склеенную строку из сырых слов. Запятые и точки — самая сильная подсказка о фразировке, которую оставляет запись. Убрать их значит выбросить лучшее свидетельство, которое у нас есть.

Часть 3 — По какому мерилу резать: смысловые группы и интонационные единицы

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

Люди не говорят отдельными словами. Речь организована в смысловые группы.

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

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

Добавь кусочек из когнитивной психологии: рабочая память держит примерно 7±2 единицы (Miller, 1956), а более поздние работы понизили эту оценку примерно до 4±1 (Cowan, 2001). Именно поэтому наш самый короткий уровень — 2–4 слова: не «коротко ради коротко», а достаточно коротко, чтобы уложиться в короткую память, пока ты ещё борешься за то, чтобы расслышать звуки.

И то, что успокоило нас больше всего: профессиональные субтитровщики решили этот вопрос давно. BBC Subtitle Guidelines требуют делить субтитры по естественной языковой границе, так чтобы каждая строка образовывала цельную языковую единицу, — и прямо называют, каких разрывов избегать: артикль и существительное, предлог и следующая за ним фраза, союз и следующая за ним часть предложения, местоимение и глагол, — при этом предпочитая деление по границам частей предложения.

Список «здесь не рвать», который мы написали во второй части, совпадает с этим почти буквально. И это не совпадение: оба идут из одного источника — из того, как английский группирует слова. Мы заново шли по дороге, которую телевизионные субтитровщики уже проложили, и как раз это убедило нас, что идём мы правильно.

Три уровня деления на фразы — и почему их три

Когда опора есть, три уровня перестают быть произвольными числами:

УровеньРазмерНа чём основанКому подходит
Ровно2–4 словаПредел куска рабочей памяти (≈4±1)Начало пути или быстрая речь
Естественно5–9 слов, размером с часть предложенияИнтонационные единицы + «предпочитать границы частей»Ежедневная практика
СвободноЦелые предложенияПолная смысловая единицаКогда уже держишь длинную строку

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

Выгода, которую мы не планировали: практика речи

Резка по смысловым группам открыла кое-что ещё. Поскольку каждый кусок — ровно одно дыхание, его можно проговаривать фраза за фразой: произнести кусок целиком, не задохнувшись, и сделать паузу там, где её делает носитель.

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

Не знаком с тремя ступенями работы со слухом (слушать → писать диктант → проговаривать)? Прочитай нашу более раннюю статью — эта предполагает, что ты уже на ступени 2–3.

Урок первый: деление — это языковое решение, а не акт разрезания. А когда задача чисто языковая, лучший решатель — не код, который мы напишем, а модель, выучившая язык. Наша работа — точно поставить задание и беспощадно проверить.

Часть 4 — Перевод фраза за фразой: задача потруднее

С делением разобрались, и наружу вылез неприятный шов: каждый кусок из четырёх слов всё ещё показывал перевод целого предложения. Ты набираешь «our brain is working», а под ним лежит полная строка перевода — и лишняя, и портящая ту часть, которую ты ещё не слышал.

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

  1. Обрывок должен значить то, что значит он сам → а для этого нужен контекст всего предложения.
  2. Но он не должен раскрывать остаток предложения.
  3. И он не должен брать слова из соседнего куска.

Неверный поворот № 1: нарезать готовый перевод по размеру

Идея казалась безупречной: перевод предложения уже верен, значит, надо просто разложить его по кускам. Склеиваешь части обратно — и получаешь исходное, ничего не добавлено, ничего не потеряно.

На послушных предложениях выходило прекрасно:

«I was appointed six months ago,» → «Меня назначили полгода назад,» «and the more I've spoken about feminism,» → «и чем больше я говорила о феминизме,»

А потом мы наткнулись на это:

«It's an environmental issue which, like the growing amounts of plastic waste, isn't going away.»

Куску «of plastic waste,» досталось: «всё растущего количества пластика,».

Склеенное предложение по-прежнему безупречно. Но ученик смотрит на четыре слова, «of plastic waste», и ему говорят, что они значат «всё растущего количества пластика». Слово «growing» принадлежит предыдущему куску. Мы только что научили неправде.

Обрати внимание на деталь: это снова «of». Оно сломало нас на делении, а потом вернулось, чтобы сломать на переводе.

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

Неверный поворот № 2: переводить каждый кусок, но всё равно отдавать полный перевод

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

Результат:

«of plastic waste,»«всё растущего пластикового мусора,»

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

Неверный контекст хуже, чем отсутствие контекста.

Что сработало на самом деле

Убрать полный перевод из промпта совсем. Оставить только полное английское предложение и использовать его ровно для одной задачи: снятия неоднозначности значений слов. И добавить одно прямое указание: переводи только слова этого куска; если слово принадлежит другому куску, здесь его быть не должно.

«of plastic waste,»«пластикового мусора,»«the growing amounts» → оставляет growing там, где ему место

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

Последняя ловушка: верно — недостаточно, нужно надёжно верно

В первой версии мы упаковывали 25 предложений в один вызов, чтобы сэкономить. Модель начала сбиваться в подсчёте кусков у каждого предложения, а расхождение в числе обнуляет всё предложение целиком. Заполнение вышло 58 из 137 кусков. Больше половины учеников всё равно видели бы старый перевод всего предложения.

Две совершенно обычные правки:

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

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

Часть 5 — Интерфейс: перевод фразы плюс всё предложение

После всего этого ученик видит вещи тихие и простые:

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

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

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

Что осталось с нами

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

Сегодня то же видео проходит через: расшифровку ИИ → деление на три уровня с языковой опорой → сверку токен за токеном → тайминг по словам → отдельный перевод для каждого куска на твой родной язык → и повтор для всего, что вышло криво. Всё это уже выпущено — посмотри список изменений.

Стоимость выросла в несколько раз. Каждое видео теперь требует куда больше вызовов модели, плюс повторы, и всё это ещё умножается на число языков. Это настоящий счёт.

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

Просто это было неправильно. А разрыв между работает и правильно — как раз то, что ученики чувствуют.

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

Учи английский по видео, которые тебе нравятся

Вставь любую ссылку с YouTube и начни диктант за пару секунд. Старт бесплатный.

Начать бесплатно