Поэтично о переводе

    Mary had a little lamb,
    Its fleece was white as snow;
    And everywhere that Mary went,
    The lamb was sure to go.

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

    Но одно не под силу этим системам — до сих пор они не применялись для художественной литературы.

    А зря.
    У Мэри был маленький барашек,
    Его шерсть была белой как снег.
    Куда бы Мэри ни пошла,
    Барашек шёл за ней.
    Подстрочный перевод

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

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

    Рабочее название проекта — «Тогаталту».

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

    Язык разработки — Ruby.

    Репозитарий на GitHub.
    У нашей Мэри был баран,
    Собаки он верней.
    В грозу, и в бурю, и в туман
    Баран бредет за ней.
    С.Я.Маршак
    Поделиться публикацией
    Похожие публикации
    Ммм, длинные выходные!
    Самое время просмотреть заказы на Фрилансим.
    Мне повезёт!
    Реклама
    Комментарии 63
    • +1
      В Гугле, кстати, занимались вопросом перевода стихотворений.
      • 0
        Я в курсе. Но у них во-первых, перевод на английский, а во-вторых, там написано что он слишком долго работает, чтобы показывать это широкой публике.
      • НЛО прилетело и опубликовало эту надпись здесь
        • +2
          Дело скорее не в рифме. А в ритмической составляющей стиха. Ее важно сохранить.
          А смысл приходится менять для любого перевода. Языки не эквивалентны.
        • 0
          Я представляю прототип системы машинного перевода стихотворений.
          На мой взгляд, подобный продукт был бы полезен при переводе банальных, скучных для человека текстов
          Это вы про стихотворения? Или вашу систему можно применить где-то еще?
          • 0
            Стихотворения. Где-то ещё есть Yandex/Google/… Translate.
          • +4
            Oreolek, а покажите, пожалуйста, вариант программы для «У Мэри был барашек».
            И ещё для чего-нибудь, что действительно удачно получается.
            • +2
              Одна из старых версий с довольно глючным словарём выдавала: (рунами < — руно = шерсть)

              МЭРИ ОНИ МАЛЕНЬКОЕ [23]
              НАИМЕНЬШЕГО [23] НАИМЕНЬШЕГО [23]
              МЭРИ ИХ МАЛОМ [23]
              КОТОРЫХ РУНАМИ ДАТУ БЕЛЫМ КАК снежн-

              ВЕЗДЕ Помни, МЭРИ ПРЯМЕЙШЕЕ
              МЭРИ ПРЯМУЮ МЭРИ ПОПРЯМЕЙ
              ВЕЗДЕ Помни, МЭРИ ПРЯМЕЙШУЮ
              ВКЛАДКАМ БАРАНИНЫ ДАТОЮ УБЕДИВШЕЮСЯ OK

              Так как по возможности программа лезет на memory.translated.net за словарями, результаты меняются спустя какое-то время (онлайн-сервис совершенствует перевод). Программа пытается подставить то, что получила из словаря, в ритм оригинала.
              • 0
                Строки повторяющиеся — это варианты перевода одной строки?
                А рифмы программа старается подобрать, или нет?

                Вообще-то, стремновато выходит, не особо вроде наблюдается и соответствие размера?
                • +1
                  Программа склоняет все слова через phpmorphy (отсюда «убедившеюся», например) и подставляет в вычисленный ритм так, чтобы максимально ему соответствовать. Рифмы подбирать старается, но рифмы вычисляются одним из быстрых, а не лучших способов. Небольшую долю сумасбродства вносит и автоопределение ударений. Из подходящих по ритму и рифме вариантов склонения выбирается первый попавшийся. То, что строки повторяются, программа не отслеживает.
                • +3
                  Какой-то генератор текста для упячки получается :)
            • 0
              Есть вещи, которые машине еще долго не под силу, и хорошо :)
              • +1
                Три, самолож выверстный, вертяшку сум воздлинем,
                Секливой апелайде и боровайка кнется,
                Гренит малополешный тем перезлавским тринем,
                И отмурчится бамба, и голою вернется.

                Как-то так :)
                • +1
                  Вот за эти стихотворения и за перевод Кэролла хочется переводчикам поставить памятник
                  • 0
                    Я в гораздо большем восторге от украинского перевода «Кибериады». Как сейчас помню:

                    Темінь і пустка, похмура скорбота.
                    Слід ледь помітний чи то нереальний…
                    Вітер шалений і погляд криштальний.
                    І кроки, неначе вертається рота.

                    • 0
                      Ну, русский вариант тоже совсем ничо :)

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

                      Долгое время тоже помнил :)

                      Но вот из всего того произведения сейчас в памяти только «Грозный Генька-генератор грубо грыз горох горстями» и «голая брамба» из цитаты выше :)
                      • +1
                        Украинский вариант: «Гнівний Генек-генератор губи гриз, гримаса грізна» :)
                        • 0
                          :)))

                          Выпал в осадок, честно :)
                        • +1
                          Ну и на «К»:

                          «Кипріян-кіберотоман королівську кралю
                          Коло клумби колисав, конваліями квітував…»
                • +1
                  «Баран бредет за ней» — это перебор :)
                  • +2
                    Это классика :-)
                    • +1
                      Да я знаю.
                      Но слишком уж брутально.
                      • +1
                        Перебор? Tак вот ты какая, классика брутфорса!
                        • +1
                          Да ладно вам! Брутально — это то, что получалось у Агнии Барто.
                          • 0
                            У Агнии Барто получалось бартально.
                        • +1
                          Классика ещё не означает, что хорошо.

                          Люди имеют свойство ошибаться и слепо следовать авторитетам.
                          • +1
                            Я просто привёл пример, как может переводить поэт. Поэтам свойственна некоторая доля… отсебятины, её ещё иногда называют талантом.
                            • –2
                              Он может переводить плохо и называется это халтурой, будем откровенны.
                              • +3
                                [sarcasm]Да, Маршак был знатным халтурщиком[/sarcasm]
                                • +1
                                  моё любимое про малюток пивоваров

                                  Из вереска напиток
                                  Забыт давным-давно,
                                  А был он слаще меда,
                                  Пьянее, чем вино.

                                  В котлах его варили
                                  И пили всей семьей
                                  Малютки-медовары
                                  В пещерах под землей.

                                  From the bonny bells of heather
                                  They brewed a drink long-syne,
                                  Was sweeter far then honey,
                                  Was stronger far than wine.
                                  They brewed it and they drank it,
                                  And lay in a blessed swound
                                  For days and days together
                                  In their dwellings underground.

                                  Халтура видна, даже если не знать оригинала.
                                  Малютки пикты, ага, всей семьёй квасили.

                                  А так да, Маршак не может ошибаться!
                                  • +2
                                    Как раз если не понимать, что написано в оригинале, и будет мерещиться халтура :-)

                                    Прекрасный перевод с допустимыми отступлениями.
                                    • 0
                                      Если не понимать, то фамилия Маршака — знак качества.
                                      А если понимать, то отсебятина и искажение смысла.

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

                                        И таки ж да, фамилия Маршака — знак качества :-)
                                        • 0
                                          Почитайте на досуге «Аня в стране чудес» Набокова, «Буратино» Толстого и «Волшебник Изумрудного Города» Волкова. Точных на 100% переводов художественных текстов — единицы.
                                          • 0
                                            Вы, наверно, ошиблись оппонентом :-)
                                            Я-то как раз все это понимаю и о том же толкую.
                                            • 0
                                              Не люблю ветки плодить. :-)
                                            • +4
                                              Они не позиционируются как переводы, это сразу самостоятельные произведения.
                                              Вопрос авторского права не будем обсуждать.
                                            • +2
                                              Балу и Багир в известном произведении оба мужики.
                                              Если смена пола для вас — это художественный приём, пошутите художественно над людьми вдвое тяжелее вас.
                                              • +3
                                                Под понятие художественного приема попадает не только легкий отход от прямого перевода, но также локализация, подгон под реалии времени унд прочие вещи. Чем руководствовались в данном случае авторы перевода, лично я НЕ знаю — спросите у них. Но вполне возможно, что это было оправдано.

                                                Вы — потребитель, вам элементарно неизвестны и не понятны мотивы людей, занимающихся переводами профессионально. Ну а раз так, то потребляйте молча, без публичной демонстрации дилетантства и нелепых примеров, природа которых вам не ясна.
                                                • +1
                                                  Это ничем не оправдано, это невежество и/или халтура. В том числе лично ваше невежество.

                                                  Профессионалы и Дом-2 снимают.
                                                  • 0
                                                    Угу, вам, как потребителю, это, конечно же, виднее все.

                                                    Кстати, Дом-2 снимают действительно профессионалы :-) То, что он вам лично не нравится — дело десятое. Для каждой аудитории есть свой продукт, и он может быть выполнен одинаково профессионально.
                                                    • 0
                                                      Это ни невежество ни халтура.
                                                  • +3
                                                    Так же, как и «Кот, который гулял сам по себе» того же Киплинга. Перевод делается не только на уровне слов и синтаксических конструкций, но и на уровне культурных смыслов. С кошкой, которая гуляла сама по себе, и женственной Багирой русской культуре очень повезло.

                                                    А вместо какого-нибудь из русских пересказов приключений Нильса с гусями обязательно купите своему ребёнку оригинальный толстенный учебник географии Швеции от Сельмы Лагерлёф.

                                                    Бывают академические переводы. К ним ваши претензии были бы оправданны.
                              • 0
                                Написанно на руби, в зависимостях пхп — адок. Может пока phpmorphy попробовать на руби переписать? А то как-то совсем некрасиво получается.
                              • +1
                                В словарях с aot.ru (на которых основаны phpmorphy, pymorphy, lemmatizer, myaso и, наверное, еще много кто неизвестный) есть информация об ударениях (accents). Так что, по идее, должно быть можно для получения ударений тот же phpmorphy использовать. Хотя конкретно не смотрел. У меня в pymorphy эта информация не обрабатывается (не видел необходимости), думаю, добавлю.
                                • 0
                                  А как таки у вас определяется метр?
                                  • 0
                                    Ударения должны быть заранее проставлены в тексте, потому что поэты любят их переставлять и\или изобретать новые слова. Далее просто идёт подсчёт по гласным. Одна гласная — один слог.
                                  • 0
                                    А на питоновский natural language toolkit не смотрели? Или он русский плохо держит?
                                    • 0
                                      Нет, не смотрел. Я питона не знаю, к тому же.
                                    • +3
                                      Могу высказаться, как переводчик, если вы не против.

                                      В теории, я думаю, создать можно ЛЮБОЙ алгоритм, даже для хорошего перевода стихов, но будет это не скоро еще. В английском (да и в любом другом языке) существует куча идиом. Любое предложение можно перевести кучей вариантов. Вот, к примеру, сходу 2 разных от меня лично (рифму не соблюдал):

                                      Ягненок был у Мэри
                                      С шерстью белоснежной.
                                      Куда б ни шла она,
                                      Он шел за ней послушно.

                                      * * *

                                      У Мэри барашек был
                                      С шерстью белее снега.
                                      Всюду, куда ходила Мэри,
                                      Бродил за ней баран.

                                      Тут проблема не в том, чтобы подобрать нужные слова, а в том, чтобы изложить КРАСИВО. То есть вам нужен, по сути, алгоритм красоты слога :-)

                                      • 0
                                        Остается только создать теорию и придумать алгоритм. Обратите внимание, как переводили Бармаглота. Учитывался только фонетический ряд. Возможно, в этом случае, нужно действовать аналогично + иметь словарь поэтических слов\фраз (с весами[?]), из которого подставлять выбранное.
                                        • +1
                                          Ну да, это самый простой вариант. Однако часто же перевод отходит от основного смысла — вон, тот же барашек у Маршака верней собаки, а не белее снега. Как это объяснить машине? :-)
                                          • 0
                                            >Как это объяснить машине

                                            Наиболее\наименее частотные фразеологизмы со словом <<барашек>>, но придется ограничить набор текстов для обучения например всем набором переводов Маршака без этого стихотворения.
                                            Авторы часто повторяются в своих выражениях, это тоже можно как-то использовать.
                                            • 0
                                              Вот скорее тогда тут разумно тупо забить в базу 234623642734729374902349082903482903849023 различных вариантов стихоплетства и заставить машину проанализировать все это :-)
                                      • 0
                                        Мне кажется, краеугольным камнем в такой задаче был и остаётся перевод. Ведь имея шаблон метра и построчные предложения, можно:
                                        1) заставить программу соединять строфу в одну строку, находя несколько оптимальных расположений длинных конструкций, которые можно при обратном разбиении одной строчки на полноценную строфу переместить на строчку выше-ниже;
                                        2) анализировать количество суфиксов, междометий и остальную стилистику, для лайкового подбора соответствующих синонимов;
                                        3) проводить анализ получившейся строфы на тавтологию и на злоупотребление повторов «Мэри то, Мэри это, и Мэри ещё ..., а Мэри затем...» ища уже не синонимы, а аналогичные конструкции иначе;
                                        4) догонять ритм союзами/предлогами/сколнениями.
                                        Но при этом всём обилии теоретических возможностей — нет ещё подходящего словаря между языками, который не будет коверкать смысл хотя бы одного слова из строфы — и тогда вся работа коту под хвост. Трудности перевода, другими словами. Не решив эту проблему, мы никогда не сможем получить из фразы «косил траву косой косой косой косой» на выходе «the cross-eyed rabbit shaved grass by crooked scythe».
                                        Как вариант заставить пользователя переводить самому (т.е. в одном окне оригинал для определения метра, а в другом построчный перевод), а когда будет изобретён нормальный алгоритм перевода с учётом всех эвфемизмов, фразеологизмов, сленга — тогда уж может быть…
                                        • 0
                                          > нет ещё подходящего словаря между языками, который не будет коверкать смысл хотя бы одного слова из строфы
                                          и не будет никогда.

                                          На самом деле тут даже непонятно какие методы более всего подойдут. С одной стороны хорошо себя проявил статистический перевод, но фразы поэтов не самые частые фразы языка. Вся поэтичность будет потеряна. (Конечно, можно натаскивать статистическую машину на стихи, но это долго, дорого, и не известно будет ли результат вообще). С другой стороны, перевод основанный на правилах сломает перефразы, и будет выдавать откровенные глупости на все неграматичные формулировки.
                                          • +2
                                            В стихах намного меньше фразеологизмов и больше эпитетов. Потому что втиснуть устоявшуюся фразу в чёткий ритм сложно.
                                            Догонять ритм союзами/предлогами? Для этого их надо правильно ставить и не перебарщивать. Сознательно вставлять мусор можно, но надо поставить много ограничений, потому что недоборы в строках встречаются часто.
                                            Я не думаю, что статистический перевод можно натаскать на стихи. Посмотрите на перевод Маршака — он действительно соответствует оригиналу? Верной ли будет гипотеза о том, что «a little lamb» означает «баран»? Знаменитое лермонтовское «На севере диком стоит одиноко...» — это признанный шедевр, но не точный перевод Гёте.
                                            В стихах много лексики, свойственной только поэтам. Сокращения слов, устаревшие слова… Любой подход будет спорным.
                                            У меня при рифмовке сейчас (в текущей версии программы) слова переставляются, если их не удаётся втиснуть в ритм. Ритму это помогает, а вот из-за того, что ограничений на перестановки нет, слова могут прыгать на несколько строк и смысл теряется напрочь. (Чем больше стихотворение, тем это заметнее)
                                            • +2
                                              Я не думаю, что статистический перевод можно натаскать на стихи. Посмотрите на перевод Маршака — он действительно соответствует оригиналу? Верной ли будет гипотеза о том, что «a little lamb» означает «баран»?

                                              Ну да, я об этом же выше и написал, что очень сложно научить программу отступать от текста. «Little lamb» таки ж вполне себе барашек, а вот «white as snow» — точно не «вернее собаки» :-)
                                              • 0
                                                В хорошо натасканной статистической машине это может прокатить. Но только теоретически. Машина должна быть по-мощнее чем у Google, считывать слова не пятерками (и применять к ним уж тем более не модель перевода IBM #3, а например IBM #5 или что-то более новое). Но практически, это будет возможно очень нескоро. Я кстати, благодаря Вам, господа, начал понимать, почему гугловский сервис перевода стихов тормозит. Он и должен тормозить.
                                              • 0
                                                А если обучать машину только на стихах?
                                                Про рифмовку — всего скорее понадобиться несколько проходов простой статистической машины.
                                                Возможно, что для каждого прохода понадобится разные машины, обученные на разных подмножествах текстов.
                                                Ритм можно компенсировать через эквивалентные трансформации. Это и пытается использовать Маршак. А устоявшиеся фразы можно несколько исковеркать (в некоторых пределах). Фраза не будет соответствовать штампу, но будет узнаваема. Частый прием Козьмы Пруткова. Вот для таких вещей и потребуется второй (и более) проход машины. Для построения всего, что будет после первого прохода может потребоваться пара сотен хороших филологов и очень много времени.

                                                > слова переставляются
                                                По-хорошему надо выделять контекст употребления, и переставлять только в его рамках. Но как его выделять автоматически — я даже не представляю.
                                            • 0
                                              Ну, вариантов типа «косил косой косой косой косой» не так уж и много, и их можно поставить, что называется, под вопрос. Скажем, если встречается подряд два совершенно одинаковых слова не через дефис — спрашивать пользователя, что делать, и запоминать.

                                              А конкретно dfi вариант можно разобрать даже машиной, например, вот по такому алгоритму:

                                              1. Если встречаются однокоренные слова в связке глагол + существительное типа «косил косой», независимо от количества слова «косой» в предложении, переводим отдельно каждое слово в соответствии со словарем. Убираем слово «косой» из списка.

                                              2. Для оставшихся слов «косой» подбираем возможные переводы: косой (заяц), косой (человек), косой (прилагательное).

                                              3. Делим количество слов «косой» на 2, чтобы получить частоту употребления прилагательного. В нашем случае получаем 2. Убираем еще 2 слова «косой» из списка.

                                              4. На выходе (без прилагательных) получаем «косил траву косой косой» (косил траву косой заяц/человек ).

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

                                              7. Заменяем прилагательное «косой» соответствующим вариантом в зависимости от (не)одушевленности предмета.

                                              8. Получаем прямой перевод «shaved grass the cross-eyed rabbit/man with the crooked scythe», в котором меняем местами объект и действие в соответствии с правилами языка: the cross-eyed rabbit/man shaved grass with the crooked scythe.

                                              Вроде, вполне логично все :-)

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