Краткая история машинного перевода
7 января 1954 года представители команды Джорджтаунского университета и IBM провели в нью-йоркской штаб-квартире компании демонстрацию замечательного устройства – компьютерной системы, которая переводила русские предложения на английский язык. На следующий день Роберт Пламб писал в New York Times:
«Девушка-оператор набирает на клавиатуре следующий русский текст английскими буквами: “Mi pyeryedayem mislyi posryedstvom ryechi”. Машина практически сразу печатает перевод: “We transmit thoughts by means of speech”. Оператор, не владеющая русским, снова печатает лишенные (для нее) смысла русские слова: “Vyelyichyina ugla opryedyelyayetsya otnoshyenyiyem dlyini dugi k radyiusu”. И машина переводит: “Magnitude of angle is determined by the relation of length of arc to radius”». [186]
И пусть словарный запас разработанной Джорджтаунским университетом и IBM программы составлял всего 250 слов и знали они лишь шесть грамматических правил, все равно это был технический триумф. Тем более что память компьютера, на котором она работала, – IBM 701 – не превышала 36Кб, а писать ее пришлось на ассемблере [187]системному программисту IBM Питеру Шеридану. Поскольку программировать на IBM 701 было совсем не просто, Шеридан начал с создания прототипа программы: он собрал не знающих русского добровольцев и раздал им словарные карточки и собственные инструкции на английском языке. Задача волонтеров была сначала найти каждому английскому слову подходящий русский перевод, а затем, пользуясь инструкциями Шеридана, вычленить корень слова, выбрать верное окончание или изменить их порядок в предложении.
Если масштаб состоявшейся в 1954 году демонстрации был весьма скромным – машинный перевод составил 60 тщательно отобранных предложений, то амбиции разработчиков скромными никак не назовешь. Профессор Леон Достерт, разработавший языковую модель, столь кропотливо запрограммированную Шериданом, отметил, что, если сегодня «у нас еще нет возможности загрузить русскую книгу на одном конце и получить английский перевод на другом», в будущем «через пять лет, а может быть три года, межъязыковое преобразование смыслов посредством электронных процессов в важных функциональных областях нескольких языков вполне может стать свершившимся фактом». Для создания таких программ, считал Достерт, потребуется словарь в 20 тысяч слов и 100 грамматических правил – по сути, нужно было лишь расширить продемонстрированный уже прототип. [188]
Прогноз Достерта сегодня может показаться смехотворно оптимистичным, но система, над которой он размышлял, разрабатывалась для перевода научных журналов, а не Толстого или Пушкина. Достерт знал, что словарные системы перевода сталкиваются с серьезными проблемами из-за лингвистической неоднозначности, потому что естественный человеческий язык чрезвычайно неоднозначен. Во многих языках есть омонимы – слова с одинаковым написанием, но разными значениями, нередко встречается также полисемия – когда слово может иметь близкие, но все же различные значения в зависимости от контекста: «Отложив ручку, она протянула ручку и дернула за дверную ручку». Еще более сложные явления, такие как метафора, аллегория или каламбур, переносят задачу на еще более высокий уровень; простым подыскиванием слов в словаре и расстановкой их в грамматически правильном порядке такие задачи не решаются.
Когда переводчик решает, как перевести слово «ручка», то, прочитав и поняв фразу, он выбирает соответствующее слово на языке перевода на основе контекста, в котором это слово было использовано. На испытаниях 1954 года большинство предложений были из области физики и химии – и потому, что разработанная Джорджтаунским университетом и IBM программа должна была переводить научную литературу, и потому, что в контексте научной литературы степень неоднозначности некоторых из используемых терминов заметно снижается.
Чтобы решить проблему контекста и найти способ переводить слово «ручка» правильно, более современные системы перевода пользуются не словарями и грамматическими правилами, но статистическими и вероятностными моделями. Такие системы основываются на громадных объемах текста, так называемых корпусах. Большинство систем используют два корпуса. Первый – это набор предложений на языке перевода, позволяющий программистам разрабатывать «языковую модель». Анализируя это собрание предложений, языковая модель «понимает», что фраза «the blue car» в английском встречается чаще, чем «the car blue», и, выбирая между возможными вариантами перевода, предпочитает грамматически верный не потому, что знает правила грамматики, а потому, что этот вариант является наиболее распространенным. Второй корпус – это собрание предложений, которые были переведены людьми с одного языка на другой, с помощью этого корпуса создается «модель перевода». Модель перевода сообщает, что «el coche azul» чаще всего переводится с испанского как «синий автомобиль», хотя иногда встречается и вариант «авто цвета лазури». Так перевод нового текста становится цепью обоснованных догадок, когда модель перевода подбирает возможные эквиваленты предложения, а языковая модель стремится обеспечить грамматическую верность и читаемость.
Читать дальше
Конец ознакомительного отрывка
Купить книгу