reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017...

16
2017 Reprezentarea cunostintelor folosind retele semantice Capitolul 8

Upload: doque

Post on 03-Feb-2018

226 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Reprezentarea cunostintelor folosind

retele semantice

Capitolul 8

Page 2: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Alegerea unui limbaj de reprezentare

• Exprimarea unei solutii presupune folosirea unui limbaj (formalism) de

reprezentare a problemei.

• Doua criterii de baza pentru compararea a doua logici: expresivitatea si

complexitatea.

• L1 este mai putin expresiv decat L2 daca orice problema care poate fi

reprezentata in L1 poate fi reprezentata si in L2.

• Complexitatea se refera la complexitatea rezolvarii celei mai dificile

probleme care se poate reprezenta intr-un formalism dat.

• Complexitatea si expresivitatea sunt in conflict.

• Este dorit un formalism cu expresivitate mare si complexitate mica.

• Un alt criteriu este naturaletea. Se refera la usurinta de interpretare a

reprezentarii de catre un agent uman. Naturaletea distinge reprezentarile

folosite in IA de celelalte reprezentari folosite in ingineria programarii.

Page 3: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Clasificarea limbajelor de reprezentare

• Formalisme bazate pe logica simbolica

– Clauze precise, clauze Horn, logici nemonotone, etc

• Formalisme de reprezentare procedurala:

– Sisteme bazate pe reguli de productie (ex.Clips)

• Formalisme de reprezentare bazate pe grafuri (retele)

– Retele semantice

• Formalisme de reprezentare structurata:

– Cadre (engl.frames), scenarii (engl.scripts), obiecte

• Un formalism de reprezentare este caracterizat prin:

– Sintaxa

– Semantica

– Proceduri de rationament

Page 4: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Trecerea de la problema la reprezentare

• Trebuie avute in vedere urmatoarele elemente:

– Alegerea nivelului de abstractizare

– Identificarea obiectelor si relatiilor

– Alegerea unui mod de reprezentare natural, modular si usor mentenabil

• Alegerea nivelului de abstractizare

– Un nivel inalt de abstractizare poate fi mai usor de inteles si de intretinut

– Un nivel coborat poate oferi o acuratete mai mare a reprezentarii. Insa cu

cat nivelul este mai coborat, cu atat rationamentele sunt mai greu de

efectuat. In plus, informatia la un nivel coborat de abstractizare poate sa nu

fie disponibila.

– Se pot folosi niveluri multiple de abstractizare in reprezentarea problemei.

Problema se va rezolva intai la nivelul cel mai inalt de abstractizare, apoi

solutia se rafineaza la nivelele mai coborate de abstractizare pana la

obtinerea unui rezultat satisfacator, suficient de detaliat.

Page 5: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Identificarea obiectelor si relatiilor

• Fiind dat un domeniu si o logica se pune problema stabilirii obiectelor si relatiilor care se vor referi in reprezentare. Pentru aceasta trebuie stabilita o ontologie a domeniului.

• Nu lumea determina obiectele si relatiile dintr-un anumit domeniu, ci observatorul lumii respective.

• Sa presupunem ca dorim sa reprezentam urmatoarea propozitie: “marul este rosu”. Avem alternativele:

rosu(mar)

culoare(mar,rosu)

prop(mar,culoare,rosu)

• Cu prima reprezentare putem intreba “Cine este rosu ?”

?rosu(X)

• Cu a doua reprezentare putem intreba “Ce culoare are marul ?”

?culoare(mar,X)

• Cu a treia reprezentare putem intreba: “Ce proprietate a marului are valoarea rosu ?”

?prop(mar,P,rosu)

Page 6: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Reprezentare obiect-atribut-valoare

• Presupune o reprezentare obiectuala a lumii: lumea este formata din

obiecte, obiectele au proprietati si proprietatile au valori.

• Schema de reprezentare este:

prop(Obiect,Atribut,Valoare)

• Pentru a reprezenta: “Marul este un fruct” putem folosi:

prop(mar,este_un,fruct)

• Pentru a reprezenta: “Prelegerea 8 a cursului de IA a fost planificata la

ora 10 in sala N10)” se reprezinta prin inventarea unui obiect rez1 care

reprezinta “rezervarea unei sali de curs”. El va avea atributele: curs,

sectiune, ora si sala. Reprezentarea cu prop va fi:

prop(rez1,curs,ia)

prop(rez1,prelegere,8)

prop(rez1,ora,10)

prop(rez1,sala,n10)

Page 7: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Retele semantice

• Relatia prop se poate interpreta in termeni de grafuri. Obiectele si valorile sunt noduri si proprietatile arce. Astfel prop(Obj,Atr,Val) se va desemna grafic printr-un arc etichetat cu Atr de la nodul Obj la nodul Val. Val poate fi o valoare primitiva sau un alt obiect.

• Multimea arcelor dintr-o astfel de reprezentare formeaza o retea semantica (engl.semantic network).

Valoare Primitiva Obiect

Atribut

Obiect

Atribut

Valoare Obiect

Page 8: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

RDF

• Recent s-a propus o modalitate de reprezentare a resurselor in Web. Aceasta se numeste Resource Description Framework – RDF.

• O reprezentare RDF este o multime de triplete ce definesc un graf orientat. Un arc reprezinta o proprietate (atribut). Nodul sursa al unui arc reprezinta un subiect (obiect). Nodul destinatie al unui arc reprezinta un obiect (valoare).

• Proprietatile, subiectele si obiectele sunt resurse – tip universal.

• Obiectele dintr-un triplet pot fi resurse sau literali (valori primitive).

Page 9: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Exemplu de retea semantica

este

VasDeSange

Artera

Vena

Aorta

este

contine sange

fibros

muscular

2.5

tubulara este

forma

perete

perete

diametru

sarac in oxigen

Artera mare

sange

bogat in oxigen

sange

7

procent

Artera brahiala stanga

sarac in oxigen

sange

Artera mica

20

procent

este

este

este

Page 10: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Terminologii si asertiuni

• Cunoasterea terminologica: T-Box

– Se refera la clasificarea obiectelor in functie de descrierile acestora

– De obicei pentru reprezentare se foloseste o retea semantica cu mostenire :

– Se bazeaza pe definirea de clase

• Cunoastere asertionala: A-Box

– Reprezinta o multe de fapte referitoare la o stare de lucruri

– De obicei se refera la existenta unor obiecte si la caracteristicile lor particulare; caracteristicile pot fi indicate explicit sau rezulta prin declararea obiectului ca apartinand unei clase

Page 11: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Mostenire

• Relatia este sta la baza implementarii unei proceduri de rationament

numita mostenire (engl.inheritance).

• De exemplu se deduce ca: “Aorta are perete muscular”.

• La determinarea tipului de sange transportat de artera brahiala stanga apare

conflict. Aplicand mostenirea cu suprascriere (engl.overriding

inheritance), adica valoarea mai specifica suprascrie valoarea mai

generala, deducem:

“Artera brahiala stanga transporta sange sarac in oxigen”.

• Anumite atribute nu se mostenesc, ele caracterizand multimea tuturor

instantelor unei clase, nu o singura instanta. De exemplu atributul procent

reprezinta procentul de sange continut de o multime de vase de sange.

• Daca se face distinctie intre relatia este intre doua clase si relatia este intre

o instanta si o clasa atunci in primul caz relatia se interpreteaza ca relatie

submultime intre instantele claselor si in al doilea caz ca relatie de

apartenenta a instantei la clasa.

Page 12: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Mostenire multipla

• Mostenirea cu suprascriere functioneaza doar pentru retelele semantice structurate arborescent in raport cu relatia este.

• Pe cazul general putem avea mostenire multipla: un atribut mosteneste valori diferite de-alungul unor cai care nu se suprapun.

elefant

elefant alb

elefant regal

mitica

alba

gri

culoare

culoare

este

este este

este

Page 13: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Distanta inferentiala

• Daca clasele A si B sunt stramosi ai clasei X si X mosteneste pentru un atribut m o valoare a de la A si o valoare b de la B astfel incat a b si A este stramos al lui B atunci X va mosteni valoarea pentru m de la B, deoarece se considera ca dpdv inferential, X este mai aproape de B decat de A.

A

B

X

In exemplul anterior culoarea lui Mitica

va fi alba.

Altfel apare o situatie de conflict care se

rezolva prin metode ad-hoc.

Page 14: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

prop(artera, perete, muscular)

prop(artera, procent, 20)

prop(artera, sange, bogat_in_oxigen)

prop(artera_mare, este, artera)

prop(aorta, este, artera_mare)

prop(aorta, diametru, 2.5)

...

• Daca o clasa are pentru atributul A valoarea V, atunci orice clasa B care este subclasa a sa are aceeasi proprietate. Cu alte cuvinte pentru orice arc etichetat cu A de la o clasa C la o valoare V avem:

prop(O,A,V)

prop(O,este,C)

• De exemplu:

prop(O,contine,sange)

prop(O,este,vas_de_sange)

Reprezentarea retelelor semantice prin clauze precise

C V

A

Page 15: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Exemplu de retea

V2 C2

a

V1 C1

a

V C

a

V3 C3

a

W

b

este este

este este

Page 16: Reprezentarea cunostintelor folosind retele semanticesoftware.ucv.ro/~cbadica/ai/cap8.pdf · 2017 Retele semantice •Relatia prop se poate interpreta in termeni de grafuri. Obiectele

2017

Translatarea exemplului in Prolog

prop(c,este,c1).

prop(c,este,c2).

prop(c1,este,c3).

prop(c2,este,c3).

prop(c,a,v).

prop(c1,a,v1).

prop(c2,a,v2).

prop(c3,a,v3).

prop(c3,b,w).

% c2 -> a -> v2

prop(O,a,v2) :-

prop(O,este,c2).

% c2 -> este -> c3

prop(O,este,c3) :-

prop(O,este,c2).

% c1 -> a -> v1

prop(O,a,v1) :-

prop(O,este,c1).

% c1 -> este -> c3

prop(O,este,c3) :-

prop(O,este,c1).

% c3 -> a -> v3

prop(O,a,v3) :-

prop(O,este,c3).

% c -> a -> v

prop(O,a,v) :-

prop(O,este,c).

% c -> este -> c1

prop(O,este,c1) :- !,

prop(O,este,c).

% c -> este -> c2

prop(O,este,c2) :-

prop(O,este,c).

% c3 -> b -> w

/* prop(O,b,w) :-

prop(O,este,c3). */