Введение в экспертные системы

         

Сеть связности в системе SCAUR ([Rose, 1994])



Сеть связности в системе SCAUR ([Rose, 1994])




При конструировании сети в SCALIR сначала были организованы узлы для всех отобранных терминов, а затем они связывались с узлами документов, причем связям назначались веса в зависимости от значимости того или иного термина в контексте данного документа.

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

В целом сеть сиетемы SCALIR содержит порядка 13 000 узлов терминов, около 4 000 узлов прецедентов и около 100 узлов законодательных актов. Между узлами терминов и прецедентов организовано приблизительно 75 000 связей, а между узлами терминов и законодательных актов — около 2 000 связей. Кроме того, существует около 10 000 символических связей между узлами прецедентов. Роуз не счел нужным останавливаться на том, каких усилий потребовало создание подобной сети, но можно предположить, что такие ключевые задачи, как извлечение терминов и цитирование, были решены программно, а затем на основании этой информации автоматически сформированы узлы сети и связи между ними. Нужно принять во внимание и тот факт, что большинство горидических документов было уже ранее обработано публикаторами, которые составили достаточно полные индексы цитирования и ключевых слов.

Описанная сеть была затем использована в качестве базовой информационной структуры для извлечения документов. В основу функционирования системы положен принцип распространяющейся активности (spreading activation). Этот принцип не нов — ранее он использовался Квиллианом для работы с семантическими сетями (см. об этом в главе 6). Использование этого формального аппарата позволяет выяснить, существует ли какое-либо отношение между узлами в сети. Для этого запускается процесс распространения маркеров от узлов, представляющих интерес, и анализируется, произошло ли где-либо в сети "пересечение" распространяющихся маркеров.

Основная идея, положенная в основу работы SCALIR, состоит в том, что уровень активности данного узла должен быть пропорционален его "уместности" в рассматриваемом контексте. Если в результате обработки запроса возбуждается некоторое число узлов слоя терминов, это должно привести к возбуждению узлов тех документов, которые касаются данного запроса, причем уровень возбуждения зависит от того, насколько тот или иной документ отвечает сути запроса. Узлы, воспринимающие запросы, являются, по сути, сенсорными узлами нейронной сети, от которых возбуждение по С-связям передается другим узлам. В процессе распространения возбуждения в дело включаются и S-связи, которые передают возбуждения от одних узлов документов другим, связанным с ними. Таким образом, символические связи отражают знания о том, что если определенный документ имеет отношение к полученному запросу, то, скорее всего, и связанный с ним другой документ также имеет отношение к этому запросу. Веса символических связей фиксированы, поскольку сила такой ассоциативной зависимости может быть оценена заранее.

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

(1) Количество активности, которое вносится в систему, не должно зависеть от размерности запроса.


(2) В каждом очередном цикле распространения активность не должна возрастать.

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

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

С-связи используют линейную функцию активизации, которая содержит константу сдерживания (retention constant) р, как показано в приведенном ниже выражении. Значение этой константы определяет, какая часть активности узла сохраняется в последующем цикле возбуждения, а какая распространяется дальше по сети.

ai(t + 1) = р аj(t) + (1 - p) Sumj [Wij aj(t)]

Совершенно очевидно, что приведенная функция активизации будет удовлетворять сформулированным требованиям, поскольку ai(t +1)=< ai(t) до тех пока, пока Sumj[Wij= < 1]

Функция такого же вида использована и в работе [Belew, 1986]. Роуз следует идеям, изложенным в этой работе, и в отношении организации управления активностью сети в SCALIR.

  • Для выделения узлов, активность которых достаточна для участия в процессе извлечения информации, вводится параметр Os — порог значимости (significance threshold). Значение этого порога уменьшается по мере распространения активности по сети.
  • Для выделения узлов, активность которых слишком слаба и которые поэтому можно игнорировать в процессе извлечения информации, вводится параметр Oq — порог успокоения (quiescence threshold). Использование этого порога позволяет избежать непроизводительных затрат времени на анализ малоактивных узлов.
Эти параметры используются в алгоритме распространения активности по сети SCALIR, который в упрощенном виде представлен ниже. Этот алгоритм реализует метод поиска в ширину, начиная со входных узлов восприятия запроса (QUERY-NODES) и заканчивая всеми взвешеннымисвязями.

Установить исходное значение OS.

Включить в множество ACTIVE-NODES узлы из множества QUERY-NODES.

Цикл {

Если имеется запрос, установить уровни активности узлов в QUERY-NODES.

Включить в множество RESPONSE-SET все узлы из ACTIVE-NODES, чья активность превышает OS.

Удалить из множества ACTIVE-NODES все узлы, чья активность ниже Oq.

Добавить в множество ACTIVE-NODES все узлы, связанные с узлами, уже включенными в ACTIVE-NODES.

Обновить значение активности всех узлов множества ACTIVE-NODES, используя функцию активизации.

Рассортировать узлы в множестве ACTIVE-NODES по уровню активности. Уменьшить значение Os.

}

пока не будет выполнено (OS =< Oq) или (ACTIVE-NODES = 0).

В упрощенном варианте не рассматривается использование параметра, ограничивающего ширину пространства поиска. Кроме того, мы опустили в этой формулировке алгоритма и анализ максимального размера множества выходных узлов. Ограничение множества выходных узлов прекращает выполнение поиска после того, как выделено предельное количество извлекаемых документов.

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









Содержание раздела