Научная статья на тему 'Построение обучающего модуля экспертной системы определения принадлежности сущности к определённому классу'

Построение обучающего модуля экспертной системы определения принадлежности сущности к определённому классу Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
163
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭКСПЕРТНАЯ СИСТЕМА / БАЗА ЗНАНИЙ / ОБУЧЕНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пикалов И.Ю., Тарасюк В.Б.

В работе приводится пошаговый алгоритм построения обучающего модуля экспертной системы определения принадлежности сущности к определённому классу.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Построение обучающего модуля экспертной системы определения принадлежности сущности к определённому классу»

УДК 681.5; 621.398; 681.3

ПОСТРОЕНИЕ ОБУЧАЮЩЕГО МОДУЛЯ ЭКСПЕРТНОЙ СИСТЕМЫ ОПРЕДЕЛЕНИЯ ПРИНАДЛЕЖНОСТИ СУЩНОСТИ К ОПРЕДЕЛЁННОМУ

КЛАССУ

© 2017 И. Ю. Пикалов1, В. Б. Тарасюк2

1 канд. пед. наук, доцент, доцент кафедры компьютерных технологий и информатизации образования e-mail: pikalovakursksu.ru 2 канд. техн. наук, доцент, доцент кафедры компьютерных технологий и информатизации образования e-mail: tarasuk.vladimira,mail.ru

Курский государственный университет

В работе приводится пошаговый алгоритм построения обучающего модуля экспертной системы определения принадлежности сущности к определённому классу.

Ключевые слова: экспертная система, база знаний, обучение.

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

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

В работе Дж. Джарратано и Г. Райли [2007] описаны преимущества экспертных систем по сравнению с использованием человека-эксперта, среди которых можно выделить:

• уменьшение издержек, связанное с привлечением эксперта для решения задач;

• использование экспертных систем в таких вариантах сред или условиях, которые невозможны или опасны для человека;

• оперирование знаниями нескольких экспертов;

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

Экспертная система способна работать в двух режимах: режиме ввода знаний экспертом и режиме решения задач или выдачи консультаций по их решению [Экспертные системы ... 1990].

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

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

В работе К. Нейлора дано описание экспертной системы, способной угадывать один из двух объектов по вводимым в систему параметрам объекта [Нейлор 1991]. Мы предлагаем усовершенствовать описанную там систему следующим образом: дать возможность экспертной системе определять принадлежность сущности к одному из нескольких введенных в базу знаний классов. Благодаря такому улучшению система станет более универсальной, так как позволит выбирать не один из двух, а один из нескольких введенных в систему классов.

Предлагаемый алгоритм построения обучающего модуля экспертной системы определения принадлежности сущности к определённому классу будет обладать рядом преимуществ перед существующими аналогами.

В исследованиях [Джарратано, Райли 2007; Пустынникова 2001; Уотермен 1989] указано, что в режиме обучения эксперт общается с экспертной системой при посредничестве инженера по знаниям (инженера-когнитолога, аналитика). В системе, построенной по предлагаемому в нашей работе алгоритму, в режиме обучения может работать непосредственно эксперт. Это связано с тем, что база знаний системы пополняется по хорошо описанному алгоритму и не предполагает наличия знаний, предъявляемых экспертной системой к организации знаний. Во многих системах аналитик загружает полученные от эксперта знания в соответствии с определенными правилами [Уотермен 1989] пополнения базы знаний.

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

Приведем пошаговую инструкцию работы обучающего модуля экспертной системы определения принадлежности сущности к определённому классу.

Первым шагом является указание количества сущностей (переменная n), которые система будет способна распознавать, и их описание. Для каждой сущности i будет нужно указать её имя (name_entityi), числовой идентификатор (idi) и атрибут совпадения (defined,i), который показывает, совпало рассчитанное значение идентификатора сущности с имеющимся в базе или нет. Когда система ещё не обучена, значения идентификаторов нужно установить в начальное неопределенное значение -1, а значение атрибута definedi - в 0.

Вторым шагом будет определение количества атрибутов (переменная colAttr), на основании которых система будет распознавать объекты, их имена, и заполнение значений атрибутов для каждой из указанных сущностей. Если сущность содержит конкретный атрибут, то его значение равно 1, если не содержит, то его значение равно 0. Таким образом, каждой сущности i будет поставлен в соответствие вектор набора атрибутов Vi, размер которого равен colAttr, а значения будут 0 или 1 в зависимости от отсутствия или наличия данного атрибута.

Третий шаг состоит в инициализации вектора поиска решения R нулевыми значениями. Размер данного вектора должен быть равен переменной colAttr.

Четвертым шагом будет обучение системы, которое состоит максимально из n+1 циклов обучения. В каждом цикле обучения выбирается первая из сущностей, определению которой будет обучаться система, определяется её значение idi согласно приведенному алгоритму, затем вторая и так далее, пока в цикле не будут рассмотрены все сущности. Если в цикле обучения вычисленные значения idi совпадут с уже имеющимися значениями для всех сущностей, то система считается обученной, и циклы обучения будут закончены. Если в цикле обучения хотя бы одно вычисленное

Пикалов И. Ю., Тарасюк В. Б. Построение обучающего модуля экспертной системы определения принадлежности сущности к определенному классу

значения idi не совпадет с уже имеющимся значениями, то потребуется провести ещё один цикл обучения.

Каждый цикл обучения содержит следующую последовательность действий:

1. Для сущности, с которой система работает в данный момент времени, вычисляется значение переменной D, которая будет определять идентификатор распознаваемой сущности:

и =2!!г1!""г * щ. (1)

2. Если система еще не проходила ни одного сеанса обучения, то нужно:

- провести её первое обучение, при котором меняется значение вектора R согласно формуле (2):

Щ = Щ + У! 0=1, 2,..., евШК); (2)

- вычислить значение D;

- полученное значение D присвоить idi соответствующей сущности;

- взять следующую сущность и осуществить переход к п.1 данного шага.

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

Если значение переменной D не совпадает ни с одним из значений идентификаторов сущности из базы знаний, то оно присваивается идентификатору сущности, с которой работают в данном сеансе обучения (idi=D). После этого берётся следующая сущность и осуществляется переход к п.1 данного шага.

Если значение переменной D совпадает со значением идентификатора соответствующей сущности из базы знаний, то система помечает данную сущность как распознанную (устанавливает значение атрибута definedi в 1), берёт следующую сущность и переходит к п.1 данного шага.

Если значение переменной D совпадает со значением идентификатора другой сущности из базы знаний, то нужно произвести переобучение системы (изменить значение вектора R) и перейти опять к п.1, но с обучением распознавания не следующей, а текущей сущности.

Последовательность действий внутри цикла назовём сеансом обучения. Каждый цикл обучения содержит максимально п2 сеансов обучения.

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

Первый шаг

Количество сущностей в базе знаний - 3 (n=3).

№ п/п Имя сущности (name_entity) Идентификатор (id) Атрибут (defined)

1 Человек -1 0

2 Собака -1 0

3 Машина -1 0

name_entity = {Человек, Собака, Машина} id = {-1, -1, -1} defined = {0, 0, 0} Второй шаг

Выделим 6 атрибутов сущностей (colAttr=6) и заполним их значениями для каждой сущности.

№ п/п Имя атрибута (пате айг) Человек Собака Автомобиль

1 Двуногое 1 0 0

2 Колеса 0 0 1

3 Четырехногое 0 1 0

4 Голова 1 1 0

5 Хвост 0 1 0

6 Выхлопная труба 0 0 1

паше_айг={ Двуногое, Колеса, Четырыхногое, Голова, Хвост, Выхлопная труба}

Учел ={1, 0, 0, 1, 0, 0}

Усоб ={0, 0, 1, 1, 1, 0}

Уавто ={0, 1, 0, 0, 0, 1}

Третий шаг

Я={0, 0, 0, 0, 0, 0}

Четвертый шаг. Первый цикл обучения

1-й сеанс обучения: Обучаем систему распознаванию Человека.

Так как это первый сеанс обучения, то по формуле (2) переопределяем значение вектора Я и меняем 1ёчел:

Я={1, 0, 0, 1, 0, 0}, 1ёчел=2.

2-й сеанс обучения: Обучаем систему распознаванию Собаки.

0=0*1+0*0+1*0+1*1+1*0+0*0=1

Так как Б не совпадает ни с одним из значений идентификаторов сущности (¡ё={2, -1, -1}), то меняем значение 1ёсоб. Теперь ¡ё={2, 1, -1}.

3-й сеанс обучения: Обучаем систему распознаванию Автомобиля.

0=0*0+0*1+1*0+1*0+1*0+0*1=0

Так как Б не совпадает ни с одним из значений идентификаторов сущности (¡ё={2, 1, -1}), то меняем значение 1ёавто. Теперь ¡ё={2, 1, 0}.

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

Количество циклов обучения может меняться в зависимости от того, с какой сущности будет начинаться цикл обучения и в какой последовательности сущности будут рассматриваться. Так, в данном примере возможно шесть вариантов обучения. В четырёх вариантах для обучения требуется два цикла (первый цикл - непосредственно обучение, второй цикл - подтверждающий, что система обучена полностью) и каждый цикл содержит по три сеанса обучения. Один из вариантов (последовательность обучения: Машина, Человек, Собака) включает три цикла обучения, первый из которых содержит четыре сеанса обучения, второй - три сеанса обучения, третий цикл является подтверждающим. И один из вариантов (Машина, Собака, Человек) включает пять циклов обучения, первый и второй содержат по пять сеансов обучения, третий - три сеанса обучения, а четвертый цикл является подтверждающим.

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

Библиографический список

Джарратано Дж., Райли Г. Экспертные системы: принципы разработки и программирование. 4-е изд.: пер. с англ. М.: ООО «И. Д. Вильямс», 2007. 1152 с.

Пикалов И. Ю., Тарасюк В. Б. Построение обучающего модуля экспертной системы определения принадлежности сущности к определенному классу

Нейлор К. Как построить свою экспертную систему: пер. с англ. М.: Энергоатомиздат, 1991. 286 с.

Пустынникова И.Н. Технология использования экспертных систем для диагностики знаний и умений // Educational Technology & Society. 2001. № 4(4). С. 77101.

Уотермен Д. Руководство по экспертным системам: пер. с англ. М.: Мир, 1989.

388 с.

Экспертные системы для персональных компьютеров: методы, средства, реализации: справ. пособие / В.С. Крисевич, Л. А. Кузьмич, А.М. Шиф и др. Мн.: Выш. шк., 1990. 197 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.