Найти тему
monkey with a typewriter

ИИ = нейросети?! Часть I. Рассуждения по прецедентам

Оглавление

Нейронные сети сейчас везде. Что само по себе не плохо: их популярность вполне обоснована и результаты приложений впечатляют. Вот только за всем этим ажиотажем и новостными заголовками теряются интереснейшие направления исследований в области искусственного интеллекта: рассуждения по прецедентам, рассуждения по аналогии, экспертные системы, контекстные системы поддержки принятия решений, и множество других.

Рассуждения по прецедентам (case-based reasoning CBR)

В этой области исследований для решения задач используется опыт, накопленный системой. Единицей хранения опыта является прецедент. В прецеденте описывается ситуация, состоящая из проблемы и решения.

Использование прецедентов способствует обучению системы - если проблема решена, то прецедент сохраняется и его можно использовать в похожих ситуациях. Поэтому говорят о цикле рассуждений по прецедентам, который состоит из четырёх этапов:

1) Извлечь самый похожий прецедент (или прецеденты)

2) Повторно использовать содержащуюся в нем информацию

3) Проверить корректность результата

4) Сохранить новый прецедент

Первая CBR система, CYRUS, была разработана в 1983 году Дж. Колоднер (Janet Kolodner). Это была вопросно-ответная система, хранившая информацию о рабочих поездках бывшего госсекретаря США Сайруса Вэнса. Несмотря на давность лет, идеи, положенные в основу этой системы, не потеряли своей актуальности.

Основная идея проста: объединить похожие прецеденты в рамках обобщённой структуры - эпизодического пакета. Каждый такой пакет содержит (a) прецеденты, (b) нормы, хранящие общую для прецедентов информацию, и (c) индексы, описывающие различия. Кроме того, вместо прецедента можно сохранить и другой эпизодический пакет. В результате из них можно строить иерархические структуры.

Иерархия пакетов "Дипломатические встречи". Адаптировано из [2].
Иерархия пакетов "Дипломатические встречи". Адаптировано из [2].

Пытливый читатель может спросить: "И что же здесь такого особенного? Ведь получается, что мы просто разбираем прецеденты на составляющие - всё одинаковое пишем в нормы, а все различия в индексы."

Однако, если в самом деле следовать такой стратегии, память быстро распухнет до неуправляемых размеров. С добавлением новых прецедентов неизбежен комбинаторный взрыв количества индексов, поэтому их выбор нужно контролировать. Для индексирования выбираются только те свойства, которые обладают "предсказательной способностью", т.е. их значения коррелируют с другими свойствами.

Сохраненные в памяти прецеденты нужно как-то извлекать. Для этого выполняется проход по индексам. Сначала запрос сравнивается с нормами. Если найдены совпадающие элементы, запрос сравнивается с индексами, и для совпадений выполняется дальнейший спуск по иерархии, пока не будет найден самый похожий прецедент.

На первый взгляд звучит тривиально. Вот только что делать, если запрос сформулирован в терминах, которые не использовались для индексирования? Или же формулировка настолько общая, что на её основе невозможно выполнить проход по индексам? Для этого в CYRUS используется подгонка индексов (index fitting) и построение возможных индексов (plausible-index generation).

Идеи, лежащие в основе этих механизмов, основаны на том, как люди отвечают на вопросы. Колоднер приводит в качестве примера монолог человека, которого попросили перечислить в каких музеях он побывал:

"Я помню, что посетил в Европе много музеев. Я был в Англии и сходил там в несколько музеев - некоторые в Лондоне - Британский музей, Лондонская национальная галерея и несколько галерей поменьше. Я был в музее в Брайтоне - Королевском павильоне. В Париже - Лувр и несколько других, поменьше. ..."

Из-за того, что этот человек бывал во многих музеях, выражение "посещение музея" не может идентифицировать отдельные события - их слишком много. Поэтому он вспоминает дополнительные свойства, которые напомнили бы каждое конкретное событие. В данном случае это географическое расположение.

Модель эпизодической памяти является только одним из множества способов организации базы прецедентов. Многообещающим направлением исследований является интеграция рассуждений по прецедентам с различными моделями представления знаний: продукционной (системы, основанные на правилах), коннекционистской (нейронные сети), логической (системы, использующие нечёткую логику) и другими.

Здесь наблюдательный читатель может заметить: "Но ведь мы рассмотрели только первый этап цикла! А дальше?". А дальше - методы повторного использования прецедентов. Эту сложную и интересную тему мы рассмотрим в следующий раз.

Литература

1. Aamodt A., Plaza E. A. Case-Based Reasoning: Foundational Issues, Methodological Variations, and System Approaches. AI Communications. IOS Press. 1994. Vol. 7:1. pp. 39-59.

2. Kolodner J. Maintaining organization in a dynamic long term memory. Cognitive Science. 1983. Vol. 7:4. pp.243–280.

3. Kolodner J. Reconstructive memory: a computer model. Cognitive Science. 1983. Vol. 7:4. pp.281–328.

4. Biswas S., Sinha N., Purkayastha B. A review on fundamentals of case-based reasoning and its recent application in different domains. International Journal of Advanced Intelligence Paradigms. 2014. Vol. 6:3. pp. 235-254.