Лингвистическая загадка. Переводим с «мертвого» языка. [§2] Разбор полётов

    Это — продолжение, вернее ответ на задачу из статьи "Лингвистическая загадка. Переводим с мертвого языка".

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

    Ответ

    Для нетерпеливых сразу ответ, который кстати на момент написания статьи, кроме единственного человека (не с хабра), полностью не разгадал никто. Но об этом ниже…
    Упомянутая известная фраза про «Глокую куздру» (привет AndreyDmitriev), что есть цитата из книги Успенского «Слово о словах», была коварно помещена мной в середину текста. Остальное, как уже говорилось, добил другими из той же темы, причем немного даже в «старорусской» манере...
    не произноси будлания глокого на куздрение бокра своего, ибо вострепещут будлающие, да воссияют будлаемые. глокая куздра штеко будланула бокра и курдячит бокрёнка. да не будет у бокра куздры, а у куздры бокра перед лицем моим, ибо я страшно будланул, и мною так будлануто.

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

    Простой пример машинного перевода (TCL в три строчки)

    Здесь совсем уж простенькие исходники на TCL со словарями для преобразования туда-сюда. Они только чтобы показать работоспособность «машинного» перевода (в три строчки), но как примеры не совсем дееспособны. Здесь, чтобы применить слоговую и символьную замены, различающие приставки и суффиксы, в словарях использовались пробелы, точки и запятые. Такой словарь довольно громоздкий и не удобен для разбора, поэтому ниже приведу алгоритмы посложнее, но более легким в понимании словарем.
    Тикль есть под linux как правило уже из коробки (tclsh), под windows (после установки tcl) вместо tclsh лучше использовать wish из-за множественных кодировок). Если будут желающие примеры на python, перепишу под него и выложу в пост.
    • Туда:
      С русского на «мертвый»
      # словарь туда
      set map1 {шт სტ стр სცლგ ст სცტ сс შც гл გილრ во ფაგ ла რეოლ буд პაგდლ бу პეულ бо პეალ зд ზდ прои პგლოე зно ზგა окая აგელეო кая კელეო кра კგლეგ ка კეოლეგ ку კეუგლ ко კეალ то გტაგ ок აგლ ну მეუგლ ит ედგეგ ат ოდგ ут ულდგ пер ბლგ ая ოლეოგ ия ელეოგ ю ეუგლ {и } {ელ } и, ელ, и. ელ. {я } {ეოგლ } я, ეოგლ, я. ეოგლ. {а } {ოლ } а, ოლ, а. ოლ. {е } {ილ } е, ილ, е. ილ. {о } {აგ } о, აგ, о. აგ. {у } {უგ } у, უგ, у. უგ. {м } {ნოგ } м, ნოგ, м. ნოგ. {к } {ხგ } к, ხგ, к. ხგ. {не } {მეაგ } не, მეაგ, не. მეაგ. ё ეა щ შჩ ы ეგ ю ეუ я ეო а ო б პ в ვ г ხ д დ е ი ж ზ з ჟ и ე й ე к კ л რ м ნ н მ о ა п ბ р ლ с ს т ტ у უ ф ფ х გ ц ც ч ჩ ш შ ъ _ ь ე э ი}
      # оригинальный текст
      set decStr "Не произноси будлания глокого на куздрение бокра своего, ибо вострепещут будлающие, да воссияют будлаемые. Глокая куздра штеко будланула бокра и курдячит бокрёнка. Да не будет у бокра куздры, а у куздры бокра перед лицем Моим, ибо Я страшно будланул, и Мною так будлануто."
      # преобразуем по словарю (но сначала lower case)
      set encStr [string map $map1 [string tolower $decStr]]
      # stdout
      puts $encStr
    • Обратно:
      С «мертвого» на русский
      # словарь обратно
      set map2 {სტ шт სცლგ стр სცტ ст შც сс გილრ гл ფაგ во რეოლ ла პაგდლ буд პეულ бу პეალ бо ზდ зд პგლოე прои ზგა зно აგელეო окая კელეო кая კგლეგ кра კეოლეგ ка კეუგლ ку კეალ ко გტაგ то აგლ ок მეუგლ ну ედგეგ ит ოდგ ат ულდგ ут ბლგ пер ოლეოგ ая ელეოგ ия ეუგლ ю {ელ } {и } ელ, и, ელ. и. {ეოგლ } {я } ეოგლ, я, ეოგლ. я. {ოლ } {а } ოლ, а, ოლ. а. {ილ } {е } ილ, е, ილ. е. {აგ } {о } აგ, о, აგ. о. {უგ } {у } უგ, у, უგ. у. {ნოგ } {м } ნოგ, м, ნოგ. м. {ხგ } {к } ხგ, к, ხგ. к. {მეაგ } {не } მეაგ, не, მეაგ. не. ეა ё შჩ щ ეგ ы ეუ ю ეო я ო а პ б ვ в ხ г დ д ი е ზ ж ჟ з ე и ე й კ к რ л ნ м მ н ა о ბ п ლ р ს с ტ т უ у ფ ф გ х ც ц ჩ ч შ ш _ ъ ე ь ი э}
      # мертвый текст
      set encStr "მეაგ პგლოეზგასელ პაგდლრეოლმელეოგ გილრაგლახაგ მოლ კეუგლზდლიმეილ პეალკგლეგ სფაგიხაგ, ეპეალ ფაგსცლგიბიშჩულდგ პაგდლრეოლეუგლშჩეილ, დოლ ფაგშცელეოგეუგლტ პაგდლრეოლინეგილ. გილრაგელეო კეუგლზდლოლ სტიკეალ პაგდლრეოლმეუგლრეოლ პეალკგლეგ ელ კეუგლლდეოჩედგეგ პეალკლეამკეოლეგ. დოლ მეაგ პაგდლიტ უგ პეალკგლეგ კეუგლზდლეგ, ოლ უგ კეუგლზდლეგ პეალკგლეგ ბლგიდ რეცინოგ ნაენოგ, ეპეალ ეოგლ სცლგოშმაგ პაგდლრეოლმეუგლრ, ელ ნმაეუგლ ტოხგ პაგდლრეოლმეუგლგტაგ."
      # преобразуем по словарю
      set decStr [string map $map2 $encStr]
      # stdout
      puts $decStr

    Собственно разбор полётов


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

    В качестве начального примера возьмем некоторые «преобразования», произошедшие с отдельными языками давным давно:
    • kiks <-> Kekse <-> koekjes <-> cookies — датский, немецкий, голландский (нидерландский) и английский соответственно.
    • ting <-> das Ding <-> het ding <-> the thing — они же;
    • каждого года <-> кожнага года <-> кожного року <-> každého roka — русский, белорусский, украинский, словацкий;

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

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

    Дословный перевод (морфологически правильно, но синтаксически никуда не годится):
    [DK] Du behøver ikke komme, hvis du har bedre ting for
    [DE] Du brauchst nicht kommen, falls du hast bessere Dinge vor
    Правильный перевод на немецкий:
    [DK] Du behøver ikke komme, hvis du har bedre ting for
    [DE] Du brauchst nicht zu kommen, falls du etwas besseres vorhast

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

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

    Переводим на «мертвый» язык

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

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

    Магическая подпрограмма [Translate]
    # позволяет преобразовывать текст словарем и регулярками:
    proc magic_text {args} {
      set text [lindex $args end]
      foreach {op val} [lrange $args 0 end-1] {
        switch -- $op \
        -regexp {
          foreach {re val} $val {
            regsub -nocase -all $re $text $val text
          }
        } \
        -map {
          set text [string map -nocase $val $text]
        } \
        -default {
          error "uknown operation '$op'"
        }
      }
      return $text
    }
    
    # расширенная версия, где сначала помечаем слова, выделив начало и конец спецсимволами:
    # ... ^слово$, ^следующее$ ... - а после преобразований удаляем эти маркеры
    proc Translate {dictMap encText} {
      magic_text -regexp {{(\m[^\s[:punct:]]+\M)} {^\1$}} -map $dictMap -map {^ "" $ ""} $encText
    }

    Проба пера — здесь используя простенький словарь, попробуем переписать фразу «мама мыла раму» во множественном числе, и вместо «рамы» будет «Рома».
    # пример словаря (^ - начало слова, $ - конец):
    % Translate {^ма Ма ла$ ли а$ ы у$ "" ^ра Ро} "мама мыла раму, рама пищала и стонала."
    Мамы мыли Ром, Ромы пищали и стонали.
    

    Собственно приступаем к созданию словаря для нашего «мертвого» языка.

    # словарь туда
    set RuXy {
      шт ст      стр сцрх    ст сцт     сс шц
      гл херл    во фох      ла ляр    
      буд бохдр  бу бюр      бо бёр
      зд жд      прои бхраи  зно жхо  
      окая охиря кая киря    кра кхры   ка кяры   ку кюхр
      ко кёр     то хтох
      ок охр     ну нюхр
      ит идхы    ат адх
      ут урдх    пер прх
      ая арях    ия ирях     ю юхр 
      и$ ир 
      я$ ях
      а$ ар
      е$ ер
      о$ ох
      у$ ух
      м$ мах
      к$ гх
      не$ ниох
    }
    # 1 оригинальный русский
    puts 1:[set ru "Не произноси будлания глокого на куздрение бокра своего, ибо вострепещут будлающие, да воссияют будлаемые. Глокая куздра штеко будланула бокра и курдячит бокрёнка. Да не будет у бокра куздры, а у куздры бокра перед лицем Моим, ибо Я страшно будланул, и Мною так будлануто."]
    # 2 переводим :
    puts 2:[Translate $RuXy $ru]

    Результат исполнения (перевода):
    1:Не произноси будлания глокого на куздрение бокра своего, ибо вострепещут будлающие, да воссияют будлаемые. Глокая куздра штеко будланула бокра и курдячит бокрёнка. Да не будет у бокра куздры, а у куздры бокра перед лицем Моим, ибо Я страшно будланул, и Мною так будлануто.
    2:ниох бхраижхосир бохдрлярнирях херлохрогох нар кюхрждрениер бёркхры сфохегох, ибёр фохсцрхепещурдх бохдрлярюхрщиер, дар фохшциряхюхрт бохдрляремыер. херлохиря кюхрждрар стекёр бохдрлярнюхрляр бёркхры ир кюхррдячидхы бёркрёнкяры. Дар ниох бохдрет ух бёркхры кюхрждры, ар ух кюхрждры бёркхры прхед лицемах Моимах, ибёр ях сцрхашнох бохдрлярнюхрл, ир Мноюхр тагх бохдрлярнюхрхтох.
    

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

    Ниже скрипт, использующий уже грузинский алфавит, и переводящий туда и обратно:
    # словарь туда
    set RuXz {шт სტ стр სცლგ ст სცტ сс შც гл გილრ во ფაგ ла რეოლ буд პაგდლ бу პეულ бо პეალ зд ზდ прои პგლოე зно ზგა окая აგელეო кая კელეო кра კგლეგ ка კეოლეგ ку კეუგლ ко კეალ то გტაგ ок აგლ ну მეუგლ ит ედგეგ ат ოდგ ут ულდგ пер ბლგ ая ოლეოგ ия ელეოგ ю ეუგლ и$ ელ я$ ეოგლ а$ ოლ е$ ილ о$ აგ у$ უგ м$ ნოგ к$ ხგ не$ მეაგ ё ეა щ შჩ ы ეგ ю ეუ я ეო а ო б პ в ვ г ხ д დ е ი ж ზ з ჟ и ე й ე к კ л რ м ნ н მ о ა п ბ р ლ с ს т ტ у უ ф ფ х გ ц ც ч ჩ ш შ ъ _ ь ე э ი}
    # словарь обратно
    set XzRu {სტ шт სცლგ стр სცტ ст შც сс გილრ гл ფაგ во რეოლ ла პაგდლ буд პეულ бу პეალ бо ზდ зд პგლოე прои ზგა зно აგელეო окая კელეო кая კგლეგ кра კეოლეგ ка კეუგლ ку კეალ ко გტაგ то აგლ ок მეუგლ ну ედგეგ ит ოდგ ат ულდგ ут ბლგ пер ოლეოგ ая ელეოგ ия ეუგლ ю ელ$ и ეოგლ$ я ოლ$ а ილ$ е აგ$ о უგ$ у ნოგ$ м ხგ$ к მეაგ$ не ეა ё შჩ щ ეგ ы ეუ ю ეო я ო а პ б ვ в ხ г დ д ი е ზ ж ჟ з ე и ე й კ к რ л ნ м მ н ა о ბ п ლ р ს с ტ т უ у ფ ф გ х ც ц ჩ ч შ ш _ ъ ე ь ი э}
    # 1 оригинальный русский
    puts 1:[set ru "Не произноси будлания глокого на куздрение бокра своего, ибо вострепещут будлающие, да воссияют будлаемые. Глокая куздра штеко будланула бокра и курдячит бокрёнка. Да не будет у бокра куздры, а у куздры бокра перед лицем Моим, ибо Я страшно будланул, и Мною так будлануто."]
    # 2 перевод на мертвый используя словарь $RuXz
    puts 2:[set xz [Translate $RuXz $ru]]
    # 3 перевод на русский используя словарь $XzRu
    puts 3:[set ru2 [Translate $XzRu $xz]]

    Ну и результат исполнения (перевода):
    1:Не произноси будлания глокого на куздрение бокра своего, ибо вострепещут будлающие, да воссияют будлаемые. Глокая куздра штеко будланула бокра и курдячит бокрёнка. Да не будет у бокра куздры, а у куздры бокра перед лицем Моим, ибо Я страшно будланул, и Мною так будлануто.
    2:მეაგ პგლოეზგასელ პაგდლრეოლმელეოგ გილრაგლახაგ მოლ კეუგლზდლიმეილ პეალკგლეგ სფაგიხაგ, ეპეალ ფაგსცლგიბიშჩულდგ პაგდლრეოლეუგლშჩეილ, დოლ ფაგშცელეოგეუგლტ პაგდლრეოლინეგილ. გილრაგელეო კეუგლზდლოლ სტიკეალ პაგდლრეოლმეუგლრეოლ პეალკგლეგ ელ კეუგლლდეოჩედგეგ პეალკლეამკეოლეგ. დოლ მეაგ პაგდლიტ უგ პეალკგლეგ კეუგლზდლეგ, ოლ უგ კეუგლზდლეგ პეალკგლეგ ბლგიდ რეცინოგ ნაენოგ, ეპეალ ეოგლ სცლგოშმაგ პაგდლრეოლმეუგლრ, ელ ნმაეუგლ ტოხგ პაგდლრეოლმეუგლგტაგ.
    3:не произноси будлания глокого на куздрение бокра своего, ибо вострепещут будлающие, да воссияют будлаемые. глокая куздра штеко будланула бокра и курдячит бокрёнка. да не будет у бокра куздры, а у куздры бокра перед лицем моим, ибо я страшно будланул, и мною так будлануто.
    


    Перевод с «мертвого» языка

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

    Должен заметить, что мне представлялось почти невозможным сделать перевод полностью автоматически или полностью вручную. В моем понимании, я и компьютер будем работать постоянно в сцепке.

    В результате краткий сценарий обратного перевода, как это делал я:

    1. Компьютерный анализ текста (использовался пропритарный VDK, самописные фильтры к нему, стемеры русского и куча скриптов, например для привязки diff). Изначально пустой словарь трансляции алфавита. Результат анализа — множество вариантов «неправильного» текста на кирилице, в которых все в именительном падеже, с универсальной морфологией в неопределенной форме.
    2. Анализ этих вариантов текстов вручную (поиск чего нибудь читабельного). Цель — увеличить словарь, использующийся при компьютерном анализе. Повторить с шага 1. Если читабельность текста стала хуже, откатиться к предыдущему словарю.

    Вот в принципе и все, а теперь чуть развернуто:
    UPD(1)
    1. Компьютерный анализ
      API VDK позволяет осуществлять анализ и обработку текста, вплоть до полнотекстового индексирования — опенсоурсный «аналог» был бы Apache Lucene (api под Solr), если бы оно умело все то, что может VDK.
      Я долго уже горю желанием полностью переписать свои наработки, скрипты, фильтры и анализаторы без использования VDK. Пока к сожалению удалось только частично.
      Не отвлекаясь на API VDK, попытаюсь все же развернуть свой workflow — как все работает.
      • Генерируем новый словарь для Translate (см. функцию выше), и запускаем его — переводим текст, который затем скармливаем последующим шагам workflow.
      • «Индексация» текста используя самописные фильтры и пре-стеммеры. В результате имеем разобранный на слова текст.
      • Работаем со словами. Для этого можно использовать например акцентные или диалектные фильтры (с настраиваемыми правилами). Тут можно убрать ударения и т.д. Покажу на примере немецких умляутов: бывшего канцлера Германии можно было встретить в тексте как «Schröder» или как «Schroeder». Правописание в немецком тоже менялось (старое, новое), поэтому «Crème» и «Krem» или например «Schmant» и «Schmand» — это одно и то же слово.
        Естественно в нашем случае имеем «псевдорусский» акцентный словарь. Поэтому проведем здесь обратное действие, которое обычно используют не при индексировании, а при поиске, т.е. экспандируем каждое слово в несколько похожих.
      • Далее натравливаем стеммер. Стеммер позволяет привести слово к уникальному виду, типа корня, неопределенной формы, именительного падежа, и т.д. Умные стеммеры, например использующие словари, могут при этом удалять приставки или суффиксы, если смысл слова при этом не теряется (т.е. слово не становится совсем другим).
        Естественно чисто русский стеммер здесь совершенно не подходит. Но можно использовать настраиваемый стеммер, который использует грамматические фильтры русского языка (что касается синтаксиса) и новый словарь (изначально пустой).
      • Все действия перемешиваются скриптом (workflow), пропуская на промежуточных этапах через другие фильтры, например UniqueFilter.
      • По окончанию запускается diff, чтобы на каждой итерации концентрироваться только на изменениях в словах или видеть новые корни и т.д.

    2. Ручной анализ.
      • На каждой итерации смотрим на изменения в словах (результат diff) и несколько вариантов «перевода» текста (тоже diff), ищем в изменениях какие-либо зацепки, известные или похожие нам слова.
      • Правим словари фильтров, отдельные правила, редко сам workflow.
      • Повторяем итерацию — заново запускаем flow.

    UPD(2)
    Т.к. появились вопросы, чего не хватает, чтобы расшифровать автоматически, иначе говоря «зачем включать голову» (я утрирую) и почему в моем понимании человек и компьютер должны тут работать в паре. Отвечу здесь коротко: представим только одну ситуацию имеющуюся во многих языках — чтение и написание часто не соответствуют, при побуквенном их произношении. К примеру возьму опять немецкий: слог EU в немецком произносится как ОЙ, соответственно слова EURO и Europa немцы произносят как "Ойро" и "Ойропа". А теперь представим, как написал бы немец русское слово "мой" — я вам гарантирую что это было бы "meu" а не "moi" (хотя бы потому, что в немецком слово новый — "neu", произносится как "ной"). И это только одна ситуация, которая имеет место — тут хоть Ватсон берите, все равно без головы никуда!

    Человек, разгадавший эту загадку и переведший текст полностью, вплоть до совпадения хеша, прислал мне ответ по е-майлу. Позже он описал способ, которым он это сделал, который в корне отличается от того, как к разгадыванию и переводу подошел я.
    К сожалению, по многим причинам (время в том числе) он пока не горит желанием присоединится к хабрасообществу (и инвайты у меня пока все вышли, прислал бы назло:). Но если вдруг получится совместно или может он разрешит опубликовать решение от его имени, я сделаю это с большим удовольствием. Его решение, вернее концепция оного, несмотря на то, что тонкости к сожалению я не понял, т.к. полностью не видел, все равно очень и очень впечатляет.
    По непонятным для меня причинам, этот скромник не хотел, чтобы я упоминал его имя в статье, да и в то, кто он в действительности и откуда, я к сожалению тоже не был посвящен. Стиль общения позволяет предположить, что человек этот еще очень молод. Хотя… В общем, тут пока сплошные тайны мадридского двора. Однозначно только могу сказать, что он — «русский» (по нынешним временам правильнее — русскоговорящий:).

    Еще раз благодарю всех участвовавших.

    Средняя зарплата в IT

    110 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 8 355 анкет, за 2-ое пол. 2020 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

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

      0
      Позвольте, а какой смысл у зашифрованной фразы? И я бы постеснялся называть это «фразой на русском языке». Восстановление лексической структуры и семантики текста – две разные вещи хотя бы потому, что у зашифрованного текста она уже есть.
        +2
        Позвольте, а какой смысл у зашифрованной фразы?
        Чтобы ответить на ваш вопрос, вы его должны сначала развернуть...
        И я бы постеснялся называть это «фразой на русском языке».
        Вы собственно выражение «Глокая куздра» знаете? (Прикрываясь широкой спиной академика Щербы) если уж он не постеснялся назвать это «русском языком», то и мне как бы не грешно…
        Попробую на память воссоздать кусок его лекции (из упомянутой книги), в бытность его еще профессором:
        Проф. Вы можете мне объяснить что эта фраза означает?
        Студ. Тут какая-то херь, извините — Ничего никому не понятно!
        Проф. То есть как: «никому не понятно»? И почему, извольте? Да и неверно, что вы не понимаете! Вы все отлично понимаете, ну или — почти все!

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

        Ну а в свою защиту хочу добавить, что язык ведь мог гораздо сильнее измениться, ну или звери типа Куздры или Бокра водились еще в тех лесах…
          0
          Кстати, еще один момент, почему я настоятельно рекомендую почитать «Слово о словах»: для меня эта книга как бы открыла второе дыхание в изучении иностранных языков. Т.е. после прочтения, появилось как бы понимание, что все что я делал до того, изучая иностранный язык, я делал либо глубоко не верно или возможно на половину. В общем осмысление или какое-то просветление пришло однозначно.
          Сравнимо с использованием некоторых конструкций в компьютерных языках — вот не знал (не понимал) человек лямбды или монады или еще чего, а тут вдруг дошло — и он на одном дыхании (и адреналине) упростил донельзя огромный кусок кода, используя эту новую для себя конструкцию.

          А на хабре кстати про «глокую» (и про книгу) тоже мелькало, вот тут или тут.
            +2
            Вы собственно выражение «Глокая куздра» знаете?

            Это притча во языцех, обижаете. А вот академик Щерба недоглядел такие случаи интерпретации бодливой коровы, как:

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

            Ну а в свою защиту хочу добавить, что язык ведь мог гораздо сильнее измениться, ну или звери типа Куздры или Бокра водились еще в тех лесах…


            Простите, но это не ответ на мой вопрос. Я спрашивал про смысл фразы, вы ответили в духе «чувак, это известная фишка, как ты до сих пор не в теме?».

            За рекомендации спасибо.
              0
              Я спрашивал про смысл фразы, вы ответили в духе «чувак, это известная фишка, как ты до сих пор не в теме?».
              Где это? Ткните носом, пожалуйста… Я вас попросил уточнить вопрос: что конкретно здесь вы подразумеваете под словом «смысл», ну или если хотите, где конкретно «смысловая нагрузка» «мертвого» языка, при «переводе» вам мешает.
              И «Вы собственно выражение «Глокая куздра» знаете?» — это было как раз уточнение, потому что теперь зная, что вы знаете эту «притчу во языцех» я еще в меньшей степени понимаю ваш вопрос, на который вы так настойчиво требуете ответа, и опять же почему тогда вы «стесняетесь называть это русским языком».

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

              Другими словами, чтобы история не повторялась, и эта первая ветка комментариев не стала такой-же «конструктивной», как в предыдущей статье, уточните пожалуйста свой вопрос — Что конкретно вы имели ввиду (хотя я и ненавижу отвечать как бы вопросом на вопрос — просто раз уж мой ответ вас не удовлетворяет, и вы бросаетесь обвинениями — извольте уточнить).
                +2
                что конкретно здесь вы подразумеваете под словом «смысл»

                Семантику, то есть, значения, соответствующие этим загадочным словам.

                Если хотите: ну не переводятся некоторые вещи с «мертвого» языка на русский.

                Если куздры вымерли, то я хочу знать, что куздра (или трицератопс, для меня это настолько же бессмысленное слово, если я не осведомлен об успехах палеонтологии) – это вымершее 65 миллионов лет назад животное размером около 7 метров, похожее на современного нам с вами носорога.
                Приблизительно как у классика:
                — Что же, хватит для начала! — остановил ее Шалтай. — Здесь трудных
                слов достаточно! Значит, так: "варкалось" — это четыре часа пополудни,
                когда пора уже варить обед.
                — Понятно, — сказала Алиса, — а "хливкие"?
                — "Хливкие" — это хлипкие и ловкие. «Хлипкие» значит то же, что и
                «хилые». Понимаешь, это слово как бумажник. Раскроешь, а там два
                отделения! Так и тут — это слово раскладывается на два!
                — Да, теперь мне ясно, — заметила задумчиво Алиса. — А "шорьки" кто
                такие?
                — Это помесь хорька, ящерицы и штопора!
                — Забавный, должно быть, у них вид!
                — Да, с ними не соскучишься! — согласился Шалтай. — А гнезда они вьют в
                тени солнечных часов. А едят они сыр.
                — А что такое "пырялись"?
                — Прыгали, ныряли, вертелись!

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

                  Во вторых, как это «бессмысленную»?! Куздра какая? «глокая» ну или в другой транскрипции, что делая? «глокая» (типа охая — ахая). И это однозначно она. Что-то делает, что? Совершенно бессовестно «будлает» и «курдячит» семью «бокров», а «бокрят» при этом еще и «штеко» и т.д. и т.п.
                  Кстати то, чем я добивал текст, тоже цитаты, т.е. не мое — где-то спер (извиняюсь) с энтернетов.

                  Если куздры вымерли, то я хочу знать ...
                  Похвальное желание. :)
                  Вот тут мы подошли к самому главному, зачем я это все делал — с одной стороны показать, что с моей точки зрения попытки перевода с мертвых языков чреваты как раз такими проблемами — что-то переводится, и вроде даже по русски, но «ничерта» не понятно, ну если вдруг и понятно, то не все.
                  С другой стороны, сложность перевода, даже огромных кусков текста (что на самом деле редкость), пусть даже об одном и том же, невероятно высока — ну объяснят вам там про «куздру» что оно «трицератопс», но вот то, что она «будлает» это жеж всем понятно (было N веков назад). Ну а про «штеко», так это вообще все детсадовские знают.
                  В общем, я себе совершенно четко представляю, почему рукопись того же Войнича до сих пор не разгадана.

                  Попробуйте на досуге объяснить на языке, который вы знаете на три (допустим немцу), что такое «красное», не употребляя слово «цвет» и других известных вам обоим предметов, типа фруктов, овощей, мебели и др. Можно — но долго. А теперь, представьте, что это будут делать в манускрипте, люди которые знали это слово уже в три года, и которые понятия не имеют, что манускрипт попадет в руки людей, которые ну совершенно не представляют даже что это про цвет. А не знакомых слов-то ой как много…

                  В общем, я вас услышал и понял (беру свои слова про неконструктив обратно). Но согласитесь, я по своему тоже прав?
                    +2
                    Вспомнилось «как объяснить инопланетянину по радио где право, а где лево».
                      –1
                      как объяснять картины мёртвому зайцу
          0
          Не могли бы вы раскрыть карты до конца, и пояснить сценарий обратного перевода более подробно чем «сначала скриптом, потом вручную»?
            0
            Мог бы, и с удовольствием сделал бы это, не будь там, нехорошей пропретарной составляющей (Verity VDK) даже исходники бы выложил. Хотя вы правы, скудненько как-то получилось…
            Постараюсь исправить (время будь оно неладно)…
              0
              Ну хотябы в общих чертах, что именно делал это Verify VDK, кроме магии?
                0
                на нем можно все что хошь делать, от анализа текста, до полнотекстового индексирования — опенсорсный «аналог» был бы Apache Lucene (api под Solr), если бы оно все то умело. В общем, думаю, в кратце не выйдет, попробую завтра, развернуто — сегодня башка отказала :)
                  0
                  «всё что хочешь», это и есть «всякая магия»

                  И это никак не объясняет, зачем вам нужна была ещё и голова.
                  И чего именно из «всего что хочешь» не хватает для расшифровки текста сразу.
                    0
                    Добавил обновление UPD(1) в статью, надеюсь стало понятней.
                      –2
                      ваше мышление вызывает у меня когнитивный диссонанс.

                      с одной стороны — вы, вроде бы, можете справииться с весьма нетривиальной задачей.
                      с другой стороны — не можете нихрена объяснить, кроме как «нажиманием кнопок»
                        +1
                        Ну да, видимо, разжевать и в рот положить осталось. Можно хотя бы узнать, кто вы есть (профессия), чтобы уровень разжевывания уточнить…
            0
            Подскажите дилетанту: Как я понимаю наличие орфографических, стилистических и прочих ошибок, а так же исковерканных слов (типа приффед кросавчег) сильно усложняют расшифровку как подобных «мёртвых» языков, так и просто зашифрованных текстов?
              +1
              Не думаю что это действительно большая проблема, пока текст не состоит чуть не полностью из такого «слэнга». Вот тогда действительно начинается «адъ».

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

            Самое читаемое