Semanttinen Web Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto
Esipuhe Semanttinen Web (SW) on laaja W3C:n visio ja hanke (Webin) yhteensopivan tekniikan kehittämisestä siten että myös tietokoneet pystyisivät tulkitsemaan (Webin) sisältöjä Teknisesti SW kulminoituu RDF-kehykseen (Resource Description Framework) pohjimmiltaan kyse on sopimuksesta "metatiedon" esittämiseksi RDF standardoi universaalin tavan mallintaa (meta)tietoa universaalin tavan tallettaa em. mallin mukaista (meta)tietoa tiedostoon Semanttinen Web mahdollistaa asioita potentiaalisia sovelluksia on miltei rajattomasti mutta: SW tarjoaa pelkät puitteet (mutta millaiset!) 2
Esityksen sisältö Konteksti: W3C ja Web-teknologiat Miksi Semanttinen Web? Perusidea Mallinnus ja sovellukset Esimerkkejä Standardoinnin nykytilanne Hype: mitä Semanttinen Web ei ole? Osallistu!...esitys ei välttämättä etene tässä järjestyksessä ;-) 3
World Wide Web Consortium (W3C) W3C kehittää yhteensopivia teknologioita (spesifikaatioita, ohjeita ja ohjelmistoja) ja siten ohjaa Webin kehittymistä täyteen mittaansa...asettamalla teknisiä suosituksia (esim. XML-perhe) 3 päätstoa, 14 aluetstoa, n. 400 jäsenorganisaatiota Jäseneksi? ks. http://www.w3c.tut.fi/joining.html 4
Yleiskatsaus Web-teknologioihin 5
Web-arkkitehtuurin perusteet Web tarvitsee tekniikkaa "kulissien taakse", erityisesti palvelinverkosto (ihmiskäyttäjät, ohjelmistoagentit) universaalit Web-nimet (esim. kotisivun osoite, nimet) tiedon kuvailukehyksiä (tekstiformaatit, tiedon mallinnus) Webin yleisarkkitehtuurin perusjako 6
1/4: Johdanto Miksi Semanttinen Web? Perusideat ja -käsitteet Esimerkkejä
Miksi Semanttinen Web? The bane of my existence is doing things that I know the computer could do for me." Dan Connolly, The XML Revolution 8
Mikä nykyisessä tietojenkäsittelyssä on "vikana"? Tiedostot siirtyvät ohjelmien välillä jotenkuten, itse tieto erittäin huonosti Useimmat dokumenttiformaatit lähtevät ajatuksesta ihmisestä informaation aktiivisena tulkitsijana, vrt. osoite: Tampereen teknillinen yliopisto, Korkeakoulunkatu 1, 33101 Tampere vs. organisaatio: Tampereen teknillinen yliopisto osoite: katuosoite: Korkeakoulunkatu katunumero: 1 postinumero: 33101 kaupunki: Tampere data1 data2 Katuosoite on fyysinen paikka kaupungin sisällä, jne. 9
Ajattelutavan muutos toimintatavan muutos Tieto ja sen hyödyntämisen prosessit pitää kuvata "tietokoneiden näkökulmasta" sovellus ihminen sovellus ihminen sovellus sovellus kone sovellus kone sovellus esim. juna-aikataulu ryhmätyöohjelma kalenteri Mitä tarkoittaa (ideatasolla) käytännössä? 1. tarvitaan yhteinen tietomalli, esim. X:llä on ominaisuus "osoite" 2. tarvitaan pelisäännöt kuinka määritellä universaaleja ominaisuuksia (predikaatteja), esim. "katuosoite"...joita myös pitää yhteisesti noudattaa sovelluksissa... 10
Motivoiva esimerkki: Haystack Kuvalähde. MIT Computer Science and Artificial Intelligence Laboratory, http://haystack.lcs.mit.edu/ 11
Motivoiva esimerkki: Kyselyhaku Luonnollisen kielen fraasirakenteisiin perustuva kyselyhaku The START Natural Language Question Answering System (http://www.ai.mit.edu/projects/infolab/ailab) 12
Semanttinen Web = Web + kuvailutieto Idea: verkko välittää, ihmiskäyttäjä TAI kone tulkitsee agentit Kuvalähde. Koivunen & Miller, W3C, http://www.w3.org/2001/12/semweb-fin/w3csw 13
SW:n tekninen määrittelyrakenne ja perusidea Semanttisen Webin perusidea on yksinkertainen kuka tahansa voi sanoa mitä tahansa mistä tahansa perusteet yksinkertaisia, haasteet syntyvät sovellusten suunnittelusta ja esim. metatietosanastojen valinnasta Web Ontology Language, OWL Resource Description Framework, RDF XML URI SW on olennaisesti sopimus "metatietojen" ja niiden käyttöä ohjaavien skeemojen ja ontologioiden kirjoitustavasta SW esittää MITEN sanotaan, mutta EI MITÄ sanotaan (ts. lisäksi tarvitaan sanastojen standardointityötä eri sovellusten tarpeisiin) 14
Esimerkki: RDF ja tiedon mallinnus Mallinnus = objektien identifiointia ja näiden piirteiden koodausta yhteisesti sovitulla kieliopilla ja käsitteillä Aiottu tulkinta: ammatti Suomen presidentti Mallinnus: jobs:affiliation http://persons.fi/presidents/e2000 Suomen presidentti Asia tietokoneen silmin : Klik. liittyy jotenkin jobs-sanaston tulkintaan. Klik. (#(uri), #(jobs:affiliation), 011100...100101 ) ÄLY syntyy merkitysten verkosta 15
Esimerkki: Koneellisesti luettavaa tietoa http://www.w3c.tut.fi http://www.w3c.tut.fi/staff/ossi nimi: Ossi Nykänen sähköposti: ossi@w3.org kirjoittaja: viimeksi päivitetty: 2003-12-15 luokitus: standardointi otsikko: uutisia, joulukuu uutisotsikko1: uutisotsikko2:... uutisotsikko3:...... otsikko: XForms 1.2 Mobile teksti: W3C julkaisi uuden version... Lisäksi: - mitä sanoja käytetään (std-predikaateista sopiminen) - miten sanoja käytetään (skeemat) - "mitä sanat tarkoittavat tietyissä sovelluksissa" (ontologiat) 16
Keskeistä on tiedon yhdistäminen Hyödyntäminen: metatietoihin perustuvat haut (tai pelkän metatiedon hakeminen) tiedon yhdistäminen (standardipohja!) tiedon koostaminen, päättely, yms. tiedon julkaisija eri lähteiden valinta tiedon tulkitsija Kuvalähde. Berners-Lee, W3C, http://www.w3.org/2003/talks/0922-rsoc-tbl/overview.html 17
2/4 Resource Description Framework, RDF XML vs. RDF RDF-lausumat RDF-tietomalli Kyselyt: RDQL
XML vs. RDF = tietorakenne vs. tieto kirjoittamista ohjaava dokumentin tyyppimäärittely mallinnusta ohjaava skeema ja ontologia <html> <head> <body>... persons:ossi movies:cast-away hobbies:favourite-movie map/>dc:author</head><body><foo:title>tuote</foo:title><!--nop --><g>ite sarjallistus (kirjoittaminen XML-dokumenttina tiedostoon tms.) 19
Mallinnus & maailma sanojen takana SW:n avulla on mahdollista kuvata mitä tahansa kuvattavissa olevaa Hyvä pitää mielessä: objekti objektin nimi (nyt URIref) Tämä ei ole Tarja Halonen Universaalista tietomallista on hyötyä vain jos käytetään yhteisesti sovittuja nimiä (yksilöt ja predikaatit) 20
Semanttisen Webin perusta: RDF-lausumat Lausumat (~statement, assertion) ovat muotoa: (s,p,o) tai p(s)=o (osittaisrelaation mielessä) Esimerkkejä "Jussi on mies." "On olemassa nainen jonka mies on Jussi." "Jussi sähköpostiosoite on jussi@tut.fi." "Sähköpostiosoite on yhteystieto." "Isät ovat miehiä." Huomaa: lausumien ketjuttaminen (~"Tässä on kissa joka söi sen hiiren joka möi sen mallaspussin joka oli talossa jonka rakensi Jussi.") propositionaalisuus ja -kvanttori tyyppien sekoittuminen (ts. yleinen RDF FOL) 21
Esimerkki RDF-lausumien kirjoittamisesta Resurssilla Tarja Halonen on ominaisuus ammatti, jonka arvo on Suomen presidentti presidents:e2000 jobs:affiliation Suomen presidentti. N3 (abbr.) <http://persons.fi/presidents/e2000> <http://jobs.fi/affiliation> Suomen presidentti ^^ http://www.w3.org/2001/xmlschema#string. N3 (full) http://persons.fi/presidents/e2000 RDF-graafi http://jobs.fi/affiliation Suomen presidentti ^^http://www.w3.org/2001/xmlschema#string 22
RDF ja XML = RDF/XML RDF:n normatiivinen sarjallistusmuoto on XML, esim. ex:index.html exterms:creation-date "August 16, 1999"....muotoinen N3-lause voidaan (lyhenteet avattuna) esittää RDF/XML-formaatissa seuraavasti: <?xml version="1.0"?> <rdf:rdf xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:exterms="http://www.example.org/terms/"> <rdf:description rdf:about="http://www.example.org/index.html"> <exterms:creation-date>august 16, 1999</exterms:creation-date> </rdf:description> </rdf:rdf> XML-syntaksia tärkeämpää on ymmärtää mallin idea 23
Samat rakenteet kuin edellä, nyt diagrammeina RDF-graafidiagrammi (URI-viittaukset, tyhjät solmut ja literaalit, yleisrakenne) Huomaa: tyhjän solmun käyttö rakenteessa (N3: _:x) Kuvalähde. Manola et al. W3C, http://www.w3.org/tr/rdf-primer/ 24
Muuta hyödyllistä: säiliöt* Kolme säiliötä (container): rdf:bag, rdf:seq, rdf:alt Kuvalähde. Manola et al. W3C, http://www.w3.org/tr/rdf-primer/ 25
Muuta hyödyllistä: listat* Listarakenne: rdf:collection toisin kuin säiliöt, listan voi sulkea (!) Kuvalähde. Manola et al. W3C, http://www.w3.org/tr/rdf-primer/ 26
Tätäkö se on? Semanttisen Webin eri loogisille rakenteille voidaan kehittää varsin rikasta loogista teoriaa esim. vaativuus-, ja ratkeavuuskysymykset Soveltajien näkökulmasta todistamista tärkeämpiä ovat yleensä käytännölliset haku- ja päättelysovellukset metadatan raaka välittäminen (ilman mitään päättelyä) (semanttiset) säännöt (jos <ehto-toteutuu> niin <toimi>) semanttisen tiedon yhdistely ja piilevän tiedon esiin kaivaminen (esim. kahden ensimmäisen yo. tehtävän tueksi) 27
RDF-kyselyt Julkaistun RDF-datan hyödyntäminen on pitkälti... etsimistä, hakuja, jäsentämistä ja sääntöjen muodostamista Teknisesti iso osa yleispätevästä RDF-datan käsittelystä voidaan jäsentää erilaisina (semanttisina) kyselyinä Lähestymistavan etuja: yleispätevä ratkaisu toteutettavissa alustariippumattomasti teknisesti optimoitavissa soveltajalle jää vain vähän ohjelmointia SW ei (toistaiseksi) sisällä standardikyselykieltä kyselyjä voidaan kuitenkin tehdä esim. RDQL-kielellä 28
RDF Query Language, RDQL RDQL on Semanttisen Webin SQL RDF-lähde SELECT?resource,?familyName WHERE (?resource, <info:age>,?age), (?resource, <vcard:n>,?y), (?y, <vcard:family>,?familyname) AND?age >= 24 USING info FOR <http://somewhere/peopleinfo#>, vcard FOR <http://www.w3.org/2001/vcard-rdf/3.0#>";?resource?familyname http://www.u1... Romppainen http://www.u2... Ala-Harja http://www.u3... Kaarto...... sovellus Ks. HP Labs SW Research http://www.hpl.hp.com/semweb/ 29
3/4 Skeemat ja ontologiat RDF-skeemat Standardiesimerkkejä Web-ontologiat Kouluesimerkkejä
RDF-skeemat Edellä esitetty RDF-malli on jo sinänsä hyödyllinen, mutta mistä predikaatit (esim. jobs:affiliation) tulevat? Vastaus: eri alojen yhteisöt sopivat (oman alansa) predikaateista (termit) termistöjä julkaistaan spesifikaatioina (esim. Dublin Core)...jotka sisältävät formaalin kuvaukset predikaattien laillisesta käytöstä RDF-skeemoina RDF-skeema kertoo miten predikaatteja käytetään vrt. XML-skeemat ja DTD Hyöty: validointi (taas kerran) mikäli vastaanotettu metatieto ei noudata odotettua skeemaa (tyypit), ei sen tulkinnasta voida olla varmoja 31
Esimerkki: Dublin Core DC on sovittu standardi esim. verkkosivujen kuvailemisessa käytettävistä predikaateista (attribuutit) Sisältää seuraavat sanat (ja std-tulkinnan näille!): 32
Esimerkki: RSS RDF Site Summary (RSS 1.0) määrittelee kehyksen jonka avulla voidaan julkaista ja yhdistellä esim. tiedotteita ja uutisia Esimerkki: käyttäjäystävällinen uutispalvelu Tampereen seudun tiedotteet Turun seudun tiedotteet koonta, hakupalvelu, näkymät eri uutislähteitä yhdistelevä sovellus Pääkaupunkiseudun tiedotteet Yhteisen luokituksen mukaisia uutisia ja ilmoituksia (esim. yhteystiedot, uutiset asuntokauppa yms.) vs. Ks. esim. http://www.oreillynet.com/meerkat/ 33
...jatkoa (RSS 1.0) RSS 1.0 määrittelee perussanaston kehikko: channel, item, title, description muu assosioitava metatieto, esim. DC-attribuutit, RDF-kehyksen mukaisesti RSS-moduulit (helposti laajennettavissa RDF:n kautta) kontrolloituja sanastoja (joiden tulkinta on yhteinen) kolme standardimoduulia: Dublin Core, Syndication, Content Tuottaminen ja hyödyntäminen tuottamisen stdtavat: louhinta (extraction)/generointi (generation) std-ohjelmointi ( tuottaminen ), RSS-prosessorit ( lukeminen ) 34
Esimerkki: CC/PP Composite Capability/Preference Profiles (CC/PP) päätelaitteet (ja käyttäjät) voivat kertoa palvelimelle ominaisuuksistaan ja toiveistaan 2-tasoinen malli: komponentit attribuutit RDF/XML-formaatti Perusta esim. WAP:in UAProf -määritykselle Kuvalähde. WASP, http://www.webstandards.org/learn/askw3c/feb2004.html 35
Yhteenveto: RDF-lausumat, luokat ja predikaatit Skeemat RDF:m sydän on abstrakti malli, diagrammikieli (graafit) Lausumat käsittävät kolmentyyppisiä asioita yksilöt, predikaatit, luokat Lausumat, perusrakenne (P(a)=b) persons:tarja jobs:affiliation Suomen presidentti. persons:tarja cv:has-husband persons:pentti. Perusluokkakäsitteet (X is-a Y, Y R) cv:man rdf:type rdfs:class. cv:father rdfs:subclassof cv:man. persons:pentti persons:pentti rdf:type cv:father. Predikaatit (ominaisuudet) (P:Z Q) cv:has-husband rdf:type rdf:property. cv:has-husband rdfs:domain cv:woman. cv:has-husband rdfs:range cv:man. cv:man cv:father...päättely 36
Ontologiat Tähän mennessä esitettynä RDF:ää voisi löyhästi luonnehtia attribuuttipohjaisen metatiedon esittämisen välineeksi Askel eteenpäin (abstraktiotasossa ylöspäin) on siirtyä ontologioiden tasolle Ontologia on tietyn sovellusalueen jaettu, formaali ja eksplisiittinen spesifikaatio (täsmällinen kuvaus) poimii keskeiset käsitteet ja asettaa näiden väliset suhteet Tehtäviä ontologioille: kommunikointi (myös semiformaali), (mekaaninen) päättely, tiedon organisointi ja uudelleenkäyttö (yhdistely!) 37
Attribuuttipohjainen metatieto vs. ontologiat* Semanttisen Web sisältää kahdentyyppistä (meta)tietoa: yksilöitä luonnehtivia lausumia ("Ossi on mies.") terminologisia lausumia ("Mies on ihmisten aliluokka.") Suurin osa käytännön sovelluksissa hyödyllisestä (meta)tiedosta on "attribuuttipohjaista" joukko yksilöitä luonnehtivia lausumia ("Ossin sähköpostiosoite on ossi@w3.org. Ossi on mies.")...sekä kuvaus siitä, miten predikaatteja saa käyttää lausumissa (sähköpostiosoite, mies, RDF-skeemana) "Ontologiaperustainen" metatieto yleistää edellistä: (ABox) (TBox) mukaan kuvaus eri käsitteiden monimutkaisemmasta riippuvuuksista ja suhteista ("vanhempi" on luokka joka saadaan yhdistämällä luokat isä, äiti ja ottovanhempi, vain mies voi olla isä, ihmisellä on vain yksi biologinen äiti, jne.) Vaikutukset: suunnittelu, formaalin päättelyn rikkaus ( ) 38
OWL* OWL (Web Ontology Language) on yleiskäyttöinen stdkieli tietyntyyppisten ontologioiden kuvaamiseen Lähtökohta: deskriptiivinen logiikka OWLin tehtäviä: yksittäisresurssien tyyppien ja attribuuttien kuvaaminen luokkarakenteiden kuvaaminen resurssien välisten relaatioiden kuvaaminen relaatiohierarkian ja erilaisten rajoitteiden kuvaaminen ontologioiden välisten vastaavuuksien kuvaaminen ja dokumentointi OWL-kieliperhe suhteessa RDF:ään OWL Lite OWL DL OWL Full RDF OWL on aina sovelluksen osa ( muu tietojenkäsittely) 39
Luonnehdinta, OWL-piirteet (vrt. DL & ABox/TBox)* OWL Lite Synopsis OWL DL and Full Synopsis Lähde. McGuinness et al., W3C, http://www.w3c.org/tr/owl-features/ 40
Kouluesimerkkejä 1/2 Metatietojen julkaisu Kurssin tai materiaalipaketin tiedot verkossa Metatietoskeeman tai ontologian kehittäminen ja julkaisu Eri oppilaitosten yli ulottuvat haku- ja vertailutoiminnot Semanttinen haku Etsi kaikki "ensi syksyn" (prosessin ajankohta tai kesto) "Cum laude -tason" (luokitus) "opintojaksot" (tyyppi) jotka käsittelevät "epätäydellisyyttä" tai "lukuteoriaa" (kuvailu avainsanoin) Päättely OINFO-agentti: Kurssi "Reaalianalyysi" on esitietovaatimuksena kurssille "Mittateoria". Opiskelija X on suorittanut kurssin "Reaalianalyysi" joten hän voi ilmoittautua kurssille "Mittateoria". 41
Kouluesimerkkejä 2/2 Metatiedon koostaminen ja raportointi "Tietokone, koosta koulun X opinto-opas julkaistujen metatietojen perusteella" Tiedon yhdistely metatiedon perusteella "Tietokone, etsi ja kokoa opiskelijalle tyyppiä A, jonka opintomenestys on B, C-mäinen itseopiskelukurssi aiheesta D" Skeemojen hyödyntäminen "Tietokone, en ymmärrä teoreemaa joka sanoo että Turingkoneen pysähtymisprobleema on ratkeamaton mitä esitietoja minun kannattaisi kerrata?" Piilevän tiedon etsiminen "Tietokone, piirrä neljä kuvaajaa jotka esittävät kurssin X vuosina 2001-2003 suoritettujen pyöristettyjen arvosanojen 1, 2 ja 3 lukumääriä ja opintosuoritusten lukumääriä." 42
4/4 Lopuksi Hypen alasampujaiset Yhteenveto Liitteet
Hypen alasampujaiset Jonkun pitää suunnitella ja toteuttaa esim. usein visioidut agenttipalvelut (sekä uskaltaa ja osata käyttää niitä) huomaa potentiaalin ja konkretian välinen ero ( ) SW ei (sinänsä) ratkaise esim. laskettavuuden teorian ja tekoälytieteiden tunnettuja ongelmia SW kuitenkin tukee ratkaisujen löytymistä / uudelleenmuotoilua RDF-data ei automaattisesti ole tietoa saati luotettavaa Kyky hallita skeematason muutoksia? ontologiat auttavat osittain, mutta ei ilmeistä yleistä ratkaisua SW on kuitenkin merkittävä teknologia yhteinen rikas kehys tiedon esittämiseen (sanastoja tarvitaan!) eri tietolähteiden yhdistäminen! hyöyllisiä ja konkreettisia sovelluksia on helppo toteuttaa realismi oletusten suhteen (maailma rönsyilee ja sillä siisti) 44
Yhteenveto Semanttinen Web on mullistava tietojenkäsittelyn edistysaskel, mutta muutos "perinteisestä" Webistä Semanttiseen Webiin on asteittainen Muistettavaa SW ~ Web + kuvailutieto = semanttinen perusta sovelluksille W3C määrittelee Semanttinen Webin standardiperustan (mallinnus, RDF & OWL) käytännössä SW on eri ihmisille hieman eri asioita (sovellukset!) 45
Kiitos! Jäikö joku W3C-asia mietityttämään? Allekirjoittaneen tavoittaa helposti: http://www.w3c.tut.fi Ossi@w3.org The bane of my existence is doing things that I know the computer could do for me." -- Dan Connolly, The XML Revolution 46
Liite 1: lisätietoja ja osoitteita eteenpäin W3C http://www.w3.org/ (kotisivu) http://www.w3c.tut.fi/ (W3C Suomen toimiston kotisivu) W3C-aktiviteetit http://www.w3.org/consortium/activities (yleiskuva) http://www.w3c.org/2001/sw/ (SW) W3C:n suositukset ja raportit sekä teknistä tietoa http://www.w3c.org/tr/ (kaikki spesifikaatiot) http://www.w3c.tut.fi/report-archive.html (yleisesityksiä suomeksi) Jäseneksi! http://www.w3.org/consortium/prospectus http://www.w3c.tut.fi/joining.html 47
Liite 2: Semantic Web -spesifikaatiot Keskeiset SW-spesifikaatiot ovat saanet W3Csuosituksen statuksen vuonna 2004 OWL Web Ontology Language Overview OWL Web Ontology Language Guide OWL Web Ontology Language Reference OWL Web Ontology Language Semantics and Abstract Syntax OWL Web Ontology Language Test Cases Resource Description Framework (RDF): Concepts and Abstract Syntax RDF Semantics RDF Primer RDF Vocabulary Description Language 1.0: RDF Schema RDF/XML Syntax Specification (Revised) RDF Test Cases OWL Web Ontology Language Use Cases and Requirements http://www.w3c.org/2001/sw/ 48