«ЭВМ» за партой
[1]
Андрей Ершов заведует отделом программирования Вычислительного центра Сибирского отделения Академии наук. Он один из авторов Альфа-языка — системы автоматического программирования. Альфа-язык, или, как его иногда называют, «сибирский язык», — большой вклад в науку, еще один шаг к «взаимопониманию» человека и машины. По просьбе «Клуба любознательных» Андрей Петрович написал статью о том, как он представляет себе дальнейшее «сближение» человека с ЭВМ.
Могут ли электронно-вычислительные машины помогать человеку не только решать сложнейшие задачи, переводить иностранный текст, управлять производством — это уже их обычные профессии, но и… думать? Можно ли использовать машину для автоматизации умственной деятельности человека?
Сразу оговорюсь — никто не посягает на создание этакого электронного робота из фантастических рассказов, который будет управлять человеческой волей, эмоциями, интуицией. Машина может стать лишь «подчиненным» человека-«руководителя». А это возможно.
При использовании электронно-вычислительной машины (ЭВМ) в качестве «усилителя» своих умственных способностей человек вступает с ней в сложные взаимоотношения (точнее — взаимодействия).
Мне кажется, если мы хотим видеть машину истинным партнером человека в его умственной работе, надо, чтобы она стала «очеловеченным» устройством, то есть способной к постоянному и самому непосредственному контакту с человеком, чтобы она понимала его не с помощью особых машинных команд, состоящих в основном из математических формул (так это делается сейчас), а, как говорится, с полуслова. То есть надо, чтобы машина «понимала» живую человеческую речь. Но ведь между машинным (математическим) и человеческим языком — огромная разница. Значит, первый шаг к «приручению» машины — расширение ее «языка».
Сейчас эта проблема решается с помощью так называемых трансляторов. Вместо машинного языка человек объясняется с ЭВМ на некотором формальном, так сказать, промежуточном языке. Текст-задание с помощью специальных программ (трансляторов) переводится на понятный нашему электронному помощнику машинный язык.
Казалось бы, ничто не мешает нам идти по этому пути. Можно пытаться построить формальную модель человеческого языка, скажем, русского, включающую в себя все основные грамматические конструкции и необходимый словарь. Тогда, по-видимому, в какой бы форме ни отдавал человек приказания машине, он может рассчитывать на «понимание».
Однако если ограничиться созданием все более и более богатых формальных языков, можно прийти к одному противоречию, которое будет серьезным препятствием на пути приближения машины к человеку. Дело вот в чем: чем богаче формальная система языка, тем больше времени надо для ее изучения.
Профессиональные программисты сейчас — это «жрецы-посредники» между машинами и человечеством. Однако речь идет о том, чтобы с машиной могли свободно общаться не только специалисты-программисты, но и все люди. Как же тогда устранить это противоречие?
Предположим, что машина «владеет» некоторым входным языком, представляющим собой достаточно содержательную формализацию русского языка. Не зная этого входного языка, человек обращается к машине в той форме, которую он считает удобной для себя. ЭВМ имеет программу, которая определяет, понятен ей заданный текст или нет, или понятен только частично. Если текст понятен, машина начинает выполнять задание. Если же текст непонятен, ЭВМ, выделяя из него неясные места, задаст вам серию вопросов. Вы ответите на них опять-таки в той форме, которую сочтете более удачной. Эти ответы будут как бы перефразировкой неясных машине вопросов «другими словами». Машина, получив эти перефразировки, подставляет их в текст и опять анализирует его. Если ей еще что-то неясно, она опять задаст дополнительные вопросы, и, таким образом, между человеком и машиной завяжется диалог. В результате этого диалога человек будет все более упрощать формулировку задания, пока оно полностью не станет понятным машине. Такой разговор, пожалуй, можно сравнить с диалогом учителя и нерадивого ученика. Ученик никак не может понять, что хочет от него учитель, и задает вопросы до тех пор, пока ему, как говорится, все «не разжуют». Только здесь сложнее. Диалог человека с ЭВМ можно охарактеризовать как приспособление человека к возможностям машины, как некое «привыкание» одного к другому.
Некоторые возразят: машина может понять задание не так, как понимает человек.
Но давайте посмотрим, как это происходит сейчас. Когда человек впервые подходит к машине с обычной программой, у него совсем нет уверенности, что его программа вполне соответствует поставленной им задаче. Процесс отладки машинной программы — это, по существу, тот же диалог человека и машины, только в своеобразной форме. Аварийные остановки машины — это сигналы о непонимании заданного текста. Исправления, вносимые в программу, — это перефразировки исходного текста, стремление к тому, чтобы машина все-таки поняла нас.
Вернемся теперь к нашей аналогии с учителем и учеником. Когда учитель передает ученику новое для него задание, он не жалеет слов, чтобы точно объяснить смысл задачи. Однако когда учитель повторно дает такое же или аналогичное задание, то он, естественно, полагает, что ученик в этом случае или совсем не задаст, или же задаст вопросы, которые относятся только к отличию повторного задания от первого.
Во взаимоотношениях человека и машины надо добиться, чтобы машина с каждым новым заданием становилась все «понятливей», чтобы, получая аналогичные задания, она не задавала одних и тех же вопросов. Иначе говоря, надо, чтобы машина сохранила в своей электронной памяти «протоколы» своих бесед с человеком и свои новые знания употребляла в дальнейшей работе. Это не что иное, как обучение машины человеческому языку.
Бесспорно, обучение неодушевленной машины человеческому языку — дело сложнейшее. Машина должна «сжимать» накопленную информацию за счет выявления «общего в частном», уметь обнаруживать общие закономерности, которые содержатся в частных разъяснениях. То есть, как любой ученик, изучающий язык, она должна понять какие-то общие правила.
Как видите, наша параллель между человеком и ЭВМ, учителем и учеником подтверждается. Сотрудничество машины с человеком приобретает характер динамического двустороннего процесса взаимообучения: учитель сначала приспосабливается к ограниченному языку ученика, чтобы тот его понял, а потом постепенно расширяет багаж словаря и знаний ученика, подтягивает его до своего уровня.
Расширение языка ЭВМ путем накопления «словарного запаса», как мне кажется, — это и есть та единственная реальная возможность установить «человеческие» взаимоотношения между людьми и их электронными помощниками. И, думается, время, когда машина будет понимать человека «с полуслова», не за высокими горами.
Примечания
[1] Комсомольская правда, 23.01.1965 г.
Из сборника «Андрей Петрович Ершов — ученый и человек». Новосибирск, 2006 г.
Перепечатываются с разрешения редакции.