ПЕРВЫЙ ВЗГЛЯД
Несколько переинаЧенные слова из известной песни в исполнении Андрея Миронова попали в заголовок не случайно: "погоняв" предоставленную для тестирования компанией ПРОМТ (www.promt.ru) систему машинного перевода (СМП) PROMT 7.0 Translation Suite, я пришел к выводу, что разработчики практически все внимание уделили собственно процессу перевода, не особенно озаботившись удобством работы с программой (конечно, "ужасный" - в данном случае явное преувеличение, но... из песни слов не выкинешь). Однако обо всем по порядку.
Попытки привлечь вычислительную технику к переводу текстов с одних языков на другие предпринимались чуть ли не с самого появления этой самой техники, однако очень долго дело не шло дальше не слишком удачных экспериментов. И проблема здесь заключалась не в недостаточной мощности компьютеров, а в том, что сама задача автоматического перевода не была принципиально решена (в отличие, например, от игры в шахматы, где имеется технически не реализуемое, но совершенно работоспособное решение: полный перебор вариантов ходов). Если с такой позиции всмотреться в сегодняшний день, то ничего не изменилось: решения проблемы перевода не существует, и я даже дерзну предположить, что она неразрешима в принципе (в полноценный "искусственный интеллект", способность компьютера думать подобно человеку, лично я не верю). Но на самом деле прогресс в этой области просто громаден.
Попытки использовать СМП во второй половине 1990-х годов быстро убедили меня, что человеку, неплохо владеющему иностранным языком в своей предметной области, это не особенно и нужно, и с тех пор я пользовался лишь электронным словарем. Поэтому предложение протестировать PROMT вызвало у меня определенную долю скептицизма, однако любопытство победило, и я принялся за работу, воспользовавшись для этой цели своим домашним ПК (Intel Xeon 2,66 ГГц, 512 Мб ОЗУ, жесткий диск на 160 Гб, работающий в режиме UDMA/133, ОС Windows 2000 SP 4).
Окно вариантов перевода сегмента (внизу) было бы очень полезным, если б было как и из чего выбирать
СМП создаются в первую очередь для быстрого перевода типичных документов в определенных предметных областях. Характерными чертами подобных текстов является сравнительно простая грамматика и одновременно применение специфической лексики. Чтобы проверить способности PROMT’а в этой области, я воспользовался отрывком из руководства фирмы Intel по архитектуре ее процессоров семейства 80x86. Этот отрывок (6996 слов, 43 891 знак с учетом пробелов, как любезно сообщил MS Word) был загружен в PROMT и за пять-шесть секунд разбит на 476 сегментов; процесс перевода длился втрое дольше. Специализированный словарь по информатике я не подключал, правила сегментации не менял. Полученный перевод меня приятно удивил: конечно, довольно значительная часть слов была переведена неправильно (без специализированного словаря), однако с грамматикой СМП справилась неплохо, во многих случаях правильно разобрав английские предложения и весьма корректно сформировав их русские эквиваленты.
Как и ожидалось, подключение словаря по информатике повысило качество перевода. Так, часто встречающееся словосочетание "Input/Output" было корректно переведено как "ввод-вывод", а не как "вход/продукция" без этого словаря; слово "offset" получило верное значение "смещение", а не "погашение" и т. п. Правда, перлов все равно хватало. Например, слово "default" упорно переводилось как "неплатеж", ну а сегментный регистр SS вообще был "разоблачен" переводчиком: оказалось, что это "секретная служба". Впрочем, создание пользовательского словаря и внесение туда правильных переводов для этих слов во многом решило подобные проблемы.
Заключив, что первую проверку PROMT прошел вполне успешно, я решил попробовать нечто нестандартное. Вспомнив попутно, что "гигантская" версия этой СМП знакома не только с английским языком, я "скормил" переводчику несколько оперных либретто на итальянском. Здесь непреодолимым препятствием для PROMT’а фактически оказались только весьма распространенные случаи "проглатывания" при пении отдельных звуков, что в тексте отмечалось заменой соответствующих букв апострофами. Но стоило вручную вернуть слову изначальный вид - и программа, как правило, выдавала вполне адекватный перевод: сама лексика классической оперы вполне общеупотребительна, а сложные грамматические конструкции встречаются редко.
Наконец, я решил оценить удобство работы с PROMT’ом при переводе художественного текста с большим количеством нестандартных слов и развитой грамматикой. Не мудрствуя лукаво, в качестве оригинала я воспользовался только что появившейся в Интернете шестой книгой о Гарри Поттере. Своеобразный "краш-тест" - попытка загрузить в переводчик оригинал целиком (Word отрапортовал, что в нем 982 492 знака, включая пробелы) - привел к ошибке: PROMT больше трех минут потратил на сегментацию, после чего в строке состояния появилась надпись "Готово", но документ так и не открылся. Впрочем, к серьезным отнести эту ошибку нельзя: вряд ли на практике кто-то будет пытаться переводить такие большие тексты целиком, а для комфортной работы в любом случае пришлось бы делить книгу на главы, что я в Word’е и сделал.
Перевод с помощью общего словаря дал весьма неоднородные результаты. Смысл обычных повествовательных предложений без специфических слов (коих в "Поттере", вообще говоря, немало) передавался, как правило, верно, хотя и требовался большой объем ручной корректировки, чтобы придать им удобочитаемый, а не просто понятный вид. При этом меня весьма позабавила реакция PROMT’а на фамилию "Black": политкорректная программа перевела ее как "афроамериканец", хотя, по идее, могла бы и распознать в этом слове фамилию, поскольку писалось оно с большой буквы (попутно замечу, что в ситуациях, когда "black" явно выполняло функции прилагательного, например в словосочетаниях вида "black eyes", PROMT давал совершенно правильный перевод: "черные глаза").
В процессе ручного редактирования сразу же всплыли некоторые неприятные особенности данной СМП. Во-первых, совершенно очевидно, что программа формирует переводы, используя только основное значение каждого слова, однако при доведении результата до удобочитаемого вида часто приходится подбирать более точные синонимы. Казалось бы, следует предоставить пользователю возможность выбрать наиболее подходящий вариант из словаря примерно тем же способом, что применяется в Word’е, но нет: во встроенном словаре оказывалось, как правило, всего одно значение. Например, для слова "flow" и как существительного, и как глагола было предложено по одному варианту ("поток" и "течь" соответственно), в большом же "бумажном" словаре для этого существительного указано 17 вариантов в девяти основных значениях, а для глагола - 24 в десяти значениях; примерно столько же значений дает и электронный словарь Lingvo. Поэтому перевод во всех случаях приходилось корректировать исключительно вручную.
Второе неудобство связано с изменением состояния сегментов, которые PROMT делит на автоматически переведенные, заимствованные из базы переводов, скорректированные вручную и завершенные. В последнее состояние сегмент переводится с помощью комбинации клавиш Shift+Enter. Так вот, если внести изменения в некий сегмент (при этом он автоматически поменяет свое состояние на "скорректированный вручную"), после чего сразу нажать эту комбинацию, сегмент перейдет в состояние "завершен", но... ручные изменения будут потеряны и его перевод вернется к последнему сохраненному состоянию. Куда логичнее было бы выполнять "откат" только по явному указанию пользователя, но операция "Отменить изменения", предусмотренная практически во всех программах, в том числе в Word’е, здесь отсутствует.
Третий недостаток - работа с закладками. Любому сегменту можно поставить в соответствие закладку с помощью комбинации Ctrl+F2, что бывает очень удобно: например, пользователь сомневается в переводе сегмента и оставляет пометку, что надо к нему вернуться позже. Однако если для сегмента, уже имеющего закладку, снова нажать Ctrl+F2, старая закладка будет просто удалена, а ее текст потерян. В такой ситуации логичнее было бы открывать существующую закладку на редактирование и удалять ее только в том случае, если пользователь удалит ее текст (а также предусмотреть специальную комбинацию клавиш для удаления закладки). Кстати говоря, ввод текста закладки производится одной строкой, что неудобно, если текст длинный; правда, такое случается редко.
Естественно, высококачественный перевод сколько-нибудь нестандартного текста невозможен без создания специализированного словаря, и тут выявилась еще одна группа неприятных особенностей. Начнем с того, что создание и редактирование словарных статей возможно в двух вариантах: для начинающего пользователя и для профессионала (тут речь идет не столько об умении пользоваться программой, сколько о познаниях в лингвистике: профессионалы могут редактировать более тонкие аспекты перевода, например определять управляющие конструкции вида "предлог + существительное" и т. п.). Естественно, я сразу же установил категорию "профессионал", но после выхода из PROMT’а и повторной его загрузки оказалось, что вновь установлена категория "начинающий". Упущение, конечно, несерьезное, но было бы намного приятнее, если бы программа запоминала подобные мелочи.
Надо отметить, что даже в "профессиональном" режиме PROMT не позволяет управлять всеми аспектами перевода.Так, ввод перевода для имени "Ginny" (Джинни) прошел без каких-либо проблем и дополнительных вопросов - похоже, СМП посчитала, что правильно определила все характеристики слова. Однако в процессе перевода это имя постоянно склонялось: "Джинней", "Джиннями" и т. д. Справиться с этой проблемой и "объяснить" программе, что данное имя склонять не следует, так и не удалось. Неудача подобного рода вышла и с именем "Draco", которое постоянно переводилось как "Дракон" и, естественно, склонялось.
Не удалось качественно автоматизировать и перевод "многоэтажных" выражений. Например, главного отрицательного героя в книге почти всегда называют иносказательно - скажем, "Who-Must-Not-Be-Named" (что я перевел как "Кто-не-должен-быть-помянут"); довести же до сведения PROMT’а, что в переводе следует склонять слово "кто", оказалось невозможно, и он бодро лепил падежные окончания к "помянут" (правда, сами окончания часто были верными, т. е. переводчик обычно правильно определял нужный падеж). Мне кажется, для подобных случаев следовало бы предусмотреть возможность настройки всех без исключения аспектов словарных статей, включая ручной ввод любых словоформ, которые могут появиться в результате склонения или спряжения, а заодно увеличить и предельно допустимую длину перевода (однажды мне ее не хватило). То же самое касается и редактирования управляющих конструкций: например, PROMT предлагает лишь ограниченный набор вариантов сочетаний существительных с предлогами, причем словоформу существительного определяет в целом сам, не позволяя создавать нестандартные варианты. Пусть подобные отклонения от обычных языковых норм встречаются и нечасто, но было бы приятно заботу о них тоже переложить на машину.
То же самое можно сказать и об анализе регистра первой буквы слов. Как уже упоминалось, такой анализ мог бы позволить в некоторых случаях автоматически идентифицировать имена ("Black"). Однако для определенных слов и словосочетаний подобный анализ было бы неплохо запрещать. Скажем, в английском тексте сочетание "Invisibility Cloak" (плащ-невидимка) все время пишется с заглавных букв, поэтому и в русском переводе они будут заглавными, а переключатель "игнорировать регистр первой буквы" в словарной статье позволил бы автоматически приводить их к принятому в русском языке написанию строчными буквами (кроме, естественно, случая начала предложения).
Большие предложения не помещаются целиком в строковых ячейках окна переводов. С помощью мыши высоту строк можно менять, однако PROMT делает ее одинаковой для всех предложений, вот и приходится постоянно заниматься корректировкой, ведь нужно не только видеть целиком переводимое предложение, но и соседние.
Когда вручную правишь длинное предложение, бывает удобно "разорвать" его на части, сместив "хвост" на пару строчек вниз, чтобы не мешался. В Word’е это делается просто: нажимаешь пару раз Enter, а позже удаляешь лишние знаки абзаца, "собирая" готовое предложение. В PROMT’е каждый сегмент является единой строкой, разделить которую на части невозможно, а нажатие на Enter приводит просто к переходу на следующий сегмент.
Мне кажется, можно улучшить и интерфейс переводчика в целом. Само разбиение оригинального текста и перевода на сегменты и размещение их в две колонки построчно (слева - оригинал, справа - перевод) оказалось очень удобным и намного лучшим, чем принятое ранее вертикальное деление без сегментации (сверху - оригинал, снизу - перевод). Однако вспомогательные элементы интерфейса (управление проектами, варианты перевода, поиск/замена и т. п.) лично для меня более удобными были бы в виде плавающих окон, а не частей основного окна программы. Хотя еще лучше предоставить пользователю гибкие возможности настройки интерфейса.
Какой же вывод можно сделать из всего этого? Качество перевода, создаваемого PROMT’ом, в целом стало для меня приятной неожиданностью. Скорость перевода крупных отрывков художественного текста с помощью этой СМП у меня оказалась в два-три раза выше, чем при работе вручную (здесь сказывается ограниченность моего словарного запаса, представленного преимущественно техническими терминами). Учитывая значительное количество недочетов в пользовательском интерфейсе, дерзну предположить, что настоящим переводчикам-профессионалам удобнее будет переводить самостоятельно "с листа", но остальным пользователям ПК все равно легче править готовый перевод, выполненный PROMT’ом. Остается только пожелать, чтобы в будущих версиях разработчики уделили больше внимания удобству работы с программой.