Експертната система е компютърна система, която имитира поведението на човека-експерт в специфична предметна област. Идеята на създаването на експертната система е, че тя може да даде на много хора възможността да се възползват от знанията на един човек – експерта. Не само, че системата прави специфичните знания по-достъпни, но тя и позволява на експерта да се съсредоточи върху наистина сложни проблеми. При съвместното използване на ESTA с база от знания тя позволява създаването на експертна система за съответната предметна област.
ESTA + База знания = Експертна система
Всяка база знания съдържа правила за специфична област. Например за диагностична система за автомобили базата знания на експертната система ще включва правила, свързани със симптомите, като вибрации на двигателя, спад в мощността и т.н. За сравнение БЗ за ЕС за данъчно облагане включва правила, свързани със семейното положение, пенсионното облагане според възрастта, застрахователните полици, дарения и др.
ESTA притежава всички удобства за написването на правила, които да изградят БЗ. Освен това ESTA има вградена логическа (дедуктивна) машина, която може да използва тези правила от БЗ, за да определи какъв съвет да бъде даден на потребителя на ЕС или да инициира други действия. ESTA дава възможност на потребителя да получи отговор на въпроси като “как?”, “защо?” и др. Подобни.
Разделянето на контролната и интерфейсната част по отношение на БЗ е фундаментална възможност на обвивките за експертни системи
ESTA се използва от инженера на знанията за създаване на БЗ и от потребителя на ЕС за консултиране с БЗ.
Командна линия
ESTA [file [-p picdir]]
p – Задава директорията, където е разположена PICTURES.DBA базата. По подразбиране ESTA търси БД с изображения в същата директория, където е БЗ.
file – Задава БЗ, която да бъде отворена след стартиране.
Компоненти на основния прозорец
Основният прозорец на ESTA е стандартен Windows прозорец, включващ най-отгоре меню и лента на състоянието отдолу. По средата е разположено работното поле, където се разполагат прозорците, диалоговите кутии и всички елементи, появяващи се на екрана.
ESTA е стандартно Windows MDI приложение, което означава, че няколко прозореца могат да бъдат отворени едновременно. Всеки път, когато изберете команда от менюто се отваря нов прозорец. Някои от тези прозорци могат впоследствие да бъдат затворени при натискането на OK или Enter бутоните. Други остават, докато бъдат изрично затворени, използвайки системното им меню (бутона Х). Можете да направите прозорец активен с щракване върху него, чрез избор от списъка с прозорци от менюто Window. Някои от прозорците служат за редактиране на прозорците, в които можете да въвеждате е извеждате текст. Например, когато създавате нова секция редактиращият прозорец се отваря и в него може да се въвежда или редактира текста, дефиниращ секцията. Диалоговите прозорци са пример за същия тип прозорци.
Променливите прозорци могат да бъдат подредени каскадно и нацялата страница (cascade or tile). Можете също така да направите от прозореца икона чрез натискане на бутона му minimize в горния десен ъгъл и всички подобни икони могат да бъдат автоматично подредени чрез избор на Icons от опциите на менюто Windows. Разполагането на прозорците едновременно но целия лист (tile) дава възможност за по-лесно сравнение, копиране и местене на текст от един прозорез в друг. Каскадното подреждане дава добър поглед върху колекцията от прозорци и прави по-лесно избирането на прозорец.
Лентата на състоянието е разделена на две. Лявата част дава информация за текущо избраната команда от менюто дясната част извежда информация за текущия активен прозорец. По време на консултационната сесия същата част о т лентата на състоянието показва текущата секция и текущия параметър.
КОМАНДИ НА МЕНЮТО
File
New – Използва се за създаване на един от следните елементи:
Dialog – диалоговият файл ( *.LOG ) съдържа запис на една или повече консултационни сесии в ESTA. Тези файлове могат да бъдат създавани, отваряни, записвани и отпечатвани. Когата диалоговият файл е създаден или отворен съдържанието му се изобразява в прозорец на екрана. Когато се консултирате с БЗ историята на консултацията ще бъде добавена към диалоговия прозорец. Когато се създава диалогов файл ESTA ви дава възможност да изберете елементите, които да бъдат включени в диалоговия файл. Елементите са: pictures, question/ansers, advice и title. По подразбиране са избрани въпрос/отговори и съвет. Само един диалогов файл може да бъде в даден момент на екрана. Ако създадете или или отворите нов диалогов файл ESTA ще ви прикани да запишете текущия диалог или да замените стария с нов.
Knowledge base – файл с база знания. Когато отворите файл с БЗ ESTA зарежда файла в паметта и БЗ може да бъде използвана или модифицирана. Когато запазите (save) БЗ ESTA съхранява текущото състояние на БЗ във файл. ESTA поддържа само една БЗ в паметта в даден момент о т време, затова преди ESTA да отвори или създаде нова БЗ тя изтрива активната от паметта и затваря всички свързани с нея прозорци. Ако текущата БЗ е била променена ESTA ви пита дали да я запише, преди да отвори новата. Когато БЗ се записва, използвайки съществуващо име старата версия се съхранява с разширение “.BAK”. добре е да се съхранява БЗ периодично по време на разработването, за да се предпазите от загуба на данни при срив на системата.
ESTA поддържа два различни начина за съхраняване (складиране) на БЗ:
1) в компилиран вид;
2) в текстов вид.
1. Компилирана БЗ – ( *.KB )
Когато изберете да съхраните БЗ в паметта в компилиран вид с разширение КВ, поддръжката й става чрез отваряне на файла и използване на вградените средства на ESTA. Компилираната форма се използва за максимално бързодействие, тъй като ESTA съхранява и чете компилираните БЗ много по-бързо от текстовите файлове.
2. Текстови файлове с БЗ – ( *.КВТ )
Текстовият формат се използва като алтернатива за поддържането на БЗ. Всеки текстов редактор може да бъде използван за създаването и модифицирането на текстова БЗ. Текстовата БЗ може да се използва за консултиране, използвайки отворените команди и описаните в *.kbt разширения. ESTA записва БЗ като текстов файл, когато той се съхранява с разширение kbt.
Синтаксисът на БЗ в текстов формат е същия, както и на отделните елементи на БЗ с някои допълнения: всеки елемент group, that is, the title, the parameters, the sections трябва да започва с ред, съдържащ #, последван от t, g, s.
Пример:
#t
This is a very small example with one parameter and one section
#p
parameter understand `you understand`
type boolean
question 1do you understand`
#s
section start 1the only section in example`
if understand advice 1good1
if not understand advice 1read it again`
На най-високо ниво знанията се представят в ESTA чрез секции. Първата секция във всяка БЗ трябва да се казва start. Секцията се състои от име, описание и последователност от параграфи. ESTA обработва параграфите в секцията отгоре надолу, един по един. Ако параграфът съдържа логически израз първо се изчислява израза. Ако стойността на израза е true, или ако параграфът не съдъвжа логически израз се изпълнява съответния списък от действия по реда, в който са зададени в параграфа. Ако консултацията е стартирана чрез командата Begin Consultation ESTA започва изчисляването на логическите изрази в параграфите на секцията start.
Синтаксисът на секцията е:
[if
<> ::= <>[,<>]
action ::= advice | assign | call | chain | do | do section of | exit | stop
Пример:
Следващият пример представя БЗ с една секция и един параметър.
section start : ‘The first section to be executed’
if car_color = ‘red’
(advice ‘Your car is red, try to sell it to the fire brigade’
call sound (200, 100))
if car_color < > ‘red’ and car_color < > ‘blue’
advice ‘Your car is not one of our favorite colors!’
advice ‘That’s all folks!’
parameter car_color ‘the color of car’
type text
question ‘What is the color of your car?’
Тази стартова секция съдържа три параграфа. Първият параграф съдържа списък от две вействия, разделени от запетая и оградени със скоби. Следващият параграф има само едно действие и в този случай скобите могат да бъдат пропуснати. Последният параграф съдържа само едно действие без логическо условие.
Изпълнението на параграфите зависи от стойността на параметъра car_color. Ако параметърът няма стойност в момента на изпълнението ESTA първо ще установи стойността на параметъра чрез въпрос към потребителя или използване на правило в зависимост от декларацията на параметъра.
Името на секцията съдържа букви и цифри, като започва с буква.
Стрингът предсавлява последователност от символи между два апострофа. Ако в текста искаме да има апостроф пред него се поставя още един. Стрингът може да е празен, както и да бъде разположен на няколко реда (да съдържа символ за нов ред).
Логическият израз, или условието – изгражда логиката на диалога в ESTA. Използват се като част от if операторите в декларациите на секциите и полетата на параметрите. Стойността на логическия израз може да е истина (true), лъжа (false) или неизвестна (unknown). Състоят се от:
Логически параметри
Логическите параметри се използват когато за параметъра има само две възможни състояния (стойности) – истина и лъжа, или стойността му е неизвестна (unknown). Когато бъде зададен въпрос, трябва да бъде въведено Yes, No или Unknown. По подразбиране ESTA автоматично генерира списъчна кутия, съдържаща стойностите true, false и unknown. Поради различното естество на параметрите и понеже в някои логически условия неизвестни стойности не се допускат е възможно да се декларира списък, в който тази стойност отсъства. Този род декларации (на списъчни кутии) става в опциите на полето, свързано с категорията параметър.
Синтаксисът на логическите параметри е:
type boolean
[
[
[
[
Примери:
1) parameter gasoline_ok:’There is gasoline in your car’
type boolean
explanation ‘Turn on the ignation and look the fuel gauge’
question ‘Is there any gasoline in your car?’
picture ‘gasoline’
2) parameter wet_weather ‘the weather is wet’
type boolean
explanation ‘It has been raining within the last few days or it is foggy’
question ‘Is the weather wet?’
3) parameter owns_car ‘your own car’
type boolean
declaration field – започва с ключовата дума parameter, име на параметъра, следвано от двоеточие ( : ) и текст, описващ параметъра.
Описателният текст в края на реда се използва за генериране на отговори на въпроси HOW (Как?) и WHY (Защо?).
Пример:
Parameter height_cm ‘your height in cm’
type number
explanation field – поле за обяснение.
Стойността на параметъра може да бъде дефинирана като отговор на въпрос. Ако този въпрос е поставен по време на консултацията потребителят на експертната система има възможност да попита ESTA за разясняване (поясняване) на въпроса. Това пояснение трябва да бъде поставено от инженера на знанията в полето за обяснение след ключовата дума explanation.
Пример:
parameter mirital_status ‘the people are married’
type category
explanation ‘Marital status is determinate by whether’ & ’there exists a marriage certificate for’ & name & ‘and’ & name_of _parameter ‘or not’
options
married
unmarried
question ‘What is the marital status of’ name ‘ ?’
rules field – правила
Правилата се използват, когато стойността на параметъра ще бъде определена на базата на някакво правило (зависимост), а не чрез въпрос към потребителя. има следния синтаксис:
Като конструкция общия вид на правилата е:
Примери:
1) rules
’blue’ if frequency <>= 1000 and frequency <> 2000 and frequency < shape =" box," shape =" pyramid," shape =" ball." field=""> ::= question
Трябва да се отбележи, че ESTA не добавя автоматично въпрос, така че текстът трябва да съдържа това, което искате да попитате потребителя. ако в текста на въпроса се съдържа параметър, то стойността му трябва да е известна преди достигането на въпроса.
Примери:
1) parameter name ‘the name of the user’
type text
question ‘What is your name ?’
2) parameter owns_car ‘owns a car’
type boolean
question ‘Does ‘ name ‘ own a car?’
Във втория пример ако name няма стойност, текста от двете му страни ще се съедини, в противен случай ще се изведе името като част от въпроса.
picture field – изображение
Използва се, за да бъде зададено изображение, което да бъде показано заедно с параметъра. Картинката може да бъде зададена като име от базата данни с изображения в апострофи или без апострофи като име на параметър. По-късно изборът на съответна стойност на параметъра може да определи коя точно да е картинката, която да бъде показана. Стойността на параметъра трябва да съвпада с име на картинка от базата с изображения.
Пример: picture car
picture ‘sedan’
Параметър – категория
Параметърът – категория се използва, когато параметърът трябва да приеме една от предварително известно множество от стойности. Например цветът може да е червен, зелен, син или пурпурен. възможните стойности се описват в опциите на полето. След ключовата дума options елементите на списъка се задават разделени от запетайки и завършват с точка. Опциите се дефинират с име и следвани от придружителен текст. ESTA конвертира всичко в малки букви, защото автоматично генерира списъчна кутия за избор, затова е по-добре, за да няма неочаквани реакции на системата опциите да се задават само с малки букви.
При параметъра-категория стойността се получава като отговор на въпрос. ESTA показва на екрана диалогова кутия с въпрос и списъчна кутия с възможните отговори или обяснителни текстове, ако такива са зададени. Потребителят избира като отговор стойност от списъка. Като алтернатива потребителят може да избере отговор чрез щракване върху поле или картинка. За да бъде направено това полетата в картинките трябва да бъдат дефинирани и свързани с опциите (отговорите) чрез hotspot редактора, който е достъпен чрез командата Pictures Database от менюто.
Пример:
parameter car ‘the king of car’
type category
explanation ‘Identify your car with one of the listed types as closely as you can’
options
ambulance
police car
sedan ‘car’
van.
question ‘Witch kind of car do you have?’
picture ‘cars’
Синтаксис:
type category
[
[
[picture
[
::= options
{,
Continue consultation – рестартира прекъсната консултация от точката, в която е била прекъсната без обнавяване стойностите на променливите.
Advice given in last section – повтаря всички отговари, дадени в предходната консултационна сесия.
Check Knowledge Base – Проверява текущато база знания за грешки.
Съобщения за грешки:
Type errors – открит е израз с неопределен тип;
Rule cycles – Циклично деклариране на правило, получено индиректно чрез друго правило или чрез обръщение на правилото към себе си. Несе допуска;
Section cycles – Циклични модели, т.е. когато секция се обръща към себе си не се допускат;
Missing section – do или do_section_of обръщения се извършват към несъществуваща секция. Показва се името на липсващата секция;
Missing parameters – Откриват се всички параметри, за които липсва дефиниция и се извеждат имената им.
Show Knowledge Base – Извежда текущата БЗ в прозорец. Може да се отпечата с командата print.
Parameter
New Parameter – използва се за създаване на нов параметър. След активиране на ESTA пита за името на параметъра и типа. В редактиращ прозорец на екрана се извежда схема на структурата на параметъраРедакторът и улесненията за вмъкване на елементи от Insert подпомагат създаването на параметъра.
Edit Parameter – командата позволява редактиране на съществуващ параметър. Когато се избере тази опция от менюто се показва азбучно подреден списък с имената на всички съществуващи параметри. След избора на параметър ESTA отваря редактиращ прозорец с текста на дефиницията на параметъра, който може да бъде променен, ако е необходимо.
Update Parameter – тази команда обновява параметъра в активната БЗ в паметта. ESTA автоматично проверява синтактичната коректност на параметъра. Ако бъде открита грешка се извежда диалогов прозорец със съобщение. Когато затворите диалоговата кутия, курсорът се позиционира в редактиращия прозорец на мястото, където е била открита грешката. На това място съобщението за грешка се извежда в средната част на лентата на състоянието на основния прозорец. След корекция на грешката се прави нов опит за обновяване. Ако не са открити грешки редактираната версия на параметъра замества старата в текущата БЗ в паметта. Прозорецът остава отворен след записа и трябва да сезатвори ръчно.
Delete Parameter – тази команда изтрива параметър от текущата БЗ в паметта. Диалогова кутия иска потвърждение за операцията.
Show Current Parameter – командата показва дефиницията на текущия параметър от консултационната сесия в прозорец.
How was the Parameter Rule Established – Извършва постъпково изпълнение на процеса на получаване на стойности на параметрите от въпроса. Изпълнението показва по какъв начин начина на въвеждане или изчислявани на стойностите на параметрите. Фазите са:
За отговор на следващия въпрос…
За следващия израз…
За използваното следващо правило…
За следващия стрингов израз…
За следващата опция…
Оценка на следващия израз…
Приемане на стойности за задачите в секцията.
What if Parameter changes its value – тази опция позволява директно въвеждане на стойност на параметър. Обикновено се използва за коригиране по време на сесията на стойността на погрешно въведен параметър. По този начин могат да бъдат променени само параметри, задавани чрез въпроси.
Draw Parameter Tree – ESTA дава графично представяне на параметрите.
Когато стойностите на параметрите са дефинирани чрез правила е възможно един параметър може да зависи от няколко други, които от своя страна могат да са свързани с други параметри и т.н. Връзките от този тип могат да се видят в графичен вид като дърво чрез тази опция за всеки от параметрите.
Пример:
parameter nice_parameter ‘It is a nice parameter’
type boolean
rules
true if nice_name and letter_count <> Insert.
Edit Section – (както при edit parameter)
Edit Section
Delete Section
Draw Section Tree
List All Sections
Title
New Title – използва се за задаване на ново заглавие (шапка) на БЗ, която няма такова. Отваря се редактиращ прозорец, където заглавната част да бъде дефинирана.
Edit Title – промяна на съществуваща заглавна част.
Update Title – записване след редакция
Delete Title - изтриване
Show Title – показване на текущо състояние
Pictures
Pictures Database – тази команда позволява промяна или разглеждане на базата данни от изображения. Предизвиква извеждането на диалогова кутия на базата с изображения, разделена на две части. Картинките, намиращи се в базата са изброени в списъка в лявата част на кутията. Текущата избрана картинка се изобразява в дясната половина. Бутонът Zoom в десния долен ъгъл позволява показване на изображението на цял екран. Диалоговата кутия има три опции:
База от данни – използва се за разглеждане на наличните картинки, добавяне на нови или изтриване на съществуващи.
Import – импортира Windows-ки метафайл или bitmap изображение в базата на ESTA. При избора на опцията се отваря диалогов Open file прозорец, където се задава желания файл
Delete – изтрива избраното в момента изображение от базата
Paste – вмъква картинка от Clipboard-а в базата. Трябва да е Windows метафайл или bitmap файл
Save – записва текущата база в текстов вид за 16/32 битови платформи (преносим вид)
Clear – изчиства базата с изображения.
Базата данни с изображения на ESTA представлява външна Prolog база данни. Базите, създадени с 16 и 32 битовите версии на ESTA са несъвместими. С използване на Save и Consult тези ограничения могат да бъдат преодоляни.
Забележка: ESTA съхранява картинките по-големи от 64kB в отделни файлове. След конвертиране на базата от/към друга версия можете да копирате тези файлове на друго място.
Attributes – позволява промяна на името, скалирането и позицията на картинката
Save Picture as – позволява промяна на текущо избраното име на картинка
Keep scale – когато бъде избра опцията текущата картинка се показва в оригиналните си размери в консултираща диалогова кутия и именуван прозорец
Fit in Frame – когато е избрана опцията текущата картинка ще бъде разтеглена до размерите на прозореца, в който е показана
Origin – позволява придвижване на картинката вертикално и хоризонтално
Hotspots – позволява задаването на полета (горещи точки) в картинката. Извършва се само за изображения, които са или ще бъдат използвани заедно с параметри-категории. Полетата съответстват (кореспондират) на опциите от параметъра – категория. Когато изображението се свърже към параметъра освен да избира стойности от списъчната кутия, потребителят може да избира чрез щракване върху съответните полета от изображението. Първо трябва да дефинирате параметъра-категория с неговите опции и името на изображението, което ще бъде използвано. След това се използва hotspot редактора за дефиниране на полетата върху изображението. За да бъдат зададени горещи точки трябва да се направи следното:
1. Позициониране на мишката в горния ляв ъгъл на желаната област за полето и придвижване на мишката с натиснат ляв бутон надясно и надолу до образуване на желаното по размери поле и пускане на бутона;
2. В полето Parameter се въвежда името на параметъра-категория, който включва картинката. Може да се избере чрез щракане върху малкия бутон отдясно на полето Parameter. Когато направите това е необходимо да се зададат или изберат възможните опции за селектирания параметър;
3. В допълнение към задаването на име на полето може да се зададе и дали полето да се вижда или не. Границите на видимото поле са отбелязани с правоъгълник, който не се вижда в противен случай. Във всеки случай курсорът ще променя вида си в ръка, когато бъде позоциониран върху полето, правейки видима обратна връзка при избор на съответния регион. Можете да направите всички полета видими с щракване върху бутона Set All Visible или Set All to Invisible в hotspot прозореца.
Описание на контролите:
Parameter – поле за въвеждане на името на параметъра-категовия
Options – поле за въвеждане на една от възможните опции за избрания параметър
Attribute – радиобутони, които позволяват да се избере дали полетата да са видими или не
Set all to visible – прави всички полета от текущата картинка да са видими
Set all to Invisible – прави всички полета невидими
Delete – изтрива зададена гореща точка от текущата картинка.
Pack Pictures Database – Пакетира базата данни с изображения
Save to Text – записва базата в текстов вид
Consult from Text – преобразува базата данни от текстов формат във формат за 16/32 битова платформа
Clear Pictures Database – изтрива базата с изображения
ПРЕДСТАВЯНЕ НА ЗНАНИЯТА
Представянето на знанията в ESTA става на базата на следните елементи:
Заглавна част (Title);
Секции (Sections)
Параметри (Parameters)
Зада бъде БЗ по-ясна за разбиране в нея може да има всякакви коментари
Секции
Секциите са елементите на ESTA, които се намират на най-високо ниво на йерархията.
Действия в частта actions:
Advice – действието advice при изпълнение установява стойности на всички параметри, участващи
This entry was posted
at 10:43
and is filed under
Компютърни системи и технологии
. You can follow any responses to this entry through the
.
0 comments
Запиши се и чети този блог
Категории
- Икономика (16)
- Компютърни системи и технологии (37)
- Маркетинг (38)