Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 28

UNIVERSITATEA DUNREA DE JOS DIN GALAI FACULTATEA DE ECONOMIE I ADMINISTRAREA AFACERILOR SPECIALIZAREA INFORMATIC ECONOMIC

Model semantic pentru reprezentarea cunotinelor n e-business

Conf. Univ. Dr. Ing. Mat. Mazilescu Vasile 2010-2011

Student: Muat Sorin

Abstract
Semantic knowledge representation is the key for the development of present intelligent systems. Furthermore, the Semantic Web provide a formal representation and knowledge driven set of technologies to enable automation of business processes. Despite the new trends on business process automation based on semantic technologies and Web Services, a number of business processes still require human intervention. In this paper is about the problem of ontology-based process representation based on experts knowledge, considering both tasks executed by means of web services and tasks executed by persons. In this way, fully automated and semi-automated processes (guided by a person) could be represented and executed. The proposed model is based on the set of situations that can be identified by an expert in a given process and the actions required in each situation. For validating this approach, a sales supporting system based on the proposed architecture has been developed. Cuvinte cheie: ontologie, proces de afaceri, e-business, asisten n vnzri, reprezentarea cunotinelor.

Cuprins
Introducere............................................................................................................ 4 Capitolul 1............................................................................................................. 5 0.1 Abordri bazate pe servicii web....................................................................5 0.2 Abordri bazate pe integrarea sistemelor.....................................................6 0.3 Abordri bazate pe managementul cunotinelor.........................................6 Capitolul 2............................................................................................................. 8 0.4 Definiile conceptelor....................................................................................8 0.4.1 Faptul...................................................................................................... 8 0.4.2 Aciunea..................................................................................................8 0.4.3 Verificarea..............................................................................................9 0.4.4 Situaia...................................................................................................9 0.4.5 Decizia................................................................................................... 9 0.4.6 Contextul..............................................................................................10 0.4.7 Definiia procesului..............................................................................10 0.5 Definiia ontologiei.....................................................................................10 0.6 Automatizarea proceselor...........................................................................15 0.7 Arhitectura sistemului bazat pe cunotine.................................................16 Studiu de caz .....................................................................................................19 (sistem de asisten al vnzrilor implementat ntr-o companie de distribuie)..19 0.8 Reprezentarea proceselor............................................................................20 Concluzii.............................................................................................................. 27 Bibliografie.......................................................................................................... 28

Model semantic pentru reprezentarea cunotinelor n e-business

Introducere
Evoluia tehnologiei informaiei i a tehnicilor de reprezentare a cunotinelor ajut la dezvoltarea de noi sisteme informatice bazate pe cunotine. Mai specific, dezvoltarea de ontologii permite crearea de sisteme informatice bazate pe cunotine ce sunt capabile de interaciune, redare i asistare n procesele de negociere. N. Guarino afirm c fiecare sistem informatic (simbolic) are propria sa ontologie, din moment ce atribuie sens simbolurilor utilizate n conformitate cu o anumit viziune asupra lumii. In prezent, o cantitate mare de efort este depus n crearea sistemelor informatice bazate pe ontologii ce sunt folosite n reprezentarea proceselor, schimbul de informaii i adnotarea resurselor. Cu toate acestea, caracteristicile noilor limbaje de reprezentare a ontologiilor orientate Web, cum ar fi OWL, faciliteaz definirea conceptualizrii generice care poate fi folosit n domenii multiple, facilitnd crearea de sisteme bazate pe Web capabile de automatizarea proceselor e-business. Obiectivul acestei lucrri este de a contribui cu o ontologie care permite reprezentarea proceselor de afaceri i cunotinele expertului care sunt n relaie cu aceste procese. Permite reprezentarea semantic a cunotinelor n scopul de a mprii aceste cunotine ntre organizaii i reutilizarea elementelor existente descrise prin intermediul ontologiei. Ontologia prezentat reprezint att cunotinele unui expert din domeniu, sub form de reguli, ct i cunotinele coninute n celelalte sisteme informatice utilizate n procesele de luarea deciziilor. Definirea aciunii se concentreaz pe execuia automat de servicii Web i interaciunea cu aplicaii prin interfee comune sau cu persoane prin intermediul unui browser Web. n plus, o arhitectur este introdus pentru a sprijini automatizarea proceselor i deciziilor bazate pe ontologia propus. Combinaia dintre ontologia propus i arhitectura implementat permite crearea rapid a proceselor automate de luare a deciziilor, care reprezint diferite procese de afaceri, fie c este vorba despre suport individual sau automat. Validitatea propunerii este susinut de un studiu de caz, adic de un sistem pentru suportul vnzrii. Aceast lucrare este mprit n capitole, primul capitol coninnd exemple a altor abordri n domeniu, comparnd abordrile deja existente cu abordarea prezentat n acest proiect. n capitolul doi sunt prezentate modelul bazat pe reprezentarea situaiilor i contextele identificate n procesele de afaceri. De asemenea sunt descrise ontologia, automatizarea proceselor bazate pe modelul propus, arhitectura sistemului bazat pe cunotine. n partea a treia este prezentat studiul de caz, adic sistemul de suport al vnzrilor bazat pe ontologia propus, iar n fianl concluziile.

Capitolul 1
n acest capitol vor fi prezentate diferite abordri i de asemenea cteva exemple de cercetri realizate n domeniu, bazate pe aceste abordri. Astfel capitolul a fost mprit n subcapitole n care sunt prezentate principalele abordri semantice pentru reprezentarea proceselor de afaceri i a cunotinelor asociate. Pe lng alte abordri bazate pe ageni i tehnici de inteligen artificial, ontologiile au fost fost aplicate pe scar larg n procesul de afaceri n ultimii ani i exist multe iniiative n aceast direcie. Web-ul semantic i serviciile Web-ului semantic ofer cadrul ideal pentru automatizarea proceselor bussiness. A. Leger afirm c sistemele bazate pe cunotine i cele bazate pe ontologii sunt tehnologii cheie pentru dezvoltarea de noi soluii e-commerce i ebusinesss, permind crearea de noi servicii, extinderea pieelor i chiar dezvoltarea de noi afaceri. Multe abordri au fost bazate pe metamodele precum Business Process Management Notation (BPMN) precum i pe reprezentarea semantic a reelelor petri. Principalele tendine bazate pe ontologii ale acestei probleme sunt bazate pe descrierea proceselor prin intermediul serviciilor web. n acest fel, multe cercetri sunt concentrate pe descrierea i orchestrarea serviciilor web. Cu toate acestea anumite sarcini nu pot fi executate prin intermediul serviciilor web i intervenia uman este necesar. Pe de alt parte, alte abordri bazate pe suportul decizilor sunt centrate pe managementul cunotinelor dect pe execuia proceselor.

0.1

Abordri bazate pe servicii web

Compoziia de servicii Web este una din abordrile folosite n prezent n automatizarea proceselor de afaceri. Adnotaiile semantice pot de asemenea contribui n aria de e-business i este o arie de studiu n care s-au facut progrese importante. Lautenbacher susine c modelele proceselor de afaceri pot fi extinse cu adnotaiile semantice. Compoziia i orchestrarea serviciilor web pot fi aplicate pentru mbuntirea nivelului de automatizare al proceselor de afaceri. S. Arroyo, M.-A. Sicilia, J.-M. Dodero n lucrarea Choreography frameworks for business integration: addressing heterogeneous semantics aplic scenariilor de integrare n afaceri un cadru coregrafic bazat pe semantica serviciilor web. D.Shen, G. Yu, Y. Kou, T. Nie, Z. Zhao n articolul Resolving heteregeneity of web-service composition in network manufacturing based on ontology propun o ontologie pentru rezolvarea conflictelor n domeniul serviciilor eterogene. Cu toate acestea, aceste abordri ale serviciilor web sunt centrate pe existena serviciilor web capabile s execute procesele, dar intervenia factorului uman ar putea fi necesar. n abordarea propus n aceast lucrare este luat n considerare posibilitatea interveniei umane, incluznd cunotinele expert prin mijloace de reprezentare a situaiilor proceselor i a deciziilor de luat. n articolul Situation-driven processes for semantic web services, S. Dietze, A. Gugliotta, J. Domingue propun un model pentru procesele conduse de situaii, bazat pe o ontologie pentru
5

descrierea situaiilor i scopurilor prin mijloacele serviciilor web. Aceast abordare ia n considerare punctul de vedere al utilizatorului n definirea procesului, dar este orientat ctre existena serviciilor web s execute procesul. Abordarea prezentat n aceast lucrare ia n considerare punctul de vedere al situailor proceselor, extinzndu-l cu conceptul de context i comportament n scopul de a oferi reutilizarea cunotinelor. Cu toate acestea, abordrile precizate sunt bazate pe utilizarea serviciilor web. Serviciile web permite automatizarea complet al proceselor, dar unele procese necesit intervenia uman. De asemenea cunotinele operaionale expert nu sunt clar reprezentate n abordrile revizuite.

0.2

Abordri bazate pe integrarea sistemelor

Una din problemele cu automatizarea proceselor de afaceri este integrarea difertelor sisteme. Aici ontologiile joac un rol fundamental n facilitarea interoperabilitii sistemelor implicate. Un sistem de integrare ntre diferite surse a fost propus de L. Bellatreche, N.X. Dung, G.Pierra, D. Hondjack n articolul Contribution of ontology-based data modeling to automatic integration of electronic catalogues within engineering database. Bellatreche a propus doi algoritmi de integrare bazai pe existena unei ontologii n care fiecare surs poate fi extins. Cu toate acestea, abordarea se concentreaz pe integrarea surselor de date n baza de date. Abordarea propus n acest proiect este bazat pe execuia de sarcini care pot implica recuperarea datelor sau simpla execuie a proceselor. Astfel datele pot fi recuperate prin mijloace de executarea a aciunilor, precum i alte sarcini pot fi executate prin intermediul att al serviciilor web ct i al activitilor umane. In aceast lucrare este propus un punct de vedere comun ntre integrarea sistemelor i cunotinele expert necesare pentru a realiza aceast integrare. B.Motik, A. Maedche, R.Volz au propus un model conceptual pentru crearea de aplicaii bazate pe ontologii folosind tehnologii existente i meta modelarea conceptelor. Acesta este un limbaj al ontologiei care permite scalabilitatea i integrarea, totui aceast abordare nu se axeaz pe probleme specifice proceselor de reprezentare a afacerilor din moment ce este orientat ctre modelarea conceptual a sistemului. Abordrile menionate sunt bazate pe integrarea ntre sisteme cu scopul de a rezolva probleme. Totui, aceste abordri sunt centrate pe interoperarea ntre sistemele software dect pe capturarea cunotinelor de specialitate i reprezentarea proceselor de afaceri. Modelul propus permite integrarea ntre sisteme prin intermediul unor aciuni speciale care reprezint interaciunea dintre motorul de inferen i alte sisteme de ntreprindere necesare pentru proces.

0.3

Abordri bazate pe managementul cunotinelor

M.T. Borges-Tiago, J.P Almeida-Couto, F. Gomes-Tiago, A. Cabral-Vieira n articolul Knowledge management: an overview of european reality concluzioneaz c
6

managementul cunotinelor bazate pe internet are un impact pozitiv asupra performanelor ebusiness.K.H. Han, J.W. Park afirm c pentru a gestiona cunotinele centrate pe procese, este esenial a stabili un model al cunotinelor care stabilete c gestionez diferite tipuri de cunotine de afaceri i creaz relaii ntre obiecte al cunotinelor ntr-o aa manier c sunt orientate ctre procese. Han i Park au propus un model al cunotinelor pentru descrierea proceselor de afaceri i sarcini necesare bazate pe ontologii de afaceri. Ei trateaz procesul n sine precum cunotine de companie, cu toate acestea abordarea este centrat pe managementul cunotinelor pentru suportul deciziilor dect pe procesul de automatizare. LY. Shue, C-W. Chen, W. Shiue au introdus un sistem expert bazat pe mprirea cunotinelor n domeniu de cunoatere i cunotine operaionale, aplicnd o ontologie pentru modelarea domeniului de cunoatere i a regulilor pentru reprezentarea cunostinelor operaionale. Dar aceasta este axat pe problema de rating financiar dect pe cunotine generice i reprezentarea proceselor. J. Ge, Y. Qiu, Z. Chen au prezentat un sistem de recomandare cooperativ bazat pe o ontologie de domeniu i o ontologie de inters al utilizatorului, propunnd un algoritm de rule mining pentru determinarea celor mai bune recomandri. Aceast abordare este axat pe recomandri, dar nu este adecvat n alte domenii. Abordarea propus n aceast lucrare combin reprezentarea sarcinilor ce urmeaz s fie fcut, cu cunotinele ce sunt n raport cu procesul. Chen i Sairamesh au prezentat un cadru pentru modelarea proceselor de afaceri bazat pe un model semantic de procesare a cunotinelor care poate integra cunotine de afaceri eterogene. Cu toate acestea, cadrul este axat pe evaluarea informaiilor de afaceri i a recomandrilor n ceea ce privete procesul de management. Dar o dat ce cunotinele sunt semantic reprezentate i structurate, astfel de modele de proces nu sunt executabile n majoritatea companiilor. O ontologie nu este suficient pentru a rezolva o problem dificil, aa c este necesar a reprezenta cum problema ar trebui s fie ideal rezolvat, legnd ontologiile de anumite cerine de rezolvare al domeniului de probleme. Unul dintre cele mai studiate domenii corespunde definiiei proceselor bazate pe definirea i orchestrarea serviciilor web. Alte abordri sunt bazate pe reprezentarea sarcinilor sau pe combinaia diferitelor domenii i ontologii de aplicaii n scopul de a defini cunotine. Majoritatea sistemelor informatice care au fost identificate sunt bazate pe ontologii de domeniu cu un cadru pentru execuia proceselor. Cu toatea acestea, avansarea combinaiei de cunotine cu procesele de afaceri este necesar. Ontologia prezentat combin cunotinele expert cu reprezentarea sarcinilor care pot fi executate prin intermediul serviciilor web, sisteme externe sau persoane. De asemenea, este propus un cadru bazat pe modelul de reprezentare a cunotinelor pentru suportul automatizrii proceselor de afaceri. Execuia proceselor reprezentate este o alt problem important n scopul de a obine automatizarea proceselor. In scopul de a sprijini execuia procesului, a fost dezvoltat o soluie pentru problem bazat pe web care implementez semantica fiecrui obiect definit de ontologie n scopul de a executa procesul definit.

Ontologia propus permite reprezentarea unui proces de decizie prin intermediul unui set de concepte care pot fi executate de soluia prezentat. Conceptele definite sunt aproape de limbajul tehnic non IA.

Capitolul 2
n prima parte a acestui capitol vor fi definite i prezentate conceptele specifice modelului propus. Agentul este definit ca entitatea care intervine n soluionarea proceselor unei probleme afectnd efectuarea de sarcini necesare. Modelul prezentat este bazat pe definirea soluionrii proceselor pentru o problem afectnd o succesiune de situaii n care un agent efectueaz o aciune specific. Bazat pe msurile luate, procesul se modific sub un set de condiii stabilite, ntr-o situaie nou n care este necesar s se ia msuri noi. Sub aceast descriere, fiecare dintre etapele ce apain definirii procesului este determinat de o situaie, cu alte cuvinte, de un set de condiii importante care determin starea n care problema va fi rezolvat. Aceste condiii sunt un set de date care sunt relevante la un moment dat pentru soluionarea problemei. Pentru a determina n ce situaie a aprut problema i ce etape ar trebui urmate, agentul care controleaz procesul ar trebui s tie condiiile eseniale ale problemei i s fie capabil s le evalueze pentru a lua decizia potrivit.

0.4

Definiile conceptelor
Faptul

0.4.1

Un fapt hi reprezint o singur secven de date din contextul unei probleme care este relevant procesului de soluionare. Seria tuturor faptelor hi este numit setul H. Fiecare etap a procesului este definit de un set Ht H format din toate faptele importante unei asemenea etape. S presupunem problema determinrii celui mai potrivit telefon pentru un client al unei companii de telecomunicaii. Faptele reprezint informaiile despre domeniul necesar pentru soluionarea problemei. In acest exemplu faptele reprezint caracteristicile care sunt relevante clientului pentru luarea deciziei asupra telefonului.

0.4.2

Aciunea

Aciunea ai reprezint o sarcin care urmeaz a fi executat n interiorul procesului. O aciune este efectuat ntr-o anumit stare t a proceselor, definite de un set de fapte Ht. Execuia aciunilor va schimba starea procesului, adugnd, eliminnd sau modificnd valorile faptelor, astfel genernd un set nou ai(Ht)Ht+1. Continund cu exemplu anterior, pentru determinarea telefonului potrivit pentru client, trei sarcini simple sunt necesare: ntreab clientul despre nevoile sale (de cte telefoane are nevoie, are nevoie de conexiune la internet, camer digital etc.), determin un set de telefoane potrivite pentru nevoile
8

clientului, arat produsele ce pot satisface nevoile clientului i selecteaz unul dintre ele, i n final ncheie vnzarea. Fiecare sarcin este reprezentat prin intermediul unei aciuni.

0.4.3

Verificarea

O verificare reprezint un set de condiii care determin dac este posibil de a continua un proces o dat ce aciunea a fost efectuat. O verificare produce valoarea adevrat dac condiiile verificrii sunt ndeplinite cu ajutorul seriei de fapte, sau fals dac acestea nu sunt ndeplinite. Asociate cu condiiile ce trebuie testate, verificarea determin dac un proces continu sau nu. Verficarea testeaz dac rezultatul unei aciuni este corect (poate nsemna c aciunea a fost executat corect sau c rezultatele sunt adecvate pentru continuare) i dac condiiile eseniale sunt adecvate pentru proces s continue. Astfel, verificrile sunt ntotdeauna efectuate o dat ce o anumit aciune a fost executat. Rezultatele determin dac procesul continu sau este oprit. n exemplu cu selcia telefonului mobil, dup prezentarea alternativelor clientului este necesar s se verifice dac clientul a ales una dintre ele. Dac clientul nu a selectat niciun telefon atunci procesul nu poate continua.

0.4.4

Situaia

Modelul propus definete situaia ca o serie de fapte relevante care determin mediul problemei la un moment particular. Bazat pe condiiile mediului i obiectivele stabilite ale proceselor, ntr-o situaie este necesar s iei msuri care conduc la soluia problemei sau care conduc la o alt situaie cu ajutorul creia soluia problemei poate fi gsit. Msurile luate n timpul situaiei schimb mediul problemei, atribuind sau modificnd valoarea setului de fapte. Continund cu exemplul anterior, n procesul selectrii celui mai potrivit telefon pentru un client, expertul a definit unul dintre etapele procesului su de decizie dup cum urmeaz: cnd informaia despre preferinele clientului este cunoscut atunci este necesar s fie gsit telefonul care se potrivete cel mai bine preferinelor. Aceast stare a problemei definete situaia Selecteaz telefonul potrivit. Aciunea n relaie cu aceast situaie este Extrage produse din catalog. O astfel de aciune extrage din catalogul de produse un set de produse n raport cu un numr de parametri (n acest caz parametri reprezint preferinele clientului).

0.4.5

Decizia

Funcia care determin tranziia de la o situaie la alta este determinat prin intermediul deciziilor. O decizie este definit ca un set de condiii asociate cu tranziia strii problemei la o situaie nou. Pentru a se trece de la o situaie la alta nou, un set de condiii asociat deciziei trebuie ndeplinit. In exemplul selectrii telefonului, cnd preferinele clientului sunt cunoscute este necesar gsirea telefonului mobil potrivit. Exist dou cataloguri diferite: telefoane tradiionale sau PDA. Selecia catalogului este bazat pe preferinele clientului. Astfel, situaia Introducei preferinele clientului este legat de dou decizii. Dac clientul prefer un
9

telefon tradiional fr funcii speciale atunci urmtoarea situaie va fi Selecteaz telefonul potrivit (decizia 1) pentru a extrage cele mai potrivite telefoane din catalog. Pe de alt parte, dac clientul prefer un telefon PDA atunci urmtoarea situaie o sa fie Selecteaz PDA-ul potrivit (decizia 2) n scopul de a extrage produsele cele mai potrivite din catalogul PDA.

0.4.6

Contextul

O dat ce aciunea, verificarea, situaia i decizia au fost definite, este necesar definirea relaiei dintre aceste concepte. O situaie reprezint o stare a procesului n care o aciune este necesar. Dup execuia aciunii, verificrile sunt evaluate i n final deciziile vor defini urmtoarea stare a procesului. Aceeai aciune sub alte condiii ale procesului poate aciona diferit. Din acest motiv, dup execuia unei aciuni ntr-o situaie, verificrile necesare i deciziile ce trebuie luate vor depinde de asemenea condiii. Astfel, contextul este un set implicit de condiii ce nconjoar un proces la un moment specific. De asemenea, contextul este alctuit dintr-un set de fapte ce influeneaz deciziile care pot fi luate la un anumit moment. Ca exemplu s presupunem un proces de vnzare a dou produse diferite: telefoane i laptopuri. Caracteristicile fiecrui produs sunt diferite. Aa c dou contexte diferite au fost definite: contextul Telefoane mobile grupeaz situaiile legate de vnzrile telefoanelor mobile i contextul Laptopuri care grupeaz situaiile legate de vnzrile laptopurilor. Ambele cataloage de produse sunt stocate ntr-o baz de date. Situaia Selecteaz produsele potrivit reprezint o stare a procesului n care informaiile despre preferinele utilizatorului sunt cunoscute i este necesar extragerea produselor din baza de date. Pentru situaia Selecteaz produsele potrivite a fost definit aciunea Extrage produse din catalog cu scopul de a extrage din baza de date, informaiile despre produs. Situaia Selecteaz produsele potrivite poate aprea n ambele contexte, dar verificrile i deciziile n legtur cu situaia vor fi diferite n funcie de produs. Astfel comportamentul B1 va reprezenta deciziile i verificriile situaiei n contextul Laptopuri i comportamentul B2 va reprezenta deciziile i verificrile situaiei n contextul Telefoane mobile.

0.4.7

Definiia procesului

Un proces este definit de P={C,c,S,A,H,V,D}, unde C este un set de contexte care poate fi identificat n proces, c este contextul iniial al problemei cnd procesul ncepe, S este un set de situaii care apar n execuia procesului, A este un set de aciuni de executat n timpul execuiei procesului, H este setul de fapte pentru proces, V este un set de verificri care pot fi evaluate dup o aciune anume i D este un set de decizii pentru evaluarea situaiei problemei ntr-un moment anume din timpul procesului.

0.5 Definiia ontologiei


In continuare sunt descrise ontologia bazat pe definiia formal, dar de asemenea sunt descrise i tipurile de aciuni ce pot fi executate, tipurile de situaii i comportamente. Managementul cunotinelor a devenit o problem important n aria afacerilor i o problem critic n procesele inovative corporative. Cunotinele expert au fost reprezentate n diferite metode n funcie de caracteristicile cunotinelor. Tehnici precum limbaje orientate pe
10

obiect, reguli de producie, raionamente bazate pe cazuri sau reele neuronale artificiale au fost larg implementate. Tendinele actuale n e-business sunt axate n mod principal pe reprezentarea bazat pe tehnici specifice, limbaje i ontologii. In propunerea prezentat n acest proiect, cunotinele sunt intrinsece att n concepte ct i n relaiile dintre concepte. Fiecare concept reprezint o parte din cunotinele expert, obinute prin intermediul combinrii tuturor reprezentrilor cunotinelor despre proceselor de afaceri. Pe deoparte, cunotinele expert sunt reprezentate prin intermediul conceptelor propuse. Conceptul de situaie reprezint o combinaie ntre un set de factori care necesit a executa o aciune. Faptele legate de situaie reprezint segmente de date necesare procesului. Experii identific situaiile legate de problema de rezolvat i reprezint aciunile prin intermediul conceptului de aciune. Deciziile reprezint normele pentru a decide urmtoarea situaie dup ce execut o aciune specific. Pe de alt parte, relaiile dintre concepte reprezint, de asemenea, cunotine de specialitate. n acest fel, faptele legate de o situaie dat reprezint informaiile relevante cu privire la o astfel de situaie, i relaia dintre decizii i situaii reprezint cunotine despre cum s acioneze n astfel de situaie dup executarea aciunii. Din acest motiv, comportamentul este conceptul cheie n modelul propus. O situaie poate aprea n diferite contexte, de exemplu situaiile n raport cu telefoanele mobile pot aprea n contextele de vnzri pentru persoane fizice i de vnzri pentru persoane juridice. Apoi, aceeai situaie necesit decizii diferite n funcie de contexte. Comportamentul reprezint aceste cunotine, legnd pentru fiecare situaie deciziile i verificrile specifice contextului corespunztor. De exemplu, s presupunem oferirea telefonul mobil potrivit o dat ce preferinele clientului au fost definite. n cazul n care clientul prefer telefoanele mobile cu conexiune la internet, precum i faptul tipul de client este persoan fizic, atunci urmtoarea situaie va fi legat de preferinele clientului n domeniul fotografiei (n scopul de a oferi un telefon mobil cu camer foto sau nu). Cu toate acestea, n cazul n care tipul de client este persoan juridic, n urmtoarea situaie va fi necesar a se obine mai multe informaii n legtur cu preferinele clientului asupra unui telefon cu aplicaii precum procesor de text, e-mail i calendar. Fiecare concept prezentat n exemplul cu telefoane mobile reprezint cunotine despre procesul de vnzare, iar relaia dintre toate conceptele ofer cunotine generale la un astfel de proces. Aa cum este artat, combinaia tuturor conceptelor surprinde cunotinele expertului i perminte executarea procesului.

11

O ontologie a fost definit pe baza conceptelor definite anterior i a relaiilor dintre acestea. Fig.1 descrie relaia dintre conceptele principale ale modelului de reprezentare
12

Fi g.1 Re lai ile din tre co nc ept ele pri nci pal e ale ont olo gie i

propus. Aceast figur reprezint conceptele descrise anterior, inclusiv noi concepte n scopul de automatiza executarea proceselor reprezentate. Aa cum este artat n figur, conceptul de proces este n relaie cu un set de contexte. Unul dintre aceste contexte va fi contextul iniial al procesului. Fiecare context are un set de comportamente similare. Fiecare comportament al contextului, va determina o situaie a contextului precum i verificrile i deciziile ale acestei situaii ntr-un astfel de context. Conceptul de situaie a fost specializat n trei tipuri: virtual, bibliotec i interactiv. n funcie de tipul de situaie, comportamentul va fi diferit pentru a reprezenta caracteristicile particulare ale fiecrei situaie: comportament interactiv, comportamentul virtual i comportamentul bibliotec. Automatizarea procesului se bazeaz pe existena unui motor de inferen. Definim motorul de inferen ca sistemul software capabil de a interpreta un proces reprezentat prin intermediul modelului propus, i executarea aciunilor necesare n timpul procesului. Aa cum este prezentat n fig. 1, conceptul aciune a fost extins avnd n vedere c o aciune poate fi efectuat n mod automat de motorul de inferen (aciune intern) sau de ctre o entitate extern (aciune extern). Primul caz reprezint, de exemplu, invocarea unui serviciu Web, n timp ce al doilea poate fi o pagin Web pe care o perosan trebuie s o consulte. Aciunile sunt definite dup cum urmeaz: Aciune Extern - reprezint o activitate de proces care este este efectuat de un agent din afara soluiei. O aciune extern este specificat printr-un mesaj care este trimis la agentul care va executa aciunea. Deoarece exist dou tipuri de agent extern, persoan i sistem, mesajul reprezenat trebuie s fie suficient de flexibil pentru a putea fi transmis ntre ageni. Pentru a consolida modelul, formatul mesajului va fi XML (Extensible Markup Language). n acest fel, mesajul este un ir cu un format flexibil, care permite comunicarea ntre oameni, printr-un browser i alte sisteme, definit printr-un format XML. De exemplu, s presupunem un proces de selecie a celui mai bun telefon mobil. Una dintre aciunile necesare pentru un astfel de proces const n obinerea preferinelor clientului. O astfel de aciune trebuie s fie efectuat de persoana responsbil de proces, de obicei, un agent de vnzri: atunci este o aciune extern. n studiul de caz aceast aciune este reprezentat prin intermediul unei pagini web. O astfel de pagin web conine o serie de ntrebri despre preferinele clientului. Aciunea Intern - este cea care este efectuat de motorul de inferen care gestioneaz procesul de cunoatere. Aciunea intern este transformat ntr-un apel ctre o alt aplicaie, astfel nct aceasta va efectua msurile necesare prin trimiterea unui set de parametri. Din acest motiv, ea va fi de asemenea numit apel extern al bibliotecii (external library call). Ca urmare al acestui apel, motorul de inferen obine un rezultat care produce o modificare a condiiilor eseniale ale problemei. De exemplu, atunci cnd un telefon mobil a fost selectat, este necesar s se determine preul su. Preul final al telefonului este obinut din SAP (Systems, Applications and Products in Data Processing). Aceast aciune poate fi executat
13

de motorul de inferen prin intermediul unui serviciu web: aceasta este o aciune intern. Conceptul de situaie a fost de asemenea extins astfel nct s poate fi adaptat la tipul de aciune asociat (vezi fig. 1): Situaie Automat sau Bibliotec - reprezint o situaie n care sistemul trebuie s efectueze o aciune intern. Aceast aciune este efectuat de ctre o bibliotec extern, care interacioneaz cu alte sisteme prin anumii parametri: 1. Motorul de inferen trimite un set de parametri la o aplicaie extern printr-o interfa. 2. Aplicaia efectueaz un set de operaii i returneaz prin intermediul interfeei, un set de care vor fi tratate ca fapte. 3. Rezultatul este evaluat i procesul de soluionare a problemei continu. Situaii Interactive - reprezint o situaie n care aciunea unei entiti din afara sistemului este necesar i de la care un rspuns este ateptat (aciuni externe). Acesta este cazul cu o ntrebare la care trebuie s se rspund de ctre o persoan sau un mesaj trimis la un alt sistem ce trebuie s rspund cu rezultatul unei anumite operaie. Un caz special apare atunci cnd rezultatul unei aciuni interne este mesajul utilizat pentru o aciune extern. Din acest motiv, aciuniile unei situaii interactive pot fi att interne ct i externe. Aceasta se numete bibliotec interactiv. Semanticile acestui caz particular sunt urmtoarele: 1. Motorul de inferen ndeplinete o funcie intern. 2. Rezultatele sunt verificate prin intermediul verificrilor. 3. Rezultatul obinut este trimis la un agent extern. 4. Agentul extern efectueaz o aciune i raspunde motorului de inferen. 5. Motorul de inferen evalueaz rezultatul i continu procesul de soluionare. Situaie Virtual. O situaie virtual este cea care nu are nicio aciune de efectuat. In acest caz, numai verificrile i deciziile asociate comportamentului contextului specific n care situaia se desfoar, vor fi verificate. Cum fiecare situaie ce poate aprea ntr-un proces are caracteristici diferite, trei tipuri diferite de comportament vor fi definite aa cum este artat n fig.1: Comportamentul Virtual - comportamentul asociat situaiei virtuale. Acest tip de comportament nu are proprieti suplimentare, cum situaiile virtuale nu au nicio aciune de efectuat. Comportamentul Interactiv - comportamentul interactiv determin caracteristicile unei situaii interactive, situaie care are o aciune executat de un agent extern. Acest comportament are asociat o list de parametri n cazul n care situaia asociat comportamentului este o aciune intern. In acest caz, va avea de asemenea, un set de verificri numit validri, care va verifica dac aciunea intern a fost executat corect.

14

Comportamentul Bibliotec - caracterizeaz situaia automat ntr-un context specific. Comportamentul asociat cu o situaie automat are un set de parametri i un set de verificri speciale, folosite pentru a verifica dac aciunea intern a fost executat corect, exprimat cu proprietatea hasInternalValidation (Fig.1). Un atribut comun pentru toate tipurile de comportament este evaluateAll-Decisions. Acest atribut va fi utilizat pentru a determina cum motorul de inferen va evalua deciziile referitoare la comportament. Dac acest atribut primete valoarea fals, atunci urmtoarea situaie va fi determinat de ctre prima decizie n care condiiile sunt ndeplinite. Dac acest atribut primete valoarea adevrat, apoi motorul de inferen va executa una dup alta toate deciziile n care condiiile sunt ndeplinite. n afara conceptelor deja descrise, Fig.1 include conceptele Stare i Operator. Aceste concepte permit definirea flexibil a condiiilor i operanzilor fr a se limita la definirea unui anumit limbaj: Condiie - reprezint o expresie logic care poate fi evaluat n scopul de a determina dac este adevrat sau fals. n scopul de a evalua o condiie, trebuie determinat modul n care aceasta este exprimat. Condiiile vor fi reprezentate de o combinaie dintre doi operanzi i un operator. n acest fel, noi operatori pot fi creai, care vor fi utilizai n condiiile definite. Operandul poate fi multi-evaluat, ceea ce nseamn c fiecare operand poate avea o list de valori. O condiie trebuie s aib definit cel puin primul operand i operatorul. In cazul n care operatorul este binar, condiia trebuie s aib de asemenea al doilea operand definit. In cele din urm, n cazul n care operatorul accept operanzi cu mai multe valori, fiecare operand poate avea o cardinalitate, care este mai mare dect 1. Condiia este sau nu ndeplinit pe baza rezultatului furnizat de operator. Operator - un operator este un obiect care efectueaz un set de operaiuni pe baza unui set de parametri (operanzi) pe care i primete, returnnd un rezultat de adevr n cazul n care obiectivele au fost ndeplinite sau fals dac acestea nu sunt ndeplinite. Un exemplu simplu este operatorul de egalitate. Acesta primete doi parametri, i compar, i returnez adevrat dac sunt aceeai sau fals dac nu sunt.

0.6

Automatizarea proceselor

Procesul reprezint un set de etape pe care un motor de inferen trebuie s-i urmeze pentru a rezolva problema specific. Diferitele situaii care pot aprea n timpul procesului sunt interconectate prin intermediul deciziilor. Acest set de situaii i decizii pot fi interpretate ca un graf ghidat de situaii, ajungndu-se de la o situaie iniial la o situaie final, i rezultnd o concluzie prin intermediul unui set de decizii. Motorul de inferen ar trebui s menin controlul strii n care procesul exist la un moment dat pentru a lua decizii oportune. Meninerea controlului procesului de soluionare implic: 1. Pentru a controla procesul, motorul de inferen trebuie s aib o memorie de lucru n care stocheaz contextul i situaia actual, faptele care au fost
15

produse pn n acel moment i ateptarea evalurii deciziilor, n cazul n care acestea exist. 2. Evalueaz situaia n care apare o problem la un moment dat. 3. Decide cu privire la sarcina care ar trebui efectuat n scopul de a se ajunge la o soluie. 4. Execut sarcina sau comunic cu un agent extern care o poate executa. Motorul de inferen acioneaz ca principalul agent de proces. Este responsabil de gestionarea conversaiei cu restul agenilor i orientarea procesului. Execuia unui proces ncepe cu primirea unui mesaj de activare i ar trebui s se ncheie cu un mesaj de rspuns final care informeaz cu privire la rezultatele procesului. Bazat pe nevoile procesului, poate fi necesar pentru a face mai multe schimburi de mesaje cu acest agent extern n scopul de a genera faptele necesare pentru a gsi o soluie la problem (situaii interactive). Bazat pe rolul jucat de motorul de inferen n ceea ce privete agentul extern care declaneaz sesiunea, dou tipuri de proces sunt definite: Procese Asistate. n acest caz, agentul extern care a iniiat procesul este responsabil cu realizarea aciunilor. Motorul de inferen controleaz procesul, indicnd ce msuri ar trebui luate cu ajutorul situaiilor interactive. n procesele asistate, motorul de inferen poate efectua o activitate care uureaz munca persoanelor care intervin n proces. Procesele de luare a deciziilor de suport sunt un exemplu de acest tip de proces. Procese Automatizate. n acest caz, motorul de inferen efectueaz aciunile. Cnd motorul de inferen primete un mesaj de activare a unui proces, o succesiune de situaii virtuale se desfoar, prin intermediul aciunilor n cauz, cu scopul de a obine informaii i a schimba condiiile pn se ajunge la o concluzie. Procesul se ncheie cu un mesaj de rspuns ctre agentul care l-a iniiat. O sesiune iniiat de ctre un agent extern este un proces complet, n care se obine o concluzie la problema tratat. La nceputul unei sesiuni, motorul de inferen ar trebui s stabileasc contextul iniial i situaia iniial asociat contextului declarat bazat pe cunotinele afiate. Motorul de inferen poate gestiona mai multe sesiuni simultan, astfel nct n memoria de lucru fiecare sesiune ar trebui s aib asociat un context, o situaie, un set de fapte pentru acel moment i un set de reguli care pot fi activate pe baza strategiei adoptat n fiecare situaie.

0.7

Arhitectura sistemului bazat pe cunotine

n acest subcapitol va fi prezentat arhitectura sistemului bazat pe cunotine, adic elementele principale ce compun acest sistem i cele care interacioneaz cu acesta. n scopul de a reproduce un proces de soluionare, un motor de inferen capabil s interpreteze procesul definit este necesar. Acest motor de inferen trebuie s fie capabil s interacioneze cu o persoan (situaii interactive) i cu alte aplicaii (stuaie automat sau bibliotec).
16

n scopul de a automatiza procesul de definire a soluiei problemei, reprezentat de modelul propus, urmtoarele elemente trebuie luate n considerare: 1. Unul sau mai muli ageni pot interveni n proces. Aceti ageni pot fi oameni sau alte sisteme software care interacioneaz cu fiecare n parte n vederea finalizrii procesului. n situaii speciale att oamenii ct i sistemele pot interveni. Din acest motiv, trebuie s se in seama de faptul c automatizarea unui proces va implica schimbul de mesaje ntre diferiii ageni care intervin. 2. n plus, aa cum este descris mai sus, un motor de inferen este necesar, n acest caz motorul de inferen gestioneaz executarea automat a procesului. Acesta ar trebui s poat s fac schimb de mesaje ntre agenii care intervin n proces. 3. Este necesar existena unui mediu de transmisie care s permite schimbul de mesaje ntre motorul de inferen care controleaz procesul i agenii care intervin n presupusul proces. Rspuns
Agent extern HTTP Cerere HTTP Siste m Exter n

Internet Server Web Interfa Software Motor de

Definirea Procesel or

Baza de Inferen Memoria Cunotin Interfa Interfa de lucru e BD BD

Fig.2. Schia de baz a arhitecturii propuse

Schia de baz a arhitecturii propuse conine:


1. O baz de cunotine care conine procesul definit bazat pe modelul propus. 2. O baz de fapte care acioneaz ca memoria de lucru, ce depoziteaz starea

fiecrui proces controlat de motorul de inferen. 3. Un motor de inferen capabil s controleze procesul i luarea deciziilor pentru rezolvarea problemei. 4. O interfa de comunicaii care permite trimiterea i primirea de mesaje de la persoane. 5. O interfa care permite interaciunea cu alte sisteme. Arhitectura propus este aceea a unui sistem reactiv din punct de vedere al procesului de activare, ceea ce nseamn c este necesar intervenia extern prin intermediul unui mesaj pentru a ncepe procesul. Aceast activare este efectuat de ctre un agent extern, i n rspuns acesta primete un mesaj asociat cu o aciune. Cu toate acestea, din punct de vedere al
17

procesului de soluionare, sistemul este interactiv, deoarece exist un schimb de mesaje ntre motorul de inferen i diferii ageni care intervin n procesul de soluionare. n continuare sunt descrise diferitele elemete care alctuiesc arhitectura propus: Motorul de inferen - este componenta principal a arhitecturii propuse. Funcia principal a motorului de inferen este de a lua decizii bazate pe procesul definit i a faptelor conexe. Pentru ca acesta s funcioneze, n afar de punerea n aplicare a algoritmului descris, acesta trebuie s fie integrat cu restul componentelor. Interfaa de comunicare - Web-ul a fost ales ca interfa de comunicare, ceea ce nseamn c motorul de inferen va fi integrat ntr-un server web, i comunicarea cu agentul extern va fi realizat printr-un protocol HTTP. Avantajele acestei decizii sunt urmtoarele: 1. Nu este necesar s se defineasc un protocol de comunicare. Comunicarea se realizeaz printr-un protocol utilizat pe scar larg. 2. Cum mesajele sunt n XML, trimindu-le prin HTTP faciliteaz vizualizarea mesajului prin intermediul unui browser. 3. Prin integrarea unui motor de inferen ntr-un server Web, mai multe cereri vor fi procesate simultan, cu conexiuni gestionate de server. Inconvenientul principal este faptul c protocolul HTTP este un protocol fr stare, n sensul c nu-i amintete informaiile de la mesajele anterioare. Prin urmare, motorul de inferen trebuie s gestioneze diferitele sesiuni stabilite de ctre agenii externi pentru a lansa procesele de soluionare. Un mesaj HTTP poate fi creat prin intermediul unei implementri ad-hoc, fie este direct programat sau folosind un alt API (Application Programming Interface) furnizat de limbajele de programare, cum ar fi Java sau .NET, dar poate fi de asemenea generat prin intermediul cererilor paginilor web (prin hyperlink-uri sau formulare). Aceste dou alternative fac posibil realizarea comunicaiei cu sistemul, de ctre persoane (prin intermediul unui browser) sau de ctre alte sisteme (programnd interfaa de comunicare). Pentru cel din urm, sistemul care stabilete comunicarea trebuie s fie capabil de a interpreta mesajele primite de la motorul de inferen. Ca rspuns la mesaje, motorul de inferen trimite mesajul asociat cu aciunea ntr-un pachet de rspuns la cererea HTTP care vine cu parametri. Interfaa Software. Pentru ca motorul de inferen s poat accesa alte aplicaii, s fac schimb de parametri i s efectueze aciuni interne, trebuie definit interfaa software care permite trimiterea de parametrii i primirea rezultatelor. Motorul de inferen va instana interfaa corespunztoare bazat pe aciunile interne executate la fiecare moment. Atunci cnd este necesar s comunice cu aplicaia, o component care urmeaz regulile stabilite va fi definit. Motorul de inferen va instana interfaa ca un obiect generic, la care se trimit parametrii i se execut o funcie. Baza de Cunotine. Baza de cunotine stocheaz procesul soluionrii problemei, reprezentate prin intermediul modelului propus. Exist dou alternative la punerea n aplicare a unei baze de cunotine care include definirea modelului propus:

18

1. Utilizai un reasoner bazat pe ontologii, cum ar fi Jena, Pellet sau Racer,

care permite accesarea ontologiei definte n OWL i efectuarea operaiilor asupra conceptelor definite. 2. Folosii un sistem de management al bazelor de date. Atunci cnd trebuie decis modul n care ontologia va fi reprezentat i modul n care cererile pentru diferite elemente vor fi stocate, este necesar s se considere c nu numai datele referitoare la reprezentarea unui proces de soluionare a problemei trebuie stocate, dar i starea fiecrei sesiuni ce sunt stabilite de motorul de inferen n scopul de a rezolva o anumit problem trebuie stocate. Motorul de inferen trebuie s fie capabil s stocheze informaiile fiecrei sesiuni i s le extrag eficient n scopul de a lua o decizie la timp pentru execuie. Baza de fapte. Motorul de inferen trebuie s menin o memorie de lucru n care situaia i contextul procesului la un moment dat sunt stocate, precum i un set de fapte care definesc starea procesului n acel moment. Baza de fapte reprezint memoria sistemului de lucru. Faptele care sunt produse n diferite procese executate la un moment dat sunt stocate n baza de fapte. O soluie bazat be o baz de date a fost aleas cu scopul de a menine att procesul definirii ct i datele asociate cu aciunile executate sub controlul motorului de inferen.

Studiu de caz
(sistem de asisten al vnzrilor implementat ntr-o companie de distribuie) n scopul de a valida modelul de reprezentare propus, un proces de suport al vnzrilor a fost proiectat la o companie important de distribuie. Studiul de caz propus are drept scop s acopere aspectele relevate ale proceselor e-business. Conceptul de e-business este larg i deschis, incluznd Customer Relantionship Management (CRM), Enterprise Resource Planning (ERP) i alte procese relevante. Din acest motiv a fost ales un studiu de caz care include unele caracteristici speciale, n scopul de a valida modelul ntr-un sens larg. Acest caz include aspecte relative de Customer Relantionship Management (CRM) pentru recomandarea de produse, Enterprise Resource Planning (ERP) prin intermediul interaciunii cu sistemul ERP al companiei i poate fi extins. Schimbul de informaii ntre sisteme este reprezentat prin intermediul bibliotecilor care permit schimbul de XML cu astfel de aplicaii.
19

Exemplul propus arat un proces de suport al vnzrilor. Este uor de extins procesul de vnzare prin includerea unui sistem de pli pentru produsul selectat. Pe de alt parte, procesul de achiziie poate fi inclus cu uurin, deoarece accesul la sistemul ERP pentru preluarea produselor disponibile poate include i comandarea de produse. Aciunile care trebuie s fie executate de ctre persoane sunt reprezentate prin intermediul situailor interactive. Exemplul acoper un numr reprezentativ de posibiliti. Desigur, aspectele concrete ale procesului de reprezentat, trebuie s fie analizate i evaluate atunci cnd procesul este reprezentat. Cnd un proces este reprezentat, este necesar s se in seama de faptul c sistemul va controla execuia , fie ca operator central sau n calitate de coordonator, trimind mesaje ctre prile implicate n proces. Apoi, sistemul trebuie s fie luat n considerare ca parte din proces, fie executnd aciuni sau coordonnd procesul sau ambele. Aceast perspectiv orientat spre cunotine este susinut de ontologii n scopul de a oferiiposibilitatea integrrii cu tehnologii semantice i exploatarea recentelor progrese din acest domeniu n plin dezvoltare. BPEL (Business Process Execution Language) ofer un limbaj de execuie pentru procesele de afaceri, dar este centrat pe executarea de servicii web. Aceast abordare nu se limiteaz la serviciile web, permind reprezentarea sarcinilor care urmeaz a fi efectuate de persoane. Compania studiat are o reea de peste 100 de magazine n mai multe orae. Personalul de vnzri a fost responsabil de a interaciona cu clientul, oferind clientului produsul care satisfcea cel mai bine nevoile clientului, pe baza criteriilor agentului de vnzri. Aceste criterii nu au fost ntotdeauna uniforme. Mai mult, personalul de vnzri nu au avut ntotdeauna cunotine tehnice despre cele mai noi produse pe pia, astfel exista tendina ca n fiecare magazin s se vnd produsele cu care personalul era cel mai bine familiarizat. Un interes n furnizarea asistenei n vnzare a aprut astfel nct personalul de vnzri s poat urma un proces de consultan a clientului, stabilit de ctre Departamentul de Marketing i de a oferi mereu cele mai noi produse de pe pia. 0.8 Reprezentarea proceselor

Sistemul de suport al vnzrilor reprezint procesul decizional i cunotinele experilor Departamentului de Marketing al companiei n scopul de a oferi cele mai bune produse care se potrivesc cu nevoile clientului. Utilizatorii sistemului sunt agenii de vnzare de la diferitele magazine ale companiei. Obiectivul sistemului informatic este de a informa agentul de vnzri despre produsele cele mai adecvate bazate pe criteriile expertului. Cu toate acestea, vnztorul are ultimul cuvnt de spus cnd vine vorba de produsele vndute. n scopul de a defini procesul de suport al vnzrilor, un expert n domeniul vnzrilor a fost interviat. Acest expert a definit setul de produse pentru care se oferea sprijin: faxuri, telefoane, imprimante, conexiuni la internet i o soluie integrat care combin toate produsele menionate anterior. Fiecare dintre aceste produse au caracteristici diferite, astfel nct un context a fost stabilit pentru fieacre n parte. Setul de contexte al procesului ar fi C={fax, telefon, imprimant, DSL, Integral}. Fiecare context are o proprietate hasInitialBehavior i una sau mai multe proprieti hasBehavior. Fiecare comportament reprezint o situaie i setul de decizii, verificri i
20

parametrii pentru aceast situaie. Apoi, situaia iniial a fiecrui context este definit de proprietatea hasInitialBehavior, iar acest comportament va include verificarea, decizia i parametrii situaiei n context. Restul de situaii legate de context sunt determinate prin intermediul unui set de comportamente. n cadrul fiecrui context, expertul a definit un set de ntrebri care s ajute s stabileasc preferinele utilizatorului. Aceste ntrebri sunt structurate ca situaii diferite, deoarece multe dintre ele sunt condiionate, n sensul c acestea pot sau nu pot fi adresate n funcie de rspunsurile anterioare. Agenii de vnzri vor pune ntrebrile clientului i vor trimite rspunsurile ctre motorul de inferen. ntrebrile sunt grupate n situaii interactive. Asociat cu fiecare situaie este o pagin web (aciune extern) care conine ntrebrile expertului i un formular astfel nct utilizatorul sistemului s poat rspunde la ele. Fiecare situaie are un set de reguli de validare care determin dac rspunsurile primite sunt corecte sau nu. De asemenea, fiecare situaie are asociat un set de decizii care determin ce situaie va fi urmtoarea. Aceast nou situaie poate reprezenta un nou set de ntrebri n cazul n care nu exist informaii suficiente pentru a lua o decizie, sau este afiat un set de rezultate cu produse. n cazul n care expertul identific o situaie n care exist informaii suficiente pentru a lua o decizie, sistemul recomand un produs sau un set de produse utilizatorului. n cazul n care setul de produse este limitat, opiuni diferite pot fi prezentate ca situaii interactive. Cu toate acestea, nu are sens a efectua acest lucru manual n companii marii unde diferite sisteme de informare sunt folosite. Pe lng experii de marketing, compania are un modul care gestioneaz catalogul de produse al companiei, care este conectat la un sistem inteligent bazat pe logica fuzzy. Bazat pe preferinele utilizatorului, aplicaia logic fuzzy returneaz un set de produse care se potrivesc cel mai bine preferinelor menionate. Acest modul logic fuzzy este numit MarketClon, i reprezint normele relaiilor echilibrate ntre valorile posibile ale preferinelor utilizatorului i valorile posibile ale caracterisiticilor produsului. Rezultatele acestui modul returneaz un cod XML, care este folosit pentru a arta agentului de vnzri opiunile cele mai adecvate (bibliotec interactiv). Codul produsului este folosit pentru a contacta SAP, din care preurile i impozitele sunt derivate. Apelul ctre SAP este reprezentat prin intermediul unei aciuni interne care invoc serviciul Web al SAP. Un set de foi de calcul controlate de managerul de vnzri furnizeaz date suplimentare pentru procesul vnzrilor, cum ar fi reducerile i ofertele speciale. Prin intermediul deciziilor, tipul de produs necesar este cutat i n final, prin intermediul apelurilor externe, se obine un set de produse. Deciziile controleaz mai puine aspecte variabile ale procesului de vnzare. Cunotinele despre cataloagele de produse, calcularea preului i diferitele oferte se gsesc n aplicaiile utilizate n mod curent de ctre companie: SAP, un catalog inteliget i un set de foi de calcul al Departamentului de Marketing. n acest mod, informaiile privind produsul sunt actualizate n mod regulat i ontologia reprezint unde cunotinele sunt locate, cum sunt acesate i ce ar trebui s se fac cu acestea. Ontologia reprezint de asemenea regulile decizionale pe care un expert de marketing le folosete n procesul de vnzare, n scopul de a
21

determina cerinele clientului. Ontologia propus reprezint toate aceste informaii atunci cnd este creat un sistem de asisten al vnzrilor.
Recomand ri Preferine le Clientului Foi de calcul pentru MK SA P

Vnztor

Definirea Proceselor de Decizie

Baza de Cunotin e

Motor de Inferen

Memoria de lucru

Catalog de produse

Fig.3 Arhitectura sistemului suport pentru vnzri

Fig.3 prezint arhitectura sistemului de asisten al vnzrilor bazat pe procesele de luarea deciziilor prin intermediul ontologiei propuse. Ar trebui reinut c arhitectura este cea a sistemului generic propus. Comportamenul sistemului i apariia unor sisteme externe noi este o consecin a ontologiei propuse. Fig.3 arat existena a trei tipuri de aciuni interne, cu alte cuvinte, aciuni pe care un motor de inferen trebuie s le efectueze n mod automat. Aceste aciuni interne reprezint accesul la aplicaiile pe care expertul le folosete n munca sa de zi cu zi.

22

Fig .4 Ont olo gia pen tru spri jinu l vn zri lor

23

Fig.4 arat o reprezentare a procesului de suport n vnzri pe baza modelului semantic definit. n figura repectiv, diferitele contexte care au fost identificate n problema definit, precum i comportamentul iniial al fiecrui context, sunt reprezentate. Contextul iniial al procesului este ProductSelection. ProductSelection, contextul iniial, este asociat cu un comportament iniial care duce la situaia selectProductClass. Aceasta este prima situaie n care procesul este gsit. Aceast situaie este asociat cu aciunea extern numit ProductList. Aceast aciune extern reprezint o pagin web n care tipul de produs este selectat. O dat ce aceast situaie a fost atins, motorul de inferen trimite aceast pagin Web utilizatorului, astfel nct tipul de produsul cu care acesta dorete s lucreze poate fi selectat. Instana aciunii externe poate fi folosit i n alte situaii din diferite procese. Situaia poate fi, de asemenea, utilizat n alte procese sau alte contexte, obinnd un comportament diferit. Comportamentul iniial al situaiei selectProductClass are de asemenea, o serie de decizii care determin situaia urmtoare n cadrul procesului. Fiecare dintre aceste decizii corespund uneia dintre posibilitile care pot aprea n proces ca rspuns pentru situaia curent. Comportamentul definit conine setul de decizii care trebuie s fie evaluate n situaia selectProductClass, n contextul iniial: dij={selectedIntegralOption, selectedPrinterOption, selectedPhoneOption, selectedDSLOption, selectedFaxOption}. Fiecare decizie are o destinaie, n funcie de diferitele tipuri de produse pe care agentul de vnzri le alege de pe pagina web iniial. Coninutul fiecrei decizii nu este detaliat, dar fiecare are o condiie care testeaz dac utilizatorul a selectat Fax, DSL, Imprimat sau Soluie Integral. Fig.4 arat modul n care fiecare destinaie a deciziei este un context nou pentru care procesul decizional continu. Acest lucru demonstreaz modul n care deciziile pot fi folosite pentru pregtirea structurii deciziei. Aceast structur poate deveni mai complex prin impunerea unor condiii complexe. Reprezentarea structurii condiionale este inerent la definirea conceptului de decizie. n acest fel, deciziile referitoare la o situaie ntrun context, prin intermediul comportamentului reprezint o structur condiionat: urmtoarea situaie va fi stabilit de prima decizie activ. Posibilitatea de a executa toate deciziile active este reprezentat prin intermediul atributului de comportament evaluateAllDecisions. Cele din urm cicluri pot fi obinute folosind o situaie sau un context anterior ca destinaie a deciziei. De asemenea, comportamentul, aa cum este descris n definia modelului, include verficri, n acest caz doar una, Vij={oneProductSelected}. Cu aceast verificare, motorul de inferan va determina dac o opiune a fost selectat pentru a continua procesul. Motorul de inferen este responsabil de citirea i evaluarea fiecrei condiii, n scopul de a reproduce procesul i s ia decizii. Sistemul de suport al vnzrilor ncepe cu cinci produse definite. Fiecare reprezint un context diferit: faxuri, telefoane, conexiuni la Internet, Soluie Integral. Contextul n raport cu soluia integral ofer o soluie care cuprinde restul de contexte: n scopul de a realiza acest lucru exist posibilitatea de executare a tuturor deciziilor ntr-o situaie specific. Situaia iniial a contextului IntegralSolution prezint un set de ntrebri care determin cte contexte sunt necesare pentru a executa procesul.
24

Fiecare decizie este legat la o ntrebare specific pe formular. De exemplu, dac utilizatorul rspunde c are nevoie de fax, decizia faxRequired ghideaz procesul la contextul FAX, astefel nct utilizatorul s rspund la chestionarul legat de faxuri. Opiunea evaluateAllDecisions determin ca toate deciziile comportamentului s fie evaluate, ceea ce asigur ca toate opiunile posibile ce pot oferi o recomandare integral vor fi explorate. Pentru a ilustra un exemplu de sistem, ne vom concentra pe contextul Fax. n acest context, un set de ntrebri sunt formulate n scopul de a descoperii nevoile specifice clientului. Dup obinerea setului de preferine ale clientului un apel ctre catalogul de produse este fcut prin intermediul unei aciuni interne, cu scopul de a obine cel mai potrivit fax. Aciunea intern a catalogului fuzzy genereaz un mesaj de format XML (Extensible Markup Language) cu o list de faxuri adaptate la nevoile clientului. Aceste rezultate sunt afiate agentului de vnzri prin intermediul unei biblioteci interactive. Comportamentului asociat situaiei care invoc aceast aciune intern i este atribuit un format de pagin n scopul de afia lista de faxuri oferit de catalogul de produse. Dup ce faxul dorit a fost selectat, preul produsului este obinut de la SAP, prin intermediul unui apel extern automat. Acest apel extern utilizeaz o aciune intern intitulat SAPConection, care invoc un serviciu web ce se conecteaz cu SAP pentru a obine preurile componentelor. n cele din urm, o situaie interactiv arat detaliile faxului selectat i preul su. Cnd navigarea contextului FAX s-a ncheiat, se vor relua deciziile ce sunt n ateptare din situaia Soluie Integral. La finalizarea navigrii contextelor necesare, un set de situaii ofer soluiile cele mai potrivite. Determinarea preurilor se efectueaz prin apelurile bibliotecei externe ctre SAP i foile de calcul. Punerea n aplicare a restului sistemului de suport al vnzrilor se realizeaz n acelai mod. Cu experiena personalului de marketing, fr cunotine despre inteligena artificial, s-a artat c este uor pentru ei s-i exprime cunotinele despre procesele vnzrilor folosind conceptele de contexte, situaii i decizii. Acest lucru se datoreaz faptului c un mod natural de a explica cum s rezolvi o problem este acela de a descrie scenarii posibile (context i situaii), ce s fac n fiecare scenariu (aciuni) i care este consecina acestor aciuni (decizii). Interfeele pentru conectarea cu Excel, SAP i catalogul fuzzy au fost furnizate n scopul de a crea aciuni interne pentru extragerea de informaii din astfel de siteme. Personalul de marketing a definit parametrii pentru fiecare aciune intern. ntregul stadiu de reprezentare a cunotinelor a fost efectuat de ctre personalul de marketing, cu sprijinul unui inginer tehnic. La sfritul etapei de reprezentare, inginerul tehnic a trebuit doar s rezolve problemele eseniale de sistem. Propunerea prezentat n acest lucrare permite reprezentarea procesului prin intermediul unor concepte separate de terminologia tehnic a Inteligenei Artificiale. Procesul reprezentat necesit intervenia persoanelor i a sistemelor software. Diferitele tipuri de aciune permite reprezentarea att a aciunilor care urmeaz a fi efectuate de vnztor ct i a aciunilor care urmeaz s fie efectuate de alte sisteme de tip enterprise. Toate acestea pot fi executate prin intermediul soluiei de sistem propus. n plus, cunotinele despre proces sunt
25

reprezentate prin intermediul contextelor, situaiilor, comportamentelor i deciziilor. Acesta rezolv dou aspecte: procesul de automatizare i control i protejarea cunotinelor companiei. Motorul de inferen i instrumentul de modelare furnizeaz un cadru complet pentru reprezentarea cunotinelor prin intermediul conceptului propus i l execut ntr-un mediu web. Dup reprezentarea cunotinelor de marketing, sistemul a fost mutat n mediul de producie. Motorul de inferen a fost integrat ntr-un server web i toate magazinele au avut acces la acesta. Un numr de vnztori au efectuat un set de teste, n scopul de a valida sistemul. n Tabelul 1 sunt descrise aceste teste. Coloana Id Sesiune reprezint id-ul sesiunii de test, coloana Situaii reprezint numrul de situaii aprute n timpul sesiunii, coloana de Produs reprezint produsul selectat, coloana Sfritul procesului ia valoareada n cazul n care vnztorul a completat toate procesele de decizie i nu n caz contrar, coloana Sugestie ia valoarea da n cazul n care un produs specific a fost sugerat vnztorului i nu dac niciun produs nu a fost specificat i coloana Selecie fcut n cazul n care vnztorul a selectat un produs sugerat de sistem.
Id Sesiune
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Situaii
6 4 20 3 24 20 21 5 5 8 24 27 4 22 4

Produs
Telefoane Telefoane Integral Integral Integral Integral Integral Telefoane Telefoane DSL Integral Integral Telefoane Integral DSL

Sfritul procesului
Da Nu Da Nu Da Da Da Da Da Da Da Da Da Da Da

Sugestie
Da Da Da Nu Da Da Da Da Da Da Da Da Da Da Da

Selecie fcut
Da Nu Da Nu Da Da Da Da Da Da Da Da Da Da Da

Tabel 1

Din tabelul 1 se poate observa cum selecii diferite implic un numr diferit de situaii. Chiar i n cazul aceluiai produs, numrul de situaii depinde de rspunsurile vnztorului, deoarece un rspuns oferit la o ntrebare poate determina dac o situaie este necesar sau nu. De exemplu n contextul integral, pentru cazul n care clientul nu are nevoie de un fax, situaiile corespunztoare contextului fax nu vor mai fi necesare. Analiznd memoria de lucru, s-a putut observa c n toate sesiunile finalizate, aciunile au fost efectuate n mod corect i interaciunea dintre motorul de inferen i vnztor i interaciunea dintre motorul de inferen i sistemele externe au fost realizate cu succes. n aceste sesiuni, motorul de inferen a oferit o recomandare ctre vnztor n funcie de cunotinele personalului de marketing. n dou cazuri, procesul nu s-a finalizat, deoarece preferinele clientului nu erau reprezentate n baza de cunotine. Peste 50% din teste au fost realizate pentru contextul Integral, care grupeaz toate contextele. Acest lucru explic numrul de situaii pentru aceste teste este mai mare de 20, cu excepia cazului cnd procesul a fost ntrerupt. Pentru ncercrile contextului DSL i
26

contextului Telefoane, numrul de situaii este mai mic de 10. Acest lucru se datoreaz faptului c fiecare dintre aceste contexte este referit la un singur tip de produs: atunci numrul de situaii i decizii este limitat. Avantajele modelului i arhitecturii propuse sunt mai importante dect uurina de utilizare pentru personalul nefamiliarizat cu conceptele de Inteligen Artificial. Motorul de inferen stocheaz n memoria sa de lucru toate informaiile despre sesiunile care au avut loc. Aceasta permite o analiz suplimentar a interaciunile n scopul de a studia caracteristicile concrete proceselor desfurate. Analiza acestei informaii este de nepreuit pentru companii. Astfel, se poate analiza care este cel mai selectat Fax, sau cele mai reprezentative preferine ale clienilor. Din aceste cunotine noi, inerente n procesul de reproducere a proceselor reprezentate, compania poate determina starea actual a afacerii i prognozarea noilor tendine de pe pia.

Concluzii
Automatizarea proceselor este fundamental pentru conceptul curent de e-business. n mediul actual, este necesar s se combine cunotinele cu procesele de afaceri n scopul de a se adapta la condiiile pieei n schimbare. Acest lucru permite dezvoltarea de noi sisteme inteligente care s mbunteasc procesele de business ale companiei, cum ar fi managementul lanului de aprovizionare, procesarea comenzilor clientului, procese de vnzare sau de negociere cu alte companii. Abilitatea de a automatiza un proces implic necesitatea de a-l reprezenta n aa fel nct este neles de o main. Dup cum s-a demonstrat n acest proiect, exist abordri diferite de integrare a cunotinelor i de reprezentare a proceselor de afaceri, dar majoritatea dintre ele se bazeaz pe mprirea de cunotine -prin intermediul unei ontologii de domeniui procese -prin intermediul unei ontologii specifice. Acest proiect a prezentat o ontologie care reprezint procesul de e-business i cunotinele de specialitate comune. Fundaia modelului propus este conceptul de situaie, context i comportament, care se definete ca starea procesului la un moment specific. n aceast stare, procesul necesit executarea unei aciuni specifice. Aceast aciune este o sarcin n cadrul procesului reprezentat. Cunotinele care determin urmtoarea sarcin ce urmeaz a fi executat sunt decise de ctre obiectele intitulate decizii. n ontologia propus, definirea de aciuni poate fi examinat dintr-un punct de vedere automat, n care atribuiile definite sunt executate una dup alta, sau dintr-un punct de vedere asistat, n care oamenii intervin. Acest mod de intervenie att al persoanelor ct i a agenilor automatizai n procesele de afaceri este inclus. Arhitectura unui motor de inferen bazat pe web care sprijin procesul de automatizare i ia decizii bazate pe ontologia propus este de asemenea prezentat. Combinaia dintre ontologia propus cu arhitectura implementat permite crearea rapid a sistemelor bazate pe cunotine, care reprezint diferite procese de afaceri. n afar de arhitectura generic a motorului de inferen, nu este necesar s se dezvolte noi componente pentru crearea de noi sisteme. Reprezentarea semantic a unui proces cu modelul propus conine o descriere detaliat a procesului, n sensul c funcia sa este complet
27

definit de ontologie. Astfel, este uor s se extind procesele existente, care ncorporeaz noi cunotine i funcionalitate. n studiul de caz s-a dovedit c ontologia propus permite reprezentarea unui proces critic de afaceri pentru mai multe companii: suport n vnzri. n validarea efectuat, se observ c un proces automatizat poate fi creat prin combinarea cunotinelor de marketing cu servicii web i interfee cu aplicaii mai vechi, crend asfel un sistem inteligent de suport al deciziei pentru personalul de vnzri. n viitor, va fi posibil utilizarea acestui model de reprezentare a cunotinelor pentru a extinde soluia, procesele de management al stocurilor i de a integra procesul de comand a produselor care nu sunt disponibile. Modelul propus poate fi utilizat pentru reprezentarea altor domenii cum ar fi e-commerce, e-goverment sau e-health. Modelul propus a fost definit pe baza unei ontologii utilizate pentru descrierea diferitelor concepte, relaiile i restriciile lor. Aceast reprezentare ontologic dechide o mare varietate de oportuniti pentru viitoarele cercetri. Utilizarea unui limbaj comun de reprezentare poate ajuta pentru a facilita schimbul de informaii ntre companii. Adnotarea semantic a obiectelor de reprezentare a ontologiei, duce la posibilitatea de a cerceta generarea de cunotine noi bazate pe meta-informaii furnizate de diferite situaii i aciuni ale unui proces. De exemplu, procesul de vnzare online al unei companii se poate conecta la procesul de comand a unei companii furnizor atunci cnd nu exist stoc suficient. Pentru a realiza acest lucru, situaia ar fi adnotat s indice cnd o comand trebuie s fie fcut pentru un anumit produs sau produse, n timp ce un alt proces ar fi adnotat ca furnizor al produsului sau produselor respective. Raionametul din spatele acestei informaii sugereaz o decizie care conecteaz o situaie n care nu exist stoc cu, o situaie corespunztoare pentru comanda automat de la furnizor. n activitatea viitoare n ceea ce privete reprezentarea de cunotine i de schimb de informaii este posibil s se dezvolte un instrument de modelare web care permite definirea online i colaborativ a proceselor bazate pe model prin permiterea participrii diferiiilor experi n definirea proceselor de e-business, promovnd mbuntirea continu i schimbul de cunotine ntre companii.

Bibliografie
1. A.Garcia-Crespo, B. Ruiz-Mezcua, J.L. Lopez-Cuadrado, I. Gonzolo-Carrasco Semantic model for Knowledge representation in e-business, knowledge-Based Systems (2010).
2. http://www.sap.com/usa/about/index.epx

28

You might also like