Анатолий Анисимов - Компьютерная лингвистика для всех: Мифы. Алгоритмы. Язык
Познание всегда искало способы описания алгоритмов. Сохранились древние магические рецепты, математические тексты, книги боевого искусства, где описывались приемы действий в тех или иных ситуациях. В математической теории алгоритмов существует большое разнообразие определений алгоритма, ориентированных на различные способы вычислительной реализации: арифметическое исчисление предикатов (К. Гедель, 1931), λ — определимые (А. Черч, 1936) и частично-рекурсивные (С. Клини, 1936) функции, машины Поста и Тьюринга (Э. Пост, 1936, А. Тьюринг, 1937), алгоритмы Маркова (А. А. Марков, 1951). Все эти определения выражали формально интуитивное понятие вычислимости. Как сразу было доказано, различные определения алгоритма оказались эквивалентными в смысле возможности моделирования друг друга. Математические определения алгоритма ориентированы на строгие доказательства возможности тех или иных вычислений. В силу этого в их определениях используют специфические мелкомасштабные базовые операции и специальные строгие правила организации вычислений. В реальной работе человеку удобнее применять широкий арсенал гибких адекватных средств для записи вычислений. Этим занимается программирование. Появилось множество языков программирования для записи алгоритмов. Компьютерная программа тоже представляет собой алгоритм, но записанный на специальном языке, понятном машине. Такое понимание обеспечивается аппаратными или программными средствами, реализованными в ЭВМ и входящими в состав «мозга» ЭВМ: операционные системы, трансляторы, компиляторы, интерпретаторы, драйверы и др. Таким образом, даже в строгом определении алгоритм имеет множество выражений, зависящих от языка, на котором он записан. Поэтому часто алгоритмическая система понимается как система, связывающая некоторые подсистемы в базовом, возможно, неопределяемом выбираемом языке, но с указанными точными средствами взаимодействия и развития.
При исследовании сложных систем, созданных природой или человеком, применяют метод моделирования. Модель, обычно представляющая собой программу в том или ином алгоритмическом языке и отражающая основные особенности поведения системы, просчитывается на ЭВМ. Этим достигается большая степень понимания исследуемого объекта. Например, сейчас интенсивно разрабатываются и исследуются модели атомных электростанций с целью правильного управления, не допускающего аварийной ситуации. Моделируются физические процессы, происходящие на солнце, в галактиках и атомном ядре. Моделируются экономические, технологические, управленческие процессы и многие-многие другие. Иногда необходимая логическая строгость машинных средств выражения алгоритмов вступает в противоречие с принципами функционирования изучаемого объекта. Поэтому исследователям часто приходится специально вводить разнообразные средства, имитирующие неопределенность: нечеткие множества, датчики псевдослучайных чисел, недетерминированный выбор в условных командах и т. п. Иногда невозможно создать точную модель изучаемого объекта, но удается заметить общие принципы организации этих объектов. Такое мы наблюдаем при исследовании творчества. В литературных произведениях выявляются замкнутые взаимодействующие процессы. Способ их организации отражает те или иные алгоритмические принципы. Такое знание уже многое дает для понимания произведения, хотя, конечно, точное выражение самих процессов сведется к записи их на естественном языке. Аналогично в музыке, живописи и других жанрах искусства сюжетная система (текст, картина, музыкальное произведение) в этих случаях составляется из некоторых неуточняемых базовых объектов. Выявляется внешняя организация этих объектов, их взаимодействие между собой. При необходимости этот же принцип может применяться для анализа составляющих элементов системы, вплоть до неделимых объектов. Алгоритмический анализ оказывается удивительно мощным средством познания и подтверждает единство выражения мира как средствами технических, так и гуманитарных наук. Оказывается, что в природе и творчестве действуют одни и те же алгоритмические принципы. Их выявление и уточнение — наша задача.
КОМПЬЮТЕРНАЯ ЛИНГВИСТИКА
Человек придумал электронные устройства, облегчающие арифметический счет. Вскоре обнаружилось, что эти машины можно легко приспособить для решения многих творческих задач, связанных с человеческим знанием. Накапливались факты, писались специальные компьютерные программы, изобретались искусственные языки обработки знаний. Этот процесс привел к становлению новой науки, названной «искусственный интеллект». В наше время многие теоретические исследования по искусственному интеллекту получили практическое применение. Роботы осуществляют точные механические операции, распознают образы, ведут поиск в сложных условиях, сочиняют стихи. В классификации наук США работы по искусственному интеллекту из разряда теоретических переведены в разряд прикладных наук. Одна из главных проблем искусственного интеллекта — компьютерное понимание естественного языка. Эта проблема относится к области компьютерной лингвистики.
Компьютерная лингвистика занимается поиском алгоритмов и компьютерной реализацией взаимодействия человека с ЭВМ на естественном человеческом языке. В свою очередь ЭВМ может управлять другими машинными устройствами. Поэтому в случае успешной реализации проектов компьютерной лингвистики человек сможет управлять сложными техническими объектами посредством голосовых команд или текстов на естественном языке. Мир человека, мир слов и мир техники сольются.
Сейчас коммерчески доступен большой ряд программных систем взаимодействия на естественном языке с базами данных и экспертными системами. Простое порождение подмножества английского языка для обращения к базам данных было обеспечено одной из ранних американских систем LIFER (Language Interface Facility with Ellipsis and Recursion), созданной в 70-е годы. Вслед за ней на компьютерном рынке появились и другие, более гибкие системы, обеспечивающие ограниченный естественно-языковой интерфейс с ЭВМ. В 80-е годы в США образовался ряд компаний, занимающихся разработкой и продажей естественно-языковых интерфейсов с базами данных, экспертными системами. В 1985 г. корпорация «Семантек» представила такой пакет программ Q&A, компания «Карнеги Группа» предложила аналогичный пакет Language Craft. Ведутся активные работы по созданию систем автоматического перевода. Получила распространение система автоматического перевода SYSTRAN, разработанная под руководством П. Тома по заказу военно-воздушных сил США. В течение 1974–1975 гг. система была использована аэрокосмической ассоциацией NASA для перевода документов по проекту Аполло — Союз. В наше время она переводит с нескольких языков около 100 000 страниц ежегодно. В Европе работы по созданию компьютерных систем перевода стимулировались образованием Европейской Информационной Сети (EURONET DIANA). В 1982 г. Европейское экономическое сообщество объявило о создании европейской программы EUROTRA, цель которой — разработка системы компьютерного перевода для всех европейских языков. Первоначально проект оценивался в 12 млн долларов, в 1987 г. специалисты определили суммарные расходы по этому проекту более чем в 160 млн долларов.
В Японии исследования по компьютерной лингвистике концентрируются вокруг общенациональной программы создания компьютеров пятого поколения, объявленной в 1981 г.
Существует ряд военных проектов создания человеко-машинных интерфейсов на естественном языке. В США они ведутся в основном в рамках стратегической компьютерной инициативы — десятилетней программы, принятой министерством обороны в 1983 г. Цель ее — создание нового поколения «интеллектуальных» оружия и военных систем с целью обеспечить многолетнее технологическое превосходство США.
Естественно, что специалисты по искусственному интеллекту, прекрасно разбирающиеся в компьютерах и языках программирования, энергично принялись за решение проблемы понимания языка своими методами. Шел поиск алгоритмов естественного языка. Были созданы сложные программы понимания языка для очень узких специальных областей, реализованы программы частичного машинного перевода и ряд других. Но решающего продвижения в решении проблемы понимания языка так и не было. Язык и человек настолько связаны, что ученым пришлось заняться проблемой понимания мира человеком. А это уже область философии. В разных центрах мира специалисты по компьютерам начали изучать мифологию, труды Платона, Гегеля, Канта, Кьеркегора, Хайдеггера, М. Фуко и многих других классиков философской мысли. Проблема понимания языка машинами привела к вечной теме феномена человека. Кто мы? Откуда мы? Куда идем?
2 МИФЫ