- •1. Цели и задачи выполнения курсовой работы
- •2. Состав и структура курсовой работы
- •3. Разработка онтологической модели предметной области
- •4. Создание онтологической модели в программном средстве Protégé
- •5. Разработка структуры прецедента
- •6. Создание структуры прецедента в программном средстве jColibri
- •8. Контрольные вопросы
- •9. Список использованных источников
5. Разработка структуры прецедента
Для реализации алгоритма рассуждений по прецедентам необходимо определить структуру прецедента.
Термин «прецедент» означает случай, имевший место ранее и который может использоваться как пример или обоснование случаев в будущем. При возникновении новой проблемной ситуации целесообразно использовать метод рассуждений на основе прецедентов, это обусловлено тем, что людям свойственно оперировать данным механизмом рассуждения, когда они сталкиваются с новой задачей.
Рассуждение на основе прецедентов является подходом, позволяющим решить новую задачу, используя или адаптируя решение уже известной задачи.
В большинстве случаев для представления прецедента достаточно простого параметрического представления:
,
где – параметры ситуации;
– решение.
Для реализации примера была выбрана следующая структура прецедента:
, где в таблице 2 Pi – параметры, Pr – решение.
Таблица 1 - Параметры прецедента
P1 |
Значение среднего чека |
P2 |
Выполнение плана консультантом |
Р3 |
Количество позиций в чеке |
Р4 |
Был ли консультант на больничном |
Р5 |
Был ли консультант уволен |
Р6 |
Малый стаж работы консультанта |
Р7 |
Был ли консультант в декретном отпуске |
Р8 |
Был ли консультант в отпуске |
Pr |
Проблемы консультанта |
6. Создание структуры прецедента в программном средстве jColibri
Разработанная ранее структура прецедента создается в JColibri 1.1 (http://sourceforge.net/projects/jcolibri-cbr/files/jCOLIBRI-CBR/jCOLIBRI_1.1.0/ )
После запуска программы, пользователю будет представлено главное окно программы (рис.5):
Рисунок 5- главное окно программы JColibri
Для создания структуры прецедента необходимо выполнить следующие действия:
-
Создать новую CBR систему используя “CBR” => “New CBR System”.
-
При создании выбрать пункт “Description Login Extension”.
-
Затем вызывается окно создания структуры прецедента: “CBR” => “Manage Case Structures”.
-
Выбирается тип: “Ontology”.
-
В структуре прецедента выбирается “Case” и используя клавишу “Select Case Concept” выбирается концепт.
-
Далее выбирается owl файл с ранее созданной онтологией. И онтология прочитывается командой: “Read Ontology”.
-
Выбирается концепт (рис.6):
Рисунок 6 - выбор главного концепта
-
Далее загружаются элементы прецедента:
-
Выбирается “Description” и нажимается “Add simple”.
-
Аналогично с пунктами 5 -7 выбирается параметр прецедента (например, IMPLEMENTATION_PLAN).
-
Указывается отношение (например, implementation_plan).
-
Указывается вес отношения (например, 1.0).
-
Выбирается мера близости (например, Equal).
-
После загрузки элементов прецедента, необходимо сохранить его структуру: “Save case structures”.
7. Выполнение рассуждений по прецедентам
Алгоритм рассуждений по прецедентам:
1 По выбранной мере сходства вычисляется локальные меры близости для каждого прецедента из базы данных прецедентов.
-
По выбранной мере сходства вычисляется глобальная мера близости для каждого прецедента из базы данных прецедентов.
-
В качестве решения выбирается прецедент, имеющий наиболее высокую глобальную меру близости.
Для выполнения рассуждений в системе JColibri необходимо запустить разработанную систему. Для этого:
-
В главном окне выберете “PreCycle” и создайте Instance.
-
В “Obtain cases task” создается экземпляр “jcolibri.extensions.DL.method.LoadDLCaseBaseMethod”.
-
Аналогично пункту 1 выполняем действия для “CBR Cycle”.
-
Для “Obtain query task” выбрать “jcolibri.extensions.DL.method.ConfigureDLQueryMethod”.
-
Для “Retrieve task”, “Select working cases task”, “Compute similarity task” выполняются действия аналогичные 1.
-
Для “Select base task” выбирается “jcolibri.method.SelectBestCaseMethod”.
-
Выделить мышью (используя Shift) заполненные ранее пункты и запустить систему, используя клавишу .
-
В следующем окне формируется запрос (рис.7):
Рисунок 7 - формирование запроса в JColibri
Для получения решения необходимо использовать “Ok”.
Для реализуемого примера при входных параметрах, указанных на рисунке 7, решение будет:
WORKING CASES:
CASE_ITEM_07
has-Description: Description
maternity_leave: MATERNITY_LEAVE_NO
conclusions: НИЗКОЕ_КОЛИЧЕСТВО_ЧЕКОВ
consultant_at_hospital: CONSULTANT_AT_HOSPITAL_YES
items_count_in_check: ITEMS_COUNT_IN_CHECK_3.9
dismissal: DISMISSAL_NO
average_check_p: AVERAGE_CHECK_2601-2700
work_experience_consultant: WORK_EXPERIENCE_CONSULTANT_NO
consultant_on_vacation: CONSULTANT_ON_VACATION_NO
total_count_checks: TOTAL_COUNT_CHECKS_41-50
implementation_plan: IMPLEMENTATION_PLAN_50-54
has-Result: Result
has-Solution: Solution
В результате поиска получили близкий прецедент НИЗКОЕ_КОЛИЧЕСТВО_ЧЕКОВ, у него наибольшая мера близости 0.8 – достаточно высокая. Можно считать решение положительным, следовательно, мы можем выбрать для нашего консультанта проблему «Низкое количество чеков» и предложить способ устранения данной проблемы.