Documente Academic
Documente Profesional
Documente Cultură
Informaie
(Sintez)
(Analiz)
Date
(Procesarea observaiilor de
Sofisticare
baz)
i
complexitat
e
special de cunotine, fiind deduse, din experiena acumulat de-a lungul multor ani, de ctre
oameni specializai. Au menirea de a alege opiunea cea mai eficient dintre diverse
alternative de aciune, pentru realizarea unui scop bine definit. Importana procesrii
cunotinelor este surprins n Figura 1 :1.
Elementele bazei de cunotine sunt :
a) Baza de fapte: cuprinde datele iniiale, extrase din enunul problemei supuse rezolvrii.
De asemenea conine i rezultatele intermediare create n cursul raionamentelor efectuate
de motorul de inferen.
b) Motorul de inferen: nlnuie cunotinele preluate n prealabil din baza de cunotine i
realizeaz raionamente necesare rezolvrii aplicaiei propuse din domeniul specific SBCului.
c) Modulul de achiziie a cunotinelor: preia informaiile furnizate de experii umani n
domeniu sau de ctre inginerul de cunotine.
d) Interfaa utilizator: asigur comunicarea ntre utilizator i sistemul de consultare SBC
e) Modulul explicativ: ofer explicaii referitoare la raionamentele realizate de ctre
motorul de interferen.
f) Modulul de nvare: mbuntete rezultatele SBC-ului, deducnd noi cunotine din
cele deja existente, prin analizarea cunotinelor euristice sau prin achiziia altora noi.
Aceste elemente sunt redate n figura 1:2.
Surs:Elaborare proprie
Figura 1.2 Arhitectura unui SBC
cunotinele pot fi: clasificri, reguli, idei, calcule .a. Acestea se mpart n cunotine exacte
sau perfecte i cunotine imperfecte, nesigure sau certe. La rndul lor acestea se compun din
informaii inexacte, incomplete, incomensurabile.
Diversele metode sau caracteristici care permit selectarea unui anumit tip de aciune
n obinerea unui rezultat optim, nglobeaz o form special de cunotine, cunoscute ca
euristici. Este esenial ca orice sistem inteligent s aib o anumit organizare i reprezentare a
cunotinelor, n special SBC.
Auxiliare bazei de cunotine, sunt baza de fapte i memoria de lucru. Acestea
cuprind date concrete a unei probleme care trebuie soluionat dar i cele intermediare,
rezultate n urma aciunilor MI. n alte lucrri de specialitate baza de fapte este inclus n
baza de cunotine. Memoria de lucru nregistreaz informaiile operaionale ale SBC pe
parcursul desfurrii proceselor. Completitudinea, coerena i neredundana sunt calificatorii
n baza crora se msoar eficiena i valoarea unei baze de date.
Aadar completitudinea subliniaz importana volumului de informaii necesar pentru
a evita o stopare brusc a sistemului. Coerena marcheaz faptul c o baz de cunotine nu
produce fapte contradictorii n relaie cu o baz de informaii concrete, necontradictorii.
I.1.2. Tipuri de redare a cunotinelor
Ilustrarea cunotinelor presupune identificarea unei legturi ntre lumea real i
simbolurile specifice, care determin execuia unor raionamente printr-un algoritm.
Detalierea elementelor diferitelor entiti din mediul exterior reflect un grad de cunoatere a
acestora.
Totalitatea cunotinelor aferente lumii exterioare formeaz domeniul de
competen al SBC. n mod ideal, cunotinele trebuie reprezentate corect i concis, astfel
nct s poat fii preluate i valorificate de sistemul bazat pe cunotine. Pentru a garanta
succesul, n general informaiile sunt nfiate printr-o metod specific, un limbaj special de
reprezentare a cunotinelor. Indiferent de metoda aleas, aceasta trebuie s garanteze
posibilitatea obinerii de noi cunotine, prin interogare sau efectuare de raionamente.
n literatura de specialitate exist diferite abordri ale metodelor de reprezentare a
cunotinelor. Conform studiilor realizate de Robert MacGregor2 principalele modele de
redare sunt: modelul logicii formale, modelul regulilor de producie, modelul cunotinelor
structurate i cel al cunotinelor incerte (reele semantice).
a) Modelul logicii formale
Acest model utilizeaz tiina principiilor formale de raionament. Presupune o
anumit sintax, semantic i mod de inferen sintactic. Aadar nglobeaz un limbaj
specific, i regulile prin care se asociaz nelesul simbolurilor cu valoarea de adevr
(adevrat sau fals). n funcie de numrul acestor valori, poate fi logic dual sau polivalent.
Modelul aceasta necesit folosirea a dou metode: logica propoziional i logica
predicatelor de ordinul I. Prima metod implica lucrul exclusiv cu propoziii declarative,
entitile descrise fiind fixe sau unice. (Andrei e buctar). Predicatele i cuantificrile
reprezint un plus pe care l aduce a doua metod, obiectele expuse putnd fi unice sau chiar
variabile asociate unei entiti unice (Toi buctarii sunt abseni).
b) Modelul regulilor de producie
Acesta reprezint o metod aparte de exprimare a cunotinelor, sub forma unor
indicaii formulate ntr-un limbaj apropiat de cel natural. n cadrul acestui model cunotinele
sunt redate prin dou tipuri de entiti: reguli i fapte. Regulile sunt nite euristici speciale
care genereaz cunotine. Un sistem de reguli este de forma: IF cauz THEN efect.
2 Robert MacGregor (1991), Principles of Semantic Networks: Explorations in the
Representation of Knowledge, p: 385-400
4
Regulile pot fi deductive sau inductive n funcie de poziionarea condiiei nainte sau
dup premisa formulat. Ele fac legtura dintre cauz i efect i sunt memorate ca structuri
de control. Faptele sunt declaraii unitare asupra unui caz particular, ca o instan a unui
raionament logic.
Regulile sunt formate din dou pri: LHS (n englez: left hand side), indicnd
premisa i RHS (n englez: right hand side), viznd concluzia. Fiind legate logic prin
implicaie, adevrul minii stngi condiioneaz adevrul minii drepte: LHS->RHS.
Astfel, dac premisa poate fi ndeplinit ntr-un cadru specificat, atunci consecina se poate
efectua n acelai cadru.
Fiecare regul este ca o pies ntr-un puzzle de cunotine dintr-un anumit domeniu.
Legturile dintre reguli i procesele declanate de acestea conduc la rezolvarea problemei.
Acest model permite utilizarea unor aciuni asociate consecinelor, precum execuia unor
proceduri sau funcii externe. Regulile pot fi nlnuite nainte sau napoi, figura I.3 i figura
I.4 ilustrnd acest lucru. Se noteaz c starea scopului este notat cu D, iar coninutul iniial
al memoriei de lucru cu A,E.
situaii critice. Dezavantajul major const n riscul de a fi create bucle infinite, de exemplu:
pentru a demonstra un fapt trebuie demonstrat un altul, apoi cel iniial.
Raionamentul mixt are rolul de a combina avantajele raionamentelor descrise
anterior, i de a compensa aspectele negative ale acestora. Astfel, motorul de inferen
fixeaz obiectivul, determin faptele deductibile, utiliznd iniial raionamentul inductiv
pentru a obine de la utilizator cunotine despre faptele interogabile, necunoscute nc. Apoi,
aplic al doilea tip de raionament n scopul deducerii tuturor cunotinelor posibile.
I.3. Programarea i implementarea modulurilor
I.3.1. Modulul explicativ
Scopul modulului explicativ (ME) este de a reda justificarea proceselor efectuate de
motorul de inferen (MI) ntr-o manier abordabil. De asemenea, are rolul de a genera
ntrebrile care solicit atenia utilizatorului. Specialistul uman beneficiaz de acest modul,
facilitnd verificarea coerenei bazei de cunotine. n linii mari, ME permite urmrirea
traseului urmat de sistemul rezolutiv, evideniind greelile sau eecurile i justificnd soluiile
obinute n urma raionamentelor.
Cea mai important trstur comun a sistemelor bazate pe cunotine este facilitatea
de lmurire. Aceast trstur permite utilizatorului s observe ce tip de raionamente sunt n
execuie. Astfel, utilizatorul, va putea s neleag ruta cunotinelor parcurse de sistem i s
deduc motivaia din spatele unor ntrebri formulate de ctre acesta. De asemenea,
garanteaz transparena deciziilor finale sau intermediare. Importana acestei faciliti este
foarte evident n procesul depanrii bazelor de cunotine. Ofer avantajul de a identifica
erorile, lacunele, inconsistenele i genereaz un proces pentru corectarea lor.
Un sistem bazat pe cunotine cruia i lipsete modulul explicativ este privit cu
scepticism de ctre specialitii n domeniu. Unele sisteme care rezolv probleme matematice,
cum ar fi Macsyma, nu necesit acest modul. Dar, n principal, un SBC care are facilitatea
explicrii conceptelor este mai popular n rndul utilizatorilor.
n cazul n care utilizatorul trebuie instruit n aria de expertiz a SBC-ului, sau este
necesar indicarea unor limite, o explicaie simpl, uor inteligibil poate fi o valoroas
msur de a aciona. Implementarea unui SBC capabil s genereze explicaii accesibile,
presupune abordarea unor concepte specifice cu un anumit nivel de structur, detaliere, sau
complexitate a informaiilor furnizate.
La nceputul dezvoltrii SBC, metodele tradiionale ale programelor de explicare
furnizau explicaii prin convertirea codului de program sau a etapelor de execuie, n limbaj
natural. n vreme ce aceste tehnici puteau oferi informaii despre comportamentul
programului, ele nu reueau s furnizeze justificaii pentru modul de procesare sau
raionament. Problema consta n faptul c informaiile necesare pentru a da aceste explicaii
erau deja folosite n cadrul crerii programului, nefiind nenregistrate ca parte a codului.
Mai trziu a aprut XPLAIN, un sistem dezvoltat de W.R.Swartout, care este capabil
s justifice lanul de raionamente, fr a irosi cunotinele. Acest sistem utilizeaz structura
domeniului de rezolvare, pentru a genera informaii despre starea curent a procesului. Acest
sistem este un succes, ns dezvoltarea unui SBC care s ofere cunotine unui domeniu
foarte mare de utilizatori presupune un efort titanic. Impedimentele nu sunt de natur
informatic, ci de natur uman, dat fiind incertitudinea surselor i a informaiilor furnizate
.Aadar, marea majoritate a sistemelor ofer explicaii limitate la descrierea i analizarea
etapelor de raionament, prin acceptarea sau excluderea membrilor unei multitudini de
ipoteze luate n considerare. Spre deosebire de XPLAIN, foarte puine sunt capabile s ofere
o justificare a irului de raionamente, sau s-i adapteze comportamentul la gradul de
cunoatere a utilizatorului.
11
n acest caz, dup tipul de eroare). Metodele de nvare ale programului sunt apoi utilizate
pentru a generaliza exemplele.
3. Consultare
Cunoscute ca i sisteme suport de decizie, acestea presupun transmiterea unor
informaii concise utilizatorului, n vederea soluionrii unor probleme specifice cmpului de
expertiz n cauz.
4. Supraveghere i verificare
Acest tip de sisteme se regsete cu precdere n tehnologia nalt i industrie, avnd
multe trsturi comune cu sistemele de interpretare. Diferena principal dintre acestea este
dat de sistemul n cauz, prin modul de lucru on-line pe parcursul supravegherii procesului
vizat. Scopul major este de a menine un anumit echilibru n vederea obinerii unor efecte
favorabile. Exemple potrivite pentru o astfel de aplicaie sunt oferite de procesele industriei
farmaceutice, care mbina i compun reacii chimice i etape de prelucrare extrem de
complexe. De asemenea controlul la distan, prin wireless, a unor motoare electrice de joas
tensiune, implicnd optimizarea buclelor de reglare i evoluia mrimilor msurate,
reprezint un alt exemplu potrivit.
5. Previziune
nglobarea unui software de predicie preexistent ntr-un astfel de sistem bazat
permite specialistului instruit n domeniu s obin un rezultat cu o probabilitate ct mai
ridicat. Acest gen de aplicaii abordeaz o sfer larg de informaii, pornind de la
meteorologie pn la bursa de valori.
6. Pregtire
Gruparea unor secvene de aciuni n vederea obinerii unui rezultat dorit, presupune
planificare. Controlul experimentelor, planificarea pailor diferitelor procese industriale,
chiar emiterea unei strategii militare, pot fii obiectivele unor aplicaii de acest tip.
7. Programare
Sistemele bazate pe cunotine pentru proiectare pot oferi suport utilizatorului
specializat, dar pot s funcioneze i autonom, opernd diverse pri ale proiectului. Reeaua
de circuite electrice, irigaiile computerizate sunt exemple de aplicaii care urmeaz
principiile acestui sistem.
8. Instruire
Cunoscute sub denumirea de: Intelligent Tutoring Systems sau SII, aceste sisteme
de instruire sunt create incorpornd tehnici din Inteligena artificial, tiine sociale,
psihologie, urmrind simularea comportamentului persoanelor specializate n predarea de
diferite concepte. Aceste sisteme au inteligena necesar pentru a genera automat cunotine,
tehnici noi, specializate pe gradul de nelegere a beneficiarului vizat. Complexitatea i
capacitatea de informaii, cumulate cu aciunea de instruire pot fi selecionate att de ctre
solicitant (de cele mai multe ori studentul) ct i de sistem.
Tehnicile machine learning sunt folosite pentru automonitorizarea, evaluarea i
mbuntirea performanelor sistemului. Un astfel de SII trebuie s ncorporeze cunotine
specifice domeniului instruit (modulul expert), spre a le manipula i prezenta utilizatorului
(modulul student). Obiectivele principale ale SII sunt identificarea corect a profilului
studentului, generarea concis a informaiilor pe baza profilului, verificarea posibilelor erori
i a feed-backului.
14
n mod corect i formularea unor raionamente logice pe baza acestora. Aceste raionamente
determina n final o concluzie ce constituie soluia problemei. Logica este relevana n
reprezentarea cunotinelor deoarece constituie studiul legturilor relaii-limba, condiiile de
adevr, reguli de inferen. Nu este surprinztor faptul c reprezentarea logic mprumuta o
mulime de elemente i tehnici ale logicii simbolice formale.
nainte ca un sistem s nceap s raioneze, formuleze, nvee, plnuiasc sau s
explice comportamentul su, trebuie s fie capabil s formuleze ideile implicate n procesele
desfurate.
II.2.1. Tehnici formale de reprezentare
II.2.1.1. Faptele
n limbajul de specialitate ele sunt numite: unitile atomice ale cunotinelor9.
Fiind blocuri de informaii de baz, ele reprezint cunotinele declarative, adic exprima
detalii i particulariti ale obiectelor. O propoziie este o instan a unei fapte, creia i este
asociat o valoare de adevr. Poate fi adevrat sau fals. n principal, n Inteligena
artificial, se folosesc propoziiile mpreun cu termenul de adevr asociat. Faptele pot fi:
Cu o singur valoare sau valori multiple
Fiecare atribut poate defini una sau mai multe valori n acelai timp, spre exemplu:
Un computer poate avea doar un singur desktop, dar mai multe sisteme de operare, aadar,
atributului sistem de operare poate avea mai multe valori.
Incerte
Uneori este esenial reprezentarea faptelor incerte, astfel nct este indicat c aceste
valori s fie asociate cu un grad de incertitudine, de exemplu: Este o ans de aizeci la sut
c astzi s plou.
Fuzzy
Aceste fapte sunt ambiguu prin natura lor, n principal datorit subiectivitii
descrierii acestora. Atunci cnd sunt definite, este necesar menionarea valorii de adevr a
acestora. Un exemplu potrivit ar fii: Modulul acesta de nvare este dificil.
Trio Obiect Atribut Valoare (OVT)
Sunt folosite pentru a afirma proprieti diferite ale aceluiai obiect. Schema
semnificativ:
Obiect: Ansatasia
Atribut: nuana pielii
Valoare: mslinie
Sora Anastasiei este
Sonya
Object: Sonya
Attribute: sora
Universalele sunt afirmaii generale despre lume ca Toi oamenii sunt muritori.
Faptele sunt exemple specifice de universale ca Pitagora este om de aceea este muritor. n
termeni logici, definiiile i universalele definesc cuantificrile universale, n vreme ce
faptele intesc cuantificrile existeniale, Toate formele de reprezentare a cunotinelor
trebuie s vizeze acest aspect i majoritatea realizeaz acest lucru prin unele seturi de teorii,
modelarea universalelor ca seturi i subseturi i definiiile ca elemente ale acestora.
II.2.1.2. Regulile
Acestea sunt o alt form de redare a cunotinelor. Conform lui Durkin o regul este
O structur de date care leag anumite informaii de altele cu scopul de a obine o concluzie
sau de a deduce un adevr10.
O regul este compus din dou componente: premisa ( partea IF) i concluzie
( partea THEN). Mai multe premise pot fi asociate folosind operatorii logici sau ori i,
altfel spus utiliznd disjuncii sau conjuncii.
Regulile pot fi:
Reguli de relaie - Acestea sunt utilizate pentru a exprima o legtur direct dintre
dou evenimente, obiecte: Dac sistemul nu funcioneaz, atunci are o erori.
Reguli de recomandare - Acestea fac o referire pe baza unor date cunoscute: Dac i
uzi telefonul, atunci pune-l pe calorifer.
Reguli directive - Sunt similare regulilor menionate anterior, dar ele presupun
sugestia unui mod de aciune specific, nu sunt vagi: Dac i uzi telefonul i nu l poi
pune pe calorifer, atunci usuc-l cu foehnul.
Reguli variabile - Presupun c acelai tip de norme s fie aplicat la mai multe obiecte:
Dac Z este un individ i are coeficientul de inteligen mai mare dect 140, atunci Z
este geniu. Astfel de norme sunt numite i reguli modelatoare. Regula este comparatia
cu fapte cunoscute iar posibiliti diferite de variabile sunt testate pentru a determina
adevrul ei.
Reguli incerte - Acestea introduc faptele incerte n sistem: Dac nu a plouat niciodat
n perioada asta a anului atunci probabil nu va ploua nici acum.
Meta-reguli - Acestea impun modul n care se folosesc alte reguli: Dac nu i merge
computerul i nu ai un antivirus optim, atunci utilizeaz regulile de diagnosticare a
sistemului.
Metoda reprezentrii prin regulile de producie sta la baza dezvoltrii sistemelor
expert.Aceast metod presupune transformri succesive a unui context iniial .O regul de
producie este format din dou pri condiionale:
- Contextuala: Specific aria n care este aplicabil regul
- Transformaionala: Parte de aciune, care determin modificarea contextului.
Dezavantajul acestei metode const n existena unor domenii n care este dificil
formalizarea regulilor, iar numrul lor poate deveni prea mare pentru a putea fi manipulate de
sistemul de calcul.
II.3. Prelucrarea cunotinelor
Atunci cnd utilizatorul solicita sistemului s fac ceva, dar nu indic modul n care
s realizezeze comanda propus, sitstemul trebuie s raioneze, adic s furnizeze o soluie,
bazndu-se pe cunotinele acumulate sau deduse.Cu ct problemele sunt mai complexe, cu
att procesul de raionare a acestuia devine mai dificil. El trebuie s fie capabil s deduc,
analizeze i s verifice o mulime de fapte noi.
Dup modul de procesare a cunotinelor, exist mai multe metode de raionament:
- Metoda formal
Utilizeaz reguli prevzute de interferen formulate prin manipularea sintactic a
structurilor de date; deduce informaii din datele preexistente n baza de cunotine;
reprezentarea formal presupune logica matematic.
- Metoda procedural
Folosete modele procedurale simulate pentru a rspunde interogrilor i a soluiona
problemele.De exemplu, cnd sistemul trebuie s rspund la o ntrebare de genul: Cat este
7-2? programul folosete un model procedural aritmetic.
10Jussi Kantola, Waldemar Karwowski (2004), Knowledge Service Engineering Handbook
19
Metoda meta-nivel
Se bazeaz pe rspunsurile primite de la utilizator, n formularea sau deducerea de noi
ipoteze.
Pe scurt, cunotinele se afla n legtur una cu cealalt, sistemul trebuie s se
preocupe constant de modul n care noile date vor fi integrate n program, vor interaciona cu
cele vechi sau cum vor putea fi recuperate. De asemenea, eficacitatea i raionamentul sunt
vitale n programarea sistemelor inteligente, prin acestea ncercndu-se captarea aspectelor
complexe ale gndirii umane.
II.3.1. Eficiena raionamentelor
Raionamentul reprezint o structur informaional desfurat i ierarhizata, n
care gndirea pornete de la anumite date i ajunge la obinerea altora noi, sub forma unor
concluzii. n acest caz, concluzia este propoziia la care vrem s ajungem, iar restul
propoziiilor sunt premisele acestei concluzii. Raionamentul este specific gndirii
propoziionale, n care secvenele de idei sunt organizate.11
Eficiena de a raiona se refer la eficacitatatea modului de procesare a sistemului
adic la capacitatea bazei de cunotine de a fii actualizata i a motorului de a crea noi
inferene n o perioad rezonabil de timp.
ntr-o msur, aceasta este reversul exprimrii adecvate.n general, cu ct e mai
puternic reprezentarea, cu att e formulat mai expresiv, cu att mai puin eficient va fi
raionamentul generat automat. Eficiena a fost o problem la nceputul implementrii
programelor de reprezentare a cunotinelor, dar studiile arat c unele sisteme expert
contemporane ating un grad nalt de eficacitate.
II.3.2. Tipuri de raionament
Conform specialitilor din domeniu Ronald Brachman & Hector Levesque12 exist
cteva tipuri principale de raionament:
1. Raionament deductiv
Acest tip de raionament este bazat pe deducerea unor noi informaii din cunotinele
deja acumulate. Un argument deductiv ofer aseriuni care determin imediat concluzia.
2. Raionament inductiv
Este bazat pe formarea or inducerea unor generaliti dintr-un numr limitat de
observaii
Diferena esenial ntre raionamentul inductiv i cel deductiv este faptul c primul
este bazat pe experiena, n vreme ce al doilea, pe reguli.n mod normal, al doilea va fi corect
ntotdeauna
3. Raionament abductiv
Deduciile urmeaz aceleai reguli logice ca axiomele. Abducia este o form de deducie
care permite o inferen plauzabila, adic concluzia ar putea fi greit.
4. Raionament analogic
Este construit pe baza analizei modului natural de gndire a oamenilor.Cu toate
acestea este destul de dificil soluionarea unei probleme prin intermediul acestui mod de
raiune, la fel ca i n cazul raionamentelor de tip generalizare i abstractizare.
11Preluat din articolulRationament deductiv, inductiv si
euristicahttp://experimentala.ro/0doc//TRANSPORTURI/cognitiva%20pdf/Rationamentul%20inductiv%20deductiv
%20si%20euristica.pdf [Accesat la 11.03.2016;12:42 AM]
12
Ronald Brachman & Hector Levesque (2004) Knowledge Representation and Reasoning
20
Acesta funcioneaz prin analogie, adic observ diferenele sau asemnrile dintre
dou situaii sau probleme diferite, i aplic soluia care a determinat concluzia procesului
analog.
5. Raionament obinuit
Este o form informal de raionament, care genereaz soluii sau concluzii bazate pe
experien. Opereaz cu reguli euristice i cunotine euristice.
6. Raionament nemonoton.
Acesta presupune diferite tipuri de raionament ipotetic. Sistemul asocieaza faptele
cu regulile i utilizeaz tot fapte ca s le justifice. n sistemele bazate pe reguli aceast
capacitate este cunoscut ca sistemul de mentenana a adevrurilor.
Este utilizat atunci cnd este posibil c faptele cazului abordat s se schimbe dup o
perioad de timp. Dac cauza este nlturat, faptele asociate sunt terse de asemenea.
21
22
Surs:Elaborare proprie
Figura 3.2 Modul de funcionare al unui SE
Componentele principale ale unui sistem expert se pot observa n figura 3.2 .Aa cum
am menionat anterior, sistemele expert sunt create n vederea rezolvrii unor probleme.
Soluia generat de ctre sistem se bazeaz pe cunotinele introduse (intrri). Astfel,
rezultatul ar putea fi greit dac datele nu sunt valide, crendu-se reguli eronate sau conflicte
informaionale. Aici intervine motorul de inferene, considerat inima sistemului expert.
Acesta comport patru etape :
1. Selecionarea
n acesta etap se extrag din BC elemente specifice ariei de soluionare a problemei
propuse.Se realizeaz o separare a BC, care va facilita cutarea datelor n etapele urmtoare.
Etapa de selecie este necesar doar n situaia unei baze de cunotine mari, care vizeaz mai
multe domenii ale cunoaterii.
24
2. Trierea
Aceast faz presupune analizarea premiselor normelor selectate anterior n raport cu
elementele ce caracterizeaz problema propus, n vederea generrii regulilor declanabile.
Dac n urma acestui proces nu rezult nici o regul, atunci sistemul expert semnaleaz o
situaie de eec, pe care trebuie s o explice.De asemenea, utilizatorul este solicitat s
rspund la o serie de ntrebri, n vederea gsirii unei explicaii pentru acest comportament
procedural.
3. Soluionarea erorilor
Etapa menionat este necesar atunci cnd n urma filtrajului realizat anterior, rezult
mai multe reguli declanabile. n acest caz trebuie aleas una pentru a fi executat. Poate fi
aleas o norm be baza unor principii ca : cea mai complex regul, prima regul din lista
sau cea mai des folosit.
4. Executarea normei alese
Aceast etap const n mbogirea bazei de fapte cu una sau mai multe fapte.De
asemenea, aici,motorul de inferen utilizeaz un raionament n vederea generrii concluziei.
Revenind la componente, trebuie menionat c n afar de MI i intrri, orice sistem
expert prezint i un constituent de ieire. Este esenial ca rezultatele SE s fie organizate ct
mai sintetic i inteligibil pentru a fi utile expertului uman. n funcie de acestea, decidentul
superior va putea s ia decizia final corect.
III.2. Clasificarea sistemelor expert
La momentul actual exist numeroase modele de sisteme expert, care propun soluii
la o multitudine de probleme reale i de interes. Privite din perspectiva domeniului de
aplicabilitate, aceste SE au i caracteristici comune, dar i diferite.De exemplu, din punctul
de vedere a expertizei umane, a datelor culese i introduse, un sistem destinat folosirii n aria
medical este substanial diferit de unul folosit n economie. Privite n ansamblu, procesele
care stau la baza rezolvrii problemelor sunt comparabile.
De-alungul anilor au fost formulate diferite clasificri ale sistemelor expert.
Comparnd diferitele lucrri de specialitate, se observ c exist multe suprapuneri pe
marginea acestui subiect, datorate i terminologiei folosite de cercettori.
Conform Stuart Russel (2009)14, SE pot fi clasificate :
1. Potrivit naturii cunotinelor redate :
a) Sisteme expert fundamentate pe reguli
Acest tip de sistem este cel mai des ntlnit, tehnologia lor fiind cea mai dezvoltat.
b) Sisteme expert ntemeiate pe cadre
n cadrul acestui tip de SE, cunotinele constituie obiecte structurate
c) Sisteme expert hibride
Acest model de SE combin att cadrele ct i regulile.
d) Sisteme bazate pe tipare
Acestea sunt construite pe baza unui model
2. Potrivit naturii problemelor soluionate :
a) SE fundamentate pe achiziionarea faptelor relevante.
Sunt utile n expertiza oricrui domeniu de activitate, bazndu-se pe cunotinele
experilor umani care sunt descrise i cuantificate cu precizie maxim.
b) Sisteme expert n etape consecutive.
14 Stuart J. Russell , Peter Norvig, (2005) Artificial Intelligence :A Modern
Approach.p:278-300;
25
n a doua categorie, ipoteza este analizat nti, mai apoi fiind construite reguli care
ar putea duce la soluia final. n timp ce procesarea este n desfurare se creeaz noi
ipoteze, care trebuie validate. Conform Stuart J. Russell, Peter Norvig 15, un exemplu potrivit
n acest sens ar fi:
Regula 1: Dac A si C atunci Y
Regula 2: Dac A si X atunci Z
Regula 3: Dac B atunci X
Regula 4: Dac Z atunci D
Surs:Elaborare proprie
Figura 3.3. Principiul de desfurare a inferenelor n cadrul unui SE bazat pe reguli.
Surs:Elaborare proprie
Figura 3.4. Modul de funcionare a unui sistem expert fuzzy
Cunotinele experilor sunt principala surs care stau la baza construirii unui SE
fuzzy. Exist numeroi parametrii i componente care trebuie configurate pentru a controla
un proces.
Conform Nadia Nedjah,Luiza de Macedo Mourelle(2005)17, in funcie de necesarul de
performan a problemei, mediul, funciile, baza de reguli i mecanismul de inferen trebuie
adaptate. Imitarea proceselor reelelor neuronale, gruparea sau organizarea informaiilor sunt
tehnici utilizate pentru a genera reguli.
Computarea evoluionist (EC) este o alt metod, bazat pe procesele genetice ale
creaturilor biologice, utilizat n soluionarea problemelor de optimizare. Prin replicarea
procesului de evoluie (coonform Darwin), EC ar putea soluii la diferitele probleme ale
lumii reale, dac acestea ar fi codificate corect (reprezentarea problemelor este numit
cromozomiere).
O consultatie MYCIN se realizeaz n dou faze. Prima diagnoz este realizat pentru
a identifica cele mai probabile infecii aflate n organism. Apoi, un medicament sau mai
multe sunt prescrise care ar trebui s se aplice tuturor organismele posibile. Antibioticile
prescrise ar trebui s determine dispariia afeciuni identificate.De asemenea, trebuie s
interacioneze favorabil i s se protiveasca profilului pacientului.
MYCIN poate cere rezultatele unui test care nu este nc realizat. n acest caz,
fizicianul trebuie s rspund : necunoscut. Aceasta modalitate este corect ntruct, n
cazul diagnosticrii unei infecii, doctorii au rar oportunitatea de a deine un set complet de
analize medicale. Mai mult, datorit faptului c tratamentul imediat este important, doctorii
au nvat s lucreze cu informaii pariale. MYCIN se adapteaz acestei situaii, acceptnd
necunoscut ca rspuns corect.
Ca un specialist uman,MYCIN va lucra cu informaii incomplete. n adiie la
informaiile necunoscute, ar putea fi informaii care sunt nesigure din punct de vedere
medical. Diferite ambiguiti apar n diferite culturi,sau n modul de scriere.
Pentru a adapta incertitudinile, toate informaiile furnizate MYCIN-ului, trebuie s fie
gradate printr-un factor de certitudine un numr ntre -1 i +1 care indic doz de ncredere
a doctorului n raspunul dat.De aceea, dac un doctor este sigur n mod moderat de
manifestarea unei simptome, poate rspunde la o ntrebare prin DA.4, pentru a indica o
ncredere limitat n rspunsul su.
Atunci cnd utilizatorii ntreab de ce? aunci cnd programul cere diverse date,
MYCIN va explica ce ipotez este luat n considerare i modul n care cerina prezenta de a
furniza date va ajuta la formularea unei concluzii. Dup ce diagnoz i prescripia sunt
complete, dac dorete fizicianul poate urnri tot arborele dianosticului MYCIN.
Explicaiile MYCIN, dei foarte folositoare, sunt limitate la o recenzie a procesului
de raionare i a cunotinelor deinute. MYCIN nu poate justifica sau explica regulile nsi,
nici nu poate defini termenii utilizai. De aceea mdeicii nu pot ntreba De ce este utilizat
aceast regul? sau Ce este pseudomona aeruginosa?.
Regulile conin informaii achiziionate de un expert.Se presupune c temenii utilizai
de MYCIN i rspunsurile cerute sunt familiare fizicienilor care utilizeaz programul.
Sistemele bazate pe cunotine trebuie construite cu grij pentru a fi compatibile cu
trsturile comunitii de utilizatori. Inginerii de cunotine care au dezvoltat MYCIN au avut
responsabilitatea ca termeni precum pat, cultura, microbacterie s fie familiari
utilizatorilor sistemului
b) Eficiena MYCIN
Acest SE a fost evaluat prin diferite metode. Succesul sau n rezolvarea a cteva sute
de cazuri a confirmat competena sa n identificarea agnetilor infecioi, selectnd doze
potrivite de medicamente i recomansand teste adiionale pentru diagnosticare.
ntr-o evaluare mai complex, 8 evaluatori independeni cu expertiz n
managementul meningitei au comparat prescripia de medicamente generat de acest SE cu
cea creat de 9 experi umani specializai n cazuri grave de meningit.
n faza incipient a evalurii, MYCIN i membrii univeristari ai Facultii de
Medicin Stanford au evaluat fiecare 10 cazuri alese n prealabil cu grij, n vederea oferirii
unei varieti de probleme dificile.
n etapa a doua, specialistilor n boli infecioase proeminente le-a fost atribuit cte un
set de cazuri pe care le-au evaluat i diagnosticat, fr s tie identitatea celor care au prescris
reetele sau c specialistul ar putea fi un computer.Au fost utilizate dou criterii de evaluare
:
Primul criteriu:
Prescripiile au fost evaluate pentru a verifica dac medicamentele recomandate sunt
eficiente n combaterea agentului de infectare dup ce a fost identificat n final. MYCIN i
ali trei membrii ai facultii au prescris o terapie compatibil n toate cele 10 cazuri.
31
Al doilea criteriu:
Presupunea ca medicamentul prescris s fie aceptabil pentru ali patogeni posibili,
fr riscul de supradozare. Dup acest criteriu, MYCIN a fost considerat mai eficient dect
toi experii umani.
n acest studiu, experii au evaluat prescripia acestui SE ca fiind corect n 65% din
cazuri, n vreme ce specialitii umani nu au trecut pragul de 62,5%.
Avantajul MYCIN n faa acestor oameni foarte pregtii este dat de cel puin patru
factori :
- Baza de cunotine este derivat din experienele celor mai buni practicieni umani, bolile
sunt foarte detaliate.De asemenea este mai cuprinztoare dect informaiile deinute dect
majoritatea doctorilor din domeniu meningitei.
- MYCIN nu trece cu vederea nimic, nici nu uit detalii.
Este considerat fiecare posibilitate. Doctorii afirm c Trebuie ca s te
gndeti nti la boal ca s i recunoti simptomele. MYCIN ia n considerare orice
boal posibil despre care are cunotine.
- Programul nu sar niciodat repede la concluzii, i nici nu eueaz n cererea unor poriuni
importante de informaii. Nu conteaz ct de evident este boal, MYCIN verifica toate
detaliile i ia n considerare toate alternativele.
- MYCIN este localizat ntr-un centru medical major i informaiile deinute sunt tot timpul
curente. O mare parte a recomandrilor terapeutice se bazeaz pe date recente, publicate
n articole specializate. Astfel de informaii nu se gsesc n cri i nu este posibil ca toi
specialitii umani s le tie.
Evalurile variate la care a fost supus MYCIN demonstreaz c acest sistem expert
este la fel de bun, dac nu mai bun dect majoritatea specialitilor umani.
c) Flexibilitatea MYCIN
Programul original a fost schimbat de mai multe ori n scopul cercetrii tiinifice.
Spre deosebire de programele tradiionale, MYCIN este foarte uor de modificat. Fiecare
regul a sistemului formeaz un modul separat. Orice regul particular poate fi modificat
sau tears, iar sistemul poate s funcioneze n continuare.De asemenea, o regul poate fii
adugat iar sistemul o ncorporeaz n procesul de diagnosticare imediat.
Abilitatea de a modifica sau adug reguli este o caracteristic cheie a sistemelor
expert. Aceast trstur este la fel de necesar la fel ca capacitatea unui sistem de a raiona
sau da explicaii asupra deciziilor luate.SE sunt dezvoltate i meninute gradual cu implicarea
activ a unui sau mai muli experi. Pentru a fii relevant i eficient, un program trebuie s fie
uor de actualizat.
III.3.2. Sisteme expert de diagnosticare a erorilor
Ca o subclas a inteligenei artificial, diagnoza presupune dezvoltarea de algoritmi i
tehnici care determin corectitudinea modului de funcionare a unui sistem. Dac sistemul nu
funcioneaz corespunztor, algoritmul ar trebui s determine ct mai precis posibil care parte
a sistemului eueaz i ce fel de eroare ntmpin.
Computarea este bazat pe observare, care furnizeaz informaii pe baza
comportamentului curent. Expresia diagnoz se refer de asemenea i la rspunsul
ntrebrii dac sistemul este eronat sau nu, dar i la procesul de furnizare a rspunsului. Acest
cuvnt provine din cmpul lexical medical, unde diagnoza semnific procesul de identificare
a unei boli dup simptomele specifice.
Diagnoz expert este bazat pe experiena utilizrii sistemului. Utiliznd aceast
experien, se construiete o cartografiere care asocieaza eficient erorile observate cu
diagnosticul corespondent. O abordare puin diferit este construcia unui sistem dup un
32
model, spre deosebirea de crearea innd cont de expertiz. Natural, exist avantaje i
dezavantaje ale utilizrii acestei metode.
Principalele dezavantaje ale acestor metode sunt :
Dificultatea de a dobndi experien.
n mod obinuit o expertiz este disponibil numai dup o perioad ndelungat de
utilizare a sistemuului.De aceea aceste metode nu sunt potrivite pentru sisteme critice de
tipul siguran sau misiune (control central nuclear, orbitare robot n spaiu).
Cunotin acumulat prin experiena nu poate fii niciodat garantat complet.
n cazul apariiei unei erori nentlnite anterior, care determin o observare
neateptat, este imposibil furnizarea unui diagnostic.
Complexitatea nvrii
Procesul off-line de construire a unui sistem expert necesit o perioad mare de timp
i o cantitate mare de memorie.
Mrimea final a sistemului expert.
Deoarece sistemul nregistreaz orice observaie i o asociaz unui diagnostic, n
unele cazuri va pretinde un spaiu de depozitare foarte mare.
Lipsa robusteii.
La cea mai mic modificare fcut n sistem, procesul construirii sistemului expert
trebuie reluat.
Aadar, un sistem este perceput ca fiind de diagnosticare dac indiferent de
comportamentul sistemului analizat, determina fr ambiguitate un diagnostic unic.
Problema diagnozei este foarte importanata n proiectarea unui sistem deoarece, pe de
o parte poate reduce numrul de senzori pentru reducerea costurilor i pe de alt parte poate
spori cantitatea pentru o probabilitate mai mare de detectare a eventualilor erori.
Exist civa algotitmi de rezolvare a acestor probleme. O clas de algoritmi rspunde
ntrebrii dac un sistem este potrivit pentru diagnosticare i o alt verifica senzorii care fac
sistemul diagnozabil i opional se conforma criteriului de optimizare a costurilor. n general
ns, modelul sistemului transmite dac este potrivit pentru diagnoz sau nu.
CRIB sau Banca de restaurare a incidentelor computeriale, este unul dintre cele mai
importante aplicaii dezvoltate pentru diagnosticarea greelilor computeriale. Dei poseda
puin din cunotinele structurale sau funcionale a unor sisteme expert mai avansate, acest
sistem este foarte flexibil, prietenos cu utilizatorul, i un sistem de inferen direcionat pe
model, adecvat att pentru diagnosticarea prii hardware sau software.
Obinerea cunotinelor de la experi este dificil. Prin restricionarea formelor
cunotinelor solicitate fr a sacrifica perfomanele sistemului, dezvoltatorii CRIB au
proiectat un instrument de diagnosticare optim.
III.3.3. Sisteme expert de diagnosticare economico-financiar
Specialitii considera c o diagnoz financiar este necesar pentru a msura
profitabilitatea capitalului investit i pentru a estima echilibru financiar i economic.De
eceea, scopul principal al diagnozei economico-financiare este de a releva starea economic a
companiei i de a identifica eventualele relaii cauz-efect.
Sistemele expert pentru diagnosticarea economic sunt unelte unice i moderne. Care
au fost adoptate rapid de ctre marile companii datorit flexibilitii i eficienei cu care
proceseaz diferitele date economice, determinnd astfel creterea productivitii i a
profitului. Managerii trebuie s defineasc o strategie n legtur cu oportunitatea de a utiliza
sistemele expert n rezolvarea diferitelor probleme complexe.
Numrul de sisteme expert n domeniul economic a crescut mult n ultima vreme
datorit avantajelor pe care le ofer :
33
Performan
Aceste sisteme nu pierd date n timpul proceselor lungi i sunt capabile s lucreze
permanent
Posibilitatea multiplicrii
Se pot crea copii ale programului iar utilizatorii pot nva modul de funcionare
singuri
Eficien
Implica cheltuieli mai mici, fa de costul expertizei umane.
Consisten
Aceleasi activiti sunt procesate n aceeai modalitate
Obiectivitate
Programul nu poate fi influenat, spre deosebire de expertul uman
Documentare
Unui sistem expert economic i pot fi furnizate informaii permanente n timpul
procesului de diagnosticare
O diagnoz financiar incepe prin determinarea i interpretarea unui set de indicatori
economico-financiari. Pentru a putea face o diagnoz financiar, un sistem expert poate
calcula indicatorii: lichiditate general, lichiditate curent, rata general de solvabilitate,
independena financiar, capitalul permanent, trezoreria net, rata dobnzii, evaluarea
imobilizrilor.
Acest sistem de diagnoz economic este un program standard care este compus din
urmtoarele elemente :
1. Baza de date
Cunotinele reprezint descrieri ale unor cmpuri caracteristice economiei, relaiile
dintre aceste cmpuri, cazurile particulare, excepii, strategii de rezolvare, i de asemenea un
set de condiii aplicabile problemelor economice propuse. Baza de cunotine poate fi creat
utiliznd sistemul, care are rolul de a aduna, i calcula date referitoare la bunurilor
imobilizate, capitalul propriu, datorii extraordinare, credite de trezorerie, datorii curente .a.
2. Baza de fapte
Conine informaii pozitive care pot fii folosite n analiza unui cmp specific.
Proceseaz datele introduse de experi utiliznd baza de reguli. Astfel, sistemul expert de
diagnoz financiar calculeaz urmtorii indicatori : capitalul nvestit, independena
financiar, volumul investiiilor, rata datoriilor, trezoreria net s.a.
3. Baza de reguli
Conine reguli care unesc faptele. Pentru a analiza o situaie financiar, baza de reguli
are anumite restricii, care presupun atribuirea unei valori fiecrui indicator n parte, valoare
estimat n funcie de perioada de timp n care variaz.
4. Motorul de inferen
Opereaz baza de date, creaz nalogii care deduc noi fapte i adopt ia decizii pentru
a modifica baza de date succesiv pn toate regulile au fost utilizate sau pn cnd concluzia
final este stabilit.
Astfel, sistemul de diagnoz financiar calculeaz valoarea final care caracterizeaz
situaia financiar i permite companiei analizate s fie integrat n o categorie :
- Dac rezultatul final (TS) este mai mic dect 5.5 atunci starea financiar a companiei
este slab.
- Dac TS este mai mare sau egal cu 5.5 i mai mic dect 7.5, situaia este
satisfctoare.
34
Dac TS este mai mare sau egal cu 7.5 i mai puin de 8.75, situaia financiar este
bun.
35
IV.2.Ontologie organizaional
O entitate economic este format din departamente i subdivizii, o grupare de ageni
organizaionali (membrii unui departament sau subdivizie), un set de roluri pe care membrii
l joac n organizaie i un arbore de scopuri pe care membrii ncearc s le ating. Orice tip
de organizaie implic un set de constrngeri a activitilor realizate de agenii
organizaionali. Astfel .cu ajutorul Protg, am creat o ontologie care nsumeaz elementele
dintr-un mediu economic organizaional i relaiile dintre acestea. Ontologia mea este
format din clase, subclase, proprieti ale datelor, proprieti ale claselor i instane.
a) Clase
Agentul organizational: are unul sau mai multe roluri.Fiecare rol este creat pentru a
servi unui scop bine definit i este asociat cu autoritatea potrivit nivelului organizaional
la care activeaz. Agenii fac diferite activiti n cadrul unei entiti, iar fiecare activitate
presupune consumul de resurse .Este un set de constrngeri care stabilete limitele unei
activiti .Un agent organizaional poate fi membru al unei echipe care are un scop
special,are abiliti necesare, i are un set ce legturi de comunicare cu ceilali ageni
organizaionali.
Legtur cu autoritatea: este folosit atunci cnd comunicarea este menit pentru a crea
obligaii, presupune doi ageni, unul aflat ntr-o poziie de autoritatesupervizor" i altul
ntr-o poziie de executare(supervizat).De exemplu un supervizor i poate cere unui altuia
s execute o aciune A1, dar s nu o execute pe alt A2.
Scop: este atins dac starea de care este legat printr-o proprietate satisfcut_de" este
adevrat.De asemenea,este satisfcut de performana unui proces.Scopurile pot fi numite
direct prin proprietatea depinde_de".
36
Una sau mai multe resurse pot fi alocate pentru a sluji unui rol .Ele sunt alocate de un
agent care are autoritate.
37
d)ValidareaontologieiprinFusekiServer
nurmancrcriiontologieipeserverulFuseki,amconstatatcontologiacreateste
corectdinpunctdevederetehniciinformaional.Mesajuldesuccestriples=365confirm
faptulcncreaiameaexist365depropoziiicare au un subiect, predicat i un obiect
(proprietate).
38
39
e)Schemasimplificatarelaiilordinontologiaorganizaional
40
IV.3.Ontosparql
SPARQL permite regsirea rapid a informaiilor formalizate ntr-o baz de
cunotine. n contextul n care ct mai multe informaii devin accesibile ntr-un mod formal
un astfel de limbaj permite acestora navigharea cu uurin printre informaiile existente
.Language SPARQL este un limbaj de interogare a seturilor de triple RDF oferit de Jen,
RAP, Redland .Ofer suport pentru manipularea construciilor RDF.Pune la dispoziie operaii
asupra grafurilor RDF i este independent de platforma software utilizat.
Am creat un program care s-i permit utilizatorului s manipuleze datele dintr-o
ontologie, prin intermediul sparql . n crearea acestui program m-am folosit de modulele
Apache Jena i Apache Maven, librarii dezvoltate special pentru prelucrarea ontologiilor.
1. Interfaa Ontosparql
Creat cu ajutorul Java Swing,interfaa programului este simpl i accesibil.Conine
toate elementele necesare modificrii unei ontologii din exterior.
package com.SPARQLProject.View;
import com.SPARQLProject.querySPARQL.QueryingUsingJENA;
import com.hp.hpl.jena.rdf.model.Model;
import javax.swing.JTextArea;
/**
*
* @author Alexandra
*/
public class Interface extends javax.swing.JPanel {
/**
* Creates new form Interface
*/
public Interface() {
initComponents();
}
//cod[]
//Variablesdeclarationdonotmodify
privatejavax.swing.JButtonjButton1;
privatejavax.swing.JButtonjButton2;
privatejavax.swing.JButtonjButton3;
privatejavax.swing.JButtonjButton4;
privatejavax.swing.JButtonjButton5;
privatejavax.swing.JButtonjButton6;
privatejavax.swing.JLabeljLabel1;
privatejavax.swing.JLabeljLabel2;
privatejavax.swing.JLabeljLabel3;
privatejavax.swing.JLabeljLabel4;
privatejavax.swing.JLabeljLabel5;
privatejavax.swing.JLabeljLabel6;
41
privatejavax.swing.JLabeljLabel8;
privatejavax.swing.JScrollPanejScrollPane1;
privatejavax.swing.JScrollPanejScrollPane2;
privatejavax.swing.JTextAreajTextArea1;
privatejavax.swing.JTextAreajTextArea2;
privatejavax.swing.JTextFieldjTextField1;
privatejavax.swing.JTextFieldjTextField2;
privatejavax.swing.JTextFieldjTextField3;
privatejavax.swing.JTextFieldjTextField4;
privatejavax.swing.JTextFieldjTextField5;
privatejavax.swing.JTextFieldjTextField6;
//Endofvariablesdeclaration
}
2. Interogri
ProgramulOntosparqlfaciliteazprocesareaontologieiprintreitipuride
interogri:Select,Ask,Construct.
a) InterogareaSelect
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String query = jTextArea1.getText();
QueryingUsingJENA execute = new QueryingUsingJENA(this);
execute.querySelect(query);
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
}
publicvoidquerySelect(Stringinterogare){
//cuajutorulmodeluluicreatsencarcontologia
//FileManager.get().readModel(model,
Stringprefix="PREFIXrdf:<http://www.w3.org/1999/02/22rdfsyntaxns#>\n"
+"PREFIXowl:<http://www.w3.org/2002/07/owl#>\n"
+"PREFIXxsd:<http://www.w3.org/2001/XMLSchema#>\n"
+"PREFIXrdfs:<http://www.w3.org/2000/01/rdfschema#>\n"
+"PREFIXontologiemodel:
<http://www.semanticweb.org/alex/ontologies/2016/5/ontologiemodel#>\n";
StringqueryString=prefix+interogare;
System.out.println(queryString);
Queryquery=QueryFactory.create(queryString);QueryExecutionqe=
QueryExecutionFactory.create(query,model);
com.hp.hpl.jena.query.ResultSetresults=qe.execSelect();
mainInterface.getResultTextArea().setText("");
OutputStreamou=newOutputStream(){
@Override
publicvoidwrite(intb)throwsIOException{
mainInterface.getResultTextArea().append(
String.valueOf((char)b));
42
}
};
ResultSetFormatter.out(ou,results,query);
qe.close();
PrinaceastainterogareSparqlutilizatorulpoatesolicitaafiareadupanumitecriterii
adatelordinontologie.nexempluldemaijossecereselectareairedareainstanelor
obiectului Autoritate.
b) InterogareaAsk
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
String query = jTextArea1.getText();
QueryingUsingJENA execute = new QueryingUsingJENA(this);
Boolean results;
results=execute.queryAsk(query);
jTextArea2.setText(results.toString());
}
private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
}
publicJTextAreagetResultTextArea(){
returnjTextArea2;
}
publicbooleanqueryAsk(Stringinterogare){
////creazunnoumodeldeontologie
//OntModelmodel=
ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_IN
F);
//cuajutorulmodeluluicreatsencarcontologia
Stringprefix="PREFIXrdf:<http://www.w3.org/1999/02/22rdfsyntaxns#>\n"
+"PREFIXowl:<http://www.w3.org/2002/07/owl#>\n"
+"PREFIXxsd:<http://www.w3.org/2001/XMLSchema#>\n"
+"PREFIXrdfs:<http://www.w3.org/2000/01/rdfschema#>\n"
+"PREFIXontologiemodel:
43
<http://www.semanticweb.org/alex/ontologies/2016/5/ontologiemodel#>\n";
StringqueryString=prefix+interogare;
System.out.println(queryString);
Queryquery=QueryFactory.create(queryString);
QueryExecutionqe=QueryExecutionFactory.create(query,model)
booleanresults=qe.execAsk();
qe.close();
returnresults;
}
AceastainterogareSparqlrspundeprinvaloriletruesaufalse,lantrebarea
utilizatoruluidacexistsaunuanumitedatenontologie.nexemplulurmtorseverific
dacclasaspecificataareunmembruindicat.
c) InterogareaConstruct
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
String query = jTextArea1.getText();
QueryingUsingJENA execute = new QueryingUsingJENA(this);
Model results;
results=execute.queryConstruct(query);
String str=results.toString();
System.out.println(str.substring(10,str.length()-3));
jTextArea2.setText(str.substring(10,str.length()-3));
}
publicModelqueryConstruct(Stringinterogare){
////creazunnoumodeldeontologie
//OntModelmodel=
//
ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_IN
F);
//cuajutorulmodeluluicreatsencarcontologia
44
//FileManager.get().readModel(model,
Stringprefix="PREFIXrdf:<http://www.w3.org/1999/02/22rdfsyntaxns#>\n"
+"PREFIXowl:<http://www.w3.org/2002/07/owl#>\n"
+"PREFIXxsd:<http://www.w3.org/2001/XMLSchema#>\n"
+"PREFIXrdfs:<http://www.w3.org/2000/01/rdfschema#>\n"
+"PREFIXontologiemodel:
45
<http://www.semanticweb.org/alex/ontologies/2016/5/ontologiemodel#>\n";
StringqueryString=prefix+interogare;
System.out.println(queryString);
Queryquery=QueryFactory.create(queryString);
QueryExecutionqe=QueryExecutionFactory.create(query,model);
Modelresults=qe.execConstruct();
qe.close();
returnresults;
}
3.Adugaredate
a) Adugareinstan
{
privatevoidjButton4ActionPerformed(java.awt.event.ActionEventevt){
Stringindividual=jTextField2.getText();
StringclassName=jTextField1.getText();
QueryingUsingJENAexecute=newQueryingUsingJENA(this);
execute.addIndividual("http://www.semanticweb.org/alex/ontologies/2016/5/ontologi
emodel#",individual,className);
}
privatevoidjTextField3ActionPerformed(java.awt.event.ActionEventevt){
}
{
publicvoidaddIndividual(StringNS,Stringindividual,StringclassName){
OntClassclas=model.getOntClass(NS+className);
Individualind1=clas.createIndividual(NS+individual);
ind1.setOntClass(clas);
writeToOntology();
}
46
b)Adugareproprietateinstanei
privatevoidjButton6ActionPerformed(java.awt.event.ActionEventevt){
StringindividualForAddingProperty=jTextField2.getText();
StringpropertyName=jTextField3.getText();
StringpropertyValue=jTextField6.getText();
QueryingUsingJENAexecute=newQueryingUsingJENA(this);
execute.addPropertyToIndividual("http://www.semanticweb.org/alex/ontologies/201
6/5/ontologiemodel#",propertyValue,propertyName,individualForAddingProperty);
}
privatevoidjTextField6ActionPerformed(java.awt.event.ActionEventevt)
}
{
publicvoidaddPropertyToIndividual(StringNS,StringpropertyValue,String
property,Stringindividual){
ObjectProperty
objectProperty=model.getObjectProperty(NS+property);
System.out.println("Property:"+objectProperty);
IndividualinvidualToAddProperty=model.getIndividual(NS+individual);
System.out.println("Obj_individual:"+invidualToAddProperty);
IndividualpropValue=model.getIndividual(NS+propertyValue);
System.out.println("Prov_value:"+propValue);
if(propValue==null)
System.out.println("Thereisnodataintheontology");
invidualToAddProperty.addProperty(objectProperty,propValue);
writeToOntology();
}
}
c) Adugareproprietateobiectului
privatevoidjButton5ActionPerformed(java.awt.event.ActionEventevt){
StringpropertyName=jTextField3.getText();
StringpropertyDomain=jTextField4.getText();
StringpropertyRange=jTextField5.getText();
QueryingUsingJENAexecute=newQueryingUsingJENA(this);
execute.createObjectProperty("http://www.semanticweb.org/alex/ontologies/2016/5/
ontologiemodel#",propertyName,propertyDomain,propertyRange);
}
privatevoidjTextField4ActionPerformed(java.awt.event.ActionEventevt){
}
privatevoidjTextField5ActionPerformed(java.awt.event.ActionEventevt){
47
}
{
publicvoidcreateObjectProperty(StringNS,StringpropertyName,Stringdomain,
Stringrange){
ObjectPropertyobjectProperty=
model.createObjectProperty(NS+propertyName,true);
Resourceres1;
if(domain!=null)
{res1=model.getResource(NS+domain);
objectProperty.addDomain(res1);
}
Resourceres2;
if(range!=null){
res2=model.getResource(NS+range);
objectProperty.addRange(res2);
}
writeToOntology();
}
48
IV.4.Site web
Amcreatunsiteweb,ncaresuntprezentateconceptesemanticweb,informaii
despreProtg,Owl,Rdf,XML.
Aadar,ampreluatundomeniudepesiteul000webdomains.comiamnfiinatsite
ulsemanticweb.netau.net.Depesitesepotdescrcaontologii,inclusivceaorganizaionala.
Site-ul www.semanticweb.netau.netareundesignsimplusielegant
49
50
V.Concluzii
Metodele clasice de stocare a informaiilor devin treptat de domeniul trecutului. ntrun secol n care accesul la Internet i deinerea unui calculator este un lucru obinuit, este mai
util ca o enciclopedie sau un dicionar s fie n format electronic
Societatea modern are o cantitate mare de informaii din toate domeniile care trebuie
utilizate n mod corect pentru a obine avantaje. Astfel, prin intermediul ontologiilor putem
obine informaiile dorite n timp util.
Ontologiile reprezint un pas nainte n dezvoltarea inteligenei artificiale, aceste baze
de cunotine uurnd munca i facilitnd dezvoltarea de noi programe care simuleaz
comportamentul uman. Efortul imens de a transforma informaiile Wikipedia n ontologii n
baza de cunotine Dbpedia semnaleaz trecerea la o nou etapa a schimbului de informaii
web.
Programul Ontosparql, asociat cu ontologia organizaional poate fi util ntr-o
companie economic, dnd posibilitatea utilizatorului de a controla relaiile dintre ageni,
activitatea acestora, sarcinile care le au de ndeplinit. Este important faptul c, spre deosebire
de o baz de date obinuit a unei companii, aceasta ontologie constituie un model al unui
cadru organizaional, model care poate fi manipulat n funcie de cerinele entitii.
51
Bibliografie
Cri:
[1].Alecsandru P.Tacu, Romul Vancea, Stefan Holban, Aurel Burciu, Inteligena
artificiala (1998),Editura Economica Bucuresti
[2]. Mihaela Oprea,Sisteme bazate pe cunostinte (2002),Editura Matrix Rom
Bucuresti
[3]. Ron Brachman, Hector Levesque (2004), Knowledge representation and reasoning,
Editura Elsevier Philadelphia
[4]. Stuart J. Russell, Peter Norvig, Artificial Intelligence :A Modern Approach
(1995), Editura Prentice Hall,New Jersey
[5].Jozef Korbics,Jan M Koscielny,Zdzislaw Kowalczuk, Wojcieh Cholewa, Fault
Diagnosis(2004),Editura Springer, Berlin Heidelberg New York
[6]. Jerome R Ravetz, Scientific Knowledge and Its Social Problems (1998),Editura
Transaction Publishers, Londra
[7]. Jussi Kantola,Waldemar Karwowski (2004),Knowledge Service Engineering
Handbook,Editura CRC Press, Boca Raton U.S
[8].Luger George,(2008),Artificial Intelligence: Structures and Strategies for
Complex Problem Solving,Editura Addison,Wesley
[9]. Nadia Nedjah,Luiza de Macedo Mourelle(2005)Fuzzy Systems Engineering:
Theory and Practice,Editura Springer,Berlin Heidelberg New York
[10]. Frederick Hayes-Roth, Philip Klahr, David Mostow(2002), Knowledge
Acquisition, Knowledge Programming, and Knowledge Refinement,Editura Springer,Berlin
Heidelberg New York
[11].Jozef Korbics,Jan M Koscielny,Zdzislaw Kowalczuk, Wojcieh Cholewa, Fault
Diagnosis(2004),Editura Springer Berlin
[12]. Jarrett Ernest Brock (2002), C.S. Pierce's Logic of Vagueness, University
Microfilms
Articol din volumul unei conferinte:
[1]. C. Angeli, A. Chatzinikolaou " On-Line Fault Detection Techniques for Technical
Systems: A Survey ", International Journal of Computer Science & Applications,London,
2004, pp. 12 - 30
Resursa din Internet:
[1]. Alonzo Church, " What-is-lambda-calculus-and-why-should-you-care ",
http://zeroturnaround.com/rebellabs/what-is-lambda-calculus-and-why-should-you-care/,
[Accesat la 11/03/2016]
[2]. Autor anonim, Knowledge representation and reasoning
http://zeroturnaround.com/rebellabs/what-is-http://www.zeepedia.com/read.php?
knowledge_representation_and_reasoning_artificial_intelligence&b=2&c=4 [Accesat
7/03/2016]
[3]. Autor anonim, Knowledge representation and reasoning
http://zeroturnaround.com/rebellabs/what-is-http://www.zeepedia.com/read.php?
knowledge_representation_and_reasoning_artificial_intelligence&b=2&c=4 [Accesat
7/03/2016]
[4]. Alonzo Church, " Rationament deductiv,inductiv si euristica,
http://experimentala.ro/0doc//TRANSPORTURI/cognitiva%20pdf/Rationamentul
%20inductiv%20deductiv%20si%20euristica.pdf [Accesat 11/03/2016]
52
53