400 likes | 592 Views
Sémantický web. úvodní seznámení. Vojtěch Svátek. 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í
E N D
Sémantický web úvodní seznámení Vojtěch Svátek
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íklá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čkovací jazyky - XML • 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 (2) <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> fragment DTD <!ELEMENT nabidka (polozka+) > <!ELEMENT polozka (urceni,druh,cena?) > <!ELEMENT cena (#PCDATA) > <!ATTLIST cena mena NMTOKEN >
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!
XML a sémantika (2) Lázně A <polozka><urceni>děti</urceni> <druh>perličková koupel </druh> <terapie> podpůrná </terapie> <cena mena=“czk”> 280 </cena></polozka> 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> ? ? ?
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 Zachycení důvěry v data apod. Pravidla: odvozování nových fakt Ontologie (OWL): formální definice pojmů RDF: „nosič dat“ (fakta) XML: syntaktická úroveň (ukládání dat)
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
RDF • “Resource Description Framework” • Doporučení konsorcia W3Chttp://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á_koupel položka32 cena X32X32 měna czkX32 hodnota 280X32 typCeny cena_s_DPH
položka32 czk 280 RDFgrafická notace léčba Perličková _koupel cena měna hodnota Cena_s_DPH typCeny
RDF - další možnosti • sdružování zdrojů do kolekcí (“container”) • reifikace - možnost formulovat tvrzení otvrzení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
RDF versus XML • 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í!
XML syntaxe RDF • RDF lze zapisovat (serializovat) pomocí XML, např.:<rdf:RDFxmlns: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> Subjekt Predikát Objekt
RDF ontologie • 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 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ěnaalespoň dvěmaosobá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í
Příklad části ontologie v OWL <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”
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 jakoextrakce 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