Способы представления знаний для обработки на ЭВМ




 

Главной особенностью систем, основанных на знаниях, является наличие в них БЗ. Причем в отличие от БД, содержащих совокупность фактов о качественных и количественных характеристиках конкретных объектов, БЗ содержат концептуальные, понятийные знания о ПО, обычно выражаемые именно в терминах данной ПО. Чтобы использовать знания, хранящиеся в базе, система снабжается специальным механизмом вывода новых знаний на основании имеющихся в базе.

Определение термина «знание» включает большей частью философские элементы. Например, знание – это проверенный практикой результат познания действительности, верное ее отражение в сознании человека. Научное знание заключается в понимании действительности в ее прошлом, настоящем и будущем, в достоверном обобщении фактов, в том, что за случайным оно находит необходимое, закономерное, за единичным – общее, а на этой основе осуществляет предвидение. Научное знание может быть и эмпирическим, и теоретическим.

В простейших ситуациях знания рассматривают как констатацию фактов и их описание. В общепринятом смысле термин «знание» рассматривают противоположно незнанию, т.е. отсутствию проверенной информации о чем-либо.

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

Кроме логического вывода в настоящее время в области искусственного интеллекта проводятся исследования по теории аргументации как теории обоснования новых знаний на основе имеющихся.

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

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

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

Интерпретируемость предусматривает использование имен информационных единиц, что позволяет системе знать, что хранится у нее в памяти.

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

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

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

Связи между понятиями, именами и другими функциональными конструкциями языка системы определяются отношениями.

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

Одно из важнейших свойств суждений – модальность. В нем выражается степень существенности того или иного признака для данного объекта ПО, указанного в суждении. Модальности как класс отношений играют важную роль при построении в БЗ аксиоматических предположений. Используют следующие отношения модальности: НЕОБХОДИМО, ЖЕЛАТЕЛЬНО, НЕВОЗМОЖНО, СОВЕРШЕННО НЕВОЗМОЖНО, ВОЗМОЖНО, ОБЯЗАТЕЛЬНО, НЕОБЯЗАТЕЛЬНО, НЕЖЕЛАТЕЛЬНО, СОВЕРШЕННО НЕОБХОДИМО. Существуют и другие группы отношений, имеющие важное значение для проектирования БЗ.

Различные языки представления знаний в разной степени отражают перечисленные выше особенности знаний.

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

Семантические сети

 

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

Создание семантических сетей (СЕМС) – это попытка обеспечить интегрированное представление данных, категорий (типов) данных, свойств категорий и операций над данными и категориями. Особенность семантической сети заключается в целостности системы, выполненной на ее основе, т.е. невозможности разделить БЗ и механизм вывода. При этом интерпретация СЕМС реализуется с помощью использующих эту сеть процедур.

В СЕМС нет четких различий между операциями над данными и операциями над схемой; она позволяет манипулировать как данными, так и знаниями о них.

Рассмотрим основные концепции, реализованные в СЕМС.

1. Концепция одновременного рассмотрения в модели как знака, так и типа.

Знак – это конкретное значение или конкретный экземпляр рассматриваемого объекта; тип – это класс подобных знаков.

Обобщение знаков в типы – элементарная форма абстрагирования, которое необходимо для лучшего понимания сложных объектов. Например, общее понятие Велосипед – абстракция множества представлений о конкретных велосипедах.

Абстракция может быть многоуровневой (абстракция одного уровня может рассматриваться как объект абстракции другого уровня и т.д.). Абстракция может использоваться для формирования нового типа из других типов.

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

знак–тип – его называют классификацией;

тип–тип, которое собственно и носит название обобщения.

Экземпляризация (порождение реализаций) – процесс, обратный процессу классификации. Специализация – процесс, обратный процессу обобщения. Например, представление конкретных служащих общим типом Служащий – это классификация. Представление типов Служащий и Учащийся общим типом Личность – это обобщение. Данные конкретного служащего – это экземпляр (реализация) типа Служащий, а тип Служащий – это специализация типа Личность.

С помощью операции агрегации объект конструируется из других базовых объектов. Агрегация также используется как на уровне знаков, так и на уровне типов. Например, тип Служащий может быть сконструирован из типов свойств Фамилия, Год рождения, Адрес. Такие свойства-типы являются дефиниционными, т.е. определяют, истолковывают понятие, и называются интенсиональными. Конкретная же реализация типа Служащий, относящийся, например, к «Пальчику Фоме Никифоровичу», конструируется из знаков «Пальчик Ф. Н.», «1988», «Новороссийск, ул. Свободы, д. 54». Такие свойства-знаки, являющиеся фактическими значениями, называются экстенсиональными. В семантических моделях различие между интенсиональными и экстенсиональными свойствами имеет важное значение.

Агрегация соотносится с понятием ЕСТЬ–ЧАСТЬ и выражает тот факт, что тип объекта есть агрегат других типов (например, Фамилия ЕСТЬ–ЧАСТЬ Служащий).

Обобщение соотносится с понятием ЕСТЬ–НЕК (есть некоторый) и выражает тот факт, что выполнено обобщение одним типом объекта другого типа объекта (например, Служащий ЕСТЬ–НЕК Личность).

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

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

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

Базовым функциональным элементом семантической сети служит структура из двух компонентов: узлов и связывающих их дуг. Каждый узел представляет некоторое понятие, а дуга – отношение между парой понятий. Можно считать, что такое отношение представляет простой факт, например: «Иванов П. Н. работает в производственном отделе».

С позиций логики базовую структуру СЕМС можно рассматривать эквивалентом предиката с двумя аргументами. Эти два аргумента представлены узлами, а собственно предикат – направленной дугой, связывающей узлы:

 

Работает в (Иванов, Производственный отдел).

 

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

Пример.Рассмотрим модель, в которой предусматриваются четыре категории вершин:

концепты (понятия) – элементы ПО (приложения), для которых строится представление;

события-действия, наблюдаемые в ПО;

характеристики (свойства)–вершины, соответствующие свойствам концепта;

значения-вершины, соотносящиеся с областями значений, которые могут принимать характеристики.

Дуги, соединяющие вершины–события и вершины-концепты, соответствуют ролям концептов в событиях:

дуга, указывающая вершину–концепт, которая играет роль агента в событии (исполнителя, либо инициатора действия, обычно в предложении естественного языка, выражаемого глаголом);

дуга, указывающая вершину–концепт, которая является объектом воздействия в событии.

Дуги, соединяющие вершины–концепты:

дуга, соответствующая представлению утверждения.

Дуги, соединяющие вершины–концепты и вершины-характеристики: дуга, соответствующая представлению связи концепта с характеристикой.

Дуги, соединяющие вершины–характеристики и вершины–значения: дуга, соответствующая представлению связи характеристики со значением. Построим по данной модели представление следующей ситуации: «Иванов, 1950 года рождения, работает программистом в вычислительном центре, расположенном в корпусе А». Представим вначале эту ситуацию в виде одной из возможных совокупностей простых бинарных фактов (утверждений):

1. Иванов работает программистом.

2. Иванов работает в вычислительном центре.

3. Иванов 1950 года рождения.

4. Вычислительный центр расположен в корпусе А.

 

Выполним построение СЕМС:

1. Вершины–события:

 

РАБОТАЕТ.

 

2. Вершины–концепты:

 

ИВАНОВ;

ПРОГРАММИСТ;

ВЫЧИСЛИТЕЛЬНЫЙ ЦЕНТР;

КОРПУС А.

 

3. Вершины–характеристики:

 

ГОД РОЖДЕНИЯ.

 

4. Вершины–значения:

 

1950.

 

5. Дуга, указывающая агента:

 

РАБОТАЕТ ИВАНОВ.

 

6. Дуга, указывающая объект воздействия:

 

РАБОТАЕТ ПРОГРАММИСТ.

 

7. Дуга, указывающая вершину–характеристику:

 

ИВАНОВ ГОД РОЖДЕНИЯ.

 

8. Дуга, указывающая вершину–значение:

 

ГОД РОЖДЕНИЯ 1950.

 

9. Дуги, представляющие утверждения:

 

РАБОТАЕТ В: ИВАНОВ ВЫЧИСЛИТЕЛЬНЫЙ ЦЕНТР;

РАСПОЛОЖЕН В: ВЫЧИСЛИТЕЛЬНЫЙ ЦЕНТР КОРПУС А.

 

Рис. 5.1.Пример семантической сети

 

Это один из возможных вариантов СЕМС по данному фрагменту информации. Можно сделать иное назначение вершин и дуг и получить другой вариант модели для рассматриваемой ситуации. На рис. 5.1 приведено графическое представление полученного варианта модели.

В качестве основных операций над классами и их экземплярами в семантических сетях используют следующие операции:

создания экземпляра некоторого класса;

установления принадлежности существующего экземпляра некоторого класса еще к одному классу;

устранения принадлежности экземпляра к некоторому классу или полного исключения этого экземпляра из сети;

выборки экземпляров, принадлежащих определенному классу;

определения принадлежности экземпляра указанному классу.

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

Например, программа «Ликвидация счета в сети» будет представлена как класс с данным именем. Экземпляры этого класса есть конкретные действия по снятию денег со счета.

Управляющие структуры для СЕМС очень разнообразны. В основном, они являются зависимыми от ПО (т.е. часть прикладных знаний перенесена в управляющую структуру (УС) в виде правил организации поиска данных, релевантных запросу) и реализованы в виде управляющей программы, поддерживающей все основные функции экспертной системы (ЭС).

При программировании СЕМС широко используется алгоритмический язык ЛИСП, разрабатываются также специализированные языковые средства.

Фреймы

 

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

Описание свойств некоторого объекта либо события можно выполнить с использованием нотаций вида ФРЕЙМ. Достоинство фрейма заключается в том, что элементы, присутствующие в описании объекта или события, группируются в самостоятельную структурную единицу и поэтому извлекаются и обрабатываются как единое целое. Механизм организации ссылок позволяет конструировать из отдельных фреймов сложные сетевые структуры, т.е. реализовывать необходимые для данной ПО связи между объектами, событиями, понятиями.

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

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

Кроме того, значение слота может быть константой, т.е. содержать конкретное значение понятия, определенного именем слота. Для указания этого используют некоторое ключевое слово, например: Агрегат. Допускается задавать множество значений, для чего также используют ключевое слово, например: Интервал. Допускается задавать значение слота по умолчанию, в этом случае также используют ключевое слово (в примерах будем употреблять ключевое слово «по умолчанию», а сами значения будем заключать в круглые скобки).

Ключевые слова называют также фасетами слота.

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

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

Пример.

 

имя: Руководитель X /* где X – системный номер экземпляра фрейма */

есть-нек: Руководитель

заработная-плата: Зарплата X

адрес: Адрес X

дата-зачисления: агрегат (08.04.1989)

дата-увольнения: по-умолчанию /* работает по н.в. */

отдел: агрегат (ВЦ)

есть-нек: Служащий Х

 

имя: Руководитель

есть-нек: Служащий

определение понятия: лицо, которое направляет чью-то деятельность

имя: Программист XI

есть-нек: Программист

заработная плата: Зарплата XI

адрес: Адрес XI

отдел: агрегат (ВЦ)

есть-нек: Служащий XI

 

имя: Программист

есть-нек: Служащий

определение-понятия: специалист по программированию

 

имя: Адрес X

есть-нек: Адрес

город: агрегат (Москва)

улица: агрегат (Уральская)

номер-дома: агрегат (44)

номер-корпуса:__________

номер-квартиры: агрегат (58)

 

имя: Адрес

есть-часть: Служащий

определение-понятия: местонахождение, местожительство

 

имя: Зарплата X

почасовая-зарплата: ...

код-налога: агрегат (1)

начисление: вычислить (Оплата)

есть-нек: Зарплата

 

имя: Зарплата

есть-часть: Служащий

определение-понятия: плата за работу

 

имя: Служащий X

фамилия: агрегат (Иванов)

 

имя: агрегат (Петр)

отчество: агрегат (Николаевич)

табельный-номер: агрегат (5566)

есть-нек: Служащий

 

имя: Служащий

фамилия: есть-часть, наследуется

имя: есть-часть, наследуется

отчество: есть-часть, наследуется

табельный номер: есть-часть, наследуется

определение-понятия: лицо, работающее в учреждении по найму

 

Для указания факта, что слот данного фрейма наследуется базовым фреймом, имеющим связь ЕСТЬ-НЕК с данным фреймом, в примере использовано ключевое слово «наследуется». Это означает, что управляющая программа при организации базового фрейма одновременно организует в нем слоты с именами Фамилия, Имя, Отчество, Табельный номер (речь идет о фреймах Руководитель Х, ..., Программист XI, ...).

 

Рис. 5.2. Пример фрагмента фреймовой семантической сети

 

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

Пример фрагмента сети, построенной с помощью фреймов, приведен на рис. 5.2.

Фреймоподобные структуры, получившие название «сценариев», широко используются в системах для представления стереотипной последовательности событий.

Например, типичным сценарием может служить посещение библиотеки, включающее следующие сцены.

 

1. Приход в библиотеку.

2. Нахождение свободного места.

3. Заказ литературы.

4. Получение литературы.

5. Работа с литературой.

6. Возвращение литературы.

7. Уход из библиотеки.

 

Каждая сцена, в свою очередь, может быть описана своим фреймом.

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

Идея фреймов используется для решения разнообразных задач в интеллектуальных системах.





©2015-2017 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.

Обратная связь

ТОП 5 активных страниц!