- •Isbn 978-5-9765-0098-3 (Флинта) isbn 978-5-02-034597-3 (Наука)
- •1.1.2. Методы воспроизведения и обработки данных
- •1.1.3. Понятие информации
- •1.1.4. Понятие контекстного метода
- •1.2. Данные
- •1.2.2. Операции
- •1.3.2. Классификация прикладных программ
- •1.3.3. Периферийные устройства
- •1.4. Интеллектуальные информационные системы
- •1.4.1. Искусственный интеллект (Artificial Intelligence)
- •1.4.2. Нейронные сети
- •1.4.3. Экспертные системы
- •2. Обзор лингвистических программ
- •2.1.1. Текстовые процессоры
- •2.1.3. Генераторы текстов и «говорящие» программы
- •2.2. Машинный перевод
- •2.2.1. Основные этапы развития машинного перевода
- •2.2.2. Как переводит компьютер
- •2.2.3. Классификация систем
- •2.3. Компьютерная лингвистика: нестандартные применения
- •2.3.1. Определение языка сообщения
- •2.3.2. Взлом шифров
- •2.3.3. Установление авторства
- •2.3.4. Построение роботов-поисковиков и снифферов
- •Заключение
- •Приложение
- •Оглавление
- •1 . Информация. Информационные
- •1.1. Информация 3
- •Информационный обмен, сигналы, данные 3
2.2.2. Как переводит компьютер
Машинный перевод — это такая специфическая область применения компьютеров, в проблемах которой почти каждый ощущает себя более или менее специалистом.
Во-первых, очевидно, что чем больше словарь, тем лучше перевод, значит, первая проблема — проблема создания больших словарей для систем.
54
Во-вторых, ясно, что система должна переводить предложения типа «Привет, как дела?». Значит, еще одна проблема — научить систему распознавать устойчивые обороты.
В-третьих, понятно, что предложение для перевода пишется по определенным правилам, по определенным правилам переводится, а значит, есть еще одна проблема: записать все эти правила в виде программы. Вот, собственно, и все.
Самое интересное, что эти проблемы действительно являются основными при разработке систем машинного перевода, другое дело, что методы их решения известны далеко не всем и отнюдь не так просты, как может показаться.
Словарь
Методы организации больших баз данных достаточно хорошо разработаны, но для перевода не менее, а может быть, и более важно правильно структурировать информацию, которая приписывается элементу базы, правильно выбрать этот самый элемент. Сколько, например, записей в словаре должно соответствовать обыкновенному русскому слову «программа»? И вообще, большой словарь — это словарь, который содержит много словарных статей, или словарь, который позволяет распознать много слов из текста?
При ближайшем рассмотрении оказывается, что, например, существительные в русском языке изменяются по падежам и по числам, т.е. для одного существительного может существовать до 12 разных форм, а для глаголов и прилагательных, как правило, существует еще большее количество различных форм (более тридцати). Следовательно, чтобы переводить предложения, содержащие слова «программу», «программе», «программы» и т.д., хорошо было бы иметь способ соотнесения словарной статьи из автоматического словаря для слова «программа» с соответствующей словоформой из текста. Поэтому для описания и входного, и выходного языка в системе должен существовать некоторый формальный метод описания морфологии, на котором основывается выбор единицы словаря.
55
Однако разработка описания морфологии позволяет решить только проблему того, что является заголовком словарной статьи, по которому происходит идентификация единицы текста и единицы словаря. Но ведь идентификация слова из текста со словарной статьей происходит не ради идентификации, она необходима для выполнения программой собственно процедур перевода. Какая же информация нужна в словарной статье и как должны быть описаны правила перевода для того, чтобы программа переводила?
Грамматика
Тут необходимо сделать небольшое историческое отступление, поскольку машинный перевод как область прикладной лингвистики имеет драматическую историю. В 1950-х годах практически с появлением первых вычислительных машин возникла идея машинного перевода, кстати, сам термин «машинный перевод» существует именно с тех времен. Кажущаяся простота задачи породила некоторую лингвистическую эйфорию, и было начато несколько глобальных проектов по созданию систем перевода для разных языков. Ни один из них не привел к созданию работающих систем, и в 1967 г. специальная комиссия Национальной Академии наук США объявила машинный перевод неперспективным и не заслуживающим финансирования. Только в начале 80-х годов лингвисты более или менее оправились от столь сурового вердикта и возобновили исследования в области МП. Конечно, во многом это оживление было связано с развитием вычислительной техники вообще и с интересом к проблемам искусственного интеллекта как области применения компьютеров в частности.
Глобальные проекты по-прежнему были ориентированы на решение задачи перевода в целом. В них рассматривались разработка описания лексических единиц в словаре и разработка алгоритмов перевода как разные задачи. Появилось множество лингвистических работ, предлагающих структуру описания свойств живого слова в словарной статье машинного словаря. Не появ-
56
лялось только реальных коммерческих систем, в которых эти исследования хоть как-то соединялись бы. Все системы, которые так или иначе существовали, имели скромное дополнение «экспериментальная» или «прототип». Но реально ни одна из таких систем никогда не была доработана до системы массового использования. Это происходило потому, что применяемые методы описания перевода при переносе их в естественную среду (т.е. при применении к произвольным текстам) приходили в противоречие с методами, предлагаемыми для формирования словарных статей.
В то же время локальные проекты были ориентированы на решение только узких задач. Установкой разработчиков было получение хоть каких-то практических результатов.
Хотя оба эти подхода не дали коммерческих систем, работы, которые проводились в этом направлении, позволили осознать сложность задачи и, по крайней мере, установить узкие места в подобных разработках. Так или иначе, но именно из локальных проектов появились системы перевода, которые сейчас предлагаются конечному пользователю.
Оказалось, что очень продуктивно рассматривать систему перевода не как транслятор, задачей которого является перевод текста, допустимого с точки зрения входной грамматики, а как некоторую сложную систему, задачей которой является получение результата при произвольных входных данных, в том числе и для текстов, которые не являются правильными для грамматики, с которой работает система.
Вместо принятого лингвистического подхода, предполагающего выделение последовательных процессов анализа и синтеза предложения, в основу архитектуры систем было положено представление процесса перевода как процесса с объектно-ориентированной организацией, основанной на иерархии обрабатываемых компонентов предложения.
Сначала поясним некоторые определения. Вместе с развитием машинного перевода как области прикладной лингвистики появились и классификации систем. Стало принято делить системы перевода на системы типа TRANSFER и системы типа
57
INTERLINGUA. Это разделение основано на особенностях архитектурных решений для лингвистических алгоритмов.
Алгоритмы перевода для систем типа TRANSFER строятся как композиция трех процессов: анализ входного предложения в терминах структур входного языка, преобразование этой структуры в аналогичную структуру выходного языка (TRANSFER) и затем синтез выходного предложения по полученной структуре.
Системы типа INTERLINGUA предполагают априори наличие некоторого метаязыка структур (INTERLINGUA), на котором можно описать все структуры как входного, так и выходного языков в общем случае. Поэтому алгоритм перевода в системе типа INTERLINGUA предполагается как более простой: анализ входного предложения в терминах метаязыка и затем синтез из метаструктуры соответствующего предложения выходного языка. «Единственная» сложность в этом случае — разработать сам метаязык и описать естественный язык в соответствующих терминах.
Несмотря на то что эта классификация существует и в среде разработчиков машинного перевода считается хорошим тоном спросить, к какому типу относится ваша система, не было разработано еще ни одной реальной системы, основанной на принципе INTERLINGUA.
Хотелось бы надеяться, что эти сведения позволят потенциальным пользователям систем перевода понять, что создание системы машинного перевода — задача не такая уж простая и, что называется, наукоемкая. Следовательно, количество действительно пригодных к использованию систем перевода, которое может появляться в единицу времени, принципиально ограничено.