Впервые над идеей фреймов я задумался в начале 1970-х годов, работая над созданием робота, который мог видеть, и описал свою теорию в 1974 году в статье под названием «Структура репрезентации знаний». Эта статья оказывала определенное влияние на исследования в области искусственного интеллекта целое десятилетие, несмотря на то что большинство читателей находили мои умозаключения слишком общими. Оглядываясь назад, я думаю, что мои объяснения находились в правильных «полосах пропускания» для своего времени, поэтому статью читали и обсуждали. Будь моя гипотеза действительно невнятной, ее бы проигнорировали, а если бы в ней идея описывалась более подробно, другие ученые могли бы заняться «тестированием», вместо того чтобы выдвигать собственные гипотезы. Тогда они, возможно, обнаружили бы, что моя теория некорректна. Но случилось то, что случилось; появилось много вариантов изложения той же идеи, и программирование на основе фреймов приобрело популярность.
Двое ученых, Скотт Фалман и Айра Гольдштейн, заявили, что понимают, что я имел в виду, а затем объяснили мою гипотезу, вложив в эти объяснения то, чего я даже не воображал. Другой исследователь, Терри Виноград, занялся созданием робота, который мог понимать целый класс предложений на английском языке; эта работа позволила сформулировать ряд важных положений о связи между грамматикой и ее влиянием на слушателя. Затем, поскольку деятельность этого робота заключалась в строительстве башен из детских кубиков, Виноград подробно проработал условия создания и действий Строителя. Его идеи оказали немалое влияние на настоящую книгу. Ученый Юджин Чарняк изучал особенности того, как маленькие дети воспринимают истории, которые им читают. Минимум год он изучал одну такую историю, а именно – о воздушном змее в качестве подарка на день рождения. Вскоре мы затронем идеи Чарняка в настоящей книге.
Все это время меня не покидало ощущение, что сама концепция фрейма была довольно очевидной и, возможно, присутствовала в неявном виде в более ранних трудах, например в теориях психолога Бартлетта. На мой взгляд, важнейшим достижением статьи 1974 года была концепция системы фреймов; в настоящей книге она получила название массива фреймов. Меня, признаться, удивило, что идея фреймов стала популярной, а вот концепцию массива фреймов не подхватили. «Немы» родились в 1977 году (как «строки C»); идея строк З оформилась в 1979 году. Что касается проном, смутные мысли на сей счет бродили в моей голове на протяжении нескольких лет, но не желали, так сказать, выкристаллизоваться до тех пор, пока, работая над настоящей книгой, я не сообразил, как объединить несколько ранних идей Роджера Шенка в трансфреймы. Схема, предложенная в настоящей книге (терминалы фреймов управляются пучками «-нем» или изоном), возникла через доброе десятилетия после появления концепции фреймового массива.
Остается еще множество вопросов о работе фреймов. Например, должно быть возможно распознавать одновременно несколько объектов, используя параллельно несколько фреймов. Но как мы можем различать сразу несколько лиц в толпе, видеть кирпичи стены или стулья в комнате? Мы что, многократно копируем один и тот же фрейм? Подозреваю, что это было бы непрактично. Вместо того, не исключено, мы сопоставляем каждый фрейм с одним образцом за раз – и просто допускаем, что тот же фрейм применим ко всем другим видимым объектам, которые обладают некими общими особенностями с объектом в поле нашего внимания.
Глава 26
Языковые фреймы