Дмитрий Жуков – Мы — переводчики (страница 15)
Избыточность позволяет «свертывать» или «сжимать» слова для экономии места в памяти машины. Пример свертывания: представление имени и отчества инициалами. В старину на Руси определенные слова писали «под титлами», опуская некоторые сочетания букв и обозначая их условными надстрочными знаками.
Установлено, что все естественные языки имеют большую избыточность (с точки зрения теории информации). Ее можно измерить. Для основных европейских языков она составляет около 50–80 процентов. В практике машинного перевода можно заменять слова аббревиатурами, отбрасывать некоторые буквы и т. д.
Как я уже говорил, одновременно идет поиск в словаре всех введенных в машину слов. Но машинный словарь имеет свои особенности. Они заключаются в том, что все слова в нем без окончаний. Английские существительные стоят в единственном числе, глаголы — в первом лице, а прилагательные не имеют степеней сравнения. И только неправильные глаголы имеют все формы.
А мы ввели в машину текст, и слова в нем имеют окончания. И тотчас начинает работать программа отбрасывания окончаний. Слова как бы обрезаются, а окончания отбрасываются, но не совсем. Их направляют в определенное место в памяти машины, чтобы «сбегать» за ними, когда в них будет нужда.
У каждого слова в машине есть своя «ячейка», которая состоит из нескольких десятков «разрядов» (обычно это крохотные элементики, способные удерживать положительный и отрицательный заряды, «ноль» или «единицу», из которых складываются числа). В «ячейку» записывается слово, его номер, грамматическая и прочая информация о слове, и вообще все сведения, полученные в результате работы каждого этапа алгоритма.
Слова без окончаний снова проверяются по словарю, получают здесь свой (не перевод, нет, до перевода еще далеко) цифровой эквивалент. Само слово, закодированное числами, как бы исчезает, и теперь машина имеет дело до самого конца с его цифровым эквивалентом.
Цифровые эквиваленты слов сыграли большую роль в накоплении информации о каждом слове Решение это пришло уже после того, как были составлены многие схемы. Схемы были громоздки, они содержали все сведения о слове. Работники лаборатории машинного перевода подумали: а что, если сам номер слова будет, говорить о том, какая это часть речи, многозначно слово или однозначно?.. Предположим, что мы взяли 50 тысяч номеров и с десятого по десятитысячный отвели для обозначения однозначных существительных. А если номера с десятого по шеститысячный мы отведем для имен существительных неодушевленных, а номера с 1000 до 2000 для географических названий, причем номера с 1500 по 1600 присвоим столицам государств? Значит, английское слово «Moscow» — «Москва» получит, к примеру, номер 1525, который сам по себе говорит о том, что это однозначное существительное, неодушевленное, географическое название, столица. Число сведений, которые оказалось возможным передать с помощью номера, практически не ограничено.
Номером (или цифровым эквивалентом) можно, например, передать тот факт, что данное существительное означает должность, организацию, деньги, документ, группу людей, собравшихся в одном месте, и т. д. Или что оно — числительное (в машинном переводе нет числительных: по своим формальным признакам все количественные числительные стали существительными, а порядковые — прилагательными). Номер сообщает о глаголе, что он модальный, или вспомогательный, или глагол движения и т. д. С помощью номеров мы сразу же откладываем про запас сведения о любой части речи.
В общем цифровой эквивалент содержит все сведения, органично присущие данному слову, независимо от языка и контекста[3]. На эти сведения мы будем опираться в дальнейшей работе алгоритма и особенно, когда придет пора согласовывать все русские слова уже в русской фразе.
И снова «но». Оказалось, что многим словам, входящим в словарь, нельзя давать цифрового эквивалента. 3200 слов из 13,5 тысячи слов словаря оказались омографами. Они получают для начала служебные эквиваленты, так как неизвестно даже, что это за части речи. Специальный служебный эквивалент получают и слова новые, не учтенные в словаре.
В английском языке слова, совершенно одинаковые по написанию, очень часто выступают в роли одновременно и существительного, и глагола, и других частей речи. В русском языке это явление встречается довольно редко. По-английски «work» — «работа» и «work» — «работать». Для незнающих английского языка будет понятен пример: «печь» — существительное и «печь» — глагол. Богатство суффиксов и окончаний в русском языке позволяет избежать одинакового написания. Но даже если слова и одинаковы по написанию, мы безошибочно определяем, к каким частям речи они относятся.
Как мы это делаем? По контексту, по окружающим это слово другим словам, по десяткам признаков, которые мы находим в тексте. Для вас не составит труда определить, что «печь» в сочетании со словами «хлеб, картофель» непременно будет глаголом.
Точно так же работают и схемы различения омографов в алгоритме машинного перевода.
Взгляды лингвистов на определение омографов расходятся. Но мы не станем вдаваться в ученые споры и будем исходить только из практических нужд машинного перевода. Для нас омографы — это разные слова, имеющие одинаковое написание.
Три тысячи двести омографов. Не определив, к какой части речи относится каждый из них, мы даже не можем обратиться к словарю. Действительно, как можно сказать, что значит слово «печь», не зная даже, существительное это или глагол? А в английском языке есть слово «round», которое может быть одновременно существительным, глаголом, прилагательным, наречием и предлогом. Это слово можно перевести русскими словами— круг, округлять, круглый, вокруг и за (углом).
Есть много способов определить часть речи такого слова. Если подводит один способ, мы обращаемся к другому. Слово «works» может быть и глаголом в третьем лице («работает») и существительным во множественном числе («работы»), о чем говорит такой признак, как окончание «s». Но в тексте у нас стоит «he works». Проверив, является ли слово, стоящее слева, подлежащим, и убедившись в этом, мы твердо говорим, что это глагол, и отправляемся в машинный словарь за получением цифрового эквивалента, а впоследствии и перевода.
Но омография не исчерпывается примерами, которые мы привели. В русском языке встречаются любопытные омографы: «три» (число) и «три» (от «тереть»), «стекла» (сущ.) и «стекла» (глаг.), «лечу» (от «лететь») и «лечу» (от «лечить»). В английском языке примеров омографии во много раз больше. Там могут совпадать как формы одного и того же глагола («put», «put», «put»), так и формы разных глаголов («found» (от «find») — «нашел» и «found» — «основать»).
Интересна схема разрешения синтаксической омографии, или схема сложных частей речи. В английском языке, как и в русском, есть тысячи устойчивых сочетаний слов. Вот, например, английское «by all means» или русское «во что бы то ни стало». Все вместе слова, входящие в сочетание, выполняют обычно функцию одного члена предложения и даже одной части речи (здесь — наречия). Мы не переводим такое сочетание слово за словом, а даем перевод русским устойчивым сочетанием. И если бы мы взглянули в словарь, то увидели бы, что против каждого слова английского сочетания стоят совсем другие русские слова. Поэтому мы считаем, что эти слова только совпадают со словами словаря по написанию и являются омографами. Для нас все сочетание — как бы одно слово. Это очень удобно, потому что уже в машинном словаре мы можем предусмотреть для очень многих английских выражений красивый, добротный русский перевод.
Так в приводившемся уже мною примере «Last night I went to bed at ten o'clock» сочетание «last night» переведется не буквально «последней ночью», а «вчера вечером». В одном из учебников языкознания говорится, что «не следует смешивать омонимию с многозначностью слов». Так, по учебникам слова «лук» (растение) и «лук» (оружие) будут омографами. Но машинная лингвистика часто пренебрегает правилами, созданными традиционной лингвистикой. Для удобства оба эти слова считаются одним многозначным словом, многочисленные значения которого могут быть выяснены в результате работы специальной схемы. Но мы забегаем вперед, ибо время работы программы многозначных слов еще не пришло.
Как видите, мы, собственно, не приступали к работе алгоритма и еще «копаемся» в словаре, а уже пошли необычайные сложности.
Если бы мы захотели показать, как переводится в машине только одна фраза и какой логической обработке подвергается каждое слово, то для этого понадобился бы пухлый том с массивным приложением в виде графиков и схем.
Среди них была бы схема, которая определяла бы, какой частью речи является любое слово, если даже его нет в нашем автоматическом словаре. По ней машина будет действовать, как те студенты, которым языковед Лев Владимирович Щерба предложил на вступительной лекции по языкознанию разобрать по частям речи фразу: «Глокая куздра штеко будланула бокра и курдячит бокренка».
По чисто формальным признакам мы можем сказать, где здесь существительное, а где глагол. Мы можем определить род, число, падеж, наклонение и многое другое. В английском языке к формальным признакам относится место слова в предложении, его окончание, сочетаемость с предлогами и другими словами. Вот такую «куздру», даже не зная, что она значит, уже можно запускать в машину и опираться на нее в грамматических схемах.