Механизм структурного отображения

Механизм структурного отображения (англ. Structure Mapping Engine, SME) — программная реализация алгоритма аналогического сопоставления, основанного на психологической теории Дедре Гентнер[1]. Согласно идее структурного отображения Гентнер, аналогия — это перенос знаний из одной области (базы) в другую (цель). Механизм структурного отображения является компьютерной моделью аналогий и сопоставления сходств.

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

Теория структурного отображения

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

Также теория требует выполнения отображения один-к-одному, то есть ни одна часть описания источника не может соответствовать более чем одному элементу цели, и ни одна часть цели — более чем одной части источника. Кроме того, если производится сопоставление субъект-объект, должны сопоставляться и аргументы субъекта и объекта. Если оба условия выполняются, считается, что отображение структурно согласовано.

Основные понятия механизма структурного отображения

Механизм структурного отображения сопоставляет знание из источника с целью. Каждое описание называется dgroup. Dgroup содержит перечень сущностей и предикатов. Сущности представляют объекты или понятия в описании — например, входная шестерёнка или выключатель. Предикаты — это обобщённые выражения знаний, которые в SME бывают трёх типов.

  • Отношения (relation predicates) принимают несколько аргументов — других предикатов или сущностей. Пример отношения: (transmit (что откуда куда)). Здесь функтор — transmit, а аргументы — что, откуда, куда.
  • Атрибуты (attribute predicates) — свойства сущности. Пример: (red gear), что означает, что шестерёнка обладает атрибутом красная.
  • Функции (function predicates) сопоставляют сущность с другой сущностью или константой. Пример: (джоули power source) — источник питания обладает величиной джоули.

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

У всех предикатов есть четыре параметра: (1) функтор (идентификатор), (2) тип (relation, attribute или function), (3) и (4) параметры для обработки аргументов в алгоритме SME. Если аргументы должны совпадать по порядку, commutative — ложь. Если предикат может принимать любое число аргументов, N-ary — истина. Пример определения предиката: (sme: defPredicate behavior-set (predicate) relation: n-ary? t: commutative? t). Здесь функтор — «behavior-set», тип — «relation», а параметры n-ary и commutative заданы как истинные.

Подробности алгоритма

Алгоритм включает несколько этапов[2].

Первый шаг — создание набора гипотез сопоставлений между dgroup источника и цели. Гипотеза сопоставления представляет возможное отображение части структуры источника на часть цели. Этим процессом управляет набор правил сопоставления. Изменяя эти правила, можно варьировать тип аналогического вывода. Например, один набор правил соответствует аналогии буквального сходства, другой — истинной аналогии. Эти правила определяют не содержимое доменов, а уточняют процесс аналогии в зависимости от желаемой модели когнитивной функции.

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

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

Для иллюстрации рассмотрим предикаты:

transmit torque inputgear secondgear (p1) transmit signal switch div10 (p2)

Мы используем тип вывода «истинная аналогия». Правило-фильтр сопоставляет p1 и p2 по совпадающему функтору transmit. Intern-правила затем создают три гипотезы: torque — signal, inputgear — switch, secondgear — div10.

Если бы аргументы были функциями или атрибутами, предикаты выглядели бы так:

transmit torque (inputgear gear) (secondgear gear) (p3) transmit signal (switch circuit) (div10 circuit) (p4)

В этом случае inputgear, secondgear, switch, div10 считаются функциями или атрибутами в зависимости от определения. Также появляются дополнительные сущности — gear и circuit.

В зависимости от того, являются ли inputgear, secondgear, switch, div10 атрибутами или функциями, их смысл меняется. Как атрибуты, они становятся свойствами объекта (шестерёнка или схема). Как функции — отражают количественные характеристики этих объектов (например, «крутящий момент от inputgear» или «сигнал с переключателя»). SME обрабатывает их по-разному: атрибуты сопоставляются только при наличии высокоуровневого отношения, а функции могут сопоставляться без него. Совпадение функций допускается, так как они опосредованно ссылаются на сущности, как и отношения, не содержащие сущностей. Однако intern-правила присваивают таким совпадениям меньший вес по сравнению с отношениями.

Атрибуты не сопоставляются напрямую, поскольку цель алгоритма — сформировать связанное знание на основе отношений, соблюдая принцип системности. Например, если у часов и машины есть атрибут inputgear, SME не считает их сходными; иначе это было бы сопоставление по внешнему признаку, а не по их отношениям.

При совпадении аргументов-функций в p3 и p4 к сравнению добавляется сопоставление gear и circuit, а вес гипотез между (inputgear gear) и (switch circuit), (secondgear gear) и (div10 circuit) становится ниже. Если же inputgear, secondgear, switch, div10 выступают в роли атрибутов, то совпадения между атрибутами не находятся — совпадают только transmit и torque — signal; кроме того, оценки сходства становятся ещё ниже. Чтобы добиться совпадения, p3 следует заменить на:

transmit torque (inputgear gear) (div10 gear) (p5)

Поскольку div10 выявлен как совпадающий атрибут в более общем отношении (между torque и signal), SME сопоставит (div10 gear) и (div10 circuit), что приводит к совпадению gear и circuit.

Обязательным условием для сопоставления атрибутов является их участие в высшем отношении: если (div10 gear) и (div10 circuit) не входят в такое отношение, SME не сопоставляет их. Однако для функций и отношений такого ограничения нет.

Оценка структурного соответствия

После генерации гипотез сопоставлений SME рассчитывает оценку структурного соответствия (evaluation score) для каждой гипотезы с помощью набора intern-правил, суммирующих положительные и отрицательные признаки совпадения (evidence). Все признаки объединяются по правилу Демпстера (Dempster’s rule) и дают числовые оценки уверенности от 0 до 1. Правила назначают разные значения весов для сопоставлений функций и отношений; значения можно программно настраивать, но по умолчанию они согласуются с принципом системности[2].

Правила следующие:

  1. Если источник и цель — не функции и их порядок совпадает, даётся +0,3; если порядки различаются на 1 — +0,2 и −0,05.
  2. Если функторы совпадают, даётся +0,2 (для функции) или +0,5 (для отношения).
  3. Если совпадают аргументы, даётся +0,4. Аргументы совпадают, если все пары — сущности, если функторы равны, или если цель не является сущностью, а источник — является.
  4. Если тип предиката совпадает, но элементы внутри не совпадают — −0,8.
  5. Если выражения являются частью совпадающего высшего отношения — к совпадению прибавляется 0,8 от соответствующего признака этого отношения.

В примере сопоставления p1 и p2, соответствие transmit получит +0,7900, а остальные — +0,6320. Значение 0,7900 складывается из признаков по правилам 1, 2 и 3; остальные — получают 0,6320, так как 0,8 признака propagate от transmit по правилу 5.

Для p3 и p4 SME присваивает более низкие оценки (например, transmit — 0,65, так как признак по правилу 3 не добавляется). Соответствие между (input gear) и (switch circuit) равно 0,7120 (+0,4 по правилу 3 и +0,52 propagate по правилу 5).

Если в p3 и p4 аргументы — атрибуты, по правилу 4 к transmit добавляется −0,8 — несмотря на совпадающие функторы, аргументы не могут совпасть и не являются функциями.

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

Формирование gmap

Дальнейшие этапы алгоритма SME связаны с построением максимально структурно согласованных наборов гипотез — gmap. Gmap должны быть структурно согласованы (один-к-одному) и иметь поддержку: если гипотеза входит в gmap, то также включены все гипотезы между соответствующими элементами источника и цели.

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

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

При сравнении dgroup-источника и dgroup-цели может возникнуть одна или несколько gmap. Вес gmap — сумма положительных признаков всех входящих в неё гипотез. Например, при сопоставлении источника с p1 и p6 и цели с p2 возникают две gmap, обе с весом 2,9186.

Источник: transmit torque inputgear secondgear (p1) transmit torque secondgear thirdgear (p6) Цель: transmit signal switch div10 (p2)

Результат сравнения:

Gmap № 1:

(TORQUE SIGNAL)
(INPUTGEAR SWITCH)
(SECONDGEAR DIV10)
(*TRANSMIT-TORQUE-INPUTGEAR-SECONDGEAR *TRANSMIT-SIGNAL-SWITCH-DIV10)

Gmap № 2:

(TORQUE SIGNAL)
(SECONDGEAR SWITCH)
(THIRDGEAR DIV10)
(*TRANSMIT-TORQUE-SECONDGEAR-THIRDGEAR *TRANSMIT-SIGNAL-SWITCH-DIV10)

Gmap показывают пары совпадающих предикатов или сущностей. Так, в gmap № 1 сопоставляются torque и signal, а также полные наборы поведения. Gmap № 1 соответствует объединению p1 и p2, gmap № 2 — p6 и p2. Несмотря на то, что p2 совместим с p1 и p6, ограничение однозначного сопоставления (один-к-одному) не позволяет обеим парам быть в одной сети. Поэтому алгоритм формирует две независимых gmap. Объединение их привело бы к конфликту между thirdgear/div10 и secondgear/div10.

Критика

Чалмерс, Френч и Хофштадтер (Chalmers, French, Hofstadter, 1992) критикуют механизм структурного отображения за зависимость от вручную подготовленных LISP-описаний на входе. По их мнению, на создание таких описаний уходит много творческих усилий, и фактический интеллект заключён не в самом алгоритме, а в подготовке данных. Форбас с соавторами (Forbus et al., 1998) пытались опровергнуть это суждение. Моррисон и Дитрих (Morrison, Dietrich, 1995) пытались примирить обе позиции. Тёрни (Turney, 2008) предложил алгоритм, не требующий LISP-входа, но также следующий принципам теории структурного отображения — хотя отмечает, что его способ тоже частично уязвим для критики Чалмерса и др.

В статье Лиан Габоры «How Creative Ideas Take Shape»[3] отмечается: «Согласно теории honing, творчество не работает на уровне индивидуальных, заранее определённых представлений, а основывается на контекстуально вызванной амальгаме элементов, находящихся в состоянии потенциальности. Это приводит к выводу, что аналогии строятся не через наложение пар „источник—цель“, как предполагает теория структурного отображения, а путём постепенного отсечения несоответствий».

Примечания

Литература