Od metadanych do map wiedzy BachoTeX 2004 Mariusz Olko Mariusz.Olko@empolis.pl 1 maja 2004 1 <Tytuł> <Autor> 20 lutego 2004
Metadane co to jest? Informacja na temat informacji! Opisuje własności informacji Często trzymana osobno od informacji/dokumentu W wypadku książki Tytuł, autor Wydawca, miejsce i data wydania Kolofon, w jaki sposób złożone, czcionka, drukarnia W bibliotece metadane książek są przechowywane w katalogach rzeczowym i alfabetycznym Metadane o obywatelu są zapisane w jego dowodzie osobistym Granica między danymi i metadanymi jest płynna i zależy bardziej od kontekstu użycia tych informacji niż od ich postaci 2 6 kwietnia 2004
Przykłady metadanych Windows Microsoft Office umożliwia ustawianie metadanych w tworzonych dokumentach Metadane mogą być wstawiane jako wartości pól do dokumentu Można po nich wyszukiwać wykorzystując wbudowaną w Windows "usługę indeksowania" Są wyświetlane przy dokumencie w Explorerze Adobe Acrobat pozwala przechowywać dowolne metadane w plikach PDF Metadane są zapisywane zgodnie ze standardem RDF Metadane mogą być przechowywane w obrazkach TIFF, JPEG, EXIF i są potem używane w programach katalogujących 3 6 kwietnia 2004
Metadane w internecie Metadane można zapisywać w dokumentach HTML w tagach meta np. <meta name="author" content="adam Mickiewicz"> Metadane są wykorzystywane do katalogowania i wyszukiwania w internecie Podstawę wyszukiwania ciągle stanowi treść dokumentów Dodatkowe informacje są uzyskiwane z analizy Linków pomiędzy stronami Struktury adresów internetowych Takie metadane są niewystarczające Można opisywać tylko swoje własne strony Wartością metadanej jest zawsze tylko napis Prowadzi do niejednoznaczności opisu 4 6 kwietnia 2004
RDF - "Internetowy" język zapisu metadanych Resource Description Framework Każdy może opisywać wszystko (nie tylko własne zasoby) Rozszerzalny o dowolne własności (kolor włosów, numer kołnierzyka, numer ISBN) Serializowany/zapisywany w postaci XMLa Obecnie rekomendacja W3C http://www.w3.org/rdf 5 6 kwietnia 2004
Zasoby Zasobem (ang. resource) czyli obiektem opisywanym metadanymi może być strona internetowa, ale też konkretna osoba, firma itp. Zasoby mogą być identyfikowane w opisie RDFowym przez URI (Universal Resource Identifier) Niektóre zasoby nie potrafimy zidentyfikować inaczej, jak tylko poprzez podanie ich własności, wtedy zasób nazywamy anonimowym Każdy URL jest URI http://www.gust.org.pl http://www.molko.com.pl/pan-tadeusz.html#ksiega1 Możemy też nadać URI osobom pesel:123456788900 gg:2539120 http://empolis.pl/employee#olko21 6 6 kwietnia 2004
Budowa URI zasobów Universal Resource Identifier http://gust.org.pl/memebers#molko Przestrzeń nazw http://gust.org.pl/memebers# Nazwa lokalna molko Identyfikator przestrzeni nazw mmbr Teraz ten sam URL można zapisać w skróconej postaci mmbr:molko 7 6 kwietnia 2004
Metadane zapisujemy w postaci zdań Autorem strony www.molko.com.pl jest Mariusz Olko Podmiot (Subject) http://www.molko.com.pl Orzeczenie, własność (Property) dc:creator Dopełnienie (Object) Mariusz Olko 8 6 kwietnia 2004
Własności też są zasobami Własności też są zasobami tzn. są identyfikowane przez URI Własności też mogą mieć swoje własności 9 6 kwietnia 2004
Literały i zasoby jako wartości Wartościami własności mogą być literały bądź zasoby Literały mogą mieć typy zgodnie z XMLSchema 10 6 kwietnia 2004
Serializacja do XMLa <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description about="http://www.molko.com.pl"> <dc:creator about="http://gust.org.pl/members#molko"> <foaf:name>mariusz Olko</foaf:name> <foaf:mbox>mariusz@molko.com.pl</foaf:mbox> </dc:creator> </rdf:description> </rdf:rdf> 11 6 kwietnia 2004
Do interpretacji potrzebujemy języka/słownictwa RDF nie niesie ze sobą żadnej semantyki Semantyka wiąże się z uzgodnionymi schematami Schemat RDF: przestrzeń nazw zestaw zasobów (również własności) interpretacje zasobów należących do schematu 12 6 kwietnia 2004
Dublin Core Metadata Initative The Dublin Core Metadata Initiative (DCMI) is an organization dedicated to promoting the widespread adoption of interoperable metadata standards and developing specialized metadata vocabularies for describing resources that enable more intelligent information discovery systems. Publikuje schematy do opisu publikacji Rekomenduje sposoby opisu publikacji w różnych technologiach 13 6 kwietnia 2004
Dublin Core - podstawowe słownictwo Namespace URI http://purl.org/dc/elements/1.1/ Elements Title Creator Subject Description Publisher Contributor Date Type Format Source Language Rights 14 6 kwietnia 2004
Jak z tego wszystkiego skorzystać? <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:term="http://purl.org/dc/terms/"> <Description about="pan-tadeusz.html"> <dc:title>pan Tadeusz</dc:title> <dc:creator>adam Mickiewicz</dc:creator> <dc:publisher>mariusz Olko</dc:publisher> <term:isformatof about="pan-tadeusz.xml"/> <term:tableofcontent> <Sequence> <li resource="pan-tadeusz-1.html"/>... </Sequence> </term:tableofcontent> </Description> </RDF> 15 6 kwietnia 2004
Friend-Of-A-Friend (FOAF) W jaki sposób jednoznacznie zidentyfikować osobę w internecie? Użyć jej adres email jako identyfikator! Słownictwo Agent Person name nick Mbox knows depiction publications homepage organization group project http://xmlns.com/foaf/0.1/ 16 6 kwietnia 2004
Friend Of A Friend Osoby publikują pliki FOAF zawierające informacje O osobach które znają O projektach którymi się zajmują Nt. miejsca swojego pobytu lub zamieszkania Kalendarz np. konferencji w których biorą udział Aplikacje agregują dane FOAF pochodzące z wielu źródeł Zebrane informacje mogą posłużyć do odpowiedzi na pytania w rodzaju: Kogo ze znajomych, bądź znajomych znajomych mogę spotkać w mieście w którym odbywa się konferencja na którą jadę? 17 6 kwietnia 2004
Łączenie grafów RDFowych name "M. Olko" name Jan Kowalski knows mbox MOl@empolis.pl mbox somebody@empolis.pl contact:nearestairport mbox somebody@empolis.pl airport:iatacode WAW 18 6 kwietnia 2004
Łączenie grafów RDFowych Wartość własności mbox indentyfikuje jednoznacznie osobę! name "M. Olko" name Jan Kowalski knows mbox MOl@empolis.pl mbox somebody@empolis.pl contact:nearestairport mbox somebody@empolis.pl airport:iatacode WAW 19 6 kwietnia 2004
Łączenie grafów RDFowych Wartość własności mbox indentyfikuje jednoznacznie osobę! name "M. Olko" knows mbox MOl@empolis.pl name Jan Kowalski mbox somebody@empolis.pl contact:nearestairport airport:iatacode WAW 20 6 kwietnia 2004
Potrzeba języka opisu słownictwa (Schema for schema) RDF Schema - rekomendacja W3C Przy pomocy RDFS można definiować własne schematy takie jak np. Dublin Core czy FOAF RDFS zawiera słownictwo potrzebne do budowy schematów RDFS jest sam zdefiniowany w języku RDFS RDFS pozwala na definiowanie Klas Własności 21 6 kwietnia 2004
Narzędzia do modelowania schematów RDF definiuje podstawowy zestaw pojęć, który może być użyty do modelowania informacji i budowy ontologii Własności dotyczące zasobów label (krótka etykieta nadana zasobowi) description (dłuższy opis zasobu) type (określenie typu zasobu) Własności dotyczące klas subclassof (podział klasy na podklasy) Własności dotyczące własności subpropertyof domain (klasa obiektów, które mogą być podmiotem zdań z danym predykatem) range (klasa obiektów, które mogą być dopełnieniem zdań z danym predykatem) 22 6 kwietnia 2004
Przykład zdań ze schematem 23 6 kwietnia 2004
Reguły inferencyjne Nadanie interpretacji językowi oraz predykatom służącym do budowania modeli pozwala na skonstruowanie reguł zwanych regułami inferencji. Reguły te pozwalają na wywnioskowanie dodatkowych faktów ze zdań powiedzianych explicite 24 6 kwietnia 2004
Reguły związane z hierarchią klas 25 6 kwietnia 2004
Reguły dotyczące zakresu własności 26 6 kwietnia 2004
Reifikacja Nie można w prosty sposób wypowiadać zdań na temat innych zdań! Aby można było się wypowiedzieć na temat jakiegoś zdania, musi ono zostać zreifikowane tzn. zamienione na zestaw zdań (metazdań) Prawdopodobieństwo faktu, że 9 stycznia będzie temperatura 20 stopni celsjusza jest bliskie zeru 27 6 kwietnia 2004
Mamy możliwość budowania schematów i co dalej? Co moglibyśmy jeszcze chcieć? Możliwość definiowania dowolnych własności jako przechodnich Przechodniość subclassof i subpropertyof jest wbudowana w silniki rozumiejące RDFS Możliwość definiowania jednej własności jako odwrotnej do drugiej Jeśli "Maleństwo" jest dzieckiem "Kangurzycy" to "Kangurzyca" jest rodzicem "Maleństwa" Możliwość deklarowania własności jako jednoznacznie identyfikującej instancję (functional property) Aplikacja FOAF musi mieć wbudowaną wiedzę o tym, że jeśli dwa obiekty mają taką samą własność mbox to można je utożsamić ze sobą Możliwość deklarowania dwóch obiektów jako tożsamych Pomimo różnych URI obydwa obiekty są tożsame 28 6 kwietnia 2004
Web Ontology Language - OWL Obecnie Proposed Recommendation w W3C Bardziej sformalizowany język budowania ontologii Dostosowany do możliwości implementacji silników inferencyjnych Ogranicza wolność opisu RDFowego dając w zamian dobrze zdefiniowaną interpretację zdań Składnia oparta o dokumenty RDF, "internetowy" charakter Semantyka korzysta z dorobku AI w zakresie reprezentacji wiedzy 29 6 kwietnia 2004
Słownictwo OWL Definicja klasy owl:oneof przez wyliczenie przynależnych instancji owl:restriction i owl:onproperty przez podanie ograniczenia na własności instancji owl:allvaluesfrom wszystkie wartości własności są w podanej klasie owl:somevaluesfrom przynajmniej jedna w własności jest w podanej klasie owl:mincardinality i owl:maxcardinality Przez wykonanie operacji teoriomnogościowej na innych klasach owl:intersectionof owl:unionof owl:complementof 30 6 kwietnia 2004
OWL słownictwo owl:sameas stwierdza tożsamość dwóch obiektów owl:equivalentproperty ta sama dziedzina i ten sam zakres mogą mieć całkowicie inne znaczenie Owl:TransitiveProperty przechodniość własności Owl:FunctionalProperty Własność P, która może mieć tylko jedną unikalną wartość dla każdej instancji obiektu Inaczej jeżeli dwa obiekty mają jako tę samą wartość P to oznacza, że obiekty są tożsame owl:differentfrom Dwa URI odnoszą się do dwóch różnych bytów 31 6 kwietnia 2004
OWL - trzy poziomy języka OWL full Pozwala mieszać słownictwo RDFSchema oraz OWL Pozwala na dowolność w opisywaniu obiektów, klas i własności OWL DL Stawia ograniczenia na używanie słownictwa RDFSchema Wymaga rozdzielenia klas, własności, instancji Pozwala na zastosowanie istniejących już silnych narzędzi do wnioskowania opartych na Description Logic OWL Lite Stawia te same ograniczenia co OWL DL na użycie słownictwa RDFSchema oraz na rozdzielenie klas, własności i instancji Wybiera prosty podzbiór słownictwa umożliwiający łatwy start użytkownikom oraz zapewniający prostotę implementacji narzędzi 32 6 kwietnia 2004
Semantic Web "The Semantic Web will bring structure to the meaningful content of Web pages, creating an environment where software agents roaming from page to page can readily carry out sophisticated tasks for users." Scientific American, May 2001 Internetowa infrastruktura publikacji danych neutralna (niezależna od aplikacji) umożliwiająca przetwarzanie informacji przez programy w celu automatyzacji agregacji wielokrotnego użycia 33 6 kwietnia 2004
Semantic Web - aplikacje Poprawienie jakości wyszukiwania informacji Umożliwienie wyszukiwania usług sieciowych Automatyzacja czynności codziennych Rezerwacja wizyty u lekarza, w urzędzie Przygotowanie podróży Uwaga To jest ciągle wizja Technologie się pojawiają ale... Zdania nie oznaczają faktów URI nie identyfikują bytów rzeczywistych Potrzebna jest kodyfikacja wiedzy codziennej Pojawiają się problemy związane z etyką oraz bezpieczeństwem 34 6 kwietnia 2004