Переводчики и словари: конкуренты или коллеги?
Существует два типа программ, которые призваны облегчить людям общение на разных языках: системы машинного перевода (программы-переводчики) и электронные словари. В чем их преимущества и как правильно выбрать необходимую программу?
О чем думает пользователь, когда сталкивается с необходимостью перевести е-mail или, например, web-страницу или научно-технический текст? О том, что ему нужен переводчик. При этом «переводчиком» многие пользователи называют любую компьютерную программу, которая способна хоть что-нибудь переводить, причем не важно — отдельные слова или текст целиком. Поэтому для начала попробуем разобраться в том, какие бывают компьютерные программы для перевода. Как мы уже упоминали, традиционно выделяется два класса программ: электронные словари и системы машинного перевода. Все, кто когда-либо пользовался обычным бумажным словарем, с легкостью освоят и электронный — принцип работы тот же. Преимуществами электронных словарей можно назвать оперативный доступ к переводу слова и возможность объединить в рамках одной программы-оболочки десятки специализированных словарей по различным темам.
При разработке электронного словаря создатели лицензируют контент бумажных словарей или набивают слова и переводы самостоятельно. Поэтому все электронные словари различаются преимущественно по трем параметрам: по объему слов и словосочетаний, качеству словарной базы и удобству интерфейса. Если первый параметр является количественным показателем и легко подсчитывается, то оценить словарь по второму параметру значительно сложнее. Здесь следует принимать во внимание, насколько актуальна словарная база, насколько полно словарь охватывает термины в определенной области (для специализированных словарей) и, наконец, предоставляется ли справочная грамматическая информация. Интерфейс у разных словарей также несколько различается, хотя в целом эти различия несущественны.
С технологической точки зрения электронный словарь сравнительно легко реализуем — основной объем работы заключается в набивке слов и словосочетаний. Возможно, этим и объясняется то, что на рынке представлено большое количество электронных словарей от разных производителей.
Многие словари содержат перевод не только отдельных слов, но и целых словосочетаний. Однако область применения электронного словаря можно обозначить совершенно четко - для справочных целей. Если при чтении текста нам встретилось слово на иностранном языке, мы традиционно обращаемся к словарю. Только теперь нам не нужно копаться в толстых бумажных словарях - перевод в считанные секунды будет найден в электронном словаре.
От электронных словарей перейдем к системам машинного перевода. Годом рождения компьютерных переводчиков можно считать 1954-й, когда фирма IBM в сотрудничестве с университетом в Джорджтауне продемонстрировала в действии первую систему машинного перевода. Она располагала очень скромными возможностями: словарь содержал всего 250 слов, и для перевода текста использовалось шесть синтаксических правил. Начавшийся в 90-х годах прошлого века бурный рост компьютерных мощностей стимулировал развитие систем машинного перевода. Сегодня современные системы перевода, пройдя небывалый эволюционный путь, по праву могут быть отнесены к классу систем искусственного интеллекта, поскольку выполняют отдельные функции, свойственные человеческому разуму. Например, программы-переводчики конструируют текст на выходном языке на основе входного текста, руководствуясь правилами и алгоритмами, реализованными в системе.
Можно выделить два основных направления развития технологии машинного перевода: традиционная технология перевода, основанная на алгоритмах анализа и синтеза (rule-based machine translation), и статистический машинный перевод (statistical-based machine translation). При использовании традиционной технологии система перевода может быть схематически представлена как состоящая из двух модулей: из ядра перевода и из системного словаря. Ядро перевода, образно говоря, «думает» — анализирует текст и синтезирует выходной перевод, используя информацию из словаря.
Благодаря этому программа-переводчик может справиться с переводом любого текста при условии, что алгоритмы программы будут «уметь» работать со всеми типами грамматических конструкций, встречающихся в тексте, а словарь системы будет содержать необходимую лексику, причем с теми переводами, которые соответствуют тематике текста. Это означает, что программа будет соответствующим образом настроена на перевод данного текста.
Здесь также напрашивается аналогия с человеком-переводчиком. Как известно, большинство переводчиков имеют определенную специализацию, например технические тексты или финансовая документация. Более того, даже в рамках одной предметной области неизбежно возникает необходимость адаптации к стилю автора, к манере изложения. У человека подобная «настройка» происходит совершенно естественным образом. Для системы машинного перевода в этом случае требуется выполнить комплекс действий, для того чтобы адаптировать ее к текстам определенной тематики и даже к новому авторскому стилю. Таким образом, можно говорить о том, что системы машинного перевода решают проблему перевода на двух уровнях: быстрый перевод без настроек, когда требуется оперативно понять смысл текста, либо проведение настроек и получение на выходе качественного перевода, требующего редактирования не более 10-20% от объема документа.
К представителям традиционной технологии перевода можно отнести такие продукты, как PROMT (Россия), Systran (Франция), Linguatec (Германия) и ряд других.
Системы статистического машинного направления — сравнительно молодая отрасль в области машинного перевода. Основы этой технологии были заложены в начале 1990-х годов. В отличие от традиционной технологии перевода, статистический машинный перевод основан на «параллельных данных». Для функционирования программы требуется массив текстов на исходном языке и его переводов. Анализируя эти тексты на основе определенных правил, программа собирает перевод — как из кубиков. Например, сравниваются две простые фразы на арабском (написано латиницей) — rajl kabir и rajl tawil. Если компьютер «знает», что первая фраза означает «крупный человек», а вторая — «высокий человек», то программа делает вывод, что rajl означает «человек». Подобные простые фразы называются «N-граммы» и являются базовыми элементами статистического машинного перевода.
Несмотря на кажущуюся привлекательность и перспективность этой технологии, разработчики систем статистического перевода столкнулись с целым рядом объективных сложностей. Во-первых, для получения качественного перевода система должна располагать гигантской базой параллельных переводов, по объему эквивалентной тысячам и даже миллионам книг. Создание такой базы само по себе является сложнейшей задачей, требующей огромных ресурсов. Вторым ограничением является мощность компьютеров — для анализа такого колоссального объема текста ресурсов даже самых современных суперкомпьютеров может быть недостаточно.
Даже героическое преодоление этих сложностей не приводит к желаемому результату, а открывает разработчикам проблемы более высокого уровня. Например, для флективных языков, таких как русский, немецкий, арабский (в морфологии которых используются различные способы словоизменения), размер базы должен увеличиваться. Кроме того, система должна учитывать в базе данных различные варианты перевода одной и той же фразы в зависимости от семантических особенностей.
В результате, несмотря на большой интерес к системам статистического перевода и 15-летний опыт разработок, на рынке сегодня практически отсутствуют коммерческие продукты, основанные на этой технологии. В качестве примера можно назвать только разработки Google, но пока они представлены только для перевода с арабского на английский.