В 1950-е годы гуманитарии и математики объединились, чтобы заниматься машинным переводом. Именно с этого берёт начало сфера автоматической обработки естественного языка (Natural Language Processing). За 70 лет с тех пор методы машинного перевода радикально сменились несколько раз, но как работали самые первые системы? Вспоминаем историю системы французско-русского перевода из 50-х гг., описываем принцип работы алгоритма (он состоял из 17 программ) и сравниваем его с современными моделями.
Иллюстрация: Женя Родикова
Первая в мире удачная попытка автоматического перевода случилась в 1954 году в Нью-Йорке при поддержке Джорджтаунского университета — она получила название «Джорджтаунский эксперимент». С помощью большой вычислительной машины IBM 701 (на тот период одного из самых производительных компьютеров) 60 предложений были переведены с русского на английский язык. Хотя эти предложения были заготовлены заранее и система не могла переводить произвольный текст, эксперимент стал сенсацией: большинство авторитетных учёных прежде доказывали, что машинный перевод невозможен. Джорджтаунский эксперимент дал импульс для разработки автоматических систем по всему миру.
Демонстрация процедуры первого машинного перевода на IBM, январь 1954 года
Спустя пару месяцев, в апреле 1954-го, начинается работа по машинному переводу (далее — МП) в Москве, в Институте научной информации (сейчас — ВИНИТИ), и продолжается в Институте точной механики и вычислительной техники АН СССР. В 1955 году были получены первые автоматические переводы с английского на русский. Но поскольку разработчики решили отказаться от структурных методов, это направление существовало изолированно и не привело к заметным успехам [4].
Примерно в это же время в Математическом институте АН СССР (сейчас — Институт прикладной математики имени М. В. Келдыша РАН) собирает рабочую группу А. А. Ляпунов, математик и основоположник кибернетики — науки о хранении, передаче и обработки информации в системах. Он считал, что МП — задача преимущественно математико-кибернетическая, а не лингвистическая [2] (глядя на современные системы можно сказать, что Ляпунов был прав). Группе удалось с нуля за полтора года получить первые результаты автоматического перевода с французского языка на русский. Расскажем об этом подробнее.
Благодаря организаторским способностям и ораторскому таланту А. А. Ляпунову удалось преодолеть недоверие старших коллег, а также заинтересовать и объединить вокруг себя молодых математиков и лингвистов.
А. А. Ляпунов. Источник: http://globalmmf.iis.nsk.su/node/44 (Архив музея истории НГУ)
В группу по разработке системы МП изначально входило несколько человек, но затем работа сфокусировалась в руках математика О. С. Кулагиной и лингвиста И. А. Мельчука, впоследствии создателя модели СМЫСЛ <=> ТЕКСТ.
По воспоминаниям Мельчука можно понять, насколько задумка с автоматической системой МП была нетривиальной. Он рассказывает, как приятель по университету предложил присоединиться к работе: «Какой-то там человек хочет сделать так, чтобы какие-то машины переводили с одного языка на другой» [3]. Для него (тогда ещё студента филологического факультета) это звучало как «абсолютный бред, полная бессмыслица», потому что «слова „компьютер” не было отродясь» [3]. В СССР разработка ЭВМ, электронно-вычислительных машин, велась секретно для военных целей. Но решив, что ничем не рискует, Мельчук всё-таки встретился с рабочей группой аспирантов и руководителем проекта. «Ляпунов меня просто купил с потрохами. Ничего более интересного я никогда в жизни не слышал», — вспоминает Мельчук [3]. Так началась работа по разработке системы МП. Кстати, недавно «Системный Блокъ» взял у Игоря Мельчука интервью — почитайте его, если хотите узнать об этой истории больше.
И. А. Мельчук примерно в 1956 году (где ему 24 года). Источник: https://arzamas.academy/mag/739-melchuk (Личный архив А. А. Зализняка)
В самом начале разработок Ляпунов говорил ученикам о переводе через извлечение смысла и его передачи на другом языке, то есть о переводе через семантическую структуру текста. Однако в 50-х гг. это было невозможно: область семантики была недостаточно изучена (позже эти идеи были испробованы в интерлингвистических системах машинного перевода, но развития не получили).
Первая система переводила текст последовательно от фразы к фразе, отдельными предложениями, и семантические связи между ними не учитывались. Самым главным «ключом» к переводу был словарь. Все возможности системы определялись его размером, зависящим от памяти компьютера.
Чтобы облегчить задачу перевода, были выбраны тексты из области математики: в них ограниченный набор слов, конструкции не слишком разнообразны, отсутствует игра слов [1].
Для перевода составили два словаря. Первый состоял из 1200 основ слов: частотных в математических текстах, служебных и дополнительных терминов. Второй словарь, специальный, насчитывал 250 оборотов, которые нельзя перевести дословно. Французские и русские слова сопровождались морфологическими, техническими и другим важными для перевода указаниями (например, о наличии омонимов).
Все операции осуществлялись на вычислительной машине «Стрела». Кратко процедуру можно описать так:
Чтобы реализовать этот алгоритм, необходимо было 17 программ, состоящих из 7 000 приказов. Перевод фразы из 8–10 слов занимал около 1,5–2 минут.
Проблема первой системы сводились к ограниченности: словари нуждались в доработке, потому что изначально удавалось учесть не все случаи. Алгоритм можно было расширять, система не была закрытой, но она плохо распространялась на новый, ранее не обработанный материал, на сложные случаи.
Современный машинный перевод демонстрирует значительные успехи и даже работает практически синхронно. Сравним результаты переводов первой системы машинного перевода [1] и переводы современного автоматического «Яндекс.Переводчика», опирающегося на нейросетевые и статистические алгоритмы.
| Ввод на французском языке | Вывод на русском языке первой автоматической системой | Вывод на русском языке «Яндекс.Переводчика» |
| (1) Ensembles et éléments sont désignés dans les raisonnements par les symboles, qui sont en général les lettres ou les combinaisons de lettres. | Множества и элементы обозначаются в рассуждениях через символы, которые, вообще говоря, буквы или сочетания (комбинации) букв. | Множества и элементы в рассуждениях обозначаются символами, которые обычно представляют собой буквы или комбинации букв. |
| (2) Le théorème qui vient d’être établi subsiste dans ces nouvelles conditions. | Теорема, которая только что была установлена, существует в этих новых условиях. | Только что установленная теорема сохраняется и в этих новых условиях. |
| (3) Les solutions précédentes tendent vers zéro quand t augmente indéfiniment. | Предыдущие решения стремятся к нулю, когда t возрастает неограниченно. | Предыдущие решения стремятся к нулю, когда t увеличивается бесконечно. |
| (4) On peut conserver seulement deux membres de série. | Мы могем сохранить только два члена ряда. | Мы можем сохранить только двух серийных участников. |
| (5) La considération d’une telle expression ne peut présenter aucun intérêt particulier. | Рассмотрение такого выражения не может настоящим никакой частный (особый) интерес. | Рассмотрение такого выражения не может представлять особого интереса. |
Переводы фраз 1–3 оценены создателями первой системы МП как корректные [1]. Современный переводчик предлагает практически идентичные варианты.
С предложениями 4–5 у первой системы возникли проблемы. В четвёртом предложении для перевода глагола pouvoir в словаре были указаны основы «мог» и «мож», из-за ошибки в программе основа была выбрана неправильно. В пятой фразе неточность произошла из-за неучтённых омонимов: основа present может быть либо основой глагола (presenter — представлять), либо основой прилагательного (present — настоящий).
Что касается современного переводчика, в четвёртом случае он предлагает не самый предпочтительный вариант: казалось бы, смысл передан верно и предложение построено грамматически правильно, но вырванные из контекста словосочетания становятся оторванными от формулировок, бытующих в математических текстах. О том, какие ещё ошибки совершают нейросети при переводе, мы писали здесь.
Первая система автоматического перевода работала неидеально, сама постановка задачи вскрыла пробелы в лингвистическом знании: структура языка была недостаточно изучена и описана. Это стало толчком для появления математической, или структурной, лингвистики. Стали развиваться не только сфера автоматического перевода, но и другие области автоматической обработки текста.
Компания Google представила много новых ИИ-продуктов, а модель GPT опровергла известную математическую гипотезу Пала Эрдёша — рассказываем, что произошло в мире ИИ за последнее время
Facebook* и Instagram* будут сканировать фото и видео, чтобы находить детей, которые скрыли свой возраст
Можно ли заниматься NLP, если при словах «производная» и «матрица» хочется закрыть ноутбук? Да — если изучать математику не абстрактно, а через реальные задачи. Объясняем, какие разделы действительно нужны джуну,…