Interacțiunea om-calculator Sisteme hipertext © 2015 Mihaela Colhon Texte Textele reprezintă o modalitate de comunicare ommașină extrem de eficace.

Download Report

Transcript Interacțiunea om-calculator Sisteme hipertext © 2015 Mihaela Colhon Texte Textele reprezintă o modalitate de comunicare ommașină extrem de eficace.

Interacțiunea om-calculator

Sisteme hipertext

© 2015 Mihaela Colhon

Texte

Textele reprezintă o modalitate de comunicare om mașină extrem de eficace. Ele se prezintă sub forma unor șiruri de caractere menite să fie citite, înțelese și pentru a provoca un anumit impact asupra cititorului.

Citirea este un proces care ține de percepția vizuală ce necesită recunoașterea de simboluri (litere) și structuri sintactice (cuvinte) și semantice (înțelesul textului sau mesajul transmis).

© 2015 Mihaela Colhon

Texte

Înțelegerea depinde de bagajul de cunoștințe ale fiecărui utilizator, care ține de contextul istoric, fizic și mental. În baza înțelegerii se construiește un model mental al textului ce se citește.

Impactul asupra cititorului poate fi controlat prin mai multe tehnici: - Conținut - Scheme retorice - Tehnici de vizualizare © 2015 Mihaela Colhon

Aspecte ale textelor

Un text obisnuit, hipertext sau hipermedia poate avea mai multe aspecte: - Text brut, succesiune de semne - Text adnotat (ex: HTML, XML, LaTex) - Limbaj de adnotare (ex: DTD) - Arborele care reprezintă imbricarea fragmentelor de text (conform DOM) - Stilul de afișare implicit sau explicit exprimat (de ex: în CSS) - Textul afișat pe ecranul calculatorului - Textul tipărit pe hârtie © 2015 Mihaela Colhon

XML – Universal Language Annotation

Semantic Web este reprezentarea abstractă a datelor de pe World Wide Web (WWW), bazat in principal pe standardele Resource Description Framework (RDF). Acesta este dezvoltat de World Wide Web Consortium (W3C), în colaborare cu un număr de cercetători și parteneri industriali.

XML - derivat din eXtensible Markup Language este un limbaj de marcare de uz general, care sprijină schimbul de structurate date intre diferite sisteme informatice .

Cum popularitatea XML crește în mod substanțial, si importanța limbajelor XML pentru a descrie structura și semantica cunoașterii umane crește, de asemenea.

XML Schema este considerată o definiție abstractă a unui set de documente conforme specificațiilor XML.

© 2015 Mihaela Colhon

Ce este XML?

XML este un acronim pentru eXtensible Markup Language limbaj extensibil de marcare.

Limbaj de marcare (în engl. Markup Language) - un limbaj pentru descrirea formei unui document (interpretarea conținutul documentului). Un limbaj de marcare defineste un tip de document. Această idee a fost introdusă pentru prima oară în SGML și apoi preluată și în XML.

Un document scris într-un limbaj de marcare este compus din date si marcaje.

© 2015 Mihaela Colhon

XML – limbaj de markup

Există și alte limbaje markup, de exemplu HTML. Însă între XML și HTML este o deosebire fundamentală: XML oferă descrieri cu privire la modul în care are loc transferul de date, fără să precizeze modul în care sunt prezentate aceste date. HTML se ocupă cu prezentarea datelor.

În concluzie, XML se ocupă cu informația de descriere, în timp ce HTML se ocupă cu informația de afișare.

Tagurile în XML au următoarea structură sintactică: - Începutul unui tag este reprezentat de caracterul < - Sfârșitul tagului este dat de caracterul > - Între cele două paranteze ascuțite se trece denumirea tagului - un șir de caractere.

Un tag definiește o meta-informație despre elementul pentru care este definit iar textul dintre taguri este conținutul actual al acestuia.

© 2015 Mihaela Colhon

XML – limbaj de markup

Marcajele sunt acele informații care indică utilizatorului cum trebuie interpretat conținutul documentului (datele propriu-zise).

Există diverse tipuri de marcaje: - Stilistice: indică stilul de prezentare a documentului: I, U, B, FONT, etc.

- Structurale: indică cum este structurat documentul: HEAD, BODY, P, H, etc.

- Semantice: indica semnificația documentului: TITLE, META, etc.

conținutului © 2015 Mihaela Colhon

Aplicații XML

Un limbaj de marcare creat cu XML se numește și aplicație XML (ex. XHTML).

Tipuri de aplicații care folosesc XML: - Interacțiunea cu două sau mai multe surse de date, reprezentate în formate diferite = integrarea datelor (în engl. data integration) disponibile de la aplicații diferite putând rula pe platforme diferite.

- Transferarea unei părți a prelucrărilor asupra datelor pe calculatoarele client în arhitecturile client-server.

- Furnizarea de vederi diferite asupra acelorași date.

© 2015 Mihaela Colhon

Reprezentarea arborilor binari în XML

"

1.0" standalone="yes" encoding="UTF-8" ?> a b d c e

b d

© 2015 Mihaela Colhon

a e c

Reprezentarea arborilor binari în XML

"

1.0" standalone="yes" encoding="UTF-8" ?> a b d c e

• • Prima linie este declaratia de document XML.

• Textul inclus intre • Primul marcaj cu • Elementul textul ”a” elementul. Un element este inclus intre un marcaj de inceput si un marcaj de sfarsit. este un marcaj de inceput si este un marcaj de sfarsit.

radacina al documentului.

este un marcaj vid si este echivalent a in interiorul sau.

--> este un comentariu.

incepe elementul . Indica un element vid.

contine © 2015 Mihaela Colhon

Elemente XML cu atribute

Informatia din cadrul unui nod al arborelui se poate reprezenta ca valoare a unui atribut.

...

...

Un element poate avea mai multe atribute, de exemplu: © 2015 Mihaela Colhon

Limbaje formale si analizoare sintactice

XML este un metalimbaj formal pentru definirea de limbaje formale specifice. Limbaj formal = o multime de secvente de simboluri (enunturi, fraze) construite pe baza unei multimi de reguli de formare numita sintaxa limbajului si interpretate potrivit unui anumit inteles numit

semantica limbajului.

© 2015 Mihaela Colhon

Limbaje formale si analizoare sintactice

Pentru analiza si prelucrarea enunturilor unui limbaj formal (a documentelor XML in particular) este necesar un program special numit procesor de de enunturi si indeplineste urmatoarele functii: limbaj.

O componenta de baza a unui procesor de limbaj este analizorul sintactic (în engl. parser). Un analizor sintactic pentru un limbaj formal L primeste la intrare o multime - Decide daca enunturile verifica sintaxa limbajului L.

- Daca nu, indica cat mai precis posibil ce reguli sunt incalcate si unde anume.

- Daca da, produce o reprezentare structurata intermediara a enunturilor astfel incat ele sa poata fi ulterior interpretate si prelucrate conform semanticii lui L.

© 2015 Mihaela Colhon

Limbaje formale si analizoare sintactice

Un programator de aplicatii va fi interesat in primul rand cum poate integra un procesor de limbaj in cadrul unei aplicatii. In cazul XML el se va confrunta cu problema integrarii analizoarelor sintactice de XML. In general exista doua modalitati prin care un analizor sintactic poate comunica rezultatele analizei celorlalte componente ale aplicatiei: i) prin evenimente – analizor sintactic bazat pe evenimente (engl.event-driven parser); ii) prin construirea explicita a unei structuri intermediare care sa descrie complet enunturile analizate – translator.

© 2015 Mihaela Colhon

Analiza si prelucrarea documentelor XML folosind Java • • Un analizor sintactic de XML poate fi i) cu validare (engl.validating parser), caz in care el verifica consistenta documentului XML cu un DTD sau ii) fara validare (engl.non-validating parser), caz in care el verifica doar daca documentul XML este bine-format.

© 2015 Mihaela Colhon

Analiza si prelucrarea documentelor XML folosind Java

Exista o standardizare a interfetelor de programare (engl.Application

Programming Interface – API) pe care trebuie sa le implementeze un analizor sintactic de XML astfel incat el sa poata fi integrat cat mai usor si portabil in cadrul unei aplicatii. In prezent exista doua API standard: Simple API for XML – SAX, un standard de-facto existent in doua versiuni SAX1 si SAX2. Defineste o multime de interfete pentru un analizor sintactic bazat pe evenimente (engl.event-driven parser).

SAX a fost definita intai pentru Java, dar s-au definit ulterior versiuni similare si pentru alte limbaje (C++); Document Object Model – DOM, un standard W3C pentru un analizor sintactic care traduce un document XML intr-o structura de date abstracta de tip arbore numita DOM. Exista 3 nivele de DOM: nivelul 1 (recomandare W3C), nivelul 2 (recomandare candidat W3C) si nivelul 3 (document W3C in lucru). DOM se doreste a fi o specificatie independenta de limbaj, fiind valabila si pentru limbajele de scripting (JavaScript) © 2015 Mihaela Colhon

SAX

SAX este un standard de facto pentru o interfata de programare a unui mecanism de analiza sintactica bazat pe evenimente a documentelor XML. Un programator de aplicatii va putea folosi orice biblioteca de programe de analiza sintactica conforma cu standardul SAX, fiind suficient sa cunoasca doar aceasta interfata standard.

Termenul bazat pe evenimente se refera la folosirea unor functii call- back. Aceste functii trebuie furnizate de programatorul de aplicatii si ele trateaza o serie de evenimente de interes primite de la analizorul sintactic. Un analizor sintactic conform cu SAX va trebui sa implementeze interfata SAX. Functiile call-back sunt implementate de obiecte speciale de tratare a evenimentelor (engl.handler). Un astfel de obiect trebuie sa implementeze niste interfete standard.

© 2015 Mihaela Colhon

DOM

DOM (nivelul 2) este o platforma si o interfata independenta de limbaj ce permite programelor si scripturilor sa acceseze si sa actualizeze dinamic continutul si structura documentelor XML.

© 2015 Mihaela Colhon

DOM

Pachetul de baza de date pentru reprezentarea unui document XML sub forma unui arbore.

Principalele interfete definite in acest pachet sunt urmatoarele: – Node org.w3c.dom

poate fi gandit ca o specificatie a unui tip abstract – este tipul primar al unui nod dintr-un arbore DOM – – NodeList Element Node .

– reprezinta o colectie ordonata de noduri – reprezinta un element al unui document XML Extinde tipul – NamedNodeMap – reprezinta o colectie de noduri ce pot fi accesate prin nume (de exemplu nodurile atribut unui element XML).

– Document Node .

– reprezinta nodul document al unui arbore DOM. Extinde tipul – – – – Attr Text – reprezinta un nod atribut al unui element XML. Extinde tipul – Comment Entity – – Node .

– – ProcessingInstruction ...

– © 2015 Mihaela Colhon

Folosirea DOM

Folosirea DOM presupune parcurgerea urmatorilor pasi: – Implementarea unui modul de prelucrare a informatiei dintr-un document XML reprezentat sub forma unui arbore DOM.

– In programul principal se realizeaza urmatoarele prelucrari: • Construirea unui obiect pentru reprezentarea unui analizor sintactic conform cu DOM.

• • Se executa functia de analiza sintactica a obiectului analizor.

Se extrage obiectul document si se prelucreaza.

DOMParser parser = new DOMParser(); parser.parse( ... ); Document doc = parser.getDocument(); Element root = doc.getDocumentElement(); ...

© 2015 Mihaela Colhon

Construirea unui arbore binar folosind DOM

public static BTree doc2BTree(Element doc) { NodeList children = doc.getChildNodes(); int noOfChildren = children.getLength(); if (noOfChildren==0) { return new BTree(); } else { Element info = null; Element left = null; Element right = null; int left_already = 0; for (int i=0;i

Specificații XML pentru Relații de Dependență

Ținând cont de specificațiile SynAF, vom considera două tipuri de entități textuale care pot suporta marcaje relatile la relațiilor de dependență care se pot realiza în text: - cuvinte/token-uri acestea sunt adnotate cu informații morfologice și sintactice: partea de vorbire (POS – Part Of Speech), număr, gen, caz, etc.

- legăturile de dependență propriu-zise pe baza cărora se pot defini grupuri de dependență © 2015 Mihaela Colhon

Specificații XML pentru Relații de Dependență

Pentru a reprezenta in format XML legăturile de dependență dintre cuvinte este nevoie să definim două tipuri de noduri: Un tip de nod pentru tokenuri de tip word (cuvând) Un tip de nod pentru relațiile de dependență

word id word form lemma word ground form < /parameter> POS word grammatical category dependency relation head word id dependent word id

© 2015 Mihaela Colhon

Specificații XML pentru Relații de Dependență

© 2015 Mihaela Colhon

Specificații XML

pentru Relații de Dependență

w1 i N w2 watch V ...

...

w2 w1

© 2015 Mihaela Colhon

© 2015 Mihaela Colhon

Q & A