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

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

The chap the cat the girl owned scratched screamed.

Что происходит? The chap – какой-то «пацан» (далее – «парень»). Но что с ним? Не понятно. Тем не менее, это грамматически корректная фраза на современном английском. У неё конкретное значение, но вытащить это значение в «область осознания» не так уж просто. Проблема именно у парсера, какова бы ни была его природа. Парсер читает слова слева направо и видит какую-то странную череду артиклей и существительных. В начале предложения каждое слово открывает новую ветку разбора, но ветка – подвисает. Как показывает практика, закрыть ветку получается не сразу.

Это пример так называемого «центрального встраивания», «центрального эмбеддинга» (а ещё точнее: «center embedding» на английском). Лингвистическое явление, важность которого для парсинга языковых грамматик, в том числе людьми, определил Хомский.

Вернёмся к фразе ещё раз:

The chap the cat the girl owned scratched screamed.

Можно использовать фигурные скобки и переписать предложение так, что получится «код» на некотором условном языке «программирования». Условном, но зато очень высокого уровня.

The chap {
	the cat {
		the girl owned 
	} scratched 
} screamed.

И это уже можно разобрать. Пошагово выписываем то, что за внутренними скобками:

The chap – screamed,
the cat – scratched, 
the girl – owned.

Если, как говорится, своими словами, то так: «Парень вскричал, потому что его поцарапала кошка, принадлежавшая девушке» (или кот? nyet, «кот» – был бы tom). Owned – относится к кошке, со стороны девушки. Если переставить слова, то получим: the girl owned the cat. И эта кошка поцарапала парня. Поцарапанный принадлежащей девушке кошкой парень – вскричал: screamed.

Эмбеддинг позволяет вложить отношения одно в другое, «подвесив» каждую половину пары в ожидании глагола, а все три смысловых пары – в ожидании возникновения структуры вложенности.

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

«Парень кошкой девушке принадлежащей поцарапанный вскричал».

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

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

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

Другой вариант на русском:

«Парень, кошка, — девушка владела, — поцарапала, вскричал».

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

«Парень кошка девушка владела поцарапала вскричал».

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

Более того, если использовать множественное число, то можно отказаться от артиклей the (для единственного – отказаться никак нельзя: получится сильно «неграмматический» вариант). Например, в подборке головоломок Quanta Magazine предлагалось раскодировать следующую, чисто рекурсивную, фразу:

Bulldogs bulldogs bulldogs fight fight fight.

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

В разговорном языке подобные конструкции, – третьего уровня, – практически не встречаются. Тем не менее, вот более чем реальный пример «канцелярита» из документа под названием British road traffic act, 1972 (это что-то вроде дополнений к правилам дорожного движения, не важно) – вчитайтесь:

A person who, when riding a cycle, not being a motor vehicle, on a road or other public place, is unfit to ride through drink or drugs shall be guilty of an offence.

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

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

It's ironic that I'm here, where the man the trophy I won is named after coached.

(Источник: Fred Karlsson, Multiple Center-embedding in Spoken English.)

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

В ходе непростого декодирования подобных конструкций парсер вынужден «подвешивать» существительные до момента их «разрешения», например, глаголами. При этом двойное подвешивание вообще не составляет проблемы в английском и встречается: the ball the cat dropped bounced. Действительно сложные случаи почему-то начинаются с трёх подвешиваний.

Возможно, причина в том, что каждое подвешенное существительное потребляет некоторый важный ресурс парсера. Скорее всего, рассматривая примеры предложений выше, вы сами можете почувствовать это исчерпание ресурса, приводящее к «зависанию» уже самого «сознательного парсера». То есть речь тут вовсе не про программу или LLM. Что это за ресурс? Возможно, специальная структурная лексическая память, а возможно, некий «модуль» «разрешения противоречий». Предположим, данный модуль должен заранее занять некий объём доступных связей, чтобы потом собрать из них уже осмысленный, непротиворечивый вариант, присоединив понятия лексическими коннекторами одно к другому так, как нужно. Однако, при разборе подобного эмбеддинга, вместо подключений смыслов происходит «тик, тик, тик» по уровням, и каждый «тик» – это подвешенный коннектор, который требует предварительного захвата кучи связей для обеспечения своего «висения» против всего корпуса возможных смыслов.

Описанное переполнение в английском наступает раньше, и это переполнение – однонаправленное (слева направо). Вернёмся к исходному предложению: The chap the cat the girl owned scratched screamed – может, пацан-парень (the chap) тут – это тот, который принадлежит кошке и девушке (the cat the girl owned)? Мало ли – они могли его захватить. Но тогда не хватает союза (and?) и повисает царапанье (scratched). Вспомогательные элементы, типа «который», «где» и др. – они как бы есть в английском варианте, но там они «нулевые», обозначены пустыми словами, и только если рассматривать текст во всей полноте, тут же возникают в построенной структуре. Это, кроме прочего, подтверждает, что в любом тексте, – как в тексте, – никакого смысла нет: смысл образуется в представлении читающего. Конечно же, можно добавить структурных элементов, типа who, what, that и пр., в английский текст. И получится знаменитый This Is the House That Jack Built:

This is the cat
That killed the rat that ate the malt
That lay in the house that Jack built.

Схема в чём-то похожая, но парсер уже не переполняющая.

Комментарии (11)


  1. corefly
    25.07.2025 20:28

    А где знаменитое

    Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo?

    :)


    1. vened Автор
      25.07.2025 20:28

      Оно слишком знаменитое.


  1. ss-pol
    25.07.2025 20:28

    гуглтранслейт: Парень, которого поцарапал кот девушки, закричал.


    1. azTotMD
      25.07.2025 20:28

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


      1. vened Автор
        25.07.2025 20:28

        К сожалению, ни первый, ни второй вариант - совсем не передают структурных особенностей исходника на английском. Точно перевести невозможно.


  1. tyomitch
    25.07.2025 20:28

    Fred Karlsson уверяет, что проверил большое количество текстов на разных языках, и тройные центральные вложения встречаются уже у Цицерона (1в. до н.э), тогда как четверные и более -- не встречаются ни на одном языке. Из этого он делает вывод, что три центральных вложения -- это "хардварное" ограничение человеческого "парсера". https://dimnaut.info/ling/FILES/ceb5.pdf


    1. vened Автор
      25.07.2025 20:28

      тройные центральные вложения встречаются уже у Цицерона

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

      "хардварное" ограничение человеческого "парсера"

      Это есть и у Хомского, кстати. Но не понятно, в чём именно причина ограничения.


      1. tyomitch
        25.07.2025 20:28

        Латынь, с её-то грамматикой, тут сильно способствует, так что не удивительно.

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

        Это есть и у Хомского, кстати.

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


  1. VNAg
    25.07.2025 20:28

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


    1. vened Автор
      25.07.2025 20:28

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

      Всё ж, информация и смысл - вещи разного уровня. В тексте может быть только один бит информации ("да/нет"), но очень и очень много смысла для конкретного читателя, а может - наоборот.


      1. VNAg
        25.07.2025 20:28

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