Sémantický web
Vojtěch Svátek
úvodní seznámení
Cíl přednášky
• Ukázat, že současnému webu chybí „sémantika“, a že je do jisté míry možné ji „doplnit“ pomocí nástrojů pro reprezentaci a zpracování znalostí
• Poskytnout stručný přehled vybraných technologií používaných v souvislosti s koncepcí sémantického webu
Osnova přednášky
• Značkovací jazyky: HTML a XML• Jádro sémantického webu:
RDF a ontologie• Automatické sémantické anotování a
učení ontologií
Značkovací jazyky - HTML
• HyperText Mark-up Language– značky (tagy) z pevně daného souboru instrukcí pro zobrazovací program
(browser)– sémantiku v podstatě (bez externě dodaných konstrukcí) zachytit nelze
<p>Ceník lázeňské péče:</p> <ul> <li>Perličková koupel, pro děti, <b>cena 280 Kč</b> <li>Rašelinová koupel, pro dospělé, <b>cena 400 Kč</b> </ul>
Značkovací jazyky - HTML (2)
Ceník lázeňské péče:
• Perličková koupel, pro děti, cena 280 Kč• Rašelinová koupel, pro dospělé, cena 400 Kč
• značky (tagy) mohou být nadefinovány libovolně podle potřeby
• struktura dokumentů daného typu popsána v DTD nebo XML schématu
• dokumenty mohou být zpracovány libovolnými aplikacemi, které rozumějí danému schématu
Značkovací jazyky - XML
<nabidka>
<polozka> <urceni>děti</urceni> <druh>perličková koupel</druh> <cena mena=“czk”>280</cena> </polozka>
<polozka> <urceni>dospělí</urceni> <druh>rašelinová koupel</druh> <cena mena=“czk”>400</cena> </polozka>
</nabidka>
<!ELEMENT nabidka (polozka+) ><!ELEMENT polozka (urceni,druh,cena?) ><!ELEMENT cena (#PCDATA) ><!ATTLIST cena mena NMTOKEN >
fragment DTD
Značkovací jazyky - XML (2)
XML a sémantika
• Sémantika: význam sdělení pro příjemce• Stromová struktura XML pouze předepisuje
způsob zaznamenání dat, nic nevypovídá o jejich významu
• Sémantickou informaci musí do aplikace “vpravit” výhradně lidský uživatel!
Lázně B
<polozka>
<urceni>oběhové potíže </urceni>
<druh> samoplátce </druh>
<terapie>
rašelinová koupel
</terapie> <cena mena=“czk”> 300 </cena></polozka>
Lázně A
<polozka> <urceni>děti</urceni> <druh> perličková koupel </druh> <terapie> podpůrná
</terapie> <cena mena=“czk”> 280 </cena></polozka>
XML a sémantika (2)
?
?
?
Osnova přednášky
• Značkovací jazyky: HTML a XML• Jádro sémantického webu:
RDF a ontologie• Automatické sémantické anotování a
učení ontologií
Sémantický web jako problémová oblast
• Termín zaveden kolem r.2000 pro oblast výzkumu vzniklou spojením– nástrojů a standardů sítě WWW– technologie reprezentace a zpracování znalostí, zejména
• modelování znalostí (ontologické inženýrství)• formální logiky (deskripční, event. Hornova logika)
• Později se zapojily i další komunity– zpracování přir. jazyka, text/web mining, databáze,
(mezi-)podnikové procesy, filosofie, zpracování neurčitosti, sociální sítě, HCI a multimédia...
• Dialog komunit je přínosem už sám o sobě
Sémantický web jako „artefakt“ či „fenomén“
• Tim Berners-Lee: aby web nebyl jen pro lidi, ale i pro počítače, musí být schopen formálně reprezentovat informace a definovat jejich význam, tak, aby nad nimi bylo možné automaticky odvozovat
• Jádrem současné koncepce sémantického webu jsou data reprezentovaná v jazyce RDF, s významem definovaným pomocí ontologií, a s odvozováním nových informací zejména pomocí pravidel (o nich až později…)
Tradiční model vrstev sémantického webu
XML: syntaktická úroveň (ukládání dat)
RDF: „nosič dat“ (fakta)
Ontologie (OWL): formální definice pojmů
Pravidla: odvozování nových fakt
Zachycení důvěry v data apod.
Stav standardizace
• XML – široce rozšířená technologie (i mimo webové prostředí)
• RDF, OWL – doporučení (standardy) konsorcia W3C, rozsáhlá komunita uživatelů, velký počet implementací
• pravidlové jazyky – existuje řada návrhů, některé poměrně propracované (např. SWRL), ale ještě nelze mluvit o standardu, omezená implementační podpora
• důvěra apod. – zatím na úrovni výzkumných prototypů a diskusí v pracovních skupinách
• “Resource Description Framework”• Doporučení konsorcia W3C
http://www.w3.org/RDF/• Jednoduchý jazyk, v němž je možné vyjádřit tvrzení typu “Zdroj X nabývá pro vlastnost Y hodnoty
Z” - tzv. trojice (“triple”) subjekt-predikát-objekt• Např.:
subjekt predikát objektpoložka32 léčba perličková_koupelpoložka32 cena X32X32 měna czkX32 hodnota 280X32 typCeny cena_s_DPH
RDF
RDFgrafická notace
položka32 Perličková _koupel
léčba
cena czk
280
měna
hodnota
typCenyCena
_s_DPH
RDF - další možnosti
• sdružování zdrojů do kolekcí (“container”)• reifikace - možnost formulovat tvrzení
o tvrzeních– předdefinované vlastnosti „subject“, „predicate“, „object“, a typ
zdroje „statement“– např. pro označení autora daného tvrzení– není přímo spojeno s původním tvrzením
• “typování” zdrojů (rozdělení do tříd) pomocí RDF Schema
• modulární (trojice na sobě nezávislé)• subjekty, predikáty i některé objekty jsou
zdroje s jednoznačným identifikátorem - URI (Uniform Resource Identifier)
• trojice = fakta o světě, kterým lze přiřadit pravdivostní hodnotu; nejde jen o strukturu dat jako v případě XML stromů
• samotné RDF ovšem stále nestačí pro strojové odvozování nových informací!
RDF versus XML
XML syntaxe RDF
• RDF lze zapisovat (serializovat) pomocí XML, např.:
<rdf:RDF xmlns:r="http://www.lazenska_pece.cz/">
<rdf:Description about="http://www.lazne-a.cz/polozka32"> <r:léčba rdf:resource="http://www.procedury.cz/perlickova_koupel"/> </rdf:Description></rdf:RDF>
SubjektPredikát
Objekt
• Nová tvrzení můžeme odvodit tehdy, když konkrétní zdroje přiřadíme k obecným třídám jakožto jejich instance pomocí konstrukce rdf:type
• Vlastnosti definované u tříd se pak promítají do jejich instancí
• Struktura tříd a jejich vlastnosti mohou být definovány v ontologiích
• Hlavní jazyky pro reprezentaci webových ontologií:– RDF Schema: jednoduchý hierarchický jazyk– OWL: jazyk s bohatými vyjadřovacími možnostmi,
založen na deskripční logice
RDF ontologie
RDF Schema
• Standard zahrnuje možnost specifikovat:– vztah třídy a podtřídy, vlastnosti a “podvlastnosti”
• subclass(Koupel,Léčba)• subproperty(léčí,ovlivňuje)
– definiční obor a obor hodnot vlastnosti• domain (určení) = Léčba• range (určení) = Kategorie_pojištěnce
Ontologie
• Původně (ve filosofii) věda o “bytí” a „jsoucnech“
• V informatice se ontologií nazývá určitý soubor informací - tzv. formální specifikace sdílené konceptualizace– konceptualizace: abstraktní model určité
oblasti - soubor pojmů a vztahů mezi nimi– formální: vyjádřená ve formálně-logickém
jazyce, zpracovatelná počítačem– sdílená: je výsledkem dohody více subjektů
Jazyk OWL
• založen na určité variantě tzv. deskripční logiky• oproti RDFS umožňuje definovat např.
– lokální omezení vlastností v rámci určité třídy: • na kardinalitu (skupinová terapie je prováděna alespoň dvěma osobám), • univerzální a existenční kvantifikace
– matematické charakteristiky vlastností (vlastnost ”být součástí” je tranzitivní, vlastnost “mít kód MKN” je funkční...); inverzní vlastnosti
– disjunktnost či ekvivalenci tříd (třída Léčba je disjunktní se třídou Klient)– anonymní (nepojmenované) třídy, definované určitým logickým výrazem pro
jednorázové použití
<owl:Class rdf:ID=„Léková_inhalace"> <rdfs:subClassOf rdf:resource=„Inhalace" /> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=„inhalovanáLátka"/> <owl:someValuesFrom rdf:resource=„Lék”/> </owl:Restriction> </rdfs:subClassOf></owl:Class>
Třída “Léková inhalace” je podtřídou třídy “Inhalace”, a každá její instance musí být spojena relací “inhalovanáLátka” s alespoň 1 instancí třídy “Lék”
Příklad části ontologie v OWL
Odvozovací úlohy v OWL
• Testování splnitelnosti tříd… tím i konzistence ontologie jako logické teorie
• Odvozování taxonomické struktury
• Ověřování příslušnosti instance ke třídě• Klasifikace individua vzhledem k ontologii• …a některé další
Osnova přednášky
• Značkovací jazyky: HTML a XML• Jádro sémantického webu:
RDF a ontologie• Automatické sémantické anotování a
učení ontologií
Sémantický web a textové zdroje
• Sémantický web je (primárně) určen pro softwarové aplikace – hlavní je pro něj formálně strukturovaná reprezentace
• Podstatou současného webu jsou převážně texty (v menší míře obrázky) v prezentační struktuře (HTML)
• Pro vznik „nadkritického“ množství formálně strukturovaných („sémantických“) dat je nezbytné využít existující texty a prezentační strukturu
Sémantický web a textové zdroje (2)
• Transformace textu na sémantické struktury (např. RDF) pomocí vyznačování jeho částí se označuje jako sémantické anotování– ruční– poloautomatické– automatické
• Automatické anotování je založené na metodách označovaných jako extrakce informací (information extraction – IE)
Sémantický web a textové zdroje (3)
• Ontologie jsou obvykle méně rozsáhlé a stabilnější než báze RDF faktů
• I tak je ale jejich tvorba náročná a je obtížné dosáhnout reprezentativního pokrytí problémové oblasti
• Automatickou analýzou (dolováním z) textů lze nalézt – termíny – kandidáty na třídy, relace a instance– taxonomické a netaxonomické vztahy– někdy i další logické axiomy
• Tento proces se často označuje jako učení ontologií
Extrakce informací
• Prehistorie již několik desítek let v rámci strojové lingvistiky – sémantická analýza struktury vět – nadstavba plné syntaktické větné analýzy– snaha o preciznost a obecnost (nezávislost na doméně)– náročné ruční anotování dat, nízká adaptovatelnost pro
specifickou doménu– dnes např. tzv. tektogramatická vrstva pražského závislostního
korpusu
Extrakce informací (2)
• „Pragmatická“ větev IE vznikla koncem 80. let jako prostředek pro rychlé vyhledávání klíčových informací v krátkých textových zprávách, např. – nehody, teroristické/kriminální činy…– obchodní svět (akvizice, personální změny)
• Brzy rozšíření do dalších oblastí, např.– předpovědi počasí– lékařské zprávy
• … a obecně pro webová data: web IE
Extrakce informací (3)
• Zpočátku většinou založené na jednoduchých ručně formulovaných vzorech (vzorcích?) – regulární výrazy
• Příklad z oblasti medicíny – extrakce hodnot krevního tlaku TK ([0-9]+)/([0-9]+)
• Na rozdíl od „čistého“ lingvistického přístupu funguje i pro „útržkovitý“ text
Extrakce informací (4)
• Ruční tvorba vzorů je často subjektivně ovlivněná a při nárůstu jejich počtu je obtížně je udržovat
• Hlavním přístupem se později stalo učení vzorů, ať už v rámci – symbolických pravidel (explicitní vzory)– statistických modelů (implicitní vzory skryté
v pravděpodobnostních distribucích)– wrapperů (explicitní vzory nad elementy HTML)
Extrakce informací (5)
• Učení vzorů ovšem vyžaduje ručně anotovaná trénovací data/příklady• Wrappery
– stačí několik málo příkladů, ale omezené využití (závislost na strukturovanosti stránky)
• Pravidla– větší množství trénovacích dat
• Statistické modely– velké množství trénovacích dat
Extrakce informací (6)
• Čistě ruční tvorba trénovacích dat je velmi nákladná, proto se používají iterativní procesy– Statistický bootstrapping: vzory, které jsou velmi úspěšné na malém vzorku
ručně anotovaných trénovacích dat jsou následně použity pro anotování dalších dat (nese s sebou riziko propagace chyb)
– Bootstrapping založený na redundanci informací (zejména pro WWW): z informace, kterou systém najde na různých zdrojích v různé struktuře, odvodí formální tvar informací v těchto zdrojích (např. biblio, inzeráty – systém Armadillo) a podle toho z nich extrahuje informace o dosud neznámých objektech
Extrakce informací (7)
• Vedle toho se stále uplatňují přístupy založené na ruční tvorbě vzorů (zpravidla v kombinaci s učením ev. wrappery)
• Perspektivní jsou zejména přístupy založené na extrakčních ontologiích (Embley, Labský)
• Výhoda rychlého startu – vytvoří se zárodek modelu, který je iterativně vylepšován
• Souvislost mezi extrakčními a „normálními“ doménovými ontologiemi – možnost částečné transformace jedněch na druhé
Část extrakční ontologie pro kontaktní informace na lékařských stránkách (Labský
2007)
<class id="Contact"> ... <attribute id="title" type="name" card="0-4" eng="0.80"> <pattern id="titles" ignore="case"> (( MUDr | MVDr | PhDr | PhD | Dr | Mgr | Bc | BSc | CSc | Ing | Doc | Prof | PharmDr | RNDr | RSDr | DiS | PaedDr | PaeDr | PhMr | MgA | Ph . D | DrSc | Dr . Sc | JUDr | BcA | ThDr | MBA | M .? B .? A | Mr | Mrs | Ms | Sir | MD | MSc ) .?)
( docent | docentka | profesor | associate professor (of <tok type="alpha"/>)? | Associate Professor (of <tok type="alpha"/>)? | profesorka | magistr | magister | magistra | doctor )
( MB | BS | MBBS | FRCP | MRCP | FRCPsych | MRCPCH | MBChB | DRCOG | Bchir | ChB ) </pattern> <value> <pattern cover="0.95" ignore="case" p="0.95"> <pattern ref="titles" /> </pattern> <length><distribution min="1" max="2" /></length> </value> </attribute> ...
Učení ontologií
• Víceméně kopíruje proces ruční tvorby ontologií, ale snaží se využít automatické techniky
• Hlavní fáze– extrakce klíčových termínů– identifikace tříd a instancí pojmů– tvorba taxonomie– tvorba a pojmenování netaxonomických relací– tvorba složitějších axiomů, a charakterizace ve smyslu „upper-level“(např.
„látkové“ pojmy…)
Učení ontologií (2)
• Dva hlavní směry (často se prolínají)– směr založený na četnostech termínů
v dokumentech, např.• pokud ve většině dokumentů, kde se vyskytuje t2, se také (lépe: v jeho blízkosti)
vyskytuje t1, pak by t2 mohl označovat podtřídu vzhledem k t1• pokud se t1 a t2 vyskytují ve většině dokumentů v blízkosti jeden druhého, mohlo
by jít o netaxonomickou relaci
– směr založený na strukturních vzorech (Hearst patterns) – souvislost s IE
• např.: „X a jiné Y“, „X je Y, který…“, „…tyto Y: X, …“
Shrnutí
• Běžné technologie WWW (zejména jazyk HTML) poskytují jen minimální možnosti zachytit věcný význam vystavených údajů
• Základem koncepce sémantického webu je přiřazení konkrétních zdrojů k obecným třídám, o kterých lze formulovat logické teorie (ontologie)
• Konkrétní realizací sémantického webu je v současnosti prostředí RDF a ontologického jazyka OWL, dále se pracuje na pravidlové vrstvě
• Pro vznik dostatečného objemu sémanticky anotovaných dat je nutné využití mj. technik dolování z textů a zpracování přirozeného jazyka