Кто из Гамлетов лучший?

Советский мастер художественного перевода Михаил Лозинский представил свою версию трагедии Уильяма Шекспира «Гамлет, принц датский» в 1933 году. Данная работа по праву считается канонической благодаря своей исключительной точности и приверженности букве оригинала. Впервые за долгие годы переводчику удалось не только сохранить сложную метрику шекспировского стиха, но и с предельной аккуратностью выдержать количество строк.

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

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

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

Мне стало любопытно подвергнуть эти тексты сравнительному анализу с помощью Python, чтобы математически верифицировать различия между версиями Лозинского и Пастернака на уровнях синтаксиса, семантики и ритмики.

Исходный текст трагедии я взял из «Библиотеки Гутенберга», перевод Лозинского — с портала Lib.ru, а работу Пастернака — с ресурса booksite.ru.

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

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

def count_syllables(word):
    word = word.lower().strip(string.punctuation + '«»""\'')
    if not word: return 0
    vowels="aeiouyаеёиоуыэюя"
    return max(1, sum(1 for c in word if c in vowels))

В данном случае был применен эвристический метод подсчета по гласным.

Результаты исследования:

Среднее количество слогов в строке: оригинал — 12,34; Лозинский — 14,82; Пастернак — 13,91.

Кто из Гамлетов лучший?
Распределение числа слогов

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

Далее я изучил частоту использования инверсий — изменений естественного порядка слов.

def detect_inversions(doc):
    inv = 0
    for token in doc:
            if token.dep_ in ('nsubj', 'nsubjpass') and token.i > token.head.i and token.head.pos_ == 'VERB':
            inv += 1
    return inv

Этот алгоритм позволяет количественно оценить стилистическую переработку синтаксиса.

Результаты: среднее число инверсий на строку составило 0,312 (оригинал), 0,471 (Лозинский) и 0,523 (Пастернак).

Среднее число инверсий на строку
Среднее число инверсий на строку

Анализ показывает, что Пастернак чаще прибегает к инверсии, что подчеркивает его более свободный, художественно ориентированный подход. Тем не менее, оба переводчика демонстрируют высокую близость к синтаксическому строю оригинала, что подтверждает репутацию Лозинского как более точного интерпретатора.

Распределение инверсий
Распределение инверсий

Для анализа грамматических трансформаций (изменений рода, числа, падежа, наклонения) я использовал метод L1-расстояния между распределениями POS-тегов (частей речи).

def pos_l1_distance(dist1, dist2):
    all_tags = set(list(dist1.keys()) + list(dist2.keys()))
    return sum(abs(dist1.get(t, 0) - dist2.get(t, 0)) for t in all_tags)

Результаты: L1-расхождение для Лозинского составило 0,241, для Пастернака — 0,289, что подтверждает наличие более глубоких грамматических переработок у последнего.

Расхождение POS-тегов
Расхождение POS-тегов

Для оценки семантического сходства я воспользовался эмбеддингами модели paraphrase-multilingual-MiniLM-L12-v2 (SBERT), которая эффективно работает с сопоставлением смысловых эквивалентов в разных языках.

model_emb = SentenceTransformer('paraphrase-multilingual-MiniLM-L12-v2')
emb_en = model_emb.encode(en, convert_to_tensor=True)
emb_ru = model_emb.encode(ru, convert_to_tensor=True)
similarity = util.pytorch_cos_sim(emb_en, emb_ru).item()

Результаты: косинусное сходство — 0,730 у Лозинского и 0,718 у Пастернака.

Семантическая близость
Семантическая близость

Оба показателя свидетельствуют об умеренно высокой семантической близости, типичной для качественного литературного перевода. Тем не менее, работа Лозинского опережает версию Пастернака по семантической близости к оригиналу на 1,2%.

Наконец, анализ плотности пунктуации позволил выявить различия в интонационном строе текстов.

punct_set = string.punctuation + '«»""\'—–…'
    punct_count = sum(1 for char in text if char in punct_set)
    word_count = max(len(text.split()), 1)  
    return punct_count / word_count

Результаты: средняя плотность пунктуации — 0,4133 (оригинал), 0,2803 (Лозинский), 0,2782 (Пастернак).

Плотность пунктуации
Плотность пунктуации

Оригинальный текст Шекспира значительно насыщеннее знаками препинания, что характерно для английской драматургии XVI века. Переводчики адаптировали структуру текста к нормам русского литературного языка, однако сохранили общую ритмику оригинала. Данные свидетельствуют, что Лозинский более сдержан в использовании пунктуации, тогда как Пастернак активнее применяет ее для усиления драматических акцентов.

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

Плотность слогов в строках
Плотность слогов в строках
 

Источник

Читайте также