Вадим Смоленский

Искажения в машинном переводе

Откуда они берутся и как с ними бороться



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



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

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

Пример: слово 皮膚科 (чтение: «хифука», значение: «дерматология»). Запись тремя иероглифами является нормативной – именно ее вы встретите в словаре. Но, поскольку второй иероглиф труден в написании и относительно малоупотребим, он довольно часто заменяется хираганой (皮ふ科) или катаканой (皮フ科). Не диво встретить и запись, когда заменены оба первых иероглифа, составляющие слово «хифу» («кожа»): ひふ科 или ヒフ科. Наконец, возможна слоговая запись всего слова целиком: ひふか или ヒフカ. Хороший машинный переводчик должен быть готов ко всем этим поворотам и опознать данное слово в любом виде и в любом окружении.

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

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

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

Характерно, что те из японских слов, которые все-таки отличаются многозначностью, часто оказываются заимствованными. А бедность японской фонетики ведет еще и к омонимии таких слов. Так, слово チップ, происходя от английского chip, может переводиться как «микросхема», «фишка» или «ломтик» (неплохим «средним семантическим» здесь мог бы служить эквивалент «чип»). А такое же слово, происходящее от английского tip, означает уже «чаевые» либо «щеточку для нанесения теней». Хорошо, что подобных слов относительно немного.

Отдельной проблемой стоит признать сильную омофонию японской лексики - то есть, одинаковое чтение слов при их различном иероглифическом написании. Так, слова, в иероглифической записи передающиеся как 紙, 髪 и 神, означая соответственно «бумага», «волосы» и «божество», в хираганной записи выглядят одинаково: かみ («ками»). Многие омофонические группы содержат до десятка и более слов. Эта проблема очень похожа на проблему многозначности – но все-таки возникает лишь тогда, когда вместо иероглифов используется слоговая азбука.

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

Таким образом, автоматический перевод с японского является очень трудной задачей на этапе анализа исходной фразы и относительно легкой (насколько это вообще возможно в МП) на этапе синтеза выходного текста. И то, и другое способно отражаться на качестве перевода. Если все лексемы в японской фразе распознаны, их русские эквиваленты найдены в словарной базе, а сама фраза не слишком синтаксически усложнена, то результат чаще всего получается приемлемым, а иногда и очень хорошим. Но если не распознано или неверно распознано хотя бы одно слово (что, увы, случается часто по описанным выше причинам), искажения смысла могут быть фатальными – от появления в русской фразе невообразимо нелепых слов до полного слома синтаксиса.

Анализируя результаты машинного перевода с английского, хорошо знающий этот язык человек поймет природу очень многих искажений. Например, увидев выражение «стричь гвозди», он сразу догадается, что дело здесь в многозначности английского слова nail и на самом деле имеется в виду постригание ногтей. Искажения же на выходе ЯРПа этим свойством не обладают – даже автору программы обычно не хватает беглого взгляда на перевод, чтобы понять их причину.


Выделим несколько типовых схем, по которым происходят искажения.

1. Отсутствие слова в словарной базе. Имеются в виду, прежде всего, знаменательные слова, нормативно записываемые несколькими иероглифами. При необнаружении такого слова программа пытается по возможности разбить его на составляющие, в пределе – на отдельные иероглифы. Часто этот подход оправдывает себя: к примеру, слово 白犬 корректно переведется как «белая собака», хотя такого слова в базе и нет. Но в случаях, когда смысл слова плохо связан с его написанием, возможны накладки. Самый безобидный случай – честное признание программой своей беспомощности, когда слово дается в оригинальном японском виде, сопровождаемое базовыми значениями его иероглифов в квадратных скобках: 馬鹿 [лошадь+олень].

С искажениями этого типа можно бороться только дальнейшим наполнением базы данных.


2. Неверное членение блока иероглифов. Чаще всего вызывается иероглифическим префиксом или суффиксом, который способен в других контекстах образовывать знаменательные слова. Случаются также и ситуации, когда, к примеру, блок из пяти иероглифов можно разбить как 3+2, а можно и как 2+3. Алгоритмы анализа таких блоков можно долго совершенствовать – но это одна из областей, где встречаются нерешаемые задачи.


3. Неверное членение хираганы. Чаще всего это происходит, когда иероглифы знаменательного слова заменены на хирагану, примыкающую к другим хираганным блокам (служебным словам и т.п.). Случается, что хирагана по обеим сторонам такого стыка составляет некое осмысленное слово (обычно из двух-трех слогов), которое и ловится программой, несмотря на его контекстную неуместность.

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


4. Неверное членение катаканы. Заимствованные слова, пишущиеся катаканой, часто ставятся встык, без разделительной точки – тогда их границы становятся неочевидными. Программе позволено строить собственные догадки относительно этих границ. Иногда получается, что катакана членится не там, где должна. Бывает и так, что она вовсе не должна члениться, ибо составляет целое слово - но этого слова в базе данных нет, а есть только его половинки.

Здесь возможно паллиативное решение, предусмотренное в настройках ЯРПа – запрет программе членить катакану на фрагменты короче определенной длины. Тогда ее нераспознанные блоки будут реже превращаться в ахинею и чаще выводиться в виде латиницы, по которой иногда можно догадаться о значении. При этом, правда, в некоторых случаях в латиницу будет превращаться и то, что могло бы корректно перевестись.


5. Имена собственные. Как личные, так и географические имена в японском языке записываются иероглифами (кроме иностранных имен). Большинство этих иероглифов используется далеко не только в именах, что во многих случаях осложняет их трактовку. Так, например, иероглиф 森 , читающийся как «мори», означает «лес» - но этим же иероглифом записывается очень распространенная фамилия «Мори». Хорошо, если грамматическое окружение дает зацепку - например, послеименной суффикс «-сан» однозначно свидетельствует, что перед нами имя. Когда такой зацепки нет, человек по фамилии Мори при переводе превращается в лес. Стоит отметить, что проблема существует и в других языках – так, огромное число английских фамилий совпадает с нарицательными словами (Brown, Tailor, Bush и т.п.). Но в английском языке различению часто помогают строчные и заглавные буквы, которых в японском, увы, нет.

ЯРП предусматривает специальную настройку «Отдавать приоритет именам собственным». Когда она включена, любое слово рассматривается как потенциальное имя. Конечно, при этом возникает и обратный эффект: в имена могут превратиться отдельные слова, которые в данном контексте именами не являются. Эта настройка пригодна лишь для эпизодического, точечного применения.


6. Многозначность. Как отмечалось выше, японский язык подвержен этой беде гораздо менее европейских. Тем не менее, проблема дает о себе знать и в нашем случае. В частности, полисемантичны многие глаголы, особенно записываемые одиночными иероглифами. В большинстве случаев ЯРП предлагает для них оптимальный русский эквивалент, «среднее семантическое», способное наиболее удачно покрыть максимум их реального использования: 付ける – «прикреплять», 掛ける – «вешать» и т.д. В ряде случаев программа проводит несложный анализ контекста, позволяющий переводить メガネを掛ける как «надевать очки», а エンジンを掛ける как «заводить двигатель». Необозримое число похожих связанных значений еще ждет внимания разработчиков. Отдельная проблема – обусловленность значений тематикой текста. Так, слово フード (от английского hood) в автомобильном контексте принимает значение «капот», в фотографическом – «бленда», а помимо того может означать «капюшон» и «пища» (последнее – уже от food).

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


7. Превратно истолкованный синтаксис. Здесь можно выделить множество подсхем. Коснемся двух наиболее показательных.

а) Управление через показатель родительного падежа «но» нередко несет в себе грамматическую двусмысленность, особенно если соседствует с показателем совместного падежа «то». Например, словосочетание 教授と主婦の息子 можно перевести как «сын профессора и домохозяйки», а можно как «профессор и сын домохозяйки». В ряде случаев программа способна найти зацепки, свидетельствующие в пользу первого варианта, но чаще приходится по умолчанию выбирать второй.

б) Синтез сложных предложений способен портить упомянутый выше эллипсис. Рассмотрим, например, такую фразу: 時間が終わって、困りました。 Его корректный перевод: «Время закончилось, и [я] оказался в затруднении». При втором сказуемом подлежащего нет, оно подразумевается – но формальными методами этого подразумевания обнаружить нельзя, алгоритму здесь не за что зацепиться, поэтому он трактует оба сказуемых как однородные. На выходе имеем: «Время закончилось и затруднялось».

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


Существуют и другие причины искажений. Одни из них сводятся к недостаточно хорошей проработанности алгоритма, когда те или иные грамматические модели остаются неучтенными. Другие вызваны дефектами словарных данных (служащая основой ЯРПа база данных ЯРКСИ на сегодняшний момент содержит еще очень много неотредактированных статей; работа над ними идет ежедневно). Третьи – наиболее безобидные и легко фиксируемые – относятся к русскому словообразованию.

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


3 февраля 2009 г.