Познать механизмы мышления
Источник: сборник научно-популярных статей «Реальность и прогнозы искусственного интеллекта», серия «В мире науки и техники», 1987 год. Авторы: Роджер Шенк, Ларри Хантер.
Область науки, называемая «искусственный интеллект» (ИИ), занимается изучением самых таинственных вопросов человеческого существования. Какова природа мышления? Какие процессы происходят в нашем организме, когда мы думаем, чувствуем, видим, понимаем? Возможно ли в принципе понять, как работает наш мозг? На протяжении тысячелетий человек задавался этими вопросами, но до сих пор мы не можем ответить на них сколько-нибудь определённо.
Исследования в области искусственного интеллекта вооружили нас новым средством для изучения этих вопросов – компьютером. Каждый, кому приходилось иметь дело с ЭВМ, согласится, что часто машина порождает больше проблем, нежели решает. Однако для исследования процесса мышления это только полезно.
ЭВМ помогает нам понять суть процессов познания прежде всего тем, что даёт возможность проверить теоретические предположения о том, как работает мозг. Теории такого рода обычно строятся как описания происходящих процессов. Например, пытаясь понять, как человек получает ответ на вопрос, можно предположить, что при этом вопрос сначала переводится во «внутреннее представление»; затем, пользуясь этим «внутренним представлением» как своего рода указателем, человек находит в памяти нужную информацию, преобразует её в форму, удобную для ответа, после чего переводит в слова (эту модель не следует рассматривать как пример реальной теории процесса построения ответа – она лишь иллюстрирует такие теории деятельности мозга, которые опираются на понятие процесса).
Казалось бы, подобные описания достаточно хорошо отражают процессы, которые, возможно, происходят в сознании. Однако то, что на первый взгляд выглядит вполне удовлетворительным описанием, на деле, как правило, оказывается весьма несовершенным. Разве процессы, связанные с запоминанием какого-либо факта, можно прояснить фразой: «... пользуясь внутренним представлением как указателем, находят информацию, хранящуюся в памяти...»? Как факты вызываются из памяти? Как эта память организована? Как мозг справляется с огромными объёмами информации? А что происходит, если какой-то факт сам по себе не хранится в памяти, а выводится из имеющейся в ней информации? Если программист попытается написать программу на такой примитивной теоретической основе, как в приведённом примере, то немедленно столкнётся со всеми названными и многими другими вопросами. Поэтому и полезно писать программы: они требуют чёткости изложения, а это в свою очередь побуждает нас углублять теоретические представления.
Совсем недавно основное внимание учёных (в том числе и авторов данной статьи) в области искусственного интеллекта было направлено на то, что считалось проявлением высокого интеллекта, а именно на игру в шахматы, доказательство теорем, решение сложных логических головоломок и т. д. Много сил было потрачено на создание эффективных программ для решения такого рода «интеллектуальных» задач. Однако вскоре обнаружилось, что разработанные методы не похожи на те, которыми в действительности пользуются люди при решении подобных задач.
[Исторически это не совсем верно, поскольку при постановке указанных здесь задач с самого начала и не пытались скопировать методы, которыми пользуется для их решения человек. Наоборот, исследования велись в надежде, что чисто машинные методы искусственного интеллекта окажутся более сильными: ведь с вычислительными задачами ЭВМ справляется гораздо лучше человека.
Накопленный опыт показал, однако, что во многих интеллектуальных задачах превзойти человека пока не удаётся, несмотря на использование самой передовой вычислительной техники. Это одна из причин, объясняющая, почему интерес учёных из области искусственного интеллекта переключился на такие обыденные для человека вещи, как язык, здравый смысл и обучение, и на методы, к которым человек прибегает при решении различных проблем. – Прим. ред.].
И теперь учёные занялись исследованием таких вещей, которые любому взрослому человеку кажутся тривиальными: использование языка, обращение к «здравому смыслу», умение учиться на собственном опыте.
Язык
Изучение вопроса о сущности мышления мы начали с попытки написать программу, в которой мог бы использоваться английский или любой другой «естественный» язык. Нам хотелось, чтобы эта программа могла понимать напечатанное слово, т. е. выяснять его смысл, переводить его на другой язык и отвечать на различные вопросы, касающиеся этого слова. Однако мы тотчас заметили, что люди обычно понимают гораздо больше непосредственного лексического значения слова. Например, большинство людей не сомневаются, что предложение «Джон купил машину» имеет отношение к деньгам, хотя слово «деньги» в нём отсутствует. Следовательно, любая программа, способная понять смысл данного предложения, должна ответить «да» на вопрос: «Потратил ли Джон деньги?».
Но каким образом программа может узнать это? Один способ сообщить программе такую информацию заключается в том, чтобы связать слово «деньги» со словом «купил», т. е. программа должна знать, что «покупать» это значит «тратить деньги на что-либо». При таком подходе смысл предложения складывается из смысла входящих в него слов. В общем это верно, но возникает и ряд трудностей. Во-первых, слова могут иметь неоднозначный смысл, что часто приводит к неправильным выводам о смысле предложения. Например, слово «покупать» не всегда означает, что какие-то деньги переходят из рук в руки, как, скажем, это имеет место в предложении «Джон купил свою свободу ценою измены». Неоднозначность слов – столь частое явление, что любая программа должна иметь средства для её разрешения.
Ещё одна трудность связана с тем, что скрытый смысл не вытекает из определений слов, взятых из словаря. Рассмотрим такой короткий рассказ: «Джон пришёл в кафе. Он заказал сандвич. Официант быстро принёс его, поэтому он дал большие чаевые». Из рассказа ясно, что Джон съел сандвич и заплатил за него. Но ведь эти действия не вытекают ни из одного употреблённого в рассказе слова. Как же может машина сделать такой вывод? Для этого ей необходимо сообщить сведения о том, что обычно люди делают в кафе. Человек, прослушав этот рассказ, может, кроме того, сказать, что Джон, вероятно, сел за стол, просмотрел меню, что на кухне приготовили сандвич и т. д. Программа должна быть способна заполнять пропуски в тексте заложенной в ней информацией об описываемых событиях.
Обе задачи решаемы; для этого программе нужно постоянно строить прогноз относительно дальнейшего хода событий. Ведь у людей неоднозначность почти никогда не вызывает затруднений, так как из контекста ясно, какое значение слова подходит в том или ином конкретном случае. Чтобы справляться с неоднозначностью, программе также придётся строить «контекст». Другими словами, программа должна предвидеть последующий ход событий на основании того, что уже произошло, и того, что она знает о подобных ситуациях. Прогнозы подсказывают не только дальнейшие события, но и смысл слов; например, фраза «Бармен плеснул виски на лёд» однозначно определяет смысл слова «лёд»: в данном случае подразумевается, что это кубики льда в стакане.
Прогноз помогает восполнять пропуски в рассказе. Обычно мы прогнозируем сразу много вещей. Когда в рассказе упоминается кафе, мы ожидаем, что речь пойдёт об определённом наборе объектов, событий, людей. Программисты называют это пакетом ожиданий. В нашем рассказе он включает меню, клиента, который просматривает меню, что-то выбирает и заказывает официанту, затем ждёт исполнения заказа, ест, после чего со стола убирают и приносят чек; клиент оплачивает чек, оставляет чаевые и уходит. Из приведённого примера видно, что пакет ожиданий вызывается программой в нужном месте анализа текста, помогая ей сделать вывод о том, что «Джон съел сандвич». Если ожидание оправдалось, программа делает и другой вывод – что предыдущие ожидания, вероятно, тоже оправдались. Знания об обычном ходе событий помогают людям прогнозировать своё поведение и поведение других людей. Невозможно понимать язык без того, чтобы хоть что-то не знать об описываемых событиях.
Для создания программы, позволяющей проверить эти идеи, необходимо точно выяснить, какие бывают ожидания и как они используются людьми. Мы начали с изучения поведения. Люди постоянно делают прогнозы на различных уровнях детализации. Прогнозируем, какой слог будет произнесён следующим, достраивая отдельные неясные звуки до однозначно понимаемого слова. С учётом лексики строим прогнозы относительно того, какие слова или классы слов должны быть сказаны. Мы прогнозируем наступление наиболее вероятных событий; строим множество прогнозов по различным поводам: о целях других людей, планах и контрпланах, которые они разрабатывают на пути достижения своих целей, об эмоциональных реакциях на события.
Затем мы стали думать, как же все это организовать в программе. В каком-то смысле любая традиционная программа, анализирующая естественный язык, тоже строит прогноз. Разница между традиционным, строго синтаксическим, анализатором и нашим, концептуальным, – в источнике прогноза. Синтаксический анализатор использует только знания о грамматике, тогда как концептуальный черпает информацию из многих источников, в том числе и из грамматики языка. Для традиционного анализатора синтаксический анализ предшествует всем другим видам анализа, а в нашем анализаторе текст одновременно подвергается обработке по нескольким линиям анализа.
Многие прогнозы, а именно прогнозы низкого уровня, берутся из словаря, дающего значения слов. Некоторые из наших программ представляют значения слов с помощью концептуальных зависимостей (КЗ). Основная структура КЗ такова: в ней имеются слоты [Слот – это распространённый в специальной литературе термин, обозначающий ячейку, отведённую в формальной схеме, в которую предполагается заносить информацию вполне определённого типа. – Прим. ред.] для хранения действий, действующих лиц, объектов и для компонентов направления («к» или «от»). Каждое действие в КЗ накладывает семантические ограничения на элементы, которыми можно заполнять слоты КЗ. Например, действие «есть» требует, чтобы объект был съедобный, а действующее лицо – одушевлённым. Когда в тексте появляется какой-либо синоним, обозначающий это действие, слушающий ожидает узнать о чем-то съедобном (обычно после слова, обозначающего действие «есть») и об одушевлённом действующем лице (обычно перед этим словом). Обратите внимание, что порождаемые КЗ ожидания имеют как семантический (прогноз значения слова), так и синтаксический (прогноз, где это слово может встретиться в предложении) характер. Но даже на уровне действия в структуре КЗ может возникнуть неоднозначность. В этом случае программа сохраняет все ожидания и затем выбирает из них то действие, при котором выполняются ожидания для других слов в рассказе. Этот же метод позволяет различать два значения слова «купил» в приведённом ранее примере, где слово «купил» порождает два множества ожиданий: одно, относящееся к рыночному товару, а другое – к ценной, но уже в переносном смысле, категории, товаром не являющейся. Как только удовлетворяется одно такое множество ожиданий, второе программа перестаёт рассматривать.
Есть и другие способы разрешения неоднозначности. Более сложные схемы прогноза значительно информативнее. Вернёмся опять к рассказу о посещении кафе: «...Официант быстро принёс его, поэтому он дал большие чаевые». В этом тексте встречается неоднозначное местоимение «он». Стандартные правила соотнесения местоимения со значимыми частями речи здесь не помогают: во-первых, число и род у всех существительных, которые могут претендовать на соотнесение с этим местоимением, одинаковы; во-вторых, мы понимаем, что «он дал» говорится не об официанте, хотя, согласно стандартным правилам, местоимению обычно приписывают значение ближайшего в тексте существительного, имеющего тот же род и используемого в том же числе. Единственное, что подсказывает нам правильное понимание этого местоимения, – это ожидание, указывающее, что клиент обычно оставляет чаевые обслуживающему персоналу. Можно было, конечно, пойти другим путём и связать эту информацию со словом «чаевые», но понятия «клиент» и «обслуживающий персонал» не являются хорошими семантическими ограничениями для значений соответствующих слотов, так как в одной ситуации Джон может быть клиентом, а в другой – обслуживать кого-то. Ожидания «клиент – обслуживающее лицо – чаевые» и идентификация Джона как клиента на самом деле следуют из пакета ожиданий, касающегося кафе.
Начав использовать в программах пакеты ожиданий, мы обнаружили следующее. Во-первых, любые рассказы о жизненных ситуациях адресуются одновременно ко многим пакетам, и между этими пакетами существует множество связей. Пакеты объединяются в группы (например, «свидание» = «поездка», «ресторан», «поездка», «кинотеатр», «поездка»); они могут заполнять слоты в других пакетах (например, слот «оплачиваемая работа» в пакете «ресторан» заполняется действием «мытьё посуды»). Действия могут протекать одновременно (скажем, «есть» и «лететь в самолёте») или, наоборот, быть несовместимыми («ехать в машине» и «лететь в самолёте»). Пакеты могут иметь прямую связь со значениями слов. В пакете «ресторан» слово «чай» в сочетании «на чай» имеет совсем другое значение, чем название напитка. Эти связи, впрочем, не решают полностью проблемы неоднозначности, но могут быть весьма полезными.
Метод пакетов порождает свои трудности. Каким образом программа решает, какой пакет следует вызвать в каждом конкретном случае? Для этой цели каждый пакет характеризуется определёнными условиями активации, т. е. условиями, при которых он считается относящимся к текущей ситуации. Наши первые программы просто перебирали все пакеты в поисках подходящего условия. Когда число пакетов существенно увеличилось, нам пришлось усовершенствовать их организацию, ибо стало невозможным перебирать все пакеты, чтобы в нужный момент отыскать соответствующий. Когда мы стали давать нашим программам реальные сообщения о событиях (телеграфные сообщения агентства ЮПИ), обнаружилось, что иногда ожидания оказывались неверными, причём часто такие неудачи соответствовали очень интересным событиям. Мы стали сравнивать эти «неудачи» с теми, когда ожидания вообще не удавалось найти, поскольку программа не могла сделать никакого прогноза по тексту.
Ещё одна проблема заключалась в том, какую информацию можно выбрать в качестве пакета, а какую – нет. Так, например, в ситуации «еда дома» многое совпадает с ситуацией «еда в кафе». Поэтому не ясно, стоит ли сводить эти ситуации в один сценарий или хранить в разных? А что можно сказать о еде в разных кафе и ресторанах? Нам была нужна теория, которая позволяла бы организовывать и выявлять группы ожиданий.
Короче говоря, чтобы создать программу, которая могла бы читать небольшой текст из нескольких предложений и отвечать на вопросы по этому тексту, мы начали с изучения языка. Вскоре мы обнаружили, что для наших целей следует строить ожидания, касающиеся существа вопроса, о котором идёт речь. Эти ожидания основываются на различных источниках и объединяются в пакеты. Здесь перед нами встали вопросы: что помещать в эти пакеты, как их организовать и как ими пользоваться? То, что начиналось как изучение языка, постепенно превратилось в теорию познания и организации знаний, т. е. по существу в исследование памяти.
Память
Как создаётся прогноз? Как мы узнаём, что должно произойти потом? Чтобы понять, что последует дальше, мы используем наш прежний опыт. Новорожденные не понимают рассказов о кафе и ресторанах, а люди, которые там работают, могут увидеть очень многое за каким-то, казалось бы, незначительным фактом. Все увиденное мы кодируем в уже известных понятиях. Вот почему два человека, будучи свидетелями одного и того же события, могут трактовать его по-разному: каждый из них опирается на свои знания и пакеты ожиданий. Наша способность понять и оценить Ситуацию вытекает из способности сравнивать её с соответствующими прежними ситуациями. Знания, полученные из опыта (так называемая ситуативная память), которые мы используем и для понимания, т. е. для семантической памяти, – это как раз те знания.
Какое отношение все это имеет к нашим пакетам ожиданий? Во-первых, как оказалось, такие пакеты позволяют эффективнее хранить информацию об отдельных эпизодах. Вместо того чтобы фиксировать каждый момент случившегося события, программа должна просто указать на прототип (например, «в кафе») и, кроме того, содержать те элементы информации, которых в пакете не было (например, то, что клиента звали Джон, что пищей был сандвич, что чаевые были большими). Память регистрирует лишь те данные, которыми эпизод отличается от прототипа. Поскольку пакеты содержат то, что мы ожидаем от ситуации, они служат её прототипом и эффективным способом организации памяти о событиях. Таким образом, пакеты ожиданий выполняют ещё одну роль: это не только ожидания, нужные для понимания, но и память о совершившихся событиях.
Если пакеты должны выполнять функцию памяти, а не только служить для анализа текстов, то они должны удовлетворять некоторым дополнительным требованиям. Самое главное – структура памяти должна быть динамической. Нужно иметь возможность менять её с накоплением опыта. Память, которая не реагирует на новые входные данные и не учится на опыте, нерезультативна. Во-первых, память, построенная на основе системы ожиданий, должна быть способна реагировать на неудачу прогноза и реорганизовать себя так, чтобы в дальнейшем давать более точные прогнозы. Во-вторых, система памяти должна уметь находить любые хранящиеся в ней сведения. Это не так просто, как кажется на первый взгляд. Задача памяти – найти события, связанные с данным событием. Но что значит «связанные» события и где их искать? Эти две цели (запоминание и обучение) – основные в наших теоретических исследованиях структуры памяти. Очень важно понять, как строится наше знание и как оно меняется.
Люди располагают мощным механизмом, с помощью которого можно исследовать структуру памяти, – ассоциативным воспоминанием. Это обычное явление: люди всегда вспоминают одни вещи по ассоциации с другими. Что-то может напомнить нам другие объекты, людей или ситуации. Разговаривая, люди часто вспоминают предшествующие события. «Обрабатывая» этот разговор, мозг активизирует память, которая помогает понять сказанное. Тот факт, что одна жизненная ситуация напоминает нам другую, указывает на то, что для запоминания и понимания мы используем одни и те же структуры. Изучая ассоциативную память, мы получаем возможность исследовать структуру памяти.
Теперь, познакомив читателя с нашей концепцией структуры памяти, мы можем вернуться к примеру о посещении кафе. Предположим: получив счёт, Джон обнаружил, что официант ошибочно взял с него слишком много, и указал тому на ошибку в счёте. Извинившись, официант не только исправил ошибку, но и предложил Джону бесплатно десерт. Джон (или любая динамическая система памяти, которая пытается понять, что происходит) запомнит это отклонение от ожидаемого течения событий. Если когда-нибудь в дальнейшем Джон заметит подобную ошибку, скажем при покупке запчастей для автомобиля, то он может по ассоциации вспомнить случай в кафе. И тогда, опираясь на прежний опыт, он будет ожидать от автомагазина компенсации за ошибку. Почему события в магазине напоминают ему события в кафе? В памяти должны быть структуры, которые используются для понимания обоих этих событий. Кроме того, храня информацию о неоправдавшихся ожиданиях (а также их результатах) в общей структуре, мы автоматически производим обобщение.
Что это даёт для понимания организации памяти? Ясно, что не все ожидания в этих двух событиях совпадают. Вряд ли Джон будет ожидать, что в автомагазине ему предложат посмотреть меню или подадут омара на обед. Совпадает следующее: в обоих случаях он будет ожидать, что узнает, какие услуги здесь предлагаются клиенту, сообщит обслуживающему персоналу, в чём нуждается, получит желаемое, после чего ему подадут счёт, который он оплатит. Некоторые элементы встречаются в одних сценариях и не встречаются в других: например, в автомагазине клиента не будут провожать к столу. Отличия могут быть в специфике одного и того же действия: скажем, в автомагазине клиент знакомится с предлагаемым ассортиментом по каталогам, где запчасти пронумерованы и расположены по маркам машин и годам, тогда как в кафе он просматривает меню.
На основании сказанного можно сделать несколько выводов о структуре памяти. Пакеты ожиданий сгруппированы гнездовым способом, т. е. имеют подпакеты. В терминологии ИИ пакет принято называть МОП (от англ. memory organization package – пакет организации памяти), а подпакет – сценой. Многие сцены входят в несколько МОПов; примеры сцен: «покупка» и «заказ». Важно отмстить, что перечень пакетов ожиданий никогда нельзя считать окончательным. Пакеты, которые использует любая динамическая система организации памяти в каждое конкретное время, зависят от её предыдущего опыта. МОП содержит информацию о специфических деталях входящих в него сцен. Эти детали называются «раскрасками»: например, МОП «ресторан» «раскрасит» сцену «оплата», определив приемлемые формы оплаты в ресторане (наличными, в кредит, поденной работой за еду и т. д.).
Наличие общих сцен позволяет делать обобщения. Когда ожидания не оправдываются, а их источник входит в общую структуру, то неудача и новые ожидания, построенные на основании этой неудачи, запоминаются данной структурой. При повторении подобной ситуации – даже в другом пакете – прошлая неудача всплывает в памяти, так как она хранится в общей сцене. Теперь она может использоваться для анализа новых событий. Программа, построенная на основе такой системы, «сообразит» посчитать сдачу в автомагазине, если её ранее обсчитали в ресторане, поскольку в обоих пакетах есть общая сцена оплаты. Сочетание механизма обучения на собственных ошибках и общих структур памяти очень эффективно. Неоправдавшиеся ожидания могут быть также использованы для вывода новых МОПов из старых – путём изменения «раскраски» или порядка следования сцен (например, в закусочной с самообслуживанием клиент платит до еды).
Разработанная нами теория мышления и основанные на ней программы выделяют целый ряд структур, о которых здесь не упоминалось; однако основные принципы организации памяти должны быть теперь ясны. Пока, правда, не совсем понятно, как велико значение организации памяти в процессе познания. Способность извлекать нужную информацию в нужный момент из нашей огромной, постоянно меняющейся памяти играет важную роль не только для эффективного владения языком, но и для проявлений «здравого смысла» (который по сути есть не что иное, как логика обыденной жизни, знание о многих вещах и событиях, а также использование этих знаний в самых разнообразных ситуациях). Такая способность необходима для реализации богатых знаний специалистов, для создания литературных произведений и решения многих других важных задач. Умение учиться на собственном опыте и правильно применять свои знания в соответствующих ситуациях – важная составляющая настоящего интеллекта.
Что такое искусственный интеллект
Термин «искусственный интеллект» в последнее время нередко подвергался нападкам, поэтому нам хотелось бы сначала пояснить, что мы под ним понимаем. Программы, реализующие теории знания, приносят интересные – а порой даже очень интересные – результаты. Однако многие программы, не претендующие на имитацию процесса познания, также могут давать значительные результаты. В термине «искусственный интеллект» неспециалисты обычно акцентируют внимание на слове «искусственный». В настоящее время компьютеры действительно способны делать многое такое, о чём прежде мы не могли и мечтать. Усилиями учёных и инженеров производительность и сфера применения компьютеров непрерывно увеличиваются, но это ещё не искусственный интеллект. Основное значение искусственного интеллекта как научного направления заключается именно в слове «интеллект» – таинственном и привлекательном. Многие прекрасные «интеллектуальные» программы не делают ничего полезного, а многие «умные» программы не имеют никакого отношения к ИИ. Если бы с самого начала эти вещи чётко разграничивались, то нам, по-видимому, удалось бы избежать путаницы, недовольства и разочарований.
Хороший пример тому – экспертные системы. Это программы, более точно называемые программами вывода, основанного на правилах, не предназначены для имитации рассуждений человека-эксперта. Зачастую эти системы хорошо справляются с важными заданиями, отнюдь не моделируя решения творческих задач. Человек-эксперт не просто следует каким-то правилам. У него есть опыт, позволяющий увидеть необычный случай и помогающий ему принимать правильные решения с учётом этого опыта. Наш подход к проблеме моделирования работы экспертов иной: мы ставим целью описать, как поступает эксперт, когда ситуация не укладывается в общие правила. Кроме этого в теорию следует включить изменение и пополнение экспертом набора правил, если какой-то конкретный случай не укладывается в имеющиеся правила.
Искусственный интеллект – гораздо более фундаментальная область исследований, чем обычно считают. Многие из самых блестящих идей ИИ требуют детальной теоретической проработки, прежде чем они дойдут до программной реализации. Но после того, как идеи ИИ превращаются в прикладную систему, они в каком-то смысле переходят рамки ИИ. Конкретные условия ставят системе множество ограничений, которые требуют чисто программистских решений для того, чтобы эту систему можно было использовать в реальной среде, на реальных машинах и получать необходимые практические результаты. В основе такой системы лежит идея ИИ, но её достоинства определяются тем, как она действует, а не тем, что её вызвало к жизни. В конечном счёте получается, что по основополагающей идее системы невозможно судить о её функционировании.
Найдутся ли применения искусственному интеллекту? Мы полагаем, что да. Если мы выясним, как мыслят люди, наши исследования помогут людям оптимизировать этот процесс. Возможно, что самое важное значение ИИ будет заключаться не в написании новых программ, а в новом подходе к пониманию процесса мышления. Если мы узнаем что-то новое о том, как человек читает и понимает прочитанное или сказанное, как происходит творческий процесс, то это поможет людям в их деятельности. Возможно, наиболее многообещающим выглядит применение ИИ в образовании – программы помогут учить людей читать, запоминать, мыслить на основании фундаментального понимания этих процессов.
Рассмотрим вопрос обучения детей (или взрослых) чтению. Пытаясь написать программы, способные читать, мы многое узнали об этом процессе, и на основании этих знаний можно было бы разработать методику обучения чтению. Конечно, это не всегда просто, но в принципе возможно. Ожидания играют основополагающую роль в понимании текста. Когда у детей развивается способность строить ожидания относительно известных им слов и текстов, они начинают лучше читать. Владение языком тесно связано со знанием существа вопроса, поэтому по своему содержанию детские книги должны быть близки к тому, что дети знают. Используя пакеты ожиданий, касающиеся того, что детям известно, можно было бы создавать более совершенные хрестоматии для чтения и писать такие книги, которые развивали бы у детей способность заполнять тексты деталями, «читаемыми между строк», и таким образом учили бы детей логическому мышлению. Поскольку исследования в области искусственного интеллекта были всё время связаны в первую очередь с проблемой языка, накоплено много знаний именно из области обучения чтению. Но это не единственное, что могут дать исследования в области ИИ. В будущем, возможно, станет более ясно, как учиться и лучше запоминать информацию, как лучше объяснять новое и даже как развить творческие способности.
Искусственный интеллект как область науки – это лишь малая часть грандиозной попытки постичь мышление. Мы считаем, что это основная цель данной области науки и здесь достигнуты немалые успехи. Программы, которые мы пишем, важны как эксперимент, а не как конечный результат. Главный интерес для нас составляет именно интеллект, а не его искусственное происхождение. Если мы достигнем успеха в этом направлении, то проложим путь для создания механических помощников человеку в его повседневных делах и заботах. Но не в этом главное. Самое важное, чего мы тогда добьёмся, – более глубокого понимания самих себя, что, безусловно, гораздо ценнее, чем любая программа.
Об авторах: Роджер Шенк – декан факультета вычислительной техники Йельского университета. Ларри Хантер – выпускник этого факультета.