ABONAMENTE VIDEO TESTE REDACȚIA
RO
EN
×
▼ LISTĂ EDIȚII ▼
Numărul 4
Abonament PDF

Semantic Web scurtă introducere

Alina Dia Miron, Ph. D.
Semantic Web Expert
@Recognos Romania
PROGRAMARE

Web-ul Semantic este o extensie a Web-ului actual ce permite descrierea formală a resurselor existente pe Internet (pagini Web, documente text şi multimedia, baze de date, servicii etc). Dintre avantajele acestuia se impune ca principală identificarea rapidă și precisă a resurselor relevante pentru utilizator precum şi exploatarea automată a resurselor de către agenţii inteligenţi. Ideea de Web Semantic a apărut în urmă cu aproximativ 15 ani şi a fost introdusa de către Tim Berners-Lee, inventatorul Web-ului . Nevoia din care s-a născut ideea de Web Semantic poate fi explicată foarte uşor printr-un exemplu.

Să presupunem că un utilizator doreşte să afle informaţii despre un agent software, entitate din Inteligenţa Artificială care observă şi acţionează într-o lume definită cu scopul atingerii unui obiectiv. Prin executarea unei căutări a sintagmei agent software într-unul dintre motoarele de căutare cunoscute (Google, Bing, Ask, Yahoo etc), se returnează documentele în care au fost identificate cuvintele introduse în interogare. Dezavantajul motoarelor de căutare actuale este că funcţionează pe bază de string matching - cu alte cuvinte identifică cuvinte specificate în query într-un corpus de documente ţintă, astfel că sunt returnate documentele în care se găseşte cel puţin unul dintre cele două cuvinte din exemplul nostru. Totuşi subiectul acestor documente s-ar putea să nu fie cel de interes pentru utilizator. Prin urmare utilizatorul este nevoit să parcurgă şi să sorteze manual rezultatele pentru a extrage doar acele documente care îl interesează. În schimb, un motor de căutare semantic ar lua în considerare întreaga sintagmă, prin urmare conceptul de agent software şi nu stringul corespondent şi ar returna doar rezultatele care sunt relevate pentru utilizator. Rezultatul unei astfel de interogări semantice ar fi o descriere a conceptului de agent software în termeni de proprietăţi pe care acest concept le are şi eventual o listă de exemple. Putem duce acest raţionament şi mai departe şi să ne imaginăm un motor de căutare semantic care să răspundă la întrebări de genul : Care sunt universităţile din regiune în a căror curiculă sunt incluse cursuri despre agenţi software ?

Arhitectura Web-ului Semantic: Semantic Web Layer Cake

Web-ul Semantic poate fi văzut ca o suită de tehnologii, foarte sugestiv organizate de Tim Berners-Lee într-o piramida cunoscută sub numele de layer cake, ilustrată în Figura 1.

img5_1.jpg

Figura 1. Semantic Web Layer Cake

La baza piramidei găsim standardul Unicode folosit în reprezentarea şi manipularea textului în diferite limbi precum şi standardul de construcţie a URI-urilor, util pentru identificarea resursele publicate pe Web (documente multimedia, pagini Web, bloguri etc.). În prezent, standardul de facto pentru descrierea şi transferul de date pe Web este XML, care însa prezintă o serie de limitări. Printre acestea, putem aminti lipsa unei semantici formale a Schemelor XML, care face greoaie cumunicarea între aplicaţii sau servicii care nu partajează aceeaşi schemă sau aceeaşi interpretare a unei scheme. Din dorinţa de a adăuga un anumit nivel de semantică limbajului XML s-a născut limbajul RDF, un limbaj de descriere a resurselor folosind triplete de tipul , asambalate în structuri asemănătoare grafurilor. Pentru a organiza resursele şi proprietăţile într-o ierarhie de tipuri se foloseşte RDF Schema. Limbajul OWL extinde limbajul RDF(S) introducând o serie de constructori mai avansaţi care permit descrieri mai expresive decât cele posibile folosind triplete RDF(S). OWL permite de asemenea definirea de constrângeri asupra proprietăţilor cum ar fi constrângerile de cardinalitate, restricţiile de valori sau impunerea unor caracteristici predefinite pentru proprietăţi (i.e. tranzitivitate, simetrie etc.). De remarcat este faptul că limbajele RDF(S) şi OWL au la bază teoria logicilor de descriere, ceea ce garantează o interpretare semantică non-ambiguă a declaraţiilor făcute în aceste limbaje. Mai mult, folosind motoarele de inferenţă specifice logicilor de descriere, cunoştinte noi pot fi derivate automat din descrieri RDF(S) sau OWL.

Cunoştintele descrise folosind limbajele RDF(S) şi OWL pot fi interogate folosind limbajul standard SPARQL, foarte asemănător cu SQL. Celelalte layere din Figura 1 nu sunt încă complet standardizate. Ele vizează definirea unor limbaje standard de reguli (i.e. RIF, SWRL, SPIN), foarte utile, de exemplu în definirea de relaţii care nu pot fi descrise folosind constructorii disponibili în OWL, definirea unor sisteme de determinare a nivelului de încredere care se poate asocia cu un triplet RDF (i.e. verifică dacă premisele statement-ului vin din surse de încredere şi ce fel de sistem de inferenţe a fost folosit etc.). Layer-ul de criptografie este de asemenea foarte important pentru a verifica provenienţa statement-urilor RDF(S) şi/sau OWL şi se bazează pe folosirea de semnături digitale.

Reprezentarea şi interogarea datelor în Web-ul Semantic - câteva exemple

În mod tradiţional datele pot fi reprezentate ierarhic într-o structură XML, sau relaţional într-o bază de date. Web-ul Semantic introduce o nouă organizare a datelor sub forma graf-urilor RDF (Resource Description Framework). RDF este un model simplu de descriere a resurselor de pe Web (documente multimedia, bloguri, pagini Web, servicii Web, baze de date, etc) şi a meta-datelor asociate cu acestea din urmă cum ar fi titlul, autorul, data publicării etc. RDF descrie o resursă prin prisma proprietăţilor pe care aceasta le are. Concret, un exemplu simplu de graf RDF(S) este ilustrat în Figura 2.

18120.png

Figura 2. Examplu de graf RDF(S) simplu ce descrie două tipuri de companii între care pot exista relaţii de tipul furnizare de servicii IT. Graful este descris folosind sintaxa grafică (informală) şi sintaxa RDF/XML.

În cazul în care descrierea folosind RDF(S) nu este suficient de expresivă pentru a modela domenii mai complexe, avem la dispoziţie un limbaj de reprezentare a cunoştinţelor pe bază de ontologii numit OWL (Web Ontology Language). Detalii despre ontologii si limbajul OWL se gasesc în secţiunea Semantic Web (http://www.w3.org/standards/semanticweb/) de pe pagina oficială W3C, organismul responsabil de specificarea şi standardizarea acestor limbaje.

Un framework util pentru dezvoltarea de aplicaţii semantice este AllegroGraph, care pune la dispoziţie funcţionalităţi de stocare şi management al tripletelor RDF(S) într-o structură numită triplestore. Interogarea datelor din AllegroGraph se face cu SPARQL - limbaj standard definit de W3C - prin intermediul interfeţei grafice AllegroGraph Web View sau programatic prin intermediul unui API pus la dispoziţie de Franz (http://www.franz.com/agraph/downloads/). Interogările efectuate cu SPARQL sunt similare interogărilor SQL iar rezultatele obţinute sunt nişte sub-grafuri RDF(S) ale grafurilor ţintă. De obicei, informaţiile extrase sunt prezentate sub forma tabelară.

Un exemplu simplu, este query-ul « găseşte toti artiştii născuţi în Austria în secolul al XIX-lea », care se transpune într-o interogare SPARQL astfel:

SELECT *

WHERE {

?person a <http://dbpedia.org/ontology/Artist>;

<http://dbpedia.org/ontology/birthPlace> ?birthPlace.

?birthPlace <http://dbpedia.org/ontology/country> ?country.

?country rdfs:label "Austria"@en.

?person <http://dbpedia.org/property/dateOfBirth> ?dob

FILTER (?dob > "1/1/1800"^^xsd:date && ?dob < "12/31/1899"^^xsd:date)

}

Aceast query poate fi rulat în sparql-end-point-ul oferit de dbpedia (http://dbpedia.org/snorql/), şi afisează ca rezultat o listă de artişti, pentru care se specifică numele, locul, ţara şi data naşterii.

 

Stadiul actual de implementare

În ultimii zece ani, ideea de Web Semantic s-a răspandit tot mai mult, la fel şi adoptarea tehnologiilor de către marii actori de pe piaţa IT. Consorţiul W3C consideră tehnologiile semantice ca fiind tehnologii mature şi în curs de adoptare la scară largă cel puţin în rândul celor care urmăresc evoluţiile tehnologice (early adopters) (vezi Figura 3). De asemenea, analiştii de piaţă sunt foarte optimişti în legatură cu evoluţia tehnologiilor semantice şi adoptarea lor viitoare. De exemplu, un studiu realizat în 2012 pe un set de 12 miliarde de pagini web indexate de Yahoo!Search arată că utilizarea microformatelor RDFa pentru adnotarea paginilor a crescut cu 510% din martie 2009 până în octombrie 2010, de la 0.6% din paginile analizate pana la 3.6% (430 de milioane de pagini din 12 miliarde).

img5_3.jpg

Figura 3. Ciclul de adoptare al tehnologiilor semantice (Octombrie 2009)

Una dintre motivaţiile principale pentru adnotarea şi publicarea datelor/resurselor folosind tehnologiile semantice vine şi din avantajelele oferite de integrarea cu Linked Data Cloud. Linked Data Cloud este o colecţie de date care au fost deja adnotate şi publicate pe Web şi care poate fi exploatată pentru a spori valoarea şi vizibilitatea datelor proprii. Cu alte cuvinte, cu Linked Data se încearcă dărâmarea barierelor de exploatare a silozurile de date dispersate şi izolate. Descriind datele cu ajutorul limbajelor semantice (RDF(S) sau OWL) acestea pot fi exploatate într-o manieră uniformă, pot fi interconectate şi sunt disponibile tuturor. În Figura 4 se pot observa diferitele seturi de date publicate şi interconectate în cadrul grafului Linked Data. În centrul diagramei, ca hub-uri principale se afla DBpedia (baza de date semantice din spatele Wikipediei), GeoNames (o ontologie care descrie locaiile geografice), Freebase etc. Multe dintre aceste date sunt publice şi pot fi foarte uşor exploatate pentru construirea de noi aplicaţii şi servicii.

img5_4.jpg

Figura 4. Linked Data Cloud diagram

Semantic Web Meetup

În paralel cu activitatea de cercetare-dezvoltare, echipa Semantic Web se concentrează şi asupra creării şi menţinerii active a unei comunităţi locale de profesionişti interesaţi de tehnologiile semantice. Prin intermediul grupului de meetup din Cluj (http://www.meetup.com/Cluj-Semantic-WEB/), ajuns la un număr aproximativ de 110 membri cărora li se adaugă cei 70 de membri ai grupului de meetup din Târgu-Mureş (http://www.meetup.com/Targu-Mures-Semantic-Web/) cu care colaborăm îndeaproape, încercăm să menţinem ridicat nivelul de interes şi de conştientizare a comunităţii locale vis-a-vis de ultimele tehnologii semantice apărute pe piaţă. În această direcţie organizăm periodic întâlniri de tip seminar de mediatizare, la care invităm în măsura posibilităţilor cercetători de mare nume în domeniu. Printre aceştia îi putem aminti pe Rada Mihalcea, Constantin Orasan sau Elena Simperl. Grupurile de meetup sunt deschise tuturor celor interesaţi de Semantic Web iar subiectele discutate sunt stabilite împreună cu comunitatea. Prin urmare, dacă vreţi să aflaţi mai multe despre tehnologiile semantice, vă aşteptăm la următoarele evenimente!

Sponsori

  • ntt data
  • 3PillarGlobal
  • Betfair
  • Telenav
  • Accenture
  • Siemens
  • Bosch
  • FlowTraders
  • MHP
  • Connatix
  • UIPatj
  • MicroFocus
  • Colors in projects