gse expertise2go

23
1. GENERATORUL DE SISTEME EXPERT EXPERTISE2GO 1.1. Introducere e2gRuleEngine este un applet Java încorporat într-o pagină web, astfel încât acesta poate rula într-un browser de web. Acest applet poate fi downloadat de pe un server de web sau poate fi executat pe un calculator gadă. !n vederea func"ionării, applet-ul încarcă o baă de cuno#tin"e de pe un server sau de  pe calculatorul loca l #i apoi ruleaă în browser-ul de web. 1.2. Instalare !n ve de rea cons tr ui ri i de si ste$e expe rt, es te necesa r ă de scăr carea appl et -ului de pe si te -ul www.expertise2go.co$ . %entru o instalare u#oară, fi#ierele necesare instalării au fost î$pac&etate într-o ar&ivă ip. Această ar&ivă con"ine atât co$ponentele software pentru e2gRule'riter #i e2gRuleEngine sub for$ă de fi#iere .(ar, cât #i o serie de fi#iere de tip tabele de deciie #i fi#iere .&t$ utile pentru instalarea #i învă"area $odului de utiliare a applet-ului. )upă descărcarea ar&ivelor corespunătoare, se va despac&eta ar&iva e2g*g.ip într-un director care, în final, va con"ine fi#ierele e2gRuleEngine.(ar, e2gRule'riter.(ar #i fi#iere .&t$, .+b #i .+bt. Ar&ivele din acest director nu trebuie despac&etate. ista co$pletă a fi#ierelor existente în directorul în care s-a realiat dear&ivarea este preentată în tabelul . tabelul . ista fi#ierelor dear&ivate i#ier )escriere e2gRule'riter.(ar software e2gRule'rite r/ nu se dear&iveaă e2gRuleEngine.(ar applet e2gRuleEngine/ nu se dear&iveaă test.&t$ fi#ier .&t$ cu tag-uri pentru applet-ul e2gRuleEngine auto.&t$ fi #i er .&t$ cu ta g-ur i pent ru rulare a ba ei de cuno#tin"e auto.+b auto.+bt ta be l de de ci i e pe ntr u ge ne ra re a ba e i de cuno#tin"e auto.+b auto.+b  baa de cuno#tin" e autofr.&t$ fi #i er .&t$ cu ta g- ur i pent ru rulare a ba ei de cuno#tin"e autofr.+b 01nicode autofr.+bt ta be l de de ci i e pe ntr u ge ne ra re a ba e i de cuno#tin"e autofr.+b autofr.+b  baa de cuno#tin" e 01nicode frenc&3.txt tabel cu traduceri în franceă, se utilieaă pentru autofr.+b 01nicode weat&erc&.&t$ fi#i er .&t$ cu ta g-uri pent ru rulare a ba ei de cuno#tin"e weat&erc&.+b 01nicode weat&erc&.+bt ta be l de de ci ie pe ntr u ge ne ra re a ba ei de cuno#tin"e weat&erc&.+b weat&erc&.+b  baa de cuno#tin" e 01nicode c&inese3.txt tabel cu traduceri în c&ineă, se utilieaă pentru weat&erc&.+b 01nicode wine.&t$ fi #i er .&t$ cu ta g- ur i pe nt ru rula rea ba ei de cuno#tin"e wine.+b

Upload: blegflv

Post on 02-Mar-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 1/23

1. GENERATORUL DE SISTEME EXPERT EXPERTISE2GO

1.1. Introducere

e2gRuleEngine este un applet Java încorporat într-o pagină web, astfel încât acesta poate rulaîntr-un browser de web. Acest applet poate fi downloadat de pe un server de web sau poate fi executat peun calculator gadă. !n vederea func"ionării, applet-ul încarcă o baă de cuno#tin"e de pe un server sau de

 pe calculatorul local #i apoi ruleaă în browser-ul de web.

1.2. Instalare

!n vederea construirii de siste$e expert, este necesară descărcarea applet-ului de pe site-ul

www.expertise2go.co$. %entru o instalare u#oară, fi#ierele necesare instalării au fost î$pac&etate într-oar&ivă ip. Această ar&ivă con"ine atât co$ponentele software pentru e2gRule'riter #i e2gRuleEnginesub for$ă de fi#iere .(ar, cât #i o serie de fi#iere de tip tabele de deciie #i fi#iere .&t$ utile pentruinstalarea #i învă"area $odului de utiliare a applet-ului.

)upă descărcarea ar&ivelor corespunătoare, se va despac&eta ar&iva e2g*g.ip într-un director care, în

final, va con"ine fi#ierele e2gRuleEngine.(ar, e2gRule'riter.(ar #i fi#iere .&t$, .+b #i .+bt. Ar&ivele dinacest director nu trebuie despac&etate. ista co$pletă a fi#ierelor existente în directorul în care s-a realiatdear&ivarea este preentată în tabelul .

tabelul . ista fi#ierelor dear&ivate

i#ier )escriere

e2gRule'riter.(ar  software e2gRule'riter/ nu se dear&iveaă

e2gRuleEngine.(ar  applet e2gRuleEngine/ nu se dear&iveaă

test.&t$ fi#ier .&t$ cu tag-uri pentru applet-ule2gRuleEngine

auto.&t$ fi#ier .&t$ cu tag-uri pentru rularea baei de

cuno#tin"e auto.+b

auto.+bt tabel de deciie pentru generarea baei decuno#tin"e auto.+b

auto.+b  baa de cuno#tin"e

autofr.&t$ fi#ier .&t$ cu tag-uri pentru rularea baei decuno#tin"e autofr.+b 01nicode

autofr.+bt tabel de deciie pentru generarea baei decuno#tin"e autofr.+b

autofr.+b  baa de cuno#tin"e 01nicode

frenc&3.txt tabel cu traduceri în franceă, se utilieaă pentru

autofr.+b 01nicode

weat&erc&.&t$ fi#ier .&t$ cu tag-uri pentru rularea baei de

cuno#tin"e weat&erc&.+b 01nicode

weat&erc&.+bt tabel de deciie pentru generarea baei decuno#tin"e weat&erc&.+b

weat&erc&.+b  baa de cuno#tin"e 01nicode

c&inese3.txttabel cu traduceri în c&ineă, se utilieaă pentruweat&erc&.+b 01nicode

wine.&t$fi#ier .&t$ cu tag-uri pentru rularea baei decuno#tin"e wine.+b

Page 2: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 2/23

wine.+bttabel de deciie pentru generarea baei decuno#tin"e wine.+b

wine.+b  baa de cuno#tin"e

4esno.&t$fi#ier .&t$ file cu tag-uri pentru rularea baei de

cuno#tin"e 4esno.+b

4esno.+bt

tabel de deciie pentru generarea baei de

cuno#tin"e 4esno.+b

4esno.+b  baa de cuno#tin"e

Crearea une !a"e de cuno#tn$e %n e&'ertse2(o

5 baă de cuno#tin"e define#te un siste$ expert ca pe un set de reguli if-t&en, defini"ii #i întrebări lacare va răspunde utiliatorul.

Ex/ RE6 7est 8aă de cuno#tin"e 0vre$ea.+b

R1E 9:a ploua;<

!f 9precipita"ii< = >sunt a#teptate?7&en 9reco$andarea< = >poartă o pelerină>

%R56%7 9precipita"ii< 6ulti@&oice @>)upă vre$ea de afară , precipita"iile />>sunt a#teptate>>nu sunt a#teptate>

5A 9reco$andarea<

Componentele bazei de cunoştinţe:

REM- este singura linie de co$entariu din baă #i oferă infor$a"ii despre nu$ele fi#ierului în care segăse#te baa de cuno#tin"e #i alte infor$a"ii.%entru ca fi#ierul să fie liibil se lasă câte un rând liber între co$ponente0reguli, pro$pt-uri,

reco$andări,etc..

REM ) linia care începe cu această co$andă repreintă o linie de co$entariu, fiind ignorată atunci cândeste preocesată baa de cuno#tin"e. @o$anda RE6 va apare la începutul liniei, tot ceea ce ur$eaă pelinia respectivă fiind ignorat.

R*ndur (oale B acestea sunt op"ionale #i sunt ignorate în prelucrare. Acestea sunt utiliate $ai ales pentru asigurarea liibilită"ii baei de cuno#tin"e.

RULE B regulă. Ele$entele care pot fi incluse în reguli sunt/

%ri$a linie începe cu cuvântul c&eie R1E ur$at de o scurtă descriere a acesteia 0plasată între parantee pătrate.A doua linie con"ine pre$isa regulii constituită dintr-un ! #i ur$ată de o expresie logică. Expresia logică

este for$ată din/

- un nu$e de atribut între parantee pătrate/ 9precipita"ii<

- un operator rela"ional 0ex/ =, C, D,,/

Page 3: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 3/23

- o valoare utiliată în co$para"ii. !n situa"ia în care această valoare repreintă un #ir de caractere,se vor utilia apostrofuri sau g&ili$ele. !n unele cauri pot apare valori nu$erice sau booleene07R1E sau AFE. Această valoare poate fi, de ase$enea, o valoare nu$erică sau booleană.

)acă în pre$isa regulii sunt preente $ai $ulte expresii logice, atunci acestea pot fi despăr"ite prininter$ediul operatorilor AG) sau 5R. )acă în există $ai $ult de o expresie logică de tip pre$isă, atunciacestea trebuie conectate prin inter$ediul aceluia#i operator logic. iecare clauă a pre$isei, constituită

dintr-un nu$e de atribut, operator rela"ional #i valoarea de co$parat se vor introduce pe o linie separată.@laua finală a pre$isei nu trebuie să se ter$ine cu AG) sau 5R.

A treia 0sau ur$ătoarea linie este repreentată de consecin"a regulii #i începe cu cuvântul c&eie 7HEGur$at de o concluie. Această concluie este alcătuită din/

- nu$ele atributului plasat între parantee pătrate

- operatorul de atribuire =

- valoarea ce va fi atribuită atributului, între apostrofuri sau g&ili$ele dacă este #ir de caractere.Această valoare poate fi, de ase$enea, de tip nu$eric sau boolean.

)acă valoarea va fi atribuită cu un grad de certitudine $ai $ic de II, atunci se va adăuga K #i ovaloare de la la II, repreentând gradul de certitudine.

)acă regula are $ai $ulte consecin"e acestea vor fi î$păr"ite prin operatorul AG). Regula se considerăintrodusă în totalitate atunci când în concluia regulii apare o linie care nu se ter$ină cu AG).

Ele$entele unei reguli pot fi scrise cu litere $ici sau $ari.iecare ele$ent al unei reguli trebuie scris pe o linie separată.

Atributele in e2gRuleEngine pot fi de trei tipuri/

- #ir de caractere 0string, textL- nu$ericL

-  boolean.

7ipul unui atribut este stabilit la pri$a introducere a atributului într-o regulă, acest lucru baându-se petipul valorii co$parate 0dacă atributul este întâlnit pri$a dată într-o pre$isă a unei reguli sau pe valoarea

asignată 0dacă atributul este întâlnit pri$a dată într-o concluie a unei reguli. )acă acela#i atribut este

ulterior utiliat prin asociere cu un alt tip de date conduce la apari"ia unei erori în func"ionarea siste$uluiexpert.1na din capacită"ile i$portante ale unui siste$ constă în explicarea $ecanis$ului de inferen"ă. !n caul

Expertise2o, în caul în care regulile sunt preentate utiliatorului ca parte a $ecanis$ului explicativ,acestea sunt refor$atate în vederea în"elegerii cu u#urin"ă a explica"iilor. Astfel, paranteele pătrate #i

g&ili$elele sunt o$ise, iar operatorii rela"ionali sunt transfor$a"i în text. )e exe$plu, = este transfor$atîn is astfel că regula/

!f 9calculator<=?defect?

va deveni/

!f calculator is defect

Alegerea corespunătoare a nu$elor atributelor #i atribuirea corectă a valorilor pentru acestea per$itscrierea regulilor într-o $anieră în care pot fi u#or în"elese de un utiliator.

PROMPT- acesta trebuie inclus în baa de cuno#tin"e după ce toate regulile au fost definite. Ele$entele posibile pentru acesta sunt ur$ătoarele/

Page 4: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 4/23

%ri$a linie con"ine cuvântul c&eie %R56%7 ur$at de nu$ele atributului între parantee pătrate.1r$ătorul ele$ent preent pe această linie per$ite specificarea tipului de %R56%7. 7ipurile posibilesunt ur$ătoarele/

- 6ultic&oice B per$ite selectarea $ai $ultor op"iuniL

- MesGo B intrare de tip booleanL

-  Gu$eric B acceptă o valoare nu$ericăL

-All@&oice B acceptă $ai $ulte răspunsuriL

- @&oice B control de tip dropdownlistL

- orced@&oice B alegere $ultiplă, fără a fi posibilă selectarea op"iunii N! donOt +now?.

5p"ional, după aceste co$ponente se poate adăuga ele$entul @ care specifică confiden"a răspunsului0gradul de încredere dat de utiliator. )acă @ nu este specificat, se consideră @=II.

%e ur$ătoarea linie se găse#te întrebarea care va apărea pe ecranul utiliatorului, atunci când co$anda%R56%7 este invocată de $ecanis$ul de inferen"ă al siste$ului expert. Această întrebare se va plasa

între g&ili$ele sau apostrofuri.%entru tipurile de %R56%7 6ulti@&oice, orced@&oice, @&oice #i All@&oice, posibilele valori ce vor fiutiliate de siste$ul expert vor fi incluse pe linii succesive, câte una pe linie, fiind incluse între g&ili$elesau apostrofuri. %entru tipul de %R56%7 nu$eric, valorile $ini$e #i $axi$e acceptate vor fi incluse pe

ur$ătoarele două linii #i trebuie încadrate de g&ili$ele sau apostrofuri.

GOAL  B repreintă scopul 0"inta siste$ului. Acesta este definit pe o singură linie care începe cuco$anda 5A, ur$ată de nu$ele atributului scop, acesta din ur$ă fiind încadrat de parantee pătrate.

7rebuie să existe cel pu"in un 5A în baa de cuno#tin"e. 5A poate fi a$plasat înainte sau după%R56%7 #i în scrierea liniei respective se vor respecta regulile de la R1E. Fcopurile sunt atributele pentru care $otorul de inferen"e va căuta valori. %rocesul de inferen"ă se va ter$ina atunci când scopurileau fost atinse sau atunci când, pe baa ele$entelor din baa de cuno#tin"e nu se pot atinge.

Crearea une !a"e de cuno#tn$e utl"*nd e2(Rule+rter

enerarea regulilor siste$ului expert poate fi realiată #i prin utiliarea utilitarului e2gRuleWrite

0aplica"ie interactivă. !n vederea ob"inerii regulilor, se vor parcurge ur$ătorii pa#i/

- se definesc condi"iile regulilor pe baa utiliării e2gRule'riter 0condition $odeL

- se definesc ac"iunile regulilor pe baa utiliării e2gRule'riter 0action $odeL

- se definesc regulile siste$ului expert pe baa utiliării e2gRule'riter 0rule $odeL

- se si$plifică #i se valideaă regulile 0rule $odeL

- se genereaă #i se exa$ineaă baa de cuno#tin"e corespunătoare tabelului de deciieL

- se genereaă #i se salveaă baa de cuno#tin"e corespunătoare tabelului de deciieL

- se testeaă baa de cuno#tin"e utiliând pagina web corespunătoare 0construită confor$

ele$entelor preentate anterior.

ansarea în execu"ie a generatorului de reguli se poate face în 2 $oduri/

-se dă un dublu clic+ pe fi#ierul e2gRule'riter din directorul în care se găsesc co$ponentelenecesare pentru construc"ia siste$ului expertL

- se lanseaă o fereastră de co$eni 0Ftart -D Run -D c$d, se sc&i$bă directorul de lucru #i se

introduce co$anda (ava -(ar e2gRule'riter.(ar.

@a ur$are a uneia dintre aceste ac"iuni, se va afi#a ur$ătoarea fereastră/

Page 5: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 5/23

figura . ereastra aplica"iei e2gRule'riter

Fe poate observa că există o codificare pe culori a celor trei $oduri de lucru ale acestui utilitar/- galben pentru condi"iiL

- verde pentru ac"iuniL

- albastru pentru reguli.

a $o$entul ini"ial, tabelul de deciie va con"ine P condi"ii, * ac"iuni #i P reguli. !n cursul procesului de

devoltare, pot fi adăugateQ#terse alte condi"ii, ac"iuni #i reguli.%entru exe$plificare, se consideră un siste$ expert pentru deter$inarea vinului asociat unui anu$it$eniu. %entru a realia acest lucru, se consideră că se dispune de infor$a"ii referitoare la/

- componenta meniu/ aceasta poate fi curcan, peşt sau porcL

-  sos_meniu/ acesta poate fi alb, tomat sau necunoscut L

- culoare_vin/ roş,sau albL

-

tip_vin/ sec, dulc sau , demisecL- vin/ roşu tohani, cabernet sauvignon, pignot noir, tămâioasă, chardonna sau riesling .

1.2.1. De,nrea cond$lor

!n $od i$plicit e2gRule'riter porne#te în $odul de lucru condiţie, pus în eviden"ă în figura 2.

Page 6: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 6/23

figura 2. !ntroducerea unei condi"ii

%a#ii necesari pentru introducerea condi"iei componentă meniu sunt ur$ătorii/- se trece în $odul de lucru condiţieL

- în câ$pul !"#$#%& 'tpe name, !%$!R( se introduce valoarea componenta_meniu #i se apasăEG7ERL

- în câ$pul  %!W )#*$ +)-! 'tpe value, !%$!R( se introduce valorile pe care le poate luacomponenta_meniu, adică curcan, peşte, porcL aceste valori se introduc pe rând, apăsând  !%$!R

după introducerea fiecărei valoriL pe $ăsură ce sunt introduse, valorile sunt afi#ate în lista plasatăîn partea stângă (os a ferestreiL

- se seteaă tipul de pro$pter  .ultChoice, prin inter$ediul butonului radio plasat sub lista$en"ionată $ai susL

- se introduce textul care va fi afi#at în ti$pul rulării/ $ipul de carne principal al meniului/   în

câ$pul 0rompt  #i se apasă !%$!RL

1.2.2. De,nrea ac$unlor

)efinirea ac"iunilor se face în $od ase$ănător ca #i definirea condi"iilor. )e exe$plu, în figura *  esteafi#ată starea ferestrei la introducerea ac"iunii vin.

Page 7: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 7/23

figura *. !ntroducerea unei ac"iuni

%a#ii care se ur$ăresc la introducerea unei ac"iuni sunt/- se selecteaă pri$ul rând ac"iune, după care se dă un clic+ în câ$pul E)!7!GL

- se introduce valoarea vinL în tabelul de deciie este afi#ată etic&eta vinL

- deoarece scopul acestui siste$ expert este de a deter$ina tipul de vin asociat unui $eniu, atuncivin repreintă scopul 0oal #i, ca ur$are, se va $arca corespunător căsu"a de $arca( &oal/L

- se introduc, pe rând, în câ$pul %!W )#*$ +)-! 'tpe value, !%$!R( valorile corespunătoare

 pentru vin, #i anu$e rosu tohani, cabernet sauvignon etc.L- dacă este necesar să se setee tipul de dată $rue1alse  sau  %umeric, atunci se poate utilia

 butonul radio plasat în dreapta câ$pului !"#$#%&L

- dacă se dore#te specificarea unei valori i$plicite pentru scopul vin, valoare ce va fi afi#ată încaul în care e2gRuleEngine nu poate deter$ina un reultat, atunci aceasta se va introduce încâ$pul "!-)$ +)-! L

-

se poate asocia un factor de încredere valorii i$plicite, prin alegerea corespunătoare a valorii dinlista plasată la stânga butonului *et C 3or "!-)$,  după care se apasă acest butonL dacă

valoarea coeficientului de încredere este II, această valoare nu este afi#ată  

1.2.-. De,nrea re(ullor

)efinirea regulilor repreintă ulti$ul pas în construirea baei de reguli a siste$ului expert, înainte de

Page 8: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 8/23

generarea baei de cuno#tin"e a acestuia. 1n exe$plu de introducere a unei reguli este preentat în figura, regula care se introduce fiind ur$ătoarea/

R* Alegere culoare vin<

!f 9sosS$eniu< / >alb>7&en 9culoareSvin< = >alb> K 3I

figura . !ntroducerea unei reguli

%a#ii parcur#i pentru introducerea unei reguli sunt ur$ătorii/

- se dă un clic+ pe orice etic&etă Rule i asociat unei reguli pentru a intra în $odul de introducere aregulilorL

- se apasă etic&eta corespunătoare regulii ce se dore#te a fi editatăL-

se introduce nu$ele regulii în câ$pul  !"#$#%&, după care se apasă tasta !%$!RL acst nu$e vaapare sub etic&eta regulii din tabelul de deciieL

- se dă un dublu clic+ pe rândul sos_meniu corespunător regulii * pentru a alege valoarea doritădin $ul"i$ea de valori corespunătoare pentru condi"ia sos_meniuL

- în acest ca se selecteaă valoarea albL

- se dă un dublu clic+ pe rândul culoare_vin corespunător regulii * pentru a alege valoarea dorită

din $ul"i$ea de valori corespunătoare pentru ac"iunea culoare_vinL

- se seteaă corespunător factorul de încredere pentru această regulă, după care se apasă butonul

Page 9: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 9/23

*!$ C 3or selected actionL

- se introduc, în acela#i $od, toate regulile dorite, în exe$plu dat acestea fiind în nu$ăr de T0figura PL

figura P. )efinirea totală a regulilor 

RândulQcoloanaQregula selectată este $arcată cu albastru. Regulile pot fi rearan(ate, prin drag and drop.5rdinea în care regulile vor apare în baa de cuno#tin"e este dictată de aran(area lor în tabelul de deciie.

%entru afi#area de infor$a"ii a(utătoare, se va $arca căsu"a de $arca( $ooltips enabled/. Aceste infor$a"iivor fi afi#ate în vecinătatea pointer-ului $ouse-ului .

figura 3. Afi#area de infor$a"ii a(utătoare

Acest editor $ai per$ite o serie de opera"ii, cu$ ar fi/

- generarea auto$ată de reguli pentru condi"iile selectate 0 figura UL având în vedere că sos_meniu

#i tip_vin au fiecare câte * valori, se vor genera auto$at * x * = V reguliL

Page 10: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 10/23

figura U. enerarea auto$ată de reguli

- verificarea tabelului de deciie #i si$plificarea acestuia 0figura T prin/

− eli$inarea condi"iilor sau ac"iunilor neutiliate precu$ #i a regulilor inco$plete 0lipsă

condi"ii sau ac"iuniL

− eli$inarea condi"iilor irelevanteL

− eli$inarea regulilor redundanteL

−co$binarea ac"iunilor regulilor, acolo unde este posibilL

− identificarea ac"iunilor contradictoriiL

figura T. :erificare #i si$plificare tabel de deciie

- co$binarea condi"iilorQac"iunilor din baa de cuno#tin"e, acolo unde este posibilL

- salvarea baei de cuno#tin"e în for$at 1G!@5)E 017-3L i$plicit, salvarea se face în for$at1F-AF@!!L

- traducerea baei de cuno#tin"e în diverse li$biL

-afi#area baei de cuno#tin"eL

- salvarea baei de cuno#tin"eL

- încărcarea unui tabel de deciie 0butonul )oad decision tableL

- salvarea unui tabel de deciie 0butonul *ave decision tableL

- salvarea unui tabel de deciie în for$at @F: 0butonul *ave decision table 'C*+(.

Page 11: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 11/23

1.2.. Sal/area !a"e de cuno#tn$e

Falvarea baei de cuno#tin"e se face prin apăsarea butonului *ave 4no5ledge base  0figura V #i

alegerea corespunătoare a loca"ieiQnu$elui acesteia.

figura V. Falvarea baei de cuno#tin"e

1.2.0. "ual"area !a"e de cuno#tn$e

:iualiarea baei de cuno#tin"e se face prin apăsarea butonului "ispla 4no5ledge base 0figura I.

Page 12: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 12/23

figura I. :iualiarea baei de cuno#tin"e

1.2.. Generarea !a"e de cuno#tn$e

8aa de cuno#tin"e generată este ur$ătoarea/

RE6 enerated b4 v.IIa of e2gRule'riter IQITQ2II 3/* fro$/ vinI.+bt

R1E 9R Alegere culoare vin<!f 9co$ponentaS$eniu< / >curcan>7&en 9culoareSvin< = >alb> K PI

R1E 9Ra Alegere culoare vin<

!f 9co$ponentaS$eniu< / >curcan>7&en 9culoareSvin< = >rosu> K VI

R1E 9R2 Alegere culoare vin<!f 9co$ponentaS$eniu< / >peste>7&en 9culoareSvin< = >alb>

R1E 9R* Alegere culoare vin<

Page 13: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 13/23

!f 9sosS$eniu< / >alb>7&en 9culoareSvin< = >alb> K 3I

R1E 9R Alegere culoare vin<

!f 9co$ponentaS$eniu< / >porc>7&en 9culoareSvin< = >rosu>

R1E 9R2 Alegere tip vin<!f 9sosS$eniu< / >alb>7&en 9tipSvin< = >sec> K TI

R1E 9R2a Alegere tip vin<!f 9sosS$eniu< / >alb>7&en 9tipSvin< = >de$isec> K 3I

R1E 9R22 Alegere tip vin<!f 9sosS$eniu< / >to$at>7&en 9tipSvin< = >dulce> K TI

R1E 9R22a Alegere tip vin<!f 9sosS$eniu< / >to$at>7&en 9tipSvin< = >de$isec> K PI

R1E 9R2* Alegere tip vin<

!f 9sosS$eniu< / >necunoscut>7&en 9tipSvin< = >de$isec>

R1E 9R2 Alegere culoare vin<

!f 9co$ponentaS$eniu< / >curcan>7&en 9tipSvin< = >dulce> K 3I

R1E 9R2a Alegere culoare vin<

!f 9co$ponentaS$eniu< / >curcan>7&en 9tipSvin< = >de$isec> K PI

R1E 9R* :in<

!f 9culoareSvin< / >rosu> and9tipSvin< / >dulce>

7&en 9vin< = >rosu to&ani>

R1E 9R*2 :in<!f 9culoareSvin< / >rosu> and

9tipSvin< / >sec>7&en 9vin< = >cabernet sauvignon>

R1E 9R** :in<

!f 9culoareSvin< / >rosu> and9tipSvin< / >de$isec>7&en 9vin< = >pignot noir>

Page 14: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 14/23

R1E 9R* :in<!f 9culoareSvin< / >alb> and9tipSvin< / >dulce>7&en 9vin< = >ta$aioasa>

R1E 9R*P :in<

!f 9culoareSvin< / >alb> and9tipSvin< / >sec>7&en 9vin< = >c&ardonna4>

R1E 9R*3 :in<!f 9culoareSvin< / >alb> and9tipSvin< / >de$isec>7&en 9vin< = >riesling>

%R56%7 9co$ponentaS$eniu< @&oice @>7ipul de carne principal al $eniului;>>curcan>

>peste>>porc>

%R56%7 9sosS$eniu< @&oice @

>7ipul de sos;>>alb>

>to$at>>necunoscut>

6AW:AF 9co$ponentaS$eniu< *

6AW:AF 9sosS$eniu< *6AW:AF 9culoareSvin< 2

6AW:AF 9tipSvin< *6AW:AF 9vin< 3

5A 9vin<

6!G@ TI

O'$un de rulare

6ediul de devoltare a siste$elor expert Expertise2o per$ite $ai $ulte $oduri de rulare. Acestea sunt/

- rularea pe un calculator local care încarcă o pagină de web ce invocă e2gRuleEngine ca un fi#ierL

-rularea pe o $a#ină locală pe care a fost instalat un server de webL

- rularea pe un server de web ce per$ite accesul public.

@erin"a funda$entală în construirea unui siste$ expert utiliând Expertise2o constă în necesitateaincluderii co$enilor de încărcare a e2gRuleEngine #i specificarea baei de cuno#tin"e #i a altor op"iuni

într-o pagină web, între ni#te tag-uri speciale 0Capplet...D to CQappletD #i apoi încaărcarea paginii web prin inter$ediul unui browser de web.

Page 15: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 15/23

Utl"area une 'a(n 3e! ce n/oc4 e2(RuleEn(ne ca un ,#er

Rularea applet-urilor pe un %@ este posibilă c&iar dacă pe acel %@ nu este instalat un server de web. !n

acest $od, se per$ite $utarea fi#ierelor necesare de pe un calculator pe altul. %entru a rulae2gRuleEngine în acest $od, se va încărca pagina care include tag-urile CappletD în ur$ătorul $od/

,le5666c56&&&677763e!'a(e.8t9

unde c/QxxxQ... define#te calea către fi#ierul &t$. %rin utiliarea acestei $etode este u#or să se testee baele de cuno#tin"e, per$i"ând construc"ia unei pagini web si$ple care include tag-urile CappletDnecesare încărcării e2gRuleEngine #i a baei de cuno#tin"e. i#ierul .&t$ poate fi încărcat #i direct din

directorul în care a fost salvat.

1.2.:. Utl"area unu ser/er de 3e! nstalat 'e un PC

Această $etodă de devoltare a unui siste$ expert este cea $ai reco$andată. Ferver-ul de web per$itetestarea baelor de cuno#tin"e, precu$ #i evaluarea globală a paginii în care a fost încorporat

e2gRuleEngine. @el $ai utiliat server în astfel de cauri este Apac&e Ferver, disponibil pentru diversesiste$e de operare 0'indows, inux #i variante ale acestuia. %entru instalare se poate consultawww.apac&e.co$.

1.2.;. Utl"area unu ser/er de 3e! cu acces 'u!lc

!n această situa"ie se va face un upload al applet-ului, paginilor web #i al baelor de cuno#tin"e pe server-ul de web, prin utiliarea protocolului 7% 0ile 7ransfer %rotocol. i#ierele vor fi plasate într-un director al site-ului, de exe$plu siste$Sexpert. %entru a testa func"ionarea, se poate încărca pagina auto.&t$ 0pusăla dispoi"ie de devoltatori prin introducerea adresei/

&ttp/QQwww.do$eniu.roQsiste$SexpertQnu$eFE.&t$

sau&ttp/QQwww.stud.usv.roQXidu$itrescuQsiste$Sexpert Qnu$eFE.&t$

)acă s-a realiat o configurare corectă #i exe$plele de$onstrative pot fi rulate, se poate trece ladevoltarea baelor de cuno#tin"e ale siste$ului expert propriu.

Instalarea # rularea sste9ulu cu !a"a de cuno#tn$e anteroar4

!n vederea rulării siste$ului expert, este necesară construirea unei pagini 'eb în care se va încărcaapplet-ul e2gRuleEngine #i în care se va specifica baa de cuno#tin"e.

or$atul paginii 'eb, intitulată vin6html , este ur$ătorul/

C&t$lDC&eadDCtitleDFiste$ expert alegere vinCQtitleDCQ&eadD

Cbod4 bgcolor=>YVVII**>DCcenterD

Capplet code=>e2gRuleEngine> arc&ive=>e2gRuleEngine.(ar> widt&=PII &eig&t=IID

Page 16: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 16/23

Cpara$ na$e=>Z81R> value=>vin.+b>DCpara$ na$e=>A%%7!7E> value=>Felectie vinuri>DCpara$ na$e=>A%%F187!7E> value=>)e$onstratie eWpertise2o>DCpara$ na$e=>8@55R> value=>Yffffff>D

Cpara$ na$e=>7!7E@55R> value=>YIIIIff>DCpara$ na$e=>%R56%7@55R> value=>YIIIIII>D

Cpara$ na$e=>F7AR781775G> value=>Fugestie vin>DCpara$ na$e=>'5R)'RA%> value=>true>DCpara$ na$e=>)E81> value=>false>DJava-enabled browser re[uired

CQappletDCQcenterD

CQbod4DCQ&t$lD

!ncărcarea paginii conduce la afi#area ur$ătoarei ferestre 0figura /

figura . %agina de start a siste$ului expert

!n $o$entul în care se va apăsa butonul *ugestie vin va fi afi#at pri$ul %R56%7 din baa de cuno#tin"e

0figura 2. @onsiderându-se că $eniul con"ine carne de poc 0figura 2 #i sos to$at 0figura , sugestiaoferită de siste$ul expert este de a asocia acest $eniu cu un vin ro#u de 7o&ani 0 figura P, sugestie baată pe ra"iona$entul din figura 3.

Page 17: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 17/23

figura 2. Alegerea co$ponentei de baă a $eniului

Apăsând butonul Wh as4/ $otorul de inferen"ă ne va furnia o explica"ie relativă la ce valorisunt necesare pentru activarea unei reguli /

figura *. Reultatul apăsării butonului Wh as4/

Apăsând butonul Return se va per$ite întoarcerea la %R56%7-ul anterior, iar de acolo apăsând*ubmit our response $otorul de inferen"ă fie va furnia reco$andarea 0dacă are suficiente

infor$a"ii pentru aceasta, fie va procesa în continuare baa de cuno#tin"e.

Page 18: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 18/23

figura . Alegerea tipului de sos asociat $eniului

figura P. Fugestia siste$ului expert

Page 19: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 19/23

figura 3. Explicarea ra"iona$entului efectuat

!n caul în care apare o eroare, este posibil ca aceasta să se datoree 0caurile cele $ai frecvente unor gre#eli de editare a paginii 'eb.

@odurile de eroare sunt preentate în tabelul 2.

tabelul 2. @oduri de eroareEroare )escriere @o$entariu

PI !nitialiation error Eroare internă la încărcarea baei de cuno#tin"e

2IP oal loop A apărut o buclare în procesul de inferen"ă, datorităconstruc"iei circulare a regulilor de inferen"ă

2I 7oo $an4 5A state$ents %rea $ulte scopuri definiteL depă#ire a capacită"ii de calcula siste$ului expert

22I Go 5A state$ents Gu a fost definit un scop al siste$uluiL trebuie definit cel

 pu"in un scop

2*I 7oo $an4 attributes %rea $ulte atributeL depă#ire a capacită"ii de calcul a

siste$ului expert

2I 7oo $an4 un+nown attributes %rea $ulte atribute necunoscuteL depă#ire a capacită"ii de

calcul a siste$ului expert2PI 7oo $an4 R1Es %rea $ulte reguli introduseL

23I 7oo $an4 R1E pre$ise clauses %rea $ulte pre$ise definite în reguliL depă#ire a capacită"iide calcul a siste$ului expert

2UI 7oo $an4 R1E conse[uentclauses

%rea $ulte concluii definite în reguliL depă#ire acapacită"ii de calcul a siste$ului expert

2TI Fpace for R1E data exceeded )epă#ire a spa"iului alocat datelor din reguliL depă#ire a

Page 20: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 20/23

capacită"ii de calcul a siste$ului expert

2VI 7oo $an4 %R56%7F %rea $ulte %R56%7-uriL depă#ire a capacită"ii de calcul asiste$ului expert

*II Fpace for %R56%7 data

exceeded

)epă#ire a spa"iului alocat datelor din %R56%7-uriL

depă#ire a capacită"ii de calcul a siste$ului expert

II Expected a deli$ited attribute

na$e or value at t&is location

Este necesară existen"a unui nu$e de atribut sau a unei

valori a acestuia la respectiva loca"ie

I 1nexpected end of +nowledge

 base

a $o$entul rulării unei co$ponente a baei de cuno#tin"e

s-a a(uns la sfâr#itul fi#ierului baă de cuno#tin"ă 0.+b

2I Expected an ! state$ent at t&is

location

Fe a#teaptă introducerea unui ! la această loca"ieL

ur$ătoarea linie după R1E trebuie să înceapă cu !

*I Expected an attribute na$e att&is location

Este necesară existen"a unui nu$e de atribut la respectivaloca"ie

I Expected a value at t&is location Este necesară existen"a unei valori la respectiva loca"ie

PI Expected a 7HEG state$ent att&is location

Este necesară existen"a unui 7HEG la respectiva loca"ieL pre$isa de pe lini anterioară nu s-a ter$inat cu AG) sau5R 

3I Expected a relational operator 0=C D / at t&is location

Este necesară existen"a unui operator rela"ional larespectiva loca"ie

UI Expected a logical operator  

0andQor at t&is location

Este necesară existen"a unui operator logic la respectiva

loca"ieL una dintre cauele acestei erori este legată deutiliarea operatorului N=? în locul lui N/? î$preună cu

valori $ultiple

TI Expected an assign$ent operator 0= at t&is location

Este necesară existen"a unui operator N=? la respectivaloca"ie

VI Expected AG) at t&is location Este necesară existen"a unui AG) la respectiva loca"ie

PII Expected nu$eric confidencefactor between and II at t&islocation

Este necesară introducerea unui coeficient de încredere cuvaloarea între I #i II

PI Expected nu$eric 6AW:AFvalue at t&is location Este necesară introducerea valorii $axi$e la respectivaloca"ie

P2I Expected %R56%7 t4pe 0MesGo,

6ult@&oice,... at t&is location

Este necesară specificarea tipului de %R56%7

P*I A translation value wit& t&is

na$e does not exist

 Gu există traducere pentru acest nu$e 0în caul utiliării

siste$ului expert în alte li$bi decât li$ba engleă

PI An attribute wit& t&is na$e does

not exist

 Gu există un atribut cu acest nu$eL eroarea este cauată, în

$od uual, de definirea unui %R56%7 cu un nu$e deatribut ce nu a fost utiliat în nicio regulă

3II Atte$pt to c&ange attribute t4pe !ncercare de sc&i$bare a tipului unui atributL aceastăeroare apare atunci când atributul a fost utiliat anterior 

într-o regulă, dar asociat cu un alt tip de date

3I Got a legiti$ate nu$eric value :aloare nu$erică introdusă incorectL eroarea apare atuncicând a fost introdus un caracter ilegal sau a fost depă#ităvaloarea ad$isă de tipul de dată respectiv

3P 5ut of range @ value @oeficient de încredere eronatL acest coeficient este li$itatla intervalul -II \ ]II

32I 8ad nu$eric value in6AW:AF state$ent

:aloare nu$erică eronată în 6AW:AF

3*I ogical operator not recognied 5perator logic nerecunoscut

Page 21: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 21/23

UII %R56%7 t4pe not recognied 7ip de %R56%7 nerecunoscut

UPI Znowledge base co$$and notrecognied

@o$andă din baa de cuno#tin"e nerecunoscută

U3I 1nrecognied data t4pe 7ip de date nerecunoscut

TII 6issing or e$pt4 +nowledge base

8aă de date lipsă sau fără con"inutL această eroare apareatunci când server-ul web nu per$ite citirea fi#ierelor de

tip .+b. Eli$inarea acestei erori se poate face prinsc&i$barea extensiei baei de cuno#tin"e din .+b în .txt0i$plică sc&i$barea nu$elui baei de cuno#tin"e #i a para$etrului Z81R din pagina web

TPI Error in JavaFcript function call Eroare JavaFcript

V*I 8ad operator in nu$ericexpression

5perator eronat într-o expresie nu$ericăL pentru versiunea3.I sau $ai nouă/ este necesară rularea în $odul )E81 pentru identificarea posibilită"ilor de eli$inare a erorii

VI 8ad factor in nu$eric expression actor eronat într-o expresie nu$ericăL pentru versiunea3.I sau $ai nouă/ este necesară rularea în $odul )E81

 pentru identificarea posibilită"ilor de eli$inare a erorii

VPI Gon-nu$eric factor in nu$ericexpression

actor nenu$eric într-o expresie nu$ericăL pentruversiunea 3.I sau $ai nouă/ este necesară rularea în $odul)E81 pentru identificarea posibilită"ilor de eli$inare a

erorii

V3I Go nu$eric value found wit& @

D= 6!G@

:aloare nenu$erică asociată unui coeficient de încredereL

 pentru versiunea 3.I sau $ai nouă/ este necesară rularea în$odul )E81 pentru identificarea posibilită"ilor deeli$inare a erorii

VUI 1nbalanced parent&eses inexpression

!ntr-o expresie, nu$ărul de parantee desc&ise nu este egalcu nu$ărul de parantee înc&ise

VTI Atte$pted division b4 ero in parser 

!ncercare de î$păr"ire la I

Rularea în $odul )E81

!n vederea eli$inării erorilor, se poate apela la rularea în $odul )E81 a siste$ului expert. !n acestsens, se va specifica un para$etru nou în fi#ierul .&t$ prin/

<PARAM NAME=>DE?UG> ALUE=>true>@

 Gu$ele para$etrului, adică )E81, trebuie scris cu $a(uscule, în ca contrar el fiind ignorat. %orninddin nou rularea siste$ului, pe lângă pagina web se va desc&ide #i ur$ătoarea fereastră/

Page 22: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 22/23

!n caul desc&iderii ferestrei de depanare, e2gRuleEngine va rula în $odul trace on, în care ac"iunile

$otorului de inferen"ă sunt afi#ate pas cu pas. Astfel, sunt afi#ate infor$a"ii legate de erori, de stareasiste$ului, de răspunsul $otorului de inferen"ă, precu$ #i de con"inutul baei de cuno#tin"e. Această

afi#are poate fi activatăQdeactivată prin apăsarea butonului 7race is 5GQ5. !nc&iderea ferestrei se poate face prin apăsarea butonului @lose debug window. %entru a fi redesc&isă, este necesară reîncărcarea paginii web.

ereastra )E81 furnieaă o serie infor$a"ii supli$entare legate de erori, pe lângă cele de sintaxădescoperite la încărcarea baei de cuno#tin"e 0în ur$ă apăsării butonului NFtart t&e consultation? afi#ateîn fereastra applet-ului. )e exe$plu, dacă s-a o$is introducerea unei parantee într-o regulă, la apăsarea butonului NFtart t&e consultation?, în ferestra debug va apare 0figura /

Page 23: GSE Expertise2go

7/26/2019 GSE Expertise2go

http://slidepdf.com/reader/full/gse-expertise2go 23/23

?I?LIOGRAIE

. &ttp/QQwww.ac.tuiasi.roQroQlibrar4QF8@[email protected] 

2. &ttp/QQwww.dave-reed.co$QcscPPI.IQecturesQexpert.pdf *. &ttp/QQwww.bui.f&-&a$burg.deQpersQulri+e.spreeQprogra$$eQe2giteSreference.&t$l

. &ttp/QQwww.expertise2go.co$QwebesieQe2gdocQe2gref.&t$Y81775G@5)EFP. &ttp/QQwww.aurelian.roQ@F!EQ@4bQ!AQ@%E-E62Isuport2I-2.&t$3. &ttp/QQexpertise2go.co$QwebesieQe2gdocQe2gref.&t$Y7RAGFA7EU. &ttp/QQro.wi+ipedia.orgQwi+iQi$ba(ulSdeSprogra$areS@!%F

T. &ttp/QQwww.(essrules.co$Q(esswi+iQviewV. &ttp/QQwww.eed.usv.roQXcristinaQ$asterQia.&t$lI. &ttp/QQresurse.co$Qe$ar+etingQrealiare.p&p*. &ttp/QQwww.paginata.co$QpaginataQ;p=P

2. &ttp/QQwww.nic+sta+enburg.co$Qpro(ectsQlig&tviewQ