В.Н. Базылев, Московский государственный строительный университет
Философия – способность отдать самому себе отчет в очевидности (Мераб Мамардашвили)
В данной статье мы продолжаем обобщать и интерпретировать материал, полученный в ходе исследовательской работы, посвященной проблеме обучения переводу студентов технического вуза, в частности и контрастивно по отношению к этому виду речевой деятельности у студентов языкового вуза [1-11]. Исследование было начато в 2001 году и проводилось на базе Московского государственного строительного университета. Текущие результаты и свои соображения по названной проблеме мы уже излагали в ряде статей [16 – 19]. В настоящий момент стало возможным высказать мнение, связанное с эффективностью и перспективностью использования машинного перевода в практике преподавания в техническом вузе, а именно: оценить в целом “философию” машинного перевода с позиций сегодняшнего дня, понять то, как студент технического вуза воспринимает компьютерную помощь в процессе перевода учебных текстов, каковыми, наконец, могут быть эффективные методические основы обучения переводу как виду речевой деятельности студентов неязыковых вузов.
Лингвистические программы, обрабатывающие произвольный текст, традиционно считаются вотчиной искусственного интеллекта.
Многие годы обработкой текста занималась “высокая наука”, и результаты работы не были видны обычным пользователям. Пожалуй, первыми коммерческими системами искусственного интеллекта стали электронные переводчики.
Первые опыты по машинному переводу начались в 50-х годах, но уже к середине 60-х стало ясно, что создать хорошую систему перевода очень сложно. Надеждам тех лет не суждено было сбыться.
Поиски новых путей продолжаются, но готовых рецептов нет. У программистов нет математической модели перевода, ведь пока никто не сумел подробно описать, как переводит человек. Если попробовать описать “алгоритм” перевода, то можно выделить три основных подхода: переводчики научно-технической литературы стараются разобраться во всех подробностях, они пропускают текст через себя, иногда даже находят ошибки в первоисточнике – и только потом излагают материал на родном языке с минимальным искажением смысла. Переводчики художественной литературы стараются проникнуться духом произведения, почувствовать характер персонажа, уловить оттенки. Хороший переводчик фактически создает новое художественное произведение, и зачастую оно сильно отличается от оригинала. Но все это касается неспешного, домашнего перевода. Совсем по-другому работают переводчикисинхронисты – у них не бывает времени разобраться во всех подробностях и подобрать самый удачный вариант перевода, они переводят штампами.
Как показало знакомство с приемами работы преподавателей языковых кафедр технического вуза (речь идет о МГСУ), то повсеместное распространен “миф”, излагаемый студентам первого курса: как один опытный переводчик научно-технической литературы рассказывал преподавателю, что всегда “пропускал научный текст через себя” – воссоздавал общую картину в голове, при этом зачастую исправлял ошибки, а потом переносил информацию на бумагу, но уже на родном языке. Анализируя этот миф, хочется сказать следующее – попытка восстановления знаний по тексту всегда является некорректной процедурой. На самом деле в тексте знаний нет и не может быть, а есть только информация. Всякий, кто в своей жизни сдавал экзамены (а эта отсылка весьма убедительно «ФИЛОСОФИЯ» МАШИННОГО ПЕРЕВОДА коммуникация”, 2005, № 2 89 действует на студентов), сталкивался с тем фактом, что информация и знания – разные вещи, и ощущал, насколько мучительным бывает процесс трансформации. Из этого следует совершенно иная “философия” машинного (компьютерного) перевода.
Если бы в тексте были знания, то они не могли бы меняться в зависимости от того, кто именно читает текст. Люди, обладающие различным опытом, при чтении одного и того же текста получают разное количество знаний. В тексте нет смысла, а есть код, запускающий восстановление смысла. Превращение знаний в текст на самом деле есть процесс вырожденный, происходящий с потерей размерности, с потерей смысла. Естественно, он необратим – знания при восстановлении их из текста должны создаваться заново. Компьютеры не в состоянии это делать, потому что у них нет подобного механизма создания смысла. Создание знаний – это некоторый имманентный механизм мозга вообще, и не факт, что его можно будет повторить в компьютерном представлении. Компьютер мыслить не умеет и, скорее всего, не сумеет никогда, поэтому совершенно непонятно, каким образом его можно научить осмысливать тексты. Поскольку он не может породить из текста нечто более размерное, чем сам текст, то единственный путь компьютерного перевода – это прямой перенос с одного языка на другой, минуя человеческую голову. Возможно, в середине этого пути и возникает нечто большее, чем сам текст, например огромное количество омонимов и синонимов, с которыми надо что-то делать. Их потом можно привести к линейному тексту на другом языке, но сравнивать это с тем, что происходит в мозгу человека, абсолютно некорректно. Единственный способ машинной обработки текста – распознавание в нем так называемых кодов смысла, поэтому машинный перевод – это такая же система распознавания, как сканировщик, распознаватель голоса и т.д. Текст должен быть распознан, и выработана реакция, близкая к человеческой. При этом имитировать человека – направление тупиковое. Ведь мы до сих пор имеем очень поверхностное представление о том, как человек переводит. До сих пор не существует модели гипотезы о том, как человек думает, понимает, извлекает смысл. Даже самого определения “смысла” – общепринятого – нет. Оно еще до сих пор не сформулировано, хотя разработкам по искусственному интеллекту уже более 50 лет. Одна из наиболее сильных групп машинного перевода в России – это лаборатория Ю.Д. Апресяна: более двадцати лет там ведутся работы над системой, осуществляющей не только синтаксический разбор, но и семантический. В модели используется теория специальных лексических функций в смысле Мельчука-Жолковского, т.н. модель “смыслтекст”. По этой модели – у каждого члена предложения своя роль, и если эти роли распознать, то можно получить запись для каждого слова, в каких лексических функциях оно может участвовать, и тогда достаточно распознать лексическую функцию на одном языке и применить такую же на другом. В этой модели “промежуточным языком” является язык лексических функций, это как бы обобщенный общечеловеческий язык. Представитель любой нации знает, что одним предметом можно произвести какое-то действие по отношению к другому предмету.
Однако при алгоритмировании этой модели возникают очень большие сложности. Ведь надо строить синтаксическое дерево и потом “на лету” перестраивать его, например, с русского на английский. Это совершенно фантастический по своей сложности алгоритм, который в принципе не может быть отлажен. Он работает как черный ящик, программисты теряются и не понимают, почему он ведет себя так, а не иначе.
Очень многие разработки, широко объявленные в сфере искусственного интеллекта, доказали свою бесперспективность. Но это не значит, что задача машинного перевода в принципе не решаема. Не надо имитировать работу человеческого мозга, ведь каждый человек переводит по-разному. Мы запоминаем отдельные лексические шаблоны и т. д., и большинство людей переводит шаблонами. Это и есть, очевидно, то, что может лечь в основу подготовки научнотехнического переводчика – в первую очередь практика комментария и редактирования “шаблонов по специальности”. В практике работы со студентами возможно использование пары параллельных текстов, в которых вся основная работа по переводу уже проделана человеком. Предположим, что у нас есть два языковых пространства, а перевод – это некоторое преобразование одного в другое. Мы смешиваем эти языковые пространства точками параллельных текстов, параллельных предложений и делаем предположение, что это преобразование непрерывно. Тогда мы можем исходить из предположения, что в небольшой окрестности пары параллельных текстов малая модификация входного предложения отражается в малой модификации выходного предложения. Другими словами, если входное предложение чуть-чуть отличается от эталонного, то, немного подкорректировав выходное, мы получим более-менее адекватный перевод. Мы распознаем близкий фрагмент такого пространства в исходном тексте и подбираем ему эквивалент, а основную работу человека как бы уже проделал, мы только подгоняем изменения. Нерешаемую задачу повторения процесса, происходящего в голове человека, мы вообще удаляем и экономим большие силы на разработке.
Все это оказывается, к сожалению, верно, пока мы имеем дело с небольшими модификациями. Но что следует считать большой деформацией, а что малой модификацией? На самом деле для величины деформации можно ввести метрику на множество слов и как бы взвешивать, близко они находятся друг к другу в обычном языке или нет. Для того чтобы определить величину деформации, в системе следует использовать тезаурус – тезаурус строительного дела, например. У нас такого тезауруса для машинного перевода пока нет. Возможен и иной путь: накопить кластеры слов, близких друг другу, путем сбора статистики на большом количестве специальных (профильных) текстов, то есть выбрать отношения между словами не из тезаурусов, не так называемые прагматические отношения, а просто статистические. Тогда мы сможем самое главное препятствие – омонимию – отсечь сразу. Теперь эти слова можно легко подставить в шаблоны перевода, полученные из параллельных текстов.
Вообще говоря, предлагаемый нами подход очень старый, по-английски это называется транслейшн мемори. В частности, система с похожими принципами разрабатывалась много лет в ВИНИТИ. Возможно, мы ничего принципиально нового не придумали, но дело в том, что поменялись “условия игры” – компьютеры сейчас позволяют хранить данные практически любого размера, поэтому нет необходимости все идеи заталкивать в алгоритмы. Можно так сформулировать некий общий принцип прикладной лингвистики – поменьше лингвистики! Если можно в словаре системы перечислить все слова, то не нужно описывать их категории. Если можно эти слова перечислить вместе со словоформами, то не нужна машинная морфология. Если можно словосочетания перечислить, то не нужно исчисление разных типов словосочетаний и их алгоритмическое определение и т. д. Не нужно писать алгоритм, если можно что-то сделать проще. Понятно, что если бы мы запихнули в машину все варианты текстов с переводами, то она всегда бы переводила правильно и хорошо. Но это невозможно. Вопрос в том, насколько плотно мы могли бы заполнить пространство возможных предложений языка с помощью параллельных текстов. Алгоритмический перевод идет от слов ко всей структуре предложения, строятся “пучки” связей вокруг слов, и из них пытаются собрать предложение. Возможен путь “наоборот”: можно взять большое предложение, и если оно есть в базе, мы его так и переведем. Если предложения нет, то мы попробуем построить оптимальное покрытие его словосочетаниями. Оптимальное в том смысле, что чем длиннее словосочетания и чем меньше их, тем лучше. Потом выравниваем предложения грамматически. И только в последнюю очередь мы применим дословный перевод с последующим грамматическим выравниванием.