Расширение ОА-грамматики для работы с ПВ-отношениями
ОА-грамматика была следующим образом приспособлена для описания правил преобразования ПВ-отношений. Во-первых, в нотацию было введено обозначение типов множеств ИП, сгруппированных в ИК. Обозначение это помещается после имени ИК через знак «:» Если ИК неименована, тогда тип множества ИП указывается сразу после знака «:». Например, «temp:And{…}» или «:And{…}». Данные обозначения применяются… Читать ещё >
Расширение ОА-грамматики для работы с ПВ-отношениями (реферат, курсовая, диплом, контрольная)
Расширение функциональности заключается, во-первых, в выделении новых типов ПВ-связей физических объектов (каждая связь задается с помощью множества объектов определенного типа); во-вторых, введение новых операций над множествами выделенных типов.
Выделенные типы множества необходимы для описания ОА-грамматики. Множества объектов являются частью описания конфайна (от англ. confine — ограничивать), который описывает ПВ-ограничения. Например, конфайн для отношения «в» (т.е. один объект находится внутри другого) включает в себя упорядоченное множество описаний двух объектов (второй объект находится внутри другого).
ОА-грамматика была следующим образом приспособлена для описания правил преобразования ПВ-отношений. Во-первых, в нотацию было введено обозначение типов множеств ИП, сгруппированных в ИК. Обозначение это помещается после имени ИК через знак «:» Если ИК неименована, тогда тип множества ИП указывается сразу после знака «:». Например, «temp:And{…}» или «:And{…}». Данные обозначения применяются в правой части правила преобразования, где задается поисковый шаблон. Если обозначения множества в нотации нет, тогда применяется тип множества по умолчанию Set (неупорядоченное множество).
Разработка правил преобразования ПВ-отношений с помощью ОА-грамматики логика пространство атрибутный грамматика Благодаря гибкости вычислительного процесса в ОА-подходе, система может наделить себя полноценным интеллектом, она может описывать и распознавать неизвестные для себя объекты и самостоятельно изменить системные правила синтеза информационных конструкций. Если система встретит фразу из естественного языка, которая не подойдет не к одному конфайну, то она самостоятельно выделить новые типы.
Для того, чтобы система самостоятельно смогла выделять новые типы конфайнов, была создана ОА-грамматика. Она представляет из себя граф-трансформирующую систему, которая обрабатывает ОА-граф. Полное описание данной системы указана в основной части «ОА-грамматика» .
Главными свойствами ОА-грамматики является алфавит атрибутов, алфавит нагрузок ИП, первоначальный ОА-граф и правила преобразования ОА-графа. Правило преобразования состоит из двух частей, левая и правая, которые разделены знаком «>». В левой части помещен шаблон ОА-графа, а в правой — ОА-граф, на который потом заменяется шаблон.
Ниже показаны примеры ее работы.
В случае, если в поисковом запросе присутствует конфайн, состоящий из трех локативов, например «1, 2 и 3», то его необходимо склеить в один конфайн, иначе мы не сможем его найти. Для этого будет использоваться следующее правило преобразования:
{Confine = {OSet = T1 {L tmp}}} ~ {Confine = {OSet = T2{F tmp}}} >+ {Confine = {OSet = T1*'T2}}}.
Где tmp — это указатель на последний локатив первого конфайна и при этом на первый локатив второго конфайна, Т1, Т2 — указатели на ИК вместе с списком указателей локативов первого и второго исходных конфайнов.
После того, как правая часть будет выполнена, удаляется первый элемент второго списка локативов, чтобы в дальнейшем избежать дублирование локативов. Далее после преобразования мы сможем искать конфайн из трех локативов, а не только из двух. После из ОА-графа будет удален найденный подграф.
Допустим у нас есть фраза «куст растет на поляне, а поляна находится около леса». В данной фразе используются разные топологические конфайны типов «на» и «около». Человек интуитивно понимает, что в данном случае получается, что «куст» также находится рядом с лесом, а в системе по следующему правилу преобразования:
{LType=Above contact=true Set={Elem={Place=поляна} Elem={Place=куст}} }~.
{LType=Distance DistanceRelative=near contact=true Set={Elem={Place=поляна} Elem={Place=лес}}}>+.
{LType=Distance DistanceRelative=near contact=true Set={ Elem={Place=поляна} Elem={Place=куст} Elem={Place=лес}}}.
Также следует отметить, что знак «~» обозначает, что ИК не связаны между собой и поэтому они могут находиться в любой части ОА-графа, а знак «>+» означает, что новая информационная конструкция добавляется в ОА-граф, а найденный подграф в БД не удаляется.
Следующий пример будет описывать фразу «куб стоит под шаром, куб стоит на полу». После преобразования фразы будет понятно, что на полу стоит куб, на кубе стоит шар, также можно сказать тоже самое в обратном порядке:
{LType=Under contact=true OSet={Elem={Place=куб} Elem={Place=шар}} }~.
{LType=Above contact=true OSet={Elem={Place=куб} Elem={Place=пол}}}>+.
{LType=Above contact=true ToFSet OSet={ Elem={Place=пол} Elem={Place=куб} Elem={Place=шар}}}.
Где SetToFro означает, что последовательность может быть в двух направлениях.
Другой пример преобразования будет использовать фразу «он стоял на поляне, справа от него была река, а слева лес» .
{LType=Direction ZeroPoint={Elem={Place=поляна}} OSet={Elem={Place=река} {Fi = -90}}~.
{LType=Direction ZeroPoint={Elem={Place=поляна}} OSet={ Elem={Place=лес} {Fi = 90}}}.
Следующий пример с фразой «в комнате стояла коробка, в коробке мяч» .
{LType=In contact=true OSet={Elem={Place=комната} Elem={Place=коробка}} }~.
{LType=In contact=true OSet={Elem={Place=коробка} Elem={Place=мяч}}}>+.
{LType=In contact=true ToFSet OSet={Elem={Place=комната} Elem={Place=коробка} Elem={Place=мяч}}}.
Следующий пример с причинно-следственной связью. Предположим, что у нас есть два явления: первое явление примем за X, второе будет Y, и они появляются последовательно по времени.
{LType=Cause OSet={Elem={Time=X} Elem={Time=Y}}}>+.
{LType=TimeSet OSet={Elem={Time=X} Elem={Time=Y}}}.
Следующий пример со связью AND на фразе: «в доме живут брат и сестра» .
tmp{Set={Elem={Class=брат} Elem={Class=сестра}} Atr={Set={Elem={Stage=живут Conf={Ltype=In OSet={Elem=Дом Elem=tmp}}}}}}.
{LType=Set AND Set={Elem={Place=брат} Elem={Place=сестра}}}.
Далее с помощью правил преобразуем фразу «Он шел из пункта, А в пункт С через B» .
{LType=In ZeroPoint={Elem={Place=пункт А}} OSet={Elem={Place=Пункт C}} Atr={Set={Elem={Stage=шел} Elem={Class=он}}}~.
{LType=Across ZeroPoint={Elem={Place=пункт А}} OSet={Elem={Place=Пункт B}}Atr={Set={Elem={Stage=шел} Elem={Class=он}}}.