Sunteți pe pagina 1din 189

UNIVERSITATEA DE VEST DIN TIMISOARA FACULTATEA DE MATEMATICA SI INFORMATICA DEPARTAMENTUL DE INFORMATICA

TEZA DE DOCTORAT

SISTEME INTELIGENTE PENTRU MODELAREA SI EXTRAGEREA CUNOSTINTELOR

Conductor tiintic: a s Prof. Dr. Stefan MARUSTER

Candidat: Daniel POP

Iunie 2006

Familiei mele

Cuprins
Abstract Multumiri Introducere 1 Reprezentarea cunotintelor s 1.1 Modele de reprezentare a cunotintelor . . . . . . . . . . . s 1.2 Fundamente teoretice . . . . . . . . . . . . . . . . . . . . 1.3 Reguli de productie . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Bazele teoretice ale regulilor de productie . . . . . 1.3.2 Reguli de productie folosite problema clasicrii n a 1.4 Arbori de decizie . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Bazele teoretice ale arborilor de decizie . . . . . . 1.4.2 Algoritmi pentru constructia arborilor de decizie . 1.5 Tabele de decizie . . . . . . . . . . . . . . . . . . . . . . . 1.6 Extensii ale modelelor clasice . . . . . . . . . . . . . . . . 1.6.1 Extensii pentru arborii de decizie . . . . . . . . . . 1.6.2 Extensii pentru tabelele de decizie . . . . . . . . . 1.7 Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 11 13 17 17 20 22 22 24 28 29 33 38 41 41 46 49

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

2 Echivalenta reprezentrilor a 2.1 Regiunea de experient . . . . . . . . . . . . . . . . . . . . . . . . . a 2.1.1 Caracterizarea regiunii de experient . . . . . . . . . . . . . . a 2.1.2 Descoperirea regulilor de asociere . . . . . . . . . . . . . . . . 2.1.3 Algoritmi secventiali pentru descoperirea regulilor de asociere 2.1.4 Exemplu de generare a PFD folosind regulile de asociere . . . 2.2 Echivalenta reprezentrilor regiunea de experient . . . . . . . . . a n a 2.3 Selectarea atributului de separare . . . . . . . . . . . . . . . . . . . . 2.3.1 Msura Voting . . . . . . . . . . . . . . . . . . . . . . . . . . a 2.3.2 Agregarea tabelei de incident din seturi mari de date . . . . a 2.4 Reducerea arborilor de decizie . . . . . . . . . . . . . . . . . . . . . . 2.5 Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

51 . . . . . . . 51 . . . . . . . 53 . . . . . . . 60 . . . . . . . 63 . . . . . . . 67 . . . . . . . 69 . . . . . . . 73 . . . . . . . 77 . . . . . . . 78 . . . . . . . 82 . . . . . . . 83

3 Mediu pentru dezvoltarea sistemelor bazate pe cunotinte s 3.1 Motivatie, scop i istoric . . . . . . . . . . . . . . . . . . . . . s 3.2 Arhitectura sistemului i descrierea modulelor componente . . s 3.3 Editoarele bazei de cunotinte . . . . . . . . . . . . . . . . . . s 3.4 Integrarea bazei de cunotinte sistemul bazat pe cunotinte s n s 3.5 Achizitia cunotintelor . . . . . . . . . . . . . . . . . . . . . . s 3.6 Gestionarea versiunilor . . . . . . . . . . . . . . . . . . . . . . 3.7 Comunicarea cu bazele de date relationale . . . . . . . . . . . 3.7.1 Descrierea detaliat a modulelor subsistemului KBDB a 3.7.2 Functionarea KBDB . . . . . . . . . . . . . . . . . . . 3.8 Generarea documentatiei interne . . . . . . . . . . . . . . . . 3.9 Metodologia dezvoltrii sistemelor cu Expert System Creator a 3.10 Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Platform multi-agent pentru descoperirea cunotintelor a s 4.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Analiza i proiectarea sistemului . . . . . . . . . . . . . . . s 4.2.1 Analiza sistemului . . . . . . . . . . . . . . . . . . . 4.2.2 Proiectarea sistemului . . . . . . . . . . . . . . . . . 4.2.3 Ontologia KDD . . . . . . . . . . . . . . . . . . . . . 4.2.4 Detalii despre implementarea agentilor . . . . . . . . 4.3 Evaluarea calitii sistemelor bazate pe cunotinte . . . . . at s 4.3.1 Calitatea modelelor de cunotinte . . . . . . . . . . . s 4.4 Studiu de caz: CoverType . . . . . . . . . . . . . . . . . . . 4.5 Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Generarea automat a documentelor juridice a A.1 Introducere . . . . . . . . . . . . . . . . . . . . . . A.2 Analiza problemei . . . . . . . . . . . . . . . . . . A.3 Achizitia cunotintelor specice domeniului . . . . s A.4 Proiectarea i implementarea sistemului . . . . . . s A.5 Vericarea, validarea i evaluarea sistemului . . . . s A.5.1 Vericarea sistemului . . . . . . . . . . . . . A.5.2 Validarea sistemului . . . . . . . . . . . . . A.5.3 Evaluarea sistemului . . . . . . . . . . . . . A.6 Documentarea sistemului . . . . . . . . . . . . . . A.7 Intretinerea, exploatarea i actualizarea sistemului s A.8 Concluzii . . . . . . . . . . . . . . . . . . . . . . . B Detalierea ontologiei KDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85 85 88 90 97 100 101 104 106 108 109 112 112 115 116 120 121 124 129 131 138 143 146 148 149 149 151 152 153 156 157 157 158 159 159 160 163

Lista tabelelor
1.1 1.2 1.3 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 4.1 4.2 4.3 4.4 4.5 4.6 Modele de reprezentare a cunotintelor . . . . . . . . . . . . . . . . . . . . . . . . s Tipuri de reguli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Forma general a tabelei de decizie . . . . . . . . . . . . . . . . . . . . . . . . . . a Regulile de asociere extrase din setul de antrenament pentru Garvan ES1 Matricea pentru determinarea K1 . . . . . . . . . . . . . . . . . . . . . . Algoritmi pentru descoperirea regulilor de asociere . . . . . . . . . . . . . Tabela de incident . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a Tabela de incident i valorile msurilor pentru atributul Nivel debit . . . a s a Selectia atributului de separare . . . . . . . . . . . . . . . . . . . . . . . . Tabela de incident pentru atributul Regiune . . . . . . . . . . . . . . . . a Algoritmi de reducere a arborilor de decizie . . . . . . . . . . . . . . . . . Tabela capabilitilor . . . . . . . . . . . . . . . . at Tabela de interactiuni pentru agentul expert . . . Matricea de calitate pentru baza de cunotinte . s Matricea de calitate pentru modulul de inferent a Matricea de calitate pentru modelul task . . . . . Estimarea calitii modelelor . . . . . . . . . . . at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 23 39 59 60 68 74 76 76 80 83 125 126 142 142 142 147

A.1 Reprezentarea cunotintelor faza de achizitie . . . . . . . . . . . . . . . . . . . 153 s n

Lista gurilor
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 2.1 2.2 2.3 2.4 2.5 2.6 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 4.1 4.2 4.3 4.4 Ierarhia cunotintelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s Date de antrenament i setul de reguli de productie corespunztor . . . . . . s a Graf de dependent extins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a Exemplu de arbore de decizie . . . . . . . . . . . . . . . . . . . . . . . . . . . Metoda lui Hunt a) Arbori de decizie binari b) Arbori de decizie multi-ci . . a Ilustrarea structurii arborelui de decizie spatiul de valori . . . . . . . . . . n Tabela de decizie ( form orizontal ) . . . . . . . . . . . . . . . . . . . . . n a a Tabela de decizie ( form vertical) . . . . . . . . . . . . . . . . . . . . . . . n a a Reducerea unui subarbore (a) arborele original (b) arborele urma reducerii n Exemplu de tabel de decizie extins ( Expert System Creator) . . . . . . . a a n . . . . . . . . . . . . . . . . . . . . 18 25 26 29 32 34 39 40 43 47 57 62 63 63 78 79 89 91 93 95 96 99 101 104 106 110 111 122 123 123 127

Constructia PFD-urilor folosind descoperirea regulilor de asociere . . . . . . . . . (a) Baza de date (b) Seturile frecvente de articole cu un suport minim de 50% (c) Regulile de asociere (minconf=100%) . . . . . . . . . . . . . . . . . . . . . . . . . (a) Laticea seturilor de articole (b) Dispunerile orizontal i vertical . . . . . . . as a Generarea regulilor de asociere . . . . . . . . . . . . . . . . . . . . . . . . . . . . Metoda Voting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rezultate experimentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arhitectura Expert System Creator . . . . . . Editorul de reguli de productie . . . . . . . . Editorul de tabele de decizie . . . . . . . . . . Editorul de arbori de decizie . . . . . . . . . . Desenarea bazat pe informatie ESC . . . a n Gestionarul de dictionare . . . . . . . . . . . Nod de achizitie conditional . . . . . . . . . a Exploratorul de versiuni . . . . . . . . . . . . Arhitectura KBDB . . . . . . . . . . . . . . . Arhitectura generatorului de documentatie . Exemplu de documentatie generat automat . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Metodologia pentru analiza i proiectarea sistemelor multi-agent . . . s Diagrama de utilizare . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagrama agentilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Publicarea/regsirea agentilor constructori folosind un agent facilitator a 7

8 4.5 4.6 4.7 4.8 4.9 4.10 Agentul traductor pentru accesul la o baz de date relational . . . a a Ontologia KDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagrama de actiuni pentru agentul expert . . . . . . . . . . . . . Implementarea agentului expert Expert System Creator (extras) n Modelul de calitate ISO 9126 . . . . . . . . . . . . . . . . . . . . . Metodologia de msurare a calitii SBC . . . . . . . . . . . . . . . a at

INTRODUCERE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 132 133 134 139 140

A.1 Arhitectura sistemului LDDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 A.2 Exemplu de regul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 a A.3 Regulile LDDS arcate ESC, Lex Browser i Lex Engine . . . . . . . . . . . 156 nc n s B.1 Ontologia KDD. Task-uri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 B.2 Ontologia KDD. Surse de date i metode de rezolvare task . . . . . . . . . . . . . 165 s B.3 Ontologia KDD. Modele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

Abstract
Sintagme precum economie bazat pe cunotinte, organizatii bazate pe cunotinte, educatie a s s bazat pe cunotinte sunt des utilizate zilele noastre, cnd Internetul schimb pe zi ce trece a s n a a lumea care trim iar n a mbriarea erei digitale este o provocare pentru toate organizatiile. Dar at s locul cunotintelor utile, organizatiile au la dispozitie uriae cantiti de date primare stocate n s s at baze de date, sisteme de iere sau diverse sisteme de arhivare. Astfel, migrarea de la datele n s primare la reprezentri bogate semantic, capitalizarea cunotintelor la nivelul organizatiilor i a s s protectia i securizarea acestora sunt provocrile actuale pentru aceste organizatii. acest s a In sens, lucrarea de fat sunt analizate, formalizate i n a s mbuntite modelele de reprezentare a at a cunotintelor, este prezentat implementarea unui mediu vizual pentru reprezentarea i opes a s rarea cunotintelor i este propus o arhitectur multi-agent pentru asistarea utilizatorilor s s a a n procesul de descoperire a cunotintelor din seturile mari de date. Sistemele propuse se bazeaz s a pe tehnologii i abordri moderne, cum ar rationamentul orientat task, sistemele multi-agent, s a platformele software portabile.

10

INTRODUCERE

Multumiri
primul rnd, a dori s aduc multumirile mele domnului Prof. Dr. Stefan Mruter In a s a a s pentru sustinerea programul doctoral i pentru atitudinea de rigoare tiintic pe care mi-a n s s a inspirat-o aceti ani. Aceast lucrare nu ar fost posibil fr n s a a a a ndrumarea domnului Prof. Dr. Viorel Negru ale crui sfaturi, a ncurajri i expertiz tiintic artate de-a lungul studiia s as a a lor doctorale au fost cruciale pentru nalizarea cu success a acestei lucrri. Sunt recunosctor a a tuturor membrilor Departamentului de Informatic al Facultii de Matematic din cadrul Unia at a versitii de Vest din Timioara pentru sugestiile i at s s ncurajrile lor. Deasemenea, multumirile a mele se ndreapt ctre Dr. Clin Sandru pentru observatiile i sugestiile constructive legate a a a s de analiza i proiectarea sistemului multi-agent. Tin s multumesc i tuturor colaboratorilor s a s mei activitatea de cercetare, colegilor de la Optsol.ro i din cadrul departamenului IT S&D n s al Alcatel Romnia, pentru elegerea i sprijinul artate de-a lungul acestei perioade i pena nt s a s tru cooperarea fructuoas. Multumesc comisiei pentru reviziile fcute i pentru observatiile de a a s mbuntire aduse pe marginea acestui material. a at nal, dar nu ultimul rnd, multumesc familiei mele pentru sprijinul, elegerea i In n a nt s ncrederea artate. a

Timioara, Romnia s a Iunie, 2006

Daniel Pop

11

12

INTRODUCERE

Introducere
Sintagme precum economie bazat pe cunotinte, organizatii bazate pe cunotinte, educatie a s s bazat pe cunotinte sunt des utilizate zilele noastre, cnd Internetul schimb pe zi ce trece lua s n a a mea care trim, iar n a mbriarea erei digitale este o provocare pentru toate organizatiile. Dar at s locul cunotintelor utile, organizatiile au la dispozitie uriae cantiti de date primare stocate n s s at baze de date, sisteme de iere sau diverse sisteme de arhivare. Astfel, migrarea de la datele n s primare la reprezentri bogate semantic, capitalizarea cunotintelor la nivelul organizatiilor i a s s acest protectia i securizarea acestora sunt provocrile actuale pentru aceste organizatii. In s a sens, lucrarea de fat sunt analizate, formalizate i n a s mbuntite modelele de reprezentare a at a cunotintelor, este prezentat implementarea unui mediu vizual pentru reprezentarea i opes a s rarea cunotintelor i este propus o arhitectur multi-agent pentru asistarea utilizatorilor s s a a n procesul de descoperire a cunotintelor din seturile mari de date. Sistemele propuse se bazeaz s a pe tehnologii i abordri moderne, cum ar rationamentul orientat task, sistemele multi-agent s a sau platformele software portabile. Primul capitol prezint cele mai cunoscute modele de reprezentare a cunotintelor sistea s n mele bazate pe cunotinte regulile de productie, arborii i tabelele de decizie i sunt propuse s s s unele mbuntiri ale acestora scopul unei mai bune integrri i exploatri. sectiunea 1.1, a at n a s a In este realizat o sintez a celor mai populare tipuri de cunotinte i sunt evidentiate cele mai a a s s importante caracteristici ale modelelor de reprezentare a cunotintelor (rezultate sintetizate s i [Pop00a]), timp ce sectiunea 1.2 sunt formalizate din punct de vedere matematic s n n n aceste reprezentri. Sectiunea 1.3 trateaz reprezentarea bazat pe reguli de productie, descrie a a a din punct de vedere formal acest model i-l particularizeaz pentru problemele de clasicare s a a s a n (sectiunea 1.3.2). O contributie original relativ la acest model i detaliat [PN02b, PN03] este graful de dependent extins pentru un set de reguli de productie, o a mbuntire a graa at fului de dependent clasic cruia sunt adugate i dependentele de tipul regul atribut, a a i a s a beneciul principal ind acela c este facilitat depistarea unor probleme de proiectare a bazei a a de cunotinte la un nivel mult mai detaliat dect modelul clasic. Sectiunea 1.4 analizeaz s a n a sintetic modelul arbore de decizie: construiete un formalism pentru reprezentarea acestuia, s prezint schema de constructie automat a arborelui din seturi de date i sintetizeaz prina a s a cipalele avantaje i dezavantaje ale modelului. sectiunea 1.4.2 este prezentat o sintez a s In a a celor mai cunoscuti algoritmi secventiali de constructie i actualizare incremental a arborilor s a de decizie, inclus in extenso [Pop02c, Pop02d]. Sectiunea 1.5 analizeaz modelul tabel de a n a a decizie, este prezentat un scurt istoric i sunt evidentiate principalele proprieti ale modelului. s at Sectiunea 1.6 trateaz dou contributii originale asupra modelelor arbore de decizie i tabel de a a s a 13

14

INTRODUCERE

decizie [Pop06b]: suportul pentru noduri/celule de actiune i suportul pentru rationament s n conditii de incertitudine i este demonstrat echivalenta modelelor extinse propuse. Prima dintre s a ele nodurile/celulele interne de actiune faciliteaz integrarea modelului cu modulele externe, a fr a diminua puterea de expresie, performantele sau claritatea modelului. Cea de-a doua aa extensie, reprezentat prin suportul, suportul relativ i precizia nodului/celulei, faciliteaz ima s a plementarea unui rationament aproximativ pentru modelul arbore/tabel de decizie. Extensiile a aduse arborilor i tabelelor de decizie sunt implementate mediul de dezvoltare Expert System s n Creator (capitolul 3), platform utilizat i la ilustrarea implementrii modelelor prezentate. a as a capitolul 2 este investigat echivalenta modelelor de reprezentare a cunotintelor preIn a s zentate primul capitol. Pentru a reduce dimensiunea obiectelor translatate se utilizeaz o n a caracterizare a regiunii de experint. Sectiunea 2.1 denete regiunea de experient i analizeaz a s a s a cauzele aparitiei fenomenului inationist observat la conversia dintr-o reprezentare ntr-alta. In a a sectiunea 2.1.1 este propus o nou caracterizare a acesteia folosind regulile de asociere [Pop06a] i sunt prezentate rezultatele obtinute pentru sistemul expert Garvan ES1, iar sectiunea 2.1.4 s n se prezint un studiu de caz pe un exemplu. Formalizarea matematic a problemei descoperirii a a regulilor de asociere este introdus sectiunea 2.1.2, iar sectiunea 2.1.3 sintetizeaz i coma n a s par cei mai uzitati algoritmi pentru descoperirea regulilor de asociere. sectiunea 2.2 sunt a In prezentate adaptri ale algoritmilor de conversie a ntre modele, lund considerare consistenta a n propozitiilor elementare regiunea de experient. Etapa de selectare a atributului de separare n a a algoritmului de conversie a tabelei de decizie arbore de decizie este studiat detaliu n a n n a a a sectiunea 2.3. Este propus o nou metod de selectare (sectiunea 2.3.1) a atributului de sepa rare, rezultatele obtinute aceast sectiune ind detaliate [PN02a, PJN05]. Metoda a fost n a n implementat mediul Expert System Creator iar rezultatele experimentale sunt prezentate a n n sectiunea 2.3.2 este propus o nou metod de agregare a tabelei de incident, ce Tabela 2.6. In a a a a st la baza calculelor din metoda Voting, pe baza cuburilor OLAP [PJN05]. ultima sectiune a In a capitolului (2.4) sunt studiate metodele de generalizare a arborelui de decizie i este prezentat s un sumar comparativ al acestora. Capitolul 3 prezint mediul de dezvoltare al sistemelor bazate pe cunotinte Expert System a s Creator. Focalizarea principal a mediului este pe uurint exploatare, testarea i depanarea a s a n s modelelor construite, versionarea modelelor i integrarea componentelor. sectiunea 3.1 sunt s In punctate motivatia i obiectivele platformei, extrase din [PN00]. Sectiunea 3.2 prezint arhi s a tectura sistemului i principalele module constituente, rezultate prezentate lucrrile [Pop00a, s n a Pop00b, PN02b]. Sectiunea urmtoare descrie detaliu editoarele modelelor de cunotinte a n s care ofer o interfat grac pentru faciliti de editare, depanare, trasare, vizualizare avansat a a a at a i vericare a corectitudinii, rezultate publicate mai multe lucrri [PN02a, PN03, Pop00a, s n a Pop02a, PN04]. Sectiunea 3.4 propune o solutie bazat pe generatoare de cod vederea in a n tegrrii nivelelor unui sistem bazat pe cunotinte [PN02b, PN02c, Pop01]. Reutilizarea codului a s existent (C++/Java) este facilitat prin intermediul gestionarului de dictionare, iar shell-urile a de sisteme expert (JESS/CLIPS) sunt suportate ca motoare de inferent pentru seturile de rea guli de productie create. Sectiunile urmtoare descriu alte functionaliti ale sistemului, precum a at managementul versiunilor sistemului (3.6) [Pop02b], accesul i rationamentul pe baza datelor s primare stocate baze de date relationale (3.7) [PNP02] i suportul pentru generarea automat n s a a documentatiei (interne) sistemului (3.8). sectiunea 3.9 este descris metodologia de dezvol In a tare a sistemelor de cunotinte folosind acest mediu [PN03]. anexa A este propus prototipul s In

INTRODUCERE

15

unui sistem bazat pe cunotinte pentru generarea automat a documentelor juridice. s a capitolul 4 este prezentat un sistem de asistare a utilizatorilor procesului de descoperire In a cunotintelor din bazele de date folosind o arhitectur multi-agent i un rationament orientat s a s sectiunea introductiv sunt identicate cele mai task detaliat [SNP98, SNP01b, SNP01a]. In n a importante probleme ale procesului de descoperire de cunotinte i sunt analizate abordrile s s a continuare, sunt sumarizate obiectivele platformei, avantajele oferite de un moprecendente. In del multi-agent [SNP01b] i este denit scenariul pentru rezolvarea problemei de descoperire de s cunotinte. Sectiunea 4.2.1 descrie etapa de analiz a sistemului care s a ncepe cu realizarea diagramei de utilizare, continu cu diagrama agentilor i identicarea principalele tipuri de agenti a s i se s ncheie cu identicarea capabilitilor i interactiunilor at s ntre agenti, detaliate i [PNS06]. s n a a Sectiunea 4.2.2 prezint unele aspecte ale proiectrii sistemului folosind platforma multi-agent JADE, cum ar facilitarea agentilor [SNP05] i reprezentarea bazei de cunotinte a sistemului. s s sectiunea 4.2.3 este prezentat o ontologie original pentru modelarea procesului de descoIn a a perire de cunotinte. Principalele diferente fat de ontologiile propuse anterior sunt modelarea s a etapelor procesului CRISP-DM i includerea unui model de calitate pentru modelele create. s In sectiunea 4.2.4 sunt furnizate detalii despre interactiunile dintre agenti i implementarea aces s tora. Sectiunea 4.3 analizeaz problema evalurii calitii sistemelor bazate pe cunotinte i a a at s s este propus un model de calitate original pentru modelul arbore de decizie, bazat pe metrici a de calitate. Sectiune 4.4 prezint un studiu de caz asupra evolutiei sistemului la extragerea cunotintelor dintr-un set de date real. Ultima sectiune a capitolului prezint concluziile i s a s directiile viitoare de dezvoltare ale platformei. anexa A este descris procesul de dezvoltare i prototipul (dezvoltat integral folosind In s mediul i metodologia de dezvoltare Expert System Creator) unei aplicatii pentru redactarea s asistat a documentelor juridice, realizat ca un sistem bazat pe cunotinte. anexa B sunt a a s In detaliate cteva din diagrame UML pentru ontologia procesului de descoperire de cunotinte din a s bazele de date. Cele mai importante contributii originale se refer la: denirea i studiul grafului de a s dependent extins pentru seturi de reguli de productie; suportul arborii i tabelele de dea n s cizie pentru interactiunea cu sistemele externe; metoda Voting de selectare a atributului de separare; reprezentarea regiunii de experient folosind reguli de asociere; analiza, proiectarea a i implementarea unui mediu vizual de dezvoltare pentru sistemele bazate pe cunotinte (Exs s pert System Creator); propunerea unei arhitecturi multi-agent (AgentDiscover [PNS06]) pentru asistarea utilizatorilor descoperirea de cunotinte din bazele de date i modelarea bazat pe n s s a ontologii a procesului de descoperire a cunotintelor. Rezultatele teoretice au fost validate prin s realizarea unor prototipuri domeniile: medii de dezvoltare sisteme inteligente, descoperirea de n cunotinte din baze de date, modele multi-agent, e-commerce, interfete inteligente pentru calcul s tiintic, arhitectura multi-agent pentru asistarea descoperirea cunotintelor, e-learning etc. s n s Dintre acestea amintesc: PCB Marketplace ([SNP01a]), SLINK ([SNP03]), NESS ([SNP01b]), INTENSE, MATOPS ([NSP05, SNP05]), LDDS (anexa A). Directiile i perspectivele de cercetare i s s mbuntire a modelelor propuse sunt prea at zentate nalul ecrui capitol i pot sumarizate evolutii asupra grafului de dependent n a s n: a extins, mbuntiri asupra metodei Voting, integrarea la nivel de componente binare a modelelor a at de cunotinte realizate cu Expert System Creator i realizarea practic a sistemului multi-agent. s s a

16

INTRODUCERE

Capitolul 1

Reprezentarea cunotintelor s
Sintagme precum economie bazat pe cunotinte, organizatii bazate pe cunotinte, educatie a s s bazat pe cunotinte sunt des utilizate zilele noastre, cnd Internetul schimb pe zi ce trece a s n a a lumea care trim, iar n a mbriarea erei digitale este o provocare pentru toate organizatiile, at s de la rme mici sau mijlocii pn la nivel continental. De exemplu, programul eEurope reprea a zint schema Uniunii Europene pentru ghidarea procesului de tranzitie la era digital i pentru a as modernizarea sistemului educational vederea asigurrii tiintei de carte digitale generatiilor n a s viitoare. Astfel, unele dintre cele mai importante bogii ale organizatiilor zilele noastre au at n devenit cunotintele i know-how-ul existente cadrul lor. De aici rezult o nou provocare s s n a a creia trebuie s-i fac fat: implementarea unui sistem bazat pe cunotinte care s permit a a a a s a a utilizarea, capitalizarea i protectia cunotintelor la nivelul s s ntregii organizatii. Acest capitol va aborda problema obtinerii i reprezentrii cunotintelor sistemele de calcul. s a s n Prima sectiune a acestui capitol trece revist cele mai cunoscute modele de reprezen n a tare a cunotintelor, prezentnd avantajele i dezavantajele ecrei abordri. Sectiunea a doua s a s a a introduce fundamentele teoretice ale reprezentrii datelor primare (instante i atribute) i ale a s s cunotintelor (propozitii elementare, clasicatori) sistemele de calcul. Sectiunea urmtoare s n a este dedicat modelului set de reguli. Pentru a nceput sunt introduse bazele teoretice ale modelului, dup care este descris graful de dependent extins i proprietile acestuia. Modelul a a s at arbore de decizie este prezentat detaliu sectiunea a patra; dup introducerea fundamentele n n a teoretice sunt trecuti revist cei mai cunoscuti algoritmi de constructie automat a arborilor n a a din seturi de date, sectiunea ncheindu-se cu scoaterea evident a constructiei incremenn a tale. Sectiunea urmtoare descrie detaliu modelul tabel de decizie. sectiunea a asea a n a In s sunt prezentate principalele extensii (noduri/celule de actiune i suportul pentru rationamentul s aproximativ) aduse modelelor clasice. In ncheiere sunt prezentate concluziile i directiile de s cercetare viitoare.

1.1

Modele de reprezentare a cunotintelor s

Figura 1.1 prezint ierarhia cunotintelor. La nivelul cel mai de jos se a datele primare a s a (eventual perturbate de zgomote, erori, incertitudine, valori lips etc.) stocate de obicei baze a n de date. Nivelul urmtor realizeaz o structurare a datelor primare informatii bazate pe a a n 17

18

REPREZENTAREA CUNOSTINTELOR

Meta Cunostinte
Sisteme bazate pe cunostinte

Management Information Systems

Cunostinte despre cunostinte Cunostinte Reprezentarea unui domeniu Aplicabilitate in rezolvarea problemelor Informatie Volum mai scazut, Valoare mai ridicata Cu inteles, Bazat pe Context

Baze de date

Date (eventual cu zgomote) Volum mare, Valoare scazuta, Fara inteles Pot contine articole irelevante care "ascund" datele importante

Figura 1.1: Ierarhia cunotintelor s context. Nivelele cunotintelor i meta-cunotintelor alctuiesc sistemele bazate pe cunotinte, s s s a s care datele primare au fost prelucrate, curate i sintetizate structuri de nivel superior. n at s n Sistemele bazate pe cunotinte sunt sisteme care efectueaz un task (sarcin) prin aplicarea s a a unor reguli empirice unei reprezentri simbolice a cunotintelor (Jackson [Jac99]). O denitie a s mai larg a sistemelor bazate pe cunotinte este urmtoarea: sistemele bazate pe cunotinte sunt a s a s sisteme software complexe care sunt programate s imite modul uman de rezolvare a problemelor a folosind mijloace specice inteligentei articiale i avnd acces la o baz de cunotinte despre s a a s In s un subiect particular1 . cadrul acestor sisteme sunt codicate mai multe tipuri de cunotinte [Neg96b]: cunotinte procedurale (cum s rezolvm o problem): reguli, strategii, agende, proceduri s a a a i functii; s s a cunotinte declarative (ce este cunoscut despre problem): concepte, obiecte, fapte; cunotinte bazate pe motenire (descriu organizarea cunotintelor): pot de dou tipuri: s s s a ne-structurate: retele semantice structurate: cadre, reprezentri centrate obiect a meta-cunotinte (cunotinte despre cunotinte): informatia de care este nevoie pentru a s s s alege cea mai bun alternativ rezolvarea unei probleme; a a n euristicile2 (reguli-de-aur care ghideaz rationamentul): criterii, metode sau principii pena tru a decide care dintre mai multe alternative de naintare a actiunii promite a cea mai
cf. Wikipedia, http://en.wikipedia.org/wiki/Knowledge-based systems Euristic vine din greac (euriskein - a descoperi) i a s nseamn cazul nostru: proces semi-intuitiv ce conduce a n alegerea dintre diferite posibiliti functie de cunotinte empirice at n s
2 1

1.1 MODELE DE REPREZENTARE A CUNOSTINTELOR ecace vederea atingerii unei anumite inte [Pea85]. n t

19

Pentru reprezentarea cunotintelor se folosesc diverse modele, dintre care amintesc: sisteme s bazate pe reguli [Jac99, Nil80, DK77, BFK85], retele semantice [HTT87, Fin79, Tho92] i sis s teme bazate pe cadre [Min75], reprezentarea centrat obiect [Neg96b, Cor88, Fer89] i diverse a s tipuri de rationament logic (propozitional, calcul predicativ sau logic fuzzy) [And86, Qui79]. a Tripletele obiect-atribut-valoare sunt cunotinte declarative ce concretizeaz fapte cunoscute s a despre problema de rezolvat. Faptele pot de mai multe tipuri: mono-valorice, multi-valorice, fapte incerte sau fuzzy. Regulile [Jac99, Nil80, DK77, BFK85] sunt cunotinte procedurale de s tipul Premise Consecinte i vor descrise detaliu sectiunea 1.3. Retelele semantice s n n [HTT87, Fin79, Tho92] sunt grafuri care nodurile semnic obiecte iar arcele sunt relatiile n a dintre obiecte. Cadrele (frame-uri) [Min75] sunt structuri de date nrudite cu conceptul de clas din programarea orientat obiect i reprezint cunotinte comune obiectelor din sistem. a a s a s Reprezentarea centrat obiect [Neg96b, Cor88, Fer89] combin elemente de programare oriena a tat obiect cu modul de reprezentare bazat pe frame-uri, toate unitile de cunotinte ind a at s accesibile direct i pot exploatate prin aplicarea de inferente (ltrare, proceduri, clasicare s a s s etc). Logica [And86, Qui79] este cea mai veche form de reprezentare a cunotintelor i poate propozitional (avnd la baz operatorii logici AND (), OR (), NOT (), IMPLIES (), a a a EQUIVALENCE ()), calcul predicativ (adaug logicii propozitionale predicate i argumente, a s variabile de cuanticare i cuanticatorii universal () i cel existential ()) sau logic fuzzy. s s a Avntul luat anii 90 de domeniul data mining a contribuit la aparitia unor noi modele a n de reprezentare a cunotintelor sau la revitalizara unor modele mai vechi, cum ar arborii s a de decizie [BFOS84, Qui86, Qui93], reprezentrile bazate pe instante (de exemplu, metoda k n Nearest Neighbor) [WF00], clusterele [JMF00, WXS03, DLJ00] sau retelele neuronale ( cazul problemelor de regresie neliniar spre exemplu) [Bis03, Ska96, WF05]. Pentru data mining au a fost propuse mai multe denitii, dintre care amintesc dou: a Denitia 1.1.1. Data mining este procesul de descoperire a diferitelor modele, informatii agre gate i valori derivate dintr-o colectie de date dat. (Kantardzic, 2003 [Kan03]) s a Denitia 1.1.2. Data mining este procesul de a extrage tendinte sau abloane din date i este s s sarcina esential a procesului mai larg, de descoperire a cunotintelor bazele de date (KDD), a s n denit prin: extragerea netrivial a informatiilor implicite, necunoscute i potential utile din a s date. (Frawley W.J., Piatetsky-Shapiro & Matheus, 1991 [FPSM91]) Cele mai populare modele de reprezentare a cunotintelor sunt arborii de decizie, tabelele s de decizie i seturile de reguli, toate sintetizate Tabela 1.1 [Pop00a]. Pentru ecare model s n sunt prezentate avantajele oferite, precum i problemele pe care le ridic. timp ce expertul s a In uman si reprezint mai uor propriile cunotinte sub forma seturilor de reguli, tabelele de decizie a s s ofer posibilitatea analizei automate a sistemului, vericarea consistentei [PN02a] sau analiza a vulnerabilitii bazei de cunotinte la erori de msurare [Col92]. Arborii de decizie sunt structuri at s a de date pentru care exist numeroi algoritmi de construire, cu performante foarte bune, precum a s i algoritmi de traversare i conversie limbaje de programare de nivel s s n nalt (C, C++, Pascal, Java sau SQL [AGI+ 92, Qui86, Qui82]). Un dezavantaj al arborilor de decizie constituie l faptul c nu ofer o reprezentare accesibil expertilor umani, schimb ofer, de exemplu, o a a a n a

20
Reprezentarea cunotintelor s Tabele de decizie Caracteristici

REPREZENTAREA CUNOSTINTELOR

Arbori de decizie

Seturi de reguli reguli de productie, de asociere, cu exceptii, meta-reguli, reguli incerte etc. Clustere

Analiza automat a corectitudinii a Form compact de reprezentare a a Uor de vizualizat i eles de ctre un expert uman s s nt a Uor de reprezentat i generat limbaje de programare de nivel s s n nalt Pot construiti automat din seturi mari de date folosind algoritmi speci de inductie Sunt robuti chiar i cazul care setul de antrenament contine s s n n erori sau valori lips a Trateaz att atribute categoriale ct i continue a a a s Uor de construit i asimilat de ctre expertii umani s s a Exist numeroase sisteme functionale, de dimensiuni mari a

Construite folosind algoritmi de aare nesupervizat nvt a Folosesc tehnici de vizualizare a datelor De obicei sunt transformate arbori de decizie n nainte de generarea lor ntr-un limbaj de nivel nalt

Tabela 1.1: Modele de reprezentare a cunotintelor s acuratete ridicat fat de alte modele [LLS97, Mur95]. [PN00] sunt prezentate pe scurt cele a a In mai importante caracteristici ale acestor modele.

1.2

Fundamente teoretice

aceast sectiune sunt prezentate bazele teoretice ale modelelor de clasicare (arbori de In a decizie, seturi de reguli i tabele de decizie) [Pop02c]. Modelele prezentate mai sus sunt create s pe baza datelor primare care sunt prezentate sub forma unei multimi de cazuri (instante). Un caz reprezint un exemplu independent al unui concept general. Fiecare caz este caracterizat a printr-un set de atribute care msoar diferite aspecte ale unui caz. Cu toate c atributele sunt a a a de cele mai diferite tipuri (numerice, caractere, iruri de caractere, de tip dat calendaristic, s a a imagini, sunete, video etc.), problemele de inteligent articial i data mining opereaz cu dou a as a a grupe importante de atribute: continue (numerice, cantitative) i categoriale (calitative). s Denitia 1.2.1. Fie A un atribut. Prin domeniul atributului A (notat prin dom(A)) se elege nt multimea valorilor valide pentru acest atribut. Pentru atributele continue dom(A) = R, adic multimea de valori este innit, iar pentru a a cele categoriale dom(A) = {v1 , v2 , . . . , vk }, cu alte cuvinte atributul poate lua valori dintr-un set nit i bine precizat de valori. Pentru simplitate vom nota elementele unui domeniu categorial s prin {1, 2, . . . , k}. Un atribut A se numete boolean dac Card(A) = 2, iar valorile sale sunt s a denumite {adevrat, fals}. a

1.2 FUNDAMENTE TEORETICE

21

Denitia 1.2.2. Modelarea predictiv folosete modele pentru prezicerea valorilor unui atribut a s (sau a mai multor atribute), numit atribut int, pe baza valorilor atributelor dintr-un set de t a atribute numite atribute predictoare. Dac atributul prezis este categorial, atunci problema se a numete clasicare iar dac este de tip continuu atunci problema se numete regresie. s a s Clasicarea i regresia au fost studiate pe larg domenii precum statistica [Bra99, DHMS02, s n BH99], recunoaterea formelor (pattern recognition) [DG96, Kei90, Bis03], machine learning s [Mit97, BH99, MMM+ 83], retele neuronale [BH99, Bis03, Ska96], regresie liniar i regresie li as a a niar generalizat [BFOS84, Gro03]. Aceast sectiune nu si propune s detalieze aceste subiecte, a a ci doar s prezinte conceptele i rezultatele de baz necesare derivrii rezultatelor originale prea s a a zentate aceast lucrare. n a Denitia 1.2.3. Un clasicator este o functie d : dom(A1 ) . . . dom(Am ) dom(C) Fie AC = dom(A1 ) . . . dom(Am ) dom(C) i P : AC [0, 1] o distributie de probabis litate, adic o functie care asigneaz probabiliti evenimentelor de tipul: < t.A1 , . . . , t.Am > a a at dom(A1 ) . . . dom(Am ) t.C dom(C). Valorile acestor probabiliti sunt obtinute e de at la un expert uman domeniul respectiv, e din observatii empirice ale fenomenului modelat. n De exemplu, P (< debit = ridicat, f orma angajare = independent, risc = mare >) = 0.8, adic o persoan arcinat va a a ns a ntotdeauna de sex feminin. Denitia 1.2.4. Un element t =< t.A1 , . . . , t.Am , t.C > AC se numete caz. Prin set de s antrenament D se elege o multime de cazuri alese mod aleator din multimea AC. nt n Aadar, setul de antrenament este constituit dintr-o multime de cazuri despre care tim clasa s s creia acestea apartin, cu o anumit certitudine. a a Denitia 1.2.5. Se numete rata de clasicare greit Rd a clasicatorului d, probabilitatea s s a P (d(< t.A1 , . . . , t.Am >) = t.C). Rata de clasicare greit a unui clasicator reprezint probabilitatea ca, pentu un caz, clasa s a a estimat de clasicator s e diferit de cea real. a a a a Denitia 1.2.6. Vom numi propozitie elementar relatia pij : Ai = vij , unde vij dom(Ai ) iar o a propozitie elementar asociat cu atributul int se numete propozitie elementar de clasicare a a t a s a (cj : C = vj , unde vj dom(C)). continuare vom nota cu pi multimea propozitiilor elementare asociate cu atributul Ai i In s cu c multimea propozitiilor elementare de clasicare. Multimea tuturor propozitiilor elementare asociate cu toate atributele Ai se numete multimea propozitiilor elementare cauzale. s Propozitia 1.2.1. Negatia unei propozitii elementare este o disjunctie de propozitii elementare. Demonstratie. a) Fie Ai un atribut categorial i pij : Ai = vij o propozitie elementar. Dac s a a nu este adevarat, atunci a nseamna c Ai = vij , aadar exist un v dom(Ai )\vij astfel at a s a nc Ai = v. De aici rezult c a a pij pik [Ai = vik ]
k=j k=j

22

REPREZENTAREA CUNOSTINTELOR

b) Fie Ai un atribut continuu. acest caz, dom(Ai ) ind innit vom considera o discretizare In nit a sa. Vom deni valorile vij , j = 1, N , ca subintervale disjuncte ale domeniului felul a n urmtor: a vij = , j = 1, N ; vij vik = , j, k = 1, N ;
N j=1 vij

= dom(Ai ).

Deoarece acest caz vij sunt multimi (subintervale), vom redeni propozitia elementar n a nlocuind relatia de egalitate cu cea de apartenent la un interval, adic pij : Ai vij . a a Cu aceste modicri, demonstratia de la cazul categorial (punctul a) se aplic nemodicat a a a pentru cazul continuu.

1.3

Reguli de productie

Setul de reguli reprezint unul dintre cele mai folosite modele de reprezentare a cunotintelor. a s Exist mai multe tipuri de reguli, dintre care amintesc reguli de productie, reguli de productie a cu exceptii i reguli de asociere (tabela 1.2 sintetizeaz principalele caracteristici ale acestor s a reguli). continuarea acestei sectiuni vor prezentate detaliu regulile de productie. In n

1.3.1

Bazele teoretice ale regulilor de productie

Regulile de productie sunt un formalism utilizat la nceput teoria automatelor, limbajele n n formale i proiectarea limbajelor de programare. anii 40, Post [Pos43] a prezentat o prim s n In a formalizare a sistemelor bazate pe reguli care va succint prezentat i aceast sectiune. a s n a Aceste sisteme au fost introduse modelele psihologice pentru prima dat anul 1972 de ctre n a n a Newell i Simon [NS72], iar modelarea sistemelor expert de ctre Buchanan i Feigenbaum s n a s 1978 [BF78]. teoria sistemelor expert se mai numesc i reguli conditie-actiune i sunt n In s s din punct de vedere formal reguli gramaticale pentru manipularea irurilor de simboluri, adic s a reguli de rescriere. Post [Pos43] a formalizat teoria sistemelor bazate pe reguli, pe care le-a numit sisteme canonice, ca ind sisteme bazate pe un alfabet A (din care sunt construite irurile), un set s de axiome (o axiom este un ir peste alfabetul A) i un set de reguli de rescriere forma a s s n 1 $1 . . . m $m 1 $1 . . . n $n , unde: i i i sunt iruri xe, 1 i m ind de obicei null s s s unele (sau toate) iruri i sau i pot null s $i este un ir variabil care poate null s ecare $i este nlocuit cu un $i

1.3 REGULI DE PRODUCTIE

23

Tip regul a Regul de productie a

Regul de productie a cu exceptii

Caracteristici construite manual de ctre a experti sunt executate de ctre moa toare de inferent specice (ex: a JESS, CLIPS, OPS5 etc.) construite manual de ctre a experti exist motoare de inferent a a care le suport a construite manual de ctre a experti exist motoare de inferent a a care le suport a

Exemplu if Forma angajare=Independent then Nivel risc=Mare

if Forma angajare=Salariat then Nivel risc=Sczut unless Nivel dea bit=Ridicat

Regul de productie a Fuzzy

Regul de asociere a

construite automat folosind algoritmi specici nu exist motoare de inferent a a pentru executia lor, ele avnd a doar un rol descriptiv

if (temperatura mare) then modica temperatura putin (CF 0.8), unde temperatura i modics a temperatura sunt variabile Fuzzy, iar CF reprezint factorul de certia tudine al regulii if Baze de date i Arbori de decizie s then Data Mining (c=0.9, s=0.05) i se citete: 90% dintre cititos s rii care au mprumutat crti despre a baze de date i arbori de decizie au s mprumutat i crti despre Data Mis a ning, iar acetia reprezint 5% din s a totalul cititorilor(c - condenta, s suportul)

Tabela 1.2: Tipuri de reguli

24

REPREZENTAREA CUNOSTINTELOR

Partea stng a unei reguli de rescriere (1 $1 . . . m $m ) se numete antecedent, iar para a s tea dreapt (1 $1 . . . n $n ) se numete consecint. Aadar, forma general a unei reguli de a s a s a productie este: if antecedent then consecint. a De exemplu, sistemul canonic A = {a, b}, axiome = {ab} i reguli = {(P 1)$ a$b} va s genera multimea {an bn , n 1}. Cu toate c sistemele canonice par triviale, ele se regsesc a a toate calculele logicii i matematicii ind de fapt nite seturi de reguli care denesc modul n s s care sunt manipulate simbolurile. exemplul anterior, pornind de la axioma ab se poate n In deduce, prin aplicarea regulii P 1 teorema aabb. Semantica simbolurilor alfabetului A depinde de problema/teoria modelat. Mai mult chiar, Minsky [Min72] a demonstrat c orice sistem a a formal poate realizat ca un sistem canonic.

1.3.2

Reguli de productie folosite problema clasicrii n a

Regulile de productie folosite sistemele expert difer de regulile de rescriere prezentate mai n a sus cateva aspecte superciale, a principiile fundamentale i formale rmn neschimbate. n ns s a a De exemplu, nu suntem interesati de gramatica structurilor simbolice per se, ci mai degrab a construirea unei reprezentri a problemei i transformarea ei pn cnd satisface un criteriu n a s a a a care s spun Aceasta este o solutie pentru problema cauz. Setul de reguli de productie a a n a (numit i sistem de productie) este o colectie de una sau mai multe reguli de productie. s cazul seturilor de reguli de productie folosite sistemele expert, alfabetul A sistemului In n canonic este nlocuit de un vocabular format din simboluri sau atomi care reprezint: a multimea O, a numele obiectelor din domeniu; multimea P , a numele proprietilor care reprezint atributele obiectelor; at a multimea V , a valorilor admisibile pentru proprietile din P . at Gramatica folosit sistemele expert folosete de obicei triplete de forma obiect-atributa n s valoare, adic (o, p, v), unde o O, p P i v V . terminologia sistemelor expert a s In aceste triplete se mai numesc i fapte, iar faptele initiale (de pornire) ale sistemului expert s sunt echivalentul axiomelor din sistemele canonice. Pentru a reduce numrul faptelor care rea prezint proprietile unui obiect (notat cu o) se folosete unele sisteme forma generalizat a at s n a (o, p1 , v1 , . . . , pn , vn ). sistemele moderne bazate pe reguli (JESS [FH] or CLIPS [Gia93]), fapIn tele care au aceleai atribute (de exemplu toate faptele ce denesc cursurile ce se predau la o s universitate) sunt prezentate ca instante ale unor structuri de date ce reunesc aceste atribute, numite abloane (template). s Regulile de productie sunt construite din propozitii elementare, clasicri i o multime de a s propozitii elementare intermediare. Propozitiile elementare intermediare pot utiliza atribute intermediare, adic atribute diferite de cele care intervin clasicare i reprezentarea sisa n s n temului. Antecedentul unei reguli este o conjunctie de propozitii elementare (cauzale sau in termediare) sau negatii ale propozitiilor elementare (cauzale sau intermediare). Consecinta (consequent) unei reguli este o propozitie elementar de clasicare sau intermediar. a a Pentru nceput, vom prezenta un scurt exemplu: evaluarea nivelului de risc al unui credit pentru un client al unei bnci. Acesta este evaluat de ctre expertii bancari pe baza ctorva a a a indicatori, cum ar : nivelului debitelor, nivelului veniturilor i forma de angajare ale clientului. s

1.3 REGULI DE PRODUCTIE Nr 1 2 3 4 5 6 7 8 9 10 R1: if Forma R2: if Forma R3: if Forma risc=Sczut a Nivel debit Nivel venit Form angajare Nivel risc a Ridicat Ridicat Independent Mare Ridicat Ridicat Salariat Mare Ridicat Sczut a Salariat Mare Sczut a Sczut a Salariat Scazut Sczut a Sczut a Independent Mare Sczut a Ridicat Independent Mare Sczut a Ridicat Salariat Scazut Mediu Ridicat Independent Mare Mediu Ridicat Salariat Scazut Mediu Scazut Salariat Scazut angajare=Independent then Nivel risc=Mare angajare=Salariat and Nivel debit=Ridicat then Nivel risc=Mare angajare=Salariat and Nivel debit=(Sczut or Mediu) then Nivel a

25

Figura 1.2: Date de antrenament i setul de reguli de productie corespunztor s a Aceti indicatori vor forma setul de atribute predictoare. Atributul prezis va valoarea pentru s nivelul de risc al creditului. Cele trei atribute plus nivelul de risc vor deni i cele patru s abloane ce modeleaz sistemul nostru. Fiecrui ablon vom putea ataa ulterior informatiile s a a s i s suplimentare de care avem nevoie vederea realizrii unor reguli mai complexe. De exemplu, n a ablonului forma de angajare putem ataa ulterior informatii referitoare la perioada/durata s i s acestei forme, tipul angajatorului (dac acesta exist) rm de mici dimensiuni, corporatie a a a multi-national, institutie public denumirea angajatorului etc. Folosind un set de date de a a antrenament care sunt cunoscute att valorile pentru atributele predictoare ct i pentru n a a s nivelul de risc, expertul uman va construi un set de reguli de productie precum cel din Figura 1.2. vederea analizei i formalizrii puterii de expresie a unui set de reguli, Apt et al. [ABW88] In s a introduce notiunea de graf de dependent. a Denitia 1.3.1. Graful de dependent pentru un set de reguli este denit ca perechea (N, A), a unde: a N este multimea de noduri, un nod ind reprezentat de o regul a setului de reguli; A este multimea de arce, un arc ind denit cu sursa nodul N 1 i destinatia nodul n2 n s n cnd consecinta regulii corespunztoare nodului n1 apare atecendentul regulii nodului a a N 2. Pentru exemplul de set de reguli prezentat Figura 1.2, graful de dependent va contine n a trei noduri (corespunztoare regulilor R1 - R3) iar multimea de arce va vid deoarece nici a a unul dintre atributele ce apar antecedentul celor trei reguli (Form angajare i Nivel debit) n a s nu apare consecinta nici uneia dintre reguli. vederea n In mbogirii informatiei exprimate at n graful de dependent, lucrarea de fat este propus o extensie a acestuia, i anume graful a n a a s de dependent extins (prezentat [PN02b, PN03] sub numele de graf semantic). a n Inainte de

26

REPREZENTAREA CUNOSTINTELOR

Figura 1.3: Graf de dependent extins a introducerea acestuia, vom face urmtoarea observatie: orice atribut poate reprezentat printra un ablon prin urmtoarea constructie (prezentat sintax JESS): s a a n a (deftemplate AttributeName (slot value)) continuarea acestei sectiuni vom folosi termenul de ablon pentru a desemna e un atribut In s simplu, e o structur de date complex. a a Denitia 1.3.2. Graful de dependent extins (GDE) pentru un set de reguli este denit ca a perechea (N, A), unde: N este multimea de noduri, un nod ind reprezentat de o regul sau un ablon din sistem; a s A este multimea de arce; un arc este denit cu sursa nodul n1 i destinatia nodul n2 dac s a una din urmtoarele conditii este a ndeplinit: a consecinta regulii corespunztoare nodului n1 este folosit ablonul corespunztor n a s a nodului n2 dac ablonul corespunztor nodului n1 este folosit atecendentul regulii nodului a s a n n2. Figura 1.33 prezint GDE pentru exemplul din Figura 1.2. GDE aduce informatii suplimena tare asupra structurii semantice a ntregului sistem deoarece nu se limiteaz doar la reprezentarea a relatiile dintre reguli, ci i prin ce abloane se face comunicare dintre dou reguli. De exemplu, s s a ntre dou reguli pot exista dou relatii de dependent realizate prin abloane diferite. Dac a a a s a modelul standard al grafului de depedent aceast informatie se pierde, GDE va pune n a a n evident aceast situatie. Aadar, GDE dezvluie proiectantilor bazei de cunotinte cteva tia a s a s a puri de reguli interesante, precum: reguli izolate, reguli originator, reguli terminale sau reguli pseudo-recurente.
3

Aceasta este o captur de ecran obtinut timpul rulrii aplicatiei Expert System Creator (vezi capitolul 3) a a n a

1.3 REGULI DE PRODUCTIE

27

Denitia 1.3.3. Fie n N un nod al grafului de dependent extins. Vom nota cu in(n) = a {(, n) A}, respectiv out(n) = {(n, ) A} multimea de arce care intr nodul n, respectiv a n care ies din nodul n. continuare, sunt analizate cteva situatii speciale care se pot aa nodurile GDE. In a n Dac Card(in(n)) = 0 i Card(out(n)) = 0, atunci nodul n va denumit izolat. Dac a s a nodul are asociat o regul, atunci regula nu comunic cu alte reguli sau abloane ale sisa a a s temului. De exemplu, astfel de reguli pot rezulta urma reproiectrii bazei de cunotinte, n a s iar eliminarea lor va mri claritatea bazei de cunotinte. Dac nodul are asociat un ablon a s a s nseamn c acel ablon este nefolosit regulile sistemului (cu toate acestea, ablonul ar a a s n s putea folosit structurile procedurale - de tipul functiilor - ale sistemului). n Dac Card(in(n)) = 0 i Card(out(n)) > 0, atunci nodul n va denumit originator. Dac a s a nodul are asociat o regul, atunci avem de-a face e cu o regul de pornire a sistemului, a a a care este activat implicit la pornirea motorului de inferent, e cu o regul ce nu va a a a activat niciodat, numit i regul moart. Dac nodul are asociat un ablon, atunci a a as a a a s respectivul ablon abstactizeaz faptele initiale ale sistemului (axiomele). s a Dac Card(in(n)) > 0 i Card(out(n)) = 0, atunci nodul n va denumit terminal. Dac a s a nodul are asociat o regul atunci regula nu va inuenta/activa alte reguli, ea ind activat a a a anumite conditii i va executa sarcini precum: scrierea n s ntr-un ier, accesul la o baz de s a date, area de mesaje informative utilizatorilor etc. Dac nodul are asociat un ablon, sa a s acesta va reprezenta de obicei rezultatele nale ale executiei sistemului. Alte informatii utile despre structura bazei de cunotinte se pot obtine din studiul ciclurilor s din graf. O cale ntr-un graf este o traversare de la un nod la altul, unde la ecare pas se folosete s un arc al grafului, adic formal: a Denitia 1.3.4. O cale (directionat) este o secvent de noduri din N {n1 , n2 , . . . , nk } astfel a a at i = 1, k 1 : (ni , ni+1 ) A. Un ciclu este este o cale nc nchis, adic una care n1 = nk . a a n Numrul de arce dintr-o cale (ciclu) se numete lungimea cii (ciclului). a s a Dac exist un ciclu de lungime 2 GDE a a n nseamn c graful contine dou noduri, n i n a a a s astfel at exist un arc de la n la n i un alt arc ce pleac din nodul n i ajunge n. Din nc a s a s n denitia GDE rezult c unul dintre noduri va avea asociat o regul iar cellalt un ablon, a a a a a s ntre cele dou noduri existnd o dependent bidirectional. Vom denumi regula implicat aceast a a a a a n a relatie regul pseudo-recurent, deoarece modicndu-i propriile premise de intrare, regula va a a a s putea cauza o auto-activare. O atentie deosebit trebuie acordat acestor reguli deoarece ele a a pot cauza bucle innite sau blocaje functionarea sistemului. n Propozitia 1.3.1. Orice ciclu a GDE are lungime par. a Demonstratie. Presupunem c exist un ciclu de lungime impar GDE, {n1 , n2 , n3 , n1 }. Pre a a a n supunem c a nodul n1 are asociata o regula. (1.3.1)

28

REPREZENTAREA CUNOSTINTELOR

Din denitia GDE (denitia 1.3.2) rezult c nodul n2 are asociat cu el un ablon (deoarece un a a s arc al GDE conecteaz o regul cu un ablon, sau invers). Similar, nodul n3 va avea asociat a a s a cu el o regul, i nodul n1 un ablon, ceea ce este contradictie cu presupunerea initial 1.3.1. a s s n a Dac presupunem c nodul n1 are asociat un ablon, printr-un rationament similar vom a a s ajunge tot la o contradictie. Se observ c un ciclu de lungime 4 evidentiaz o dependent ciclic a a a a a ntre dou reguli ale a sistemului. Denitia 1.3.5. Un graf care nu contine nici un ciclu se numete aciclic, adic n N nu s a exist nici o cale nevid care s inceap i s se termine n. a a a as a n Denitia 1.3.6. Un set de reguli se numete bine-format dac graful de dependent (extins) s a a este aciclic. Un alt concept introdus literatur, tot pe baza grafului de dependent, este cel de sistem n a a straticat (Apt et al. [ABW88]), i anume: un arc din A este etichetat pozitiv sau negativ dup s a cum consecinta regulii r1 apare ca un literal pozitiv sau negativ antecedentul lui r2. Prin n denitie, un sistem straticat nu are cicluri cu arce negative, dar poate avea cicluri formate doar din arce pozitive. Aadar, conceptul de bine-formare introdus denitia 1.3.6 este mai tare s n dect cel de straticare din [ABW88]. [Col99] se arat c pentru orice sistem propozitional a In a a straticat exist un sistem cu graful de dependent aciclic care are acelai model. a a s

1.4

Arbori de decizie

Arborii de decizie (denumiti alternativ i arbori de clasicare) constituie una dintre cele mai s populare i bine formalizate abordri pentru problema clasicrii. continuarea acestui capitol s a a In sunt prezentate fundamentele teoretice ale arborilor de decizie, precum i cei mai cunoscuti s algoritmi pentru construirea arborilor de decizie din seturi mari de date cu unele mbuntiri a at aduse acestora. Un exemplu de arbore de decizie este prezentat Figura 1.44 , i anume arborele de decizie n s echivalent cu sistemul de reguli din Figura 1.2. Acest arbore de decizie poate construit e de ctre expertul uman, e mod automat folosind unul din algoritmii descrii aceast sectiune. a n s n a acest exemplu, algoritmul pentru constructia arborelului de decizie a determinat c atriIn a butul cel mai semnicativ pentru predictia riscului este Forma angajare. Ca urmare, prima ramicare in arbore este fcut dup acest atribut. Nodul cu {Forma angajare = Independent} a a a este nod frunz deoarece toate exemplele din acest nod sunt clasicate mod unic, i anume a n s Mare. Cellalt nod, corespunztor {Forma angajare = Salariat} nu este nod frunz deoarece a a a are dou exemple clasicate ca Mare i patru ca Sczut. Prin urmare, pe aceast directie este a s a a nevoie de stabilirea unei noi ramicatii i aceasta este fcut dup atributul Nivel debit. s a a a
4

Aceasta este o captur de ecran obtinut timpul rulrii aplicatiei Expert System Creator (vezi capitolul 3) a a n a

1.4 ARBORI DE DECIZIE

29

Figura 1.4: Exemplu de arbore de decizie

1.4.1

Bazele teoretice ale arborilor de decizie

Arborii de decizie sunt folositi ca modele predictionale probleme de clasicare, timp n n aceast sectiune vor prezentate fundamentele ce arborii de regresie cele de regresie. In n a matematice ale arborilor de decizie [Pop02c]. Fie deci C atributul categorial int (cel ale crui t a a valori vor prezise de arborele de decizie) i {Ai | i = 1 . . . m} atributele predictoare. s Denitia 1.4.1. Se numete arbore de decizie un graf aciclic directionat care realizeaz functia s a unui clasicator. Formal, un arbore de decizie AD este format din perechea {N, A} cu urma toarele proprieti: at N = {ni | i = 1 . . . k} se numete multimea de noduri ale arborelui s A = {(n1 , n2 ) | n1 , n2 N } se numete multimea de arce ale arborelui s !R N astfel at Card({(m, R) A}) = 0 i se numete nodul rdcin al arborelui nc s s a a a n N, n = R Card({(m, n) A}) = 1 Dac (n1 , n2 ) A, nodul n1 se numete nod printe iar n2 se numete nod u. Rdcina a s a s a a unui arbore (notat cu R denitia 1.4.1) este unic pentru un arbore i este nodul care nu a n a s are nici un nod printe. Orice alt nod are exact un printe i zero, unul sau mai multi i. Se a a s numete nod frunz un nod fr nici un u. Orice alt nod diferit de nodul rdcin i nodurile s a aa a a as frunz se numete nod intern (sau nod de decizie). Fiecare nod frunz al unui arbore de decizie a s a are asociat o propozitie elementar de clasicare (eticheta clasei corespunztoare clasicrii a a a a efectuate de calea de la rdcin pn la el). Un nod de decizie (intern) al unui arbore de a a a a a decizie nu poate contine un singur u deoarece acest caz nu ar mai avea loc nici o clasicare. n Un arbore de decizie se numete binar dac oricare nod al su are maximum doi i. s a a

30

REPREZENTAREA CUNOSTINTELOR

Denitia 1.4.2. O secvent de arce C = (n1 , n2 ), (n2 , n3 ), . . . , (nk1 , nk ) se numete cale a s n arbore de la nodul n1 la nodul nk de lungime k 1. Dac nk este un nod frunz, atunci calea a a se numete cale de clasicare. s Propozitia 1.4.1. Dac a ntre nodurile n1 i nk exist o cale, atunci aceasta este unic. s a a Demonstratie. Presupunem c exist C i C dou ci distincte de la n1 la nk . Prin urmare, a a s a a nj C nj c nj = nj , adic exist cel putin dou noduri distincte cele dou ci. Din a a a n a a a a s a a denitia 1.4.2 rezult c sunt arce (nj , nj+1 ) i (nj , nj+1 ) ale arborelui T . De aici rezult c nodul nj+1 are doi printi, ceea ce este contradictie cu denitia arborelui de decizie 1.4.1 a n (punctul 4). continuare, ecare nod intern n este etichetat cu un atribut predictor An numit atribuIn tul de separare (splitting attribute) i are asociat o multime de predicate de separare Qn = s a qnm | m = 1, M . Un predicat de separare qnm (splitting predicate) este denit astfel: dac An este un atribut numeric, qnm este de forma An am , unde am a se numete punct de separare pentru nodul n (split point) s dom(An ) i s

dac An este un atribut categorial, qnm este de forma An Sm , unde Sm dom(An ) i a s se numete multime de separare pentru nodul n (splitting subset). s Observatia 1.4.1. Pentru un atribut categorial, predicatul de separare qnm este o disjunctie de propozitii elementare pnj : An = vnj (vezi denitia 1.2.6). In a Observatia 1.4.2. vederea asigurrii consistentei arborelui, pentru un atribut categorial, sub multimile de separare Sm trebuie s e disjuncte. a Atributul de separare mpreun cu multimea predicatelor de separare formeaz a a mpreun a aa numitul criteriu de separare (splitting criterion) pentru nodul intern n. s Fiecare arc al arborelui are ca nod printe un nod de decizie p (sau nodul rdcin) i are a a a a s asociat un predicat de separare qpj apartinnd multimii de predicate de separare asociate nodului a printe. a continuare este introdus functia numit predicatul nodului astfel: In a a Denitia 1.4.3. Fiecrui nod n T vom asocia functia numit predicatul nodului a i a fn : dom(A1 ) . . . dom(Am ) dom(C) {true, f alse} astfel: fn (a1 , . . . , am , c) = true fp qpj dac n este nodul rdcin, a a a a dac n este nod u al lui p a

unde qpj este predicatul de separare corespunztor arcului (p, n) (qpj Qp ). a Informal, fn pentru un nod reprezint conjunctia predicatelor de separare a tuturor arcelor a de pe calea de la rdcin pn la acel nod. Deoarece ecare nod frunz este etichetat cu numele a a a a a a unei clase, acesta codic o regul de clasicare de forma fn c, unde c reprezint eticheta a a a nodului n. Astfel, ecare arbore T codic un clasicator sub forma functiei T : dom(A1 ) . . . a dom(Am ) dom(C) numit clasicator de tip arbore de decizie.

1.4 ARBORI DE DECIZIE

31

Denitia 1.4.4. Conjunctia tuturor predicatelor de separare asociate arcelor unei ci se numete a s regula cii. a Deoarece ecare predicat de separare este o disjunctie de propozitii elementare (observa ia 1.4.1) rezult c regula unei ci poate scris folosind propozitii elementare astfel: t a a a a
k k k

pC
i=1

qai ji
i=1 j

paij
i=1 j

[Ai = vij ]

Denitia 1.4.5. Se numete familie de cazuri asociate nodului n T (notat cu Fn ) multimea s a Fn = {t D | fn (t) = true} Cu alte cuvinte, Fn este multimea de cazuri din setul de antrenament D care urmeaz calea a de la rdcin la nodul n, atunci cnd sunt procesate de arbore. a a a a Denitia 1.4.6. Un arbore de decizie se numete complet dac s a n nod intern, predicatele de separare asociate acoper toate valorile domeniul atributului a de separare; n nod frunz, propozitia asociat cu el este adevrat. a a a a Cu alte cuvinte, arborele este complet dac pentru ecare propozitie elementar asociat cu a a a atributul de separare al unui nod intern exist un arc arbore. a n Problema constructiei unui arbore de decizie poate denit mod formal felul urmtor: a n n a ind dat un set de antrenament D (vezi denitia 1.2.4), s se gseasc un clasicator sub forma a a a unui arbore de decizie T astfel at rata clasicrilor greite RT (P ) s e minim. Hyal i nc a s a a s a n Rivest [HR76] demonstrau c problema construirii unui arbore de decizie optimal ( sensul minimizrii numrului de teste necesare clasicrii unui caz nou) este una NP-complex (NPa a a a dicil). Ei mai artau deasemenea c nu exist algoritmi ecienti pentru construirea acestor a a a a arbori optimali i prin urmare este necesar gsirea unor metode euristice pentru construirea s a a arborilor de decizie aproape optimali. fapt, din 1976 pna astzi numeroase metode i alIn a a s goritmi bazati pe euristice au fost propuse literatur pentru construirea arborilor de decizie. n a a a a s S.K. Murthy face [Mur98] o sintez inter-disciplinar (statistic, recunoaterea formelor, pron cesarea semnalelor, machine learning i retele neuronale) a metodelor de constructie automat s a a arborilor de decizie din multimi de date. continuarea acestei sectiuni va prezentat metoda Growing-Pruning, care denete scheIn a s letul pe care se bazeaz majoritatea metodelor de constructie automat a arborilor de decizie. a a Algoritmul general presupune dou faze constructia arborelui: a n faza de cretere: din setul de date de antrenament se construiete un arbore de decizie s s cuprinztor, de dimensiune mare; a faza de reducere (pruning): se determin dimensiunea nal a arborelui astfel at rata a a nc clasicrilor greite RT s e minim. a s a a

32

REPREZENTAREA CUNOSTINTELOR

TDTree(RootNode n, partition D, split selection method CL) Apply CL to D to nd the splitting criterion for n; if (n splits) then Use best split to partition D into D1 , D2 ; Create children n1 and n2 of n; TDTree(n1 , D1 , CL); TDTree(n2 , D2 , CL); endif

TDTree(RootNode n, partition D, split selection method CL) Apply CL to D to nd the splitting criterion for n; Let k be the number of children of n; if (k > 0) then Use best split to partition D into D1 , . . . , Dk ; Create k children n1 , . . . , nk of n; for all nk do TDTree(nk , Dk , CL); endif

Figura 1.5: Metoda lui Hunt a) Arbori de decizie binari b) Arbori de decizie multi-ci a Algoritmul de cretere a arborelui (prima faz) este unul de tip greedy care construiete s a s top-down arborele de decizie astfel: 1. se examineaz a ntregul set de antrenament D i pe baza unei metode (msuri) de separare s a se selecteaz din multimea de atribute prezente D atributul de separare A; a n 2. se creeaz l noduri u (unde l = Card(dom(A)) reprezeint numrul de valori distincte a a a ntre nodurile u; ale atributului de separare) i se s mparte setul de antrenament D 3. se proceseaz recursiv ecare u pn cnd este satisfcut un criteriu de oprire. a a a a a Tehnica de mai sus poart numele de metoda lui Hunt [Qui93] i este reprezentat Fia s a n gura 1.5 att pentru arbori binari ct i pentru arbori multi-ci. Intrarea o reprezint setul a a s a a de date de antrenament D iar ieirea arborele de decizie avnd rdcina nodul n. Datorit s a a a a examinrilor repetate ale setului de antrenament, faza de cretere a arborelui este una mare a s consumatoare de timp [SAM96, MAR96, GRG98]. Factorii determinanti pentru performantele aceastei faze sunt: alegerea punctelor de separare (acestea denesc testele pentru nodurile interne ale arborelui); a a a odat gsit un astfel de punct, cum se partitioneaz setul de antrenament pentru continuarea algoritmului. Detalii despre despre alegerea punctelor de separare pot gsite sectiunea 2.3, iar redua n cerea arborilor de decizie este tratat sectiunea 2.4. Din punct de vedere computational, faza a n de cretere este mult mai costisitoare dect cea de reducere (care are nevoie de doar 1% din s a timpul total de construire al arborelui) deoarece prima faz setul de date este parcurs de mai n a multe ori pentru construirea arborelui, timp ce faza de reducere actioneaz asupra arborelui n a din memorie. Trebuie mentionate i abordri care cele dou faze nu sunt delimitate exact, s a n a ele ntreptrunzndu-se. O astfel de abordare este algoritmul PUBLIC [RS98] care cele dou a a n a faze se ntreptrund astfel: criteriul de oprire este calculat a din faza de cretere a arborelui a nc s pentru a inhiba construirea prtilor arborelui care nu sunt semnicative i care ar trebuit a s eliminate cea de-a doua faz. n a Dintre avantajele arborilor de decizie amintesc urmtoarele: a

1.4 ARBORI DE DECIZIE

33

1. Arborii de decizie sunt utili primele faze ale procesului de analiz a datelor deoarece n a pun evident foarte clar atributele importante; cu ct un atribut este mai apropiat de n a a rdcin el are un rol mai important pentru setul respectiv de date; atributele care nu apar a a a arbore sau apar rar i apropierea nodurilor frunze au o important redus pentru n s n a a setul de date. 2. Euristicile bazate pe ctigul de informatie (information gain) evit cutarea as a a ntr-un spatiu de cutare de foarte mari dimensiuni. a 3. Arborii de decizie suport date lips, date cu zgomote, mixajul a a ntre atribute continue i s categoriale. 4. Arborii de decizie sunt folositi cel mai adesea problemele de clasicare , dar sunt utilizati n cu succes i problemele de regresie. s n 5. Arborii de decizie sunt uor de folosit, nenecesitnd cunotinte suplimentare despre domes a s niu. continuare vor amintite cteva dintre dezavantajele modelului arbore de decizie: In a 1. Bazndu-se pe aproximri rectangulare ale domeniului de valori, acetia nu functioneaz a a s a corect cazul altor tipuri de partitionri (vezi gura 1.6) n a 2. Utiliznd relatia de ordine a ntre valorile atributelor i ignornd complet diferentele absolute s a dintre aceste valori (adic 1 < 10 < 100 este la fel cu 0.99 < 1 < 1.01), arborii de a decizie nu sunt potriviti pentru problemele care distanta dintre dou valori (obiecte) n a este important. a 3. Un alt tip de aplicatii pentru care arborii de decizie nu se comport foarte bine sunt a aplicatiile care numrul de atribute semnicative pentru luarea unei decizii este redus n a comparatie cu cel al atributelor de important sczut pentru luarea unei decizii. n a a a Cu toate aceste neajunsuri arborii de decizie rmn una dintre cele mai puternice tehnici a a utilizate machine learning i data mining. Diverse strategii folosite cele dou faze au n s n a dus la aparitia unui numr impresionant de algoritmi pentru constructia automat a arborilor a a de decizie din seturi de date de mari dimensiuni. Sectiunea care urmeaz prezint cele mai a a a semnicative abordri [Pop02d], marea lor majoritate urmnd metoda Hunt. a

1.4.2

Algoritmi pentru constructia arborilor de decizie

ID3, C4/C4.5/C5 Poate cel mai semnicativ algoritm pentru constructia arborilor de decizie este cel dezvoltat de ctre Ross Quinlan de-a lungul a dou decenii (prima sa variant ID3 ind prezentat a a a a pentru prima oar 1986, lucrarea Induction of Decision Trees [Qui86]). Versiunea actual, a n n a C5 propus 1996, este o a n mbuntire a versiunilor anterioare C4.5/C4/ID3 [Qui93]. Algoa at ritmul consider toate testele care pot separa setul de date i alege pe acela care ofer cel a s l a mai bun ctig informational. Pentru atributele categoriale se consider un test cu attea ieiri as a a s

34
x1 B da

REPREZENTAREA CUNOSTINTELOR
x2=c2 C

x1 > c1 nu

x1=c1 A nu x2 > c2 da A

x2

Figura 1.6: Ilustrarea structurii arborelui de decizie spatiul de valori n

cte valori distincte exist pentru atributul considerat = Card(dom(Ai )). Pentru ecare atribut a a continuu (numeric) se consider teste binare pentru ecare valoare distinct disponibil ( faza a a a n de constructie) a atributului. Pentru a determina mod ecient ctigul entropic corespunztor n as a a a a acestor teste binare, familia de cazuri Fn asociat nodului n este sortat dup valorile atributului, dup care a ntr-o singur parcurgere a setului de date sortat sunt determinate ctigurile a as entropice pentru toate testele binare. Acest proces este repetat pentru ecare atribut numeric. Pe lng tratarea atributelor continue, C4.5 trateaz i valorile lips: e a a a s a nlocuiete valoarea s lips cu cea mai frecevent valoare pentru atributul respectiv nodul dat (adic multimea a a n a n Fn ), e face unele calcule probabilistice pe baza celorlaltor cazuri vederea determinrii valorii n a lips. O alt idee inovatoare introdus C4.5 este reduced-error pruning, care arborele creat a a a n n faza de cretere este simplicat folosind diveri euristici, apoi este testat pe un subset de n s s cazuri de validare (proces numit validare ncruciat) i dac performantele arborelui simplicat s a s a sunt mai bune dect ale celui original, atunci versiunea simplicat este pstrat. Detalii despre a a a a implementarea acestor algoritmi pot gasite [Col96, Mon97, Dav95]. n SLIQ, SPRINT Algoritmul SLIQ a fost propus 1996 de Mehta, Agrawal i Rissanen [MAR96] iar o variant n s a imbuntit numit SPRINT a fost propus acelai an de Shafer, Agrawal i Mehta [SAM96]. a at a a a n s s Aceti doi algoritmi s mbuntesc algoritmul C5 prin evitarea sortrilor la nivelul ecrui nod a at a a printr-o pre-sortare a atributelor numerice la nceputul algoritmului. SPRINT contruiete arbos rele de decizie folosind o tehnic breadth-rst i o singur pre-sortare pentru a reduce tima s a pul necesar evalurii atributelor numerice. Astfel, pentru ecare atribut se construiete la a s nceput o list a atributului compus din: valoarea atributului, eticheta clasei din care face a a parte nregistrarea i identicatorul s nregistrrii (rid). Aceste liste sunt salvate pe disc dac a a dimensiunea lor depete memoria disponibil. Listele pentru atributele numerice sunt sortate as s a initial dup valoarea atributului, iar listele pentru atributele categoriale rmn nesortate. La e a a a

1.4 ARBORI DE DECIZIE

35

care ramicare a arborelui subarbori, listele atributelor sunt la rndul lor divizate sub-liste n a n corespunztoare nodurilor u. Prin pstrarea ordinii a a nregistrrilor sub-listele partitionate, a n acestea nu necesit nici o resortare. Pentru alegerea atributului de separare algoritmul SPRINT a folosete indexul Gini introdus [BFOS84]. Acesta este calculat prin scanarea listelor de atris n but corespunztoare unui nod i calcularea distributiei claselor ambele prti ale valorii de a s n a separare (histrogramele below i above). Atributul cu valoarea minim a indexului Gini i vas a s loarea de separare corespunztoare acestui atribut sunt alese pentru partitionarea setului de a date i pentru construirea unui nou nod. [MRA95] se arat c SLIQ/SPRINT produc arbori s In a a de decizie mai mici ca dimensiune i a cror acuratete este similar sau chiar mai bun dect cea s a a a a obtinut cu ajutorul algoritmilor CART [BFOS84] sau C4.5 [Qui93]. Algoritmii SLIQ/SPRINT a au fost propui i implementati pentru constructia arborilor binari, dar pot adaptati pentru s s cazul generic al arborilor multi-ci. a Platforma RainForest (RF-Write, RF-Read, RF-Hybrid, RF-Vertical) i BOAT s [GRG98] Gehrke et al. prezint un cadru general, denumit RainForest, pentru clasicatorii In a de tip arbori de decizie care aspectele legate de scalabilitatea algoritmilor de constructie a n arborilor sunt separate de facilitile centrale care determin calitatea arborelui. Acest cadru at a general poate instantiat cu algoritmi existenti literatur (precum CDP [AIS93], ID3/C4.5 n a [Qui93], CART [BFOS84], SLIQ/SPRINT [MAR96, SAM96], CHAID [Mag93], QUEST [LS97]). Autorii propun deasemenea patru noi algoritmi (RF-Write, RF-Read, RF-Hybrid, RF-Vertical) care exploateaz beneciile listelor AVC (atribut-valoare-clas). a a Algoritmul BOAT (Bootstrapped Optimistic Algorithm for Tree Construction) propus de Gehrke et al. [GRGL99] construiete cteva nivele a arborelui doar dou parcurgeri a setului s a n a de date de antrenament, obtinndu-se astfel performante cu pn la 300% mai bune dect a a a a n algoritmii anteriori. Cheia acestei performante este o abordare optimist a construirii arbo a relui, care arborele initial este construit pe baza unui subset de mici dimensiuni a datelor n de antrenament, arbore care este ranat apoi pn la forma sa nal. Orice diferent fat de a a a a a arborele real (adic arborele care ar fost construit cu metoda Hunt clasic) este detectat a a a i corectat. Pasul de corectie necesit uneori o parcurgere suplimentar a unor subseturi ale s a a a setului de date de antrenament. BOAT este primul algoritm scalabil care are abilitatea de a actualiza mod dinamic arborele atunci cnd noi n a nregistrri sunt adugate sau terse din setul a a s de date. Aceast proprietate este esential medii dinamice, precum depozitele de date (data a a n warehouses), care setul de date de antrenament se modic timp. Operatia de actualizare n a n a arborelui este mult mai putin costisitoare ca timp dect o reconstructie complet a arborelui, a a iar rezultatul obtinut este identic cu cel produs prin reconstructie. Observatii asupra metodei lui Hunt Metoda lui Hunt (i toti algoritmii derivati din ea) sufer de un dezavantaj major - miopia, s a n sensul c nici una din msurile prezentate nu este capabil s prezic efectul aplicrii unui set a a a a a a de atribute mpreun, i nu doar a unui singur atribut. Odat un atribut selectat ca atribut de a s a separare, el este exclus din lista de atribute candidate testele viitoare ceea ce face ca metoda n lui Hunt s e susceptibil de convergent minimele locale. S-ar putea ca loc s alegem a a a n n a ca atribut de separare atributul care minimizeaz entropia un alt atribut s obtinem un arbore a a mai performant (cu noduri sau nivele mai putine). Metoda lui Hunt reprezint de fapt apli a

36

REPREZENTAREA CUNOSTINTELOR

carea principiului logic Occams Razor (sau al parcimoniei) la constructia arborelui de decizie. Acest principiu logic, atribuit lui William of Occam (aprox. 1285-1349), postuleaz c: trebuie a a s facem minimum de supozitii/ipoteze necesare pentru a explica ceva. Sunt de mentionat a cteva lucrri [MP94, Web96] care analizeaz oportunitatea aplicrii acestui principiu cona a a a n textul constructiei arborilor de decizie. [Web96], G.I. Webb prezint dovezi experimentale In a mpotriva utilizrii principiului parcimoniei constructia arborilor de decizie folosind algorita n mul C4.5. Cu toate c eliminnd acest principiu se obtin arbori mai compleci, acetia au o a a s s acuratete mai bun dect cei obtinuti prin aplicarea algoritmului standard. Cu toate acestea, a a n practic s-au impus arborii mai simpli deoarece pot mai uor interpretati de expertii umani, a s pentru seturi foarte mari de date sunt mai rapizi i ofer performante foarte bune. O alt lucrare s a a a a n a [FKY96] dedicat eliminrii miopiei procesul de constructie a arborilor de decizie prezint o abordare care se elimin necesitatea construirii arborelui de decizie avans. Constructia n a n se face pentru ecare caz de clasicat parte, situatie care pentru alegerea atributului de n n separare se cunoate, pe lng setul de date de antrenament, i valorile din cazul care trebuie s a a s clasicat. Constructia i actualizarea incremental a arborilor de decizie s a Din punctul de vedere al disponibilitii setului de antrenament alnim dou posibiliti: 1) at nt a at ntreg setul de antrenament este disponibil momentul constructiei arborelui de decizie; 2) n datele din setul de antrenament sosesc treptat timp. Pentru cazul 1), odat ce arborele este n a construit, rmne neschimbat i sarcina construirii sale s-a a a s ncheiat (algoritmii care functioneaz a cel de-al doilea caz, exist dou optiuni: acest fel se numesc algoritmi non-incrementali). In n a a n n s a. momentul care un nou set de antrenament este disponibil se reconstruiete arborele de decizie de la zero pe baz a ntregului nou set de antrenament; b. se revizuiete arborele existent pe baza noilor informatii disponibile. s Algoritmii corespunztori punctului b) sunt cunoscuti sub numele de algoritmi incrementali a pentru constructia arborilor de decizie. Desigur c este de dorit ca algoritmii incrementali s a a produc aceeiai arbori de decizie ca algoritmii non-incrementali pentru acelai set de date de a s s antrenament, indiferent dac aceste date sunt disponibile a n ntregime la momentul constructiei arborelui sau sosesc fragmentat timp. Ideal, un algoritm de constructie incremental a arbon a rilor de decizie ar trebui s le a ndeplineasc urmtoarele criterii: a a 1. Costul actualizrii incrementale a arborelui de decizie trebuie s e mult mai redus dect a a a costul construirii unui arbore nou. Oricum nu e necesar ca suma tuturor costurilor de actualizare (update) incremental s e mai redus, pentru c intereseaza doar costul a a a a aducerii arborelui la zi. 2. Costul actualizrii incrementale trebuie s e independent de numrul instantelor de ana a a trenare pe care se bazeaz arborele. a 3. Arborele rezultat urma aplicrii algoritmului incremental trebuie s depind de setul n a a a de instante din arbore, nu i de secventa care acestea au fost introduse. s n 4. Algoritmul trebuie s accepte att atribute categoriale ct i numerice. a a a s

1.4 ARBORI DE DECIZIE 5. Algoritmul trebuie s poat gestiona clase multiple. a a 6. Algoritmul nu trebuie s eueze la primirea unor instante de antrenare inconsistente. a s

37

7. Algoritmul nu trebuie s favorizeze o anumit variabil pentru c are o plaja de valori a a a a mai mare. 8. Algoritmul trebuie s e ecient timp i spatiu. a n s 9. Algoritmul trebuie s suporte instante cu valori lips. a a 10. Este necesar ca algoritmul s evite efectul de supra-potrivire (overtting). a 11. Algoritmul trebuie s poat gsi teste compuse. a a a 12. Algoritmul trebuie s poat grupa valorile unei variabile. a a De-a lungul timpului s-a acordat o atentie deosebit inductiei incrementale, a ncepnd cu a studiile lui Samuel (1959) i algoritmul lui Michalski (1975). Abordarea lui Friedman [Fri77] s folosete caracteristici adaptive pentru unele noduri de separare. Un nod de separare adaps tiv depinde de eantionul de antrenament pe care separ (adic familia de cazuri Fn coress l a a punztoare vezi denitia 1.4.5), de exemplu prin testarea valorii medii a atributului. Fisher a propune [Fis87] un algoritm de inductie a arborilor de decizie (COBWEB) care integreaz un n a caz ntr-un arbore de decizie existent prin trecerea cazului de-a lungul unei ci compus din a a nodurile cu cea mai bun potrivire. Spre deosebire de metodele conventionale de predictie a n care eroarea de clasicare se msoar prin diferenta dintre valoarea prezis i cea real, Sutton a a as a a (1988) [Sut88] propune msurarea erorii de clasicare prin diferenta dintre predictii succesive temporal algoritmul de aare a diferentei temporale. Utgo et al. a propus algoritmul Innvt cremental Tree Inducer (ITI) pentru crearea i actualizarea incremental a arborilor de decizie s a a s n att cazul arborilor univariate [Utg89, Utg94, UBC97] ct i cazul multivariate5 [UB90]. O a n versiune incremental a binecunoscutului algoritm CART care folosete praguri de semnicatie a s pentru a evita restructurrile frecvente ale arborelui a fost propus de ctre Crawford [Cra89]. a a a Mai recent, Gehrke et al. [GRGL99] propun un algoritm (BOAT) foarte rapid, scalabil i cu s abiliti de actualizare incremental a arborelui construit. Cheia facilitilor oferite de BOAT at a at (Bootstrapped Optimistic Decision Tree) o constituie o abordare optimist care arborele a n initial este construit folosind o submultime de dimensiune redus a setului de antrenament i a s apoi este ranat pentru a obtine performantele dorite. Esenta algoritmului o constituie tocmai buna abilitate de actualizare incremental a arborelui. Guetova et al. propune [GSH02] a n att versiunea non-incremental ct i pe cea incremental a unui algoritm pentru constructia a a a s a arborilor de decizie fuzzy, iar abordri de ultim or (Stanley [Sta]) se utilizeaz arborii de n a a a a decizie pentru modelarea fenomenelor dinamice (concept drift). O sintez recent apartind lui a a a Rokach [RM05] prezint cele mai cunoscute implementri i probleme, respectiv solutii care au a a s aprut de-a lungul timpului constructia arborilor de decizie. a n
Univariate nseamn c un nod de decizie este separat pe baza unui singur atribut de separare. cazul a a In multivariate, mai multe atribute contribuie la stabilirea criteriului de separare al unui nod de decizie.
5

38

REPREZENTAREA CUNOSTINTELOR

1.5

Tabele de decizie

Tabela de decizie reprezint o form de reprezentare a cunotintelor compact i uor de a a s a s s 6 , o tabel de decizie este un mod precis i interpretat de operatorul uman. Conform Wikipedia a s compact pentru a modela logica complex a unui algoritm. Cu toate c spatele tabelelor a a n de decizie se a o teorie riguros bazat pe principii matematice [Mor82, RSY87], aceast a a n a lucrare acestea vor introduse din punct de vedere semantic i legatur cu celelalte modele s n a de reprezentare a cunotintelor (arbori de decizie i seturi de reguli). tabela de decizie se s s In [Pop00a] se mentioneaz cteva dintre asociaz conditii cu actiuni ce urmeaz a executate. In a a a a avantajele modelului tabel de decizie, cum ar posibilitatea analizei automate a consistentei, a completitudinii i corectitudinii sistemului i impunerea unei riguroziti tratarea tuturor s s at n cazurilor posibile. majoritatea cazurilor, tabelele de decizie sunt construite de expertii umani In i generarea lor din seturi de date nu este o tehnic uzual, dar nu este imposibil. Conform s a a a unei anecdote, dup o a ncercare euat de a descrie logica unui program pentru un sistem de s a ntretinere a ierelor pe parcursul a 6 ani-om, o echip de patru oameni a rezolvat problema s a folosind tabele de decizie patru sptmni. n a a a La nceput tabelele de decizie au aprut ca o tehnic folosit de programatori pentru codia a a carea logicii unui algoritm cazul care numrul alternativelor era mare i dicil de urmrit. n n a s a Interesul primordial perioada de n nceput (anii 60 - 80) [Fis66, Pol62], cu un numr mediu a de 30 de publicatii pe an i un maxim de 67 lucrri 1971, era conversia acestor tabele s a n n cod program [KJ75, Lew78]. Dup aceea, tabelele au devenit larg utilizate diverse domenii, a n iar interesul s-a mutat ctre proiectarea unor metode i denirea unei metodologii consistente a s pentru constructia tabelelor de decizie, folosit cu precdere reprezentarea cunotintelor i a a n s s In sistemele pentru suportul deciziilor [HC00, JY00, Fra00] (decision support systems). zin lele noastre, tabelele de decizie cunosc o larg rspndire in cele mai diverse domenii, de la a a a modelarea regulilor afaceri [Van04], la studii medicale [SDD+ 99], la aplicatii agricultur n n a sau domeniul legislatiei (de exemplu, ca suport la n ntocmirea actelor juridice [BVS+ 93]). Un rezumat extins privind evolutia tabelelor de decizie pn anul 2000 - i metodologii a a n s nrudite - a fost realizat de ctre Moreno Garcia, Verhelle i Vanthienen [GVV00]. a s Popularitatea tabelelor de decizie a dus la aparitia multor utilitare i unelte pentru constructia s lor vizual, pentru validarea i vericarea lor sau pentru generarea automat a codului, cum ar a s a : Expert System Creator [PN03], ILOG JRules [ILO05], QuickRules [Tec05], MineSet [Ins] sau PROLOGA (PROcedural LOGic Analyzer) [VD94]. La nivel national, probabil c cea mai cunoscut lucrare despre tabele de decizie este cartea a a lui Liviu Dumitracu i Ioachim Alexandru, Generating FORTRAN Programs from Decision s s Tables [DA90]. Cartea prezint toate aspectele legate de tabele de decizie i a s ncepe prin clasicarea acestora mpreun cu un numr de tehnici similare, cum ar regulile i ow charts. a a s Apoi, este prezentat utilizarea tabelelor de decizie analiza i proiectarea sistemelor infora n s matice i sunt discutate pe larg metode pentru constructia, validarea i comprimarea tabelelor s s partea a patra autorii vorbesc despre conversia tabelelor de decizie arbori de de decizie. In n decizie i ow chart. Partea a cincea acoper domeniul generrii automate a codului din tabele s a a de decizie prin intermediul preprocesoarelor i este fcut o analiz comparativ a diferitelor s a a a a
6

http://en.wikipedia.org/wiki/Decision table

1.5 TABELE DE DECIZIE


Conditii Actiuni Valorile conditiilor Intrri actiuni a

39

Tabela 1.3: Forma general a tabelei de decizie a Regula Nivel debit Nivel venit Form a jare angaActiune (Nivel risc) Mare Mare Sczut a

Regula 1 Regula 2 Regula 3

Ridicat Sczut a Mediu

or

Independent Salariat Salariat

Figura 1.7: Tabela de decizie ( form orizontal ) n a a preprocesoare (Decisus, Detoc, Tabdec, Detab-65, DLT-Felix). Ultima parte a lucrrii prezint a a detaliu preprocesorul DLT-Felix. n Modelul standard al tabelei de decizie propune o structur compus din patru cadrane (vezi a a Tabela 1.3): conditii (corespunztoare unui atribut), valori posibile pentru aceste conditii (do a meniul atributului), actiuni (procedur sau operatie de executat) i intrri ale actiunilor care a s a specic dac actiunea este executat (i in ce ordine) pentru setul de valori corespunzoare a a a s a intrrii respective. a Este propus continuare un model generalizat al tabelei de decizie. Deoarece numrul de n a conditii i atribute difer mult de la o situatie la alta iar expertul uman este obinuit i opereaz s a s s a mai facil cu un numr limitat i relativ redus de coloane, tabela de decizie va reprezentat a s a folosind dou dispuneri: orizontal i vertical. O tabel de decizie form orizontal este a a s a a n a a denit de un tablou bidimensional de celule, ecare rnd al tabelei realiznd o clasicare. A a a a i-a celul dintr-un rnd este o disjunctie nevid de propozitii elementare (denitia 1.2.6) dintra a a a un set de propozitii elementare asociate cu al i-lea atribut. Un rnd al unei tabele de decizie poate vzut ca o regul care antecedentul este format din conjunctia celulelor din acel rnd a a n a i consecinta este o clasicare (reprezentat prin conventie ultima coloan a tabelei). Prin s a a urmare, o tabel de decizie poate vzut ca o conjunctie de reguli rnd. Pentru obtinerea a a a a formei verticale, se transpun rndurile cu coloanele tabelei de decizie form orizontal. Este a n a a preferat o form de vizualizare sau alta functie de numrul de atribute i reguli ale tabelei. a a n a s continuarea acestei lucrri toate tabelele de decizie vor considerate cu dispunere orizontal. In a a Figurile 1.7 i 1.8 prezint tabelele de decizie ( form orizontal, respectiv vertical) echis a n a a a valente cu arborele de decizie din exemplul 1.4. O celul se numete irelevant dac este disjunctia tuturor propozitiilor elementare asociate a s a a cu atributul ei. De exemplu, toate celulele asociate cu atributul Nivel venit din exemplul 1.7 sunt celule irelevante. Pentru simplitatea i claritatea reprezentrii celulele irelevante sunt res a prezentate printr-o cratim tabela de decizie. a n Denitia 1.5.1. O tabel de decizie se numete ambigu dac are dou rnduri care difer a s a a a a a doar prin clasicarea efectuat, adic unei atribuiri ale valorilor de adevr adevrat propozitiilor a a a a elementare corespunde cel putin dou propozitii elementare de clasicare adevrate (denitia i a a

40 Atribut Nivel debit Nivel venit Form anajare a Actiune (Nivel risc) Regula 1 Independent Mare

REPREZENTAREA CUNOSTINTELOR Regula 2 Ridicat Salariat Mare Regula 3 Sczut or Mediu a Salariat Sczut a

Figura 1.8: Tabela de decizie ( form vertical) n a a 1.2.6). Formal, putem scrie astfel {jk , k = 1 . . . m} astfel at multimii propozitiilor elementare {pijk , i = 1 . . . m} coresnc i punde cel putin dou propozitii elementare de clasicare distincte adevrate cu i cv . a a s Denitia 1.5.2. O tabel de decizie este complet dac pentru orice atribuire a valorii de a a a adevr adevrat propozitiilor elementare exist cel putin o propozitie elementar de clasicare a a a a adevrat. Formal, putem scrie astfel a a {jk , k = 1 . . . m} cu o propozitie elementar de clasicare adevrat astfel at multimii a a a nc propozitiilor elementare {pijk , i = 1 . . . m} corespunde cu . i De exemplu, prin adugarea regulii 1 tabelei 1.7 se va obtine o tabel de decizie ambigu a a a n regulile 1 i 1 . s Regula 1 Independent Sczut a

O tabel de decizie ambigu sau incomplet poate rezulta din modul de constructie al tabelei: a a a n at a manual: cazul construirii manuale a tabelei, ambiguitile/incompletitudinile pot aprea special datorate expertului uman (mai ales cazul tabelelor de mari dimensiuni); n n automat: cazul care tabela este construit mod automat, de exemplu prin conversia n n a n unui sistem bazat pe reguli, eventualele erori (ambiguiti, reguli incomplete, redundante at etc.) setul de reguli surs vor cauza o tabel ambigu sau incomplet. n a a a a Una din motivatiile utilizrii tabelelor de decizie este tocmai posibilitatea determinrii au a a tomate a eventualelor ambiguiti, lucru greu de realizat cazul unui sistem reprezentat ca set at n de reguli. continuare vor prezentate cteva metode de rezolvare a ambiguitilor: In a at a a a a eliminarea (manual sau automat) regulilor de clasicare (adic a rndurilor) care cauzeaz ambiguitatea astfel at s rmn o singur clasicarea valid; a nc a a a a a a cazul care sunt estimate mai multe atribute int, se poate crea un nou atribut n n t a int egal cu produsul cartezian al atributelor int ale clasicrilor ambigui iar valoarea t a t a a pentru acest nou atribut corespunztoare noii reguli de clasicare se obtine prin produsul a cartezian al valorilor corespunztoare atributelor int regulile ambigui a t a n Alegerea metodei se face de ctre un expert uman functie de natura problemei cauz. a n n a

1.6 EXTENSII ALE MODELELOR CLASICE

41

1.6

Extensii ale modelelor clasice

Acest sectiune prezint dou extensii aduse arborilor i tabelelor de decizie standard: liste a a a s de actiuni i suport pentru rationamentul inexact [Pop06b]. Aceste extensii s-au impus ca solutii s exibile la problemele care apar la implementarea obiectelor de decizie sisteme informatice n din lumea real: a culegerea datelor de intrare: este evident c datorit structurii obiectelor de decizie, a a n foarte putine cazuri este nevoie de valori pentru toate atributele spatiului de intrare n vederea clasicrii unui nou caz; a comunicarea rezultatelor (intermediare, nale sau explicatii ale rationamentului) utilizatorului nal: interfata cu utilizatorul (UI) poate lua diverse forme, de la ferestrele de dialog ale unei aplciatii standalone, pn la paginile HTML generate dinamic cazul unei a a n aplicatii Web; preprocesri asupra datelor de intrare a nainte de utilizarea acestora cadrul modelului n de decizie, cum ar vericare i validare, calcule aditionale etc. s vederea suportrii acestor faciliti absolut necesare unei aplicatii reale, obiectele de deIn a at cizie trebuie s ofere prghiile potrivite. Un astfel de mecanism constitue lista de actiuni care a a l este asociat cu atributele unei tabelele de decizie, sau cu nodurile de actiune cazul arborilor a n de decizie. Actiunile din list sunt executate a nainte de evaluarea atributului/nodului. Aceste actiuni pot : initializarea atributului (sau a altor atribute relationate cu acesta), citirea valorii atributului de la utilizator sau de la un dispozitiv de intrare (ier, senzori, ux de date generic s etc.), efectuarea unor calcule preliminare, aarea unor rezultate intermediare i nale sau a s s unor mesaje importante. mod similar, au fost introduse noduri de actiune cazul arborilor In n de decizie, noduri ce au ataate liste de actiuni la fel ca cazul tabelelor de decizie. vederea s n In suportrii rationamentului inexact, arborii i tabelele de decizie au fost extinse prin introducea s rea factorilor de certitudine i ponderilor. Aceste extensii au fost implementate mediul de s n s dezvoltare Expert System Creator (vezi capitolul 3 pentru detalii) i vor ilustrate prin capturi de ecran ale acestuia. Acestea sunt subiectele care vor prezentate detaliu continuarea n n acestei sectiuni.

1.6.1

Extensii pentru arborii de decizie

cazul arborilor de decizie a fost introdus un nou tip de nod: nod de actiune. Prin actiune In se ntelege orice instructiune executat timpul rulrii sistemului care nu implic teste asupra a n a a atributelor sistemului, adic nu implic luarea unei decizii. Figura 1.9 (a) se pot observa a a In dou noduri de actiune (NodActiune1 i NodActiune2) ale cror liste de actiuni contin operatii a s a asupra interfetei utilizator. Denitia 1.6.1. Un nod intern n al arborelui de decizie se numete nod de actiune dac: s a multimea predicatelor de separare asociat nodului este Qn = {true}; a are asociat o list nevid i ordonat de actiuni. a a as a

42

REPREZENTAREA CUNOSTINTELOR

Cu toate c nodurile de actiune sunt noduri interne ale arborelui, spre deosebire de nodurile a interne decizionale, ele nu inuenteaz constructia sau parcurgerea arborelui (deoarece Qn = a {true}), rolul lor principal ind acela de a achizitiona valori pentru atributele ce urmeaz s a a e evaluate continuare sau de a interactiona cu utilizatorul. La evaluarea unui caz nou de n ctre un arbore de decizie, la alnirea unui nod de actiune vor executate actiunile asociate a nt cu acesta. Lista de actiuni corespunzoare unui nod de actiune este similar cu lista de actiuni a a asociat cu un atribut al unei tabele de decizie. a Deoarece predicatul de separare asociat cu un nod de actiune este Qn = {true}, un nod de actiune poate avea cel mult un u. Vom considera c acesta este ul stng al nodului astfel a a at putem extinde fr nici o modicare denitia 1.4.3 a functiei predicatul nodului i la nc aa s nodul de actiune. Propozitia 1.6.1. Fie p T un nod de actiune. Dac n T este u al nodului p, atunci a Fn = Fp , adic familiile de cazuri asociate celor dou noduri sunt identice. a a Demonstratie. a) Pentru nceput vom demonsta c Fn Fp . Fie t Fn . Din denitia 1.4.5 a rezult c a a fn (t) = true (1.6.1) Cum n este ul (stng) al lui p, din denitia 1.4.3 rezult c fn (t) = fp (t) qp . Din denitia a a a 1.6.1 avem c qp = true i a s nlocuind ecuatia 1.6.1 obtinem n fp (t) true = true De unde rezult c fp (t) = true, adic t Fp . a a a b) Acum vom demonstra incluziunea invers, Fp Fn . Fie t Fp . Stim c: a a fp (t) = true (denitia 1.4.5) qp = true (denitia 1.6.1) fn (t) = fp (t) qp (denitia 1.4.3) rezult c a a fn (t) = fp (t) qp = true true = true, adic t Fn . a Constructia arborilor de decizie presupune o faz de reducere (pruning) care uneori poate a intercalat faza de cretere vedere eliminrii efectului de overtting, adic de supraa n s n a a adaptare la setul de antrenament. Faza de reducere folosete diveri euristici prin care un nod de s s decizie n i subarborele corespunztor acestuia sunt s a nlocuiti cu un nod frunz (de clasicare). a Clasicarea realizat de noul nod de clasicare corespunde nu mai este una exact, ci corespunde a a clasei majoritare Fn . De exemplu, Figura 1.9 din cele 100 de cazuri asociate nodului Forma n n Angajare, 94 au fost clasicate ca NivelRisc=Mare, restul ind clasicate functie de valorile n atributului Nivel Debit. faza de reducere, nodul de decizie Forma Angajare va In nlocuit cu un nod de clasicare ce va clasica toate cazurile ca NivelRisc=Mare. Dac la clasicarea a unui nou caz se va ajunge acest nod frunz, atunci putem spune c noul caz apartine clasei n a a NivelRisc=Mare cu o probabilitate de 94%. Detalii suplimentare despre metodele de reducere a arborilor de decizie pot gsite sectiunea 2.4. a n (1.6.3) (1.6.2)

1.6 EXTENSII ALE MODELELOR CLASICE

43

Figura 1.9: Reducerea unui subarbore (a) arborele original (b) arborele urma reducerii n Observatia 1.6.1. Astfel, clasicarea realizat de arbore nu mai este una exact, ci una aproxi a a mativ i putem asocia cu ecare nod de clasicare o valoare numeric, probabilitatea clasicrii as a a corecte. Problema devine mai interesant cazul clasicrii unui nou caz care cel putin unul a n a n dintre atributele predictoare ia o valoare care nu a fost prezent setul de antrenament sau a n lipsete valoarea pentru atributul respectiv (adic, tratarea datelor incomplete). Sunt mai multe s a a abordri pentru aceast problem [BFOS84, Qui89], majoritatea selectnd ramura pentru care a a a Card(Fnodcopil ) este maxim, adic cea mai prezent valoare pentru atributul respectiv. a a a In continuarea aceastei sectiuni va prezentat o ranare a acestei abordri. a a Rationamentul aproximativ i conditii de incertitudine i incompletitudine si are originea s n s teoria probabilitilor i au fost propuse mai multe modele teoretice i implementri practice n at s s a acest sens. Fr a face un rezumat exhaustiv al acestei tematici ce a avut o priz deosebit n aa a a mediul academic ultimii peste treizeci de ani vor prezentate continuare cele mai n n n semnicative abordri. a de la sfritul anilor 60 McCarthy i Hayes [MH69] mentionau a Inc as s c modelele probabiliste nu sunt adecvate pentru reprezentarea incertitudinii sistemele cu a n inteligent articial. Prin urmare, numeroase cercetri au a a a ncercat s reprezinte modelele a incerte sistemele inteligente, cum ar logica fuzzy sau functiile de n ncredere (belief functions). Logica fuzzy i teoria posibilitilor au fost formulate de ctre Lot A. Zadeh [Zad75], respectiv s at a n [Zad78, ZK92] i au la baz teoria multimilor fuzzy, un formalism pentru reprezentarea i n s a s rationarea cu notiuni vagi. Flexibilitatea, uurinta calculelor, larga popularitate (att plan s a n teoretic ct i al aplicatiilor practice) sunt avantajele acestei abordri care au contribuit la a s a

44

REPREZENTAREA CUNOSTINTELOR

aparitia aparitia arborilor de decizie fuzzy (Guetova et al. [GSH02], Yuan et al. [YS95], Seong Whan [Lee92], Wang and Suen [WS83] sau Chang et al. [CP77]). De exemplu, Guetova et al. propune [GSH02] un algoritm pentru constructia incremental a arborilor de decizie fuzzy n a n care notiunea de entropie din sistemele exacte este adaptat pentru multimile fuzzy, iar etapa a de clasicare a unui nou caz a fost modicat astfel at un caz nu mai apartine unei singure a nc clase, ci mai multor clase, cu grade de ncredere diferite. O alt abordare a rationamentului conditii de incertitudine o reprezint teoria Dempstera n a Shafer, introdus 1976 de Glenn Shafer [Sha76], care are la baz functii de a n a ncredere ca generalizare a teoriei lui Bayes i ofer un fundament matematic riguros pentru rationamentul s a incert ntr-un spatiu structurat de ipoteze. Gordon i Shortlie [GS85] sustin utilizarea teoriei D s s nlocuirea factorilor de certitudine S cazul sistemului expert MYCIN [Sho76, BS84] i propun n (CF) din MYCIN cu elemente i formule specice teoriei D-S. cazul arborilor de decizie, s In teoria D-S a fost aplicat vederea combinrii rezultatelor clasicrilor obtinute de mai multi a n a a arbori de decizie (ecare arbore ind proiectat utiliznd un alt criteriu de selectie a atributelor) a folosind un model de tip D-S [Shl90]. [Bja00] M. Bjanger introduce functiile de In ncredere n acest algoritmul de inductie al arborelui de decizie, nlocuind metodele bazate pe entropie. In fel, setul de antrenament poate contine att cazuri clasicate cert (crisp) ct i cazuri care nu a a s apartin cert unei singure clase, ci exist o functie de a ncredere care precizeaz, pentru ecare a clas, posibilitatea ca un caz s apartin unei clase. Implementarea a fost fcut sub MATLAB a a a a a iar rezultatele experimentale au artat c performantele obtinute sunt cel putin la fel de bune a a ca cazul algoritmului clasic de inductie. n O metod cantitativ alternativ la teoria D-S, care are la baz un formalism de tip Bayesian, a a a a este teoria rationamentului evidential ntr-o ierarhie, introdus de J. Pearl [Pea86]. La fel ca a n cazul abordrii Gordon i Shortlie el presupune c submultimi ale spatiului de ipoteze pot a s a organizate ierarhic i apoi probabilitile sunt apoi propagate aceast ierarhie. s at n a ceea ce privete abordrile bazate pe modele probabiliste ale arborilor de decizie, ele In s a au nceput cu Breiman et al. (CART) [BFOS84] i Quinlan [Qui90]. Buntine [Bun92] descrie s metode Bayesiene pentru constructia, netezirea i medierea arborilor cu probabiliti de clase. s at Netezirea este procesul de ajustarea a probabilitilor corespunztoare unui nod functie de at a n probabilitile celorlalte noduri de pe calea de la rdcin la acel nod i este descris detaliat at a a a s a n [BBdSM89]. O abordare ce raneaz estimrile probabilistice ale claselor este propus de Smyth a a a et al. [SGF95]. O metodologie unicat pentru combinarea factorilor de incertitudine asociati a atributelor care pot propagati de-a lungul unei ci arbore este prezentat de Mogre et al. a n a [MMKK94]. n lucrarea de fat este propus o abordare similar modelului bazat pe coefcienti de cerIn a a a titudine. Metoda coecientului de certitudine (Certainty Factor) a fost utilizat cu succes a n cazul sistemului MYCIN [Sho76, BS84] precum i shell-urile de dezvoltare sisteme expert s n FuzzyCLIPS [Orc98] i FuzzyJESS [Can, Orc01]. Tinnd cont de observatia 1.6.1 (pagina 43) s a vom generaliza aceast notiune pentru orice nod al arborelui astfel: a Denitia 1.6.2. Fie n N un nod al arborelui de decizie. Denim suportul nodului astfel: supn = Card(Fn )/Card(D), unde Card(Fn ) reprezint numrul total de cazuri asociate nodului n, iar Card(D) este numrul a a a total de cazuri din setul de antrenament.

1.6 EXTENSII ALE MODELELOR CLASICE

45

Denitia 1.6.3. Fie n, p N noduri ale arborelui de decizie astfel at (p, n) A, adic nodul nc a p este printele lui n. Denim suportul relativ al nodului n astfel: a rsupn = Card(Fn )/Card(Fp ), unde Card(Fx ) reprezint numrul total de cazuri asociate nodului x (x = n, p). a a Denitia 1.6.4. Fie n N un nod al arborelui de decizie. Denim precizia nodului astfel: precn = Corectn /Card(Fn ), unde Corectn reprezint numrul de cazuri corect clasicate la nivelul nodului n (de ctre toate a a a nodurile de clasicare din subarborele avnd ca rdcin nodul n cazul nodurilor de decizie), a a a a n a a iar Card(Fn ) reprezint numrul total de cazuri asociate nodului n. Propozitia 1.6.2. Fie p T un nod de actiune. Dac nodul de decizie n T este u al nodului a p, atunci supp = supn , rsupn = 1 i precn = precp . s Demonstratie. Din propozitia 1.6.1 ( care se demonstreaz c Fn = Fp ) i denitiile 1.6.2 i n a a s s 1.6.3 rezult c supp = supn , respectiv rsupn = 1. a a Deoarece predicatul de separare al nodului de actiune este Qn = {true} (denitia 1.6.1) rezult c toate cazurile clasicate corect la nivelul nodului p vor clasicate corect i la nivelul a a s a a nodului n, deci Corectn = Corectp . De unde, cu ajutorul propozitiei 1.6.1 rezult c precn = precp . Desigur, cazul modelului arbore de decizie, metoda de constructie a acestuia va urca n atributele mai semnicative, mai importante ct mai aproape de rdcin. Pe de alt parte, a a a a a este util s oferim inginerilor de cunotinte posibilitatea s intervin arborele creat i s a s a a n s a modice manual valorile preciziilor calculate automat (folosind metoda de mai sus), pe baza cunotintelor strnse de la expertii umani din domeniul modelat. denitiv, arborele a fost s a In creat baza unui numr nit de exemple din universul de discutie iar uneori experienta uman n a a domeniu poate s e mai important dect valorile estimate automat. Astfel, utilizatorul n a a a va modica manual preciziile (care vom vedea continuare c cazul datelor lips n a n a nseamn a prioritatea a urma o ramur sau alta a arborelui) vederea obtinerii celor mai bune rezultate n a n la clasicarea noilor cazuri. cazul clasic al modelului arbore de decizie, la clasicarea unui nou caz dac nu exista In a nici o potrivire ntre valoarea atributului i valorile asociate cu ramurile unui nod intern, atunci s algoritmul va eua clasicarea cazului. vederea realizrii unei clasicri (cu un anumit s n In a a grad de certitudine) i acest caz sunt dou posibiliti: s n a at cazul va urma ramura pentru care rsupf iu este maxim, adic cea care contine cele mai a a multe cazuri, cazul va urma ramura pentru care precf iu este maxim, adic cea pentru care clasicrile a a a fcute sunt cele mai precise. a

46

REPREZENTAREA CUNOSTINTELOR Pentru a oferi o exibilitate sporit a algoritmului vom introduce functia a w : N [0, 1], w(n) = rsupn + (1 ) precn ,

unde [0, 1] este o valoare furnizat de utilizator. cazul care cazul a ajuns a In n ntr-un nod n pentru care nici o valoare a atributului de separare nu corespunde cu valoarea atributului n acel caz, atunci se va urma calea pentru care w(s) este maxim, unde s este u al lui n. Dac a a = 1, atunci se va urma ramura pentru care rsupf iu este maxim iar dac = 0, atunci se va a a urma ramura pentru care precf iu este maxim. Pentru celelalte valori ale lui se va balansa a importanta dat unui criteriu (numrul de cazuri) sau celuilalt (precizia clasicrii). mod a a a In implicit, algoritmul utilizeaz = 0.8. a continuare vom nota prin Ck calea de la nodul rdcin (n1 ) pn la nodul nk , adic In a a a a a a Ck = {(n1 , n2 ), (n2 , n3 ), . . . , (nk1 , nk )}. Denitia 1.6.5. Prin ponderea cii Ck se elege a nt
k

P (Ck ) =
i=1

w (ni )

unde w (ni ) =

dac nodul ni1 a existat o potrivire a n cu una dintre valorile atributului de separare Ai1 , w(ni ) altfel.

Dac la clasicarea unui nou caz, algoritmul a ajuns a ntr-un nod nk pentru care P (Ck ) < P RAG, unde P RAG este o valoare limit minim pentru ponderea unei ci, valoare furnizat a a a a s a de utilizator, atunci algoritmul se ntoarce la nodul anterior (nk1 ) i va urma urmtorul arc cel mai bun. Dac toate alternativele la nivelul unui nod conduc la valori P (Ck ) sub pragul limit, a a atunci algoritmul va reveni la nodul nk2 .a.m.d. s nal, se impun cteva observatii: In a 1. Operatorul produs din denitia 1.6.5 poate nlocuit cu alti operatori similari, de exemplu min. 2. Algoritmul de clasicare poate modicat astfel at s nu determine o cale unic, ci s nc a a a determine toate cile pentru care P (Ck ) P RAG; acest mod, la clasicarea unui nou a n caz nu se va face o clasicare unic, ci utilizatorului vor oferite mai multe variante a i posibile, ecare cu ponderea ei.

1.6.2

Extensii pentru tabelele de decizie

Pentru a obtine un comportament similar modelului extins al arborilor de decizie, cazul n tabelelor de decizie, ecrui atribut vom asocia: a i o list ordonat, nevid de actiuni; a a a suportul atributului (S), adic o valoare intervalul [0, 1]; a n

1.6 EXTENSII ALE MODELELOR CLASICE

47

Figura 1.10: Exemplu de tabel de decizie extins ( Expert System Creator) a a n a n precizia atributului (P), adic o valoare intervalul [0, 1]. Actiunile din list sunt executate a nainte de evaluarea atributului, motiv pentru care lista se mai numete i list de pre-actiuni. Figura 1.10 prezint o captur de ecran a Expert System s s a a a Creator rulnd o tabel de decizie extins care se pot observa listele de actiuni asociate a a a n atributelor crop-hist (citete valoarea atributului din baza de date), seed-size (citete valoarea s s atributului de la utilizator) i roots ( care valoarea este obtinut de la obiectul ce reprezint s n a a un alt atribut al sistemului, seeds). Propozitia 1.6.3. O tabel de decizie extins este echivalent cu arbore de decizie extins. a a a Demonstratie. Demonstratia este una constructiv i are dou prti: as a a (a) Arbore de decizie extins => Tabel de decizie extins a a n a a a Fie C = {(n1 , n2 ), (n2 , n3 ), . . . , (nk1 , nk )} o cale arbore de la nodul rdcin n1 la un nod frunz nk . Nodurile ni , i {2, . . . , k 1} pot de decizie (interne) sau de actiune. Fie nj a {n2 , . . . , nk1 } un nod de decizie i presupunem c exist a > 0 noduri de actiune anterioare lui s a a n cale, adic nj1 , . . . , nja sunt noduri de actiune. Cum predicatele de separare pentru nodurile a de actiune sunt qp = true, p = j 1, j a rezult c aceste noduri nu inuenteaz constructia a a a liniei tabelei. Urmnd algoritmul de constructie descris demonstratia teoremei 2.2.4 (pag 71) a n calea C este transpus a ntr-o linie a tabelei de decizie. Fie acum Aj atributul de separare asociat nodului nj i Lp , p {j 1, j a} listele de actiuni asociate cu nodurile de actiune. Vom asocia s tabela de decizie cu atributul Aj lista de actiuni obtinut prin reuniunea listelor nodurilor de n a actiune nj1 , . . . , nja , adic a
j1

LAj =
p=ja

Lp

(1.6.4)

Prin urmare, orice actiune executat la parcurgerea cii C a a nainte de evaluarea nodului nj va executat tot a nainte de evaluarea atributului Aj i la executarea tabelei de decizie. Si viceversa: s

48

REPREZENTAREA CUNOSTINTELOR

orice actiune executat a nainte de evaluarea unui atribut la executia unei tabele va executat a nainte de evaluarea nodului de decizie la parcurgerea cii C. a continuare vom demonstra c formula 1.6.4 asigur unicitatea constructiei listei de actiuni In a a a a n pentru atributul tabelei de decizie, indiferent de calea C considerat. O prim observatie acest sens este faptul c un atribut predictor poate s e atribut de separare doar pentru un singur a a nod ntr-un arbore de decizie. Aceasta este o consecint direct a metodei lui Hunt (Figura 1.5) a a folosit la constructia arborelui (cf. acestei metode, un atribut folosit ca atribut de separarea a ntr-un nod intern este eliminat din multimea de atribute predictoare pentru paii urmtori). s a Aadar, exist un unic nod nj T pentru care atributul Aj este atribut de separare. s a Fie acum C o alt cale arbore ce contine nodul nj . Conform propozitiei 1.4.1, secventa de a n noduri n1 , . . . , nj , care n1 este rdcina arborelui, este unic. Prin urmare {nj1 , . . . , nja } n a a a C i sunt singurele noduri de actiune ce preced direct pe nj . Ca urmare, formula 1.6.4 asigur s l a o constructie unic. a Nodul frunz nk i toate nodurile de actiune care preced (pn la primul nod de decizie) a s l a a vor convertite actiunile nale (clasicarea) ale regulii (liniei). n Pn acum s-a artat modul care nodurile de actiune sunt transpuse a a a n ntr-o tabel de a decizie. O alt extensie adus arborilor de decizie o reprezint suportul supn , suportul relativ a a a rsupn i precizia precn (denitiile 1.6.2, 1.6.3, 1.6.4) asociate nodurilor. Pentru acestea convers sia este direct. cazul unui nod de decizie, valorile supn i precn vor asociate tabel a In s n a cazul unui nod de actiune, ele vor ignorate (ind egale atributului de separare al nodului. In In a s cu ale nodului de decizie u, propozitia 1.6.2). cazul unui nod frunz, valorile supn i precn vor asociate cu lista de actiuni nale ale regulii. Valorile pentru suportul relativ sunt ignorate. (b) Tabel de decizie extins => Arbore de decizie extins Demonstatia urmeaz acelai a a a s rationament ca cazul teoremei 2.2.4, cu urmtoarele dou modicri. n a a a (i) etapa de vericare, pasului 3 In a a a a dac numrul clasicrilor distincte din tabel este 1, se creeaza un arbore cu un singur nod de clasicare N pentru care propozitia de clasicare corespunde singurei clasicri a din tabel. Propozitia elementar asociat cu acest nod este disjunctia propozitiilor create a a a din ecare linie a tabelei prin conjunctia propozitiilor elementare corespunztoare ecrei a a celule. se mai adaug i urmtoarea constructie: as a a a a a se creeaz un nod de actiune p, printe al lui N , a crui list de actiuni este reuniunea listelor de actiuni asociate atributelor tuturor liniilor tabelei. initializeaz valorile pentru suportul supn i precizia precn nodului de clasicare N astfel: a s supn = i supi i supi preci precn = supn unde supi , preci reprezint suportul, respectiv precizia liniilor (ecare linie avnd asociat a a un singur atribut) tabelei. Suportul nodului N este suma valorilor suport ale ecrei linii a deoarece propozitia elementar asociat cu nodul de clasicare este disjunctia propozitiilor a a

1.7 CONCLUZII

49

elementare create pentru ecare linie a tabelei, adic nodului N va contine reuniunea a tuturor cazurilor elementare care au fost agregate toate liniile tabelei. n (ii) etapa de inductie, pasul In se creeaz un nod de decizie n asociat acestui atribut; a se modic a n: se creeaz un nod de decizie n asociat acestui atribut cruia i se stabilesc valorile supn i a a s precn egale cu valorile corespunztoare atributului din tabel; a a se creeaz un nod de actiune m, ca printe al nodului n care va avea ataat lista de a a s a actiuni a atributului A din tabel; a

Trebuie remarcat c listele de actiuni ind liste ordonate, prin reuniunea lor ecuatia 1.6.4 a n se va obtine tot o list ordonat. Deasemenea, ordinea care sunt reunite listele Lp este a a n important i trebuie s pstreze ordinea care sunt prezente nodurile cale. Deoarece lista as a a n n de actiuni asociat cu un atribut al tabelei de decizie este unic (vezi demonstratia de mai sus), a a ntr-o cale procesat. La a ea va stabilit pentru atributul Aj la prima aparitie a atributului a aparitiile viitoare, lista asociat atributului va rmne neschimbat. a a a a

1.7

Concluzii

Scopul principal al acestui capitol introductiv a fost prezentarea celor mai cunoscute modele de reprezentare a cunotintelor sistemele bazate pe cunotinte regulile de productie, arbori i s n s s tabele de decizie i s mbuntirea acestora prin extensiile prezentate. Dup ce sunt prezentate a at a bazele teoretice ale acestora (sectiunea 1.2) [Pop02c], sunt abordate, pentru ecare model, cele mai interesante aspecte [Pop00a, PN00]. Pentru seturile de reguli de productie, este propus un nou model de vericare numit graf de dependent extins, GDE (sectiunea 1.3.2) [PN02b, PN03]. a Acesta mbuntete graful clasic prin considerarea dependentelor regul atribut. S-a artat a at s a a c acest mod de reprezentare al grafului permite depistarea unor probleme de proiectare a bazei a de cunotinte la un nivel mult mai detaliat dect modelul clasic. Urmtorul model considerat s a a a fost cel al arborilor de decizie (sectiunea 1.4). Au fost rezumate bazele teoretice ale acestora (extrase din [Pop02c]), dup care s-a abordat problema constructiei automate din seturi mari a de date. Este fcut o sintez i o comparatie a celor mai cunoscuti algoritmi secventiali de a a a s constructie a arborilor de decizie (sectiunea 1.4.2) [Pop02d]. Modelului arbore de decizie i sunt aduse dou noi extensii (sectiunea 1.6.1) [Pop06b]. Prima dintre ele nodurile interne a de actiune faciliteaz integrarea modelului cu modulele externe de intrare/ieire, bazele de a s date, modulele de management sau interfat utilizator, fr a impacta puterea de expresie, a aa performantele sau claritatea modelului. Cea de-a doua extensie, reprezentat prin suportul, a suportul relativ i precizia nodului, faciliteaz implementarea unui rationament aproximativ pe s a modelul arbore de decizie. Cel de-al treilea analizat este cel al tabelei de decizie (sectiunea 1.5) [Pop00a, PN00, PN02a]. Acesteia sunt aduse extensii similare cu cele prezentate pentru arborii i

50

REPREZENTAREA CUNOSTINTELOR

de decizie (sectiunea 1.6.2) i este demonstrat c o tabel de decizie extins este echivalenta cu un s a a a arbore de decizie extins [Pop06b]. Extensiile arborilor i tabelelor de decizie sunt implementate s mediul de dezvoltare Expet System Creator (capitolul 3), care este utilizat i la ilustrarea n s implementrii modelelor prezentate. a Ca directii viitoare de cercetare a modelelor de reprezentare a cunotintelor, graful de s dependent extins constituie o baz promittoare pentru elaborarea unui formalism bazat pe a a a clase de echivalent care s permit partitionarea bazei de cunotinte partitii disjuncte. O a a a s n astfel de partitionare este extrem de util pentru implementarea unor algoritmi de vericare a a completitudinii i corectitudinii acesteia. O alt directie este denit de utilizarea limbajului s a a UPML [FBMW99] pentru descrierea procesului de modelare a cunotintelor. s

Capitolul 2

Echivalenta reprezentrilor a
Dup cum s-a artat capitolul 1, exist mai multe modele pentru reprezentarea sistemelor a a n a expert: set de reguli de productie, tabele de decizie sau arbori de decizie. acest capitol vom In arta c aceste modele sunt echivalente i vom indica algoritmii pentru conversia dintr-un model a a s altul. Deasemenea, vom analiza detaliile acestui proces, vor identicate posibilele cauze ale n creterii dimensiune a obiectului convertit (problema inatiei) i vor propuse solutii pentru s n s controlul dimensiunii i s mbuntirii calitii obiectului convertit. Solutia propus va avea ca a at at a rezultat obtinerea unor conversii optimizate, din care sunt eliminate cazurile ireale, inconsistente sau sporadice ce pot generate timpul conversiei. n Pentru aceasta, prima sectiune a capitolului este introdus regiunea de experient i sunt n a a s propuse trei caracterizri ale acesteia, una dintre ele compus din reguli de asociere. Este trecut a a a revist problematica descoperii regulilor de asociere din seturi de date i cei mai uzitati algon a s ritmi din domeniu. sectiunea urmtoare este analizat modul care regiunea de experient i In a n a s caracterizarea acesteia inuenteaz procesul de conversie dintr-o form de reprezentare alta a a n i sunt adaptati algoritmii clasici la utilizarea regiunii de experient. Sectiunea 2.3 este dedicat s a a celui mai important pas conversia unei tabele de decizie arbore de decizie: alegerea atrin n butului de separare. aceast directie este propus o nou metod (Voting) i sunt prezentate In a a a a s rezultatele experimentale obtinute. Tot aceast sectiune este introdus i o nou tehnic de n a as a a calculare a criteriilor de separare bazat pe tabela de incident i modul care putem agrega a a s n ecient aceast tabel din setul de date primare. Sectiunea 2.4 trateaz generalizarea arborilor a a a de decizie (pruning) vederea reducerii ratei de eroare la clasicarea noilor cazuri. Ultima n sectiune a capitolului prezint concluziile i sunt sumarizate rezultatele originale obtinute. a s

2.1

Regiunea de experient a

Pentru nceput, vom introduce denitiile ctorva notiuni utilizate acest capitol. Printr-o a n component a unui obiect de decizie vom a ntelege o regul cazul seturilor de reguli, un rnd a n a cazul tabelelor de decizie sau un nod de clasicare cazul arborilor de decizie. Dimenn n siunea unui obiect de decizie se msoar numrul de componente ale obiectului. Un obiect a a n a de decizie se numete compact dac toate componentele sale sunt utilizate realitate (o evas a n luare a compacitii se poate face prin monitorizarea functionrii sale at a ntr-un interval de timp 51

52

ECHIVALENTA REPREZENTARILOR

semnicativ). Un rezultat teoretic i practic foarte important este faptul c aceste modele sunt echivalente s a i conversia dintr-o form alta se poate face automat (R. Colomb i C. Chung [CC95]). s a n s Folosind conversia automat se va obtine un model mult mai mare i mai necompact dect cel a s a original, uneori rezultatul ind practic inutilizabil. Un alt inconvenient ce apare la obiectul obtinut prin conversie este faptul c o parte componentele sale nu vor folosite practic, a n a dei toate componentele obiectului surs sunt utilizate. s a Intr-un exemplu prezentat [Col99], la n n translatia unui sistem 100% compact (Garvan ES1 [HCLQ85, CJ88, Com]) din set de reguli tabel de decizie, folosind algoritmul clasic de translatie, s-a obtinut un factor de compacitate a de doar 12% pentru obiectul convertit, adic doar 653 de rnduri dintr-un total de 5286 au fost a a executate pe acelai set de cazuri de test. Dac aceast tabel este apoi covertit s a a a a ntr-un arbore de decizie, doar 2% (807 din 30693) dintre nodurile frunz ale obiectului rezultat sunt vizitate a de acelai set de test. s Cauza acestei probleme poate identicat urma analizei demonstratiilor teoremelor a n de conversie ntre modelele de reprezentare (demonstratii ce pot gsite [CC95]); acestea a n nu au mai fost reproduse aceast lucrare mod distinct deoarece demonstratiile teoremen a n s a n a lor 2.2.3 i 2.2.4 urmeaz scheletul demonstratiilor originale care a fost introdus aditional vericarea consistentei relativ la K. Aadar, inspectnd demonstratia teoremei 2.2.3 descoperim s a c pentru a converti un set de reguli de productie a ntr-o tabel de decizie este necesar a suba stitui propozitiile intermediare cu antecedentul lor regulile care acestea apar. Dac acest n n a antecedent este o negatie sau o disjunctie, atunci regula este spart mai multe reguli ale a n cror antecedente sunt formate doar din conjunctii de propozitii elementare. cazul care a In n consecinta regulii este tot o propozitie intermediar, atunci dimensiunea va crete i mai mult, a s s regulile generate ind multiplicate corespunztor. Astfel, algoritmul standard de conversie va a produce un rezultat a crui dimensiune ( numr de componente) este exponential lungimea a n a a n lantului de propozitii intermediare (Garvan ES1 are o medie de trei propozitii intermediare ntre mod similar, analiznd demonstratia teoremei 2.2.4 msurtori i clasicarea propriu-zis). In a a s a a vom observa un mecanism similar i la conversia tabelei de decizie arbore de decizie. s n De exemplu, o regul de productie compact de forma a a if (Insarcinata = true) and (V arsta < 18 or V arsta > 70) then N ivel risc = M are este convertit a ntr-o tabel cu 2 rnduri (care reprezint tot attea reguli): a a a a Regula R1 R2 a Insrcinat a true true Vrsta a < 18 > 70 Actiune (Nivel risc) Mare Mare

Dintre cele dou reguli nou generate, regula R2 s-ar putea, de exemplu, s nu e niciodat a a a observat cazurile reale, sau chiar ar putea s reprezinte un caz imposibil situatiile reale. a n a n Dup ce s-a artat cum obiectele convertite devin mai mari i mai necompacte (fenomen a a s numit inatie [Col99]) se va investiga de ce se ampl acest fenomen. n nt a Intrebarea care ne-o punem este: De ce obiectul de decizie initial, construit compact, devine att de supra a dimensionat dup conversie? De unde vin aceste prti inutile? Rspunsul este simplu: datorit a a a a faptului c sistemul expert a fost construit ca o functie total peste spatiul de atribute. Un a a

2.1 REGIUNEA DE EXPERIENTA

53

sistem expert monitorizeaz procesul real prin intermediul unor atribute (variabile). Procesul a real genereaz timp cazuri pe care sistemul le reprezint prin valori ale atributelor. Astfel, a n a produsul cartezian al domeniilor atributelor sistemului expert determin aa numitul spatiul de a s atribute (AS), adic spatiul tuturor cazurilor (combinatiilor) posibile. Dimensiunea acestuia este a DimAS = m Card(dom(Ai )), adic un numr relativ mare cazul care sistemul modeleaz a a n n a i=1 un proces real. De exemplu, cazul sistemului Garvan ES1 care numrul de atribute este n n a m = 34 i presupunnd c toate sunt atribute boolene, DimAS = 234 = 17.179.869.184 adic s a a a peste 17 miliarde (1.7 1010 ) de cazuri posibile (evident nu toate atributele sunt boolene cazul n acestui sistem, cardinalitatea lor variind de la 2 la 6). Presupunnd c numrul cazurile distincte a a a alnite nt ntr-un an este de ordinul sutelor de mii (105 ), ar trebui ca sistemul s functioneze peste a o sut de mii de ani i ecare an s avem de-a face cu noi cazuri astfel at a s n a nc ntreg spatiul de atribute s e vizitat a n ntregime! Evident c practic sunt doar aproximativ 4000 de cazuri a n a distincte pe an. Denitia 2.1.1. Regiunea de experient a unui sistem expert este un set de constrngeri denite a a de expertii umani (sau automat, folosind tehnici specice de inducere) pe baza experientei reale acumulate domeniu scopul limitrii spatiului de lucru al sistemului. [PN00] n n a Aadar, regiunea de experient care functioneaz sistemul are o dimensiune mult redus s a n a a comparativ cu cea a spatiului atributelor. Ideea pentru solutia la problema inatiei este de a de ni sistemul expert (i algoritmii de conversie corespunztori) pe aceast regiune, i nu pe s a a s ntreg spatiul de atribute. sprijinul acestei idei vine i observatia c multe atribute ale spatiului In s a total sunt conditionate de valorile altor atribute (de exemplu, atributul Roat Rezerv este a a relevant doar cazul autovehiculelor, nu i pentru vehicule de tipul bicicletelor sau motociclen s telor) sau valorile unor atribute apar abloane depinznd de valorile altora. Pe de alt parte, n s a a construind sistemul ca o functie total pe a ntreg spatiul de atribute, las vulnerabil la erori l a sau rele intentii (s amintim aici de experimentul care binecunoscutul sistem expert MYCIN a n a oferit un tratament pentru o persoan cu simptomele unui decedat). a concluzie, obiectele de decizie sunt compacte urma utilizrii deliberate a celulelor ireleIn n a vante sau a conjunctiilor de propozitii elementare. Aceste elemente sunt depistate i expandate s de ctre algoritmii de transformare care nu au nici o cunotint despre regiunea de experient a s a a pe care aceste sisteme expert o modeleaz. Astfel, fenomenul de inatie este doar un efect sea cundar al faptului c sistemele expert sunt construite ca functii totale pe spatiul de atribute. a Deci, denirea sistemului expert doar pe regiunea de experient i adaptarea algoritmilor de a s conversie astfel at acetia s cunoasc aceast regiune pare a o solutie potrivit i, dup nc s a a a a s a cum vom vedea, chiar este la fenomenul inatiei.

2.1.1

Caracterizarea regiunii de experient a

Dac fenomenul de inatie este doar un efect secundar al construirii sistemelor expert ca a functii totale pe spatiul de atribute, atunci ar trebui s construim sistemele ca functii partiale, a mai exact ca functii denite doar pe regiunea de experient (denitia 2.1.1). Pentru aceasta a este nevoie s gsim o caracterizare K pentru regiunea de experient pe care s o folosim a a a a n adaptarea teoremelor de conversie 2.2.3 i 2.2.4. Un alt avantaj al acestei caracterizri va i s a s

54

ECHIVALENTA REPREZENTARILOR

posibilitatea ltrrii cazurilor ilogice sau afara cunotintelor expertilor din acel domeniu. Un a n s mod natural de a reprezenta K este ca o multime de dependente functionale partiale. Denitia 2.1.2. O dependent functional partial (PFD) este o constrngere care valoarea a a a a n unui atribut este determinat de valorile altui/altor atribute. a De exemplu, cu toate c atributele Tip Vehicul i Roat Rezerv sunt, general, indea s a a n pendente, dac atributul Tip Vehicul ia valoarea biciclet, atunci atributul Roat Rezerv ia a a a a valoarea false. De fapt, pentru aceste dou atribute putem construi urmtoarele dou PFD-uri: a a a if Tip Vehicul {biciclet, motociclet} then Roat Rezerv=false a a a a if Roat Rezerv=true then Tip Vehicul=autovehicul a a Un alt exemplu: if NivelVenit=FoarteMare then Risc!=Mare. cazul existentei unui proces natural/real care produce un numr de cazuri reale mult In a mai mic dect dimensiunea spatiului de atribute, este clar c trebuie s existe o multime de a a a constrngeri (PFD-uri) care limiteaz numrul de combinatii posibile a a a ntre valorile diferitelor atributelor. Aceast multime de PFD-uri poate construit dou moduri: a a n a a manual, de ctre expertii umani, ca parte a procesului de construire a obiectului de decizie; automat, cadrul procesului de construire automat a obiectului de decizie. n a Pentru construirea automat a PFD-urilor sunt disponibile mai multe abordri. a a Inainte de a prezenta dou dintre ele, multimile rough i regulile de asociere, s vedem care sunt problemele a s a ce trebuie avute vedere la contructia automat a PFD-urilor i cum inem seama de ele. n a s t In primul rnd, la construirea multimii de PFD-uri trebuie s inem cont de dimensiunea acesteia, a at care trebuie s e acceptabil i s ofere acelai timp o limitare superioar sucient de bun a as a n s a a pentru regiunea de experient. O alt problem ce trebuie avut vedere se refer la costurile a a a a n a legate de construirea PFD-urilor, ce trebuie mentinute limite rezonabile. Ultima problem n a urmrit este faptul c multimea creat trebuie s e de a a a a a ncredere din punct de vedere statistic pentru domeniul respectiv. Observatia 2.1.1. Pentru a rezolva primele dou probleme se caut determinarea acelor PFD-uri a a care au un numr redus de propozitii elementare (una sau dou) antecedent. Dou motive a a n a vin sprijinul alegerii fcute: n a cu ct numrul de propozitii elementare dintr-un PFD este mai mic, cu att PFD-ul resa a a pectiv va limita mai mult spatiul de atribute (de exemplu, dac avem m atribute boolene, a atunci un PFD ce contine k propozitii elementare va constrnge spatiul de atribute cu un a factor de 2mk+1 ; algortimii pentru determinarea PFD-urilor sunt exponentiali numrul de propozitii din n a antecedent.

2.1 REGIUNEA DE EXPERIENTA

55

absenta unei teoriei bine pus la punct despre statistica PFD-urilor, vederea crerii unei In a n a multimi de ncredere din punct de vedere statistic pare rezonabil s se caute acele PFD-uri care a au un suport ct mai mare (adic se regsesc a a a ntr-un numr ct mai mare de cazuri). Aceasta a a va preveni cazurile rare s contribuie la crearea PFD-urilor. Cu aceste precizri minte, s a a n a vedem care sunt solutiile posibile pentru inducerea automat a caracterizrii K (multimea de a a PFD-uri). Prima posibil solutie [Col99] pentru construirea automat a multimii de PFD-uri este oferit a a a de teoria multimilor rough. logica matematic, o multime rough este o reprezentare precis In a a a aproximatiilor unei multimi crisp (conventionale) termenii a dou submultimi crisp: apro n a ximarea inferioar i aproximarea superioar a multimii. teoria standard a multimilor rough, as a In aceste aproximri sunt crisp, cu toate c exist propuneri i versiuni pentru reprezentarea lor a a a s a a fuzzy sau imprecis. Multimile rough au fost introduse de Z. Pawlak [Paw91] ca o nou unealt a matematic pentru tratarea conceptelor vagi. general, multimile rough constituie suportul a In teoretic pentru reprezentarea ambiguitilor, conceptelor vagi sau a incertitudinii i sunt folosite at s aplicatii practice inducerea regulilor sau selectarea facilitilor (feature selection). Comer n n at [Com91], Grzymala-Busse [GB89], Iwinski [Iwi87], Nieminen [Nie88], Novotny i Pawlak [NP92], s Obtulowicz i Pomykala [Obt88] au studiat proprietile algebrice ale acestor multimi, iar Pas at s gliani [Pag94], Duntsch [DG98], Chakraborty i Banerjee [BC93] au dezvoltat diverse semantici In algebrice. Un rezumat intersant al domeniului a fost realizat de Greco et al. [GMS01]. cazul reprezentrii PFD-urilor se caut regulile induse urma determinrii aproximrilor inferioar a a n a a a i superioar considernd pe rnd ecare atribut ca un atribut de decizie. [Col99], R. M. s a a a In Colomb estimeaz multimea de PFD-uri pentru sistemul expert Garvan ES1 cu aceast metod a a a folosind biblioteca Rough Set Library (RSL), specializat calcularea multimilor rough dezvola n tat 1993 de ctre M. Gawrys i J. Sienkiewicz la Facultatea de Calculatoare a Universitii a n a s at Tehnice din Varovia (Institute of Computer Science, Warsaw University of Technology) [GS]. s Rezultatele experimentale au produs un numr de 332 PFD cu o singur propozitie elementar a a a antecedent (care alctuiesc multimea Garvan K1) i 5858 de PFD cu dou propozitii elemenn a s a tare antecedent (care alctuiesc multimea Garvan K2) la un nivel de suport de 10 cazuri. n a Pentru a reduce dimensiunea acestor multimi se pot elimina PFD-urile redundante de forma: dac a b i b c sunt K, atunci putem elimina din K implicatia a c. Dup aceste a s n a eliminri, dimensiunea multimii Garvan K1 a fost redus la 296 PFD-uri. a a A doua abordare [Pop06a] vine din domeniul data mining i este legat de descoperirea s a regulilor de asociere (ARD), adic regsirea tuturor submultimilor de articole (sau atribute) care a a apar mod frecvent multe n n nregistrri (tranzactii) ale bazei de date i, plus, de a extrage a s n regulile care ne spun cum o submultime de articole inuenteaz prezenta altei submultimi. a Detalii despre aceast tehnic sunt prezentate sectiunea 2.1.2. a a n Observatia 2.1.2. Pentru a adapta algoritmii utilizati descoperirea regulilor de asociere la n inducerea automat a PFD-uri ce reprezint caracterizarea K, urmtoarele precizri trebuie a a a a fcute: a Multimea de articolele este reprezentat de toate propozitiile elementare pij : Ai = vij , a unde Ai este un atribut iar vij este o valoare din dom(Ai ), care apar setul de antrenament n D. Inregistrrile sunt reprezentate de cazurile setului de antrenament D. a

56

ECHIVALENTA REPREZENTARILOR O PFD este o regul de asociere cu un factor de a ncredere de 100% i un suport sucient s de mare pentru a ltra cazurile ampltoare sau eronate. nt a Tinnd cont de observatia 2.1.1 (pagina 54) vom cuta s inducem acele reguli de aso a a a ciere cu maximum 3 articole frecvente; aceste reguli vor genera PFD-uri cu maximum 2 propozitii elementare antecedent. n

Pentru a putea compara rezultatele obtinute folosind metoda bazat pe reguli de asociere a cu cele obtinute de R. M. Colomb folosind multimile rough [Col99], vom considera acelai sis s tem expert, i anume Garvan ES1. Cazurile de antrenament pentru acest sistem care ofer s a interpretri clinice pe baza informatiilor despre hormonii tiroidali din snge pot descrcate a a a liber de pe saitul University of New South Wales, Sydney, Australia [Com]. Setul de date de antrenament are 17 atribute i 43472 cazuri. Figura 2.1 sunt prezentate etapele procesului s In de descoperire a regulilor de asociere din sistemul Garvan ES1. Pentru descoperirea regulilor de asociere a fost folosit platforma open-source WEKA [oW, WF00, WF05]. Waikato Envia ronment for Knowledge Analysis (WEKA) este o platforma portabil, extensibil, open-source, a a scris Java pentru sprijinul activitilor de data mining, oferind utilizatorilor o multitudine a n at de algoritmi pentru clasicare, regresie, reguli de asociere, grupare etc. vederea construirii In multimii de PFD-uri pentru sistemul Garvan ES1 a fost ales algoritmul Apriori (vezi sectiunea 2.1.3). Inainte a de rularea procesului de descoperire a regulilor de asociere, setul de date ns initial (Garvan ES1) a trebuit procesat vederea convertirii sale format ARFF (Attribute n n Relation File Format), formatul de intrare pentru platforma WEKA. urma acestui process In (data processing), compus din curarea setului de date (data cleaning) i pregtirea datelor at s a (data preparation), a rezultat un set de date de 43472 nregistrri, cu 11 atribute, 6 atribute a ale setului original au fost omise ele oferind doar informatii descriptive sau de indexare, fr a aa purta informatie util pentru procesul de descoperire a cunotintelor. Dintre cele 11 atribute a s ale setului de date de intrare preprocesat, 7 sunt numerice. Cazurile de antrenament originale Garvan ES1, ierul de intrare format ARFF ( care sunt descrise toate cele 11 atribute s n n mpreun cu cteva valori) i regulile de asociere rezultate urma rulrii algoritmului Apriori a a s n a se pot observa Figura 2.1. n Algoritmul Apriori a fost rulat cu mai multe valori pentru parametrii de congurare (minsup 1 i minconf 2 ) iar rezultatele obtinute sunt prezentate Tabela 2.1. Coloana L , i = 1, 2, 3 s n i reprezint numrul de seturi frecvente cu i articole. Tabela aeaz i regulile de asociere cu a a s as factorul de ncredere cel putin 0.7 obtinute la ecare rulare. La prima rulare, suportul minim a fost stabilit la 0.1 (10% din cazuri) i acest caz a rezultat s n un singur set frecvent cu 2 articole {Source = #SV I, Sex = F } care a generat dou reguli, cu a factorul de ncredere 0.62, respectiv 0.2. Din cele 8 reguli de asociere obtinute la cea de-a doua rulare (suport minim = 0.05), doar una are factorul de ncredere peste 0.7, aceasta regsindu-se a i printre cele obtinute cea de-a treia rulare. cazul extragerii regulilor cu suportul de cel s n In putin 0.01 au fost obtinute seturi frecvente de articole de lungime mai mare dect doi (3 seturi a frecvente cu 3 articole) care au dus la generarea regulilor cu dou elemente antecedent (cele a n marcate cu ()). Pentru a putea compara rezultatele acestei metode cu cele obtinute de Colomb
minsup reprezint suportul minim al regulilor, adic procentajul de cazuri care apare regula respectiv a a n a (0.3=30%); detalii sectiunea 2.1.2 n 2 minconf reprezint factorul de a ncredere minim pe care trebuie s-l satisfac o regul; detalii sectiunea 2.1.2 a a a n
1

2.1 REGIUNEA DE EXPERIENTA

57

Figura 2.1: Constructia PFD-urilor folosind descoperirea regulilor de asociere

58

ECHIVALENTA REPREZENTARILOR

[Col99] a fost nevoie s stabilim suportul la 10 cazuri, adic aproximativ 0.00023, i factorul n a a s de ncredere la 100%. acest caz s-au obtinut 775 reguli, distribuite astfel: Card(K1) = 22, In Card(K2)=591, Card(K3) = 149, Card(K4) = 13, unde Ki reprezint multimea PFD-urilor a acest ultim experiment au fost obtinute i seturi cu i propozitii elementare antecedent. In n s frecvente cu mai mult de 3 articole: L4 cu 947, respectiv L5 cu 13 articole. Comparativ cu metoda bazat pe multimi rough [Col99] care, la acelai suport, s-au obtinut 6154 PFD-uri, a n s dintre care 296 K1 i 5858 K2, caracterizarea realizat cu reguli de asociere este cu mult mai n s n a compact. Pentru a estima impactul pe care aceast nou caracterizare are asupra conversiei a a a l sistemului Garvan ES1 din set de reguli tabel de decizie, vor trebui efectuate experimente n a viitoare. continuare, va prezentat o a treia solutie, i anume un algoritm simplu pentru generarea In a s multimii K1 adic multimea tuturor PFD-urilor cu o singur propozitie elementar ante a a a n cedent pentru un sistem oarecare. Dac aproximarea K1 nu este sucient pentru multimea a a K se poate continua cu generarea celorlaltor tipuri de PFD-uri. 1. Se construiete o matrice bidimensional superior triunghiular A de dimensiune d d, s a a unde d = Card(dom(A1 )) + . . . + Card(dom(Am )), ale crei elemente sunt numere a ntregi; se initializeaz toate elementele matricii cu 0. Fiecare rnd i coloan corespunde unei a a s a valori v dom(Ai ), i = 1 . . . m. 2. Pentru ecare caz c D din setul de antrenament se incrementeaz celulele matricii A a care corespund tuturor perechilor de valori ale atributelor prezente c. nal, ecare In celul a matricii A va contine numrul cazurilor care perechea de valori apare setul a a n n de antrenament D. 3. Fiecare atribuire de tipul Ai = v selecteaz o multime de celule din A corespunztoare a a valorilor celorlaltor atribute. Dac celulele asociate cu atributul Aj sunt toate zero cu a exceptia unei valori v , adic a !v dom(Aj ) | Aj = v and Ai = v, atunci regula Ai = v Aj = v este o PFD. Algoritmul poate adaptat i pentru dimensiuni mai mari; de exemplu, pentru determinarea s multimii K2 va trebui s se adapteze algoritmul la 3 dimensiuni deoarece tabloul de lucru va a cubic d. n mod similar cu pasul 3, putem determina i PFD-urile negative felul urmtor: Fiecare In s n a atribuire de tipul Ai = v selecteaz o multime de celule din A corespunztoare valorilor celorlala a tor atribute. Dac celulele asociate cu atributul Aj sunt toate diferite de zero cu exceptia unei a valori v , adic a !v dom(Aj ) | Aj = v and Ai = v, atunci regula Ai = v Aj = v este o PFD. De exemplu, pentru setul de date din Figura 1.2 matricea construit conform algoritmului a descris mai sus este prezentat Tabela 2.23 . Se observ c: dac Nivel debit = Ridicat, atunci a n a a a
Celule marcate cu - sunt celule unde nu este posibil s e valori; pentru claritatea tabelei, celulele de sub a diagonala principal sunt lsate necompletate. a a
3

2.1 REGIUNEA DE EXPERIENTA

59

minsup minconf L1 L2 L3 numr de reguli de asociere a 0.1 0.1 5 1 2 0.05 0.1 9 4 8 Source = #SJC = Sex = F, conf = 0.82 0.02 0.1 40 25 32 Source = #ST M W = Sex = F, conf = 0.93 Source = #SJC = Sex = F, conf = 0.82 Source = #SV HT = Sex = F, conf = 0.77 Source = #SV HE = Sex = F, conf = 0.77 diagcode = 32K1 = Source = #SV I, conf = 0.75 Source = DR = Sex = F, conf = 0.73 0.01 0.1 151 93 3 111 Source = #ST M W = Sex = F, conf = 0.93 Source = #W LG = Sex = F, conf = 0.83 diagcode = 36L1 = Sex = F, conf = 0.83 Source = #SJC = Sex = F, conf = 0.82 diagcode = 28I1 = Sex = F, conf = 0.8 Source = #SRP = Sex = F, conf = 0.79 Source = #SV HT = Sex = F, conf = 0.77 diagcode = 16G1 = Sex = F, conf = 0.77 Source = #SV HE = Sex = F, conf = 0.77 T SH =< 0.1 = Sex = F, conf = 0.76 T SH =< 0.8 = Sex = F, conf = 0.76 () Sex = M diagcode = 32K1 = Source = #SV I, conf = 0.76 diagcode = 1A1 = Sex = F, conf = 0.76 Source = #SJF = Sex = F, conf = 0.76 T SH =< 0.7 = Sex = F, conf = 0.75 diagcode = 32K1 = Source = #SV I, conf = 0.75 () Sex = F diagcode = 32K1 = Source = #SV I, conf = 0.74 Age = 70 = Sex = F, conf = 0.74 diagcode = 11F 1 = Sex = F, conf = 0.74 diagcode = 17G6 = Sex = F, conf = 0.73 Source = DR = Sex = F, conf = 0.73 T SH =< 1.0 = Sex = F, conf = 0.73 T SH =< 0.3 = Sex = F, conf = 0.72 Age = 66 = Sex = F, conf = 0.72 T SH =< 0.4 = Sex = F, conf = 0.71 T SH =< 0.5 = Sex = F, conf = 0.71 T SH =< 0.6 = Sex = F, conf = 0.71 Age = 61 = Sex = F, conf = 0.7 0.00023 1.0 1201 14930 12053 775

Tabela 2.1: Regulile de asociere extrase din setul de antrenament pentru Garvan ES1

60
N. debit Med. Rid. -

ECHIVALENTA REPREZENTARILOR
N. venit Sc. Rid. 2 2 1 2 1 2 F. angajare Ind. Sal. 2 2 1 2 1 2 1 3 3 3 N. risc Sc. Mare 2 2 2 1 3 2 2 2 4 4 4 2 -

N. debit

N. venit F. ang. N. risc

Sczut a Mediu Ridicat Sczut a Ridicat Ind. Salariat Sczut a Mare

Sc. -

Tabela 2.2: Matricea pentru determinarea K1 atributul Nivel risc ia doar valoarea Mare i aceast pereche de valori (Nivel debit = Ridicat i s a s Nivel risc = Mare) apare 3 cazuri (celula marcat special tabel). Astfel c putem deduce n a n a a urmtoarea PFD: a if Nivel debit=Ridicat then Nivel risc=Mare [s=0.3]4 mod similar, considernd celelalte dou celule marcate tabel obtinem urmtoarele In a a n a a PFD-uri: if Form angajare=Independent then Nivel risc=Mare [s=0.4] a if Nivel risc=Sczut then Form angajare=Salariat [s=0.4] a a PFD-urile negative deduse din tabela de mai sus sunt urmtoarele dou: a a if Nivel debit=Ridicat then Nivel risc = Sczut [s=0.3] a if Form angajare=Independent then Nivel risc = Sczut [s=0.4] a a

2.1.2

Descoperirea regulilor de asociere

Descoperirea regulilor de asociere din seturi mari de date este o tehnic de aare nesupera nvt vizat care a fost introdus pentru prima dat 1994 de Agrawal i Srikant [AS94] i a devenit a a a n s s scurt timp una dintre temele centrale ale DM, ce a atras un interes fantastic att rndul n a n a teoreticienilor ct i al practicienilor din domeniu. Descoperirea regulilor de asociere a s nseamn a regsirea tuturor submultimilor de articole (sau atribute) care apar mod frecvent multe a n n nregistrri (tranzactii) ale bazei de date i, plus, de a extrage regulile care ne spun cum o a s n submultime de articole inuenteaz prezenta altei submultimi. Aplicatia tipic a regulilor de a a asociere este problema analizei coului de cumprturi (market basket analysis) care articon s aa n lele reprezint produsele cumprate de un client, iar tranzactiile continutul coului. Un exemplu a a s este prezentat Tabela 1.2 care se prezint o regul indus din tranzactiile unei biblioteci. n n a a a
4

s reprezint suportul regulii, adic procentajul de cazuri care apare regula respectiv (0.3=30%) a a n a

2.1 REGIUNEA DE EXPERIENTA

61

Alte aplicatii traditionale ale descoperirii regulilor de asociere se regsesc segmentarea pietei, a n proiectarea cataloagelor de produse, aranjara produselor ntr-un magazin etc. Problema esential cazul descoperirii regulilor de asociere este dimensiunea spatiului de a n m submultimi de articole posibil frecvente, iar cutare. Pentru o multime de m articole avem 2 a numrul a nregistrrilor este de asemenea uria (datele din bazele de date ale marilor lanturi de a s magazine ind de ordinul terabyte). Prin urmare, avem nevoie de algoritmi sclabili (capabili s a trateze magazii de date foarte mari) i cu un acces ct mai redus la dispozitivul de stocare. s a Problema descoperirii regulilor de asociere poate denit formal dup cum urmeaz. Fie a a a I o multime de articole i T o baz de date de tranzactii, care ecare tranzactie are un s a n identicator unic (tid) i contine o multime de articole. O multime de articole este numit s a 5 . Un itemset cu k articole se numete k-itemset. Suportul unui itemset s continuare itemset n X, notat s(X), este numrul de tranzactii care apare X. O submultime de lungime k a a n unui itemset se numete k-subset. Un itemset X se numete maximal dac nu este un subset s s a al unui alt itemset, adic ! Y itemset astfel at X Y . Un itemset X se numete frecvent a nc s dac suportul su este mai mare dect o valoare prag specicat de utilizator (minsup), adic a a a a a s(X) minsup. Vom nota prin Fk multimea tuturor itemset-urilor frecvente de k articole. O regul de asociere R este o expresie de forma A = B, unde A i B sunt itemset-uri. a s Suportul regulii R este numrul de tranzactii care contin ambele itemset-uri, adic s(A B). a a Factorul de ncredere al regulii R este probabilitatea conditional ca o tranzactie s contin B a a a tiind c contine deja pe A i este calculat de formula s(A B)/s(A). O regul se numete s a l s a s frecvent dac suportul su este mai mare dect minsup, adic s(A B) minsup. O regul a a a a a a se numete puternic dac factorul ei de s a a ncredere este mai mare dect o valoare prag stabilit a a de utilizator (minconf), adic conf (R) = s(A B)/s(A) minconf . a Procesul descoperirii regulilor de asociere presupune generarea tuturor regulilor de asociere din baza de date care au un suport mai mare dect minsup (adic sunt frecvente) i au factorul de a a s ncredere mai mare dect minconf (adic sunt puternice), unde minsup i minconf sunt furnizate a a s de utilizator. Majoritatea algoritmilor pentru determinarea regulilor de asociere descompun acest proces dou etape: n a 1. gsirea tuturor itemset-urilor frecvente (cu suportul mai mare dect minsup); a a 2. generarea regulilor puternice din itemset-urile frecvente (cu factorul de ncredere mai mare dect minconf). a Considerm ca i exemplu baza de date a vnzrilor unei librrii (Figura 2.2) care exist a s a a a n a cinci articole diferite I = A, C, D, T, W (ecare articol reprezentnd numele autorului) i baza a s de date contine ase clienti care au cumprat crti de aceti autori. Figura 2.2 arat toate s a a s a itemset-urile frecvente care sunt continute cel putin trei tranzactii client, adic pentru care n a minsup=50%. De asemenea, mai prezint setul tuturor regulilor de asociere cu minconf=100%. a Itemset-urile ACT W i CDW sunt itemset-urile frecvente maximale. Figura 2.3 prezint las a ticea itemset-urilor frecvente pentru exemplul din Figura 2.2, precum i dispunerile orizontal s a i vertical a bazei de date. Din moment ce toate celelalte itemset-uri frecvente sunt de fapt s a
Am folosit termenului din limba englez (itemset) pentru uurinta i claritatea exprimrii, traducerea a s s a n romn (multime de articole) ind mai lung i anevoios de urmrit i utilizat constructii lingvistice compuse, a a as a s n precum multime frecvent de k articole sau altele. a
5

62

ECHIVALENTA REPREZENTARILOR

Articole Seturi de articole Suport ACTW C 100% (6) CDW W, CW 83% (5) ACTW A, D, T, AC, AW, CD, CT, ACW 67% (4) ACDW AT, DW, TW, ACT, ATW, CDW, 50% (3) ACDTW CTW, ACTW CDT (a) (b) A = C (4/4), A = W (4/4), A = CW (4/4), D = C (4/4), T = C (4/4), W = C (5/5), AC = W (4/4), AT = C (3/3), AT = W (3/3), AW = C (4/4), DW = C (3/3), TW = A (3/3), TW = C (3/3), AT = CW (3/3), TW = AC (3/3), ACT = W (3/3), ATW = C (3/3), CTW = A (3/3) (c) Figura 2.2: (a) Baza de date (b) Seturile frecvente de articole cu un suport minim de 50% (c) Regulile de asociere (minconf=100%)

Tranzactie 100 200 300 400 500 600

subseturi ale uneia dintre cele doua itemset-uri de frecvent maxim, putem reduce problema a a cutrii itemset-urilor frecvente la sarcina de enumerare doar a itemset-urilor frecvente maxia a male. Pe de alt parte, pentru generarea tuturor regulilor principale, avem nevoie de suportul a tuturor itemset-urilor frecvente. Aceasta poate uor de realizat o dat ce elementele maximale s a sunt identicate, prin introducerea unui parcurgeri aditionale a bazei de date, i prin calcularea s suportului subseturilor nenumrate a. a nc Spatiul de cutare pentru enumerarea tuturor itemset-urilor frecvente este 2m , care este a exponential in m, numrul de articole. Se poate demonstra c problema gsirii unui set frecvent a a a In a a a de o anumit dimensiune este NP-dicil [ZO98]. orice caz, dac presupunem c exist o a a limitare a lungimii tranzactiilor, putem arta c problema descoperirii regulilor de asociere este a a liniar dimensiunea bazei de date. O dat ce itemset-urile frecvente sunt cunoscute, ele pot a n a utilizate pentru a obtine reguli care s descrie raportul dintre diferite itemset-uri. Vom genera a i testa factorul de s ncredere pentru toate regulile de form X \ Y = Y , unde Y X, iar a a X este frecvent, aa cum este prezentat Figura 2.4. De exemplu, itemset-ul CDW genereaz s n urmtoarele reguli: CD = W , CW = D, DW = C, C = DW , D = CW , a W = CD. Dintre acestea doar DW = C este puternic la un nivel de certitudine de a 100%. Pentru un itemset de dimensiune k, exist 2k 2 reguli probabil puternice care pot a generate. Aceasta rezult din faptul c trebuie considerat ecare submultime a itemseta a a ului ca antecedent, cu exceptia submultimii vide i a celei totale. Complexitatea pasului de s generare a regulilor este astfel O(r2l ), unde r este numrul itemset-urilor frecvente, iar l este a cel mai lung itemset frecvent. M. J. Zaki [ZO98] prezint o descrierea matematic complet a a a a regulilor de asociere i produce o analiz foarte precis i detaliat a complexitii algoritmilor s a as a at de descoperire a acestora. continuarea acestei sectiuni vor trecuti revist cei mai uzitati In n a algoritmi secventiali pentru descoperirea regulilor de asociere. Acetia reprezint i punctele de s as

2.1 REGIUNEA DE EXPERIENTA

63

Dispunerea orizontal a 1 2 3 4 5 6 A C A A A C C D C C C D T W T D D T W W W T W

Dispunerea vertical a A 1 3 4 5 C 1 2 3 4 5 6 D 2 4 5 6 T 1 3 5 6 W 1 2 3 4 5

Figura 2.3: (a) Laticea seturilor de articole (b) Dispunerile orizontal i vertical as a plecare pentru majoritatea abordrile paralele sau distribuite propuse pn acum. Rezumatul a a a urmtor este extras din [Pop02d]. a

2.1.3

Algoritmi secventiali pentru descoperirea regulilor de asociere

Apriori Prezentarea algoritmilor secventiali pentru descoperirea regulilor de asociere ncepe cu cel mai vechi, cel mai popular, cel mai mbuntit i cel mai utilizat dintre acetia: algoritmul a at s s Apriori. Acesta a fost propus de ctre Agrawal et al. [AMS+ 96, AS94] i s-a remarcat ca a s unul dintre cei mai performanti algoritmi pentru descoperirea regulilor de asociere. Servete s de asemenea i ca algoritm de baz pentru marea majoritate a paralelizrilor acestor algoritmi. s a a

RuleGen(F , minconf ) for toate itemset-urile frecvente f F do for toate subseturile g f do conf = f r(f )/f r(g) if (conf >= minconf ) then output the rule g => f and conf Figura 2.4: Generarea regulilor de asociere

64

ECHIVALENTA REPREZENTARILOR

Apriori folosete o cutare complet, ascendent (bottom-up), cu un format orizontal al datelor s a a a i enumer toate itemset-urilor frecvente. Apriori este un algoritm iterativ care la o parcurgere a s a bazei de date numr itemset-urile de o anumit lungime. Procesul aa a ncepe prin scanarea tuturor tranzactiilor din baza de datei calcularea articolelor frecvente. Apoi, din articole frecvente este s format o multime de itemset-uri candidate de lungime 2. a Intr-o nou parcurgere a bazei de date a este obtiut suportul lor. Itemset-urile de lungime 2 frecvente sunt retinute pentru parcurgerea urmtoare, i procesul este repetat pn cnd sunt enumerate toate itemset-urile frecvente. a s a a a Exist trei pai importanti acest algoritm: a s n 1. Generarea candidatilor de lungime k din itemset-urile frecvente de lungime k 1, printr-un self-join a multimii Fk1 . De exemplu, pentru F2 = {AC, AT, AW, CD, CT, CW, DW, T W } obtinem F3 = {ACT, ACW, AT W, CDT, CDW, CT W }. 2. Eliminarea oricrui candidat care contine cel putin o submultime nefrecvent de articole. a a exemplul de mai sus, CDT va eliminat deoarece itemset-ul DT nu este frecvent. In 3. Scanarea tuturor tranzactiilor pentru a obtine suportul candidatilor. Candidatii sunt depozitati ntr-un arbore de dispersie (hash tree) pentru calcularea rapid a suportului. a Dynamic Hashing and Pruning (DHP) Algoritmul DHP [PCY95] propus de Park et al. este o mbuntire adus abordrii Apriori. a at a a DHP utilizeaz o tabel de dispersie (hash table) pentru a pre-calcula suportul aproximativ al a a 2-itemset-urilor timp ce se numra 1-itemset-urile. Apoi, decursul celei de a 2-a repetitii, n a n timp ce se iau considerare ca i candidate toate perechile de articole frecvente, se realizeaz n n s a o vericare pentru a vedea dac celula corespunztoare unui itemset candidat beneciaz de a a a un suport minim. Dac nu, atunci candidatul poate aturat. Utilizarea tabelei de dispera nl sie este foarte folositoare in ceea ce privete reducerea numrului de candidati 2-itemset-uri, s a din moment ce, fr aceast tabel, toate perechile sunt considerate ca i candidate. Pentru aa a a s parcurgerile rmase DHP folosete aceeai tehnic precum Apriori, din moment ce principala a s s a problem la Apriori era itemset-urile de lungime 2. De asemenea, la ecare repetare, DHP rea duce mrimea bazei de date prin aturarea articolelor care nu apar nici un itemset frecvent, a nl n i prin aturarea tranzactiilor care nu contin nici unul dintre itemset-urile frecvente. Experis nl mentele lor demonstraz c abordarea prin metoda tabelei de dispersie poate reduce semnicativ a a mrimea 2-itemset-urilor candidate, beneciile reducerii bazei de date neind clare. Motivul este a c prin ltrarea propus algoritm se realizeaz doar o reducere (pruning) logic, nu i una a a n a a s zic a bazei de date, care ar presupune rescrierea acesteia la ecare repetare, ceea ce evident a nu este practic. Partition Savasere et al. [SON95] au propus un algoritm dou-parcurgeri. Se divide mod logic n a n baza de date ntr-un numr de partitii disjuncte. Fiecare partitie este citit, i se formeaz tidlist a a s a pentru ecare articol, adic lista tuturor tid-urilor (id-urile tranzactiilor) care apare articolul. a n

2.1 REGIUNEA DE EXPERIENTA

65

Apoi, toate itemset-urile local frecvente sunt generate prin intersectii de tidlist. Toate itemset urile frecvente locale sunt mbinate pentru a forma canditati globali pentru a doua parcurgere a bazei de date. aceast etap, se elimin orice candidat care este deja gsit frecvent toate In a a a a n partitiile, deoarece suportul lui global este deja cunoscut i nu mai este necesar s e calculat. De s a asemenea, mai sunt eliminati candidatii care nu pot frecventi, adic acele itemset-uri pentru a care suma suportului lor cumulat plus numrul partitiilor care sunt frecvente este mai mic a n a dect suma suporturilor minime ale partitiilor care ele sunt frecvente plus numrul partitiilor. a n a Dup eliminarea unor astfel de candidati se ruleaz o a doua parcurgere prin toate partitionrile. a a a Baza de date este convertit din nou a ntr-un format vertical i se obtin contoarele globale ale s tuturor itemset-urilor alese prin intersectiile listelor tidlist. Mrimea unei partitii este aleas a a acest fel, algoritmul Partition efectueaz astfel at s poat arcat memoria de lucru. In nc a a nc a n a total doar dou scanri ale bazei de date. Observatia principal folosit acest algoritm n a a a a n este aceea c un itemset frecvent la nivel global trebuie s e frecvent la nivel local cel putin a a n una dintre partitii, i astfel se garanteaz gsirea tuturor itemset-urilor frecvente. Pentru ca s a a Partition s e ecace, contorizarea 2-itemset-urilor trebuie fcut utiliznd formatul orizontal, a a a a ca i Apriori, deoarce intersectiile s n ntre perechi de tidlist pot foarte costisitoare pentru un numr mare de 2-itemset-uri candidate. a SEAR, SPTID, SPEAR i SPINC s A. Mller a prezentat lucrarea sa de master [Ml95] patru algoritmi derivati din Apriori u n u si Partition. Algoritmul Sequential Ecient Association Rules (SEAR) este identic cu Apriori, cu exceptia faptului c SEAR stocheaz candidatii a a ntr-un arbore prex loc de hash tree, i n s utilizeaz o optimizare pass bundling care se genereaz candidati pentru parcurgeri multiple a n a n cazul care acetia au loc memorie, adic loc de generarea doar a candidatilor de lungime n s n a n k, sunt generati i aceia de lungime k+1, k+2 etc. atta vreme ct exist memorie pentru acetia. s a a a s Apoi, toti candidatii actuali pot contorizati ntr-o singur parcurgere a bazei de date. Aceast a a metod poate micora numrul de scanri ale bazei de date fat de algoritmul Apriori. Metoda a s a a a Sequential Partitioning with TID (SPTID) este identic cu Partition, cu exceptia faptului c a a SPTID utilizeaz un arbore prex i execut mod direct intersectiile a s a n ntre tidlist, chiar i s pentru candidatii 2-itemset. Algoritmul SPEAR este similar cu SEAR, dar folosete tehnica s din Partition, adic este versiunea fr tidlist a Partition. SPEAR utilizeaz formatul de date a aa a orizontal, dar ruleaz dou scanri, ai pentru a aduna potentialele itemset-uri frecvente, iar a a a nt apoi pentru a obtine suportul lor global. plus, SPINC reduce procesarea anumitor partitionri In a timpul celei de a doua scanri. Obiectivul lui Mller a fost evaluarea beneciilor intrinseci n a u ale partitionrii fr a ine seama de formatul datelor folosite. El a concluzionat, baza a aa t n experimentelor efectuate, c SPTID a fost prea costisitor, deoarece alturarea 2-itemset-urilor a a a fost prea costisitoare. De asemenea, a descoperit c partitionarea nu a ajutat, din cauza a overhead-ului introdus de procesarea multiplelor partitii, dar i datorit numrului mare de s a a itemset-uri frecvente la nivel local, dar infrecvente la nivel global. Dintre algoritmii propui de s el, SEAR a fost ctigtorul, mai ales datorit optimizrii pass bundling. as a a a Dynamic Itemset Counting (DIC) Algoritmul DIC propus de Brin et al. [BMUT97] este o generalizare a algoritmului Apriori. loc de calcularea itemset-urilor de lungime k iteratia k, DIC contorizeaz candidatii de In n a

66

ECHIVALENTA REPREZENTARILOR

lungimi multiple aceeai parcurgere. Baza de date este divizat p partitii de mrimi n s a n a egale astfel at ecare partitie s nc a ncap memoria de lucru. Pentru partitia 1, DIC adun a n a suportul articolelor individuale. Articolele gsite a frecvente la nivel local (adic doar a a n partitia respectiv) sunt folosite pentru a genera 2-itemset-urile candidate. Apoi este citit a a cea de a doua partitie i sunt obtinute suporturi pentru toti candidatii actuali, adic articolele s a individuale i candidatii 2-itemset. Acest proces se repet pentru toate partitiile rmase. DIC s a a ncepe s contorizeze candidatii k-itemset timpul precesrii partitiei k prima scanare a a n a n bazei de date. Dup ce ultima partitie p a fost procesat, prelucrarea se a a ntoarce din nou la partitia 1. Suportul global al unui candidat este cunoscut momentul care prelucrarea a n n trecut prin ntreaga baz de date i ajunge la partitia unde a fost initial generat. Dac nu sunt a s a generati noi candidati din partitia curent, i toti candidatii anteriori au fost contorizati, DIC se a s ncheie. Pentru a salva candidati de lungimi diferite, DIC utilizeaz un Trie loc de un arbore a n de dispersie. DIC este foarte ecient a reduce numrul de scanri ale bazei de date dac cele n a a a mai multe dintre partitii sunt omogene, adic itemset-urile frecvente sunt distribuite uniform a ntre partitii. cazul care datele nu sunt omogene, atunci DIC poate genera mai multe In n pozitive false, adic itemset-uri care sunt frecvente la nivel local, dar nu i la nivel global, i e a s s posibil s scaneze baza de date de mai mult dect Apriori. DIC propune o tehnic de parti a a a onare aleatorie pentru a reduce partitionarea nesimetric a datelor. a Eclat, MaxEclat, Clique si MaxClique O proiectare complet diferit caracterizeaz algoritmii bazati pe clase de echivalent propui a a a s de Zaki et al. [ZPOL97], dintre care cel mai simplu este Eclat, timp ce MaxClique este cel mai n bun. Metodele folosesc un format vertical al bazei de date, un amestec de cutare bottom-up i a s hibrid, i genereaz o mixtur de itemset-uri frecvente maximale i non-maximale. Avantajul a s a a s principal al folosirii formatului vertical este acela c se poate determina suportul oricrui ka a itemset prin simpla intersectare a idlist-urilor oricror dou subseturi de lungime k 1. a a In particular, se utilizeaz primele dou (din punct de vedere lexicograc) subseturi de lungime a a k 1, care partajeaz un prex comun (itemset-urile de generare) pentru a calcula suportul unui a nou itemset de lungime k. O simpl vericare cardinalitii idlist-ului rezultat ne spune daca a at itemset-ul este frecvent sau nu. Nu trebuie pstrat memorie nici un arbore de dispersie. Din a n moment ce exist o cantitate limitat de memorie de lucru, i toate idlist-urile intermediare nu a a s vor avea spatiu memorie, ele vor rupe spatiul larg de cutare prti mai mici, independente n a n a i exibile care pot procesate memorie prin clase de echivalenta prex-based sau cliques n based. Observatia cheie este aceea c ecare clas este o sub-latice a laticii originale i poate a a s procesat independent. Fiecare clas este independent sensul c are informatii suciente a a a n a pentru generarea tuturor itemset-urilor frecvente care partajeaz acelai prex. De exemplu, a s dac clasa de echivalent prex [A] are elementele AC i AW , singura secvent posibil pasul a a s a a n urmtor poate ACW i nici un alt articol, s spunem D, nu poate conduce la un itemset a s a frecvent cu prexul A, dect dac AD este i el [A]. Abordrile bazate pe prex i clique a a s n a s difer ceea ce privete dimensiunea claselor rezultate, cu abordarea clique genernd clase mai a n s a mici, dar cu costuri aditionale. Dintre cei patru algoritmi propui, Eclat utilizeaz clase prex s a based i cutare bottom-up, MaxEclat folosete clase prex-based i o cutare hibrid, Clique s a s s a a ntrebuinteaz clase clique-based i o cutare bottom-up, i MaxClique folosete deasemenea a s a s s clase clique-based, dar are o cutare hibrid. Cea mai bun abordare a fost MaxClique i s-a a a a s

2.1 REGIUNEA DE EXPERIENTA

67

demonstrat experimental c are o perfomant mai bun dect Apriori cu un factor de 40, i a a a a s dect Partition cu un factor de 20. a BitStream i Sparse-Matrix s Algoritmii BitStream i Sparse-Matrix propui de Wur et al. [WL98] se bazeaz pe o abordare s s a boolean. Algoritmul boolean propus extrage reguli de asociere doi pai. prima faz, a n s In a sunt utilizati operatorii logic OR i AND pentru a calcula itemset-urile frecvente. pasul al s In doilea se recurge la operatorii AND i XOR pentru a obtine toate reguli de asociere interesante s bazate pe itemset-urile frecvente calculate. Doar printr-o singur scanare a bazei de date i a s prin evitarea generrii itemset-urilor candidate calcularea itemset-urilor frecvente, algoritmul a n boolean cstig o a a mbuntire a performantei semnicativ fat de algoritmul Apriori. Sunt a at a a propuse dou implementri eciente ale algoritmului boolean, abordarea BitStream i abordarea a a s Sparse-Matrix. Ambele abordri sunt mai performante dect algoritmul Apriori toate setrile a a n a de baze de date. mod special, abordarea Sparse-Matrix demonstreaz o In a mbuntire a a at performantei fat de algoritmul Apriori. a FP-growth [HPY00] Han et al. propun o nou structur, Frequent Pattern tree (FP-tree), care In a a este de fapt o structur prex-tree extins, pentru stocarea compresat a informatiilor cruciale a a a pentru abloanele frecvente i dezvolt o metod ecient de extragere bazat pe arborii FP-tree, s s a a a a numit FP-growth, pentru extragerea setului complet de itemset-uri frecvente prin creterea a s de fragmentelor de abloane. Ecienta extragerii se realizeaz prin trei tehnici: (1) o baz de date s a a mare este compresat a ntr-o structur de date condensat i mult mai mic, ceea ce evit scanri a as a a a costisitoare i repetate ale bazei de date, (2) extragerea bazat pe FP-tree adopt o metod de s a a a cretere a fragmentelor de abloane pentru evitarea generrii costisitoare a unui numr mare s s a a de itemset-uri candidate, i (3) o metod bazat pe partitii, de tip divide-and-conquer, este s a a utilizat pentru descompunerea procesului de data mining a ntr-o multime de procese mai mici pentru extragerea de abloane delimitate baze de date conditionale, ceea ce reduce dramatic s n spatiul de cutare. Metoda FP-growth este ecient i scalabil pentru extragerea de abloanelor a as a s frecvente att lungi ct i scurte, i este cu un ordin de mrime mai rapid dect algoritmul a a s s a a a Apriori i alti algoritmi s nruditi. Tabela 2.3 prezint un sumar al diferentelor majore dintre algoritmii prezentati anterior. a

2.1.4

Exemplu de generare a PFD folosind regulile de asociere

continuare, vom considera minsup = 30% i minconf = 100%. Fiecare linie din Tabela 1.2 In s va reprezenta o tranzactie. Fiecare articol este reprezentat de o propozitie elementar de forma a Ai = vij , adic multimea I va compus din urmtoarele 9 elemente: a a a I = {Nivel debit = Ridicat, Nivel debit = Mediu, Nivel debit = Sczut, a Nivel venit = Sczut, Nivel venit = Ridicat, a Form angajare = Independent, Form angajare = Salariat, a a Nivel risc = Sczut, Nivel risc = Mare}. a

68
Algoritm Dispunere BD Orizontal a Orizontal a Vertical a Orizontal a Vertical a Orizontal a Orizontal a Orizontal a Vertical a Vertical a Vertical a Vertical a Orizontal a Structuri date Hash Tree Hash Tree Prex Tree Prex Tree Prex Tree Prex Tree Trie Sparse trix FP-tree Made Cutare a

ECHIVALENTA REPREZENTARILOR
Enumerare Numr de a parcurgeri a BD K K 2 K I/2+K 2 2 K 3 3 3 3 1

Apriori DHP Partition SEAR SPTID SPEAR SPINC DIC Eclat MaxEclat Clique MaxClique BitStream SparseMatrix FP-growth

Bottom-up Bottom-up Bottom-up Bottom-up Bottom-up Bottom-up Bottom-up Bottom-up Bottom-up Hibrid Bottom-up Hybrid Bottom-up

Toate Toate Toate Toate Toate Toate Toate Toate Toate Maximal i nons maximal Toate Maximal i nons maximal Toate

Orizontal a

Bottom-up

Toate

Tabela 2.3: Algoritmi pentru descoperirea regulilor de asociere Spre deosebire de cazul general care orice itemset este valid i trebuie s e vericat n s a a frecventa sa de aparitie baza de date, cazul de fat anumite itemset-uri sunt invalide n n a i nu vor aprea niciodat vreo tranzactie, i anume acele itemset-uri care contin articole s a a n s ce corespund aceluiai atribut. De exemplu, itemset-ul (Nivel debit = Ridicat, Nivel debit = s Sczut) nu este valid i nu va gsit nici o tranzactie a bazei de date. Eliminarea acestor a s a n itemset-uri apriori va duce la un ctig de performant procesul de descoperire a itemsetas a n urilor frecvente, care este de fapt etapa cea mai mare consumatoare de timp dintre cele dou a ale procesului. Multimile itemset-urilor frecvente sunt urmtoarele 6 : a F1 = I F2 = {(Nivel debit = Ridicat, Nivel risc = Mare [s=0.3]), (Nivel venit = Sczut, Form angajare = Salariat [s=0.3]), a a (Form angajare = Independent, Nivel risc = Mare [s=0.4]), a (Form angajare = Salariat, Nivel risc = Sczut [s=0.4]), a a (Nivel venit = Ridicat, Form angajare = Salariat [s=0.3]), a (Nivel venit = Ridicat, Form angajare = Independent [s=0.3]), a (Nivel venit = Ridicat, Nivel risc = Mare [s=0.4])} F3 = {(Nivel venit = Ridicat, Form angajare = Independent, Nivel risc = Mare [s=0.3])} a Din aceste multimi de itemset-uri frecvente urmtoarele reguli de asociere cu factorul de a ncredere 100% sunt generate:
6

Numrul a ntre parantezele drepte reprezint suportul itemset-ului respectiv. a

2.2 ECHIVALENTA REPREZENTARILOR REGIUNEA DE EXPERIENTA IN if Nivel debit=Ridicat then Nivel risc=Mare [s=0.3] if Form angajare=Independent then Nivel risc=Mare [s=0.4] a if Nivel risc=Sczut then Form angajare=Salariat [s=0.4] a a if Nivel venit=Ridicat i Form angajare=Independent then Nivel risc=Mare [s=0.3] s a

69

Se observ c aceste reguli sunt identice cu cele obtinute folosind solutia trei pentru determia a narea PFD-urilor propus la pagina 58, cu exceptia ultimei care contine 2 conditii partea de a n antecendent i care nu apartine lui K1, deci nu putea descoperit de metoda propus acolo. s a a

2.2

Echivalenta reprezentrilor regiunea de experient a n a

S-a artat sectiunea 2.1 ce este regiunea de experient i cum putem caracteriza acest rea n a s a aceast sectiune se va analiza modul giune folosind o multime de PFD-uri construite automat. In a care regiunea de experient inuenteaz procesul de conversie dintr-o form de reprezentare n a a a alta. n Cele trei modele de reprezentare a cunotintelor pot privite ca vederi diferite ale aceluiai s s model de decizie. acest mod, utilizatorii familiari cu una din reprezentri nu vor privati de In a s facilitile oferite de celelalte dou (vezi Tabela 1.1). Dei algoritmii de conversie sunt relativ at a simpli, obiectele convertite rezultate au dimensiunea mult mai mare dect a originalului. Dup a a cum s-a artat sectiunea precedent, o posibil solutie ar utilizarea zonei de experient. a n a a a Aceast sectiune va prezenta adaptarea teoremele de conversie a obiectelor de decizie astfel at a nc s e luat considerare aceast regiune. a a n a Denitia 2.2.1. Un atribut lipsete dintr-o propozitie dac propozitia nu contine nici o propo s a zitie elementar asociat cu acel atribut. a a Vom ncepe cu prezentarea unui rezultat binecunoscut, demonstrat majoritatea crtilor n a de algebr boolean (de exemplu The Essentials of Boolean Algebra de A. D. Solomon a a n [Sol90]), care ne va ajuta demonstratiile ulterioare: n Teorema 2.2.1 (Teorema fundamental a propozitiilor). Orice propozitie care nu este o cona tradictie este echivalent cu o propozitie care este forma normal disjunctiv (FND). a n a a Folosind rezultatul de mai sus vom arta c: a a Propozitia 2.2.2. O regul asociat unei ci de clasicare a a a ntr-un arbore de decizie este echivalent cu o tabel de decizie. a a Demonstratie. Regula asociat unei ci a a ntr-un arbore de decizie poate exprimat astfel (vezi a denitia 1.4.4):
k k k

pC
i=1

qai ji
i=1 j

paij
i=1 j

[Ai = vij ]

Conform teoremei 2.2.1 rezult c regula asociat unei ci poate exprimat FND, adic a a a a a n a pC
i

[Ai = vij ]

70

ECHIVALENTA REPREZENTARILOR

Fiecare element al disjunctiei de mai sus este o conjunctie de propozitii elementare (cel mult una per atribut) i va convertit s ntr-o linie (a l-a) a tabelei de decizie astfel: - pentru ecare atribut Ai prezent conjunctie, celula din linia l, coloana i a tabelei va n initializat cu valoarea vij ; a - pentru un atribut Ai care nu se gsete conjunctie, se va genera o celul irelevant (pagina 39) a s n a a tabela de decizie. n

Fie continuare K o caracterizare a regiunii de experient. Pentru uurinta exprimrii, o n a s a regiune de experient caracterizat prin K o vom denumi regiunea de experient K. Denitia a a a completitudii unui obiect de decizie introdus capitolul 1 trebuie i ea adaptat la regiunea a n s a de experient: a Denitia 2.2.2. Un obiect de decizie O este complet raport cu regiunea K dac O clasic n a a orice caz acoperit de K (adic orice situatie din regiunea de experient). a a Teorema 2.2.3 (Echivalenta setului de reguli de productie cu tabela de decizie). Un set de reguli de productie aciclic denit peste o regiune de experient este echivalent cu o tabel de a a decizie denit peste aceeai regiune de experient. a s a as a a Demonstratie. Demonstratia este una constructiv i are dou prti: Tabel de decizie => Set de reguli a Fie T o tabel de decizie denit peste regiunea de experient caracterizat prin K. Fiecare a a a a linie i a tabelei de decizie este convertit a ntr-o regul de productie astfel: antecedentul regulii a este denit prin conjunctia propozitiilor elementare Ai = vij construite pe baza valorilor celulelor liniei. Cazul c reprezentat de antecedentul contruit anterior este consistent regiunea de n experient K deoarece ecare propozitie elementar este consistent. Consecinta regulii este a a a denit de propozitia elementar de clasicare realizat de linia respectiv C = c (ultima coloan a a a a a ntreaga regul este consistent K. a a n reprezentarea tabelei din Figura 1.7). Prin urmare, n Set de reguli => Tabel de decizie a Procesul de conversie ncepe prin evaluarea partial a regulilor care contin propozitii inter a mediare consecint astfel at aceste propozitii intermediare sunt n a nc nlocuite prin propozitii elementare cauzale sau negatii ale acestora. Rezultatul expandrii a ntregului set de reguli va o multime de reguli ale cror antecedente sunt conjunctii de propozitii elemtare iar consecintele a sunt propozitii elementare de clasicare. Fie o regul de forma R : ant => con. Aplicarea regulii R unui caz c urmeaz urmtorii a a a pai de derivare: s 1. c i ant => con s 2. c i c&K&ant => con s 3. dac c este consistent cu K, atunci c&K = c (iar pasul 2 devine: c i c&ant => con) a s

2.2 ECHIVALENTA REPREZENTARILOR REGIUNEA DE EXPERIENTA IN

71

4. dac c este consistent cu antecedentul ant, atunci c&ant = c, adic pasul 2 c&K&ant => a a con devine c => con 5. c i c => con i con s s Dac con este o propozitie intermediar, atunci prin evaluarea partial se va crea o singur a a a a propozitie care este singura propozitie a crei consecint este propozitia intermediar, i similar a a a s pentru negatia ei. Dac c este consistent cu antecedentul ant, atunci K este consistent cu ant pentru orice caz a c (din denitia lui K). Dac ant este exprimat FND, atunci orice element al disjunctie care a n nu este consistent cu K poate eliminat deoarece pasul 3 al derivrii de mai sus nu va evaluat a la valoarea de adevr true niciodat. Cu aceast modicare, toate regulile care rezult urma a a a a n evalurilor partiale vor consistente K. a n Mai departe, setul de reguli care au rezultat este transpus ntr-o tabel de decizie felul a n urmtor: pentru ecare regul, antecedentul va forma o nou linie a tabelei (pentru atributele a a a care lipsesc din antecedent se va utiliza o celul irelevant tabela de decizie), iar consecinta a a n regulii (propozitia elementar de clasicare) este trecut a a ntr-o coloana de actiuni a tabelei. Astfel, tabela de decizie rezultat va consistent K. a a n Teorema 2.2.4 (Echivalenta tabelei de decizie cu arborele de decizie). Un arbore de decizie denit peste regiunea de experient K este echivalent cu o tabel de decizie neambigu denit a a a a pe aceeai regiune K, care este complet raport cu K dac arborele este complet. s a n a Demonstratie. Demonstratia este una constructiv i are dou prti: as a a Arbore de decizie => Tabel de decizie a Fie C o cale de clasicare arborele de decizie. Urmnd demonstratia propozitiei 2.2.2, n a pasul de creare a liniilor tabelei de decizie vor calea este echivalent cu o tabel de decizie. In a a eliminate acele linii care nu sunt consistente regiunea de experient K, astfel at tabela n a nc de decizie rezultat va consistent K. a a n continuare, vom arta c oricare dou ci de clasicare ale arborelui sunt inconsistente In a a a a ntre ele, astfel at reuniunea tabelelor de decizie obtinute din toate cile de clasicare ale nc a arborelui formeaz o tabel de decizie neambigu. a a a Fie (C1 , C2 ) o pereche de ci de clasicare arbore. Ele partajeaz cel putin un nod de a n a decizie (rdcina). Fie n un nod de decizie comun celor dou ci. Arcele (n, nc1 ) C1 i a a a a s (n, nc2 ) C2 ce pleac din acest nod cele dou ci au asociate dou propozitii elementare a n a a a distincte de forma An = vnj asociate cu An (atributul de separare al nodului n). Aadar, s propozitiile elementare ale celor dou arce sunt inconsistente una cu cealalt i prin urmare, a a s propozitiile asociate celor dou ci sunt la rndul lor inconsistente a a a ntre ele. Dac arborele de decizie este complet raport cu K, atunci pentru orice caz c acoperit de K a n exist o cale Cc arbore consistent cu K care clasic acel caz (cf. denitia 2.2.2). Conform a n a a algoritmului de constructie de mai sus, rezult c respectiva cale va inclus tabel, astfel a a a n a at orice caz c consistent K va clasicat de cel putin o linie a tabelei de decizie. Aadar, nc n s tabela este complet raport cu regiunea K. a n Tabel de decizie => Arbore de decizie a

72

ECHIVALENTA REPREZENTARILOR

Vom demonstra acest implicatie prin inductie asupra numrului de atribute ale tabelei. a a Prin conventie, vom considera c o tabel de decizie fr nici un atribut are un singur rnd a a aa a corespunztor propozitiei elementare de clasicare adevrat i prin urmare realizeaz o singur a a s a a clasicare. Etapa de vericare 1. Dac numrul atributelor este 0, se creeaz un arbore de decizie compus dintr-un singur a a a nod de clasicare a crui propozitie elementar de clasicare corespunde singurei clasicrii a a a realizate de tabel. a 2. Dac numrul de linii din tabel este 0, se creeaz un arbore de decizie compus dintr-un a a a a singur nod de clasicare a crui propozitie elementar de clasicare este arbitrar aleas. a a a 3. Dac numrul clasicrilor distincte din tabel este 1, se creeaza un arbore de decizie a a a a compus dintr-un singur nod de clasicare a crui propozitie elementar de clasicare coa a respunde singurei clasicri din tabel. a a Etapa de inductie Presupunem c tabela de decizie T are cel putin un atribut (coloan), cel putin o linie i cel a a s putin dou clasicri distincte. Etapa de inductie presupune urmtorii pai: a a a s 1. Se selecteaz un atribut de separare A (metodele de selectare ale atributului vor discutate a sectiunea 2.3); n 2. Se creeaz un nod de decizie n asociat acestui atribut; a 3. Pentru ecare valoare v dom(A) (din multimea de valori posibile pentru atributul A) astfel at calea prin arbore pn la atributul A (notat C(A, v)) este consistent K nc a a a a n se creeaz: a un arc cu surs nodul de decizie creat la pasul 2, a crui propozitie elementar este a n a a A = v; o nou tabel de decizie T (A, v) avnd o linie derivat din ecare linie r a tabelei T a a a a care ndeplinete urmtorul predicat de ltrare: celula asociat cu atributul A este s a a consistent cu A = v i C(A, v)&r este consistent K; prin derivare elegem a s a n nt eliminarea celulei asociate cu atributul A. continuare, se aplic pasul de inductie asupra tabelei T (A, v) care are cu un atribut mai In a putin. Aceasta dovete c arborele este echivalent cu tabela regiunea de experient K. s a n a Presupunem c tabela de decizie T este complet raport cu regiunea K. Fie un caz c a a n consistent fat de K. Din denitia 2.2.2 rezult c exist un rnd al tabelei (consistent a a a a a n K) care clasic acel caz. Analiznd pasul 3 al etapei de inductie care are loc eliminarea a a n situatiilor inconsistente fat de K, se observ c sunt eliminate doar ramurile inconsistente a a a n K. Prin urmare, rndul tabelei ce clasic instanta c va inclus arborele de decizie. Aadar, a a n s arborele este complet fat de K. a

2.3 SELECTAREA ATRIBUTULUI DE SEPARARE

73

Intr-un experiment efectuat [CC97], folosind algoritmul de conversie prezentat demonn n stratia teoremei 2.2.4, tabela de 653 de reguli obtinut din sistemul Garvan ES1 a fost convertit a a ntr-un arbore de decizie care dintre cele 46378 noduri frunz generate, doar 4562 au fost n a consistente fat de caracterizarea Garvan K1, adic doar 9% din variantele generate. a a

S-a artat aceast sectiune c reprezentarea caracterizrii regiunii de experient ca o a n a a a a multime de dependente functionale partiale este o solutie viabil la fenomenul inatiei. Totodat, a a pasul 1 al etapei de inductie evidentiaz c la conversia tabelei de decizie arbore de decizie, a a n n vederea reducerii dimensiunii tabelei, se selecteaz un atribut de separare. Metodele de selectie a ale acestui atribut de separare vor analizate continuarea acestui capitol. n

2.3

Selectarea atributului de separare

Cheia transformrii unei tabele de decizie arbore de decizie o constituie alegerea atributului a n de separare A. Dei literatura de specialitate au fost propuse mai multe criterii pentru s n aceast operatie i s-au fcut comparatii a s a ntre metodele existente [Bah92, Min89b, Min89a, BN92, LW94b], nu exist un consens alegerea celui mai bun criteriu. continuarea acestei a n In sectiuni, vor prezentate cele mai folosite criterii, o comparatie ntre acestea i o nou metod s a a (Voting) [PJN05] pentru selectarea atributului de separare. Aceste criterii vor descrise i implementate folosind reprezentarea tabel de incident s a a a n [LW94a]. Reamintesc c problemele de clasicare avem o multime de atribute predictoare {A1 , . . . , Am } i un atribut int C. Alegem n T un nod intern (de decizie) al arborelui, iar prin s t a Fn reprezentm familia de instante apartinnd nodului n. Presupunem c dom(C) = {c1 , . . . , ck } a a a i vom nota cu {ai1 , . . . , ail } valorile distincte ale atributului Ai nodul n (aceast multime s n a este nit indiferent de tipul atributului categorial sau numeric deoarece familia de instante a ce apartin nodului este una nit). a Denitia 2.3.1. Tabela de incident a atributului Ai la nivelul nodului n este o tabel care a a contine pe coloane clasicrile {c1 , . . . , ck } iar pe rnduri valorile distincte ale atributului Ai a a la nivelul nodului {ai1 , . . . , ail }. Valoarea nuv din celula (u, v) a tabelei reprezint numrul de a a instante din Fn care atributul Ai ia valoarea aiu i instantele apartin clasei cv , adic n s a nuv = Card({t Fn | d(t) = cv t.Ai = aiu }). Tabela 2.4 ilustreaz forma general a tabelei de incident aa cum a fost denit 2.3.1, iar a a a s a n Tabela 2.5 este prezentat tabela de incident pentru atributul Nivel debit din exemplul 1.2 n a a la nivelul nodului rdcin. cele ce urmeaz vom introduce entropia aa cum a fost ea denit a a a In a s a de ctre Shannon [Sha49]: a Denitia 2.3.2. Fie o multime de n evenimente posibile ale cror probabiliti de aparitie sunt a at pi . Prin entropia sistemului de evenimente se elege cantitatea: nt
n

H=
i=1

pi log2 (pi ),

(2.3.1)

74 Ai ai1 ai2 . . . ail Total c1 n11 n21 . . . nl1 c2 n12 n22 . . . nl2 ... ... ... . . . ... ...

ECHIVALENTA REPREZENTARILOR ck n1k n2k . . . nlk Total


k v=1 n1v k v=1 n2v

. . .

l u=1 nu1

l u=1 nu2

l u=1 nuk

k v=1 nlv = l u=1

k v=1 nuv

Tabela 2.4: Tabela de incident a Pe baza tabelei de incident putem deni urmtoarele proportii: a a hij = nij N
k j=1 nij

hi+ = h+j =

N
l i=1 nij

Vom deni continutul informational al ecrei celule, clase i atribut aplicnd denitia 2.3.2 a s a tabelei de incident, astfel: a
l k

Hcell =
i=1 j=1 k

hij log2 hij

Hclass =
j=1 l

h+j log2 h+j

Hattribute =
i=1

hi+ log2 hi+

Folosind continutul informational denit mai sus au fost introduse literatur diverse msuri n a a utilizate alegerea atributului de separare. Forma, continutul i performantele arborelui de n s decizie depind puternic de msura aleas. continuare, vor mentionate cele mai utilizate a a In msuri: a (DV) Distinct V alues = Card(dom(A)) = l [PN02a] (IG) (Inf ormation) Gain = Hclass + Hattribute Hcell [Qui86, Qui93] (GR) Gain Ratio = Gain/Hattribute [Qui86, Qui93] (Dn) Distanta 1 dN = Gain/Hcell [dM91]

2.3 SELECTAREA ATRIBUTULUI DE SEPARARE

75

(G-s) p-valoarea7 corespunztoare statisticii G [Min87, Min89b]. Statistica G este denit a a ca G = 2 N Gain log2 (Chi2-s) p-valoarea corespunztoare statisticii 2 [Kan03, Bra99]. Statistica 2 este dea nit ca a (hi+ h+j N nij )2 2 = hi+ h+j N
i j

(Gini) Gini Index = Gini Giniattribute [BFOS84, MAR96, SAM96] Gini =


j1 =j2

h+j1 h+j2

Giniattribute =
i

(hi+
j1 =j2

hi/j1 hi/j2 ) nij k t=1 nit

hi/j = (RM) R-measure =


i hi+ maxj

nij = N hi+

h2 i/j

[NH99, NHS00]

cazul care se utilizeaz msurile bazate pe p-valoare se alege atributul care minimizeaz In n a a a msura. Pentru celelalte msuri se alege atributul pentru care se obtine valoarea maxim a a a a msurii. Aplicnd una sau alta din msurile de mai sus se obtin cei mai cunoscuti algoritmi de a a a constructie a arborilor de decizie. De exemplu, aplicnd msura Gain Ratio se obtine o varianta a a a cunoscutilor algoritmi ID3/C4.5/C5 (Quinlan J. R.), care se caut minimizarea numrului n a a maxim de clasicri distincte din T (A, v) (ctigul entropic maxim (maximum entropy gain) a as [Qui86]). Shwayder [Shw71, Shw74] propune un euristic bazat pe dispersia maxim, astfel at a nc n a numrul liniilor din tabelele create la pasul 3 etapa de inductie (vezi pagina 72) s e egale. a Pentru a compara performantele msurilor denite pn acum, aceste msuri, plus msura a a a a a Voting, au fost implementate ntr-un mediu dedicat ingineriei cunotintelor, i anume Expert s s System Creator [Pop00a, Pop02a, PN03]. Rezultatele obtinute sunt prezentate Tabela 2.6 n [PN02a] (pentru simplitate, valorile mediilor din acest tabel au fost rotunjite la cel mai apropiat numr a ntreg, mai mic dect valoarea real). Valorile din tabel sunt formatul cn/dn/l/ab, a a n unde: cn reprezint numrul de noduri de clasicare (frunz), a a a dn reprezint numrul de noduri de decizie (interne), a a a a a l reprezint adncimea arborelui (numrul de nivele), ab reprezint numrul mediu de noduri pe nivel. a a

76

ECHIVALENTA REPREZENTARILOR

Nivel debit Ridicat Mediu Sczut a Total Nume Hcell Hattribute Hclass

Mare 3 1 2 6

Sczut a 0 2 2 4

Total 3 3 4 10

Valoare 2.2464 1.5709 0.9709

Nume Distinct Values Information Gain Gain Ratio 1 dN Statistica G p-valoarea statisticii G Statistica 2 p-valoarea statisticii 2 Gini Gini attribute Gini Index R-measure

Valoare 3 0.2954 0.1880 0.1315 4.0959 0.1289 3.0555 0.2170 0.24 0.1666 0.0733 0.5333

Tabela 2.5: Tabela de incident i valorile msurilor pentru atributul Nivel debit a s a

Msura a / Numr a de instante Distinct Values Information Gain Gain Ratio 1 dN p-valoarea statisticii G p-valoarea statisticii 2 Gini Index R-measure Voting

500

1000

2000

2500

Media

462/92/4/138 134/24/3/52 392/42/4/108 54/12/4/16 261/58/9/35 66/36/8/12 301/49/6/58 58/19/5/15 214/62/9/30 81/35/8/14 197/67/8/33 83/30/7/16 405/42/4/111 54/12/4/16 405/42/4/111 54/12/4/16 366/42/5/81 54/14/4/17

929/163/4/273 274/64/3/112 769/123/4/223 141/14/4/38 596/121/12/59 140/51/12/15 653/106/5/151 133/35/5/33 414/133/9/60 169/76/8/30 445/134/10/57 174/81/8/31 773/123/4/224 141/14/4/38 780/123/4/225 141/14/4/38 732/116/5/169 136/25/5/32

1809/342/4/537 586/107/3/231 1592/305/4/474 330/14/4/86 1026/228/15/83 265/98/14/25 1141/201/7/191 255/69/7/46 775/274/9/116 338/165/9/55 827/279/10/110 350/160/9/56 1641/316/4/489 562/107/3/223 1653/314/4/491 560/107/3/222 1530/284/5/362 315/21/5/67

2310/422/5/546 848/141/3/329 1978/415/5/478 450/21/4/117 1215/267/22/67 329/136/21/22 1430/265/8/211 327/81/7/58 954/352/9/145 399/208/9/67 1006/346/11/122 412/209/11/56 1963/415/5/475 450/21/4/117 1956/415/5/474 450/21/4/117 1928/415/5/468 450/21/4/117

1377/254/4/384 460/84/3/181 1182/221/4/330 243/15/4/64 774/168/14/65 200/80/13/20 881/155/6/159 193/51/6/40 589/205/9/88 246/121/8/43 618/206/9/84 254/120/8/42 1195/224/4/334 301/38/3/90 1198/223/4/334 301/38/3/90 1139/214/5/270 238/20/4/57

Tabela 2.6: Selectia atributului de separare

2.3 SELECTAREA ATRIBUTULUI DE SEPARARE

77

Setul de antrenament reprezint tipuri de acoperiri cu pduri pentru parcele de 30x30 metri a a obtinut de la US Forest Service (USFS) Region 2 Resource Information System (RIS). Acest set de date (numit CoverType) este public disponibil i poate descrcat de la adresa [SHM98]. s a Setul de date este caracterizat prin 54 atribute predictoare (10 continue i 44 categoriale), un s atribut int cu 7 clase de clasicare i un numr total de 581012 t a s a nregistrri care nu contin a valori lips. Din acest set de date s-au format eantioane de 500, 1000, 2000, respectiv 2500 a s nregistrri - valorile atributelor continue ind discretizate a ntr-un numr predenit de grupe a valorice - pentru a evalua performantele celor 9 msuri incluse Tabela 2.6. Prima linie a a n ecrei celule corespunde arborelui obtinut fr aplicarea fazei de reducere (pruning), timp a aa n ce a doua linie descrie arborele obtinut dup reducerea arborelui folosind metoda Min Support a cu minsup = 7. Detaliile despre reducerea arborilor de decizie sunt prezentate sectiunea 2.4. n

2.3.1

Msura Voting a

Pornind de la faptul c folosind diferite msuri se obtin arbori de decizie de dimensiuni i a a s performante diferite pe acelai set de date de antrenament, continuare va propus o nou s n a a msur pentru selectarea atributului de separare Voting care va elimina aceast inuent. a a a a a Pe de alt parte, dup cum s-a artat pagina 74 calcularea tuturor msurilor se face folosind a a a n tabela de incident. Astfel, avnd la dispozitie toate elementele necesare, de ce s se calculeze i a a a s s se foloseasc o msur unic la ecare nod? De ce s nu e evaluate toate msurile (disponible a a a a a a a ntr-o implementare particular) i s se aleag atributul declarat ctigtor de cele mai multe a s a a as a msuri? De fapt, acesta este ideea de baz a metodei Voting care este ilustrat Figura 2.5. a a a n metoda Voting, nu exist un criteriu xat apriori pentru toate nodurile, ci la ecare nod de In a decizie, ecare criteriu voteaz cel mai bun atribut de separare i atributul cu cele mai multe a s voturi este declarat ctigtor. as a Rezultatele experimentale au artat c toate cazurile testate (500, 1000, 2000 i 2500 de a a n s nregistrri), s-a obtinut de ecare dat arbori de decizie apropiati de cea mai bun variant a a a a obtinut cu msura particular cea mai potrivit pentru acel set de date. Tabelele de incident a a a a a corespunztoare atributelor nu au dimensiuni foarte mari i pot procesat fr probleme direct a s aa memoria de lucru. De aici, rezult c timpul necesar calculrii acestei msuri nu este semnin a a a a cativ pentru performantele generale ale ntregului algoritm. De exemplu, timpul total necesar pentru construirea arborilor de decizie pentru cele 4 seturi de antrenament (500, 1000, 2000 i s 2500 nregistrri) este de 16, 17, 18 secunde pentru metodele indexul Gini, Gain Ratio, respectiv a Voting (pe o main cu un procesor AMD Athlon XP 2600+ i 512Mb RAM, softwareul ind s a s implementat i rulat sub Java Runtime Environment V1.4.2). s Experimentele fcute au vizat att stabilirea ecientei ct i acuratetii arborilor construiti a a a s folosind metoda Voting comparativ cu celelalte metode. Pentru a msura parametrul ecient, a a au fost calculate dimensiunea arborilor numrul de noduri interne i u, precum i numrul n a s s a de nivele ale arborelui (vezi Tabela 2.6). Pentru a estima acuratetea, au fost calculate rata de
In testarea ipotezelor statistice, p-valoarea unei valori observate tobs a unei variabile aleatoare T folosit ca a statistic de test este probabilitatea ca, tiind c ipoteza nul este adevrat, T va presupune o valoare cel putin a s a a a a la fel de nefavorabil comparativ cu ipoteza nul ca valoarea observat tobs . Cel putin la fel de nefavorabil a a a poate s a nsemne unele cazuri mai mare ca iar unele cazuri mai mic ca. Adic, p-valoare este probabilitatea n n a s obtinem o potrivire pur din amplare. a nt
7

78

ECHIVALENTA REPREZENTARILOR

Voting(AttributeList AL, SelectionCriteriaList SCL, partition D) Let M [sizeof (AL)] be an array of Measure objects for(each attribute attr in AL) Compute the contingency table CTattr for attribute attr and partition D; Compute the measures dened in page 74 based on CTattr ; Store the measures in object M [attr].measures; Let M [attr].votes = 0; endfor for(each selection criterion sc in SCL) Let attr = ApplyCriteria(sc, M ) the attribute selected by criteria sc; Let M [attr].votes = M [attr].votes + 1; endfor return attribute attr so that M [attr].votes is maximum;

Figura 2.5: Metoda Voting eroare obtinut la clasicarea cazurilor noi i limea medie (average breadth), adic numrul a s at a a mediu de noduri pe nivel (vezi Tabela 2.6). Diagrama 2.6 prezint rezultatele obtinute pentru trei a parametrii: rata de eroare, numrul de noduri i adncimea arborelui. Aceste rezultate dovedesc a s a c metoda Voting produce arbori de decizie rapizi, de a ncredere i cu o acuratete sportit, ind s a potrivit pentru extensii i lucrri viitoare (de exemplu, adaptarea metodei pentru atribute a s a continue).

2.3.2

Agregarea tabelei de incident din seturi mari de date a

Dup cum s-a artat sectiunea anterioar, tabela de incident are un rol hotrtor a a n a a aa n selectarea atributului de separare, constituind suportul pentru calcularea tuturor msurilor. a Aadar, constructia acesteia trebuie s primeasc atentia cuvenit, performantele algoritmului s a a a folosit inuentnd a ntreg procesul de constructie al arborelui de decizie. aceast sectiune se In a investigheaz constructia tabelei de incident i sunt propuse dou metode (una bazat pe SQL a a s a a n n ntr-o i cealalt pe tehnologia OLAP) [PJN05] de agregare cazul care cazurile sunt stocate s a baz de date relational. a a cazul seturilor de date de mici dimensiuni (zeci de mii de cazuri), construirea tabelei de In incident se poate realiza simplu prin stocarea acestor cazuri memoria de lucru i contrizarea a n s sumelor din celulele tabelei on the y. Seturile de date de mari dimensiuni (sute de mii sau milioane de cazuri) au primit o atentie deosebit ultimii zece ani a n ntr-un domeniu exploziv, i anume Data Minig (Mineritul Datelor). Majoritatea acestor seturi mari de date sunt stocate s baze de date, i cel mai frecvent baze de date relationale. Tabela din exemplul 1.2 este n s n reprezentat mod natural modelul relational printr-o tabel cu urmtoarea structur: a n n a a a CREATE TABLE Imprumut (NivelDebit char(20), NivelVenit char(20), -- numele tabelei -- atributul NivelDebit -- atributul NivelVenit

2.3 SELECTAREA ATRIBUTULUI DE SEPARARE

79

Figura 2.6: Rezultate experimentale FormaAngajare char(20), -- atributul FormaAngajare NivelRisc char(20)); -- atributul NivelRisc Cazurile ind stocate ntr-o baz de date relational, utilizarea interogrilor SQL pentru a a a constructia tabelei de incident pare s e o abordare potrivit, care ar benecia de toate a a a avantajele oferite de procesoarele de interogri incluse RDBMS (optimizri, caching datelor a n a primare etc.). Spre exemplu, comanda SQL care construiete tabela de incident din Figura 2.5 s a pentru atributul Nivel Debit este urmtoarea: a TRANSFORM Count(Imprumut.NivelVenit) AS CountOfNivelVenit SELECT Imprumut.NivelDebit, Count(Imprumut.NivelVenit) AS Total FROM Imprumut GROUP BY Imprumut.NivelDebit PIVOT Imprumut.NivelRisc; exemplul anterior construit este vorba despre o agregare simpl, care sunt implicate In a n date dintr-o singur tabel. Rareori este cazul practic s avem toate datele la a a n a a ndemn a a ntro singur tabel. cele mai multe cazuri datele de care avem nevoie agregri trebuie regsite, a a In n a a compuse din mai multe tabele, relationate prin diverse cmpuri. acest caz, este nevoie de o a In etap intermediar, anterioar celei de agregare: preprocesarea datelor. Spre exemplu, adugnd a a a a a cmpul Oras tabelei Imprumut a ALTER TABLE Imprumut ADD (Oras char(50)); i tabela Oras baza de date s n

80 Nivel debit Transilvania Moldova Tara Romneasc a a Total Mare 4 1 1 6

ECHIVALENTA REPREZENTARILOR Sczut a 1 1 2 4 Total 5 2 3 10

Tabela 2.7: Tabela de incident pentru atributul Regiune a CREATE TABLE Oras (Nume char(50), Regiune char(50), NumarLocuitori integer); putem relationala cmpul Oras din tabela Imprumut cu Nume din tabela Oras. conti a In nuare, vom construi tabela de incident pentru atributul Regiune din tabela Oras. Primul pas a al acestei constructii presupune compunerea tabelelor Oras i Imprumut interogarea OrasIm s n prumut SELECT Oras.*, Imprumut.* FROM Oras LEFT JOIN Imprumut ON Oras.Nume = Imprumut.Oras; dup care agregarea se va face pe rezultatul obtinut anterior (un posibil rezultat Taa n bela 2.7). TRANSFORM Count([OrasImprumut].[NivelDebit]) AS CountOfNivelDebit SELECT [OrasImprumut].[Regiune], Count([OrasImprumut].[NivelDebit]) AS Total FROM OrasImprumut GROUP BY [OrasImprumut].[Regiune] PIVOT [OrasImprumut].[NivelRisc]; Prin relationarea tabelelor modelul relational rezult ierarhii de concepte precum cel n a descris mai sus. Construirea tabelelor de incident este posibil i cazul acestor ierarhii dup a a s n a cum a fost exemplicat. Dintre avantajele construirii tabelelor de incident folosind interogrile a a SQL sunt amintite: simplitatea abordrii a portabilitatea oferit de limbajul SQL a optimizare de vitez rezultat din performantele deosebite ale procesoarelor de a a nterogri a incorporate majoritatea sistemelor de gestiune a bazelor de date (DBMS) moderne n Dar, pe lng aceste avantaje, abordarea SQL are dou dezavantaje majore: a a a cu toate optimizrile de vitez din procesoarele de interogri, viteza de executie a intea a a rogrilor SQL pentru seturi de date de dimensiuni foarte mari este a sczut; a nc a a

2.3 SELECTAREA ATRIBUTULUI DE SEPARARE

81

nu are capacitatea de a refolosi rezultatele anterioare (de exemplu, dac a ntr-o anumit a etap a algoritmului sunt calculate numrul de aparitii pentru o clas, acest rezultat nu a a a va refolosit etapele urmtoare chiar dac conditia rmne aceeai). n a a a a s Dac la dezavantajele de mai sus mai adugm i numrul mare de calcule implicat a a a s a n crearea tabelelor de incident la validarea arborelui folosind tehnica cross-validation, este clar a c interogrile SQL nu sunt cea mai potrivit solutie acest caz. a a a n Crearea tabelelor de incident necesit apelarea functiei COUNT mod repetat pentru a a n diverse seturi de date. Cea mai adecvat tehnologie pentru abordarea acestei probleme este a cea care se ocup mod ecient de operatiile de agregare pentru seturi mari de date, ind a n acelai timp capabil de a reutiliza rezultatele partiale pentru operatiile de agregare care se n s a suprapun. O asemenea abordare este oferit de Online Analytical Processing (OLAP), introdus a a de ctre Codd [CCS93]. Aceast tehnic structureaz un set mare de date a n a a a ntr-un cub (OLAP) multidimensional asupra cruia se execut apoi interogri folosind standardul de-facto a a a MDX (Multidimensional Expressions ). Detalii despre aceast tehnologie i limbajul MDX pot a s gsite [Tho02, Spo01]. A fost artat c interogri complexe pe acest cub sunt rezolvate a n a a a n aproximativ 0.1% din timpul necesar rezolvrii unui astfel de query de motorul clasic al unei a baze de date relationale. Cubul este creat pe baza unei scheme de tabele form de stea, n a n care tabela central contine faptele care vor forma cubul iar tabelele relationate cu cea central a a vor deni dimensiunile cubului. Aceste tabele indic modurile care datele relationale agregate a n pot analizate. Exist trei tipuri de OLAP: MOLAP (Multidimensional OLAP) abordarea a cea mai folosit, ROLAP (Relational OLAP) i HOLAP (Hybrid OLAP). a s Abordarea prezentat continuare pornete de la ideea ca din setul de date de intrare s a n s a construim un cub OLAP care toate atributele sunt modelate ca dimensiuni ale cubului OLAP, n numele ecrei dimensiuni ind numele actual al atributului. plus, dimensiunea msurilor a In a cubului are un singur membru, COUNT. Interognd acest cub folosind limbajul MDX vom putea a construi uor i rapid tabela de incident pentru orice atribute, la orice nivel al arborelui. s s a Pentru simplitate vom presupune c setul nostru de date contine doar atribute categoriale, a atributele cu valori continue ind discretizate nainte de a constiui date de intrare pentru procesul descris aici. implementara noastr a fost utilizat platforma MOLAP oferit de Microsoft In a a a SQL Server 2005 Analysis Services [HQ05] care este cea mai popular platform de OLAP a a n anul 2005, cu 28% din segementul de piat (cf. The OLAP Report 2006 [Pen]). Setul de date a este format dintr-un subset al bazei de date Adult Census compus din atributele Workclass, a Education, MaritalStatus, Occupation, Relationship, Race, Sex, NativeCountry. Pe baza acestor atribute i s mpreun cu atributul int YearlyIncome (venit anual mai mic sau mai mare dect a t a a $50000) s-a construit un cub OLAP utiliznd SQL Server 2005. Odat ce cubul a fost construit, a a crearea tabelei de incident pentru atributul AttributeName, de exemplu, se reduce la executarea a urmtoarei interogri MDX: a a SELECT YearlyIncome.Members on Axis(0), Education.Members on Axis(1) FROM Adult WHERE

82 (Measures.[Adult Count])

ECHIVALENTA REPREZENTARILOR

Se observ c aceast interogare este utilizat pentru a crea tabela de incident pentru a a a a a selectarea atributului de separare la nivelul rdcinii arborelui de decizie. Dac se dorete a a a s selectarea atributului de separare pentru un nod care are calea dat de a Education = 10th and M aritalStatul = Divorced, atunci vom utiliza urmtoarea interogare MDX: a SELECT YearlyIncome.Members on Axis(0), Workclass.Members on Axis(1) FROM Adult WHERE (Measures.[Adult Count], Education.[10th], MaritalStatus.[Divorced]) Utiliznd abordarea bazat pe cuburi OLAP pentru a crea tabela de incident beneciem a a a de urmtoarele avantaje: a o singur interogare MDX ofer o tabel de incident complet; a a a a a rezultatele partiale utilizate de motorul OLAP pentru a calcula tabelele de incident sunt a cached si reutilizate automat pentru tabelele ulterioare; datorit abilitilor de caching pro-active oferite de motorul OLAP, performantele sunt a at foarte bune chiar i pentru seturi mari de date. s

2.4

Reducerea arborilor de decizie

Faza de reducere (pruning) generalizeaz arborele obtinut etapa de inducere vederea a n n eliminrii efectului de overtting, adic super-potrivirea pe setul de antrenament. Arborele a a obtinut urma acestei etape mrete acuratetea clasicrii noilor cazuri prin eliminarea zgo n a s a motelor statistice i a variatiilor. Un exemplu de reducere a unui arbore de decizie este prezentat s Figura 1.9, la pagina 43. [Min89a], Mingers face o prezentare exhaustiv a unui numr de n In a a cinci metode de reducere: Error-Complexity Pruning, Critical Value Pruning, Reduced-Error Pruning, Minimum-Error Pruning i Pessimistic Error Pruning. Rezultatele experimentale pe s cinci seturi de date din diverse domenii (fotbal, medicin, amnt, biologie i inginerie) ina nvta a s dic faptul toate metodele analizate asigur o reducere cu pn la 25% a arborelui initial, iar a a a a arborii obtinuti prin primele trei metode dau cele mai bune rezultate la clasicarea noilor cazuri. Tot primele trei metode au a nevoie de seturi de date de test suplimentare pentru faza de ns reducere. Deasemenea, se mentioneaz c nu exist nici o dovad experimental c ar exista a a a a a a vreo legtur a a ntre metoda de reducere i metoda de selectie a atributului de separare faza s n

2.5 CONCLUZII
Metoda Cost-complexity Reduced error Minimum error Critical value Pessimistic Bootstrap-based Error-based Minimum description length Dynamic programming based Frontier-based Autorii Breiman et al. (1984) Quinlan (1987) Cestnik and Bratko (1991) Mingers (1989) Quinlan (1987) Crawford (1989) Quinlan (1993) Mehta et al. (1995) Li et al. (2001) Huo, Kim, Tsui, Wang (2004) Strategia Bottom-up Bottom-up Bottom-up Bottom-up Top-down Bottom-up Bottom-up Bottom-up Bottom-up Bottom-up Set de validare Da Da Da Da Nu Da Nu Da Da Da

83

Tabela 2.8: Algoritmi de reducere a arborilor de decizie de cretere a arborelui. Tabela 2.8 prezint cele mai cunoscute metode de reducere, autorii lor, s a anul de aparitie, strategia folosit i dac necesit un set de date de validare suplimentar. as a a continuare, vor descrise sumar tehnicile de reducere a arborilor implementate Expert In n System Creator. cazul ESC, reducerea arborilor de decizie este fcut dou etape: comIn a a n a pactarea i generalizarea. prima etap (compactarea) sunt comasate toate nodurile frunz ale s In a a unui nod intern care au aceeai propozitie elementar de clasicare s a ntr-unul singur, propozitia elementar cauzal asociat arcului de legtura cu nodul printe ind denit de disjunctia a a a a a a propozitiilor elementare cauzale corespunztoare tuturor nodurilor frunz comasate. Aceast a a a etap nu aduce nici o a mbuntire performanta arborelui de decizie deoarece nu se realizeaz a at n a o generalizare propriu-zis, ci doar o re-aranjare i compactare a arborelui. a s Cea de-a doua etap (generalizarea) ofer utilizatorilor trei metode: Reduced Error [Qui93], a a Min Support i Min Condence. metoda Min Support un nod de decizie n i subarborele s In s corespunztor acestuia sunt a nlocuiti cu un nod frunz (de clasicare) cazul care familia a n n de instante a nodului Fn are mai putine elemente dect o limit inferioar minsup precizat. a a a a metoda Clasicarea realizat de noul nod de clasicare corespunde clasei majoritare Fn . In a n Min Condence un nod de decizie este nlocuit cu unul frunz dac cel putin minconf instante a a din Fn apartin unei clase. De obicei, minconf ia valori ridicate, 80%-90%.

2.5

Concluzii

acest capitol a fost investigat echivalenta modelelor de reprezentare a cunotintelor (seturi In a s de reguli, arbori i tabele de decizie). Dou aspecte importante ale algoritmilor de conversie au s a fost abordate: problema inatiei i alegerea atributului de separare la constructia arborelui de s decizie. La conversia dintr-o form alta apare un fenomen de cretere dimensiune a obiectului a n s n translatat, fenomen denumit inatie. Dup analiza algoritmilor de conversie, s-a artat c prin a a a cipala cauz a inatiei este folosirea a ntregului spatiu de atribute reprezentarea i conversia n s modelului, timp ce doar o mic portiune din acesta regiunea de experient este acopen a a

84

ECHIVALENTA REPREZENTARILOR

rit de cazurile reale [PN00]. Cheia solutiei propuse pentru reducerea efectelor inatiei este a reprezentarea modelului de cunotinte relativ la regiunea de experient [PN00]. Pentru caractes a rizarea acestei regiuni au fost introduse dependentele functionale partiale [PN00]. Determinarea automat a acestora se poate face cu mai multe metode, cea bazat pe descoperirea regulilor de a a asociere ind prezentat sectiunea 2.1.1 [Pop06a]. Pentru construirea acestei reprezentri a a n a fost folosit algoritmul Apriopri. O sintez a algoritmilor secventiali (i paraleli) pentru descoa s perirea regulilor de asociere a fost publicat [Pop02d]. Reprezentarea a fost aplicat cazul a n a n sistemului Garvan ES1 i au fost prezentate rezultatele obtinute. Totodat, a fost prezentat s a un algoritm pentru construirea caracterizrii K1. continuare, au fost analizati algoritmii a In de conversie a modelelor vederea utilizrii regiunii de experient. S-a dovedit c utilizarea n a a a regiuni de experient are ca rezultat obtinerea unor conversii optimizate, din care sunt eliminate a cazurile ireale, inconsistente sau sporadice ce pot generate timpul conversiei. n Un alt aspect important abordat acest capitol este legat de algoritmul de conversie a n tabelei de decizie arbore de decizie, i anume etapa de selectare a atributului de separare. n s Primele rezultate experimentale ale aplicrii diverselor criteri de selectie au fost publicate a n [PN02a]. Este prezentat o nou metod de selectare a atributului de separare, i anume mea a a s toda Voting [PJN05]. Aceast metod implic alegerea atributului de separare dup evaluarea a a a a mai multor criterii i selectarea atribului declarat ctigtor de cele mai multe ori. Sunt deases as a menea prezentate dou noi metode, una bazat pe SQL i cealalt pe tehnologia OLAP [PJN05], a a s a pentru agregarea tabelei de incident functie de dimensiunile setului de date de intrare. a n acest capitol a fost tratat cazul care toate atributele predictoare sunt categoriale, In n cazul atributelor continue ind redus la cel categorial prin discretizarea acestora din urm. a O directie de investigat viitor o constituie adaptarea metodei Voting la cazul atributelor n continue. Deasemenea, eforturi suplimentare pot investite tratarea cazului multivariate, n adic posibilitatea de denire a criteriilor de separare compuse (din mai multe atribute) pentru a selectia atributului de separare.

Capitolul 3

Mediu pentru dezvoltarea sistemelor bazate pe cunotinte s


Acest capitol este dedicat prezentrii mediului i metodologiei de dezvoltare Expert System a s Creator o suit de aplicatii pentru crearea sistemelor bazate pe cunotinte ce ofer suport a s a pentru ntreg ciclul de viat al unui produs software. Motivatia ce a condus la dezvoltarea a acestui mediu i obiectivele urmrite sunt prezentate prima sectiune. Tot acolo este fcut s a n a i un scurt istoric al evolutiei sistemului. Sectiunea urmtoare prezint arhitectura sistemului s a a Expert System Creator i modul care acest mediu de dezvoltare rspunde nevoilor din lumea s n a sistemelor bazate pe cunotinte. Editoarele de reguli de productie, arbori de decizie sau tabele s n de decizie mpreun cu depanatoarele i trasoarele integrate vor descrise sectiunea 3.3, a s n care mai sunt prezentate i facilitile de vericare i validare a bazei de cunotinte disponis at s s s a bile. Sectiunea 3.4 descrie modulele generator de cod i gestionar de dictionare care ajut la integrarea bazei de cunotinte sistemul bazat pe cuotinte i la inter-comunicarea cu alte s n s s module, precum interfata cu utilizatorul sau accesul la resursele externe. Sectiunea 3.5 intr duce noi valente nodurilor arborilor de decizie, respectiv celulelor tabelelor de decizie, care vin sprijinul achizitiei cunotintelor de la expertii umani. Gestionarea i explorarea versiunin s s lor este prezentat sectiunea 3.6, timp ce modulele destinate accesrii bazelor de date a n n a relationale sunt prezentate sectiunea 3.7. Sectiunea 3.8 red modul care este generat n a n a automat documentatia intern a sistemului iar sectiunea 3.9 este descris metodologia de a n a dezvoltare a sistemelor bazate pe cunotinte folosind mediul Expert System Creator. Ultima s sectiune a acestui capitol revizuiete facilitile sistemului, sumarizeaz publicatiile care a s at a n fost descris sistemul i contureaz directiile viitoare de dezvoltare. s a

3.1

Motivatie, scop i istoric s

Un sistem bazat pe cunotinte (SBC) poate structurat pe urmtoarele nivele: s a baza de cunotinte i motorul de inferent, s s a interfat grac cu utilizatorul, a a nivelul datelor de intrare (de test, de validare sau de estimare) 85

86

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

Fiecare din aceste nivele ridic probleme specice atunci cnd trebuie materializate lua a n mea aplicatiilor reale, performante. De exemplu, pentru reprezentarea bazei de cunotinte se s utilizeaz cteva modele, dintre care amintesc: arbori de clasicare i regresie, tabele de decizie, a a s seturi de reguli, sisteme bazate pe cadre (frame), reprezentri bazate pe instante sau clustea rele. Fiecare model are avantajele i dezavantajele sale detaliate Tabela 1.1 i capitolul 1. s n s n Alegerea modelului folosit este o decizie de mare important, care poate inuenta robustetea i a s exibilitatea ntregului sistem. Cum unele dintre modelele de mai sus sunt echivalente, de ce nu ar posibil s avem vederi diferite (de exemplu expertul uman s vad sistemul ca pe un a a a set de reguli de productie, timp ce dezvoltatorul s opereze asupra arborelui de decizie) ale n a aceleiai baze de cunotinte? O alt problem important este integrarea i interoperarea bazei s s a a a s de cunotinte (i a motorului de inferent) cu interfata grac utilizator care poate varia de la s s a a un sistem de ferestre (tip Windows, xWindows, MacOS X etc.) pn la interfete Web accesibile a a folosind navigatoarele (browser) Web. Conectarea i comunicarea cu bazele de date (relationale, s XML, obiectuale etc.) reprezint un alt aspect important construirea SBC deoarece datele a n de test, de evaluare sau de estimare se pot aa pe medii dintre cele mai diferite. Platformele ntreprindere (enterprise) de tipul Sun J2EE sau Microsoft .NET Framework au deschis noi oportuniti i pentru sistemele bazate pe cunotinte care trebuie acum s se integreze aceste at s s a n platforme deosebit de productive. anii 80 au fost create multe utilitare pentru crearea sistemelor expert, de exemplu [Fro87, In Del87] pentru a aminti doar dou dintre ele. Un mediu de dezvoltare propus recent este Visual a Jess [GTOB05] care ofer utilizatorului o interfat grac pentru denirea obiectelor unei baze a a a de cunotinte care sunt apoi generate sintaxa JESS. Crearea bazelor de cunotinte sub forma s n s regulilor de productie este suportat Expert System Creator de ctre Editorul de reguli de a n a productie (DFrD). Spre deosebire de Expert System Creatorm instrumentul Visual JESS nu include faciliti de depanare, versionare sau documentare. at O alt unealt puternic pentru reprezentarea i gestionarea cunotintelor este sistemul a a a s s Protg, oferit de ctre Stanford Medical Informatics [SU06]. Acesta permite construirea de e e a ontologii specice unui domeniu particular, particularizarea formelor de achizitie de cunotinte s i introducerea informatiilor. Comparativ cu Protg, Expert System Creator permite integras e e rea bazei de cunotinte create cu s ntreg sistemul bazat pe cunotinte, adic motorul de inferent, s a a interfetele de intrare-ieire etc. s Avnd minte dicultile mentionate la a n at nceputul acestei sectiuni i putinele eforturi s semnicative directia n mbuntirii lor, s-a a at nceput proiectarea unui sistem informatic care nu doar s solutioneze problemele identicate, dar i s vin ajutorul tuturor categoriilor de a s a a n participanti la dezvoltarea unui sistem bazat pe cunotinte modern: inginerilor de cunotinte, s s expertilor umani, arhitectilor de sistem, dezvoltatorilor software sau testorilor. Cum aceti s participanti au nivele diferite de cunoatere i utilizare a tehnologiilor informatiei, sistemul s s informatic trebuie s e uor de folosit, s ofere perspective diferite personalizate dar i s a s a s a permit activiti de codare i implementare. a at s Un alt deziderat avut vedere a fost suportul pe care poate s-l ofere aceast aplicatie pe n a a ntreg ciclul de viat al sistemului bazat pe cunotinte. Pe scurt, ciclul de viat al unui sistem a s a bazat pe cunotinte este, la fel ca al oricrui sistem informatic, compus din urmtorele faze: s a a Evaluarea problemei i proiectarea sistemului. aceast prim etap trebuie s se rspuns In a a a a a

3.1 MOTIVATIE, SCOP SI ISTORIC

87

d la urmtoarele a a ntrebri (esentiale): De ce s contruim sistemul? Merit constructia lui? a a a La ce ne putem atepta de la sistem nal? urma analizei, se va deni clar conceptul s n In proiectului i se va proiecta o prim arhitectur a sistemului, care eventual poate s sufere s a a a mici modicri etapele care urmeaz. a n a Dezvoltarea sistemului. acest etap se decide asupra modelului de reprezentare a In a a cunotintelor folosit i a mediului (sau cadrul - framework) care se va face implementarea. s s n continuare, se transpune arhitectura sistemului denit la pasul anterior module In a n functionale mediul de dezvoltare ales, rezultnd un sistem functional. n a Vericarea, validarea i evaluarea sistemului. Aceast etap trebuie s rspund la urms a a a a a a toarele ntrebri: Rspunde sistemul cerintelor utilizatorilor? Sunt utilizatorii multumiti a a urma feedbackului primit de la de sistem? Care sunt modicrile dorite de acetia? In a s utilizatori, se reia faza anterioar rezultnd o nou versiune a sistemului, mai apropiat a a a a de nevoile i ateptrile utilizatorilor. s s a a a a Documentarea proiectului. Pe parcursul dezvoltrii sistemului se elaboreaz dou tipuri timp ce documentele inde documente: documente interne i documente externe. In s terne descriu arhitectura sistemului, interfetele dintre diverse module, modelele folosite reprezentarea cunotintelor i alte detalii tehnice ale proiectului, documentele externe n s s sunt orientate utilizator. Dintre acestea amintesc: manualul de utilizare, instructiunile de instalare i congurare, prezentri i brouri. s a s s vederea atingerii elului propus i anume un sistem informatic care s In t s a ndeplineasc cea rintele prezentate mai sus urmtoarele obiective concrete au fost formulate pentru noul mediu a de dezvoltare al SBC: s permit reprezentarea bazei de cunotinte (ca reguli de productie, tabel sau arbore de a a s a decizie) ntr-o form grac, ct mai uor de a a a s nteles i manipulat de ctre toti participantii s a la dezvoltarea unui sistem bazat pe cunotinte; s a s integreze cele trei nivele ale unui sistem software: nivelul prezentare, nivelul bazei de date i nivelul logic (business intelligence); s s permit reutilizarea codului existent construirea noilor module; a a n s faciliteze extragerea asistat a cunotintelor din sistemele operationale existente (bazele a a s de date); s suporte shell-urile de sisteme expert existente (cu int direct pe JESS i CLIPS) a t a a s precum i integrarea bazelor de cunotinte sistemul bazat pe cunotinte; s s n s s ofere accesul la nivelul bazei de date pentru a putea opera direct asupra cunotintelor a s stocate la acest nivel; s faciliteze vericarea asistat de calculator a sistemului, depanarea i trasarea sistemului a a s direct pe modelele de reprezentare a cunotintelor; s

88

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE s permit versiunarea sistemelor create; a a s ofere suport pentru generarea automat a documentatiei (interne) sistemului. a a

Prin crearea unui parteneriat ntre Universitatea de Vest din Timioara i compania de s s dezvoltare software Optimal Solution Software [Sofa] cu sediul Viena, Austria anul n n 1999 s-a realizat cadrul necesar dezvoltrii sistemului informatic Expert System Creator a (ESC) care s pun practic obiectivele prezentate mai sus. Anul 2000 marcheaz lansarea a a n a a primei versiuni i totodat prima prezentare a produsului la o conferint de specialitate [Pop00b]. s a a Ultima versiune a produsului V4.0 a aprut la sfritul anului 2004. anul 2003, dou noi a as In a produse au fost construite pe platforma ESC: Optimal Decision System i Optimal Content s Management System. timp ce primul dintre ele este o variant a ESC din care s-a eliminat In a modulul de reguli de productie (Decision Frame Designer), al doilea produs reprezint un pas a nainte evolutia sistemele de management al continutului (Content Management System), i n s anume propune un sistem bazat pe reguli sub forma unor arbori de decizie pentru gestionarea i generarea continutului. fapt, acest produs nou este rezultatul integrrii ESC ( special s In a n a modulelor arbori de decizie i gestionar de dictionare) cu Optimal Report Generator [Sofc], s s aplicatia pentru generarea rapoartelor. ESC este oferit gratuit pentru mediile academice i de cercetare i poate descrcat de pe saitul rmei Optimal Solution Software [Sofb]. Sistemul s a este implementat Java2TM iar interfatarea cu modulele externe scrise C/C++ este realizat n n a folosind standardul Java Native Interface (JNI).

3.2

Arhitectura sistemului i descrierea modulelor componente s

Sistemul informatic Expert System Creator ofer unelte grace avansate pentru proiectarea, a construirea, testarea, validarea i livrarea sistemelor bazate pe cunotinte. Figura 3.1 prezint s s a arhitectura sistemului, alctuit din urmtoarele module functionale: a a Editorul de reguli de productie (Decision Frame Designer) - faciliteaz reprezentarea bazei a de cunotinte ca set de reguli de productie; s Editorul de tabele de decizie (Decision Table Designer) - faciliteaz reprezentarea bazei de a cunotinte ca tabel de decizie; s a a Editorul de arbori de decizie (Decision Tree Designer) - faciliteaz reprezentarea bazei de cunotinte ca arbore de decizie; s Gestionarul de dictionare (Dictionary Manager) - gestioneaz i integreaz structurile de as a date i obiectele importate din module externe; s s a Gestionarul i exploratorul de versiuni (Version Manager and Explorer) - asigur gestionarea i consultarea diferitelor versiuni ale aceluiai sistem; s s Generatorul de cod (Code Generator) - generez codul (CLIPS, Java sau C++) pentru a sistemul construit vederea integrrii sistemului sisteme informatice de mari dimenn a n siuni;

3.2 ARHITECTURA SISTEMULUI SI DESCRIEREA MODULELOR COMPONENTE

89

Figura 3.1: Arhitectura Expert System Creator Depanatoarele i vizualizatorul ierelor de trasare (Trace Viewer) - ofer suport pentru s s a depanarea i urmrirea functionrii sistemului; s a a Generatorul de documentatie (Documentation Generator) - genereaz documentatia in a tern a sistemului proiectat. a afar de modulele prezentate mai sus, care sunt parte integrant a mediului de dezvoltare, In a a acesta mai contine i urmtoarele module externe: s a DBMiddleware - nivelul pentru accesul transparent la baza de date (suport cele mai a cunoscute SGBD relationale); DBEngine, DBWizard i DBRepository - aceste componente ofer motoarelor de inferent s a a bazate pe reguli de productie (CLIPS i JESS) acces direct la fapte stocate baze de date s n relationale. S vedem cum mediul ESC suport toate fazele ciclului de viat a unui SBC. Expertii umani a a a pregtesc o versiune initial a bazei de cunotinte folosind unul dintre editoarele de cunotinte a a s s puse la dispozitie de mediu functie de modelul dorit. Acest model poate apoi convertit n ntr-un limbaj de programare vederea integrrii sale SBC nal. Mai exact, seturile de n a n reguli de productie sunt convertite cod CLIPS/JESS iar arborii, la fel ca i tabelele de de n s cizie, sunt convertiti entiti de tip clas limbajele de programare orientat obiect C++ n at a n a i Java. Mai mult, codul generat poate compilat vederea vericrii corectitudinii. Pens n a tru a folosi simboluri (constante, variabile, functii, tipuri de date denite de utilizator) externe

90

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

(adic din module externe sistemului proiectat) acestea trebuie importate sistemul proiectat a n folosind gestionarul de dictionare. vederea depanrii sistemului realizat, cele trei editoare In a de cunotinte au s ncorporate faciliti de tip depanator (debugger) care permit depistarea i at s depanarea problemelor utiliznd forma grac de reprezentare a bazei de cunotinte, locul a a s n depanrii clasice din CLIPS/JESS/C++/Java care presupune cunotinte i abiliti specice a s s at dezvoltatorilor de software mai degrab dect creatorilor de baze de cunotinte. Vericarea i a a s s validarea bazei de cunotinte este suportat prin faciliti specice cele trei editoare. Intes a at n grarea cu bazele de date relationale este asigurat de setul de module externe prezentate mai a vederea gestionrii versiunilor multiple ale aceluiai SBC, gestionarul de versiuni asisus. In a s gur depozitarea i regsirea acestora a s a ntr-o/dintr-o magazie (repository) de versiuni (stocat a ntr-o baz de date relational) iar exploratorul de versiuni vizualizeaz proiectele ( a a a mpreun cu a versiunile lor) (SBC-urile) existente magazia de versiuni. n Elementele grace oferite de ecare dintre editoare ajut pe expertul uman s-i exprime l a as cunotintele domeniu mai uor, adugarea unei reguli noi sau a unei noi constrngeri res n s a a ducndu-se la alegerea unei optiuni din meniu, utilizatorul ind astfel scutit de memorarea unei a sintaxe specice pentru aceast operatiune. Mai mult, editarea constrngerilor sau actiunilor se a a poate face folosind editoare grace specializate care prezint utilizatorului lista obiectelor dea nite sistem, operatorii disponibili pentru aceste obiecte, lista cu obiectele, datele i structurile n s de date importate din module externe. Bine nteles, utilizatorii de pe nivelul avansat sau expert pot oricnd s introduc manual cod CLIPS, C++ sau Java pentru a a a ndeplinirea unor sarcini mai speciale. continuarea acestui capitol vor prezentate detaliu modulele componente i interacIn n s iunile dintre acestea. t

3.3

Editoarele bazei de cunotinte s

Editorul de reguli de productie (Decision Frame Designer / DFrD) ofer proiec a tantilor posibilitatea de a construi mod vizual, grac baza de cunotinte ca set de reguli n s de productie. Aceste reguli sunt apoi converite reguli compatibile cu cele mai rspndite n a a sisteme bazate pe reguli: CLIPS (C Language Integrated Production System) [CRD93] i JESS s (Java Expert System Shell) [FH]. Ambele motoare de inferent sunt integrate editor iar a n utilizatorul poate alege orice moment motorul preferat pentru rularea, vericarea, depanarea n sau trasarea sistemului construit. vederea integrrii bazei de cunotinte i a motorului de In a s s inferent bazat pe reguli SBC nal, ESC va genera codul de lipire necesar pentru limbajele a n C++ i Java. Astfel, integrarea bazei de cunotinte i a motorului de inferent sisteme s s s a n dezvoltate C++/Java este extrem de facil. n a Un proiect DFrD este compus din unul sau mai multe module (care sunt translatate n n module CLIPS), ecare modul continnd abloane (template), variabile globale, functii i re a s s guli. Figura 3.2 aieaz o sesiune de lucru DFrD. Panoul stng al ferestrei de lucru este nft s a n a divizat dou arii, partea de sus care se a vederea proiect (Project Browser), ce aeaz n a n a s a toate obiectele denite modulul curent i partea de jos care se a panoul de proprieti n s n a at (Property Panel) care arat proprietile obiectului selectat vederea proiect. Folosind butoaa at n nele disponibile bara de unelte, noi obiecte (sau noi constrngeri) pot adugate sistem n a a n

3.3 EDITOARELE BAZEI DE CUNOSTINTE

91

Figura 3.2: Editorul de reguli de productie mod vizual. Panoul din dreapta, numit placa de desenare (Graphic Pad), aeaz obiectele n s a sistemului mod grac evidentiind graful de dependent (vezi denitia 1.3.1), precum cel din n a Figura 1.3 spre exemplu. Editorul grac structurat implementat aria plcii de desenare utin a lizeaz blocurile pentru a grupa dou sau mai multe obiecte structuri de nivel superior a a n n vederea ascunderii detaliilor din spatele unui bloc sau pentru o mai bun utilizare a spatiului a de lucru. ciuda vrstei destul de In a naintate a CLIPS-ului, nu exist alte depanatoare integrate a care s ofere faciliti comune depanatoarelor cum ar executia pas cu pas sau breakpointa at uri. DFrD ofer posibilitatea depanrii sistemului chiar forma grac reprezentat pe ecran a a n a a prin urmtoarele faciliti: breakpointuri la nivel de regul, inspectia variabilelor, executia rea at a gul-cu-regul (similar cu executia pas-cu-pas sistemele procedurale), executia pas-cu-pas a a a n consecintelor unei reguli, aarea faptelor din sistem i a agendei. DFrD suport depanarea folo s s a sind e motorul de inferent CLIPS, e JESS. Toate acestea sunt accesibile ca optiuni meniul a n cazul rulrii sistemului mod depanare, sistemul este automat executat rule-by-rule Debug. In a n (regul-cu-regul), la ecare pas vericndu-se conditia de activare a breakpoint-urilor denite a a a sistem. cazul depanrii folosind CLIPS-ul, comunicarea n In a ntre DFrD i CLIPS este realizat s a folosind tehnologia JNI (Java Native Interface). Deoarece comunicatia dintre depanator i DFrD s este descris prin interfeta public IInferenceEngine, suportarea unui nou motor de inferent a a a se reduce la implementarea interfetei Java. n
public interface IInferenceEngine { // constants for step-by-step execution

92
static static static static

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE


public public public public final final final final int int int int SI_ERROR SI_FIRST SI_MORE SI_OVER = = = = 0 1 2 3 ; ; ; ;

// reset the environment public void reset () throws ExSyException ; // startup the expertsystem public void start ( int startCode ) throws ExSyException ; // stop its evolution public void stop () throws ExSyException ; // setup options like strategy, a.s.o. public void addConsole ( JessOutput console ) throws ExSyException ; // execute specified number of steps // if noStep == -1 execute without debugging // console - an interface that implements read and write methods // returns an error code, or ok ! public int run ( int noStep, JessOutput console ) throws ExSyException ; public boolean isRunning() throws ExSyException ; // execute a command (used in step-into) public void executeCommand ( String strCommand ) throws ExSyException ; public void batchFile ( String strFileName, JessOutput console ) throws ExSyException ; // returns agenda content public Enumeration getAgenda () throws ExSyException ; // returns facts database public Enumeration getFacts () throws ExSyException ; // returns all global variables values, or just the specified one public Vector getWatches (Vector vWatch) throws ExSyException ; // add a list of constructs to the current engine public boolean addConstructs ( Vector vEntities ) throws ExSyException ; // add the files to the current engine public boolean addConstructs (String str) throws ExSyException ; // stepinto activations rule and prepare the context for step-by-step rules execution public void stepintoActivation( ExSyActivation act ) throws ExSyException ; // stepout from step-by-step execution public void stepoutActivation( ) throws ExSyException ; // executes nStepNo steps public int executeStep( int nStepNo ) throws ExSyException ; // returns the name of the next step of execution public Vector getSteps( ) throws ExSyException ; // tracing functions public void setTracer( java.io.Writer w ) ; // throws ExSyException; }

Modulul de trasare (Tracer) inclus DFrD ajut creatorii sistemului expert la identicara n a

3.3 EDITOARELE BAZEI DE CUNOSTINTE

93

Figura 3.3: Editorul de tabele de decizie

regulilor consumatoare de timp sau a regulilor des activate, vederea optimizrii timpului n a de rspuns al SBC. Acest lucru este posibil prin a nregistrarea regulilor executate mpreun a cu contextul de executie (faptele care au activat regula i valorile variabilelor globale la acel s moment) ntr-un ier de trasare i vizualizarea ulterioar acestuia folosind vizualizatorul de s s a trase (Trace Viewer). Editorul de tabele de decizie (Decision Table Designer / DTbD) ofer proiectantilor a posibilitatea de a construi mod vizual, grac baza de cunotinte ca tabel de decizie. Pentru a n s a oferi o expresivitate ct mai mare a modelului tabel de decizie, DTbD suportat modelul extins a a a n a prezentat sectiunea 1.6. La fel ca cazul DFrD, DTbD lucreaz la nivel de proiect, un proiect n ind compus din una sau mai multe tabele de decizie. Integrat DTbD este i gestionarul de n s dictionare care faciliteaz importul denitiilor (variabile, obiecte sau structuri de date) din a module externe. Dup ce au fost importate, denitiile pot folosite construirea tabelei de a n vederea integrrii tabelei decizie: e partea de constrngeri, e partea de actiuni. In n a n a de decizie SBC, proiectul tabel de decizie poate convertit n a ntr-un limbaj de programare orientat obiect (suportate pn acum C++ i Java). Conversia are loc doi pai: prima faz a a s n s n a tabela de decizie este convertit a ntr-un arbore de decizie, dup care, etapa a doua, arborele a n de decizie este converit direct cod C++/Java (vezi sectiunea 3.4 pentru detalii). n plus fat de depanarea codului generat folosind uneltele specice oferite pentru limbajele In a C++/Java, DTbD ofer un depanator integrat cu ajutorul cruia se poate depana tabela chiar a a n forma ei vizual. Utilizatorul are posibilitatea s stabileasc un breakpoint pentru oricare dintre a a a celulele tabelei iar momentul care executia tabelei va evalua respectiva celul, controlul n n a

94

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

executiei va pasat DTbD iar utilizatorul va avea prilejul s inspecteze valorile variabilelor sau s a a execute continuare tabela pas-cu-pas. Totul se face mod vizual, utilizatorul interactionnd n n a cu reprezentarea grac a tabelei cu care este obinuit. Pentru a opri executia tabelei la un a s breakpoint denit pentru o celul, modulul generator de cod adaug pentru ecare celul cod a a a aditional C++/Java. Inainte de executarea efectiv a unei celule, DTbD este interogat dac a a exist vreun breakpoint activ pentru celula respectiv. Dac exist un breakpoint activ, atunci a a a a controlul executiei este pasat rului de executie pe care ruleaz DTbD i sunt actualizate valorile a s tuturor variabilelor urmrite. momentul care utilizatorul reia executia tabelei, valorile a In n curente ale variabilelor urmrite (posibil modicate) sunt retransimise rului de executie cu a tabela de decizie. Un alt aspect important al bazei de cunotinte este corectitudinea i completitudinea ei. s s Dac pentru regulile de productie, DFrD ofer graful de dependent acest scop, DTbD prin a a a n intermediul analizorului de tabel (Table Analyzer) pune evident, prin culori diferite, regulile a n a Figura 3.3 se observ c exist dou grupuri duplicate sau ambigui care exist tabel. In a n a a a a a de reguli ambigui, dintre care prima compus din regulile Data1 i Data8 este evidentiat a s a panoul principal al DTbD (dou reguli sunt ambigui dac difer doar prin consecinte; dou n a a a a reguli identice att partea de antecendent ct i cea de consecinte se numesc duplicate). a n a s n Pentru a msura completitudinea unei tabele de decizie, a fost introdus msura numit rata a a a a de completitudine (CR) dup cum urmeaz: a a CR = ActualRulesN o , P ossibleRulesN o

unde ActualRulesNo este numrul de reguli ale tabelei, iar PossibleRulesNo reprezint numrul a a a total de reguli ce pot denite i este calculat ca produsul cardinalitilor domeniilor atributelor s at tabelei: P ossibleRulesN o = i Card(dom(Ai )). Editorul de arbori de decizie (Decision Tree Designer / DTrD) ofer proiectantilor a posibilitatea de a construi mod vizual, grac baza de cunotinte ca arbore de decizie. Penn s tru a oferi o exibilitate i extensibilitate ct mai ridicate, DTrD suportat modelul extins de s a a n arbore de decizie prezentat sectiunea 1.6. Find un editor structurat, la fel ca cazul DFrD, n permite utilizatorului s grupeze mai multe noduri a ntr-un singur bloc care poate apoi dilatat sau comprimat vederea unei mai bune organizri a spatiului de lucru. La fel ca DTbD, i n a s DTrD lucreaz cu proiecte - un proiect ind compus din unul sau mai multi arbori de decizie, a integreaz gestionarul de dictionare pentru manipularea denitiilor externe bazei de cunotinte, a s s genereaz arborii de decizie limbajele C++ sau Java (vezi sectiunea 3.4 pentru detalii) i ina n tegreaz un depanator grac care ofer faciliti similare celui din DTbD. Figura 3.4 ilustreaz a a at a o sesiune de lucru mod depanare cu DTrD, nodul rou ind nodul ce contine breakpointul acn s tivat la acel moment. Pasarea controlului executiei ntre rul de executie al DTrD i al arborelui s se face ca cazul DTbD. Pentru a oferi o imagine adaptat tuturor participantilor la dezvoln a tarea bazei de cunotinte (reprezentarea form de arbore neind cea mai potrivit pentru s n a a un expert uman), DTrD contine un panou specic care sunt aate toate regulile codicate n s de ctre arborele respectiv. Similar trasrii din DFrD, modulul de trasare (Tracer) din DTrD a a nregistreaz nodurile vizitate a mpreun cu contextul de executie (valorile variabilelor pentru a nodurile arborelui) ntr-un ier de trasare care apoi poate inspectat folosind vizualizatorul s de trase (Trace Viewer) vederea identicrii gtuirilor din sistem. n a a

3.3 EDITOARELE BAZEI DE CUNOSTINTE

95

Figura 3.4: Editorul de arbori de decizie Aarea arborelui de decizie s cazul arborilor de decizie, ecare nod n are ataate mai multe informatii utile, i anume: In s s criteriul de separare (respectiv actiunile de executat), numrul de instante Card(Fn ), suportul a (denitia 1.6.2), suportul relativ (denitia 1.6.3), precizia (denitia 1.6.4), documentatia (co mentariile) i copiii cu propozitiile elementare asociate. Utilizatorul are posibilitatea s aleag s a a ntre dou moduri de prezentare numite vederi a arborelui: implementare i specicare. a s In prima vedere, pentru ecare nod este aat criteriul de separare (respectiv actiunile de exes cutat, functie de tipul de nod), timp ce pentru a doua vedere este aat documentatia n n s a nodului. acest fel, diverse categorii de persoane care interactioneaz cu arborele (programaIn a torii, proiectantii, inginerii de cunotinte etc.) pot utiliza vederea cea mai convenabil pentru s a activitata lor. Un alt aspect original aarea unui arbore de decizie constituie modul desenare bazat n s l a pe informatie (smart drawing) (disponibil ambele vederi), prin care culoarea i dimensiu n s nea unui nod nu sunt ampltoare, ci sunt determinate pe baza informatiei din acel nod. Din nt a informatia util disponibil la nivelul unui nod, atributele candidate pentru colorarea i dimen a a s sionarea nodului sunt acelea care au, sau pot genera, valori numerice. Criteriul de separare i s documentatia nodului sunt aate ca text ataat nodului i nu contin informatiii numerice care s s s s poat folosite la dimensionarea sau colorarea nodului. Numrul de instante este deja utilia a a zat denirea suportului i suportului relativ corespunztoare nodului (denitiile 1.6.2, 1.6.3). n s a Din modul de constructie a arborelui este clar c un nod va avea mai multe instante dect a a copii si i prin urmare, suportul nodului nu ne ofer o informatie util pentru aarea nodului, a s a a s schimb suportul relativ este o valoare interesant care va folosit. Copiii i propozitiile n a a s

96

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

Figura 3.5: Desenarea bazat pe informatie ESC a n elementare asociate arcelor corespunztoare acestora nu prezint nici o informatie numeric, a a a dar numrul de copii ai nodului este un atribut numeric interesant. Pentru a aduce valorile a acestui atribut intervalul [0, 1], vom deni numrul relativ de copii ai unui nod ca raportul n a dintre numrul de copii ai nodului i numrul maxim de copii ai nodurilor arborelui, adic: a s a a nrRelativCopiin = nrCopiin / maxmN (nrCopiim ). Prin urmare, au fost selectate urmtoarele a atribute pentru implementarea modului de desenare bazat pe informatie: suportul relativ, prea cizia i numrul relativ de copii. Mai exact, pentru un nod al arborelui de decizie vom calcula: s a at a a limea nodului proportional cu numrul relativ de copii; altimea nodului proportional cu precizia nodului; n a culoarea nodului proportional cu suportul relativ nodului. a Cum toate atributele de mai sus sunt reprezentate prin numere reale intervalul [0, 1], penn tru desenarea unui nod au fost pre-denite valori minime i maxime pentru limea i altimea s at s n nodurilor, care sunt apoi ponderate respectiv cu numrul relativ de copii i precizia unui nod a s anume. Culoarea unui nod este denit ca o nuant ponderat de suportul nodului a unei culori a a a pure (rou, verde, albastru) sau ton de gri, cu alte cuvinte: culoaren = rsupn pure color. Fis gura 3.5 este o captur a rulrii ESC modul de desenare bazat pe informatie, care pentru a a n a n culoarea nodurilor s-au ales nuante de verde. Se pot observa cu usrint nodurile cu o precizie a mai bun (cele mai a nalte) sau nodurile, la un nivel, care concentreaz mai multe instante n a (cele mai nchise la culoare).

3.4 INTEGRAREA BAZEI DE CUNOSTINTE SISTEMUL BAZAT PE CUNOSTINTE 97 IN Construirea automat din seturi mari de date a Disponibilitatea unor seturi mari de date primare a dus la deplasarea procesului de construire a bazelor de cunotinte, de la constructia manual a acesteia de ctre expertii umani la s a a extragerea automat/semiautomat/asistat din seturi mari de date a unor modele bazate pe a a a cunotinte i validarea acestora de ctre expertii umani. Cu toate c exist multe unelte pentru s s a a a constructia mod automat a arborilor de decizie pornind de la seturi mari de date ([Qui86, n Qui93, MRA95, MAR96, SAM96, BFOS84, GRG98], vezi i sectiunea 1.4.2 pentru detalii), dup s a cunotinta noastr nici una dintre aceste unelte nu ofer conversia arborelui s a a ntr-un limbaj de nivel nalt (C++/Java) sau posibilitatea includerii modelului indus programe externe. n Expert System Creator ofer att posibilitatea construirii arborelui de decizie din seturi mari a a de date ct i editarea, generarea i integrarea modelului sisteme externe. Pentru inducerea a s s n arborelui de decizie a fost implementat schema lui Hunt [Qui93] cu diverse criterii pentru a selectia atributului de separare: Gain, Gain Ratio, distanta 1 dN , Gini index, R-measure, statistica G i statistica 2 . Sectiunea 2.3 descrie detaliu algoritmii i euristicile folosite s n s inducerea automat a arborilor de decizie iar sectiunea 2.4 prezint reducerea arborelui de n a a decizie. Implementarea criteriilor de selectie a atributului de selectie a fost fcut folosind a a ablonul Strategy [GHJV94], fapt ce confer un grad sporit de reutilizare la nivelul codului s a surs. a

3.4

Integrarea bazei de cunotinte sistemul bazat pe cunos n s tinte

O problem important dezvoltarea sistemelor bazate pe cunotinte este modul care a a n s n baza de cunotinte interactioneaz cu celelalte nivele ale sistemului: nivelul prezentare sau nivelul s a baz de date etc. Mediul de dezvoltare Expert System Creator propune o solutie original a a implementat dou module: generatorul de cod i gestionarul de dictionare. timp ce a n a s In primul modul se ocup cu generarea codului ce reprezint baza de cunotinte a a s ntr-un limbaj de programare comun (precum C++ sau Java) sau cod ce asigur utilizarea acesteia din acel a limbaj, al doilea modul gestioneaz denitiile importate din nivele externe bazei de cunotinte. a s Generatorul de cod (Code Generator) genereaz un arbore de decizie sau o tabel de a a decizie limbajele C++ i Java, iar un set de reguli este generat limbajele CLIPS i JESS. n s n s plus, pentru seturile de reguli de productie este generat cod C++ i Java pentru integrarea In s acestora mpreun cu bazele de cunotinte sistemul de cunotinte nal. Modulul poate a s n s particularizat foarte uor i pentru alte limbaje orientate obiect (C#), procedurale (Visual Basic, s s PHP) sau functionale (LISP). cazul regulilor de productie, disponibilitatea unor motoare de In inferent larg rspndite precum CLIPS sau JESS simplic partea de generare de cod. Pentru a a a a aceste sisteme, se genereaz descrierea bazei de cunotinte format CLIPS/JESS acompaniat a s n a de codul de lansare al motorului limbajul C++ sau Java. Functionalitile de depanare n at i trasare sunt suportate nativ de motoarele de inferent i nu au pus probleme deosebite la s a s implementare. Prin urmare, va descris continuare generarea codului pentru tabelele i a n s arborii de decizie, pentru care lipsa unui motor de inferent larg acceptat a pus unele probleme a implementarea inferentei propriu-zise, precum i a depanrii i trasrii acestor sisteme. n s a s a

98

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

primul rnd, se transpune arborele de decizie cod C++/Java considernd arborele ca In a n a o shem logic (o tabel de decizie este convertit prealabil la un arbore). Codul generat a a a a n pentru tabele i arbori de decizie poate particularizat pentru a suporta facilitile de depas at general, testarea i utilizarea bazei de cunotinte sunt fcute prin rularea nare i trasare. In s s s a sistemului bazat pe cunotinte totalitatea lui, astfel at utilizatorii vor avea acces la o s n nc interfat prietenoas iar datele vor putea regsite din sisteme traditionale de baze de date, a a a prin intermediul modulelor specice. realitate, sistemul bazat pe cunotinte este o aplicatie In s de sine-stttoare (sau aplicatie Web) care ruleaz independent de mediul de dezvoltare ESC, aa a utilizat pentru proiectarea bazei de cunotinte. Aceast realitate impune necesitatea comnicrii s a a ntre cele dou aplicatii sistemul bazat pe cunotinte i ESC atunci cnd se pune problema a s s a depanrii sau trasrii bazei de cunotinte. a a s cazul depanrii, aceast comunicare este implementat prin generarea aditional a unor In a a a a secvente de cod care interogheaz aplicatia Expert System Creator despre existenta unui break a point pentru o anumit celul ( cazul tabelei de decizie) sau nod ( cazul arborelui de decizie). a a n n caz armativ, se va pasa controlul executiei de la SBC ctre aplicatia ESC, dnd astfel utiliIn a a zatorului posibilitatea s insepecteze contextul de executie al bazei de cunotinte chiar forma a s n (tabel sau arbore) original, locul unor linii de cod C++/Java, care majoritatea cazurilor, a a n n nu au nici o semnicatie pentru inginerul de cunotinte sau expertul uman. Controlul va reveni s rului de executie din SBC cnd utilizatorul va elibera din ESC. a l vederea evalurii performantelor SBC, identicrii punctelor de gtuire, urmririi evoIn a a a a lutiei sistemului timp sau identicrii regulilor des activate, generatorul de cod va secvente n a de cod aditionale care vor nregistra momentul rulrii SBC n a ntr-un ier tras (trace le) s a nodurile, respectiv celulele, vizitate precum i contextul acestora. Pentru vizualizarea ierului s s tras a fost dezvoltat vizualizatorul de trase (Trace Viewer) care permite inspectarea ierului a s n ordine cronologic i ofer statistici despre nodurile/celulele vizitate, precum numrul de vizite as a a sau durata vizitelor ( secunde). n Pentru o baz de cunotinte proiectat ca tabel sau arbore de decizie, urmtoarele transa s a a a formri au loc la generarea codului: a Proiectul tabel/arbore Clas C++/Java a a Fiecare tabel/arbore al proiectului Metod a clasei a a Variabilele locale denite dictionar Membri ai clasei n Denitiile importate Variabile externe, plus directivele #include/import necesare loca lizrii lor a Informatiile despre denitiile importate baza de cunotinte sunt obtinute de generatorul n s de cod de la gestionarul de dictionare (Dictionary Manager), care ntretine dictionarele SBC. Fiecare proiect tabel sau arbore de decizie are asociat un dictionar. Un dictionar este o a colectie de denitii externe importate baza de cunotinte din iere externe acesteia, la care n s s se adaug obiectele locale denite de utilizator la nivelul dictionarului. Pentru moment sunt a suportate iere externe C, C++ i Java (exist posibilitatea extinderii facile la alte limbaje, s s a de exemplu VB sau Delphi). Folosind un motor de parsare al ierelor surs, sunt extrase din s a acestea i reprezentate ca obiecte distincte dictionar urmtoarele entiti: s n a at

3.4 INTEGRAREA BAZEI DE CUNOSTINTE SISTEMUL BAZAT PE CUNOSTINTE 99 IN

Figura 3.6: Gestionarul de dictionare declaratiile de variabile globale; declaratiile de constante; tipurile de date denite de utilizator (structuri, clase, uniuni, interfete, typdef-uri, enu merri); a declaratiile de functii utilizator sau functii denite biblioteci de sistem. n Clasele denite C++ sau Java sunt importate n mpreun cu toti membrii, de tip dat sau a a functii. Pe lng denitiile importate, un dictionar mai contine i obiecte locale care pot instante a a s ale tipurilor de date primitive C++/Java (i.e. integer, char, oat etc.) sau instante ale tipurilor de date importate din iere externe (i.e. structuri, clase sau uniuni). Obiectele locale pot s utilizate apoi la denirea bazei de cunotinte, orice nod sau celul, pentru a trata evenimentele s n a specice pentu care au fost proiectate (de exemplu citirea informatiilor de la utilizator, accesul la o baz de date, generarea rezultatelor format XML sau HTML etc.). Figura 3.6 ilustreaz a n a sectiunea de tipuri de date denite de utilizator a unui dictionar care a fost importat un ier n s Java.

100

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

3.5

Achizitia cunotintelor s

Dezvoltarea unui sistem bazat pe cunotinte utiliznd procesul de inginerie a cunotintelor s a s presupune urmtorele faze: 1) analiza problemei, 2) achizitia cunotintelor, 3) proiectarea i ima s s plementarea sistemului, 4) vericarea, validarea i evaluarea, 5) documentarea i 6) s s ntretinerea i actualizarea sistemului. Faza de achizitie a cunotintelor este cea mai important faz, care s s a a n echipa de lucru (format din expertii umani domeniu, inginerii de cunotinte i proiectantii a n s s de sistem) construiete modelul bazei de cunotinte. Modelul bazei de cunotinte este fors s s mat din concepte i reguli ce manipuleaz conceptele identicate, vederea implementrii s a n a functionalitii nale a sistemului. De exemplu, at ntr-un sistem pentru proiectarea retelelor de telefonie, mobil sau x, conceptele de baz sunt element de retea, component a elementului a a a a de retea, capacitatea echipamentului, versiunea software-ului i altele, iar regulile vor modela s teoriile care stau la baza dimensionrii unei retele (pentru detalii consultati capitolul A care prea zint detaliu construirea unui sistem bazat pe cunotinte). Uurinta i puterea reprezentrii a n s s s a acestui model sunt elemente cheie construirea bazei de cunotinte. Conceptele identicate n s aceast faz sunt reprezentate prin obiecte active de cunotinte (Active Knowledge Object, n a a s AKO) iar regulile prin arbori sau tabele de decizie. vederea sprijinirii utilizatorilor deIn n scrierea bazei de cunotinte, editoarele de arbori i tabele de decizie au fost extinse cu aa s s s numitele noduri/celule de achizitie de date (Data Acquisition Nodes/Cells). Mai exact, modelul arbore/tabel de decizie a fost extins de data aceasta cu trei noi tipuri de noduri/celule: a a a nod/celul de achizitie imediat (Instant Data Acquisition Node/Cell, IDAN/C), nod/celul de achizitie conditional (Conditional Data Acquisition Node/Cell, CDAN/C), a a nod de actiune pre-denit (Predened Action Node/Cell, PAN/C). a Deoarece noile tipuri de noduri ale arborelui i celule ale tabelei sunt similare, continuare s n vor descrise doar nodurile de achizitie a cunotintelor. s Fiecare din cele trei tipuri de noduri de achizitie a cunotintelor are asociat o surs de s a a informatii compus dintr-unul sau mai multe AKO. implementarea curent, AKO sunt de a In a dou tipuri: variabil de stare i obiect de actiune. O variabil de stare este folosit para a s a a n tea de conditii a unei reguli i monitorizeaz evolutia timp a sistemului, ind descris prin s a n a urmtoarele informatii asociate: nume, descriere, tip, a ntrebare asociat, ir de ajutor i tip a s s de dat ( a ntreg, numeric, text, boolean, alegere multipl). Un obiect de actiune este utilizat a partea de actiuni a unei reguli i are urtoarele proprieti: nume, descriere, codul pentru n s a at actiunea executat. a Sursa de informatii pentru un IDAN este format din una sau mai multe variabile de stare. a Un nod DDAN, pe lng sursa de informatii mai are asociat i o expresie logic compus din a a as a a elementele sursei de informatii. cazul PAN, sursa de informatii este compus din obiecte de In a actiune. Pentru interpretarea acestor noi tipuri de noduri la executia sistemului a fost necesar a crearea unui motor de executie propriu a crui functionare este descris continuare. Exe a a n cutarea unui nod de tip IDAN ncepe cu determinarea valorilor variabilelor de stare precizate sursa de informatii asociat. acest sens, este consultat primul rnd memoria cache n a In a n a pentru variabilele de stare (Cache Memory for Variables, CCV). Dac exist o valoare pentru a a variabila de stare aceast memorie, atunci este utilizat valoarea respectiv. Altfel, valoarea n a a a

3.6 GESTIONAREA VERSIUNILOR

101

Figura 3.7: Nod de achizitie conditional a este citit de la utilizator i apoi salvat CCV pentru regsirea facil la consultrile viitoare. a s a n a a a cazul nodurilor DDAN, se evalueaz continuare expresia logic asociat i se urmeaz In a n a as a cazul nodurilor PAN, executia nodului se traduce executia unul dintre copiii nodului. In n obiectelor de actiune ataate. Figura 3.7 ilustreaz proprietile unui nod de tip DDAN care s a at n se poate observa sursa de informatii i expresia ataat. s s a Implementarea acestor noi tipuri de noduri a fost realizat prin specializarea nodurilor exisa tente (de decizie, respectiv de actiune). AKO sunt stocate i manipulate dintr-o baz de date s a relational iar comnuicarea dintre ESC i modulul extern de administrare a AKO se face printr a s o component realizat tehnologie JNI. Motorul de executie este implementat ca un pachet a a n Java distinct care interpreteaz arborii de decizie direct din iere XML. O aplicatie practic a s a a noilor tipuri de noduri este prezentat capitolul A Aplicatie: Sistem pentru Redactarea a n Documentelor Juridice (Legal Document Drafting System).

3.6

Gestionarea versiunilor

Gestionarea conguratiilor, a versiunilor i controlul productiei sunt elemente cheie dez s n voltarea de software. Odat cu evolutia timp a unei aplicatii software, apare i necesitatea a n s gestionrii eciente a versiunilor multiple ale aplicatiei. momentul de fat exist numeroase a In a a platforme pentru gestionarea i controlul versiunilor, cum ar : IBM ClearCase [IBM], OpenCM s [CM], Concurrent Version System (CVS) [Sysa], GNU Revision Control System [Sysb], Microsoft Visual Source Safe [Mica], SubVersion SVN [Sub] sau KRYSALIS Community Project [Pro] i s

102

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

desigur c lista ar putea continua. Dei apar unele diferente ceea ce privete facilitile oferite a s n s at de platformele de gestionare a versiunilor, ele au i un set comun de faciliti: s at a a memorarea doar a diferentele dintre dou versiuni, salvnd astfel spatiu de stocare; regsirea diferitelor versiuni ale codului surs; a a comparatia modicrilor fcute versiunea curent cu o versiune anterioar i gestionarea a a n a as unui jurnal de modicri; a gestionarea proiectelor distribuite, oferind acces la aceleai surse utilizatorilor aati s n locatii geograce diferite ( cadrul aceleiai corporatii sau oriunde lume) prin interfete n s n Web specializate; acces autorizat (pe baz de utilizator i parol) securizat ( cazul interfetelor Web) a s a n redenumiri, gestionarea conguratiilor, ramicri etc. a toate solutiile prezentate mai sus, unitatea atomic de versionat este ierul. Ce se In a s ampl cazul care se urmrete versionarea de obiecte implementate mai multe iere nt a n n a s n s sau cazul care un ier contine implementarea mai multor obiecte? O posibil solutie ar n n s a organizarea obiectelor astfel at s se mapeze 1-la-1 pe iere. Pentru a oferi utilizatorilor nc a s Expert System Creator o integrare transparent a facilitilor de versionare a obiectelor de a at decizie i pentru a gestiona vizual versiunile acestora a fost creat gestionarul i exploratorul de s s versiuni. Gestionarul de versiuni (Version Manager) este un modul ce ofer urmtoarele facia a liti proprii, pe lng cele comune unui sistem de gestiune a versiunilor i prezentate anterior: at a a s versionarea la nivel de obiect; integrarea transparent Expert System Creator; a n stocarea obiectelor orice SGBD relational care suport conectivitate JDBC2 [Micc]; n a open-platform pentru adugarea de noi tipuri de obiecte de versionat. a Partea central a modulului de versionare este motorul de versionare care opereaz cu a a instante ale interfetei IVersionable pe care le stocheaz/regsete a a s ntr-o/dintr-o baz de date a relational (VMDB = Version Manager DataBase) prin intermediul componentei DBMiddle a ware i interfetei de acces la bazele de date relationale JDBC 2.0 (Java DataBase Connectivity) s [Micc]. Prin implementarea interfetei IVersionable, orice obiect Java poate versionat folosind gestionarul de versiuni. Implementarea interfetei IVersionable pentru ESC (reguli de productie, tabele de decizie i arbori de decizie) salveaz obiectele de decizie VMDB format XML. s a n n continuare va prezentat aceast interfat, comentariile incluse portiunea de cod Java In a a a n oferind mai multe detalii.
package VersionManager; public interface IVersionable { // Project class name (e.g. "DecisionTree", "DecisionTable")

3.6 GESTIONAREA VERSIUNILOR


public String verGetClassName( ) ; // Friendly name for class (could be language dependent) and its displayed in VersionExplorer UI public String verGetLocalizedClassName( ) ; // Returns an image icon to be shown along with all projects of this class public javax.swing.ImageIcon verGetClassIcon( ) ; // Project name public String verGetProjectName( ) ; public void verSetProjectName(String strProjectName) ; // Project file name public String verGetProjectFileName( ) ; public void verSetProjectFileName(String strFileName) ; // Object name public String verGetObjectName( ) ; public void verSetObjectName(String strObjectName) ; // The public public public object data java.io.Serializable verGetInstance() ; java.io.Serializable verGetInstanceXML() ; void verSetInstance(java.io.Serializable inst) ;

103

// Returns the differences between the current version of the object and oldInstance public java.io.Serializable verGetIncrementalInstanceXML(java.io.Serializable oldInstance) ; // Update local version of this instance public boolean verUpdateLocalVersion( ) ; }

vederea expunerii functionalitilor gestionarului de versiuni clientilor externi i pentru a In at s asigura o integrare uoar a facilitilor de versionare alte sisteme, a fost creat interfata de s a at n a programare (API = Application Programming Interface) numit Version Manager API. Aceast a a interfat de programare este accesibil att din programe Java ct i din programe scrise C++. a a a a s n Cele mai uzitate functionaliti ale versionrii (stocarea unei noi versiuni baza de date, at a n regsirea ultimei versiuni, contopirea (merge) a ntre dou proiecte, congurarea conexiunii la a baza de date i lansarea utilitarului de explorare a versiunilor) sunt accesibile direct din meniul s Version Manager disponibil toate cele trei editoare de cunotinte. n s plus, Exploratorul de versiuni (Version Explorer) ofer, prin intermediul unei In a interfete grace utilizator prietenoase, acces la toate facilitile de versionare: crearea i stocarea at s unui nou proiect, regsirea ultimei versiuni (sau a unei versiuni mai vechi) a unui proiect/obiect, a aarea istoricului pentru proiect/obiect, adugarea de comentarii, etichetarea versiunilor, recus a perarea unui proiect/obiect ters, contopirea a dou proiecte de acelai tip). Figura 3.8 prezint s a s a fereastra principal a acestei aplicatii. a Se observ c proiectele versionate sunt grupate pe categorii (arbori de decizie, tabele de a a decizie etc.), ecare proiect continnd unul sau mai multe obiecte versionate. Toate obiectele a sunt salvate baza de date mentionat bara de titlu a ferestrei. Operatiile de versionare n a n (stocarea sistemul de versionare, regsirea unui versiuni mai vechi, adugarea de etichete etc.) n a a se rezum la alegerea unor optiuni din meniurile aplictiei. captura din imagine se observ a In a deasemenea dialogul de istoric prin intermediul cruia un utilizator si poate alege versiunea pe a care vrea s o descarce din baza de date. a

104

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

Figura 3.8: Exploratorul de versiuni

3.7

Comunicarea cu bazele de date relationale

Domeniul bazelor de date inteligente (Intelligent Database Systems) a evoluat ncepnd a cu anii 70 cu contributii att din domeniul sistemelor de gestiune a bazelor de date (SGBD, a Database Management Systems) ct i al inteligentei articiale. Proiectantii i productorii a s s a bazelor de date sunt interesati adugarea suportului semantic bazele de date, timp ce n a n n practicienii din domeniul inteligentei articiale sunt interesati s aplice teoriile i algoritmii lor a s seturilor de date din lumea real, considerabil mai mari dect cele experimentale. a a Abordrile anterioare venite din domeniul bazelor de date au introdus modele de date sea mantice i hiper-semantice [PTE89, PKM+ 93], orientate obiect [RBL+ 91] i mai ales sisteme de s s baze de date active. Acestea din urm sunt disponibile att versiunui experimentale (dintre a a n care sistemul de reguli Starburst este cel mai cunoscut [HCL+ 90]) ct i comerciale (de exemplu a s abordrile bazate pe triggere din Oracle, Sybase sau IBM DB2). a Din domeniul inteligentei articiale vin multe lucrri, experimente, proiecte sau produse a comerciale care ncearc s integreze suport pentru bazele de date relationale sistemele bazate a a n pe rationament i vice-versa. [BCZ01] autorii clasic solutiile existente patru categorii: s In a n abordri de tip punte (bridge); a extinderea SBC cu componente specice SGBD; extinderea SGBD cu componente specice SBC;

3.7 COMUNICAREA CU BAZELE DE DATE RELATIONALE integrarea SBC cu SGBD.

105

Aadar, integrarea cu bazele de date relationale nu putea ocolit nici de ctre Expert s a a System Creator. Intruct abordarea arborilor i tabelelor de decizie este diferit de abordarea a s a sistemelor bazate pe reguli (care folosesc motoarele de inferent disponibile) i integrarea cu a s bazele de date relationale va abordat diferit. a cazul arborilor i tabelelor de decizie, accesul la datele stocate bazele de date relationale In s n se face direct utiliznd modulul DBMiddleware. Interfetele publice ale acestuia (vezi descrierea a detaliat a modulului sectiunea 3.7.1) sunt importate dictionarul asociat cu obiectul de a n n decizie folosind gestionarul de dictionare. Abordarea de fat se a ncadreaz prima categorie, punte bidirectional, ce permite att a n a a regsirea informatiilor din baza de date ct i actualizri ale bazei de date. Dei cuplajul dintre a a s a s SBC i SGBD a avut momentul lui de glorie anii 80, recentele progrese fcute domeniul s n a n shell-urilor de sisteme expert, mai exact aparitia Java Expert System Shell (JESS) i a noilor teh s nologii de conectivitate la bazele de date (JDBC, ADO, ADO.NET etc.) ridic noi probleme pe a de o parte, dar i ofer solutii mai exibile la problema interconectrii. Solutii similare anterioare s a a s au fost propuse sistemele DBCL [JCV84], DIFEAD [AZG87] i KADBASE [HR89]. DataBase n Call Language (DBCL) este o arhitectur simpl de tip punte general care trateaz cuplarea a a a a strns a a ntre sistemele expert dezvoltate PROLOG (PROgramming in LOGic) i bazele de n s date relationale. Sistemul DIFEAD (Dictionary Interface For Expert Systems And Databases) folosete conceptul de dictionar de date (Data Dictionary) comunicatia dintre SGBD i SBC. s n s Prototipul KADBASE are o arhitectur distribuit care integreaz informatiile continute a a a n schemele individuale ale bazelor de date ntr-o singur schem global. Componenta Network a a a Data Access Manager mapeaz cererile care vin din partea limbajului de manipulare a datelor a a SBC limbajul de manipulare al datelor i structurilor globale (Global Data Manipulation n s Language). Solutia oferit de ESC presupune folosirea motoarelor de inferent disponibile pentru siste a a mele bazate pe reguli (CLIPS [CRD93, Gia93] i JESS [FH] implementarea actual) pentru a s n a rationa asupra faptelor stocate baze de date relationale. Arhitectura propus este una e n a xibil, portabil i extensibil care permite adugarea facil a altor motoare de inferent sau aca as a a a a cesul la alte SGBD relationale. Un alt obiectiv urmrit de aceast implementare este asigurarea a a independentei metadatelor de mediul hardware sau software, mbuntind astfel elasticitatea a at sistemului la efectele modicrilor hardware/software. Arhitectura subsistemului de integrare a a bazelor de date relationale SBC (numit Knowledge Base to DataBase KBDB) este prezen n tat Figura 3.9. KBDB actioneaz ca un canal de comunicatie a n a ntre SGBD i SBC, accesul la s aceste sisteme fcndu-se prin intermediul limbajelor standard specice SGBD, respectiv SBC. a a Subsistemul KBDB ste compus dintr-un dictionar de date (DD = Data Dictionary) i trei s module care interactioneaz cu acesta: DBWizard, DBEngine i DBMiddleware. Dictionarul de a s date colecteaz i stocheaz format CLIPS/JESS toate informatiile despre datele gestionate as a n de SGBD, informatii numite metadate. Modulul DBMiddleware asigur un acces uniform i a s transparent la diferite SGBD relationale, izolnd a ntreg codul de acces specic la un SGBD sau altul, restul subsistemului KBDB ind eliberat de tratarea cazurilor particulare de SGBD. Modulul DBWizard este o unealt grac ce ajut utilizatorul construirea DD, importnd i a a a n a s transformnd automat informatiile despre tabelele i vederile bazei de date format CLIPS. a s n

106

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

KBDB System

KBS/ES

RDBMS Data Dictionary DBWizard DBMiddleware DBEngine KBSI RDBMS

KBSI

Figura 3.9: Arhitectura KBDB Modulul DBEngine este responsabil cu ntreaga comunicatie ntre baza de date i SBC. s

3.7.1

Descrierea detaliat a modulelor subsistemului KBDB a

Dictionarul de date stocheaz informatii independente de suportul de stocare (cum ar a sursa de date, relatia cu alte date, regulile) asigurnd integritatea datelor pentru fapte. Dei a s controleaz locatia datelor baza de date, este independent de modelele de date din SGBD. a n Pentru ecare tabel sau vedere (query) a bazei de date este creat unul sau mai multe obiecte a de tipul Denitii de Sabloane pentru Tabele (Table Template Denition TTD) dictionar, n n functie de necesitile utilizatorului. Un obiect TTD poate conectat la o singur tabel/vedere at a a a bazei de date. Astfel, utilizatorul si poate deni obiecte TTD prin care s ltreze pe vertical a a tabela/vederea, selectnd doar cmpurile de care are nevoie din tabel pentru operatia respeca a a tiv, reducnd astfel cantitatea de date ce urmeaz a transferat a a a a ntre SBC i SGBD. Relatiile s ntre tabelele i vederile bazei de date sunt modelate dictionar ca Dentii de Reguli pens n tru Relatii (Relationship Rule Denition RRD). O RRD asigur a ndeplinirea constrngerilor a impuse datelor la nivelul faptelor din baza de fapte a motorului de inferent. a Att TTD ct i RRD sunt salvate iere pe disc folosind sintaxa limbajului CLIPS. a a s n s In acest caz, dictionarul de date este compus dintr-o colectie de iere CLP ce contin TTD-uri s i RRD-uri. Mai precis, TTD-urile sunt reprezentate ca i constructori de tipul deftemplate, s s n timp ce RRD-urile sunt reprezentate ca reguli folosind constructori defrule. Toate aceste denitii sunt ncapsulate ntr-un modul CLIPS, i anume KBDB module. De exemplu, tabela Employee s dintr-un SGBD relational va reprezentat de urmtorul template SBC: a a n
(deftemplate KBDB :: Employee (slot DbConn (default ?*DBxxx*)) (slot ID (type Integer)) (slot Name (type String)) (slot Address (type String)) (slot DeptID (type Integer)))

3.7 COMUNICAREA CU BAZELE DE DATE RELATIONALE

107

Cmpul DbConn stocheaz informatii despre legtura la baza de date i este asignat mod a a a s n automat de ctre modulul DBWizard la un fapt (etichetat cu variabila global ?*DBxxx*) din a a baza de fapte a sistemului bazat pe reguli. Acest fapt este o instant a urmtorului ablon: a a s
(deftemplate KBDB :: DBConnection (slot URL (type STRING)) (slot JDBCDriver (type STRING)) (slot User (type STRING)) (slot Password (type STRING)))

Pentru ecare baz de date, va exist o singur instant a ablonului DBConnection care a a a a s va stoca informatiile despre conexiune, care va partajat cadrul a n ntregului SBC pentru transferul datelor ntre SBC i baza de date. s Modulul DBWizard este o unealt grac ce permite utilizatorilor s creeze i s actualizeze a a a s a dictionarul de date. Cu ajutorul su utilizatorul poate crea mod grac, vizual, interactiv TTD a n urile i RRD-urile corespunztoare obiectelor din baza de date. Utilizatorul are posibilitatea s a s selecteze tabela(ele) sau vederea(rile) pentru care dorete s creeze obiecte dictionar, s a s a n a selecteze cmpurile tabelei/vederii de care este interesat sau s selecteze relatiile pe care dorete a a s s le converteasc RRD-uri. a a n Modulul DBEngine este responsabil cu transferul blocurilor de date dinspre i s nspre baza de date. Deasemenea controleaz transformarea reprezentrii datelor din tipuri de date specice a a bazei de date i tipuri de date recunoscute de ctre SBC. Mai precis, acest modul contine s a functii care implementeaz operatiile cu baza de date, precum: a ncarcarea faptelor din baza de date, salvarea faptelor baza de date i controlul tranzactiilor. toate aceste operatii, n s In modulul DBEngine folosete informatiile din dictionarul de date pentru aarea informatiilor s despre conexiunea la baza de date, tipul de date etc. Functiile acestui modul pot utilizate att partea stng, ct i partea dreapt a unei reguli de productie. a n a a a s n a Dup ce o nou interogare a fost trimis de la SBC la modulul DBEngine, acesta identic a a a a baza de date int care contine informatiile cerute de originator i va genera interogrile (query) t a s a ctre aceasta vederea construirii rspunsului nal. Aceste interogri sunt procesate mai dea n a a parte de ctre modulul DBMiddleware care va translata interogarea respectiv a a ntr-o interogare specic sintaxei bazei de date int i va invoca SGBD corespunztor vederea executrii ei. a t as a n a Inregistrrile aduse din baza de date sunt apoi convertite de ctre interfata sistemului bazat pe a a cunotinte (Knowledge Base System Interface KBSI) fapte ale SBC, mai exact instante s n n ale ablonului TTD. Tot KBSI efectueaz i transformrile de tip de dat necesare. Pentru s a s a a ecare tip de motor de inferent va exista un KBSI particular. a Prototipurile functiilor din modulul DBEngine sunt urmtoarele: a
(dbOpen <JdbcDriverFile> <JdbcDriver> <Url> <User> <Password>) (dbClose ?*DB*) (dbSelect [?*DB*] <Table-Template> | <TableName> [<Slots-list>] [WHERE <SQL-clause>]) (dbInsert [?*DB*] <Facts-list>) (dbDelete [?*DB*] <Facts-list>) (dbStartTransaction ?*DB*) (dbCommit ?*DB*) (dbRollback ?*DB*)

unde ?*DB* este o instant a ablonului DBConnection, paratezele drepte indic argumente a s a optionale, iar parantezele unghiulare (< i >) indic valori precizate de utilizator. Trebuie s a

108

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

observat faptul c pentru functiile dbSelect, dbInsert i dbDelete argumentul ?*DB* este unul a s optional. Dac acest nu este precizat o valoarea pentru acesta, atunci se va folosi valorea a a cmpului DbConn al faptelor din lista de fapte trimis ca argument. a a Modulul DBMiddleware asigur transparenta fat de nivelul bazei de date pentru moa a dulele DBWizard i DBEngine. El ofer functionaliti DML (Data Manipulation Language), s a at precum regsirea, actualizarea i tergerea datelor din tabele i vederi. Deasemenea are grij de a s s s a transformarea reprezentrii datelor a ntre tipurile de date specice SGBD i SBC i ofer suport s s a pentru tranzactii. Acest modul este mpachetat sub forma unui pachet Java i expune o multime s de interfete publice, dintre care metionez aici pe cele mai folosite: CJDatabase care implemen teaz functiile de manipulare a bazei de date, CJRecordset care implementeaz functiile de a a manipulare a seturilor de date, CJQueryDef care manipuleaz vederile bazei de date i Variant a s care asigur conversia a ntre tipurile de date specice bazei de date i tipurile de date Java (care s mai apoi sunt promovate la tipurile de date ateptate de ctre SBC). s a
public class CJDatabase extends LoggedClass { public DatabaseMetaData getDBMetaData(); public Vector getTables() throws OMException; public Vector getViews() throws OMException; public boolean open( String strDriverArchive, String strDriverName, String strURL, String strUser, String strPassword) throws OMException; public void close(); // Multi alti membri publici au fost omisi penru a pastra dimensiunea acestui listing // in limite rezonabile } public class CJRecordset extends LoggedClass { public CJRecordset(CJDatabase theDB); // Deschiderea/crearea setului de date public void openTable(String tName) throws OMException; public boolean executeSQL(String sql) throws OMException; public void close(); // Navigarea in setul de date public boolean moveFirst() throws OMException; public boolean moveNext() throws OMException; // Editarea setului de date public void edit() throws OMException; public void delete() throws OMException; public void update() throws OMException; // Multi alti membri publici au fost omisi penru a pastra dimensiunea acestui listing // in limite rezonabile }

3.7.2

Functionarea KBDB

aceast sectiune va descris modul de functionare al subsistemului KBDB i anume In a s linia de procesare a unei cereri, de la momentul initierii ei de ctre originator pn la primirea a a a rspunsului nal. Deasemenea va descris i modul de tratare al erorilor. a s Linia de procesare a interogrilor este constituit din urmtorii pai: a a a s 1. Apeleaz functia dbOpen pentru a deschide conexiunea la baza de date care contine tabelele a care rezid datele cerute. n a 2. Apeleaz functia dbSelect pentru a descrca a a nregistrrile din baza de date; acestei functii a vor furnizate argumentele necesare astfel at se vor transfera din baza de date doar i nc

3.8 GENERAREA DOCUMENTATIEI INTERNE

109

nregistrrile care trec de ltrele orizontale (clauza WHERE furnizat) i verticale (se vor a a s aduce doar valorile pentru cmpurile prezente TTD a n 3. Convertete s nregistrrile descrcate instante ale abloanelor TTD corespunztoare a a n s a 4. Apeleaz functia dbStartTransaction pentru a a ncepe o nou tranzactie asupra bazei de a date 5. Ruleaz motorul de inferent. a a 6. Apeleaz functia dbCommit pentru a salva modicrile efectuate asupra faptelor SBC la paa a sul anterior; KBDB, prin intermediul modulului DBMiddleware, va construi i va executa s comenzile specice SGBD vederea actualizrii n a nregistrrilor modicate a 7. Apeleaz dbClose pentru a a nchide conexiunea la baza de date. vederea tratrii exceptiilor care pot aprea timpul executrii comenzilor pe baza de In a a n a date, de exemplu erori de comunicare cu baza de date, s-a adoptat un mecanism de semnalizare prin fapte. Si anume: o exceptie care apare la nivelul DBEngine este semnalizat motorului a de inferent (SBC) prin adugarea unui fapt baza de fapte a SBC, mai exact o instant a a a n a ablonului DBException, ce descrie eroarea aprut la nivelul bazei de date: s a a
(deftemplate KBDB :: DBException (slot errorID (type NUMERIC)) (slot errorString (type STRING)) (slot errorDB))

Pentru tratarea cazului care un astfel de fapt apare baza de fapte, o rutin special de n n a a tratare a exceptiilor a fost creat dictionarul de date: a n
(defrule KBDB :: DefaultExceptionHandling (declare (salience MAX_SALIENCE)) ?ex<-(DBException (errorID ?errorID) (errorString ?errorStr)) => (retract ?ex) (printout err [Error ?errorID ] ?errorStr crlf) (halt) (user-exception-handler ?errorID ?errorStr))

Cu toate c varianta prezentat tiprete la dispozitivul (stream) de eroare un mesaj dea a a s scriptiv, acest comportament poate modicat conformitate cu nevoile utilizatorului ce poate n implementa comportamentul dorit functia user-exception-handler. n

3.8

Generarea documentatiei interne

Pe parcursul dezvoltrii unui sistem software se elaboreaz dou tipuri de documente: docua a a mente interne i documente externe. Documentele externe sunt create pentru diverse categorii s de audient: administratori ai sistemului, utilizatori ai sistemului, manageri i alte persoane a s de decizie etc. Cele mai comune documente externe sunt: manualul de utilizare, instructiunile

110

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

vizualizeaza DESIGNERS Decision Frame Decision Table Decision Tree Optimal Report Generator Runtime System tipareste exporta HTML/PDF/FO SVG/JPG/PNG Microsoft Excel VMDB

Report Layout (.rep)

versioneaza

Figura 3.10: Arhitectura generatorului de documentatie de instalare i congurare, prezentrile i brourile. Aceste documente sunt realizate de ctre s a s s a experti umani cu ajutorul uneltelor specializate pentru producerea de documente tipograce i s nu vor detaliate aceast lucrare. n a Pe de alt parte, documentele interne descriu arhitectura sistemului, interfetele dintre diverse a module, modelele folosite reprezentarea cunotintelor i alte detalii tehnice sau de implemenn s s tare ale proiectului. Aceste documente sunt create de ctre persoanele tehnice implicate a n realizarea proiectului, iar fr sprijinul consistent din partea mediilor de dezvoltare, realizarea aa lor este o munc dicil. acest sens, Expert System Creator vine ajutorul creatorilor de a a In n documentatie tehnic cu dou mijloace: a a a n posibilitate de a lucra cu un obiect de decizie (arbore, tabel sau reguli de productie) modul documentare; acest mod utilizatorul are acces direct la comentariile asociate cu n ecare element al obiectului de decizie, partea de implementare ind ascuns acestuia; a modulul Generator de documentatie (Documentation Generator) (Figura 3.10), care genereaz automat o parte a documentatiei interne. a Pentru limbaje de programare precum Java, C++, C#, VB.NET sau Delphi exist numea roase unelte de generare automatat a documentatiei de exemplu JavaDoc [Mic06], Doxya Gen [Dox06], NDoc [NDo06], ROOT [ROO06] care genereaz documentatie diverse fora n mate: HTML, MSDN-style HTML Help (.chm), Visual Studio .NET Help (HTML Help 2), PostScript sau PDF. schimb, nu exist astfel de unelte pentru bazele de cunotinte realizate In a s CLIPS/JESS, iar aici ESC vine s umple nia existent. n a s a Generatorul de documentatie se integreaz sinergic cu cele trei editoare de cunotinte (DFrD, a s DTbD, DTrD) i poate genera documente diverse formate PDF (Adobe Portable Docus n ment Format), HTML, XSL-FO (XML Formatting Objects), SVG (Scalable Vector Graphics, www.w3.org) ori text sau poate trimite documentul la o imprimant sau la o fereastr a a n vederea previzualizrii. Pentru implementarea acestor caracteristici se folosete aplicatia Optia s mal Report Generator. Figura 3.10 ilustreaz colaborarea dintre module vederea generrii a n a documentatiei.

3.8 GENERAREA DOCUMENTATIEI INTERNE

111

Figura 3.11: Exemplu de documentatie generat automat a

Macheta (layout) documentului este denit a ntr-un ier XML (cu extensia .rep) care poate s construit mod vizual folosind instrumentul Optimal Report Generator Designer, sau editat n manual folosind orice editor de texte/XML, sau poate generat programatic folosind interfata de programare Optimal Report Generator API. Continutul documentului este extras de modulul Optimal Report Generator Runtime System din reprezentarea intern a bazei de cunotinte i a s s este apoi prezentat (spre vizualizare, tiprire sau salvare diverse formate) utilizatorului foloa n sind macheta aleas de acesta. O alt facilitate important gestionarea documentatiei o cona a a n stitue posibilitatea stocrii i versionrii automate a documentelor. Generatorul de documentatie a s a ofer aceast facilitate prin intermediul gestionarului de versiuni. acest sens, la ecare gea a In nerare de versiune nou a unui document, aceasta va stocat VMDB (Version Manager a a n Database), de unde poate apoi regsit folosind exploratorul de versiuni (sectiunea 3.6 contine a a mai multe detalii despre versionare). Figura 3.11 prezint un exemplu de documentatie intern generat pentru o tabel de decizie a a a a care, este vizualizat folosind instrumentul Report Previewer. a Sub-sistemul de generare a documentatiei interne prezint o serie de avantaje rezultate din a integrarea aplicatiei Optimal Report Generator, cum ar : proiectarea facil a rapoartelor com a plexe folosind instrumentul Optimal Report Generator Designer, includerea de formule simple sau agregate cadrul raportului, calitatea de nivel profesional a documentatiei nale, capacin tatea de a genera documente de mari dimensiuni (mii de pagini), uurint integrare i, nu s a n s n ultimul rnd, versionarea. a

112

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

3.9

Metodologia dezvoltrii sistemelor cu Expert System Creaa tor

Dup cum a fost prezentat acest capitoul, Expert System Creator nu este un simplu a n utilitar de editare, ci un mediu de dezvoltare complex care sprijin dezvoltatorii de SBC toate a n fazele proiectului. Bine eles c pentru a benecia de toate facilitile puse la dispozitie, trebuie nt a at urmat o metodologie de dezvoltare a sistemelor bazate pe cunotinte, i anume: a s s Pasul 1. Construirea dictionarului prin importarea denitiilor din ierele externe bazei de s cunotinte (de exemplu modulul DBMiddleware pentru accesul la bazele de date relas ionale); redenumirea obiectelor importate pentru a descriere ct mai sugestiv rolul lor t a expertilor umani; crearea de obiecte interne aditionale dictionar vederea modelrii n n a variabilelor sistemului. s s n a a s Pasul 2. Construirea i actualizarea bazei de cunotinte; aceast etap se pot crea i alte obiecte interne dictionarului vederea modelrii variabilelor sistemului. Aceasta este n a etapa care expertii umani n mpreun cu specialitii IT construiesc sistemul propriu-zis. a s Evident c aceasta este i etapa cu cea mai mare a s ntindere timp. n a Pasul 3. Generarea codului (Java/C++/CLIPS/JESS) pentru obiectele construite. Dup ce a fost construit o (nou) versiune a bazei de cunotinte mod vizual/grac, acest pas, a a s n n se va genera codul surs pentru ea vederea integrrii cu sistemul expert. a n a Pasul 4. Vericarea, validarea i evaluarea sistemului. Dup ce a fost integrat baza de cunos a a tinte sistem, functionalitatea s n ntregului este vericat i evaluat de ctre utilizatorii as a a nali. Acetia sunt cei care vor valida sistemul din punct de vedere al corectitudinii, s uurintei utilizare i stabilitii. Dac aceast etap sunt depistate probleme, atunci s n s at a n a a se va reveni la pasul 2 vederea corectrii acestora. n a

3.10

Concluzii

Acest capitol prezint Expert System Creator, un mediu i o metodologie de dezvoltare al a s sistemelor bazate pe cunotinte. Focalizarea principal a sistemului este pe uurint exploas a s a n tare, exibilitatea i integrarea. Dup ce a fost prezentat arhitectura i facilitile sistemului, s a a s at au fost detaliate componentele sistemului i modul de lucru cu acesta. anexa A este descris s In a o aplicatie pentru redactarea asistat a documentelor juridice realizat ca un sistem bazat pe a a cunotinte, dezvoltat integral folosind mediul de dezvoltare Expert System Creator. s a sectiunea 3.1 au fost stabilite obiectivele urmrite prin acest mediu de dezvoltare. SisIn a temul permite reprezentarea i manipularea bazelor de cunotinte folosind trei modele: seturi s s de reguli, arbori i tabele de decizie. sectiunea 3.3 sunt descrise instrumentele care suport s In a manipularea bazelor de cunotinte s ntr-o form grac, uor de eles i operat de ctre toti a a s nt s a participantii la dezvoltarea unui sistem bazat pe cunotinte. Editoarele de cunotinte ofer s s a utilizatorilor i faciliti de depanare, trasare, vizualizare avansat i vericare a corectitudinii, s at as toate ntr-un mod intuitiv, folosind reprezentarea grac a bazei de cunotinte. Modulul de a s

3.10 CONCLUZII

113

implementare a arborilor de decizie faciliteaz de asemenea extragerea asistat a cunotintelor a a s din sistemele operationale existente (bazele de date) prin construirea automat a modelului din a setul de date. Sectiunea 3.4 propune o solutie bazat pe generare de cod vederea integrrii a n a celor trei nivele ale unui sistem software: nivelul prezentare, nivelul bazei de date i nivelul logic. s Reutilizarea codului existent aplicatii externe sau biblioteci este suportat prin intermediul n a gestionarului de dictionare ce permite importarea denitiilor de concepte i functii din surse s C++ sau Java. Shell-urile de sisteme expert existente (JESS i CLIPS) sunt suportate att ca s a limbaje destinatie cazul generrii codului, ct i ca motoare de inferent pentru seturile de n a a s a reguli de productie create. Sectiunea 3.5 particularizeaz nodurile arborilor de decizie (respectiv a celulele tabelelor de decizie) vederea facilitrii achizitiei datelor de la utilizatorii sistemului. n a a Managementul versiunilor sistemului este prezentat sectiunea 3.6. Sectiunea 3.7 ofer accesul n la datele primare stocate baze de date relationale vederea folosirii acestora mod transpan n n rent motoarele de inferent. Suportul pentru generarea automat a documentatiei (interne) n a a sistemului este oferit de ctre generatorul de documentatie prezentat sectiunea 3.8. a n O parte din contributiile din acest capitol au fost diseminate prin lucrri publicate cadrul a n rapoartelor de cercetare, la numeroase conferinte nationale i internationale, precum i alte s s n reviste: arhitectura initial [Pop00a, Pop00b], ultimele actualizri (sectiunea 3.2) [PN02b, PN02a, a a Pop02a] editoarele de cunotinte (sectiunea 3.3) [Pop00a, Pop02a] s vericarea i validarea bazelor de cunotinte [PN03] s s vericarea tabelelor de decizie (instrumentul DTbA) [PN02a, PN04] subsistemul KBDB i integrarea cu bazele de date relationale (sectiunea 3.7) [PNP02] s generatorul de cod i gestionarul de dictionare (sectiunea 3.4) [PN02b, PN02c] s integrarea sistemului bazat pe cunotinte [Pop01] s gestionarea versiunilor (sectiunea 3.6) [Pop02b] metodologia (sectiunea 3.9) [PN03] O alt parte o constituie contributiile prezentate premier aceast lucrare, cum ar a n a n a : generarea documentatiei interne (sectiunea 3.8), desenarea arborilor de decizie bazat pe a informatie, nodurile/celulele de achizitie (sectiunea 3.5). Aceste extensii s-au nscut din utiliza a rea concret a sistemului pentru constructia sistemelor bazate pe cunotinte. Tot din exploatarea a s sistemului s-au conturat i directiile de dezvoltare viitoare, dintre care amintesc: implementarea s integrrii celor trei nivele folosind componente binare (pentru platforme de inter-comunicare a cum ar COM/DCOM, CORBA sau J2EE) plus fat de integrarea de generare de cod, exn a tinderea modulului de construire automat a arborilor de decizie la noi tipuri de surse de date a sau suportul motoarele de inferent Fuzzy. a

114

MEDIU PENTRU DEZVOLTAREA SISTEMELOR BAZATE PE CUNOSTINTE

Capitolul 4

Platform multi-agent pentru a descoperirea cunotintelor s


Procesul de descoperire a cunotintelor din bazele de date (Knowledge Discovery from Datas bases, KDD) este unul complex care implic mai multe etape: elegerea problemei, elegerea a nt nt datelor, pregtirea datelor, construirea modelului, evaluarea i exploatarea sistemului. Pena s tru ecare dintre aceste etape exist algoritmi i tehnici disponibile, utilizatorul trebuind s a s a aleag cel mai adecvat proces pentru rezolvarea problemei sale, activitate ce presupune mult a a experient domeniu precum i cunotinte avansate din domenii precum machine learning, a n s s statistic sau algoritmic. Scopul abordrilor actuale este dezvoltarea unui sistem care s ina a a a tegreze ntreg spectrul strategiilor de tip machine learning i care s e capabil s selecteze s a a In cea mai potrivit strategie (sau strategii) pentru o problem dat [Mic93]. acest capitol va a a a denit o platform orientat agent numit AgentDiscover pentru formalizarea, automatia a a a zarea, asistarea i uurarea implementrii acestui proces pentru utilizatorii nali. Implementarea s s a platformei AgentDiscover va aduce benecii att pentru utilizatorii experti (ofer o explorare a a sistematic a spatiului de solutii) ct i pentru cei novici (obtinerea unor rezultate bune a a s ntr-un interval de timp scurt). Pe de alt parte, trebuie amintite i cteva dintre beneciile aduse de a s a o abordare multi-agent: scalabilitatea, toleranta la cderi sau distribuirea agentilor pe sisteme a heterogene. Acest capitol este compus din cinci sectiuni. Introducere este prezentat succint problema In a descoperirii de cunotinte din bazele de date, procesul de-facto utilizat, obiectivele i beneciile s s platformei propuse. Apoi sunt trecute revist abordrile KDD multi-agent similare i sunt n a a s sectiunea secund sunt prezentate analiza evidentiate aspectele noi ale abordrii de fat. In a a a i proiectarea sistemului. La s nceput sunt prezentate metodologia i platforma multi-agent s folosite. Apoi este prezentat detaliu arhitectura sistemului, tipurile de agenti, detalii despre a n implementarea lor i o nou ontologie pentru modelarea procesului KDD. Este evidentiat rolul s a Expert System Creator implementarea sistemului. Sectiunea 4.3 propune o nou metodologie n a i un nou model pentru evaluarea calitii sistemelor bazate pe cunotinte care urmeaz denitia s at s a calitii sistemelor cf. standardului ISO/IEC 9126. sectiunea 4.4 sunt analizate etapele de at In functionare ale sistemului pentru un set de date real (CoverType). Capitolul se ncheie cu prezentarea concluziilor i directiilor viitoare de dezvoltare a platformei. s 115

116

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

4.1

Introducere

Procesul de descoperire a cunotintelor din bazele de date (Knoledge Discovery from Datas bases, KDD) este unul complex care implic mai multe etape dintre care crearea modelului este a una dintre ele. Proiectul CRISP-DM (Cross-Industry Standard Process Model for Data Mining) [Con] dezvoltat de patru mari companii (NCR, Daimler Chrysler, SPSS i OHRA, o companie s de asigurri din Olanda) a identicat urmtoarele faze ale procesului de KDD, care reprezint a a a i standardul de facto la nivel industrial: s 1. elegerea problemei (Business Understanding): se concentreaz asupra elegerii obiecInt a nt tivelor i cerintelor proiectului din punct de vedere al business-ului i apoi convertirea s s n acestor cunotinte s ntr-o problem de data mining, plus un plan preliminar proiectat a n vederea atingerii obiectivelor. 2. elegerea datelor (Data Understanding): pornind de la o colectie initial de date se Int a procedeaz la activiti de analizare a datelor scopul familiarizrii cu acestea, pentru a a at n a identica problemele de calitate, pentru a descoperi primele informatii utile despre acestea sau pentru a detecta subseturi interesante vederea formrii de ipoteze pentru informatiile n a ascunse. 3. Pregtirea datelor (Data Preparation): cuprinde toate activitile (normalizri sau disa at a cretizri spre exemplu) prin care se construiete setul de date nal (adic cel care va a s a procesat de unealta de modelare) din datele initiale neprocesate. 4. Modelarea (Modeling): sunt selectate i aplicate diverse tehnici de modelare a datelor, s sunt stabiliti parametrii acestora la valorile optimale; aceasta este faza care se aplic n a diverse tehnici de tipul data mining. 5. Evaluarea (Evaluation): evaluarea modelului construit vederea asigurii faptului c n a a ndeplinete obiectivele stabilite prima faz. s n a 6. Exploatarea (Deployment): functie de cerinte, aceast faz se poate rezuma la simpla n a a generare a unui raport sau poate cu mult mai complex implementnd un proces iterativ a a de data mining. Pentru ecare dintre aceste etape exist algoritmi i tehnici disponibile, utilizatorul nal a s (expert sau nu acest domeniu) trebuind s aleag cel mai potrivit proces din punct de vedere n a a calitativ pentru rezolvarea problemei sale. Aceasta este problema pe care i-o pune cel mai s adesea utilizatorul nal al KDD. De exemplu, disponibilitatea unei largi palete de modele de reprezentare a cunotintelor, dintre care amintesc seturi de reguli, arbori de decizie, tabele de s decizie, clustere, modele bazate pe retele neuronale i altele (vezi capitolul 1 pentru detalii s despre unele dintre aceste modele), ne conduce la urmtoarea a ntrebare: care este cel mai bun model pentru caracterizarea setului de date din punct de vedere al expresivitii, ecientei sau at functionalitii? Alte at ntrebri care apar de-a lungul procesului de KDD sunt: care este cel a mai potrivit algoritm pentru construirea modelului arbore de decizie: C4.5, CART sau altul? sunt necesare reducerea sau generalizarea arborelui? cum sunt calculate costurile clasicrilor a greite? este necesar discretizarea atributelor numerice s a nainte de construirea modelului? dac a

4.1 INTRODUCERE

117

da, care este cea mai potrivit metod? Iat doar cteva din problemele cu care se confrunt a a a a a un utilizator de data mining. Pentru a putea alege cele mai bune metode, algoritmi i procese este nevoie de mult s a experient (analizarea unui numr considerabil de seturi de date trecut) i cunotinte avansate a a n s s din domenii precum machine learning, statistic sau algoritmic. Pe de alt parte, este cunoscut, a a a din multe studii empirice, c un algoritm (sau un grup de algoritmi) poate s se comporte cu a a mult mai bine dect alt algoritm rezolvarea unei probleme (sau a unui grup de probleme) care a n In a a este caracterizat de anumite proprieti [Kia03]. acest capitol este introdus o platform a at orientat agent pentru formalizarea, automatizarea, asistarea i uurarea implementrii unui a s s a astfel de proces pentru utilizatorii nali. Obiectivele urmrite proiectarea acestei platforme a n sunt: a s s suporte integrarea mai multor modele de reprezentare a cunotintelor; s e extensibil astfel at introducerea unor modele noi, msuri noi etc. s e posibil a a nc a a a ntr-un mod facil; s e transparent i uor congurabil, adic utilizatorii s poat vizualiza i particulariza a as s a a a a s metodele sau algoritmii folositi; s recomande utilizatorului non-expert scenarii KDD (denitia 4.1.1); a s ofere utilizatorului non-expert recomandri i sprijin executarea scenariilor; a a s n s poat e uor implementabil pe o platform multi-agent (de exemplu JADE, JADEX, a a s a a JACK); s execute procesele KDD pe o arhitectur distribuit. a a a Dintre posibilele benecii ale unui astfel de sistem amintim: pentru utilizatorii novici: ofer posibilitatea ca a ntr-un timp scurt acetia s obtin rezuls a a tate de bun calitate prin intermediul sugestiilor oferite de sistem pentru o problem sau a a alta; pentru expertii din domeniul KDD/DM: ofer o modalitate de explorare sistematic a a a spatiului de solutii pentru o anumit problem de KDD astfel at se elimin posibilitatea a a nc a ca anumite variante (sau pai necesari) s e omise dintr-un motiv sau altul; totodat, s a a asigur accesul la implementrile cele mai noi i mai performante prezente oferite de agentii a a s sistemului i o validare a modelului obtinut; s ofer o infrastructur pentru partajarea cunotintelor despre KDD/DM a a s ntre comunitatea de agenti (de exemplu, o nou tehnic de inductie incremental implementat de un agent a a a a va deveni imediat disponibil tuturor agentilor din retea). a Inainte de a prezenta un scurt rezumat al abordrilor similare, vom introduce termenii de a scenariu KDD i agent. s

118

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

Denitia 4.1.1. Prin scenariu KDD elegem o succesiune ordonat de task-uri aplicate unui nt a set de date de intrare vederea extragerii unui model de cunotinte. Task-urile apartin uneia n s din etapele procesului de KDD descris la pagina 116. Termenul agent este unul foarte general i are semnicatii diferite pentru specialiti. Studiind s s literatura disponibil acest domeniu au fost identicate dou abordri ale notiunii de agent: a n a a sens slab (agreat de cei mai multi experti domeniu) i sens puternic (controversat n a n s n i subiect al unei cercetri active) [WJ95]. s a Denitia 4.1.2. sens slab, un agent este un sistem software cu urmtoarele proprieti In a at [WJ95]: autonomie: agentii opereaz fr interventia direct a factorului uman sau a altor agenti a aa a i au un nivel de control asupra propriilor actiuni i asupra strii interne; s s a socializare: agentii interactioneaz cu alti agenti (sau oameni) folosind un limbaj de co a municare (ACL = Agent Communication Language); reactivitate: agentii observ propriul mediul i rspund oportun schimbrilor care apar a s a a n mediu; pro-activitate: afar de actiunile pe care le execut ca rspuns la schimbrile de mediu, n a a a a agentii mai sunt capabili s manifeste un comportament orientat obiectiv prin luarea a initiativei. In s Denitia 4.1.3. sens puternic, un agent este o extensie a notiunii slabe i presupune adugarea unor proprieti mentale precum credinta, nevoia i intentia (modelul BDI) [Sho93]. a at s acest capitol vom folosi termenul de agent sensul slab dat de denitia 4.1.2. Un sistem In n multi-agent este compus dintr-o comunitate de agenti (adic secvente de program autonome) a care comunic a ntre ei folosind un limbaj de comunicare (ACL). Spre deosebire de obiectele din abordrile centrate obiect, agentii au abilitatea de a decide dac efectueaz o actiune sau nu, a a a momentul la care o efectueaz sau ce ce resurse. a Abordri anterioare a Cea mai mare parte a propunerilor de sisteme multi-agent (Multi-Agent System, MAS) n conjuctie cu KDD se axeaz pe rezolvarea problemelor de data mining (DM) folosind arhitec a turi distribuite bazate pe agenti vederea n mbuntirii performantelor de timp ale procesului a at + 03, GBK04, SPT+ 97]. O abordare distinct i complex este prezentat de Symeonidis i [CZC as a a s Mitkas [SM05] care este descris sistemul multi-agent Agent Academy [Aca], care ofer un men a diu integrat de tip GUI (Graphical User Interface) pentru proiectarea, implementarea, punerea practic i exploatarea MAS pentru data mining. Este un sistem compatibil FIPA, bazat pe n as platforma JADE, care utilizeaz ontologiile pentru reprezentarea cunotintelor schimbate a s ntre agenti, precum i modele data mining pentru antrenarea i s s nzestrarea agentilor din sistem cu un comportament inteligent. O alt directie care s-au concentrat proiectele MAS este cea a sistemelor de meta- aare a n nvt (meta-learning, ML) pentru KDD care ofer executarea mod pipeline, multi-faz, a procesului a n a

4.1 INTRODUCERE

119

de DM i care recomand mod inteligent strategii de aplicare a DM pentru o problem dat. s a n a a ML este procesul prin care se induc mod automat corelatii n ntre task-uri i strategii de rezolvare s pe baza unor caracteristici ale domeniului. Mai multe abordri ML pentru selectarea automat a a a algoritmilor au fost introduse literatura de specialitate. Un rezumat extins poate gsite n a [Kal02]. Cele mai populare strategii utilizeaz o caracterizare a setului de date din punct de n a vedere statistic/informational, sau mai recent abordarea i caracterizarea landmarking [PBC00] s a algoritmilor. Unul dintre cele mai cunoscute proiecte din aceast categorie este proiectul a european METAL [MET, BGSVP01, BGSVG00, KH00]. Acesta ofer o interfat Web pentru a a aceast abodare se pune asistarea i ghidarea utilizatorilor procesul de data-mining. In s n a accentul pe detaliile tehnice legate de implementarea unui nivel intermediar (middleware) pentru sisteme multi-agent, cum ar nregistrarea agentilor sau descoperirea dinamic de resurse. Spre a a deosebire de proiectul METAL, sistemul MAS propus de Luo et al. [LHH+ 05] se bazeaz pe n facilitile oferite de ctre un middleware MAS existent care suport nivelele de comunicare interat a a agenti i calculul distribuit (MAGE [SZC+ 04]), scopul principal acestui proiect ind dezvoltarea s unor functionaliti de nivel at nalt ale sistemului, precum controlul procesului sau asignarea joburilor. Autorii prezint un motor de executie care se bazeaz pe formalizarea procesului de a a DM ca i graf aciclic directionat pentru a descoperi cunotinte i meta-cunotinte din seturile s s s s de date de intrare i pentru a s mbunti strategiile de recomandare pentru procesul de DM. a at Un alt aspect al sistemului este cel legat de oferirea de recomandri utilizatorilor. Aceste rea comandri pot fcute mai multe moduri: o list de algoritmi aplicabili, cel mai bun algoritm a a n a sau un clasament al celor mai buni algoritmi. primul caz, algoritmii candidati sunt artiti In mp dou clase: algoritmi care se ateapt s obtin rezultate bune pe setul de date considerat i n a s a a a s In algoritmi de la care se ateapt rezultate mai slabe [LS99]. cel de-al doilea caz, utilizatorului s a este prezentat un singur algoritm care ar trebui s produc cele mai bune rezultate, raport i a a n cu criteriul de performant ales, pentru setul de date considerat [TD00]. cel de-al treilea caz, a In In a este sugerat un clasament (list ordonat) al celor mai adecvati algoritmi [Soh99]. aceast a a ultim categorie sunt desfurare numeroase proiecte, precum SPECTER [BB05], J-IDEA a n as [BPH02, BPH05] sau METAL. Aspecte originale ale prezentei abordri a primul rnd, abordarea de fat este una ce pornete de la ideea folosirii unui rationament In a a s orientat task [CJ93] pentru rezolvarea problemelor pe o arhitectur multi-agent. literatura a In de specialitate au fost propuse arhitecturi multi-agent [Neg96b, Neg96a, FC99, NNLC99, Car01, Sa04, NSP05] pentru rezolvarea de probleme generice (instantiate particular pentru rezolvarea n de sisteme de ecuatii [MNPS02, Neg96a, NMS98, Sa04, SNP05] sau intermedierea tranzactiilor comerciale electronice [CHDG00, SNP01a, SNP03]) folosind un rationament orientat task [CJ93, SNP98, SNP01b, SNP01c]. Pornind de la ideile i arhitecturile generice prezentate lucrrile s n a amintite, a fost proiectat o platform multi-agent pentru rezolvarea problemei particulare de a a KDD. Comparativ cu abordri similare domeniul KDD (adic multi-agent sau meta-learning) a n a sunt aduse cteva a mbuntiri semnicative. De exemplu, spre deosebire de proiectul MEa at TAL, care doar dou dintre atributele calitative ale unui model sunt accesibile utilizatorului n a acuratetea modelului i viteza de constructie a acestuia sistemul propus aceast capitol, s n n

120

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

pentru un model de cunotinte sunt evaluati toti indicatorii de calitate propui de standardul s s ISO, adic functionalitatea, abilitatea, utilitatea, ecienta, uurinta a s n ntretinere i porta s bilitatea. Pe baza acestora, sistemul realizeaz o ordonare a modelelor, utilizatorul putnd a a selecta modelul care ofer cea mai bun calitate. Acuratetea i viteza sunt doar dou dintre a a s a sub-componentele care contribuie la calcularea caracteristicilor calitative, alte componente ale calitii ind, de exemplu, memoria necesar contruirii modelului sau ct de inteligibil este at a a sistemul pentru factorul uman. O alt propunere de a mbuntire fat de abordrile anterioare este cea legat de recomana at a a a darea i particularizarea procesului de KDD. Expertilor le este oferit un instrument pentru s crearea manual a scenariilor care sunt stocate baza de cunotinte, timp ce utilizatorilor a n s n non-experti le este recomandat un clasament al celor mai potrivite scenarii pentru problema de rezolvat. Utilizatorul va avea posibilitatea de a alege unul dintre scenariile propuse de sistem (scenarii ordonate dup criteriul de calitate) i de a-l particulariza (a selecta o metod de rea s a zolvare, a ajusta parametrii de functionare a unui algoritm, a introduce un pas intermediar de procesare etc.) nainte de executie.

4.2

Analiza i proiectarea sistemului s

Dezvoltarea unui proiect software cuprinde patru faze fundamentale: planicarea, analiza, proiectarea i implementarea. O metodologie denete un set de directii formale (adic o list s s a a de pai i livrri diagrame, scheme sau documente precum i un set de euristici care vin s s a s n sprijinul lurii unor decizii) ce descriu modul de avansare prin aceste faze [DW00]. O metodologie a se comport ca o retet care ajut pe proiectant implementarea solutiei prin specicarea a a l a n unor pai care trebuie s e urmati, lsnd altii seama creativitii proiectantului. Proiectarea s a aa n at sistemelor software orientate agent este un domeniu relativ nou, emergent din programarea a orientat obiect [Ode00]. Astfel, metodologiile curente pentru dezvoltarea orientat agent a Gaia [WJK00], MESSAGE [CCG+ 02] sau Cassiopeia [CDB96] tind s adapteze analiza i a s proiectarea orientat obiect proiectrii orientate agent [Woo02] a a ntr-o manier top-down. a In [BJW04, LAD04, Woo02] sunt oferite cteva studii foarte bune ale acestor metodologii. a In [Woo02] se arat c adaptarea metodologiilor orientate obiect la sistemele multi-agent are unele a a dezavantaje, principal provenind din faptul c obiectele i agentii sunt abstractiuni diferite n a s i ar trebui gndite la nivele diferite. plus, abordarea top-down nu este sucient cazul s a In a n sistemelor care contin deja resurse existente care trebuie s e refolosite sistemul multi-agent. a n [NCB06] este propus o metodologie care se concentreaz pe specicul agentilor i a a a s In abstractiunilor oferite de paradigma agent. plus, se combin abordarea top-down cu una In a bottom-up astfel at sunt suportate att integrarea capabilitilor existente ale sistemului ct i nc a at a s denirea cerintelor generale ale aplicatiei. Chiar dac doar dou dintre cele 4 faze fundamentale a a ale ciclului de viat al unui proiect software analiza i proiectarea sunt formalizate de a s metodologia propus [NCB06], sunt oferite indicii i despre celelalte dou faze. Deoarece a n s a scopul principal al acestui capitol este de a proiecta un sistem multi-agent pentru KDD, fr a aa intra detalii de implementare sau planicare, metodologia de lucru propus [NCB06] s-a n a n dovedit a sucient de puternic pentru scopul urmrit aici. a a Pentru faza de proiectare a fost aleas platforma JADE (Java Agent DEvelopment Framea

4.2 ANALIZA SI PROIECTAREA SISTEMULUI

121

work) [fIPAF] dezvoltat de Telecom Italia Lab (TILAB) conformitate cu specicatiile FIPA a n (Foundation for Intelligent Physical Agents) [Lab]. esent, JADE este un nivel intermediar In a (middleware) scris n ntregime tehnologie Java, care simplic implementarea sistemelor n a multi-agent prin oferirea unui set de unelte grace care sprijin fazele de depanare i punere a s n practic (deployment) ale proiectului. Agentii pot distribuiti pe mai multe maini de calcul, a s care pot rula sisteme de operare diferite, ntreaga conguratie de agenti putnd controlat de a a la distant dintr-o consol grac. Un instrument complex pentru dezvoltare sistemelor multia a a agent pentru platforma JADE este IngeniasIDE [dASIyAG, PGS03] care se prezint ca un editor a GUI ce implementeaz limbajul de specicarea a agentilor denit cadrul procesului de deza n voltare INGENIAS [Ing]. Totodat, editorul are posibilitatea de a genera cod specic platformei a JADE pentru agentii proiectati. Utilizarea unei platforme faza de proiectare reduce simtitor n durata fazei de implementare. Metodologia aleas este descris Figura 4.1. general, faza de analiz este una genea a n In a ric, independent de platforma aleas pentru proiectare i implementare, timp ce faza de a a a s n proiectare presupune utilizarea platformei JADE. plus fat de denitia agentilor 4.1.2, pentru In a faza de analiz vom aduga unui agent un nume unic pentru identicarea sa. Pentru faza de a a proiectare, descrierea agentilor vor folosite abstractiunile puse la dispozitie de platforma n JADE.

4.2.1

Analiza sistemului

Ca prim pas faza de analiz, vom crea diagrama de utilizare (use case). Pentru n a reprezentarea acesteia vom folosi modelul propus de limbajul UML (Unied Modeling Language) s [Gro]. Acest limbaj denete un set de 13 tipuri de diagrame (diagrama de utilizare ind una dintre ele) pentru reprezentarea rezultatelor fazelor de analiz i proiectare. Diagrama de as utilizare a sistemului este prezentat Figura 4.2. a n continuare, vor identiticate prinicipalele tipuri de agenti pentru sistemul nostru In n a i va creat diagramei agentilor, prezentat Figura 4.3, care se prezint: tipurile de s a a n agenti (prin dreptunghiuri rotunjite), actorii umani (prin simbolul UML pentru actor uman), resursele externe cu care va interactiona sistemul (prin dreptunghiuri) i relatiile1 prin care se s evidentiaz care elemente interactioneaz cu care timpul functionrii sistemului (prin linii). a a n a Dreptunghiurile dublate reprezint clase diferite de agenti de acelai tip (de exemplu, exist mai a s a multe clase de agenti constructori, cte una pentru ecare model de reprezentare). Diagrama a agentilor este ranat i a s mbuntit pe tot parcursul etapei de analiz i proiectare. Pentru a at a as a benecia de o portabilitate ct mai mare interactiunea cu sistemele externe, acestea vor a n accesate folosind agenti de tip transducer [GSK94], adic agenti care accept mesaje de la a a agentii din sistem ( ACL), le translateaz limbajul nativ al sistemului extern i le trimite n a n s acestuia spre executie. Rspunsul primit de la sistemul extern este convertit a ntr-un mesaj ACL i este trimis agentului care a initiat cererea. s continuare, pe baza diagramei de utilizare, se identic capabilitile agentilor care In a at sunt sintetizate apoi tabela capabilitilor prezentat Tabela 4.1. n at a n Dup ce au fost precizate principalele tipuri de agenti i capabilitile lor initiale, se proa s at cedeaz la identicarea relatiilor a ntre agenti, adic cine cu cine interactioneaz, i se ac a a s
1

Termenul de relatie (acquaintance) a fost preluat din terminologia Gaia [WJK00].

122

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

Analiza
1: Use Cases

Proiectarea
1: Separarea/unirea/redenumirea agentilor

2: Identificarea tipurilor initiale de agenti 3: Identificarea capabilitatilor 4: Identificarea relatiilor 5: Rafinarea agentilor

2: Specificarea interactiunilor 3: Definirea protocoalelor de interactiune 4: Mesaje sablon 5: Descrierea inregistrarii/regasirii agentilor 6: Interactiunile agenti resurse

6: Informatii referitoare la desfasurarea agentilor

7: Interactiunile agenti utilizator 8: Comportamentele interne ale agentilor

9: Definirea ontologiei 10: Alegerea limbajului de continut

Implementarea si testarea
Nu este in scopul acestei lucrari

Figura 4.1: Metodologia pentru analiza i proiectarea sistemelor multi-agent s

4.2 ANALIZA SI PROIECTAREA SISTEMULUI

123

Figura 4.2: Diagrama de utilizare

Agent de Caracterizare

Ex1, Ca2 Ex3, Pr1

Agent Expert

In1, Ex2 Ex6

Agent Interfata In3

Ca3, Fd1

Agent de Preprocesare Pr2, Fd1

Ex4 Co2

Ex5, Ca1 Agent Vizualizare

Agent Facilitator de Date

Co3, Fd1

Agent Constructor

Agent Calitate

Set de date de intrare

Baza de cunostinte [scenarii + modele]

Figura 4.3: Diagrama agentilor

124

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

tualizeaz diagrama agentilor 4.3 prin adugarea conexiunilor a a ntre agentii care trebuie s a interactioneze. Pentru o valoare semantic mai bogat a diagramei agentilor, au fost adugate a a a ecrei conexiuni etichete care identic capabilitile din tabela capabilitilor 4.1 corespunza a at at a toare relatiei respective (de exemplu, Co1 reprezint capabilitatea 4 a agentului constructor). a Un alt aspect de care trebuie s inem seama este modul care agentii relationati se descoat n per unul pe cellalt sistem. Pentru acest lucru sunt disponibile dou abordri: centralizat a a n a a a i descentralizat. sistemul de fat a fost aleas abordarea centralizat oferit de serviciul s a In a a a a Directory Facilitator Agent prezent platforma JADE, o solutie exibil i portabil. n as a

4.2.2

Proiectarea sistemului

faza de proiectare a sistemului se urmrete specicarea solutiei tehnice. Dup cum se In a s a observ din Figura 4.1 nu exist o delimitare precis a a a ntre fazele de analiz i proiectare, de a s exemplu anumite decizii luate timpul proiectrii vor duce la modicri diagramele pron a a n duse timpul analizei. continuare, se va utiliza JADE [Lab] ca platform de dezvoltare i n In a s prin urmare vom folosi interfetele i conceptele puse la dispozitie de aceasta pentru proiecta s rea sistemului de agenti. Utilizarea unor unelte vizuale face posibil generarea unei cantiti a at semnifactive de cod, reducnd astfel timpul petrecut faza de implementare. a n Primul pas faza de proiectare este construirea pe baza tabelei capabilitilor i a relan at s ionrilor dintre agenti a tabelei de interactiuni pentru ecare agent parte. Rolul acestei t a n tabele este de a detalia ecare interactiune ntre agenti, de a stabili rolurile jucate de agenti, precum i protocoalele folosite. Tabela 4.2 prezint tabela de interactiuni pentru agentul expert. s a s Protocoalele de interactiune (IP) sunt bazate pe abloanele propuse de FIPA [paFTM03] i s n sunt prezentate sumar aici: Request un agent (initiator) cere altui agent (participant) s efectueze o actiune; i a Query unui agent (participant) i se cere s efectueze o actiune de informare a agentului a initiator; Request When un agent (initiator) cere altui agent (participant) s efectueze o actiune i a atunci cnd o preconditie va deveni adevrat; a a a Contract Net agentul initiator joac rolul unui manager care dorete ca nite agenti a s s participanti s efectueze anumite taskuri a ntr-un mod ct mai optim; a nc Iterated Contract Net este o extensie a protocolului Contract Net astfel at se permite o licitare iterativ; a English Auction implementeaz o interactiune de tip licitatie a ntre doi sau mai multi agenti vederea obtinerii unui pret de piat pentru un bun de consum; n a Subscribe un agent (initiator) cere altui agent (participant) s efectueze o actiune la i a abonare i ulterior cnd obiectul referentiat se modic; s a a Propose un agent (initiator) propune altui agent (receptor) ca initiatorul s efectueze i a o actiune asupra sa atunci cnd receptorul va putea accepta propunerea. a

4.2 ANALIZA SI PROIECTAREA SISTEMULUI

125

Tip Agent Agent Interfat a

Agent Expert

Agent de Caracterizare

Agent de Preprocesare

Agent Constructor

Agent Facilitator de Date Agent Calitate

Agent Vizualizare

Capabiliti at 1) deleag agentul expert vederea selectrii scenariului pentru crearea a n a unui nou model 2) creeaz, terge sau editeaz un scenariu din baza de cunotinte a s a s 3) vizualizeaz un model a 4) ofer utilizatorului posibilitatea s selecteze tipul de problem pe a a a care dorete s o rezolve (clasicare, grupare etc.) i s precizeze setul s a s a de date de intrare 5) ofer utilizatorului non-expert scenariile recomande de ctre agentul a a expert 1) trimite setul de date spre analiza initial agentului de caracterizare a 2) selecteaz cele mai potrivite scenarii pentru setul de date i le trimite a s agentului interfat a 3) invoc agentul de preprocesare a 4) trimite setul de date agentului constructor pentru construirea modelului 5) comunic modelul agentului calitate vederea calculrii metricilor a n a calitative pentru acel model 6) invoc agentul vizualizare pentu aarea modelului construit a s 7) stocheaz scenariul, modelul de cunotinte i modelul calitativ a s s n baza de cunotinte s 1) efectueaz evaluri statistice asupra setului de date de intrare a a n vederea obtinerii primelor informatii utile despre setul de date 2) construiete vectorul caracteristic pentru setul de date pe care s l returneaz agentului expert a 3) primete setul de date de intrare formatul ateptat de la agentul s n s facilitator de date 1) pregtete setul de date pentru faza de modelare; rezultatul acestei a s etape este un set de date procesat 2) primete setul de date de intrare formatul ateptat de la agentul s n s facilitator de date 3) selecteaz o metod/agent care s realizeze preprocesarea setului de a a a date 1) selecteaz i congureaz agentul care va crea efectiv modelul din a s a setul de date 2) construiete un meta-model (arbore de decizie, tabel de decizie etc.) s a dintr-un set de date de intrare pe care returneaz agentului expert l a 3) primete setul de date de intrare formatul ateptat de la agentul s n s facilitator de date 1) convertete setul de date de intrare la formatul de intrare pe care s l ateapt agentul apelant s a 1) calculeaz metricile calitative pentru un meta-model pe baza cererilor a venite de la agentul expert i returneaz aceste metrici agentului apelant s a 2) obtine modelul pentru care determin metricile a 1) vizualizeaz un meta-model a 2) tiprete un meta-model a s

Tabela 4.1: Tabela capabilitilor at

126

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR


Interactiune Resp Protocol interactiune (IP) Request Rol Cu cine Cnd a

Trimite setul de date spre analiz a Preproceseaz setul de a intrare Initiaz a construirea modelul Primete modelul s Determin a calitatea modelului Vizualizeaz modelul a

Caracterizare

3 4 4 5 6

Request Request Subscribe Request Propose

I I R I I

Preprocesare Constructor Constructor Calitate Vizualizare

Prima actiune n procesul de creare a unui nou model Dup selectarea a scenariului Dup selectarea a scenariului Cnd un nou moa del este disponibil Un nou model este disponibil Un nou model este disponibil

Tabela 4.2: Tabela de interactiuni pentru agentul expert Toate aceste protocoale sunt implementate sub form de comportamente (behaviour) JADE. a Fiecare comportament JADE necesit precizarea unor obiecte de tipul MessageTemplate coresa as punztor pentru a receptiona mesajele care vin. Ultima coloan a tabelei 4.2 prezint abloanele a a utilizate. Un aspect important al unui sistem multi-agent este modul de publicare/regsire al agentilor a [Sa04]. sistemul de fat se folosete o abordare centralizat ce utilizeaz un agent facilita In a s a a tor oferit, cazul platformei JADE, prin serviciul Directory Facilitator Agent (DFA). Agentii n sistemului multi-agent si vor nregistra capabilitile la agentul facilitator, proces denumit publiat carea capabilitilor. O capabilitate este descris printr-un descriptor de capabiltiate ce contine: at a vederea tipul, ontologia, limbajul, protocolul i un set de proprieti specice capabilitii. In s at at regsirii unui agent, agentul facilitator va interogat tot cu un descriptor de capabilitate, a n care se va preciza, de exemplu, tipul de agent cutat. Facilitatorul va asigna agentul cel mai a potrivit ( functie de criteriile calitative urmrite) pentru executarea task-ului respectiv i va n a s a at trimite rspunsul agentului initiator. De exemplu, Figura 4.4 prezint publicarea capabilitilor a agentilor constructori i regsirea lor de ctre agentul expert (parte a procesului de facilitare s a a descris de capabilitatea Co1: selecteaz i congureaz agentul care va crea modelul din setul as a de date). Resursele externe care trebuie s e controlate de ctre sistemul multi-agent sunt setul de a a date de intrare i baza de cunotinte, ambele ind resurse de tip pasiv. Organizarea i accesul s s s bazei de cunotinte sunt prezentate detaliu sectiunea 4.2.2 la pagina 128. ceea ce privete s n n In s setul de date de intrare, acesta poate oferit de ctre diveri furnizori de date: un sistem de a s gestiune a bazelor de date, un ier pe disc sau un ux TCP/IP. toate aceste cazuri, resursele s In externe vor tratate de ctre agentul facilitator de date care le va accesa folosind standarde sau a pachete specice. De exemplu, pentru accesul la ierele format ARFF [WF00, WF05] se vor s n folosi pachetele java.nio sau java.io implementate de ctre maina virtual Java. a s a Pentru accesul la sursele de date stocate baze de date se va folosi un agent transducer, n

4.2 ANALIZA SI PROIECTAREA SISTEMULUI


Capabilitate agent Descriptor Agent Constructor publica tip: datamodeler ontologie: kdd limbaj: FIPASL protocol: FIPARequest Proprietati model: <tipmodel> algorithm: <tipalgorithm> task: <tiptask> metoda: <tipmetoda> software: <pachetulsoftware>

127

Capabilitate agent Descriptor cauta Agent Expert tip: datamodeler Proprietati model: <tipmodel>

Figura 4.4: Publicarea/regsirea agentilor constructori folosind un agent facilitator a


Agent Facilitator de Date ADBMiddleware DBMiddleware SQL/JDBC Database

(QUERY_REF :language SQL :content SQLstatement) (INFORM :language SL :ontology DBMiddlewareontology)

(QUERY_REF) (INFORM :language SL :ontology DBMiddlewareontology)

Figura 4.5: Agentul traductor pentru accesul la o baz de date relational a a denumit ADBMiddleware, care va traduce cererile venite limbajul ACL de la alti agenti n n apeluri ctre biblioteca DBMiddleware (vezi sectiunea 3.7.1), un nivel intermediar care asigur a a transparent fat SGBD i care va accesa SGDB-ul folosind drivere compatibile cu standardul a a s JDBC2 [Micc, FEB03] i limbajul de interogare SQL [BED01, EMK+ 04]. Figura 4.5 prezint s a schematic interactiunile dintre agentul ADBMiddleware, agentul initiator (care versiunea n actual a arhitecturii sistemului se identic cu unul dintre agentii facilitatori de date) i baza a a s de date. Se observ c abordarea propus izoleaz interogrile SQL a a a a a ntr-o bibliotec/agent a distinct reducnd astfel complexitatea celorlalti agenti care au nevoie de acces la baza de date. a a Sablonul de comunicare ntre agentul initiator i ADBMiddleware este o versiune iterativ a s a protocolului FIPA Request care permite livrarea rezultatului buci partiale, nu ca un n at ntreg. Ontologia DBMiddleware este dezvoltare. n Interactiunea sistem utilizator este realizat de ctre agentul interfat (Figura 4.3) a a a i s-a ales ca accesul la sistemul JADE (att pentru utilizatorii de KDD ct i pentru expertii s a a s umani) s se fac printr-o interfat Web dezvoltat folosind tehnologia JSP (Java Server Pages) a a a a

128

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

[Micb]. Pentru interactiunea dintre cele dou medii, JSP i JADE, se vor folosi agenti de tip a s proxy implementati ca instante ale clasei JADEGateway. Ranarea comportamentului intern al agentilor este urmtorul pas proiectarea sis a n temului. De fapt, acest comportament reprezint ceea ce trebuie s fac efectiv un agent. a a a Pentru identicarea comportamentului unui agent, se procedeaz la analiza tabelei de capabia liti 4.1 creat faza de analiz i se transpun aceste capabiliti comportamente. Pentru at a n as at n implementarea capabilitilor ce presupun interactiuni cu alti agenti (sintetizate tabela de at n interactiuni 4.2) se vor utiliza clasele JADE care denesc protocolul de interactiune i rolul spe s cic acelei capabiliti. De exemplu, capabilitatea Co1 (vezi Tabela 4.1), agentul constructor at n joac rolul de initiator a ntr-un protocol de tip Contract Net. Prin urmare, aceast capabilia tate a agentului constructor va implementat printr-un comportament care va specializa clasa a jade.proto.ContractNetInitiator. La implementarea tuturor capabilitilor identicate at n faza de analiz este posibil s apar noi sub-capabiliti i/sau noi interactiuni a a a at s ntre agenti. Acest lucru va duce negreit la actualizarea diagramei agentilor i a tabelelor de capabiliti i s s at s interactiuni. ce privete limbajul de continut, JADE pune la dispozitia dezvoltatorilor (prin interIn s mediul pachetului jade.content) dou codec-uri: limbajul SL i limbajul LEAP. timp ce a s In primul este interpretabil de facorul uman, LEAP este unul codicat la nivel de octet (binar). Deasemenea, dezvoltatorii pot s deneasc propriile limbaje de continut (de exemplu pentru a a n a XML [Qua03]). Pentru sistemul prezentat aceast lucrare a fost ales limbajul SL, suportat implicit de platforma JADE. Baza de cunotinte s Baza de cunotinte este organizat pe dou nivele: meta-modelele create de sistem i sces a a s nariile utilizate inducerea acestor modele. Figurile 4.7 i 4.3 prezint rolul i locul bazei de n s a s cunotinte arhitectura general a sistemului. s n a Meta-modelele sunt stocate ca iere format PMML (Predictive Model Markup Lans n guage) [Gro05a]. PMML este un limbaj bazat pe XML [Gro05b] propus de ctre Data Mining a Group (DMG) [Gro06] (un grup independent de actori importanti piata data mining, precum n IBM, Microsoft, Oracle, Salford Systems, SAP etc., al crui scop este dezvoltarea de standarde a pentru data mining) i care la momentul scrierii acestei lucrri se aa la versiunea 3.1, propus s a a decembrie 2005. PMML ofer aplicatiilor posibilitatea s deneasc modele statistice (Na n a a a ve Bayes Model, Regression Model etc.) sau specice data mining (Association Model, Tree Model etc.) i s le partajeze s a ntre ele. Cele mai cunoscute aplicatii de data mining (DB2 Data Ware house, DB2 Intelligent Miner, CART, Enterprise Miner, Clementine, SPSS) export/import a a modele construite diverse versiuni (de la 1.1 la 3.0) ale acestui limbaj. n Cealalt component a bazei de cunotinte o constituie baza de scenarii. Un scenariu a a s descrie task-urile ce vor executate pentru obtinerea unui meta-model (denitia 4.1.1) i pre s conditiile de aplicare ale scenariului. Acestea sunt salvate baza de cunotinte din care pot n s regsite ulterior ca solutii pentru rezolvarea de noi probleme de KDD. Urmtoarele informatii a a sunt salvate pentru ecare scenariu: task-urile ce compun scenariul, vectorul caracteristic corespunztor setului de date de intrare (pre-conditiile de aplicare), meta-modelul construit i a s modelul calitativ corespunztor modelului construit. Toate aceste informatii vor codicate a n

4.2 ANALIZA SI PROIECTAREA SISTEMULUI format XML [Gro05b] ca exemplul urmtor. n a


<Scenario ref:ID="KDD" name="Classification on CoverType"> <datasource> <name>Cover Type</name> <description>Provided by US Forest Service</description> <location>\\MyDomain\ServerName\CoverType</location> <general-measures instances="581012" attributes="54" num="10" cat="44" /> <statistical-measures std="7.7" varCoeff="1.34" /> <informational-measures normentropy=0.87 /> </datasource> <model> <name>Decision Tree</name> <location>c:\\Results\USFS.pmml</location> <language>PMML</language> </model> <quality-model> <name>Decision Tree QM</name> <location>c:\\Results\USFS.qml</location> <language>XML</language> <characteristics reusability=0.8 flexibility=0.8 understandability=0.9 extensibility=0.6 funcionality=0.9> </quality-model> <tasks name="CLASSIFICATION-0"> <task name="discretization of continuous attribute" type="Data Preparation" /> <task name="decision tree induction" type="Modelling" /> <task name="pruning" type="Evaluation" /> <task name="visualization" type="Evaluation" /> </tasks> </Scenario>

129

Pentru crearea scenariului propriu-zis se pot utiliza diverse instrumente vizuale disponibile pe piat, cum ar Knowledge Flow Interface din cadrul proiectului WEKA [oW, WF00, WF05]. a Pe de alt parte, toate scenariile executate de ctre sistem vor memorate baza de a a n cunotinte s mpreun cu modelele calitative corespunztoare vederea interogrilor ulterioare a a n a necesare implementrii mecanismelor de aare nesupervizat. Aceste instante ale scenariilor a nvt a generice sunt denumite continuare scenarii compilate. aceste scenarii se salveaz, pe n In a lng informatiile de mai sus, i tipul metodei concrete de rezolvare task a a s mpreun cu valorile a parametrilor de congurare utilizate la executarea unei metode de rezolvare task. Formatul de reprezentare este tot XML. Scenariile compilate vor regsite la fel ca scenariile generice, ind a propuse utilizatorului mpreun cu cele generice, decizia de alegere a unui scenariu generic sau a compilat pentru rezolvarea unei probleme ind lsat la latitudinea utilizatorului. a a Din punct de vedere zic, baza de scenarii poate realizat e folosind sistemul de iere, a s e folosind sisteme de gestiune a bazelor de date relationale sau obiectuale.

4.2.3

Ontologia KDD

Cnd agentii interactioneaz, ei schimb informatii care refer entiti abstracte sau concrete a a a a at ce exist mediul multi-agent. Aceste entiti pot primitive (int, String etc.) sau pot a n at reprezenta structuri complexe numite concepte. Relatiile dintre entiti pot la rndul lor at a structuri complexe denite printr-un nume i o multime de sloturi care pot lua valori de un s

130

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

anumit tip. Aceste structuri se numesc terminologia ontologiilor, predicate. O alt categorie n a de entiti complexe care pot descrise sunt actiunile pe care le pot efectua agentii, pe care le at vom numi actiuni agent, sau simplu actiuni. Denitia 4.2.1. O ontolologie este o multime de concepte, predicate i actiuni agent care s modeleaz un domeniu specic. a Intr-o ontologie sunt incluse doar acele concepte i predicate despre care agentii trebuie s s a negocieze, adic acele instante care trebuie codicate cadrul mesajelor ACL schimbate a n ntre doi sau mai multi agenti din sistem. Utilizarea ontologiilor modelarea procesului de KDD a fost abordat i de ctre alte grupuri n as a de cercetare i i-a demonstrat ecacitatea. Bernstein et al. au propus [BPH05] un asistent s s n inteligent pentru data mining bazat pe utilizarea unei ontologii. Ontologia propus de ei contine a constrngeri (pre- i post-conditii) i cunotinte privitoare la performante (vitez, acuratete) i a s s s a s este interogat pentru a gsi o clasicare a proceselor posibile de DM functie de intrrile a a n a introduse de utilizatori. Ontologia propus de ei este una static, construit i a a a s ntretinut doar a de experti umani. Phillips i Buchanan [PB01] au utilizat ontologiile pentru a etapa de selectare s a caracteristicilor (feature selection) din cadrul procesului de KDD. Bauer i Baldes au propus s [BB05] un prototip de interfat cu utilizatorul proiectul SPECTER bazat pe ontologii cu n a scopul de a mbunti nivelul de a at ntelegere a tehnicilor de machine learning de ctre utilizatorii a non-experti i de a crete inuenta pe care o au acetia asupra sistemelor de ML. Canataro s s s n i Camito au demonstrat [CC03] utilitatea unei ontologii a domeniului DM simplicarea s n dezvoltrii aplicatiilor distribuite de KDD sistemele de grid computing. O sintez reuti i a n a s as detaliat a utilizrii ontologiilor pentru implementara asistentilor inteligenti pentru DM (IDA) a a este prezentat de ctre Bernstein et al. [BPH02]. a a n Fat de proiectele prezentate mai sus, abordarea de fat [PNS06] aduce cteva a a a mbuntiri. a at primul rnd, ontologia propus aceast sectiune este bazat pe o abordarea structurat, In a a n a a a metodic a procesului de DM/KDD, i anume cea pus la dispozitie de ctre CRISP-DM [Con], a s a a procesul de facto folosit industrie pentru modelarea proceselor de DM. al doilea rnd, cu n In a toate c ontologia propus aceast lucrare are unele similitudini cu cea propus de Canataro a a n a a et al. [CC03], varianta noastr ofer reprezentri pentru toate activitile din procesul de KDD, a a a at nu doar pentru cele de modelare cuprinse lucrarea amintit. De exemplu, sunt propuse mon a dele calitative att pentru modelele de reprezentare a cunotintelor (arbori, tabele, seturi de a s reguli), dar i pentru algoritmi sau tehnici din alte faze ale KDD (de exemplu, discretizare sau s eantionare). Aceste modele sunt bazate pe denitia calitii sistemelor conform cu standardul s at ISOISO/IEC 9126, astfel at acestea sunt tratate mod unitar. O variant de a reprezenta nc n a n cadrul unei ontologii calitatea modelelor i algoritmilor utilizate DM este propus [BPH02], s n a n care autorii adaug indicii de vitez, acuratete i comprehensiune conceptelor care descriu n a a s modelele (conceptele ontologiei). S-a considerat c, pe de o parte, acestea nu sunt complete cona form standardului ISO 9126, i pe de alt parte, ar mai potrivit capturarea lor concepte s a a n distincte ale ontologiei care descriu calitatea modelelor per se. O alt observatie care vine a n sprijinul armatiei de mai sus este faptul c acelai algoritm (de exemplu, discretizarea atribu a s telor numerice folosind tehnica xed bin) poate oferit de mai multi agenti, cu performante a al treilea rnd, ontologia propus aceast diferite, i implicit avnd o calitate diferit. In s a a a a n a

4.2 ANALIZA SI PROIECTAREA SISTEMULUI

131

lucrare propunere o structurare i a furnizorilor de date primare (adic a surselor de date) care s a pot tratati de agentii sistemului multi-agent. Figura 4.6 prezint nivelul cel mai abstract al ontologiei pentru modelarea procesului de a KDD folosind un sistem multi-agent. Conceptele, predicatele i actiunile sunt toate reprezentate s folosind simbolul UML specic unei clase, a sunt diferentiate prin stereotipurile specice ns AgentAction sau Predicate. Pentru concepte nu s-a folosit nici un stereotip pentru a mentine diagrama ct mai clar i lizibil. Deasemenea, s-au utilizat culori diferite pentru cele trei a a s a tipuri de entiti. Ontologia este structurat pe patru nivele: problema, sub-problema, task-ul at a i metoda de rezolvare task. Intrrile de la utilizatorul sistemului sunt descrierea problemei i s a s setul de date de intrare. Tipuri posibile de probleme sunt: gruparea, detectia deviatiilor, regresia sau clasicarea. Conform procesului CRISP-DM, o problem de KDD este descompus 6 suba a n probleme: elegerea problemei, elegerea datelor, pregtirea datelor, modelarea, evaluarea i nt nt a s aceast ontologie, ecrei sub-probleme este asociat un task. Un task poate exploatare. In a a i rezolvat prin una sau mai multe metode de rezolvare task. Metodele corespunztoare taska ului de modelare vor construi meta-modelul de cunotinte, esenta s ntregului proces. Metodele de rezolvare variaz de la algoritmi implementati biblioteci soft pn la sisteme bazate pe a n a a cunotinte. Pe lng modelarea procesului de KDD, ontologia prezint i rolul i compozitia s a a a s s scenariilor. O aprofundare a conceptelor de nivel nalt prezentate aceast ontologie sunt n a oferite anexa B (pagina 163). n Platforma JADE pune la dispozitia dezvoltatorilor un mecanism sosticat pentru tratarea elementelor ontologice ca instante ale unor clase de tip Java bean [CC04]. Pentru automati zarea procesului de conversie a unei ontologii cod JADE exist instrumente specializate ca n a a de exemplu BeanGenerator [vA06] ce genereaz clasele compatibile JADE pentru o ontologie denit Protg [SU06]. a n e e

4.2.4

Detalii despre implementarea agentilor

Agentul Expert Agentul expert (AE) este unul dintre cei mai importanti agenti ai sistemului, capabilitile at sale multiple ind exprimate Tabela 4.1. Sarcinile sale principale sunt: 1) recomandarea celor n mai potrivite scenarii pentru rezolvarea problemei utilizator (clasicare, grupare etc) pentru setul de date de intrare precizat i 2) executia scenariului ales de utilizator. Aceaste sarcini s sugereaz proiectarea acestuia ca un sistem inteligent bazat pe cunotinte. Pentru o dezvoltare a s rapid i uor de a s s ntretinut, agentul expert a fost dezvoltat folosind Expert System Creator (vezi capitolul 3), un mediu de dezvoltare care ofer unelte grace avansate pentru proiectarea, a construirea, testarea i validarea sistemelor bazate pe cunotinte. Sistemul bazat pe cunotinte s s s astfel proiectat va combina caractersiticile setului de date de intrare (obtinute de la agentul de caracterizare) cu rezultatele calitative obtinute pentru scenarii anterioare. Figura 4.8 ilustreaz a Figura 4.7 sunt descrise o captur ecran a unui prototip implementat ca tabel de decizie. In a a actiunile executate de agentul expert la primirea unui nou set de date de intrare. Acestea pot grupate dou etape distincte ce vor prezentate continuare: etapa de recomandare i n a n s etapa de executie i actualizare. s

132

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

Figura 4.6: Ontologia KDD

4.2 ANALIZA SI PROIECTAREA SISTEMULUI

133

1: Astepta un nou set de date 4: Pregateste setul de date

2: Analizeaza setul de date

Agent de Caracterizare

3: Returneaza vectorul caracterisitc Agent Expert 8: Calculeaza metricile de calitate ale modelului 9: Returneaza modelul de calitate Agent Calitate Citeste metamodelul Baza de cunostinte [scenarii + modele]

5: Returneaza setul de date pregatit pentru modelare 6: Construieste modelul

Salveaza modelul 7: Returneaza metamodelul

Agent de Preprocesare

Agent Constructor

Transforma setul de date de intrare Agent Facilitator de Date

Set de date de intrare

Figura 4.7: Diagrama de actiuni pentru agentul expert Etapa de recomandare (actiunile 1-3) Setul de date de intrare este trimis agentului de caracterizare vederea determinrii vectorului caracteristic. Pe baza acestuia i a scenariilor n a s existente baza de cunotinte (generice sau compilate) se determin cele mai potrivite scenarii n s a pentru noul set de date. De exemplu, putem obtine aceste scenarii folosind un algoritm de gru pare nesupervizat pe spatiul atributelor vectorului caracteristic corespunztor setului de date. a a Prioritizarea scenariilor se face functie de rspunsul modelului calitativ asociat modelului n a de cunotinte creat printr-un scenariu. Caracteristicile calitative ale modelului, cf. standardus lui ISO 9126, sunt: reutilizarea (r), exibilitatea (), ntelegerea (int), extensibilitatea (ext), functionalitatea (func) (care include printre altele acuratetea) i ecacitatea (ef) (care include s resursele de memorie i timp consumate). Mai multe informatii despre modelul calitativ propus s n aceast lucrare se gsesc sectiunea 4.3. Pentru a determina pozitia (rank) unui scenariu n a a n clasament se combin caracteristicile calitative ale modelului dup urmtoarea functie: a a a rankscenariu = w1 r + w2 f l + w3 int + w4 ext + w5 f unc + w6 ef, unde wi sunt ponderi ce satisfac 1 wi 1 i 6 wi = 1. Cu toate c ponderile au nite s a s i=1 valori predenite, ele pot ajustate de utilizator conform scopului urmrit. a Dac nici unul dintre scenarii nu ofer un nivel de calitate mai ridicat dect un prag predenit a a a (adic rank a T hreshold), atunci se pot folosi diveri euristici de forma celor prezentati s n Figura 4.8. De exemplu, modelul arbore de decizie se poate utiliza atunci cnd ecare atribut a predictor este categorial i are un domeniu de cardinalitate redus, atributul int este la rndul s a t a a su categorial, iar instantele pot contine valori lips. a a Etapa de executie i actualizare (actiunile 4-9) Utilizatorul selecteaz scenariul dorit, s a efectueaz eventuale ajustri asupra parametrilor algoritmilor i indic agentului expert pornirea a a s a

134

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

Figura 4.8: Implementarea agentului expert Expert System Creator (extras) n

executiei. Deasemenea, este posibil ca utilizatorul expert s adauge/ ature task-uri scenariului a nl selectat. Agentul expert lanseaz executie scenariul selectat de utilizator. Dup ce modelul a n a a fost construit, acesta este trimis spre evaluare agentului calitate. nal, modelul calitativ i In s scenariul sunt salvate baza de cunotinte de unde vor utilizate fazele de recomandare ce n s n vor urma.

Agentul constructor Agentul constructor construieste un meta-model, adic modelului clasic adaug informatii a i a suplimentare, precum timpul necesar construirii sale, cantitatea de memorie utilizat timpul a n constructiei etc. Conceptele ontologiei ce reprezint modelul i meta-modelul de cunotinte sunt a s s prezentate Figura 4.6. Informatiile stocate meta-model sunt utilizate ulterior de ctre n n a agentul expert construirea modelului su de decizie i de ctre agentul calitate construin a s a n rea modelului calitativ. O prim capabilitate (Co1) a agentului constructor este alegerea celei a mai bune metode pentru construirea modelului innd cont de mai multe constrngeri: vectorul t a a caracteristic corespunztor setului de intrare, arcrile agentilor executori acel moment, dua nc a n rata perioadei de antrenare etc. vederea realizrii acestei capabiliti, agentul constructor va In a at comunica cu agentul facilitator (DFA) vederea determinrii agentilor executori disponibili n a n sistem. Fiecare agent executor implementeaz un algoritm de extragere a modelului din setul de a date, de exemplu ID3, C4.5, CART (pentru arborii de decizie), Apriori, DHP, BitStream (pentru reguli de asociere), kNN, CLARANS (pentru clustere) etc. Aceste implementri pot implea mentate module proprii sistemului, sau se pot accesa biblioteci sau medii care ofer astfel de n a algoritmi. De exemplu, WEKA [WF00, WF05] (vezi i pagina 56) pune la dispozitia utilizatorilor s implementri ale celor mai cunoscuti algoritmi de tip machine learning. Functionalitile acestei a at biblioteci pot accesate de ctre agentii sistemului mult-agent prin implementarea agentului a constructor corespondent ei ca un agent de tip transducer (pagina 4.2.1).

4.2 ANALIZA SI PROIECTAREA SISTEMULUI Agentul de caracterizare

135

Agentul de caracterizare analizeaz setul de date de intrare i extrage pe baza acestuia un a s set de caracteristici. Mai multe msuri au fost propuse cu scopul de a caracteriza un set de a date scopul algoritmilor de DM. Acestea pot grupate trei categorii: generale, statistice i n n s bazate pe teoria informatiei [CCF05]. Pentru o prezentare detaliat a acestora se pot consulta a lucrrile care descriu metricile folosit proiectele STATLOG [MST94] sau METAL [KH00]. a n In continuare vor prezentate succint cele mai uzuale msuri organizate cele trei categorii de a n mai sus. Msurile marcate prin (*) sunt msuri noi introduse aceast lucrare. Pentru a a n a nceput, msurile generale: a a numrul total de instante: I; numrul total de atribute: A; a (*) numrul de atribute numerice (num), respectiv categoriale (cat); a dimensionalitate setului de date: dim = A/I; (*) caracteristica numeric a setului de date: cn = num/cat. a numrul de clase; a (*) numrul de atribute cu valori lips: miss; a a (*) coecientul de ncredere a unui atribut, adic raportul dintre instantele care lipsete a n s valoarea atributului i numrul total de instante; s a Msurile statistice sunt aplicabile doar cazul atributelor numerice prezente setul de date. a n n a, exist tehnici, bazate pe denirea unor distante Ins a ntre valorile categoriale (de exemplu, dual scaling sau binarizarea descris Witten & Frank pag. 304 i 246 [WF05] i [Qui93]) prin a n s s n care un atribut categorial este transformat ntr-unul numeric. Mai multe detalii despre msurile a continuare, statistice (incluznd i semnicatia statistic a ecreia) pot gsite [CCF05]. In a s a a a n vom nota prin X = {x1 , x2 , ..., xK } i Y = {y1 , y2 , ..., yK } dou atribute numerice ale setului de s a date. Cele mai uzuale msuri statistice folosite analiza seturilor de date sunt: a n deviatia standard: std(X) = a atributului;
PK
2 k=1 (xk X)

, unde X =

PK

k=1

xk

reprezint valoarea medie a

coecientul de variatie: V arCoef f (X) = oblicitatea (skewness): Skew(X) = kurtosis: Kurt(X) =


PK
k=1 (xk X) Kstd4 X 4

std(X) ; X

PK

3 k=1 (xk X) 3 KstdX

covariatia: Cov(X, Y ) =

K (xk X)(yk Y ) ; k=1 K1 std(X)std(Y )

coecientul de corelatie liniar: (X, Y ) = Cov(X,Y ) a

136

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

Pentru oricare dintre msurile statistice care implic un singur atribut se poate calcula a a valoarea medie la nivelul ntregului set de date, prin medierea (aritmetic) valorilor msurii a a pentru ecare atribut numeric al setului de date. Dac se noteaz cu m(X) valoarea unei a a msuri corespunztoare atributului numeric X (de exemplu, deviatia standard), atunci valoarea a a medie la nivelul ntregului set de date D pentru acea msur este dat de formula m(X) = a a a Pnum k=1 m(Xk ) . Pentru msurile care implic dou atribute numerice (covariatia i coecientul de a a a s num corelatie liniar) se evalueaz msura pentru ecare pereche de atribute numerice i se calculeaz a a a s a media tuturor valorilor obtinute. O observatie trebuie fcut pentru coecientul de corelatie a a liniar, care ia valori intervalul [1, 1]. La calcularea valorii medii pentru a n ntreg setul de date se va consider valoarea absolut. a a Msurile bazate pe teoria informatiei sunt aplicabile doar atributelor categoriale deoarece a acestea au la baz denitia entropiei 2.3.2 care presupune valori discrete ale atribului (variabia lei). Denitia poate adaptat i pentru cazul atributelor numerice atunci cnd se cunoate a s a s distributia de probabilitate , astfel at nc nsumarea va nlocuit prin operatorul de integrare a iar probabilitile qi vor at nlocuite de functia de densitate a probabilitii p (x). cazul at In n care aceast functie nu este cunoscut este nevoie s se discretizeze atributul respectiv. Exist a a a a numeroi algoritmi propui literatur pentru discretizarea atributelor numerice (de exemplu: s s n a binning, entropy-based, error-based, tehnici supervizate sau nesupervizate etc.). O sintez a a n acestor algoritmi din perspectiva DM este fcut [WF05]. Vom nota continuare cu C atria a n butul int, adic cel care denete cele n clasele de clasicare i prin A un atribut categorial al t a a s s setului de date. Se noteaz cu H(A) i H(C) entropia atributului A, respectiv C, i sunt egale a s s cu continutul informational denit prin Hattribute , respectiv Hclass , sectiunea 2.3 (pagina 74). n Folosind notatiile introduse, msurile bazate pe teoria informatiei sunt: a (*) cardinalitatea domeniului de valori, adic numrul de valori distincte pe care le ia a a atributul A; entropia normalizat a claslor: H(C)norm = a
H(C) log2 (n) ; H(A) log2 (n) ;

entropia normalizat a atributului: H(A)norm = a

entropia combinat a unui atribut i a claselor: H(C, A) = Hcell (vezi sectiunea 2.3, a s pagina 74); ctigul informational: Gain(A, C) = H(A) + H(C) H(C, A); as numrul echivalent al atributelor: EN = H(C) , unde Gain(A, C) reprezint valoarea a a Gain(A,C) medie a ctigurilor informationale corespunztoare tuturor atributelor categoriale Ai ale as a setului de date; rata de zgomot: N SR = H(A)Gain(A,C) , unde H(A) reprezint valoarea medie a entropia Gain(A,C) ilor atributelor categoriale. Acestor msuri le pot adugate i cele denite sectiunea 2.3, pagina 74, care nu se a a s n regsesc lista de mai sus. Similar cu mediile calculate pentru a n ntreg setul de date cazul n

4.2 ANALIZA SI PROIECTAREA SISTEMULUI

137

este dat de formula m(A) = k=1 k . 2 . a cat Alte msuri interesante pentru utilizator, pot implementate agentul de caracterizare a n prin implementarea unor API-uri (Application Programming Interfaces) puse la dispozitie de interfetele publice ale sistemului. Pentru ca o msur s adecvat scopul KDD, aceasta trebuie s e util decizia de a a a a n a a n alegere a modelului ce va construit i, plus, nu trebuie s e prea dicil de calculat. plus, s n a In ea trebuie s caracterizeze a ntreg setul de date de intrare, fapt pentru care se vor calcula valorile medii pentru toate aceste msuri. Raportat la aceste constrngeri, au fost selectate urmtoarele a a a meta-msuri: (1) numrul total de atribute, (2) numrul de atribute numerice, (3) respectiv a a a categoriale, (4) caracteristica numeric a setului de date, (5) numrul de clase, (6) numrul de a a a atribute cu valori lips, (7) media coecientilor de a ncredere, (8) media coecientilor de variatie, (9) media oblicitilor, (10) valoarea medie pentru kurtosis, (11) entropia normalizat a claselor, at a (12) media entropiilor normalizate ale atributelor, (13) numrul echivalent al atributelor i (14) a s rata de zgomot. Oricum, adevrata utilitate a acestor metode procesul de KDD va putea a n evaluat doar dup lansarea exploatare a sistemului i rularea pe cazuri din lumea real. a a n s a Calcularea anumitor caracteristici prezentate mai sus (de exemplu valoarea media coecienilor de variatie sau rata de zgomot) necesit cel putin o parcurgere a setului de date. Deoarece t a pentru seturi de date de foarte mari dimensiuni acest lucru este extrem de costisitor, se poate folosi, aceste cazuri, tehnica eantionrii setului de date i calcularea msurilor respective pe n s a s a eantioanele astfel obtinute. Sunt disponibile numeroase metode de eantionare, primele lucrri s s a acest domeniu ind disponibile a de la n nc nceputul anilor 60 (ex. Stuart Alan [Stu62]). Dintre cele mai cunoscute metode amintesc eantionarea aleatorie, eantionarea sistematic, s s a eantionarea straticat i eantionarea progresiv. Mai multe detalii [Coc77, SSW92]. s as s a n Agentul de preprocesare Acest agent implementeaz faza de pregtire a datelor (Data Preparation) a procesului KDD. a a Aceast etap cuprinde toate activitile prin care se construiete setul de date care va proa a at s cesat de agentul de modelare. Aceste activiti presupun normalizri, curiri (data cleaning), at a at discretizri sau transformri ale atributelor cateogriale atribute continue. De exemplu, pentru a a n discretizarea atributelor numerice au fost propui numeroi algoritmi: binning, entropy-based, s s error-based, tehnici supervizate sau nesupervizate etc. (vezi [WF05] pentru o sintez). Ieirea a s acestei etape este tot un set de date, a formatul i la calitatea necesare pentru ca agentul ns n s de modelare s produc modelul dorit. a a Agentul facilitator de date Este posibil ca diferiti agenti ai sistemului (constructori, de caracterizare sau de preprocesare) s atepte datele de intrare formate diferite, specice implementrii lor. Rolul agentului a s n a facilitator de date este de a prelucra datele de intrare vederea transformrii lor formatul n a n
2

msurilor statistice, sunt calculate i mediile pentru msurile informationale. Dac se noteaz a s a a a cu m(A) valoarea unei msuri corespunztoare atributului categorial A (de exemplu ctigul a a as informational), atunci valoarea medie la nivelul ntregului set de date D pentru acea msur a a P
cat

mA

Atributul C este x pentru toate msurile, a nsumarea fcndu-se doar dup atributul A. a a a

138

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

acceptat de agentul apelant. Spre deosebire de agentul de preprocesare care la randul su a a efectueaz operatii asupra setului de date, operatiile efectuate de agentul facilitator de date nu a modic structura sau continutul setului de date de intrare, ci asigur doar o conversie fr a a aa pierdere de informatie (pe ct posibil) a acestuia la un alt format. a Agentul calitate Rolul agentului calitate este de a construi modelul calitativ corespunztor unui meta-model a de reprezentare a cunotintelor indus de agentul constructor. Evaluarea calitii modelelor de s at cunotinte i a sistemelor bazate pe cunotinte este prezentat detaliu sectiunea urmtoare. s s s a n n a Observatia care trebuie mentionat aici este legat de faptul c agentul calitate obtine meta a a a modelul asupra cruia trebuie s fac evaluarea direct din baza de cunotinte, agentul expert a a a s indicnd doar o referint ctre modelul de procesat. a a a Agentul interfat a Rolul agentului interfat este cel de interactiune cu utilizatorul sistemului, e acesta un a beneciar al KDD sau un expert domeniu care modic sau actualizeaz baza de cunotinte n a a s a sistemului. Acest agent a fost implementat ca printr-o interfat Web dezvoltat folosind a a at n tehnologia JSP (Java Server Pages) [Micb]. Capabilitile acestui agent sunt listate Tabela 4.1.

4.3

Evaluarea calitii sistemelor bazate pe cunotinte at s

Aceast sectiune prezint o abordare pentru msurarea calitii sistemelor bazate pe cunoa a a at s tinte i, special, a modelelor de reprezentare a cunotintelor extrase din bazele de date. Dei s n s s rata de eroare este un parametru important al calitii unui model, acesta nu este singurul de at care trebuie s inem seama pentru o estimare corect a calitii modelului de decizie. vederea at a at In msurrii calitii va introdus o metodologie care descrie etapele i modul de descompunere a a at a s a unui SBC componente, vor denite atributele i proprietile calitative pentru aceste n s at componente (pornind de la standardul ISO 9126), iar nal vor introduse metrici pentru n evaluarea acestora. Deasemenea sunt construite matrici calitative pentru diversele componente, al cror rol este de a agrega valorile atributelor calitative pe baza proprietilor calitative. a at Avnd vedere c cea mai utilizat abordare pentru implementarea SBC este cea orientat a n a a a obiect, vor analizate continuare metodologiile i principiile folosite evaluarea calitii n s n at sistemelor orientate obiect. CMM (Capability Maturity Model) [Kan95] este unul dintre primele modele calitative utilizate ingineria software care propune un model unitar pentru evaluarea n calitii. Pe baza acestui model a fost fondat standardul de calitate ISO/IEC 9126 [ISO01] care at clasic factorii calitii software-ului ase categorii: functionalitatea, abilitatea, uurinta a at n s s n utilizare, ecienta, uurinta s n ntretinere i portabilitatea. Aceste ase categorii sunt artite s s mp sub-caracteristici msurabile care pot oferi indicii despre calitatea global a sistemului. Acest n a a model este ilustrat Figura 4.9. Fiecare sub-caracteristic de calitate este divizat continuare n a a n atribute calitative, adic o entitate care poate vericat sau msurat n a a a a ntr-un produs software. Aceste atribute nu sunt denite standard, deoarece ele pot s difere de la un produs n a la altul ori de la o tehnologie la alta.

4.3 EVALUAREA CALITATII SISTEMELOR BAZATE PE CUNOSTINTE


Functionality Suitability Accuracy Interoperability Compliance Security Efficiency Time Behaviour Resource Behaviour Reliability Maturity Recoverability Fault Tolerance Usability Learnability Understandability Operability

139

Portability Installability Replaceability Adaptability

Maintainability Stability Analysability Changeability Testability

*) Subcaracteristica Conformance se aplica tuturor caracteristicilor si nu a fost prezentata in diagrama

Figura 4.9: Modelul de calitate ISO 9126 Recent, paradigma orientat obiect a introdus alte elemente pentru estimarea calitii softa at ware-ului care trebuie s se bazeze pe principiile orientate obiect: a ncapsularea datelor, mos tenirea, polimorsmul etc. Aceast abordare a dus la introducerea unor noi metrici pentru a estimarea calitii unui sistem orientat obiect. Pornind de la standardul ISO/IEC 9126, Banat siya [BD02] a denit un nou model ierarhic de calitate compus dintr-o multime de atribute calitative pentru estimarea calitii proiectrii sistemului: reutilizarea, exibilitatea, uurinta at a s ntelegerii, functionalitatea, extensibilitatea i ecacitatea (eectiveness), precum i o multime s s de proprieti ale proiectrii sistemului: dimensiunea proiectului, ierarhiile, abstractizrile, at a a ncapsularea datelor, cuplajul, coeziunea, compozitia, motenirea, polimorsmul, schimbul de s mesaje (messaging) i complexitatea. Acestea sunt combinate folosind o matrice calitativ s a n vederea relationrii nivelelor adiacente, cele inferioare cu cele superioare. a ceea ce privete analiza calitii sistemelor bazate pe cunotinte, progresele In s at s nregistrate acest domeniu sunt relativ putine. Majoritatea abordrilor s-au concetrat pe problematica n a evalurii, vericrii i validrii sistemelor bazate pe cunotinte, domeniu care gsim numeroase a a s a s n a lucrri, cteva texte de sintez ind urmtoarele [O91, Pre94, TLJS99, VC99, SK93, RSB91, a a a a GM93]. Totui, abordarea calitii sistemelor bazate pe cunotinte din perspecitiva standardului s at s ISO 9126 nu a primit prea mult atentie. [GtTvH03] este fcut un studiu cantitativ asupra a In a robustetii SBC raport cu degradarea datelor de intrare cazul unui sistem de clasicare n n a vegetatiei din sudul Germaniei, sistem bazat pe arbori de decizie i construit cu o variant s a a algoritmului ID3. Rezultatele experimentale au scos la iveal numeroase surprize, cum ar a faptul c 12 atribute de intrare sunt suciente pentru a obtine aceeai calitate a clasicrii ca a s a i cazul utilizrii a 19-30 atribute pentru ecare instant. Cu toate c robustetea este una s n a a a dintre caracteristicile de baz ale calitii unui sistem, nu este singura care determina calitatea a at nal a sistemului, aadar lucrarea anterioar analizeaz doar unul dintre aspectele calitii a s a a at n

140

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR


1: Identificarea nivelelor SBC SBC descompus pe nivele 2: Identificarea proprietatilor de calitate Proprietatile de calitate / nivel 3: Identificarea atributelor de calitate 4: Identificarea matricilor de calitate

Matricile de calitate / nivel

5: Masurarea proprietatilor de calitate Stocheaza

Modelul de calitate al SBC 6: Stabilirea modelului de calitate pentru SBC

Baza de modele

Atributele de calitate / nivel

Aprecierea finala

Figura 4.10: Metodologia de msurare a calitii SBC a at sensul ISO/IEC 9126. Un nceput sensul evalurii calitii SBC cf. standardului ISO a fost fcut de ctre Nabil n a at a a et al. [NEKE05], studiu care va sta la baza modelului calitativ propus acest sectiune. n a Deoarece structura SBC este una complex, autorii propun o metodologie de analiz a calitii a a at (Knowledge-Based Quality Measuring Methodology KBQMM) bazat pe descompunerea acestor a sisteme componente i analizarea atributele calitative pentru ecare component parte. n s a n In al doilea pas, acestea sunt combinate pentru a construi un model pentru calitatea global a a sistemului bazat pe standardul ISO 9126. Figura 4.10 prezint componentele KBQMM care este structurat ase etape. Primele a a n s patru reprezint faza de generare a matricilor calitative corespunztoare sistemului, iar ultimele a a dou compun faza de standardizare a acestor matrici. a a a n s Etapa 1 - Identicarea nivelelor SBC Prima etap const analiza SBC i identicarea celor trei nivele propuse metodologia KADS [WSB92]: baza de cunotinte (domain knowledge), n s modulul de inferent (inference knowledge) i modelul task (task knowledge). Pentru o estimare a s mai precis a calitii, baza de cunotinte poate descompus concepte, reguli (sub form a at s a n a de seturi de reguli, tabele sau arbori de decizie) i functii. s at Etapa 2 - Identicarea proprietilor calitative ale SBC Proprietile calitative propuse at de standardul ISO 9126 i atributele calitative propuse pentru sistemele orientate obiect au fost s analizate i revizuite pentru a determina dac i ce msur contribuie la aspectele calitative s a s n a a ale SBC. Pentru ecare component identicat prima etapa a fost denit o multime de a a n a proprieti calitative: at Baza de cunotinte cuplajul, redundanta, modicabilitatea, consistenta, robustetea, coms plexitatea, coeziunea; Modulul de inferent redundanta, robustetea, coeziunea, complexitatea, modicabilitaa tea, consistenta, cuplajul, completitudinea; Modelul task redundanta, robustetea, coeziunea, complexitatea, modicabilitatea, con sistenta, cuplajul.

4.3 EVALUAREA CALITATII SISTEMELOR BAZATE PE CUNOSTINTE

141

Etapa 3 - Identicarea atributelor calitative ale SBC a treia etap, se denesc atribuIn a tele calitative. Atributele propuse de Bansiya [BD02] pentru sistemele orientate obiect au fost preferate locul celor propuse standardul ISO 9126 deoarece caracterizeaz mai portivit n n a un SBC. De exemplu, baza de cunotinte nu implic atributele executive propuse ISO 9126 s a n (securitatea sau uurinta exploatare), iar extensibilitatea este un factor mai potrivit dect s n a portabilitatea pentru a descrie uurinta introducerii de noi reguli sau concepte model. Astfel, s n atributele calitative au fost distribute pentru ecare component dup cum urmeaz: a a a Baza de cunotinte functionalitatea, uurinta s s ntelegerii, abilitatea, extensibilitatea, ecacitatea; Modulul de inferent reutilizarea, exibilitatea, uurinta a s ntelegerii, functionalitatea, extensibilitatea i ecacitatea; s s ntelegerii, functionalitatea, extensibi Modelul task reutilizarea, exibilitatea, uurinta litatea i ecacitatea. s Etapa 4 - Identicarea matricilor calitative ale SBC Folosind atributele i proprietile s at calitative denite etapele anterioare se denesc matrici calitative pentru ecare component n a a SBC. Aceste matrici reprezint relatiile dintre atribute i proprieti. Pentru a reprezenta a s at matematic modul care proprietile inuenteaz (pozitiv sau negativ) atributele calitative, n at a valoarea ecrui atribut calitativ este denit ca media ponderat a valorilor proprietilor: a a a at Ai =
i

wi pi ,

unde Ai reprezint un atribut de calitate (reutilizarea, exibilitatea etc.), pi reprezint o a a proprietate (completitudinea, coeziunea, complexitatea etc.) iar wi ponderea proprietii resat pective. Ponderile satisfac urmtoarele restrictii: wi : 0.5 wi 1 i i wi = 1. a s Tabelele 4.3 - 4.53 prezint matricile de calitate pentru toate componentele unui SBC. Fiecare a celul a matricii contine valoarea ponderii wi corespunztoare proprietii atributul reprezena a at n tat de linia matricii. S notm c acesta reprezint doar un model propus, utilizatorul nal al a a a a sistemului de evaluare a calitii putnd modica ponderile astfel at s se adapteze ct mai at a nc a a bine particularitilor sistemului evaluat. at Etapa 5 - Stabilirea modelului calitativ al SBC aceast etap se determin pentru SBC In a a a valorile ecrei proprieti i pe baza acestor valori i a matricilor calitative se calculeaz valorile a at s s a atributelor calitative. Modelul astfel obtinut este stocat ntr-o baz de modele. Modelele de a calitate elaborate etapa anterioar pentru componentele unui SBC sunt stocate n a ntr-o baz a de modele pentru toate sistemele evaluate. Structura bazei de modele o urmeaz pe cea a SBC, a adic ecare din cele trei componente ale SBC va avea asociate atributele corespunztoare. a a Etapa 6 - Determinarea aprecierii nale asupra calitii SBC Pentru ecare SBC, se geat nereaz o apreciere nal asupra calitii prin compararea modelelor calitative a SBC cu valorile a a at determinate pentru sistemele anterioare.
In aceste tabele s-au folosit urmtoarele prescurtri: Coez.=Coeziunea, Compl.=Completitudinea, Coma a plex.=Complexitatea, Consist.=Consistenta, Cupl.=Cuplajul, Modif.=Modicabilitatea, Redun.=Redundanta, Rob.=Robustetea.
3

142

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

Ecacitatea Fiabilitatea elegerea Int Extensibilitatea Functionalitatea

Coez. -0.15 -0.25 -0.25 0.5

Complex. -0.15 -0.25 -0.25 -0.25

Consist. 0.75 0.88 0.75 0.88 0.75

Cupl. -0.15 -0.25 -0.25 -0.5

Modif.

0.25 0.87

Redund. -0.15 -0.38 -0.25 -0.25 -0.5

Robust. 0.85 1.0 0.75 0.25 0.75

Tabela 4.3: Matricea de calitate pentru baza de cunotinte s

Reutilizarea Flexibilitatea elegerea Int Extensibilitatea Functionalitatea Ecacitatea

Coez. 0.5 -0.25 -0.25 0.5 -0.25

Compl. 0.5 0.5 0.75 0.5 0.75

Complex. -0.25 -0.25 -0.25 -0.25 -0.25

Consist. 0.5 0.88 0.75 0.75 0.5 0.5

Cupl. -0.25 -0.25 -0.25 -0.5 -0.5 -0.25

Modif. 0.87 0.75

Redund. -0.25 -0.25 -0.25 -0.5 -0.25

Rob. 0.25 0.5 0.5 0.75

Tabela 4.4: Matricea de calitate pentru modulul de inferent a

Reutilizarea Flexibilitatea elegerea Int Extensibilitatea Functionalitatea Ecacitatea

Coez. 0.75 -0.25 -0.12 0.5 -0.25

Complex. -0.25 -0.25 -0.25 -0.13 -0.25

Consist. 0.5 0.88 0.75 0.75 0.5 0.87

Cupl. -0.25 -0.25 -0.25 -0.25 -0.5 -0.25

Modif. 0.87 0.25 0.75 0.5 0.38

Redund. -0.25 -0.25 -0.25 -0.5 -0.25

Robust. 0.5 0.75 0.25 0.5 0.75

Tabela 4.5: Matricea de calitate pentru modelul task

4.3 EVALUAREA CALITATII SISTEMELOR BAZATE PE CUNOSTINTE

143

4.3.1

Calitatea modelelor de cunotinte s

Matricile de calitate prezentate tabelele 4.3 - 4.5 sunt denite pe baza proprietilor n at aceast sectiune de calitate (coeziunea, complexitatea, cuplajul etc.) ale codului surs. In a a sunt propuse metrici de calitate pentru determinarea atributelor calitatitive ale unui model de reprezentare a cunotintelor, care nu presupun analiza codului surs. Atributele calitative s a urmrite sunt functionalitatea, extensibilitatea, abilitatea, ecacitatea i comprehensiunea. a s Pentru a cuantica unele dintre proprietile de calitate (de exemplu interpretabilitatea sau at transparenta modelului) vom folosi o scar de valori reale de la 1 la 5, 5 desemnnd cele mai bune a a performante pentru criteriul respectiv. Folosind aceast scar, Tabela 4.6 sunt prezentate a a n sintetic estimri ale proprietilor de calitate pentru mai multe metode de aare. Aceste a at nvt estimri au la baz att o analiz a algoritmilor respectivi ct i rezultate obtinute experimental. a a a a a s Functionalitatea Functionalitatea unui model gradul care acesta rspunde la necesitile unei probleme (de n a at clasicare de exemplu). Pentru caracterizarea acestui atribut, acesta va descompus dou n a proprieti: acuratetea i tipul de atribute suportate. at s Pentru evaluarea acuratetii unui model de clasicare se va utiliza rata de clasicare greit s a (denitia 1.2.5). Estimarea acestei rate se poate realiza prin extragerea din setul de antrenament a unui subset (o treime de exemplu), numit setul de testare, i validarea modelului creat pe cazus rile rmase (dou treimi de exemplu) folosind acest set de test. Pentru obtinerea unei estimri a a a mai exacte a ratei de eroare se poate folosi metoda cross-validation [WF05] care presupune partitionarea setului de antrenament N (uzual 10) partitii aproximativ egale ca dimensiune, n considerarea ecrei partitii ca set de test, construirea modelului folosind celelalte partitii i a s validarea folosind setul de test. nal, ratele de eroare obtinute pentru cele N partitii sunt In mediate. Atributele unui set de date pot de dou tipuri: categoriale i continue (sectiunea 1.2). a s Arborii de decizie, tabelele de decizie, seturile de reguli i modelele Na Bayes pot trata s ve att atribute categoriale ct i atribute continue (vor primi punctajul 2, adic ambele tipuri). a a s a Retelele neuronale suport doar atribute continue (1, adic un singur tip de atribute), timp a a n ce abordrile k-NN, dei proiectate initial pentru atributele continue, suport acum i atributele a s a s categoriale [DZvdSvdB99] (2). Extensibilitatea Notiunea de extensibilitate se refer la faptul c modelul de cunotinte poate lrgit fr a a a s a aa nevoie de reprocesarea setului de antrenament initial. De exemplu, abordarea k-NN este una uor extensibil deoarece noile cazuri sunt simplu adugate la reprezentarea modelului fr a s a a aa reexaminate vechile instante (5), timp ce retelele neuronale necesit parcurgerea n a ntregului set de antrenament pentru recalcularea ponderilor (1). Arborii de decizie au fost initial creati pentru procesarea datelor lot i nu s-a avut vederea extensibilitatea modelului. Dup n s n a cum s-a artat sectiunea 1.4.2 (pagina 36) exist a numeroase versiuni incrementale ale a n a ns algoritmilor de constructie a arborilor de decizie (4).

144

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

Fiabilitatea Fiabilitatea modelului se refer la capacitatea sa de a-i mentine nivelul de performant la a s a variatii ale proprietilor setului de antrenament sau ale conditiilor de exploatare. Acest atribut at va descompus mai multe proprieti ce pot estimate: scalabilitatea, toleranta la valori n at lips i zgomote, toleranta la atribute irelevante sau redundante. as Scalabilitatea unei metode de aare se refer la abilitatea metodei de a-i mentine ecanvt a s citatea (timp de executie i antrenare sau necesar de memorie la antrenare sau executie) odat s a cu creterea dimensiunii setului de date ( numr de cazuri sau de atribute). Estimarea scalas n a a bilitii a fcut scopul mai multor studii i experimente. De exemplu, [PK99] este analizat at a s n scalabilitatea mai multor algoritmi de aare fat de creterea numrului de nvt a s a nregistrri ale a setului de date. S-a observat c, general, arborii de decizie standard (univariate) i modea n s lele Na Bayes scaleaz bine cu dimensiunea setului de date (4), timp ce arborii de decizie ve a n multivariate (2) i metodele bazate pe k-NN (2) au probleme de performant odat cu creterea s a a s numrului de atribute independente setul de date. Cu toate c majoritatea studiilor efeca n a tuate pn acum s-au focalizat asupra evalurii impactului creterii numrului de instante asupra a a a s a performantelor, este necesar estimarea performantelor raport nu doar cu numrul de instante a n a ci i cu numrul de atribute sau clase. Pentru estimarea scalabilitii sistemul AgentDiscover, s a at n se vor folosi estimrile calculate pentru timpul i spatiul (de memorie) de antrenare (pagina 144) a s necesare. O alt component a abilitii este toleranta la erorile setul de date. Aceste erori pot a a at n e valori lips (din amplare sau datorit unor constrngeri ale domeniului), e zgomote (erori a nt a a nedorite valorile atributelor cauzate de greeli umane sau erori ale dispozitivelor de msurare). n s a Pentru a cunatica aceast proprietate i absenta unor studii compartive solide, vom analiza a s n algoritmii de constructie a modelelor respective. Astfel, arborii de decizie sunt considerati toleranti att la valori lips ct i la zgomote datorit unor mecanisme de generalizare (pruning) a a a s a s care generalizeaz arborele construit, astfel at se elimin supra-specializarea (4) [Qui93]. Dei a nc a metodele bazate pe k-NN i retele neuronale au nevoie de valori complete pentru ecare atribut, s nesuportnd valorile lips (1), ele s-au dovedit a foarte rezistente la zgomote [SMT91] (5). a a Pentru completarea comparatiilor, metodele Na Bayes sunt robuste att la valori lips ct i ve a a a s la zgomote. Toleranta la atribute redundante, adic inter-dependente, este un alt aspect al abilitii a at modelelor. [WAM97] se arat c metodele k-NN sunt inuentate de atributele redundante In a a (1), iar rezultatele experimentale prezentate [DP97] demonstreaz c modelele Na Ban a a ve yes, contrar ateptrilor teoretice, sunt robuste la atribute redundante (3). ceea ce privete s a In s toleranta la atributele irelevante, rezultatele experimentale [MST94] au artat c metodele k a a NN sunt puternic inuentate de acestea (1), timp ce metodele Na Bayes (4) i arborii de n ve s decizie (3) au comportamente robuste fat de acestea, dei, cazul arborilor de decizie, au fost a s n nregistrate i unele exceptii [LW94a]. s Ecacitatea Atributele calitative care descriu ecacitatea unui sistem software sunt comportamentul n timp i necesarul de resurse (Figura 4.9). Acestea traduse cazul unui algoritm de constructie s n a unui model de cunotinte sunt timpul de antrenare, timpul de executie, necesarul de memorie s

4.3 EVALUAREA CALITATII SISTEMELOR BAZATE PE CUNOSTINTE

145

la antrenare i, respectiv, necesarul de memorie la executie. Prin executie elegem utilizarea s nt modelului pentru scopul care a fost creat, de exemplu, cazul problemelor de clasicare, n n nseamn clasicarea unui nou caz. a Timpul de antrenare, adic timpul necesar construiri modelului, este o msur foarte delicat a a a a care depinde de multi factori: dimensiunea setului de antrenament, echipamentul pe care este rulat algoritmul, parametrii de congurare alei pentru o rulare (care pot inuenta alte atribute s calitative, de exemplu acuratetea modelului rezultat) i altele. Pentru a putea face o comparatie s i un clasament s ntre mai multi algoritmi, [MST94] este sugerat exprimarea timpului n a n functie de dimensiunea setului de date. Pentru a evalua timpul de antrenare pentru ecare T model se va calcula i stoca baza de modele raportul mln(n) , unde T reprezint timpul ( s n a n secunde) consumat la construirea modelului, n este numrul de cazuri de antrenament iar m a numrul de atribute ce caracterizeaz setul de antrenament. Sunt numeroase studii ce compar a a a timpul de antrenare al mai multor algoritmi de aare. Cu toate c rezultatele depind, dup nvt a a cum am precizat, de mai multi factori, unele estimri sunt totui larg acceptate. Algoritmii a s de tip k-NN sunt foarte rapizi deoarece cazurile de antrenament sunt doar stocate, metodele de tip Na Bayes standard sunt deasemenea rapide (O(nm) [JL95]) deoarece necesit, ve a n general, o singur parcurgere a setului de date (variantele care se execut un pas prealabil a n a de discretizarea sunt desigur mai costisitoare). Algoritmii de constructie a arborilor de decizie s a a sunt i ei rapizi (O(nm) [Utg89] pentru date categoriale i de pn la O(n2 ) [Cat91], cu exceptia s cazului mulit-variate care performantele se pot auti cu cteva ordine de mrime. Cele n nr at a a mai costisitoare din punctul de vedere al timpului de antrenare sunt retelele neuronale, dup a cum au artat mai multe studii [MST94, SMT91]. a ce privete timpul de executie, acesta nu este inuentat de dimensiunea setului de antreIn s nament, ci ma degrab de dimensiunea modelului construit. sistemul nostru, pentru a evalua a In performantele de vitez ale modelelor construite, vom stoca baza de modele media timpului a n de executie obtinut faza de validare a modelului. Un studiu [LLS98] efectuat asupra mai n multor algoritmi (peste 20) a pus evident faptul c metodele de tip k-NN i Na Bayes n a a s ve sunt cele mai lente, le urmeaz retelele neuronale, iar cele mai bune performante sunt obtinute a de arborii de decizie (C4.5). Necesarul de memorie pentru constructia unui model de cunotinte a fost relativ neglijat s contextul extragerii cunotintelor din bazele de date de mari studiile de pn acum. In n a a s dimensiuni nu se pune problema arcrii nc a ntregului set de antrenament memoria operativ n a deoarece dimensiunea acestuia ar putea excede cu mult pe aceea a memoriei operative, chiar i conditiile utilizrii mecanismelor de virtualizare a memoriei disponibile sistemele de s n a n operare actuale. lipsa unor msuri standardizate, vom atribui ecrui algoritm un scor In a a ntre 1 i 5, 1 reprezentnd un necesar de memorie ridicat la constructia modelului, iar 5 un necesar s a redus de memorie timpul constructiei modelului. O analiz a celor mai populare metode ne n a poate da o idee despre acest necesar. De exemplu, metodele Na Bayes standard au nevoie de ve putin memorie (4.5), iar algoritmii de tip k-NN se situateaz la cellalt capt al scalei cu un a a a a necesar ridiat de memorie pentru stocarea reprezentrii instantelor (1). Procesul de constructie a a arborilor de decizie nu presupune stocarea memoria de lucru a cazurilor de antrenament n (5), informatiile necesare algoritmului ind extrase e prin accesul secvential la cazurile de antrenament, e folosind interogri SQL sau MDX asupra bazelor de date care sunt stocate a n datele (sectiunea 2.3.2, [PJN05]).

146

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

Spatiul de memorie afectat pentru faza de executie este determinat de dimensiunea modelului construit, care este de obicei mult mai mic dect a setului de antrenament, modelul ind o a a sintez a acestuia. Modelele construite ind stocate iere PMML, dimensiunea modelului a n s va dat de dimensiunea ierului octeti. a s n Comprehensiunea modelului Comprehensiunea4 exprim gradul de elegere al modelului de ctre un operator uman a nt a i este descompus trei proprieti: uurinta constructia modelului, interpretabilitatea s a n at s n modelului i transparenta modelului. s Penru a exprima uurinta constructia modelului, vom considera dou msuri: numrul de s n a a a parametri necesari constructia modelului i gradul de selectare automat a valorilor implicite n s a pentru acetia. Aceste valori sunt mai mult specice unui algoritm sau altuia, dect modelului s a sine. Interpretarea numrului de parametri ai algoritmului depinde de prolul utilizatorului: n a un utilizator novice va prefera un numr redus de parameteri, timp ce utilizatorii experti vor a n aprecia un numr mare de parametrii prin care s poat controla mai a a a ndeaproape algoritmul de constructie a modelului. De exemplu, biblioteca Weka [oW], implementarea algoritmu n lui Apriori poate controlat prin intermediul a 10 parametri, timp ce PredictiveApriori se a n multumete doar cu 3, ambii algoritmi extrgnd regulile de asociere dintr-un set de date. s a a Indiferent de numrul parametrilor, prezenta unor automatisme (valori implicite, recomandri a a sau indicatii pertinente) vederea selectrii valorilor acestora vor crete pragmatismul mode n a s s nvt n a lului. [MST94], diveri algoritmi de aare sunt clasicati raport cu acest criteriu dup In cum urmeaz: CART (5), C4.5 (4), Na Bayes (4), k-NN (2), retelele neuronale (1). a ve Interpretabilitatea modelului, cea de-a doua caracteristic a comprehensiunii, se refer la a a ct de uor de eles este modelul construit pentru operatorul uman. Pentru evaluarea acesa s nt teia vom folosi aceeai scal subiectiv ca mai sus. Este clar c seturile de reguli, tabelele de s a a a decizie i arborii de decizie sunt uor de eles i ptruns de ctre utilizatori (5), timp ce s s nt s a a n reprezentarea k-NN se a la cellalt capt al scalei (1). Modelul Na Bayes este creditat cu o a a a ve interpretabilitate satisfctoare (3), timp ce retelele neuronale au un grad de a a n ntelegere redus (1.5). Transparenta modelului se refer la uurinta elegerea de ctre utilizator a principiului a s n nt a care st la baza unui model. Si acest caz vom utiliza o clasicare subiectiv a metodelor i a n a s algoritmilor. De exemplu, principiul de functionare cazul k-NN este unul foarte simplu i uor n s s de eles de utilzator (5), timp ce principiul ce st spatele retelelor neuronale Kohonen, nt n a n LVQ sau RBF este unul ce prespune notiuni matematice avansate (1). Se consider deasemenea a c transparenta modelelor Na Bayes i a arborilor de decizie este una foarte bun (4). a ve s a

4.4

Studiu de caz: CoverType

aceast sectiune se prezint un exemplu de instantiere a sistemului pentru analizarea In a a setului de date CoverType. Acesta este un exemplu clasic folosit problemele de extragere a n cunotintelor i reprezint tipuri de acoperiri cu pduri pentru parcele de 30x30 metri. El contine s s a a
4

Comprehensiune = capacitate de a ptrunde cu uurinta esenta lucrurilor a s n

4.4 STUDIU DE CAZ: COVERTYPE C4.5 2 3 4 4 4 5 4 5 4 Na Bayes ve 2 2 4 4 4 4.5 4 3 4 Retele neuronale 1 1 1 5 3 4 1 1.5 1

147 k-NN 2 5 1 4 1 1 2 1 5

Tipul de atribute Extensibilitatea Toleranta la valori lips a Toleranta la zgomote Toleranta la atribute irelevante sau redun dante Memorie la antrenare Valori implicite param Interpretabilitatea Transparenta

Tabela 4.6: Estimarea calitii modelelor at 54 atribute predictoare (10 continue i 44 categoriale), un atribut int cu 7 clase de clasicare s t a i un numr total de 581012 s a nregistrri care nu contin valori lips. cazul acestui sistem, a a In utilizatorii sunt interesati sa determine in mod automat tipul unei noi parcele de teren pe baza caracteristicilor observate pe o imagine, aadar este vorba de o problem de clasicare. Pentru s a rezolvarea problemei de clasicare sunt disponibile mai multe modele: reguli de productie, arbori de decizie sau tabele de decizie. Utilizatorul va specica sistemului multi-agent prin dialogul cu agentul interfat tipul a problemei (clasicare) i setul de date ( cazul CoverType, setul de date este stocat ca un s n ier text pe disc). Pe baza acestor intrri, agentul expert va trimite setul de date ( realis a n tate doar informatiile necesare accesrii acestuia) ctre agentul de caraterizare care va calcula a a vectorul caracteristic. Pentru accesul efectiv la date, agentul de caracterizare va folosi capabilitile (interfetele) oferite agenul de facilitare de date corespunztor ierelor text structurate at a s la nivel de rnd. Vectorul caracteristic contine valorile pentru msurile generale (numr de atria a a bute, numrul atributelor numerice, numrul de clase etc.), statistice (deviatia, coecientul de a a variatie etc.) i informationale (entropia normalizat a claselor, ctigul informational etc.). La s a as pagina 129 sunt prezentate cadrul elementului <datasource> aceste valori. Avnd ca intrare n a vectorul caractersitic, agentul expert va propune utilizatorului mai multe scenarii de rezolvare a problemei. Un exemplu iptotetic5 ar putea compus dintr-un scenariu generic (primul, reprezentat format XML la pagina 129) i unul compilat, pentru care sunt marcate n s ntre paranteze drepte metodele particulare de rezolvare task folosite: scenariu 1: discretizare atribute numerice, construire arbore de decizie, pruning, vizualizare grac (scorul=0.8: reutilizarea=0.8 exibilitatea=0.8 elegerea=0.9 extena nt sibilitatea=0.6 funcionality=0.9); scenariu 2: selectare atribute predictoare [utilizatorul], discretizarea atributelor continue [algoritmul MDL implementat biblioteca WEKA], crearea arborelui de decizie [instrun mentul CART], vizualizare grac [Salford TreeViewer] (scorul=0.72: reutilizarea=0.7 a exibilitatea=0.8 elegerea=0.8 extensibilitatea=0.5 funcionality=0.8). nt
5

Intre parantezele rotunde sunt reprezentate valorile caracteristicilor calitative i scorul total obtinut. s

148

PLATFORMA MULTI-AGENT PENTRU DESCOPERIREA CUNOSTINTELOR

Dup ce utilizatorul selecteaz scenariul dorit ( functie de obiectivele calitative urmrite), a a n a acesta este lansat executie de ctre agentul expert, care se ocup i de urmrirea i moniton a as a s rizarea strii care se gsete executia scenariului. continuare, considerm c utilizatorul a a n a s In a a selectat scenariul 1. Fiecare dintre agentii ce proceseaz unul din task-urile scenariului vor alege a cele mai potrivite metode de rezolvare a task-ului. De exemplu, agentul constructor de arbori de decizie (al doilea task al scenariului) si va selecta criteriul de alegere al atributului de separare pe acela care satisface cel mai bine caracteristicile setului de date CoverType, metoda Voting (sectiunea 2.3.1). nal, arborele de decizie salvat format PMML este vizualizat folosind o In n aplicatie conform PMML care ofer interfat Web, iar scenariul compilat este salvat baza a a a n de scenarii.

4.5

Concluzii

acest capitol este prezentat un sistem de asistare a utilizatorilor procesului de descoperire In a cunotintelor din bazele de date folosind o arhitectur multi-agent i un rationament orientat s a s task [SNP98, SNP01b, SNP01a]. Necesitatea unui astfel de sistem rezult din numrul mare de a a modele i metode de caracterizare a datelor existente, scopul su principal ind acela de a face s a recomandri de extragere a cunotintelor din seturi de date. Dup identicarea celor mai impora s a tante probleme ale procesului de descoperire de cunotinte sunt analizate abordrile precendente s a i sunt enuntate obiectivele platformei i avantajele oferite de modelul multi-agent [SNP01b]. s s Scenariile de extragere a cunotintelor (denitia 4.1.1) generice i compilate ofer, pe de o s s a parte, recomandri i sprijin alegerea solutiilor utilizatorului non-expert, pe de alt parte, a s n a un mecanism de explorare sistematic a solutiilor posibile utilizatorilor experti. Sectiunea 4.2 a descrie etapele de analiz i proiectare ale sistemului (pentru platforma JADE) care este a s n s construit diagrama agentilor, sunt identicate principalele tipuri de agenti [PNS06] i se dea scrie mecanismul de facilitare ntre agenti [SNP05] ntr-un sistem multi-agent distribuit. In sectiunea 4.2.3 este prezentat o ontologie original pentru modelarea procesului de descope a a rire de cunotinte. sectiunea 4.2.4 sunt furnizate detalii despre interactiunile dintre agenti s In i implementarea acestora. Sectiunea 4.3 analizeaz problema evalurii sistemelor bazate pe s a a cunotinte i este propus un model calitativ original pentru modelul arbore de decizie, bazat pe s s metrici de calitate. Ultima sectiune a capitolului prezint un studiu de caz pentru setul de date a CoverType.

Anexa A

Generarea automat a documentelor a juridice


Redactarea documentelor juridice este o parte integral a activitii zilnice a practicienia at lor din domeniul legal: judectori, avocati, magistrati, consultanti etc. Contracte de diverse a tipuri (comodat, vnzare-cumprare, a a nchiriere, leasing etc.), plngeri, pledoarii, interogatorii, a instructiuni juridice, mputerniciri, acte de promisiune sau somatii sunt doar cteva exemple din a multitudinea de documente juridice uzitate diverse arii legislative. n Intocmirea acestor acte este, multe sensuri, ai denitia practicrii legii. Cu toate c ecare document n nss a a ntocmit este unic felul lui, nu este necesar s se reinventeze roata la redactarea ecrui document. n a a Noile tendinte informatizarea serviciilor publice (sntate, taxe, atmnt, licitatii on n a a nv a a line etc) puse evident de initiative la nivel european i mondial de tipul e-Government, n a s e-Learning sau e-Health readuc prim plan beneciile generrii automate a documentelor jurin a continuarea acestei anexe va abordat aceast tematic folosind metodologii, tehnici dice. In a a a i unelte moderne. vederea dezvoltrii unui sistem bazat pe cunotinte pentru redactarea s In a s actelor juridice a fost ales procesul de inginerie a cunotintelor, care presupune urmtorele faze: s a 1) analiza problemei, 2) achizitia cunotintelor, 3) proiectarea i implementarea sistemului, 4) s s vericarea, validarea i evaluarea, 5) documentarea i 6) s s ntretinerea i actualizarea sistemului. s Urmtoarele sectiuni ale acestei anexe prezint activitile i roadele specice ecrei faze ale a a at s a dezvoltrii. a

A.1

Introducere

Pentru redactarea unui nou document, cea mai folosit abordare const modicarea unui a a n exemplu fcut anterior (eventual de altcineva). Exemplul de pornire se numete formular. a s Aceste formulare pot preluate din crti de specialitate, de la institutiile juridice de specialitate a (Judectoria, Tribunalul etc.), de la colegi, din diverse surse din Internet sau pot formulare a interne ale organizatiei. Dei astfel de formulare sunt un bun punct de plecare, ele au cteva s a dezavantaje: greu de localizat: ntr-o carte cu cteva sute de formulare va destul de greu de identicat a i localizat formularul potrivit; s 149

150

GENERAREA AUTOMATA A DOCUMENTELOR JURIDICE

calitatea ndoielnic: nu exist nici un expert care s garanteze calitatea, din punct de a a a vedere juridic, al formularului respectiv; efort considerabil pentru particularizare. cadrul unui document juridic pot identicate mai multe concepte juridice, cum ar : In prtile implicate (persoane zice, persoane juridice), obiectul documentului, termenele, clauzele a speciale, rezolvarea litigiilor, pretul i altele. Se pot identica numeroase constrngeri i corelatii s a s ntre aceste concepte, de exemplu: orice contract presupune dou prti (vnztorul i cumprtorul cazul contractului de a a a a s aa n vnzarecumprare, donator i donatar cazul contractului de donatie etc.); a a s n a tipul documentului implic prezenta obligatorie a unor concepte; de exemplu, un contract de vnzarecumprare de bunuri imobile presupune mod obligatoriu existenta autentia a n crii notariale, adic a a ncheierea contractului forma autentic fata notarului, timp n a n n ce cazul unui contract de vnzarecumprare de bunuri mobile este optional n a a a ncheierea contractului fata notarului; n a a tipul unor concepte impune constrngeri asupra altor concepte; de exemplu, dac obiectul contractului const bunuri determinate individual, atunci acestea se vor individualiza a n prin siri proprii (adresa, numr de inventar, seria motorului etc.), timp ce bunurile nsu a n determinate generic se indic spre individualizare prin numr, greutate, msur (alimente, a a a a bani etc.) [Bor98]. Este clar c pentru a evita problemele expuse anterior este necesar elaborarea unui produs a a informatic care s-i ajute pe cei implicati redactarea actelor juridice. Pe de alt parte, a n a numrul mare de constrngeri i corelatii a a s ntre concepte face dicil modelarea unui astfel de a sistem fr mijloacele puse la dispozitie de sistemele bazate pe cunotinte. Ca atare s-a luat aa s decizia implementrii unui produs informatic sub forma unui sistem bazat pe cunotinte pentru a s redactarea documentelor juridice care s a ncorporeaze experienta i cunotintele acumulate de s s echipele de experti (de exemplu din cadrul unei institutii de amnt superior de specialitate nvta a sau din cadul unui cabinet de avocatur specializat pe o anumit tematic judiciar) i s ofere a a a a s a automatizarea redactrii i arhivrii documentelor juridice pentru clientii. Clientii sistemului a s a sunt practicieni (de exemplu, un jurist la o rm, un stagiar, un operator, un functionar public a etc.) care au nevoie s redacteze diverse tipuri de documente juridice i sunt pui deseori a s s n situatia de a elabora documentul pentru prima oar. Un astfel de sistem inteligent ar trebui s a a ofere cel putin urmtoarele functiuni: a redactarea documentului juridic; traducerea documentului alte limbi; n tiprirea documentului; a arhivarea documentului.

A.2 ANALIZA PROBLEMEI

151

Domeniul legislativ nu a fost unul neglijat de cercettorii din domeniul inteligentei articiale a i a sistemelor expert. Dintre cele mai cunoscute sisteme expert din domeniu amintesc: AREST s (Armed Robbery Eidetic Suspect Typing) [BKH88] care ajut polititii investigarea jafuria s n lor, EVIDENT [LZ87] care ajut studentii s e care sunt probele admise de ctre legile a a nvet a federale, FLEXICON [GS92] un sistem pentru sprijinul litigiilor dezvoltat pentru regsirea a efectiv a documentelor legale sau sistemele LEXIS [CSA89], SCALE i INFO1 [Bin86], toate a s sisteme pentru regsirea materialelor legislative. Van Buggenhout et al. analizeaz [BVS+ 93] a a n oportunitatea folosirii tabelelor de decizie redactarea regulilor juridice i arat c acestea sunt n s a a forme potrivite pentru reprezentarea regulilor bazate pe decizii care permit o facil vericare a i evaluare sistemului. Interesul pentru utilizarea sistemelor bazate pe cunotinte modelele s s n juridice a dus, spre exemplu, la nintarea anul 1988 a JURIX [JUR] The Foundation for n Legal Knowledge Based Systems un forum al cercettorilor din domeniul dreptului informatic a din Olanda i Belgia i care organizeaz conferinte anuale acest domeniu. s s a n

A.2

Analiza problemei

acest faz, o echip format din experti din domeniul juridic, manageri, specialiti In a a a a s n domeniul SBC i IT (proiectanti de sistem, dezvoltatori software) s-a s ntrunit de-a lungul a trei zile i a s ncercat s rspund la a a a ntrebrile De ce s construim acest sistem? i Chiar a a s va functiona acest sistem?. primul rnd au fost identicate principalele motive pentru In a care organizatia si dorea implementarea acestui sistem, i anume: creterea productivitii s s at prin reducerea timpului necesar redactrii unui document juridic, extinderea afacerii i mrirea a s a protului organizatiei prin vnzarea solutiei sub form de servicii juridice clientilor din afara a a organizatiei, precum i s mbuntirea imaginii organizatiei printr-o prezent activ pe Internet, a at a a prin oferirea de servicii prin intermediul Web-ului. Urmtorul punct de actiune a fost identicarea problemelor specice redactrii documentelor a a juridice. Acestea au fost expuse pe larg prima parte a acestei anexe. continuare, specialitii n In s din domeniul SBC au fcut prezentri ale modelelor de reprezentare a cunotintelor disponibile a a s mediul Expert System Creator, au prezentat metodologia de dezvoltare a unui SBC i au n s vederea analizat mpreun cu expertii juridici problema redactrii documentelor juridice. In a a realizrii unui studiu de fezabilitate primar au fost luate considerare cerintele la care trebuie a n s fac fat sistemul, riscurile intrinseci ale sistemului, costurile implementrii sistemului a a a a n organizatie (de exemplu, efortul de aare a unor noi concepte i operarea cu nite unelte soft nvt s s ware noi) i beneciile utilizrii sistemului (de exemplu, asigurarea unei caliti corespunztoare s a at a a documentelor din punct de vedere juridic, creterea productivitii sau arhivarea i regsirea s at s a facil a documentelor redactate). a Dup analiza propunerilor fcute, s-a ales crearea unui sistem bazat pe cunotinte Legal a a s Document Drafting System de ctre o echip heterogen compus din experti din domeniul a a a a juridic i specialitii IT. Aceast prim faz a fost materializat elaborarea unei propuneri s s a a a a n de proiect care specica: ce urmeaz s e fcut cadrul acestui proiect, de ce este important a a a n proiectul, cum vor distribuite sarcinile cadrul echipei i o planicare timp a activitilor n s n at proiectului.

152

GENERAREA AUTOMATA A DOCUMENTELOR JURIDICE

A.3

Achizitia cunotintelor specice domeniului s

faza de achizitie a cunotintelor, echipa a investigat lucrat pentru a gsi rspunsul In s a a la ntrebarea: Ce cunotinte sunt disponibile?. Persoanele implicate aceast faz au s n a a fost expertii umani domeniul redactrii documentelor juridice, inginerii de cunotinte i n a s s proiectantii de sistem. Obiectivele urmrite de acetia au fost: a s colectarea cunotintelor de la experti; s interpretarea cunotintelor obtinute vederea indenticrii elementelor cheie ale bazei de s n a cunotinte: conceptele, regulile, strategiile etc.; s analiza elementelor cheie identicate anterior i formularea teoriilor despre organizarea s cunotintelor; s pregtirea alnirii de proiectare a sistemului. a nt Tehnicile folosite pentru atingerea acestor obiective sunt: discutiile libere cu expertii umani cadrul unor mese rotunde, interviurile individuale i chestionarele. toate aceste alniri, sn s In nt a urmrit gsirea unui vocabular comun care s ofere tuturor participantilor o elegere unitar a a a nt a asupra sistemului informatic. Vocabularul comun este compus din metafore, termeni informali, nu neaprat riguroi i exacti din punct de vedere tehnic sau legislativ, dar care au avantajul de a s s a elei i manipulati cu uurint de ctre toti participantii. nt s s s a a Rezultatul concret al acestei faze este stabilirea modelului bazei de cunotinte. Acest model s este compus din concepte i reguli. Dintre conceptele identicate amintesc aici doar cteva: s a prtile unui document (vnztor, cumprtor, motenitor, locatar, proprietar, comodator, coa a a aa s modant, Judectoria), tipul unei prti (persoan zic, persoan juridic, instant de judecat), a a a a a a a a obiectul documentului ( stiintare de prezentare, un bun n nstrinat, un bun dat folosint), a n a moneda care se exprim o sum (RON, EUR, USD etc.), instantele abilitate solutionarea n a a n litigiilor (Judectoria, Curtea Suprem de Justitie a Romniei, Tribunalul International etc.). a a a Regulile exprim procese i algoritmi baza crora se genereaz documentele. S-au identia s n a a cat dou categorii de reguli: reguli de productie i meta-reguli. Regulile din prima categorie a s precizeaz modul care se genereaz o sectiune (articol) a documentului. De exemplu, pentru a n a generarea primei sectiuni a unui contract de vnzare-cumprare sunt necesare specicarea celor a a dou prti: vnztorul i cumprtorul. Fiecare parte are un tip (ce poate persoan zic a a a a s aa a a sau juridic), o adres, optional o adres alternativ/otant, un numr de telefon pentru cona a a a a tact, un cod de identicare (cod numeric personal sau cod unic de nregistrare CUI cazul n persoanelor juridice). Dac una dintre prti este persoan juridic, atunci trebuie specicat o a a a a a persoan de contact, care are aceleai proprieti cu ale unei persoane zice. a s at Pe de alt parte, meta-regulile denesc algoritmul de generarea a unui tip de document i a s apeleaz reguli de productie pentru a realiza acest lucru. De exemplu, meta-regula pentru un a contract de vnzare-cumprare va invoca regula de productie pentru obtinerea unei prti de a a a dou ori, va apela regula pentru obtinerea unui bun material (obiectul contractului), va invoca a regula pentru citirea sumei i a monedei care este exprimat aceasta i, nal, va genera s n a s n sectiunea de prevederi nale folosind regula de productie corespunztoare. a

A.4 PROIECTAREA SI IMPLEMENTAREA SISTEMULUI


CONCEPT Document Sectiune a documentului DESCRIERE Un act juridic redactat cu un scop anume Unul sau mai multe paragrafe ale documentului, care impreuna alcatuiesc de obicei un articol complet. Reprezinta una din partile semnatare ale documentului CONDITII CitesteParte() AND CitesteParte() AND CitesteBunMaterial() AND CitestePrevederiFinale() CitesteNume() AND CitesteTip()==PERSJUR AND CitesteAdresa() AND CitesteCodIdenticare() RELATII CU ALTE CONCEPTE Sectiune a documentului Document

153

Parte REGULA GenerareContract Vnzare-Cumprare a a

Adresa, Cod CONSECINTE IncludeParagraf(1001) IncludeParagraf(1001) IncludeParagraf(2014) IncludeParagraf(3023) IncludeParagraf(4103) CreeazaParteJuridica() CitestePersoanaContact()

CitesteParte

Tabela A.1: Reprezentarea cunotintelor faza de achizitie s n Ce format folosim pentru reprezentarea conceptelor i regulilor aceast faz? Obiectivul s n a a principal al acestei reprezentri este de a oferi o a ntelegere comun tuturor participantilor toate a n fazele procesului de construire a sistemului bazat pe cunotinte. Acest format va apoi ranat s n reprezentri specice ecrui participant: arhitect de sistem, expert juridic, dezvoltator software a a etc. Cea mai comun reprezentare o constituie descrierea regulilor i conceptelor limbaj a s n natural (folosind limba ocial a proiectului, de exemplu romna sau engleza). Tabela A.1 a a prezint o parte a bazei de cunotinte rezultat aceast faz a proiectului. a s a n a a

A.4

Proiectarea i implementarea sistemului s

Dup a ncheierea fazelor de analiz i achizitie de cunotinte, s-a trecut la proiectarea i a s s s implementarea sistemului. Obiectivele urmrite aceast faz sunt urmtoarele: a n a a a selectarea modelului de reprezentare a cunotintelor; s selectarea tehnicilor de inferent i control; a s selectarea mediului de dezvoltare; dezvoltarea prototipului; dezvoltarea produsului nal. S-a ales ales ca model de reprezentare a cunotintelor arborii de decizie, datorit claritii s a at exprimare, asimilrii facile de ctre expertii umani din domeniul juridic i exibilitii oferite n a a s at vederea implementrii. Prin urmare, reprezentarea bazei de cunotinte expus Tabela A.1 n a s a n a fost transpus arbori de decizie (Figura A.2 ilustreaz una din regulile sistemului acest a n a n format).

154
Baza de cunostinte Arbori de decizie Fisier XML

GENERAREA AUTOMATA A DOCUMENTELOR JURIDICE

Obiecte de cunostinte active (AKO) Baza de date relationala

foloseste

Lex Engine

creeaza si editeaza Expert System Creator

creeaza si editeaza Lex Browser

genereaza UI

citeste datele de la utilizatori

User Interface (Java Swing sau Webbased) NONEXPERTS Operatori, secretare functionari publici

EXPERTS

Figura A.1: Arhitectura sistemului LDDS Pentru controlul executiei i realizarea motorului de inferent s-a implementat un motor s a propriu, de tip forward-chaining, modulul Lex Engine. Figura A.1 prezint arhitectura sisten a mului LDDS, care se poate identica cele patru module functionale ale unui sistem bazat pe n cunotinte: s s Modulul de achizitie a cunotintelor de la expertii umani reprezentat prin aplicatiile Expert System Creator i Lex Browser. s Baza de cunotinte format din arbori de decizie i AKO. s a s Motorul de inferent implementat Lex Engine. a n a a Interfata cu utilizatorul ce poate implementat utiliznd diferite sisteme grace utilizator, momentan existnd o interfat dezvoltat cu pachetul Java Swing i o interfat a a a s a Web. Ca mediu de dezvoltare pentru LDDS a fost ales Expert System Creator pentru facilitile at oferite, special particularizarea pe diferite categorii de utilizatori, suportul pentru proiectarea, n implementarea, vericarea, validarea i evaluarea arborilor de decizie i posibilitatea integrrii s s a modulelor dezvoltate afara mediului. Pentru implementarea modulelor externe (Lex Engine, n Lex Browser i o parte a interfetei utilizator) s-a folosit limbajul Java i mediul de dezvoltare s s open-source IBM Eclipse. prima etap, Expert System Creator a fost congurat prin imIn a portarea dictionarul sistemului (via modulul Dictionary Manager) a denitiilor externe din n alte module ale SBC (de exemplu, modulul de interfat cu utilizatorul sau Lex Engine) i prin a s congurarea uneltele externe (de exemplu maina virtual Java i compilatorul Java). Dup s a s a instalarea i congurarea corespunztoare, expertii din domeniul juridic au putut folosi ESC s a pentru construirea regulilor sistemului, pentru denirea conceptelor necesare ca AKO i pentru s testarea functionrii a ntregului sistem LDDS. continuarea acestei sectiuni se va descrie arhitectura prototipului realizat. S In a ncepem cu baza de cunotinte, care are dou componente: o colectie de arbori de decizie ce implementeaz s a a regulile identicate faza de achizitie a cunotintelor (vezi Tabela A.1 i sectiunea A.3) i n s s s o colectie de Active Knowledge Objects (AKO) care modeleaz conceptele identicate faza a n anterioar (vezi sectinile 3.5 i A.3 pentru detalii). AKOs sunt folosite cadrul arborilor de a s n

A.4 PROIECTAREA SI IMPLEMENTAREA SISTEMULUI

155

Figura A.2: Exemplu de regul a decizie la implementarea regulilor de generare a documentului juridic. timpul implemenentrii In a conceptelor, acestea au fost ranate dou categorii: n a KALexVariable - modeleaz conceptele care monitorizeaz evolutia sistemului, numite a a variabile de stare. Fiecare variabil de stare este de un anumit tip: text (ex. numele a prtii), alegere multipl (ex. tipul de deviz sau tipul prtii) numeric (ex. capitalul social), a a a a boolean (ex. are antecedente penale?) sau dat calendaristic (ex. data documentului). a a a KALexDraftingObject - modeleaz paragrafele unui document juridic. AKO sunt stocate ntr-o baz de date relational (Microsoft Access implementarea noasa a n tr), iar pentru editarea lor se utilizeaz Lex Browser, o unealt Java ce permite vizualizarea i a a a s gestionarea acestor obiecte dintr-o interfat grac prietenoas i egonomic. a a as a Regulile sistemului sunt implementate ca arbori de decizie, mai precis este folosit modelul extins prezentat sectiunea 3.5. Arborii sunt stocati iere XML pe disc i sunt gestionati n n s s (creati, editati sau teri) folosind mediul Expert System Creator. Figura A.2 se prezint una s s In a din regulile sistemului, sub forma unui arbore de decizie, care se pot identica cu uurint n s a nodurile de tip DDAN, IDAN i PAN. s Modulul Lex Engine implementeaz motorul de inferent care execut regulile sistemului a a a codicate ca arbori de decizie dup cum s-a vzut mai sus. Executarea unei reguli Elementele a a de interfat cu utilizatorul (ferestre de dialog Java Swing sau pagini HTML) sunt generate a mod dinamic ca urmare a executrii arborilor de decizie. Executia unei reguli n a nseamn a executate consecintele regulii care de cele mai multe ori includ apeluri ctre functii de generare a paragrafe. Figura A.3 prezint mediul ESC care este arcat una din regulile sistemului a n nc a LDDS, fereastra principal a uneltei LexBrowser care se pot observa variabilele de stare a n disponibile i una din ferestrele de dialog care apar timpul rulrii aplicatiei LDDS. s n a

156

GENERAREA AUTOMATA A DOCUMENTELOR JURIDICE

Figura A.3: Regulile LDDS arcate ESC, Lex Browser i Lex Engine nc n s

A.5

Vericarea, validarea i evaluarea sistemului s

cazul sistemelor software traditionale, testarea sistemului vederea stabilirii corectitudinii In n functionrii acestuia este parte integrant a procesului de proiectare i dezvoltare. Metodologiile a a s moderne de elaborare a produselor software, numite i Metode Agile de Dezvoltare (Agile Softs ware Development Methods [Lar04, Sch04]), denesc procesul de testare ca unul fundamental, care trebuie s aib loc la a a nceputul procesului de dezvoltare, chiar precednd faza de implemena tare. cazul sistemelor software traditionale, testele sunt de dou tipuri: teste de acceptant In a a (realizate de ctre beneciarii produsului) i teste unitare (denite de ctre echipa de programaa s a tori pentru module sistemului). Aa stau lucrurile cazul metodologiilor agile, precum Crystal s n Methods [Coc04], Adaptive Software Development [Hig99] sau Extreme Programming [BA04]. Deoarece cazul SBC nu se dispune de un astfel de standard bine denit cu care s n a se compare performantele sistemului, corectitudinea unui SBC este denit prin trei elemente: a completitudinea, consistenta i satisfacerea cerintele exprimate de expertul din domeniul de s discutie. Pentru SBC reale, ale cror baze de cunotinte contin sute de reguli, aspectele de mai a s sus sunt greu de stabilit, astfel de sisteme existnd milioane de posibile ci de urmat prin n a a sistem, ecare din ele trebuind s e vericat pentru stabilirea corectitudinii ei. Pentru ecare a a dintre cele trei elemente de mai sus a fost denit o etap distinct, astfel: a a a Denitia A.5.1. Vericarea unui sistem bazat pe cunotinte este procesul prin care se de s termin dac sistemul este construit conform specicatiilor. Validarea este procesul prin care a a se determin dac sistemul a a ndeplinete scopul pentru care a fost construit. Evaluarea reect s a gradul de acceptare al sistemului de ctre utilizatorii nali, precum i performantele sale. a s

A.5 VERIFICAREA, VALIDAREA SI EVALUAREA SISTEMULUI

157

Cu alte cuvinte [MHC89]: vercati dac sistemul a fost construit corect, validati sistemul a pentru a arta c a fost construit sistemul care trebuia construit i evaluati sistemul pentru a a s a-i demonstra utilitatea. Vericare, validarea i evaluarea sistemelor expert (sau a sistemelor s bazate pe cunotinte) a suscitat un interes crescut rndurile cercettorilor. Treceri revist a s n a a n a tehnicilor i uneltelor propuse pot gsite [O91, Pre94, TLJS99, VC99, SK93, RSB91, GM93]. s a n

A.5.1

Vericarea sistemului

Din denitia de mai sus rezult c aceast etap se veric dac baza de cunotinte este a a n a a a a s complet i dac motorul de inferent este capabil s manipuleze aceste cunotinte. Problemele as a a a s care pot s apar aceast etap sunt urmtoarele: a a n a a a Sunt cerintele utilizatorului reectate de proiectarea sistemului? Reect proiectul detaliat al sistemului scopurile proiectrii? a a Reect codul design-ul detaliat? a Este codul corect din punct de vedere sintactic? functie de proprieti i abordare, vericarea SBC se focalizeaz asupra bazei de cunotinte, In at s a s asupra motorului de inferent sau asupra elementelor de user interface. Aceast etap asigur a a a a faptul c nu exist bug-uri sau erori tehnice codul motorului de inferent sau conicte, suba a n a ordonri circulare, redundante, deciente sau ambivalente la nivelul bazei de cunotinte. a s cazul LDDS, vericarea motorului de inferent este realizat prin implementarea testelor In a a unitare asupra codului Java generat de Expert System Creator. Ca platofrm de dezvoltare a pentru aceste teste unitare a fost ales cadrul pentru testare JUnit [Wik06, JUn]. Vericarea corectitudinii bazei de reguli s-a fcut folosind unealta Decision Table Analyzer (DTbA) (capia tolul 3, pagina 94, Figura 3.3). Pentru aceasta, regulile sistemului create form de arbori de n a decizie au fost convertite mai ai tabele de decizie care ulterior au fost vericate cu DTbA. nt n Conictele (ambiguitile), duplicatele sau subordonrile circulare au fost depistate i eliminate at a s de ctre proiectantii bazei de cunotinte. a s

A.5.2

Validarea sistemului

Validarea determin dac sistemul genereaz aceleai rezultate ca un expert uman i dac a a a s s a rationamentul urmat de sistem este apropiat de cel al expertului uman. Cu alte cuvinte, pro cesul de validare rspunde unor a ntrebri precum: ct de bun este sistemul?, este baza de a a cunotinte corect? sau face programul ceea ce ar trebui s fac?. Deoarece specicatiile s a a a dup care trebuie validat sistemul sunt rareori complete, este practic imposibil s se testeze a a sistemul pentru toate cazurile de exceptie care ar putea s apar. Ca atare, se poate obtine a a doar un grad de ncredere c sistemul este valid i nu o garantie absolut pentru validitatea a s a sistemului. Problemele care pot s apar aceast etap sunt urmtoarele: a a n a a a Ct de bune sunt performantele sistemului comparativ cu euristicile i cunotintele expera s s ilor umani din domeniu? t

158

GENERAREA AUTOMATA A DOCUMENTELOR JURIDICE

Ct de bune sunt rezultatele obtinute urma inferentelor comparativ cu datele istorice? a n Ce procentaj din observatiile empirice pertinente poate simulat de sistem? Ce procentaj din predictiile realizate de model sunt empiric corecte? Ce procentaj din prametrii sistemului real sunt mimati de model? Pentru validarea sistemului LDDS, trasarea executiei sistemului i analiza ierului de log s s cadrul ESC folosind modulul Decision Tree Tracer (DTrT) ofer expertilor umani informatii n a pretioase legtura cu evolutia sistemului i cu performantele sale. Mai multe detalii despre n a s acest utilitar integrat ESC pot gsite capitolul 3, pagina 94, iar Figura 3.4 ilustreaz n a n a o captur ecran. Unealta DTrT poate utilizat pentru a rspunde la majoritatea a a a ntrebrile a de mai sus. plus, trasarea sistemului este extrem de util implementarea testelor de nonIn a n regresie asupra sistemului. Aceste teste valideaz c toate cazurile tratate corect a a ntr-o versiune a sistemului vor tratate corect i versiunea urmtoare, adic nu apar regresii functionarea s n a a n sistemului. Folosind DTrT, testele de non-regresie se reduc la comparatia ierelor de log ( s n format XML) etalon (rularea anterioar care cazurile erau corect tratate de sistem) i actual a n s (rularea curent). a

A.5.3

Evaluarea sistemului

Etapa de evaluare a unui sistem rspunde la a ntrebarea ct de folositor este sistemul?, a lucru reectat de gradul de acceptant al sistemului de ctre utilizatorii lui. Problemele etapei a a de evaluare se refer la: a Este sistemul prietenos cu utilizatorul (user friendly)? Ofer sistemul expert o a mbuntire a practicilor existente pe care ar trebui s le suplea at a menteze? nvt Este sistemul folositor ca unul de aare? a a Este gradul de mentenant a sistemului acceptabil, adic alte persoane, diferite de dezvoltatori, pot s a ntretin sistemul la zi? a Sistemul LDDS este curs de evaluare, ind construit, la momentul scrierii acestei lucrri, n a sub form de prototip, iar numrul de utilizri i utilizatori ai sistemului nu sunt a seminicaa a a s nc tive pentru a putea evalua impactul asupra utilizatorilor nali. Oricum, interfata utilizator ind una bazat pe Java Swing i Web este prietenoas, uor de utilizat i nu necesit un proces de a s a s s a formare suplimentar. Pe de alt parte, acesta este un avantaj i distribuirea aplicatiei client, a s n care practic se reduce la un simplu navigator Web cu ajutorul cruia poate accesat serverul a ce implementeaz sistemul. a

A.6 DOCUMENTAREA SISTEMULUI

159

A.6

Documentarea sistemului

Faza de documentare presupune crearea i actualizarea documentelor sistemului. O bun s a documentare a sistemului i actualizarea ei continu va contribui decisiv la reducerea costurilor s a faza de n ntretinere a sistemului. Ce documente trebuie produse la elaborarea unui sistem bazat pe cunotinte? primul rnd, documentarea trebuie s s In a a nceap chiar din primele faze a ale proiectului, cele de analiz a problemei i achitionare a cunotintelor. urma sesiunilor de a s s In analiz i achitionare a cunotintelor trebuie redactate transcrierile sesiunilor de lucru (stenoas s grame, rezumate, puncte de actiune) pe suport digital. cazul nostru, dup ecare sesiune de In a lucru au fost redactate aa numitele Session Minutes (minutele de edint), ite de documens s a nsot tele, diagramele i prezentrile aferente. Apoi, trebuie documentat baza de cunotinte: regulile s a a s cazul sistemului LDDS sunt documentati att sistemului, abloanele, arborii de decizie etc. In s a arborii de decizie ct i AKO (paragrafele i variabilele de control). Beneciind de facilitile a s s at oferite de ESC acest sens (vezi 3.8), documentarea arborilor de decizie poate merge pn la n a a nivel de nod al arborelui, partea de documentatie ind clar separat de cea de implementare. a Deasemenea, trebuie specicate relatiile i interconexiunile dintre prtile componente ale bazei s a de cunotinte (graful de dependent). s a Extrem de important este documentarea codului surs; o bun documentare a codului surs a a a a asigur uurinta faza de a s n ntretinere i actualizare a sistemului. Scrierea de comentarii cadrul s n codului surs este o activitate ce cade sarcina programatorilor. Pe baza acestor comentarii, a n folosind facilitile de generare a documentatiei interne oferite de ESC (vezi sectiunea 3.8) sunt at produse documentele interne de tipul referintelor tehnice. Acestea descriu, din punct de vedere tehnic, arhitectura sistemului, modulele componente, interfetele dintre module, procedurilor cazul sistemului LDDS, pe lng documentele i functiile, structurile de date folosite etc. In s a a generate de ESC pentru arborii de decizie, documentatia tehnic a fost completat de documente a a similare generate pentru baza de AKO. Documentarea testelor (unitare sau de acceptant) presupune denirea scopului ecrui test, a a persoanele implicate i rezultatele obtinute urma ecrei executii a testului. s n a Manualele de utilizare i administrare sunt alte componente esentiale ale documentatiei sistes mului care vin sprijinul utilizatorilor (att experti ct i non-experti). Pe lng instructiunile n a a s a a de utilizare i congurare, acestea mai contin un glosar de termeni specici domeniului i un s s index pentru regsirea rapid a informatiilor dorite. a a

A.7

Intretinerea, exploatarea i actualizarea sistemului s

Un sistem informatic trebuie s fac fat modicrilor care apar timp lumea real a a a a n n a n domeniul pe care acesta deservete. Sistemul juridic mai ales cel romnesc perspectiva l s a n integrrii europene este unul extrem de dinamic, cu zeci de legi adoptate, sau abrogate, pe a zi. Toate aceste legi se reect, cele din urm, continutul pe care trebuie s-l aib un act a n a n a a juridic sau altul. Baza de cunotinte a sistemului trebuie astfel s evolueze timp i cel mai s a n s important ingredient pentru o evolutie i actualizare facil a bazei de cunotinte este o bun s a s a documentare a acesteia. Faza de ntretinere, exploatare i actualizare presupune cel putin urmtoarele activiti: s a at

160

GENERAREA AUTOMATA A DOCUMENTELOR JURIDICE

instalarea i congurarea sistemului la utiliziatorii noi s raportarea, urmrirea i rezolvarea problemelor de functionare (bug) experimentate de a s utilizatori, precum i a cerintelor de noi functionaliti; actualizarea tuturor versiunilor s at n exploatare cu aceste corecturi; actualizarea sistemului astfel at acesta s rspund modicrilor aprute domeniul nc a a a a a n real modelat. Intrebarea care se pune este cine ar trebui s asigure a ntretinerea sistemului?. Rspunsurile a posibile vizeaz echipa de dezvoltare, clientul sau personal autorizat pentru aceast activitate. a a Oricine ar personalul care efectueaz aceste activiti, acesta trebuie s e autorizat s o a at a a fac. De obiecei aceste activiti se execut baza unui contract de a at a n ntretinere convenit de ambele prti. Un aspect important al acestui contract sunt costurile de a ntretinere, costuri care sunt inuentate de platforma software folosit la implementare (de exemplu Java sau .NET) a prin portabilitatea i securitatea pe care aceasta le ofer, de limbajul de programare folosit s a implementare i de unealta software aleas pentru dezvoltarea sistemului. Pentru a reduce n s a costurile din aceast etap, ea trebuie avut vedere a din faza de proiectare a sistemului a a a n nc i trebuie s se reecte s a ntr-o arhitectur modular a sistemului, proiectarea testelor unitare a a n a nc nainte de implementarea efectiv i alte tehnici specice. as cazul LDDS, pentru raportarea i urmrirea bug-urilor i cerintelor de noi functionaliti In s a s at s-a ales o solutie open-source bazat pe Web, uor de congurat i a s s ntretinut: phpBugTracker [php]. Fat de competitori (de ex. Bugzilla [Bug]) aceast solutie are cteva avantaje majore: a a a simplitatea instalare i utilizare, utilizarea abloanelor HTML ce permite personalizarea asn s s pectului interfetei grace cu utilizatorul, folosirea unui nivel de abstractizare a accesului la bazele de date ce asigur functionarea sistemului pe diferite SGBD relationale i nu ultimul rnd a s n a posbilitatea localizrii sistemului limba romn. Facilitile de depanare, trasare i prolare a n a a at s oferite de mediul Expert System Creator, precum i portabilitatea platformei Java pe care a s fost construit ntreg sistemul au asigurat premise foarte avantajoase pentru nite costuri ct mai s a reduse ale fazei de ntretinere. Simplitatea actualizrii pachetelor Java a fcut ca instalrile de a a a noi versiuni i rezolvrile bug-urilor s se desfoare fr probleme. s a a as aa

A.8

Concluzii

Sistemul propus aceast sectiune a fost implementat ca prototip functional folosind men a diul de dezvoltare Expert System Creator. Dezvoltarea sistemului LDDS a adus contributii sectiunea introductiv se face o analiz semnicative functionalitilor i arhitecturii ESC. In at s a a a procesului de redactarea a documentelor juridice i sunt identicate principalele probleme ce s apar. sectiunea A.2 sunt identicate principalele cerinte la care trebuie s rspund sisteIn a a a sectiunea A.3 sunt extrase i modelate concepte i reguli cunotintele disponibile la mul. In s n s s expertii din domeniu. Proiectarea i implementare sistemului constituie nucleul sectiunii A.4. s Sunt prezentate arhitectura sistemului, modulele componente i tehnologiile folosite faza de s n implementare. sectiunea urmtoare sunt descrise fazele de vericare, validare i evaluare a In a s sistemului folosind instrumentul Expert System Creator. Sectiunea A.6 exemplic cum ESC a vine ajutorul dezvoltatorilor cu generarea documentatiei interne pentru modelul de cunotinte n s

A.8 CONCLUZII

161

construit iar ultima sectiune trateaz aspecte ale etapelor de exploatare i a s ntretinere a sistemu lui. Dezvoltarea acestui prototip a ridicat o serie de probleme interesante att ca analiz, proieca a tare, dar i noi extinderi ale sistemului ESC. Sistemul este functional i pe termen mediu se s s dorete extinderea sistemului cu noi reguli. s

162

GENERAREA AUTOMATA A DOCUMENTELOR JURIDICE

Anexa B

Detalierea ontologiei KDD


O ontolologie este o multime de concepte, predicate i actiuni agent care modeleaz un dome s a cazul sistemelor multi-agent, cnd agentii interactioneaz, ei schimb informatii niu specic. In a a a care refer entiti abstracte sau concrete ce exist mediul multi-agent. Aceste entiti pot a at a n at primitive (int, String etc.) sau pot reprezenta structuri complexe numite concepte. Relatiile dintre entiti pot la rndul lor structuri complexe denite printr-un nume i o multime de at a s sloturi care pot lua valori de un anumit tip. Aceste structuri se numesc terminologia ontolon giilor, predicate. O alt categorie de entiti complexe care pot descrise sunt actiunile pe care a at le pot efectua agentii, pe care le vom numi actiuni agent, sau simplu actiuni. aceast anexa In a sunt ilustrate detaliile proiectrii ontologie KDD descris sectiunea 4.2.3. a a n Figura B.1 ilustreaz ranarea task-urilor procesului KDD, prin tipuri i sub-tipuri task. a s a s Figura B.2 detaliaz metodele de rezolvare aplicabile unui task, precum i clasele de surse de date suportate sistem la ora actual. Figura B.3 prezint oganizarea modelelor de cunotinte n a a s i a modelelor de calitate. s

163

164

DETALIEREA ONTOLOGIEI KDD

Figura B.1: Ontologia KDD. Task-uri

165

Figura B.2: Ontologia KDD. Surse de date i metode de rezolvare task s

166

DETALIEREA ONTOLOGIEI KDD

Figura B.3: Ontologia KDD. Modele

Bibliograe
[ABW88] K.R. Apt, H.A. Blair, and A. Walker. Towards a theory of declarative knowledge. In J. Minker, editor, Foundations of Deductive Database and Logic Programming, pages 89148. Morgan Kaufman, 1988. Agent Academy. http://sourceforge.net/projects/agentacademy. [Online; accessed 30-April-2006]. Rakesh Agrawal, Sakti Ghosh, Tomasz Imielinski, Bala Iyer, and Arun Swami. An interval classier for database mining applications. Proc. of the VLDB Conference, 1:560573, 1992. R. Agrawal, T. Imielinski, and A. Swami. Database mining: A performance perspective. IEEE Transactions on Knowledge and Data Eng., 5(6):914925, 1993. R. Agrawal, H. Mannila, R. Srikant, H. Toivonen, and A. Inkeri Verkamo. Fast discovery of association rules. In U. Fayyad et al., editor, Advanecs in Knowledge Discovery and Data Mining, pages 307328. AAAI Press, 1996. P.B. Andrews. An Intoduction to Mathematical Logic and Type Theory: To Truth through Proof. Academic Press, Orlando FL, 1986. R. Agrawal and R. Srikant. Fast algorithms for mining association rules. Proc. of the 20th Conference in VLDB, 1994. A. Al-Zobaidie and J.B. Grimson. Expert systems and database systems: How can they serve each other? Expert Systems, 4(1):3037, 1987. Kent Beck and Cynthia Andres. Extreme Programming Explained : Embrace Change (2nd Edition). Addison-Wesley Professional, 2004. D. Bahler. Methods of decision tree induction. Proceedings of the 4th North Carolina Symposium on Art. Intell. and Advanced Computing Tech., 1992. M. Bauer and S. Baldes. An ontology-based interface for machine learning. Proc. of the Intelligent User Interfaces Conf., San Diego, CA, 2005. 167

[Aca] [AGI+ 92]

[AIS93]

[AMS+ 96]

[And86] [AS94] [AZG87] [BA04] [Bah92] [BB05]

168 [BBdSM89]

BIBLIOGRAFIE L. Bahl, P.F. Brown, P.V. de Souza, and R.L. Mercer. A tree-based statistical language model for natural language speech recognition. IEEE Trans. on Accoustics, Speech and Signal Processing, 37(7):1001 1008, 1989. Mohua Banerjee and Mihir K. Chakraborty. Rough consequence and rough algebra. In Rough Sets, Fuzzy Sets and Knowledge Discovery, Proceedings of the International Workshop on Rough Sets and Knowledge Discovery (RSKD3), Ban, Alberta, Canada, 12-15 October, pages 196207, 1993. E. Bertino, B. Catania, and G.P. Zarri. Intelligent Database Systems. ACM Press - Addison-Wesley, 2001. J. Bansiya and C. Davis. A hierarchical model for object- oriented design quality assessment. IEEE Transaction on software engineering, 28(1), 2002. Judith S. Bowman, Sandra L. Emerson, and Marcy Darnovsky. The Practical SQL Handbook 4th Ed. Addison Wesley Professional, 2001. B.G. Buchanan and E.A. Feigenbaum. Dendral and meta-dendral: their applications dimension. Artical Intellgence, 11:524, 1978. L. Brownston, R. Farrell, and E. Kant. Programming Expert Systems in OPS5. Addison-Wesley Professional, 1985. L. Breiman, J. Friedman, R. Olshen, and C. Stone. Classication and Regression Trees. Chapman & Hall/CRC, 1984. Juan A. Bota, Antonio F. Gmez-Skarmeta, Juan R. Velasco, and Mercedes Garijo. A proposal for meta-learning through a multi-agent system. Agents Workshop on Infrastructure for Multi-Agent Systems, pages 226233, 2000. Juan A. Bota, Antonio F. Gmez-Skarmeta, Mercedes Valds, and Antonio Padilla. Metala: A meta-learning architecture. Fuzzy Days, pages 688 698, 2001. M. Berthold and D.J. Hand. Intelligent Data Analysis An Introduction. Springer, 1999. J. Bing. The text retrieval system as a conversation partner. In C. Arnold, editor, Yearbook of Law, Computers and Technology, page 25. Butterworths, London, 1986. Chris Bishop. Neural Networks for Pattern Recognition. Oxford University Press, 2003. M. Bjanger. Induction of decision trees from partially classied data using belief functions, 2000. S. Bussmann, N. R. Jennings, and M. Wooldridge. Multiagent Systems for Manufacturing Control. Springer-Verlag, 2004.

[BC93]

[BCZ01] [BD02] [BED01] [BF78] [BFK85] [BFOS84] [BGSVG00]

[BGSVP01] [BH99] [Bin86]

[Bis03] [Bja00] [BJW04]

BIBLIOGRAFIE [BKH88]

169

A.B. Badiru, J.M. Karasz, and R.T. Holloway. Arest: Armed robbery eidetic suspect typing expert system. Journal of Police Science and Administration, (16):210216, 1988. S. Brin, R. Motwani, J. Ullman, and S. Tsur. Dynamic itemset counting and implication rules for market basket data. ACM SIGMOD Conf. Management of Data, 1997. W. Buntine and T. Niblett. A further comparison of splitting rules for decision tree induction. Mach. Learn., (8):7585, 1992. Gabriel Boroi. Drept civil. Parte general. Editura ALL, 1998. a A. Bernstein, F. Provost, and S. Hill. Intelligent assistance for the data mining process: An ontology-based approach. CeDER Working Paper IS-02-02, 2002. A. Bernstein, F. Provost, and S. Hill. Toward intelligent assistance for a data mining process: an ontology-based approach for cost-sensitive classication. IEEE Transactions on Knowledge and Data Engineering, 17(4):503518, 2005. S. Brandt. Data Analysis: Statistical and Computational Methods for Scientists and Engineers, 3rd Ed. Springer, 1999. B.G. Buchanan and E.H. Shortlie. Rule-Based Expert Systems. AddisonWesley, 1984. Bugzilla. http://bugzilla.mozilla.org/. [Online; accessed 18-Feburary-2006]. Wray Buntine. Learning classication trees. Statistics and Computing, 2:63 73, 1992. T. Van Buggenhout, J. Vanthienen, J. Schepers, B. Van Buggenhout, G. Wets, and L. De Smedt. The decision table technique as part of a computer supported procedure of legal drafting. In J.G.J. Wassink J.S. Svensson and B. van Buggenhout, editors, Legal Knowledge Based Systems: Jurix 93: Intelligent Tools for Drafting Legislation, ComputerSupported Comparison of Law., pages 7180. JURIX The Foundation for Legal Knowledge Systems, 1993. National Research Council Canada. Fuzzy j project homepage. http://iit-iti.nrccnrc.gc.ca/projects-projets/fuzzyj e.html. Cosmin Carabelea. Adaptive agents in argumentation-based negotiation. In Multi-Agent-Systems and Applications, pages 180187, 2001. J. Catlett. On changing continuous attributes into ordered discrete attributes. In Y. Kodrato, editor, European Working Session on Learning, pages 164178. Springer-Verlag, Berlin, 1991.

[BMUT97]

[BN92] [Bor98] [BPH02] [BPH05]

[Bra99] [BS84] [Bug] [Bun92] [BVS+ 93]

[Can] [Car01] [Cat91]

170 [CC95] [CC97]

BIBLIOGRAFIE R.M. Colomb and C.Y. Chung. Strategies for building propositional expert systems. International Journal of Intelligent Systems, 10:295328, 1995. R.M. Colomb and Y-P Chen. Use of partial functional dependencies to make practical approximate translations among forms of propositional expert systems. Proc. of the 10th Australian Joint Conference on Articial Intelligence. Lecture Notes in Articial Intelligence, (1342):67176, 1997. M. Cannataro and C. Comito. A data mining ontology for grid programming. Proc. of the 1st Int. Workshop on Semantics in Peer-to-Peer and Grid Computing, 2003. G. Caire and D. Cabanillas. Jade tutorial: creating and using application specic ontologies. http://jade.tilab.com/doc/CLOntoSupport.pdf, 2004. Ciro Castiello, Giovanna Castellano, and Anna Maria Fanelli. Meta-data: Characterization of input features for meta-learning. In V. Torra et al., editor, MDAI 2005, LNAI 3558, pages 457 468. Springer-Verlag Berlin, Heidelberg, 2005. G. Caire, W. Coulier, F. Garijo, J. Gomez, J. Pavon, F. Leal, P. Chainho, P. Kearney, J. Stark, R. Evans, and P. Massonet. Agent oriented analysis using message/uml. In M. Wooldridge, G. Weiss, and P. Ciancarini, editors, Lecture Notes in Computer Science, volume 2222, pages 119135. Springer-Verlag, 2002. E.F. Codd, S.B. Codd, and C.T. Salley. Providing olap to user-analysts: An it mandate, 1993. A. Collinot, A. Drogoul, and P. Benhamou. Agent oriented design of a soccer robot team. Proceedings of the 2nd International Conference on Multi-Agent Systems (ICMAS-96), pages 4147, 1996. Q. Chen, M. Hsu, U. Dayal, and M. Griss. Multi-agent cooperation, dynamic workow and xml for e-commerce automation. In Proc. of 4th Int. Conf. on Autonomous Agents, pages 255256, Barcelona, Spain, 2000. P. Compton and R. Jansen. Knowledge in context: a strategy for expert system maintenance. Proc. of the 2nd Australian Joint Articial Intelligence Conference, pages 292306, 1988. B. Chandrasekaran and T. R. Johnson. Generic tasks and task structures: History, critique and new directions. In J.-M. David, J.-P. Krivine, & R. Simmons (Ed.), Second Generation Expert Systems. Berlin: Springer-Verlag, pages 232 272, 1993. Open CM. http://www.opencm.org/. [Online; accessed 25-April-2006]. W. G. Cochran. Sampling Techniques, 3rd Edition. Wiley, 1977.

[CC03]

[CC04] [CCF05]

[CCG+ 02]

[CCS93] [CDB96]

[CHDG00]

[CJ88]

[CJ93]

[CM] [Coc77]

BIBLIOGRAFIE [Coc04] [Col92] [Col96] [Col99] [Com] [Com91] [Con] [Cor88] [CP77] [Cra89] [CRD93] [CSA89]

171

Alistair Cockburn. Crystal Clear: A Human-Powered Methodology for Small Teams (Agile Software Development Series). Addison-Wesley Professional, 2004. R.M. Colomb. Computational stability of expert systems. Expert Systems With Applications, 5:411419, 1992. Andrew Colin. Building decision trees with the id3 algorithm. Dr. Dobbs Journal, June 1996. R.M. Colomb. Representation of propositional expert systems as partial functions. Articial Intelligence, 109:187209, 1999. P. Compton. Garvan-es1 dataset. ftp://ftp.cse.unsw.edu.au/pub/users/compton/43472.txt. [Online; accessed 3-May-2006]. S.D. Comer. An algebraic approach to the approximation of information. Fundamenta Informaticae, (14):492502, 1991. CRISP Consortium. Crisp-dm 1.0, a step-by-step data mining guide. http://www.crisp-dm.org. [Online; accessed 10-January-2006]. O. Corby. Un tableau reexif pour la cooperation de bases de connaissances. PhD thesis, Lniveriste de Nice, 1988. R.L.P. Chang and T. Pavlidis. Fuzzy decision tree algorithms. IEEE Trans Syst. Man Cybernet., SMC-7:2835, 1977. Stuart L. Crawford. Extensions to the cart algorithm. Int. Journal of ManMachine Studies, 31(2):197217, 1989. C. Culbert, G. Riley, and B. Donnell. CLIPS Reference Manual. Johnson Space Center NASA, 1993. A. Cammelli, F. Socci, and P. Arrigoni. Lexis: A legal expert system for improving legislative drafting. Proc. of the 3rd Intl. Conference on Logic, Informatics, Law, 2:11, 1989. Michael Chau, Daniel Zeng, Hsinchun Chen, Michael Huang, and David Hendriawan. Design and evaluation of a multi-agent collaborative web mining system. Decis. Support Syst., 35(1):167183, 2003. L. Dumitracu and I. Alexandru. Generating Fortran programs from decision s tables. Ed. Academiei Bucureti, 1990. s GRupo de Agentes Software: Ingenieria y Aplicaciones (GRASIA!). Ingenias ide. http://ingenias.sourceforge.net. [Online; accessed 3-March-2006]. Paul Davidsson. Id3sd: An algorithm for learning characteristic decision trees by controlling the degree of generalization. Technical Report 145, Department of Computer Science, Lund University, Sweden, 1995.

[CZC+ 03]

[DA90] [dASIyAG] [Dav95]

172 [Del87] [DG96] [DG98] [DHMS02]

BIBLIOGRAFIE J.P. Delahaye. Systme expert : organisation et programmation des bases de connaissance en calcul propositionnel. Eyrolles, Paris, 1987. Luc Devroye and Laszlo Gyor. A Probabilistic Theory of Pattern Recognition. Springer, 1996. I. Duntsch and G. Gediga. Simple data ltering in rought set systems. International Journal of Approximate Reasoning, 18(1):93106, 1998. D.G.T. Denison, C.C. Holmes, B.K. Mallick, and A.F.M. Smith. Bayesian Methods for Nonlinear Classication and Regression. John Wiley and Sons Inc., 2002. R. Davis and J. King. An overview of production systems. In Elcock E.W. and Michie D., editors, Machine Intelligence 8, pages 300332. Wiley, 1977. D. Dumitrescu, B. Lazzerini, and L.C. Jain. Fuzzy Sets and Their Application to Clustering and Training. CRC Press, 2000. R. Lopez de Mantaras. A distancebased attribute selection measure for decision tree induction. Machine Learning, 6:8192, 1991. DoxyGen. http://www.doxygen.org, 2006. [Online; accessed 10-May-2006]. P. Domingos and M. Pazzani. On the optimality of the simple bayesian classier under zero-one loss. Machine Learning, 29(2/3):103130, 1997. A. Dennis and B. H. Wixom. Systems Analysis and Design: An Applied Approach. John Wiley and Sons, 2000.

[DK77] [DLJ00] [dM91] [Dox06] [DP97] [DW00]

[DZvdSvdB99] W. Daelemans, J. Zavrel, K. van der Sloot, and A. van den Bosch. Timbl: Tilburg memory based learner version 2.0 reference guide. Technical report, Tilburg University, Tilburg, The Netherlands, January 1999. [EMK+ 04] [FBMW99] Andrew Eisenberg, Jim Melton, Krishna Kulkarni, Jan-Eike Michels, and Fred Zemke. Sql:2003 has been published. SIGMOD Record, 33(1), 2004. D. Fensel, R. Benjamins, E. Motta, and B. Wielinga. Upml: A framework for knowledge system reuse. In Proceedings of the International Joint Conference on AI (IJCAI-99), Stockholm, Sweden, 1999. A. Florea and P. Cristea. Multi-agent model of manufacturing systems. In Proceedings of WMC 1999, the Second World Manufacturing Congress (Durham, UK, 27-30 September)., 1999. Maydene Fisher, Jon Ellis, and Jonathan Bruce. Jdbc Api Tutorial and Reference. Addison-Wesley Professional, 2003.

[FC99]

[FEB03]

BIBLIOGRAFIE [Fer89]

173

J. Ferber. Objects et agents: une etude des structures de representation et de communications en Intelligence Articielle. PhD thesis, Lniveriste Pierre et Marie Currie, Paris 6, 1989. E. Friedman-Hill. Jess: The rule engine for the java platform. http://herzberg.ca.sandia.gov/jess. N.V. Findler. Associative Networks. New York: Academic Press, 1979. Foundation for Intelligent Physical Agents (FIPA). http://www.pa.org. [Online; accessed 10-January-2006]. Foundation for intelligent physical agents (FIPA) TC Modeling. Fipa modeling: Interaction diagrams. http://www.auml.org/auml/documents/ID-03-07-02.pdf, 2003. D.L. Fisher. Data, documentation and decision tables. Comm ACM, 9(1):2631, 1966. D.H. Fisher. Knowledge acquisition via incremental conceptual clustering. Machine Learning, 1987. J.H. Friedman, R. Kohavi, and Y. Yun. Lazy decision trees. Proceedings of the AAAI, page 8, 1996. W.J. Frawley, G. Piatetsky-Shapiro, and C. Matheus. Knowledge discovery in databases: An overview. In G. Piatetsky-Shapiro and W. J. Frawley, editors, Knowledge Discovery In Databases, pages 130. AAAI Press/MIT Press, 1991. J.A. Witlox Frank. Towards multidimensional fuzzy decision tables as a modelling approach. UFSIA, page 37, 2000. J.H. Friedman. A recursive partitioning decision rule for nonparametric classiers. IEEE Trans. on Comp., pages C26:404408, 1977. P. Frot. Trois systemes experts en turbo pascal. Sybex, 1987. J. Grzymala-Busse. Dempster-shafer theory interpretation of rough set approach to knowledge acquisition under uncertainty. Technical report, Univerity of Kansas, 1989. Chris Giannella, Ruchita Bhargava, and Hillol Kargupta. Multi-agent systems and distributed data mining. Lecture Notes in Computer Science, 3191:1 15, 2004. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: elements of object-oriented software. Addison-Wesley, 1994. J. Giarratano. CLIPS Users Guide, Volume 1-2. Johnson Space Center NASA, 1993.

[FH] [Fin79] [fIPAF] [paFTM03]

[Fis66] [Fis87] [FKY96] [FPSM91]

[Fra00] [Fri77] [Fro87] [GB89]

[GBK04]

[GHJV94] [Gia93]

174 [GM93]

BIBLIOGRAFIE Giovanni Guida and Giancarlo Mauri. Evaluating performance and quality of knowledge-based systems: Foundation and methodology. IEEE Trans. Knowl. Data Eng., 5(2):204224, 1993. Salvatore Greco, Benedetto Matarazzo, and Roman Slowinski. Rough sets theory for multicriteria decision analysis. European Journal of Operational Research, (129), 2001. J. Gehrke, R. Ramakrishnan, and V. Ganti. Rainforest a framework for fast decision tree construction of large datasets. Proc. of the 24nd Intl Conference on Very Large Databases, 1998. Johannes Gehrke, Raghu Ramakrishnan, Venkatesh Ganti, and Wei-Yih Loh. Boat: Optimistic decision tree construction. ACM SIGMOD, 1999. Object Management Group. Unied modeling http://www.uml.org. [Online; accessed 10-January-2006]. Jurgen Gro. Linear Regression. Springer-Verlag, 2003. Data Mining Group. Pmml 3.1 specication. 1/GeneralStructure.html, 2005. http://www.dmg.org/v3language (uml).

[GMS01]

[GRG98]

[GRGL99] [Gro] [Gro03] [Gro05a] [Gro05b] [Gro06] [GS] [GS85] [GS92] [GSH02] [GSK94] [GTOB05]

XML Group. Xml website. http://www.xml.org, 2005. Data Mining Group. Dmg website. http://www.dmg.org, 2006. M. Gawrys and J. Sienkiewicz. http://rsds.wsiz.rzeszow.pl. Rough set library (rsl).

J. Gordon and E.H. Shortlie. A method of managing evidential reasoning in a hierarchical hyphothesis space. Artical Intellgence, 26:323357, 1985. D. Gelbart and J.C. Smith. Towards combining automated text retrieval and case-based expert legal advice. Law Technology Journal, 1(2):11, 1992. Marina Guetova and Hans-Peter Strr Steen Hlldobler. Incremental fuzzy o o decision trees. German Conference on Articial Intelligence, 2002. M.R. Genesereth, S.P., and Ketchpel. Software agents. Communication of the ACM, 37(7), 1994. Amel Grissa-Touzi, Habib Ounally, and Aissa Boulila. Visual jess: An expandable visual generator of oriented object expert systems. TRANSACTIONS ON ENGINEERING, COMPUTING AND TECHNOLOGY, 5:290 293, April 2005. Perry Groot, Annette ten Teije, and Frank van Harmelen. A quantitative analysis of the robustness of knowledge-based systems through degradation studies. Knowledge and Information Systems, 2003.

[GtTvH03]

BIBLIOGRAFIE [GVV00]

175

A.M. Moreno Garcia, M. Verhelle, and J. Vanthienen. An overview of decision table literature. Proc. of the 5th Intl. Conf. on Articial Intelligence and Emerging Technologies in Accounting, Finance and Tax, page 132, 2000. T.P. Hong and J.B. Chen. Processing individual fuzzy attributes for fuzzy rule induction. Fuzzy Sets and Systems, 112(1):127140, 2000. L.M. Haas, W. Chang, G.M. Lohman, J. McPherson, P.F. Wilms, G. Lapis, B.G. Lindsay, H. Pirahesh, M.J. Carey, and E. J. Shekita. Starburst mid-ight: as the dust clears. IEEE Transactions on Knowledge and Data Engineering, 2(1):143160, 1990. K.A. Horn, P. Compton, L. Lazarus, and J.R. Quinlan. An expert computer system for the interpretation of thyroid assays in a clinical laboratory. Australian Computer Journal, 17:711, 1985. James A. Highsmith. Adaptive Software Development: A Collaborative Approach to Managing Complex Systems. Dorset House Publishing Company, Inc., 1999. Jiawei Han, Jian Pei, and Yiwen Yin. Mining frequent patterns without candidate generation. ACM SIGMOD Conf. Management of Data, 2000. Sivakumar Harinath and Stephen R. Quinn. Professional SQL Server Analysis Services 2005 with MDX. Wiley, 2005. L. Hyal and R.L. Rivest. Constructing optimal binary decision trees is np complete. Information Processing Letters, 5(1):1517, 1976. H.C. Howard and D.R. Rehak. Kadbase: Interfacing expert systems with databases. IEEE Expert 1989, 4(3):6576, 1989. J.F. Horty, R.H. Thomason, and D.S. Touretzky. A skeptical theory of inheritance in nonmonotonic semantic nets. Proc. of National Conference on Articial Intelligence, pages 358363, 1987. IBM. Ibm clear case. http://www-306.ibm.com/software/awdtools/clearcase/. [Online; accessed 25-April-2006]. ILOG. Ilog jrules. http://www.ilog.com, 2005. Ingenias. http://grasia.fdi.ucm.es/ingenias. [Online; accessed 3-March-2006]. Purple Insight. Mineset. http://www.purpleinsight.com. ISO/IEC Standard ISO-9126. Software product evaluation- quality characteristics and guidelines for their use, 2001. T.B. Iwinski. Algebraic approach to rough sets. Bull. Polish Acad. Sci. Math., (35):673 683, 1987.

[HC00] [HCL+ 90]

[HCLQ85]

[Hig99] [HPY00] [HQ05] [HR76] [HR89] [HTT87]

[IBM] [ILO05] [Ing] [Ins] [ISO01] [Iwi87]

176 [Jac99] [JCV84] [JL95]

BIBLIOGRAFIE Peter Jackson. Introduction to Expert Systems. Addison-Wesley, 1999. M. Jarke, J. Cliord, and Y. Vassiliou. An optimizing prolog front-end to a relational query system. Proc. of SIGMOD 84, 14:296306, 1984. G. H. John and P. Langley. Estimating continuous distributions in bayesian classiers. In P. Besnard and S. Hanks, editors, Proc. 11th Conference on Uncertainty in Articial Intelligence, pages 338 345. Morgan Kaufmann, 1995. A.K. Jain, M.N. Murty, and P.J. Flynn. Data clustering: A review. ACM, 1:160, 2000. JUnit. http://www.junit.org. [Online; accessed 18-May-2006]. JURIX. http://wwww.jurix.nl. [Online; accessed 5-February-2006]. H. Juidette and H. Youlal. Fuzzy dynamic path planning using genetic algorithms. Electronics Letters, 36(4):374376, 2000. A. Kalousis. Algorithm Selection via Meta-Learning. PhD thesis, University of Geneve, 2002. Stephen H. Kan. Metrics and Models in Software Quality Engineering. Addison Wesley Long man, Inc., 1995. M. Kantardzic. Data Mining. Concepts, Models, Methods and Algoritms. John Wiley and Sons Inc, 2003. Fukunaga Keinosuke. Introduction to Statistical Pattern Recognition. Academic Press, 1990. A. Kalousis and M. Hilario. Model selection via meta-learning: a comparative study. In Proceedings of the 12th International IEEE Conference on Tools with AI, IEEE Press, 2000. M. Kiang. A comparative assessment of classication methods. Decision Support Systems, (35):441454, 2003. P.J.H. King and R.G. Johnson. Conversion of decision table programs to sequential testing procedures. Computer Journal, (18):298306, 1975. Telecom Italia Labs. Jade java agent development http://jade.tilab.com. [Online; accessed 10-January-2006]. framework.

[JMF00] [JUn] [JUR] [JY00] [Kal02] [Kan95] [Kan03] [Kei90] [KH00]

[Kia03] [KJ75] [Lab] [LAD04] [Lar04]

M. Luck, R. Ashri, and M. DInverno. Agent-Based Software Development. Artech House Publishers, 2004. Craig Larman. Agile and Iterative Development: A Managers Guide. Pearson Education, New York, 2004.

BIBLIOGRAFIE [Lee92] [Lew78] [LHH+ 05]

177

Seong-Whan Lee. Noisy hangul character recognition with fuzzy tree classier. Proc. of SPIE, pages 127136, 1992. A. Lew. Optimal conversion of extendedentry decision tables with general cost criteria. Communications of the ACM, (21):26979, 1978. Ping Luo, Rui Huang, Qing He, Fen Lin, and Zhongzhi Shi. Execution engine of meta-learning system for kdd in multi-agent environment. Technical report, Institute of Computing Technology, Chinese Academy of Sciences, 2005. Tjen-Sien Lim, Wei-Yin Loh, and Yu-Shan Shih. An empirical comparison of decision trees and other classication methods. Technical Report 979, Department of Statistics, University of Wisconsin, Madison, June 1997. T. Lim, W. Loh, and Y. Shih. An empirical comparison of decision trees and other classication methods. Technical report, University of Madison, 1998. W.Y. Loh and Y.S. Shih. Split selection methods for classication trees. Statistica Sinica, 7(4), 1997. G. Lindner and R. Studer. Ast: Support for algorithm selection with a cbr approach. In Proc. of the 3rd European Conf. on PKDD, pages 418 423, Prague, Czech Republic, 1999. W.Z. Liu and A. White. Bias in informationbased measures in decision tree induction. Machine Learning, 15:321329, 1994. W.Z. Liu and A. White. The importance of attribute selection measures in decision tree induction. Mach. Learn., (15):2541, 1994. J. Liebowitz and J.S. Zeide. Evident: an expert system prototype for helping the law student learn admissibility of evidence under the federal rules. Computers & Education, 11(2):113120, 1987. J. Magidson. The chaid approach to segmentation modeling. Handbook of Marketing Research, 1993. M. Mehta, R. Agrawal, and J. Rissanen. Sliq: A fast scalable classier for data mining. Proc. of the 5th Intl Conference on Extending Database Technology, 1996. Project METAL. http://www.metal-kdd.org. [Online; accessed 1-April-2006]. J. McCarthy and P. Hayes. Some philosophical problems from the stanpoint of articial intelligence. Machine Intelligence, 4:463502, 1969. S.G. Miskell, N. Happell, and C. Carlisle. Operational evaluation of an expert system: The esta approach, heuristics. The Journal of Knowledge Engineering, 2, 1989.

[LLS97]

[LLS98] [LS97] [LS99]

[LW94a] [LW94b] [LZ87]

[Mag93] [MAR96]

[MET] [MH69] [MHC89]

178 [Mica] [Micb] [Micc] [Mic93]

BIBLIOGRAFIE Microsoft. Microsoft visual source safe. http://msdn.microsoft.com/vstudio/ previous/ssafe/. [Online; accessed 25-April-2006]. Sun Microsystems. Java http://java.sun.com/products/jsp/. Sun Microsystems. guide/jdbc/. Jdbc api guide. server pages (jsp) technology.

http://java.sun.com/j2se/1.5.0/docs/

R. Michalski. Toward a unied theory of learning: multistrategy task-adaptive learning. In B.G. Buchanan and D.C. Wilkins, editors, Readings in Knowledge Acquisition and Learning, pages 738. Morgan Kaufman, 1993. Sun Microsystems. Javadoc. http://java.sun.com/j2se/javadoc, 2006. [Online; accessed 10-May-2006]. M. Minsky. Computation: Finite and Innite Machines. Prentice-Hall, 1972. M. Minsky. A framework for representing knowledge. In P. Winston, editor, The psychology of Computer Vision, pages 211277. McGraw Hill, 1975. John Mingers. Expert systems rule induction with statistical data. Journal of the Operations Research Society, 38:3947, 1987. John Mingers. An empirical comparison of pruning methods for decisiontree induction. Mach. Learn., (4):227243, 1989. John Mingers. An empirical comparison of selection measures for decisiontree induction. Mach. Learn., (3):319342, 1989. Tom Mitchell. Machine Learning. McGraw-Hill, 1997. Advait Mogre, Robert McLaren, James Keller, and Raghuram Krishnapuram. Uncertainty management for rule-based systems with application to image analysis. IEEE Trans. on Systems, Man and Cybernetics, 24(3):470 481, 1994. R.S. Michalski, T.W. Mitchel, T.M. Mitchell, George Tecuci, and J. Carbonell. Machine Learning: An Articial Intelligence Approach. Morgan Kaufmann, 1983. Stefan Mruter, Viorel Negru, Dana Petcu, and Clin Sandru. Intelligent front a s a end for solving dierential and non-linear equations. Journal of Mathematical Sciences, 108(6):1139 1151, March 2002. Lynn Monson. Algorithm alley column: C4.5. Dr. Dobbs Journal, Jan 1997. B.E. Moret. Decision trees and diagrams. Computing Survey, (14):593623, 1982.

[Mic06] [Min72] [Min75] [Min87] [Min89a] [Min89b] [Mit97] [MMKK94]

[MMM+ 83]

[MNPS02]

[Mon97] [Mor82]

BIBLIOGRAFIE [MP94]

179

Patrick M. Murphy and Michael J. Pazzani. Exploring the decision forest: An empirical investigation of Occams razor in decision tree induction. Journal of Articial Intelligence Research, 1:257275, 1994. M. Mehta, J. Rissanen, and R. Agrawal. Mdlbased decision tree pruning. Proc. of the Intl Conference on Knowledge Discovery in Databases, 1995. D. Michie, D. Spiegelhalter, and C.C. Taylor. Machine learning, neural and statistical classication. Prentice Hall, 1994. A. Mller. Fast sequential and parallel algorithms for association rule mining: u A comparison. Technical Report CS-TR-3515, University of Maryland, 1995. S.K. Murthy. On growing better decision trees from data. PhD thesis, Department of Computer Science, Johns Hopkins University, Baltimore, Maryland, 1995. Sreerama K. Murthy. Automatic construction of decision trees from data: A multi-disciplinary survey. Data Mining and Knowledge Discovery, 2(4):345389, 1998. Magid Nikraz, Giovanni Caire, and Parisa A. Bahri. A methodology for the analysis and design of multi-agent systems using jade, 2006. NDoc. http://ndoc.sourceforge.net, 2006. [Online; accessed 10-May-2006]. Viorel Negru. Non-linear equations systems solver. In A. M. Ramsay, editor, Proceedings of the International Conference on Articial Intelligence, Methodology, Systems, Applications, AIMSA 96, pages 330 339, Sozopol, Bulgaria, September 1996. IOS Press. Viorel Negru. Object-centered knowledge system. A distributed model for problem solving. PhD thesis, Faculty of Mathematics and Computer Science, University Babe-Bolyai of Cluj, Cluj-Napoca, Romnia, July 1996. s a D. Nabil, A. EL-Korany, and A.S. Eldin. Quality measuring model for kadsbased expert systems. Proc. of Computational Intelligence, 2005. D.T. Nguyen and T.B. Ho. An interactivegraphic system for decision tree induction. Journal of Japanese Society for Articial Intelligence, 14:131138, 1999. D.T. Nguyen, T.B. Ho, and H. Shimodaira. A visualization tool for interactive learning of large decision trees. Proceedings of the 12th IEEE International Conference on Tools with Articial Intelligence, ICTAI00, pages 2835, 2000. J. Nieminen. Rough tolerance equality. Fundamenta Informaticae, 3(11):289 296, 1988.

[MRA95] [MST94] [Ml95] u [Mur95]

[Mur98]

[NCB06] [NDo06] [Neg96a]

[Neg96b]

[NEKE05] [NH99]

[NHS00]

[Nie88]

180 [Nil80] [NMS98]

BIBLIOGRAFIE N.J. Nilsson. Principles of Articial Intelligence. Palo Alto, CA: Tioga, 1980. Viorel Negru, Stefan Mruter, and Clin Sandru. Intelligent system for non a s a linear simultaneous equations solving. Technical Report RISC-Linz Report Series No.98-19, Research Institute for Symbolic Computation, RISC, 1998. H.S. Nwana, D.T. Ndumu, L.C. Lee, and J.C. Collis. ZEUS: a toolkit and approach for building distributed multi-agent systems. In Oren Etzioni, Jrg P. o Mller, and Jerey M. Bradshaw, editors, Proceedings of the Third International u Conference on Autonomous Agents (Agents9), pages 360361, Seattle, WA, USA, 1999. ACM Press. M. NovotnY and Z. Pawlak. On a problem concerning dependence spaces. Fundamenta Informaticae, (16):275 287, 1992. A. Newell and H.A. Simon. Human Problem Solving. Prentice-Hall, 1972. Viorel Negru, Clin Sandru, and Daniel Pop. Matops a generic multi-agent a problem solving architecture. Technical report, Institute e-Austria, 2005. A. Obtulowicz. Rought sets and heyting algebra valued sets. Bull. Pol. Acad. Sci. Math., (35):667 673, 1988. J. Odell. Objects and agents: how do they dier? Journal of Object-Oriented Programming, (10), 2000. D.E. Oeary. Design, development and validation of expert systems: A survey of developers. In Ayel M. and Laurent J.P., editors, Validation, Verication and Test of Knowledge-Based Systems, pages 320. Wiley, 1991. R.A. Orchard. Fuzzyclips users guide, 1998. R. Orchard. Fuzzy reasoning in jess: The fuzzy j toolkit and fuzzy jess. Proceedings of the Third International Conference on Enterprise Information Systems (ICEIS 2001), pages 533542, 2001. University of Waikato. Weka framework. http://www.cs.waikato.ac.nz/ml/weka/. [Online; accessed 3-May-2006]. P. Pagliani. A pure logico-algebraic analysis on rough top and rough bottom equalities. In W. Ziarko, editor, Rough Sets, Fuzzy Sets and Knowledge Discovery 93, pages 227 236. Springer-Verlag, 1994. Zdzislaw Pawlak. Rough Sets: Theoretical Aspects of Reasoning About Knowledge. Kluwer Academic Publishers, 1991. J. Phillips and B. Buchanan. Ontology-guided knowledge discovery in databases. Proc. of the International Conference on Knowledge Capture, 2001.

[NNLC99]

[NP92] [NS72] [NSP05] [Obt88] [Ode00] [O91]

[Orc98] [Orc01]

[oW] [Pag94]

[Paw91] [PB01]

BIBLIOGRAFIE [PBC00]

181

B. Pfahringer, H. Bensusan, and C.G. Carrier. Meta-learning by landmarking various learning algorithms. In Proc. of the 17th Int. on Machine Learning, pages 743 750, San Francisco, USA, 2000. J.S. Park, M. Chen, and P.S. Yu. An eective hash based algorithm for mining association rules. ACM SIGMOD Intl. Conf. Management of Data, 1995. J. Pearl. Heuristics. Intelligent search strategies for computer problem solving. Addison-Wesley, 1985. J. Pearl. On evidential reasoning in a hierarchy of hypptheses. Articial Intelligence, 28:915, 1986. Nigel Pendse. The olap report. http://www.olapreport.com/market.htm. Juan Pavn and Jorge Gmez-Sanz. Agent oriented software engineering with o o ingenias. In V. Maik et al., editor, Lecture Notes in Articial Intelligence; r Proc. of CEEMAS 2003, volume 2691, pages 394403. Springer Verlag, Berlin Heidelberg, 2003. phpBugTracker. http://phpbt.sourceforge.net/. [Online; accessed 18-Feburary2006]. Daniel Pop, Ciprian Jichici, and Viorel Negru. A combintive method for decision tree construction. In Proc. of the 7th Intl. Workshop on Symbolic and Numeric Algorithms for Scientic Computing, SYNASC 2005, pages 139146, Timioara, s Romnia, September 25 - 29 2005. IEEE Computer Society Press. a F. J. Provost and V. Kolluri. A survey of methods for scaling up inductive algorithms. Data Mining and Knowledge Discovery, 3(2):131169, 1999. W.D. Potter, K.J. Kochut, J.A. Miller, V.P. Gandham, and R.V. Polamraju. The evolution of the knowledge/data model. International Journal of Expert Systems, Research and Applications, (6):3981, 1993. Daniel Pop and Viorel Negru. Intertranslability of representation forms in classication. In Proc. of the International Symposium SINTES, volume 10, pages 120123, 2000. Daniel Pop and Viorel Negru. Knowledge management in expert system creator. In D. Scott, editor, Lecture Notes in Computer Science, LNAI 2443; Proc. of the 10th Intl. Conf. AIMSA 2002, Varna, Bulgaria, pages 233242. Springer Verlag, 2002. Daniel Pop and Viorel Negru. Towards a knowledge integration system. Proc. of the Intl. Symposium in Symbolic and Numeric Algorithms for Scientic Computing, SYNASC 2002, pages 280291, 2002.

[PCY95] [Pea85] [Pea86] [Pen] [PGS03]

[php] [PJN05]

[PK99] [PKM+ 93]

[PN00]

[PN02a]

[PN02b]

182 [PN02c]

BIBLIOGRAFIE Daniel Pop and Viorel Negru. Towards a knowledge integration system. In Annals of the University of Timioara, Mathematical and Computer Science series, s volume XL, pages 213 229. West University of Timioara, 2002. [Extended s and revised version]. Daniel Pop and Viorel Negru. An extensible environment for expert system development. In V. Palade, R.J. Howlett, and L.C. Jain, editors, Lecture Notes in Computer Science, LNAI 2773; Proc. of the 7th Intl. Conf. on KnowledgeBased Intelligent Information & Engineering Systems KES2003, Oxford, UK, pages 10161022. SpringerVerlag, Berlin Heidelberg, 2003. Daniel Pop and Viorel Negru. Debugging and verication of expert systems. Technical Report 04-08, Institute e-Austria, 2004. Daniel Pop, Viorel Negru, and Horia Popa. Esdb system: Combining expert system shells with database management systems. In Proc. of the Intl. Conf. ECIT 2002, page 5, Iai, Romnia, July 14-17 2002. s a Daniel Pop, Viorel Negru, and Clin Sandru. Multi-agent architecture for knoa wledge discovery. In Proc. of the 8th Intl. Workshop on Symbolic and Numeric Algorithms for Scientic Computing, SYNASC 2006, Timioara, Romnia, Seps a tember 26 - 29 2006. [Submitted for evaluation]. S.L. Pollack. Detabx: An improved businessoriented computer language. Rand Corp. Memo RM3273PR, 1962. Daniel Pop. A visual expert system developer tool. In Annals of the University of Timioara, Mathematical and Computer Science series, volume XXXVIII s (2), pages 141150. West University of Timioara, 2000. [Extended and revised s version]. Daniel Pop. A visual expert system developer tool. Proc. of the 2nd Intl. Workshop SYNASC 2000, Timioara, 1:4244, 2000. s Daniel Pop. Towards a knowledge integration system. Technical report, West University of Timioara, 2001. published in Distributed computing models for s complex problem solving (part I), Research report, Computer Science Department, December 2001. Daniel Pop. Expert system creator: A visual tool for expert systems construction. Proc. of the 24th Intl. Conf. Information Technology and Interfaces, ITI 2002, pages 217222, 2002. Daniel Pop. Extensible environment for knowledge representation and reasoning. Technical report, West University of Timioara, 2002. Referat no. 2. s Daniel Pop. Intelligent technologies for database systems: Data mining. Technical report, West University of Timioara, 2002. Referat no. 1. s

[PN03]

[PN04] [PNP02]

[PNS06]

[Pol62] [Pop00a]

[Pop00b] [Pop01]

[Pop02a]

[Pop02b] [Pop02c]

BIBLIOGRAFIE [Pop02d]

183

Daniel Pop. A survey of parallel and distributed algorithms in data mining. Technical report, West University of Timioara, 2002. published in Distribus ted computing models for complex problem solving (part II), Research report, Computer Science Department, April 2002. Daniel Pop. A characterization of region of experience based on association rules. Technical report, Institute e-Austria, 2006. Daniel Pop. Contributions to decision trees and tables models. In Analele Universitii de Vest din Timioara, Seria Matematic-Informatic, volume 44. at s a a West University of Timioara, 2006. [To appear]. s E.L. Post. Formal reductions of the general combinatorial decision problem. American Journal of Mathematics, 65:197268, 1943. A. Preece. Validation of knowledge-based systems: The state-of-the-art in north america. Journal for the Integrated Study of Articial Intelligence Cognitive Science and Applied Epistomology, 11(4), 1994. KRYSALIS Community Project. http://krysalis.org. [Online; accessed 25-April2006]. W.D. Potter, R.P. Trueblood, and C.M. Eastman. Hyper-semantic data modelling. Data and Knowledge Engineering, (4):6990, 1989. F. Quarta. How to use the xml support http://jade.tilab.com/doc/tutorials/XMLCodec.html, 2003. with jade.

[Pop06a] [Pop06b]

[Pos43] [Pre94]

[Pro] [PTE89] [Qua03] [Qui79] [Qui82] [Qui86] [Qui89] [Qui90]

W.V.O. Quine. Methods of Logic. London: Routledge Kegan Paul, 1979. J.R. Quinlan. Semiautonomous acquisition of pattern based knowledge. Machine Intelligence, 10:159172, 1982. J.R. Quinlan. Induction of decision trees. Machine Learning, 1(1):81106, 1986. J.R. Quinlan. Unknown attribute values in induction. Proc. of the Sixth Int. Workshop on Machine Learning, pages 164168, 1989. J.R. Quinlan. Probabilistic decision trees. In R.S. Michalski and Y. Kodrato, editors, Machine Learning: An Arti cial Intelligence Approach, volume 3. Morgan Kaufmann, San Mateo, CA, 1990.

[Qui93] [RBL+ 91] [RM05]

J.R. Quinlan. C4.5: Programs For Machine Learning. Morgan Kaufmann, 1993. J. Rumbaugh, M.R. Blaha, W. Lorensen, F. Eddy, and W. Premerlani. Object Oriented Modeling and Design. Prentice Hall, 1991. Lior Rokach and Oded Maimon. Top-down induction of decision trees classiersa survey. IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART C: APPLICATIONS AND REVIEWS, 35(4), 2005.

184 [ROO06] [RS98] [RSB91]

BIBLIOGRAFIE ROOT. http://root.cern.ch, 2006. [Online; accessed 10-May-2006]. R. Rastogi and K. Shim. Public: A decision tree classier that integrates pruning and building. Proc. of the Intl Conference on Very Large Databases, 1998. L. De Raedt, G. Sablon, and M. Bruynooghe. Using interactive concept learning for knowledge-base validation and verication. Valiation, Verication and Test of Knowledge-based systems, pages 177190, 1991. K.D. Reilly, A. Salah, and C-C Yang. A logic programming perspective on decision table theory and practice. Data and Knowledge Engineering, (2):191 212, 1987. Clin Sandru. Arhitectur multi-agent utiliznd un rationament orientat task a a a pentru rezolvarea problemelor. PhD thesis, Facultatea de Matematic, West a University of Timioara, Timioara, Romnia, July 2004. s s a J. Shafer, R. Agrawal, and M. Mehta. Sprint: A scalable parallel classier for data mining. Proc. of the 22nd Intl Conference on Very Large Databases, 1996. Ken Schwaber. Agile Project Management with Scrum. Microsoft Press, 2004. U. Sinha, J. Dionisio, B.M.S. Dai, G.B.S. Tashima, J.M.S. Valdez, and H.M.D. Kangarloo. Decision table formalism for guideline representation of cholesterol management: Application to patient/physicians collaborative path for risk reduction of heart disease. Proc. of AMIA99, page 2, 1999. Padhraic Smyth, Alexander Gray, and Usama M. Fayyad. Retrotting decision tree classiers using kernel density estimation. In Proc. of 12th International Conference on Machine Learning, pages 506 514. Morgan Kaufmann, 1995. C.E. Shannon. The Mathematical Theory of Communication. University of Illinois Press, 1949. Glenn Shafer. A Mathematical Theory of Evidence. Princeton University Press, 1976. S. Shlien. Multiple binary decision tree classiers. 7(23):757763, 1990. Pattern Recognition,

[RSY87]

[Sa04]

[SAM96] [Sch04] [SDD+ 99]

[SGF95]

[Sha49] [Sha76] [Shl90] [SHM98] [Sho76] [Sho93]

C.L. Blake S. Hettich and C.J. Merz. UCI repository of machine learning databases, 1998. E.H. Shortlie. Computer-Based Medical Consultations: MYCIN. Elsevier New York, 1976. Y. Shoham. Agent oriented programming. Articial Intelligence, 60(1):5192, 1993.

BIBLIOGRAFIE [Shw71]

185

K. Shwayder. Conversion of limitedentry decision tables to computer programs a proposed modication to pollacks algorithm. Communications of the ACM, 14:6973, 1971. K. Shwayder. Extending the information theory approach to converting limited entry decision tables to computer programs. Communications of the ACM, 17:532537, 1974. Suzanne Smith and Abraham Kandel. Verication and Validation of Rule-Based Expert Systems. CRC Press, 1993. David M. Skapura. Building Neural Networks. Addison-Wesley Professional, 1996. Andreas L. Symeonidis and Pericles A. Mitkas. Agent Intelligence Through Data Mining. Springer, 2005. J.W. Shavlik, R.J. Mooney, and G. G. Towell. Symbolic and neural learning algorithms: an experimental comparison. Machine Learning, 6:111143, 1991. Clin Sandru, Viorel Negru, and Daniel Pop. Task-oriented multi-agent system. a In Proceedings of HUNABC, 1st Hungarian Conference on Agent Based Computing, selected full papers published in Agents Everywhere, G. Tatai, L. Gulyas (eds), Springer, pages 8899, Budapest, Hungary, May, 29-31 1998. Clin Sandru, Viorel Negru, and Daniel Pop. Intermediating commerce transa actions using multi-agent techniques. In Edward Nawarecki Barbara DuninKeplitz, editor, Proceedings of the 2nd International Workshop of Central and Eastern Europe on Multi-Agent Systems, CEEMAS 01, pages 377385, Kracow, Poland, 2001. Leyko Pbs., ISBN 83-915953-0-7. Clin Sandru, Viorel Negru, and Daniel Pop. A multi-agent model on task a oriented reasoning. In Proceedings of International Symposium on Numerical Analysis and Symbolic Computation, SYNASC 2001. Also published as RISC Linz report 01-20, pages 8995, Timioara, Romnia, 2001. s a Clin Sandru, Viorel Negru, and Daniel Pop. A multi-agent model on task a oriented reasoning. In Annals of the University of Timioara, Mathematical and s Computer Science series, volume XXXIX (2), pages 217 228. West University of Timioara, 2001. [Extended and revised version]. s Clin Sandru, Viorel Negru, and Daniel Pop. A multi-agent approach to a sales a optimization application. In Proceedings of the 14th International Conference on Control Systems and Computer Science (CSCS-14), pages 388393, Bucharest, Romania, 2003. Clin Sandru, Viorel Negru, and Daniel Pop. A multi-agent problem solving a architecture based on upml. In M. H. Hamza, editor, Proc. of the IASTED

[Shw74]

[SK93] [Ska96] [SM05] [SMT91] [SNP98]

[SNP01a]

[SNP01b]

[SNP01c]

[SNP03]

[SNP05]

186

BIBLIOGRAFIE International Conference on Articial Intelligence and Applications, AIA 2005, pages 597 602, Innsbruck, Austria, February 14-16 2005. Acta Press.

[Sofa] [Sofb] [Sofc] [Soh99]

Optimal Solution Software. http://www.optsol.at. [Online; accessed 15-May2006]. Optimal Solution Software. Expert system creator. http://www.optsol.at/site en/products/esc/. [Online; accessed 15-May-2006]. Optimal Solution Software. Optimal report generator. http://www.optsol.at/site en/products/org/. [Online; accessed 15-May-2006]. S. Sohn. Meta analysis of classication algorithms for pattern recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, (21):1137 1144, 1999. A. D. Solomon. The Essentials of Boolean Algebra. Research and Education Association, 1990. A. Savasere, E. Omiecinski, and S. Navathe. An ecient algorithm for mining association rules in large databases. Proc. of the 21st VLDB Conference, 1995. George Spoord. MDX Solutions: With Microsoft SQL Server Analysis Services. Wiley, 2001. Salvatore J. Stolfo, Andreas L. Prodromidis, Shelley Tselepis, Wenke Lee, Dave W. Fan, and Philip K. Chan. JAM: Java agents for meta-learning over distributed databases. In Knowledge Discovery and Data Mining, pages 7481, 1997. Carl-Erik Srndal, Bengt Swensson, and Jan Wretman. Model Assisted Survey a Sampling. Springer-Verlag, 1992. Kenneth Stanley. Learning concept drift with a committee of decision trees. Alan Stuart. Basic Ideas of Scientic Sampling. Hafner Publishing Company, New York, 1962. California Stanford University. Protg. http://protege.stanford.edu, 2006. e e SubVersion. http://subversion.tigris.org/. [Online; accessed 25-April-2006]. Richard S. Sutton. Learning to predict by the methods of temporal dierences. Machine Learning, 3:944, 1988. Concurrent Version System. http://www.cvshome.com. [Online; accessed 25April-2006]. GNU Revision Control System. [Online; accessed 25-April-2006]. http://www.gnu.org/software/rcs/rcs.html.

[Sol90] [SON95] [Spo01] [SPT+ 97]

[SSW92] [Sta] [Stu62] [SU06] [Sub] [Sut88] [Sysa] [Sysb]

BIBLIOGRAFIE [SZC+ 04]

187

Zhongzhi Shi, Haijun Zhang, Yong Cheng, Yuncheng Jiang, Qiujian Sheng, and Zhikung Zhao. Mage: An agent-oriented programming environment. In Proc. of the IEEE International Conference on Cognitive Informatics, pages 250 257, 2004. L. Todorovski and S. Dzeroski. Combining multiple models with meta decision trees. In Proc. of the 4rd European Conf. on PKDD, pages 54 64, 2000. YASU Technologies. Quickrules. http://www.yasutech.com/products/, 2005. R. Thomason. Netl and subsequent path-based inheritance theories. Computers Math. Applic., 23:179204, 1992. Erik Thomsen. OLAP Solutions: Building Multidimensional Information Systems. Wiley, 2002. Jerey J.P. Tsai, Alan Liu, Eric Juan, and Avinash Sahay. Knowledgebased software architectures: Acquisition, specication and verication. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 11(1):187201, 1999. Paul E. Utgo and Carla E. Brodley. An incremental method for nding multivariate splits for decision trees. Proc. of the Seventh Int. Conf. on Machine Learning, pages 5865, 1990. Paul E. Utgo, Neil C. Berkman, and Jeery A. Clouse. Decision tree induction based on ecient tree restructuring. Machine Learning, 26:544, 1997. Paul E. Utgo. Incremental induction of decision trees. Machine Learning, 4:161186, 1989. Paul E. Utgo. An improved algorithm for incremental induction of decision trees. In William W. Cohen and Haym Hirsh, editors, Machine Learning: Proc. of the Eleventh Int. Conf., Rutgers Univ., pages 318325. Morgan Kaufmann Pub. Inc., 1994. C.J. van Aart. Beangenerator. http://acklin.nl/beangenerator/, 2006. J. Vanthienen. Quality by design: Using decision tables in business rules. Business Rules Journal, 5(2):7, 2004. Anca Vermesan and Frans Coenen. Validation and Verication of Knowledge Based Systems - Theory, Tools and Practice. Springer; Kluwer Academic Publishers, 1999. J. Vanthienen and E. Dries. Illustration of the prologa decision table tool for specifying and implementing knowledge based systems, 1994.

[TD00] [Tec05] [Tho92] [Tho02] [TLJS99]

[UB90]

[UBC97] [Utg89] [Utg94]

[vA06] [Van04] [VC99]

[VD94]

188 [WAM97]

BIBLIOGRAFIE D. Wettschereck, D.W. Aha, and T. Mohri. A review and empirical evaluation of feature weighting methods for a class of lazy learning algorithms. Articial Intelligence Review, 11:273314, 1997. G.I. Webb. Further experimental evidence against the utility of Occams razor. Journal of Articial Intelligence Research, 4:397417, 1996. Ian H. Witten and Eibe Franck. Data Mining. Practical Machine Learning Tools and Techniques. Morgan Kaufmann Publishers, 2000. Ian H. Witten and Eibe Franck. Data Mining. Practical Machine Learning Tools and Techniques. 2nd Edition. Elsevier, 2005. Wikipedia. Junit wikipedia, the free encyclopedia. http://en.wikipedia.org/w/index.php?title=JUnit&oldid=49199367, 2006. [Online; accessed 18-May-2006]. M. Wooldridge and N.R. Jennings. Intelligent agents: theory and practice. The Knowledge Engineering Review, 10(2):115152, 1995. M. Wooldridge, N. R. Jennings, and D. Kinny. The gaia methodology for agentoriented analysis and design. Autonomous Agents and Multi-Agent Systems, 3(3):285312, 2000. Suh-Ying Wur and Yungho Leu. An eective boolean algorithm for mining association rules in large databases. Proc. of the 6th International Conference on Database Systems for Advanced Applications, 1998. M. Wooldridge. An Introduction to Multiagent Systems. John Wiley and Sons, 2002. Q.R. Wang and C.Y. Suen. Classication of chinese characters by phase feature and fuzzy logic search. Proc. Int. Conf. Chinese Inform. Processing, 1:133155, 1983. B. Wielinga, A. Schreiber, and J. Breuker. Kads: A modeling approach to knowledge engineering knowledge acquisition. Report vol.4, no.1, Esprite project, Report no.5248 KADS-II, 1992. Weili Wu, Hui Xiong, and Shashi Shekhar. Clustering and Information Retrieval. Kluwer Academic Publishers, 2003. Y. Yuan and M. J. Shaw. Induction of fuzzy decision trees. Fuzzy Sets and Systems, 69(2):125, 1995. L.A. Zadeh. Fuzzy logic and approximative reasoning. Synth`se, 30:407428, e 1975.

[Web96] [WF00] [WF05] [Wik06]

[WJ95] [WJK00]

[WL98]

[Woo02] [WS83]

[WSB92]

[WXS03] [YS95] [Zad75]

BIBLIOGRAFIE [Zad78] [ZK92] [ZO98] [ZPOL97]

189

L.A. Zadeh. Fuzzy sets as a basis for a theory of possibility. Fuzzy sets and systems, 1:328, 1978. L.A. Zadeh and J. Kacprzyk. Fuzzy Logic for the Management of Uncertainty. Wiley-Interscience, 1992. Mohamed J. Zaki and Mitsunori Ogihara. Theoretical foundations of association rules. Report, Computer Science Department, Univeristy of Rochester, 1998. M.J. Zaki, S. Parthasarathy, M. Ogihara, and W. Li. New algorithms for fast discovery of association rules. 3rd Intl. Conf. on Knowledge Discovery and Data Mining, 1997.