Попробовал использовать ChatGPT в качестве инструмента для перевода технического текста с русского на английский, чтобы понять, насколько эта система годится для подобных задач. Может, – хотя бы, – пойдёт на роль генератора качественного “подстрочника”. ChatGPT 5 тут же “перевело” слово “совпадают” как совпides – да, “тяни-толкай” из двух слов разных языков. Это, очевидно, “склейка” из “совпадает” и coincides. Довольно забавно. ChatGPT утверждает, что это опечатка. В принципе, бывает, кто бы спорил.

К сожалению, первый вариант перевода оказался просто переписанным на английский русским текстом – то есть, это, как бы, более или менее корректный перевод (за вычетом совпides и пр.), но он читается “на русском”, а не на английском: наследованы все верхнеуровневые конструкции – это будет сильно коробить носителей английского, например. Впрочем, в качестве подстрочника – очень даже неплохо, тем более, что никто не просил литературный перевод. А до литературного, конечно, получилось космически далеко. Но ведь утверждают, что при помощи LLM переводят литературные произведения. Чтобы представить, что там получается, указал в своём ответе на то, что тут остался русский текст, но “английскими словами”, попросил переписать на английском английском. Второй вариант – оказался заметно лучше, но, к сожалению, всё ещё далёк от ожиданий “сверхинтеллекта”.

Вот хороший пример: предложение (в контексте большего текста) “Хуже того, этот кто-то может заменить пакеты или изменить передаваемые в них данные” – ChatGPT 5 переводит так: “Worse still, an attacker can modify or replace those packets”. Оставим за скобками “an attacker”, которого тут нет в исходном тексте – это не страшно. Но здесь сохранено “worse still”, – калька с русского “хуже того”. На английском – “worse still” читается как весьма драматический заход. Куда сильнее, чем “хуже того”, даже посильнее, чем “хуже всего”. Могло бы быть что-то вроде “in fact” или “moreover”. Самое забавное, что ChatGPT об этом, как бы, “знает”. Вот эти два варианта, – “in fact”, “moreover” – предложило само ChatGPT, когда я указал, что “worse still” – плохой “loan translation” (“прямое заимствование”, калька). То есть, система “знает” верные слова, но не может их выставить. Всё из-за того, что это синонимайзер, к сожалению. И “совпides” тому примером.

Но как подстрочник – вполне неплохо, факт. Продолжаем наблюдать.



Комментарии (1) »

Превращения слов. Систему Kubernetes на русском ИТ-жаргоне очень часто называют “Куб” или “Кубик”. Что, конечно, довольно забавно, потому что это дважды трансформированное из греческого через английский “фонетическое сокращение”. Дело в том, что исходное древнегреческое κυβερνήτης (“рулевой, кормчий, управляющий”) соответствует русскому “губернатор”. Так что должно быть не “куб” (которое, из-за “кубических мер”, много в каких жаргонах и арго фигурирует, но с другими значениями), а “губер”.



Комментарии (4) »

Попросил (на английском) ChatGPT 5 объяснить, почему в русском языке форма множественного числа слова “дно” используется для обозначения “жены дона”. Это такая шутка. ChatGPT, ранее, в другой ветке, заявляло мне, что владеет русским на высочайшем уровне, не хуже образованных носителей, так что запрос – по теме.

Однако ChatGPT заявило, в весьма пространных объяснениях, которые я не стану тут приводить, что это не так, не используется “дно” для “жены дона”. Потому что – внимание! – множественное число для “дно” – “днá” (именно так, с диакритическим знаком ударения над “a”). И ChatGPT привело пример:

одно́ дно́,
мно́го днá.

Так-то. Ну а “жена дона” – это “донна”. И дальше ChatGPT объяснило, мол, юмор тут в том, что “люди в шутку говорят: жена дона – это дна”.

А когда я написал, что, получается, это ChatGPT не знает форму множественного числа для “дно”, ответом было уверенное “I do” (“Я знаю”), со смайликом. После чего ChatGPT повторило, буквально, следующее:

The plural of дно́ is днá (stress on the second syllable):
одно́ дно́
два / три / мно́го днá

Это довольно забавно. Ударение, главное, в “днá” – на втором слоге. Не перепутайте. А самое смешное, так это слово, которое ИИ ChatGPT приводит в качестве иллюстрации того, что в русском есть и другие “контринтуитивные множественные”: “око́ → очá”.

Конечно, все эти современные говорилки, по сравнению с временами “хлопка от шампанского” и “личинок, блокирующих собачку в замке”, сильно продвинулись. ChatGPT, надо сказать, годится в качестве неплохого инструмента для поиска необычных примеров в текстах (ну, в тех случаях, когда LLM не выдумывает ответ). К сожалению, использовать этот инструмент для обработки естественного языка нужно с большой осторожностью. А при изучении иностранного языка – это, опять же, так себе помошник. Пример с “дном” и “доньей” хорошо это показывает.

Несомненно, “дно” – это весьма сложный случай. Обычно, вопрос про множественное число для “дна” ставит в тупик носителей русского, даже если они получили профильное (да, как ни странно) образование (литераторы, журналисты, иногда и филологи). Но ни одному образованному носителю русского не придёт в голову утверждать, что множественное для “дно” – “дна”. Именно в этом и состоит тупик: в совершенстве владеющий языком человек сразу понимает, что “дна” – никак не может быть множественным для “дно”; это будет не на русском. Другое дело – генератор текстов, у которого нет и не может быть понимания языка. Но “хайпу” это не мешает.

А множественное для “дно” – “донья”. Например, “сетчатые донья для ульев”.



Комментировать »

Небольшой исторический экскурс, про комплексные числа и “квадратный корень из минус единицы”. Читаем исходники Бомбелли. Почему Бомбелли? Потому что без упоминания этого итальянского инженера-математика 16 века не обходится ни один экскурс в историю внедрения комплексных чисел. Про Рафаэля Бомбелли нередко пишут, что он “первым ввёл в обиход комплексные числа”. Несомненно, труд Бомбелли “Алгебра” (L’Algebra) сыграл одну из ключевых ролей в становлении подходов к алгоритмическому пониманию комплексных чисел. Но что именно сформулировал Бомбелли, и как именно? Насколько этот объект похож на современные комплексные числа?

Традиционно ссылаются на небольшой фрагмент из “Алгебры” Бомбелли, в котором прямо определяются правила арифметики для “мнимой единицы”, то есть, для i. Тут, однако, кавычки необходимы: мнимая единица – это в современных терминах; как будет понятно далее, у Бомбелли всё несколько иначе записано.

“Алгебра” Бомбелли написана на итальянском. Чтобы проиллюстрировать различие подходов, я постараюсь в ключевых местах дать дословный перевод текста Бомбелли, максимально близкий к исходнику (ну, на мой взгляд). Это позволит понять, как вообще описывались алгебраические объекты до появления современной нотации, и возможно ли сравнивать объекты непосредственно.

Кстати, современная алгебраическая нотация является настолько огромным достижением сама по себе, что именно её мог бы использовать “попаданец” в средневековое европейское прошлое для эффективного убеждения инквизиторов в том, что он, “попаданец”, реально из будущего. Современные для двадцать первого века теоремы, скажем, типовой “попаданец” не сможет даже сформулировать. Как и убедительно рассказать про “металлических птиц” и “дальновидение”, чтобы обособить свой рассказ от прочих волшебных историй, бытовавших и в средние века – просто, тут необходимо знать слишком много, для “попаданца”. Зато базовая алгебраическая нотация, на уровне записи формул корней квадратного уравнения, нынче хорошо знакома едва ли не каждому, а на образованного инквизитора прошлого произведёт впечатление. Но всё это в художественном произведении, конечно. Почему-то, этот вариант, хоть он простой и доступный, упускают из виду. Вернёмся, впрочем, к итальянской “Алгебре” 16 века.

Ниже дан первый фрагмент скана соответствующей страницы (это издание 1579 года, из библиотеки Linda Hall; страница 169; выделение цветом – моё; в некоторых местах, где допустимо и если не влияет на контекст, – я исправляю опечатки исходника и меняю типографику на современную итальянскую, для лучшего текстового представления, например, u -> v; см. детали ниже).

Screenshot of Bombelli's Algebra page

Итак, итальянский – исходный язык, на котором писал свой труд Бомбелли. Это уже далеко не латынь, но и не совсем современый итальянский – 16 век, всё же. (Знание итальянского для понимания этой заметки не требуется – я все важные слова объясню ниже.) В самом начале страницы, Бомбелли, буквально, пишет (пожирнение тут везде соответствует тексту, выделенному на скане): “Я обнаружил другой тип кубических корней выражений, который сильно отличается от всех других” (“Ho trovato un’altra sorte di R.c.legate molto differenti dall’altre”.)

Здесь сразу же попадается интересный термин: “R.c.legate”, от Radice Cubica Legata, – это обозначение для кубического корня, вычисляемого для некоторого алгебраического выражения (формулы), которое, как сейчас сказали бы, стоит “под радикалом”. Откуда и legata – “связанная” (итальянское radice, “корень” – женского рода; кстати, если вы только изучаете русский, то и “корень” вам тоже может показаться существительным женского рода). В общем, если на русском, то будет “связанный корень” или, что несколько точнее, “присоединённый корень”.

Что тут имеется в виду? Бомбелли определяет соответствующий больший термин – Radice Legata – за несколько десятков страниц до рассматриваемого фрагмента “Алгебры”. И в определении дан такой пример (здесь он записан в современных обозначениях и терминах): пусть кто-то говорит, “найди мне квадратный корень из (7 + √48)”, это означает, что нужно найти такое выражение вида a + √b, которое, “умноженное само на себя, даст (7 + √48)”; такое выражение, пишет Бомбелли, это (2 + √3). Проверяем: (2 + √3)*(2 + √3) = 4 + 4*√3 + 3 = 7 + 4*√3 = (7 + √48). Сходится.

Однако Бомбелли, когда описывает здесь нахождение квадратного корня в подобной форме, не использует термин “квадратный корень”. Он, буквально, пишет: “найди мне сторону” (дословно: trovami il lato). И это, вообще говоря, сторона квадрата, площадь которого равна заданному выражению (с иррациональностью!). Это всё похоже на геометрический подход, разделяющий числа и “величины”.

Нужно отметить, что, как сейчас бы сказали, Бомбеллли строит расширение поля рациональных чисел: потому что (7 + √48) = (7 + 4*√3) – это присоединение к рациональным числам иррационального √3, где √3 – это обозначение числа, квадрат которого равен 3 (определение корней дано у Бомбелли через умножение, а это очень важно). То есть, рассматриваем всевозможные выражения вида a + b*√3, где a, b – рациональные числа. Естественно, во времена Бомбелли абстрактной теории полей ещё не было, как и коммутативной алгебры в современном понимании. Но тем не менее.

Получается, геометрическая интерпретация всё ещё отражена у Бомбелли в терминах (“найти сторону”), но искомые “радикалы” вводятся уже через присоединение “внешнего” корня многочлена, через расширение поля, а не через “углы”, которые сейчас повсеместно связывают с комплексными числами, – например, в радиотехнике, но не только там. Именно алгебраическое определение комплексных чисел через расширение поля (присоединение корня полинома X^2 + 1) и является современным, – “операционным” и алгоритмическим, – вариантом. Угловые меры, как инструмент, конечно, в труде Бомбелли тоже есть, в том числе, при рассмотрении решений кубических уравнений. Но это не комплексные числа, а другой инструмент.

Фактически, “R.c.legate” это запись корня уравнения в кубических радикалах, с присоединением иррациональностей. Но всё же, получается, что речь тут идёт о специальном “радикале”, как способе записи, а не о теоретическом “числовом” объекте. Это следует ещё и из того, что темой соответствующего раздела является решение уравнений третьей степени (формула Кардано, в частности). В современных обозначениях – ∛(a + √d) – кубический корень из выражения, содержащего корень квадратный. Этот последний момент – важен для понимания дальнейшего текста.

Итак, имеем радикалы из выражений вида a + b√d, как способ записи, пригодный для специальных вычислений. Идём дальше – дословный перевод следующего фрагмента со скриншота труда Бомбелли: “эта вещь [радикал] встречается в главе, рассматривающей куб, равный многим ([т.е. кратности неизвестного]) и числу”. Вот этот странный текст про “куб, неизвестное и число”, это есть ни что иное как запись словами уравнения вида x^3 = px + q, если в современных обозначениях. (Далее будем называть здесь q не “числом”, а константой – так понятнее.)

Бомбелли здесь рассматривает куб неизвестного х, слева, и он приравнивается к значению, кратному этому х (p*x), плюс некоторое число (буквально – numero), константа “без неизвестного”, то есть плюс q. Именно такая форма уравнений рассматривается. Вообще, это не единственная используемая “нотация”. Тот же Бомбелли далее в “Алгебре” использует специальную нотацию с отдельным обозначением степеней неизвестной арабскими цифрами (но без формального обозначения самой неизвестной – как сейчас написали бы: x или t). Однако в обсуждаемом фрагменте – тип уравнения назван просто словами. Ни о каких операциях речи ещё не идёт, но тут же вводится важное ограничение, выделяющее интересующий Бомбелли подтип уравнений и приводящее, в итоге, к “мнимым” (или “софистским”) радикалам.

Далее сформулировано условие, что (p^3)/27 больше (q^2)/4, но опять словами, при этом (p^3)/27 = (1/3*p)^3, а (q^2)/4 = (1/2*q)^2. Дословно по тексту: “когда куб одной третьей от кратности [неизвестного] – больше, чем квадрат половины числа [константы]”. В исходном тексте: “quando il cubato del terzo delli tanti è maggiore del quadrato della meta del numero” – “cubato del terzo” – “куб одной третьей”, “è maggiore del quadrato” – “больше квадрата” и т.д. То есть, всё описано словами, и речь о конкретном случае значений коэффициентов. Разительно отличается от современного подхода к изложению материала. Почему (p^3)/27 > (q^2)/4? Об этом сказано буквально через несколько слов.

Пропускаем слова о том, что примеры с таким уравнением Бомбелли разбирает в отдельной главе, читаем дальше и пытаемся разобраться: “соответствующий тип квадратного корня в своём вычислении (Algorismo) требует операций, отличных от всех других, и другого названия” (“la qual sorte di R.q. hà nel suo Algorismo diversa operatione dall’altre, e diverso nome”). Здесь R.q., от Radice Quadrata, – это уже квадратный корень, но терминологическая логика остаётся той же. Почему же речь теперь про квадратный корень, если сначала упомянуты кубические? Потому что здесь написано про “подрадикальный” корень, соответствующий вычислению корня кубического. Собственно, когда вы решаете кубическое уравнение в радикалах, то в процессе решения обязательно возникает квадратное уравнение и квадратные корни. В формуле Кардано они и составляют смысл всей затеи. О чём и пишет Бомбелли далее: “когда куб одной третьей кратности больше квадрата половины константы, тогда нельзя назвать [его] ни больше, ни меньше“. То есть, тут речь про значение “ни с плюсом, ни с минусом”. Необходимо учитывать, что отрицательные числа пока что не используются как класс, привычный сегодня: например, довольно сложно определить, что такое сторона квадрата, имеющая “отрицательную величину”. Поэтому “ни больше, ни меньше” – “ne più, ne meno”, – как операции увеличения и уменьшения чего-то: a + b, a − b.

Формула Кардано имеет вид (a + √b)^(1/3) + (a − √b)^(1/3), то есть, это сумма двух кубических корней, соответствующих R.c.legate Бомбелли, а “ни больше, ни меньше” относится к части √b. Ведь в формуле Кардано b = (q^2)/4 − (p^3)/27, соответственно, если (p^3)/27 больше (q^2)/4, то и получаем отрицательное значение под квадратным корнем. Это и есть та величина, про которую ни сказать, что “она больше”, ни сказать, что “она меньше”.

Дальше: “но [эти элементы] называю “плюс минуса”, там, где их нужно складывать ([увеличивать]), а где их нужно отнимать ([уменьшать]), называю “минус минуса”, и эта операция необходимейшая…” (“però lo chiamerò più di meno, quando egli si doverà aggiongere, e quando si doverà cavare, lo chiamerò men di meno, e questa operatione è necessarissima…”). То есть, в том случае, когда под радикалом отрицательное число, Бомбелли такое сочетание не считает возможным называть, ни “большим”, ни “меньшим” – читай: ни положительным, ни отрицательным, – но называет “плюсом минуса” и “минусом минуса”. Для прототипа i тут вводится специальное, двойное операционное обозначение. Те же “плюс минуса”/”минус минуса” можно перевести и как “больше минуса”/”меньше минуса”. Что это могло бы обозначать? А это больше всего похоже на описание способа выноса мнимой единицы из-под радикала. Например, перепишем (2 − √(-3)) как (2 − i*√3).

Что касается исключительной важности новой операции, которая объявлена “необходимейшей”, то речь тут об уравнениях четвёртой степени (potenza di potenza) разной формы, где подобные радикалы возникают “гораздо чаще, чем другие”.

Далее Бомбелли пишет, что “[подобные радикалы] многим покажутся скорее “софистскими”, чем “настоящими”; такого мнения и я сам придерживался тоже, пока не нашёл для него [радикала] демонстрации геометрической” (“la quale parerà à molti più tosto sofistica, che rale, e tale opinione hò tenuto anch’io, fin’ che hò trovato la sua dimostratione in linee”).

Как ни странно, но геометрическая демонстрация (на плоскости, да), которую Бомбелли приводит отдельно (а я здесь пропускаю), это вовсе не современная геометрическая интерпретация комплексных чисел – с поворотом, углами, мнимой и действительной осями.

Промежуточный итог: Бомбелли рассматривает некоторые “новые радикалы”, отдельный тип квадратного корня, со своим названием и свойствами, как составную часть операции отыскания кубических корней. То есть, в качестве вспомогательного элемента, чтобы операция работала, используется новый объект, который очень похож на мнимую единицу (см. “плюс-минусы” выше), но вовсе не на квадратный корень из минус единицы, как на число вообще и на “рациональное” число в особенности. Далее Бомбелли перечисляет правила умножения “знаков” для нового элемента: “и вначале разберу умножение, определив закон для плюса и минуса” (“e prima trattarò del Moltiplicare, ponendo la regola del più & meno”). На скриншоте ниже – эти определения.

Screenshot of Bombelli's Algebra page

Если новый “минус” заменить на обозначение i, то получится, что здесь написано следующее (пример из: F. La Nave and B. Mazur, Reading Bombelli, 2001):

1. (+)*(+i) = +i
2. (−)*(+i) = −i
3. (+)*(−i) = −i
4. (−)*(−i) = +i
5. (+i)*(+i) = −
6. (+i)*(−i) = +
7. (−i)*(+i) = +
8. (−i)*(−i) = −

Если представить, что “чистый” минус и “чистый” плюс – это подразумеваемые плюс/минус единицы по умножению (как в современной нотации), то получится, что в пятой строке записано (i*i) = i^2 = -1. А это корректное определение мнимой единицы. Может показаться, что обобщив определение квадратного корня в “Алгебре” Бомбелли получаем √(-1) = i, поскольку i*i = -1, но это не так, поскольку Бомбелли не вводит i как “число” или как измерение “стороны”. Это i – приписано сейчас, это некий анахронизм, а в исходном тексте (см. скриншот выше), фигурируют лишь операционные обозначения “плюс минуса” и “минус минуса”. И тем более выделение концепции мнимой единицы оказывается в некотором противоречии с тем, что данные специальные радикалы (R.C.Legata) вводятся непосредственно для выражений вида (a + √d), применительно к кубическим уравнениям. А в современном варианте извлечение кубических корней из комплексных чисел требует формулы Муавра и тригонометрического представления.

Бомбелли находит решение в радикалах для уравнения x^3 = 15*x + 4. Это, пожалуй, второй самый цитируемый фрагмент “Алгебры”. Во времена Бомбелли было известно, что кубическое уравнение всегда имеет один (действительный) корень, а особый интерес представляли только положительные корни. С одной стороны, положительный корень x^3 = 15*x + 4 нетрудно угадать: x = 4. С другой стороны, (4^2)/4 = 4, (15^3)/27 = 125, и формула Кардано даёт для этого уравнения следующее выражение: ∛(2 + √-121) + ∛(2 − √-121). Это как-то не очень похоже на 4.

Вообще, можно найти и некоторые другие озадачивающие варианты значений внутри формулы Кардано для уравнений с очевидным целым корнем, без “отрицательных радикалов”, особенно, если вам знакомо уравнение Пелля, но это тема для другой записки. Что же касается √-121, то это всё равно выглядит сложно. Даже сейчас, для современного взгляда. Потому что, вообще говоря, и значений кубического корня получается несколько, и для случая трёх действительных корней формула Кардано, мягко говоря, несколько бесполезна.

Однако Бомбелли, иллюстрируя свой новый метод, показывает, что (2 + i)^3 = (2 + √-121), если только следовать описанным выше правилам. И действительно, (2 + i)*(2 + i) = (3 + 4i), (3 + 4i)*(2 + i) = (2 + 11i) = (2 + √-121). Соответственно, (2 − i)^3 = (2 − √-121), так сказать, из соображений симметрии (это отмечено у Бомбелли, как ни странно). Поэтому ∛(2 + √-121) + ∛(2 − √-121) = (2 + i) + (2 − i) = 4. Вот только в данном конкретном случае значения нетрудно подобрать под известный ответ. А в других случаях – без рационального аналога тригонометрии с кубическими корнями будет трудновато.



Комментировать »

Ещё немного историй про монеты, которые имеют большое значение как некоторый “фокальный объект”. Если посмотреть на почти современные греческие монеты (конец прошлого века), то нетрудно заметить интересную особенность – она хорошо видна на иллюстрации ниже.

Greek coins

На этой иллюстрации – аверсы двух монет в 10 греческих драхм. Однако на левой монете, датированной 1988 годом, написано ΔΡΑΧΜΕΣ, а на правой, которая из 1976 года, ΔΡΑΧΜΑΙ. И то, и другое слово – это множественное число для драхм. Отличие лишь в двух последних буквах: эпсилон-сигма сменяют альфа-йоту. Почему? Может, это опечатка, и тогда одна из монет представляет собой редкость?

Нет. Это не опечатка. Это физическое воплощение весьма мощного для новогреческого языка социального явления, которое известно как греческая диглоссия или “языковой вопрос”. Дело в том, что в современной Греции почти пару сотен лет, – с восемнадцатого века и до середины двадцатого, – шла активная борьба за сохранение “книжного языка” (καθαρεύουσα, “кафаревуса”) в качестве языка официального, в противовес разговорному языку греческого народа (δημοτική γλώσσα, “народный язык”, или просто “димотика”). То есть, в противовес тому языку, которому, с начала двадцатого века, обучали в начальной школе (например).

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

Результатом этого процесса стал окончательный переход к димотике, и в качестве “официального языка” тоже. Это произошло в 1976 году (дата на монете справа).

Так что разная запись, – с сигмой или с йотой, – это отражение перехода на димотику, в которой пишут ΔΡΑΧΜΕΣ. Поэтому и на монетах стали чеканить форму с эпсилон-сигмой. Но чеканить такие монеты начали позже 1976 года, а именно – с 1982.

А схематическое изображение атома на аверсе этих монет присутствует тоже не просто так: монеты посвящены Демокриту – его портрет отчеканен на реверсе.

Greek coins



Комментировать »

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

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

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 – “девушка владела котом/кошкой”. Казалось бы – эквивалентная конструкция. Но нет, не совсем, потому что парсинг разных записей будет разным. То есть, смысл, стоящий за {the cat the girl owned} и {the girl owned the cat}, может быть и одинаковый, но к этому смыслу ещё нужно привести текст, записанный разным способом. Это напоминает понимание логических формул, как “записей”, которое понимание даётся с трудом. Кроме того, наблюдаемый эффект очередной раз подчёркивает то, что в самом тексте смысла нет.

Итак, возвращаемся к разбору исходного упражнения: the girl owned the cat – “девушка владела кошкой”. И эта кошка поцарапала парня. Поцарапанный принадлежащей девушке кошкой парень – вскричал: screamed.

Эмбеддинг позволяет вложить отношения одно в другое, “подвесив” каждую половину пары в ожидании глагола, а все три смысловых пары – в ожидании возникновения структуры вложенности. Посудите сами: the chap – подвешивает “объект парень” (что “the chap” сделал, что – не сделал; что с ним произошло?), для разрешения нужен ответный элемент лексической конструкции, в данном случае – глагол screamed, но он стоит в самом конце, а вместо него парсер читает the cat. Тут парсер должен запомнить, что не хватает соединения для предыдущего “объекта” и продолжить разбирать фразу. Но третим пунктом опять идёт “подвешивание”: the girl. И только потом – начинаются “замыкающие” глаголы, которые нужно правильно подключить.

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

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

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

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

Потому что если парень кошкой вскричал, то “поцарапанный” повисает полностью, уже ни на что не опираясь. А если всё же приклеить “поцарапанный” к парню, – ну, кошкой вскричал он, поцарапанный, – то что делать с “принадлежащей”?

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

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

“Парень, кошка, – девушка владела, – поцарапала, вскричал”.

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

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

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

Более того, если использовать множественное число, то можно отказаться от артиклей 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.

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

(Это дополненная версия статьи, которую я ранее опубликовал на “Хабре”.)



Комментировать »

В современном английском предложения “the bumblebee chased the ball” и “the ball chased the bumblebee” диаметрально переставляют преследующего и преследуемого только потому, что переставлены слова. Есть занятная гипотеза, почему так получилось. Если люди разговаривают на двух относительно близких языках, которые, тем не менее, имеют разные схемы словоизменения, разную морфологию, то получается, что при общении на языковой границе удобно просто отрезать от слов изменяемые элементы, оставляя только какой-то базовый вариант, фактически – корень. Ведь корни в этих языках часто одинаковые, поэтому и основное значение фразы из урезанных слов “без падежей” слушатель может понять.

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

Получается, что в результате такого пограничного перемешивания начинает “отваливаться” изменчивость отдельных слов, получается новый язык, в котором грамматическая роль задаётся относительным порядком слов и словосочетаний. Контактирующие языки обмениваются неизменяемыми частями слов, а развитое словообразование – заменяется на использование нескольких слов для уточнения значения (как “chase out the hippopotamus” – “выгони бегемота”). Естественно, один из языков будет больше подвержен влиянию другого.

И в английском сходный механизм сработал для древне-, среднеанглийского против древнескандинавских и старофранцузских диалектов. В последнем случае, со старофранцузским, потому, что схема работает и тогда, когда одна из сторон просто плохо владеет языком другой стороны. Такая вот “факторизация” языков по сумме схем словоизменения.



Комментарии (2) »

Опубликовал на “Хабре” небольшой текст про рекурсивное “центральное встраивание” (center embedding), которое доступно в английском языке, и его связь с восприятием языков и их грамматик. Речь про фразы вроде “The chap the cat the girl owned scratched screamed” – это как раз основной пример из статьи на “Хабре”. В разговорном языке, понятно, такое не встречается, но так-то у меня есть и вариант с вложенностью уровня пять (нетрудно строить по шаблону, конечно):

The ship the crocodile the chap the cat the girl owned scratched gnawed submerged resurfaced.

Годится для тестирования LLM/GPT.

The ship {
 the crocodile {
  the chap {
   the cat {
    the girl owned 
   } scratched
  } gnawed 
 } submerged 
} resurfaced.


Комментировать »

Повышение уровня абстракции – полезный и важный элемент процесса обдумывания, так как позволяет задействовать механизм “разрешения противоречий”. Если такой механизм есть, конечно.

Возьмём пару цитат и ещё одну, не менее замечательную:

“Нас невозможно сбить с пути, нам всё равно, куда идти”
М. М. Жванецкий(?), (есть вариант “никому не сбить”, не важно).

“У самурая нет цели – только Путь”
“Хагакурэ”, Ямамото Цунэтомо. (Иногда напоминаю коллегам эту важную максиму.)

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

“Всё равно куда” перекликается с одной из самых знаменитых цитат из “Алисы в Стране чудес”:


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

Л. Кэрролл.

Эта цитата содержит машинерю, позволяющую детально разобрать две предыдущих цитаты. Всё равно, куда идти. Но если идти достаточно долго, то куда-нибудь попадёшь. Долгий ход, как сейчас говорят, “определяет”. Если недостаточно долго идти, то не получится дойти даже куда-нибудь (настолько размытое пространство). Как понять, что идёшь уже достаточно долго? Нужна точка отсчёта, иначе всякий раз может оказаться, что ход недостаточно долгий и никуда не приводит. Где предельный переход? Возможен ли он? У самурая нет этих проблем, из-за глубинных свойств его пути.

Занятно, что, согласно “Алисе в Стране чудес”, даже когда путь отделяется от цели, он обязательно приводит куда-нибудь. Это здесь чисто категорийное свойство пути – приводить куда-то. Стрелка.

К сожалению, такое определение недостаточно абстрактно: выходит, что если начать просто “идти” и “идти”, то это ещё не путь. В “невозможно сбить с пути”, не только путь появляется раньше цели, но и сказано, что куда-то мы должны идти. Да, всё равно – куда, но ведь – куда-то! Тем не менее, попытка отделить свойство, создающее путь, от цели, через “невозможность сбить с пути”, это абстракция достаточно высокого уровня, чтобы начать строить теорию категорий. Удивительно.

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

Дзен самурая – дзен более высокого уровня, на фоне которого “всё равно куда” выглядит некоторым мельтешением: суетятся, бегают куда-то, всё равно, куда – лишь бы бегать. Самурай не суетится. У самурая нет цели. Только путь.



Комментарии (1) »

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

Вообще, не так уж трудно подобрать очень короткие фрагменты из других текстов, которые, при подходящей нарезке, совпадут с “Илиадой”. Пример, который я нашёл достаточно быстро, есть даже на dxdt.ru (с картинками). Ничего удивительного: побуквенно совпадающие фрагменты из нескольких слов, не являющиеся прямой цитатой, всегда можно найти в двух достаточно больших литературных текстах на естественном языке. Во-первых, чтобы исключить подобные совпадения, нужно специально задаться подобной целью и начать генерировать синтетический текст в стиле “редкий редан редактора редукторной редиской… и т.д.”; но, – во-вторых, – даже если и задаться целью, то всё равно ничего не выйдет на сколь-нибудь большом расстоянии: какие-то слова обязательно попадут в типовую конструкцию, потому что всякая цепочка, выстраиваемая с прицелом на уникальность, начнёт рушиться из-за грамматических правил и смысловой составляющей (по условию задачи – текст литературный). Тем не менее, совпадение фрагментов – довольно надёжный инструмент. Нужно только правильно его применять. Надёжность возрастает с ростом количества доступных букв фрагментов.

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

Но можно ли, тем не менее, для “Илиады”, к примеру, реализовать такое современными методами? Скажем, взять разные автоматические генераторы изображений, насоздавать изображения папирусов и других надписей, сказать, что это всё вот просто в архиве оцифровано и показывать через Интернет. А при помощи 3d-принтеров и прочих хитрых инструментов – сделать много поддельных кусочков папирусов, надписей на “каменных табличках” и глиняных амфорах. Это можно сделать, но всё требует затрат. Тут речь не про альтернативную хронологию, а про погружение некоторого текста в более древние слои: получается, что для аккуратного погружения нужно “пересчитывать” совпадения элементов, расставлять слова на разных объектах согласованным способом. Понятно, что это всё работает не только для текстов, но и для археологических изысканий вообще. Тексты тут сильнее потому, что они сковывают возможности трактовки фактов через известное свойство истории “быть функцией от современности”.



Комментировать »

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

Наверное, самый известный пример – “thank me no thankings, nor proud me no prouds” из “Ромео и Джульетты”. Но здесь выберем в качестве иллюстрации другой фрагмент, из “Ричарда Второго”:

Tut, tut! Grace me no grace, nor uncle me no uncle

– приказывает, в третьей сцене второго акта, герцог Йоркский Эдмунд своему племяннику, Генри Болингброку, который только что попытался назвать герцога “милостивым (добрым) дядей (gracious uncle)”.

Точно перевести фразу на русский не получится, не сомневайтесь, но, благодаря мощным возможностям русского, нетрудно сохранить основную лингвистическую идею, пусть и выйдет несколько коряво: “Grace me no grace, nor uncle me no uncle” – “не милости́ мне, да не дядькай“; здесь нам немало помогает Unicode и над второй слева “и” – стоит знак обычного ударения; а вот над последней – уже бреве, то есть, это “й” – “и” с краткой. Странное слово “милости́” – это “милость”, но которую, так сказать, очень активно приписывают получателю обращения. Используется только здесь. Ну а “дядькай” – это вполне себе обычное слово, понятное любому, кто владеет русским на высоком уровне.

И всё бы хорошо, но вариант перевода с “дядькай”, конечно, вообще не соответствует драматическому настрою данной пьесы. Особенно – не соответствует пьесе в переводе. А могло ли такое использование grace – и, в особенности, uncle, – звучать немного комично в оригинале? Могло. Однако данная пьеса традиционно относится к разряду исторических, а сортировка произведений Шекспира по типам “трагедия” и “комедия” вообще представляет одну из важных проблем шекспироведения, так что совсем точно сказать сложно, особенно, если попытаться взглянуть из 16 века: шекспировский английский хоть и является современным английским, но многие детали восприятия успели сильно поменяться (Duke of York – как набор слов, вообще стал, отчасти, “кулаком” (fist), но это сленг: “Put up your dukes!”).

Как переводили на русский этот фрагмент в традиционных прочтениях? Ниже – чуть больше оригинала и примеры перевода.

BOLINGBROKE

My gracious uncle–

DUKE OF YORK

Tut, tut!
Grace me no grace, nor uncle me no uncle:
I am no traitor’s uncle; and that word ‘grace.’
In an ungracious mouth is but profane.

Перевод А. И. Курошевой, слова герцога:

Тсс, тсс!
Ни добрым не зови меня, ни дядей:
Не дядя я изменнику; и слово
“Добро” осквернено в устах недобрых.

Перевод М. А. Донского (?):

Слушать не хочу!
К тебе не добрый и тебе не дядя!
Не дядя я изменнику. А “добрый”
Звучит в устах недобрых, как насмешка.

Перевод Д. Л. Михаловского:

Тшъ!
Не должен ты меня так называть:
Я не могу изменнику быть дядей.
А слово «светлость» свой теряет блеск,
Когда оно из темных уст исходит.

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



Комментировать »