• Nie Znaleziono Wyników

Sieci semantyczne Sieci semantyczne

N/A
N/A
Protected

Academic year: 2021

Share "Sieci semantyczne Sieci semantyczne"

Copied!
8
0
0

Pełen tekst

(1)

Sieci semantyczne

Sieci semantyczne sa֒grafowym schematem reprezentacji wiedzy:

Fish are animals.

Mammals are animals.

Mammals have vertebra.

Whales are mammals.

Cats are mammals.

Bears are mammals.

Fish live in the water.

Whales live in the water.

Cats have fur.

Bears have fur.

Sie´c zawiera wez ly odpowiadaj֒ ace poj֒ eciom danej dziedziny problemowej, i luki֒ odpowiadajace zwi֒ azkom (relacjom) zachodz֒ acym pomi֒ edzy tymi poj֒ eciami:֒

• sie´c jest czytelna — ludzie czesto wyra˙zaj֒ a֒informacje graficznie,

• sie´c jest elastyczna — mo˙zemy wprowadza´c informacje w dowolnej formie.

Powy˙zsza sie´c (´zr´od lo: Wikipedia) skonstruowana jest bez rozr´o˙zniania klas od indywidu´ow, konsekwencji w nazwach relacji (is a/is an), itp.

Sieci semantyczne — wprowadzenie 1

Sieci semantyczne: relacje ISA i AKO

Aby prawid lowo odr´o˙zni´c w sieciach semantycznych klasy obiekt´ow od indywidu´ow, oraz wyrazi´c r´o˙zne zale˙zno´sci miedzy nimi, stosuje si֒ e֒pewne standardowe relacje:

• ISA (ang. is a) jest relacja֒pomiedzy indywiduum a jego klas֒ a֒

• HASA (ang. has a) jest relacja֒cze´s´c-ca lo´s´c, alternatywnie: PART֒

• AKO (ang. a kind of ) jest relacja֒pomiedzy podklas֒ a֒a nadklasa, zapisywane֒ czesto r´ownie˙z jako: SUBCLASS, albo SS (subset)֒

Przyk lad: I own a tan leather chair.

Sieci semantyczne — wprowadzenie 2

Sieci semantyczne: relacje binarne i reifikacja

Mo˙zna traktowa´c informacje zawarte w sieci semantycznej jako zbi´or (koniunkcje)֒ formu l logicznych. Formu ly wyra˙zaja֒bezpo´srednio zachodzenie relacji pomiedzy֒ obiektami (termami). Zauwa˙zmy, ˙ze w powy˙zszych przyk ladach wszystkie relacje (i odpowiadajace im formu ly) s֒ a֒relacjami binarnymi (dwuargumentowymi). To jest podstawowa cecha sieci semantycznych.

Jak mo˙zna wyrazi´c relacje֒z lo˙zona֒za pomoca֒zestawu relacji binarnych?

W niekt´orych przypadkach z lo˙zona relacja naturalnie dekomponuje sie֒na sk ladowe binarne. Jednak nie zawsze tak sie֒uda. W pozosta lych przypadkach stosuje sie֒ zabieg reifikacji, czyli przekszta lcenia relacji w obiekty.

Przyk lad: John gives the book to Mary.

Sieci semantyczne — wprowadzenie 3

Sieci semantyczne: przyk lady

Bilbo finds the magic ring in Gollum’s cave.

Odczytaj informacje z tej sieci!

Spr´obuj przekszta lci´c obiekty reifikowane na relacje z lo˙zone.

Sieci semantyczne — wprowadzenie 4

Sieci semantyczne: odpowiadanie na pytania

Rozwa˙zmy przyk lad zdania i odpowiadajacej mu sieci semantycznej:֒

Mary is John’s wife. John wife

−−−−−−−−→ Mary

Sie´c wyra˙za w pewnym jezyku formalnym informacje wcze´sniej zawarte֒ w oryginalnej wypowiedzi jezyka naturalnego. Od systemu sztucznej inteligencji֒ oczekiwaliby´smy, ˙ze posiadajac pewn֒ a֒wiedze, b֒ edzie w stanie odpowiada´c na֒ dotyczace jej pytania.֒

Inaczej m´owiac, jak zaimplementowa´c wnioskowanie dla sieci semantycznych?֒

Na przyk lad:

Is Mary John’s wife?

Who is John’s wife?

Whose wife is Mary?

Who is whose wife?

Sieci semantyczne — wnioskowanie 5

Sieci semantyczne: dopasowanie

Wnioskowanie w sieciach semantycznych mo˙ze by´c zaimplementowane przez:

1. wyra˙zenie pytania w postaci oddzielnej, zapytaniowej, sieci semantycznej, 2. pr´obe֒dopasowania sieci zapytaniowej do sieci faktowej,

3. w przypadku braku dopasowania, odpowied´z jest negatywna, 4. w przypadku uzyskania dopasowania, odpowied´z jest pozytywna.

Is Mary John’s wife? John −−−−−−−−wife → Mary wife(John, Mary)?

Who is John’s wife? John −−−−−−−−wife → y ∃ywife(John, y)?

Whose wife is Mary? x wife

−−−−−−−−→ Mary ∃xwife(x, Mary)?

Who is whose wife? x wife

−−−−−−−−→ y ∃x, ywife(x, y)?

Formu lowanie pyta´n w sieciach semantycznych wymaga u˙zycia zmiennych domy´slnie kwantyfikowanych kwantyfikatorem egzystencjalnym, podobnie jak w logice predykat´ow. Je´sli chcemy uzyska´c warto´s´c odpowiedzi w ostatnich trzech pytaniach, to musimy otrzyma´c od mechanizmu wnioskowania obiekty dopasowane do obiekt´ow-zmiennych.

Sieci semantyczne — wnioskowanie 6

(2)

Sieci semantyczne: dziedziczenie

Rozwa˙zmy inny przyk lad:

Elephants have four legs.

Elephants have one trunk.

Elephants have one tail.

Elephants have grey skin.

This elephant’s name is clyde.

Jakiego koloru sk´ore֒ma clyde?

W tej sieci mamy wiedze֒og´olna֒o s loniach po laczon֒ a֒z wiedza֒o pewnym s loniowym indywiduum o imieniu clyde. Tworzenie sieci zapytaniowych i dopasowanie ich do sieci faktowej daje odpowiedzi na pojedyncze fakty. Mo˙zna rozszerzy´c ten mechanizm przez wykorzystanie semantyki relacji isa i ako, poniewa˙z indywidua danej klasy normalnie posiadaja֒w lasno´sci wyra˙zone dla klasy, jak r´ownie˙z wszystkich klas nadrzednych.֒

Takie rozszerzenie nazywamy dziedziczeniem, i w powy˙zszym przypadku pozwala ono np. uzyska´c odpowied´z, ˙ze clyde ma sk´ore֒koloru szarego.

Sieci semantyczne — wnioskowanie 7

Sieci semantyczne: wiedza domy´slna

Wiedza og´olna o klasach jest przyk ladem wiedzy domy´slnej (default). Umo˙zliwia ona wnioskowanie niemonotoniczne, specjalnie implementowane w niekt´orych systemach logicznych. W sieciach semantycznych pojawia sie֒ono naturalnie dzieki֒ dziedziczeniu.

Gdyby w przyk ladzie o s loniach zdanie: This elephant’s name is clyde.

zastapi´c zdaniem: This pink elephant’s name is clyde.֒ to do sieci przyby laby dodatkowa krawed´z: e1֒ skin

−−−→ pink .

Wtedy odpowied´z na pytanie: e1 skin

−−−→ z mog laby by´c uzyskana bez

dziedziczenia przez dopasowanie z = pink. Taka odpowied´z normalnie ma priorytet, tzn. wyklucza uzyskanie odpowiedzi na to samo pytanie przez dziedziczenie.

W og´olno´sci wiedza domy´slna podlega normalnemu procesowi dziedziczenia. Gdyby klasa Cz lowiek mia la w lasno´s´c typowy-wzrost (´sredni), to dla jakiego´s anonimowego cz lowieka m´og lby on wynosi´c np. 170cm, ale dla podklasy Me˙zczyzna raczej 180cm,֒ a dla podklasy Me˙zczyzna-koszykarz pewnie 190cm.֒

Sieci semantyczne — wnioskowanie 8

Sieci semantyczne: dziedziczenie wielokrotne

Mo˙zna by loby zada´c sobie pytanie, czy indywiduum w sieci semantycznej mo˙ze nale˙ze´c do wiecej ni˙z jednej klasy przez relacj֒ e isa֒ (lub la´ncuch isa-ako* ). Gdyby tak by lo, to mechanizm wnioskowania z dziedziczeniem m´og lby teoretycznie uzyskiwa´c r´o˙zne odpowiedzi przez r´o˙zne ´scie˙zki dziedziczenia.

Popularnym przyk ladem w wielu podrecznikach jest zagadnienie֒ czy Nixon1by l pacyfista֒(∼1980).

Wiadomo o nim, ˙ze by l kwakrem2 i jednocze´snie republikaninem.3

Quakers

Pacifists

Nixon

Republicans isa

not ako ako

isa

Ze wzgledu na problemy wielokrotnego dziedziczenia, w niekt´orych systemach֒ obiektowych jest ono wykluczone.

1Richard M. Nixon — prezydent U.S.A. w latach 1969–1974. Po wygraniu wybor´ow na druga kadencj֒ e w 1973r.֒ by l zamieszany w nastepstwa afery Watergate i zrezygnowa l z urz֒ edu prezydenta pod gro´zb֒ a usuni֒ ecia.֒

2Quakers jest nazwa grupy stowarzysze´n religijnych wywodz֒ acych si֒ e z XVII-wiecznej Anglii i dzia laj֒ acych na֒ ca lym ´swiecie, m.in. w Stanach Zjednoczonych. G losili m.in. skromno´s´c ubioru i odmowe udzia lu w wojnach.֒

3Partia Republika´nska w Stanach Zjednoczonych jest symbolem konserwatyzmu, poglad´ow wolnorynkowych, pry-֒ watnej w lasno´sci, ograniczenia roli zwiazk´ow zawodowych i interwencjonizmu pa´nstwowego, za to silnej armii.֒

Sieci semantyczne — wnioskowanie 9

Sieci semantyczne: wnioskowanie z dziedziczeniem

Chcieliby´smy, aby algorytm wnioskowania z dziedziczeniem sam rozwiazywa l֒ istniejace kolizje, o ile to tylko mo˙zliwe. Rozwa˙zmy przyk lad:֒

false Ostrich Bird true

is−a is−a

can−fly ako can−fly

Tweety

Tweety jest strusiem, i jednocze´snie ptakiem. Pytanie: czy potrafi fruwa´c? Zdolno´s´c fruwania jest cecha֒ptak´ow, ale nie strusi. Poniewa˙z fakt, ˙ze tweety jest strusiem jest bardziej szczeg´o lowy, wiec wydaje si֒ e, ˙ze kwesti֒ e֒fruwania powinna rozstrzyga´c domy´slna wiedza o strusiach.

W og´olno´sci definiuje sie֒odleg lo´s´c inferencyjn

a klas w taksonomii. Klasa C jest֒

dalej ni˙z klasa B od klasy A, je´sli ´scie˙zka dziedziczenia z A do C biegnie przez B.

Algorytm wnioskowania rozstrzyga wielokrotne dziedziczenie na korzy´s´c klasy bli˙zszej. Poniewa˙z jednak taka odleg lo´s´c wprowadza tylko porzadek cz֒ e´sciowy,֒ rozwiazuje ona problem tweety, ale nie rozwi֒ azuje problemu Nixona.֒

Sieci semantyczne — wnioskowanie 10

Sieci semantyczne: formalizacja

Jednym z problem´ow sieci semantycznych jest brak standardowego katalogu relacji (link´ow). Mo˙zna wprowadza´c dowolne relacje i stosowa´c dowolne nazwy. Utrudnia to zrozumienie nieznanej sieci (przez komputer), sprawdzenie jej poprawno´sci, itp.

Aby rozwiaza´c ten problem wprowadzono pewne standardy.֒

typ linku znaczenie przyk lad

A−−→isa B A ∈ B tweety ⊆ Ostrich

A−−→ako B A ⊆ B Ostrich ⊆ Bird

A−R→B R(A, B) tweety−can-fly−−−→false A

R

−−−→B ∀x x ∈ A ⇒ R(x, B) Bird−−−−−→#legs 2 A

R

−−−−→B ∀x∃y x ∈ A ⇒ y ∈ B ∧ R(x, y) Bird parent

−−−−−−→Bird

Jednak nadmierna formalizacja sieci semantycznych, i wprowadzanie kolejnych mechanizm´ow dla wez l´ow i luk´ow sieci niweluje zasadnicz֒ a֒zalete, jak֒ a֒jest czytelno´s´c reprezentacji graficznej.

(3)

Systemy ramek

System ramek (frame system) sk lada sie֒z kolekcji ramek opisujacych elementy֒ modelowanej dziedziny. Ramka zawiera zbi´or atrybut´ow (ang. slots)

reprezentujacych jej w la´sciwo´sci. Atrybuty ramki w polskiej literaturze bywaj֒ a֒ nazywane klatkami (K.Goczy la) lub szufladkami (W.Duch).

Ramki moga֒reprezentowa´c pojecia z dziedziny — maj֒ a֒wtedy charakter klasy — jak r´ownie˙z indywidualne obiekty. Ramka mo˙ze posiada´c dwa rodzaje atrybut´ow:

w lasne (own) albo szablonowe (template). Atrybuty w lasne nale˙za֒do danej ramki, a ich warto´sci sa֒prywatne dla ramki. Atrybuty szablonowe danej klasy staja֒sie֒ atrybutami w lasnymi wszystkich jej instancji. Ramki moga֒dziedziczy´c od siebie zar´owno atrybuty w lasne, jak i szablonowe. Ramka, kt´ora nie posiada atrybut´ow szablonowych, jest obiektem.

Atrybut mo˙ze posiada´c warto´s´c, kt´ora jest warto´scia֒dos lowna֒(literal), odno´snikiem-relacja֒do innej ramki, oraz pewne cechy (facets). Te cechy moga֒ okre´sla´c warto´s´c domy´slna, wi֒ ezy takie jak: liczb֒ e֒warto´sci (atrybut jedno- lub wielowarto´sciowy, min i max warto´sci), typ i zakres warto´sci, lub zbi´or

dopuszczalnych warto´sci, do laczone procedury (np. if-needed, if-added, if-removed),֒ atrybuty odwrotne, itp.

Sieci semantyczne — systemy ramek 13

Systemy ramek sa֒prekursorem system´ow obiektowych, jednak sa֒miedzy nimi֒ istotne r´o˙znice. Na przyk lad, system programowania obiektowego definiuje hierarchie֒klas z metodami, kt´ora pozwala na tworzenie obiekt´ow i dziedziczenie przez nie zar´owno struktury obiektu, jak i metod. W systemie ramek nie ma zasadniczej r´o˙znicy pomiedzy klasami a obiektami, wi֒ ec ca la taksonomia jest֒ dostepna dla programu w czasie wykonania.֒

Sieci semantyczne — systemy ramek 14

J ezyk RDF

֒

Podstawowy element sk ladowy: tr´ojka obiekt-atrybut-warto´s´c:4

• Nazywa sie֒to stwierdzeniem (statement).

• Przyk lad stwierdzenia:

Witold Paluszy´nski prowadzi kurs Sztuczna Inteligencja.

• Graf RDF reprezentujacy powy˙zsze stwierdzenia:֒

WitoldPaluszynski prowadziKurs SztucznaInteligencja

Podstawowe pojecia RDF:֒

• zasoby (resources),

• w la´sciwo´sci (properties),

• stwierdzenia (statements).

4Uwaga: czesto stosowana jest alternatywna (miejscami myl֒ aca) terminologia: podmiot-predykat-przedmiot֒ (subject-predicate-object), a w polskiej literaturze r´ownie˙z: podmiot-orzeczenie-dope lnienie [K.Goczy la]. Poniewa˙z rzadko powoduje to nieporozumienia, trzeba pogodzi´c sie z praktyk֒ a mieszania tej terminologii, i nie przywi֒ azywa´c֒ zbyt wielkiej wagi do u˙zytego w danym kontek´scie s lowa.

Sieci semantyczne — jezyk RDF֒ 15 Sieci semantyczne — jezyk RDF֒ 16

Zasoby: URL, URI, IRI

• Mo˙zna my´sle´c o zasobach jako obiektach, o kt´orych chcemy m´owi´c:

– np.: ludzie, miejsca, miasta, naukowcy, studenci, uczelnie, itp.

• Ka˙zdy zas´ob ma URI (Universal Resource Identifier ).

• URI mo˙ze by´c:

– adresem URL (internetowym), lub – jakim´s innym unikalnym identyfikatorem.

• W tych rozwa˙zaniach bedziemy przyjmowali adresy URL jako URI.֒ IRI sa֒zinternacjonalizowana֒wersja֒URI.

• Zalety korzystania z URI:

– globalny, uniwersalny w skali ´swiata, unikalny schemat nazewnictwa, – cze´sciowo rozwi֒ azuje problem homonimii (wieloznaczno´sci identycznych֒

nazw) rozproszonych reprezentacji danych.

Sieci semantyczne — jezyk RDF֒ 17 Sieci semantyczne — jezyk RDF֒ 18

(4)

W la´sciwo´sci

• W la´sciwo´sci opisuja֒binarne relacje miedzy innymi zasobami:֒ – np.:

”prowadzi kurs”,

”kieruje”,

”tytu l”, itd.

• W la´sciwo´sci sa֒obywatelami pierwszej klasy, tzn. sa֒r´ownie˙z traktowane jako zasoby, moga֒mie´c r´o˙zne charakterystyki, i tworza֒w lasna֒taksonomie.֒

• W la´sciwo´sci jako zasoby sa֒r´ownie˙z identyfikowane przez URI.

Sieci semantyczne — jezyk RDF֒ 19 Sieci semantyczne — jezyk RDF֒ 20

Stwierdzenia

• Stwierdzenia stwierdzaja֒posiadanie w la´sciwo´sci przez zasoby, a dok ladniej:

zwiazek pewnej pary zasob´ow pewn֒ a֒relacja֒(binarna).֒

• Stwierdzenie jest tr´ojka: obiekt-atrybut-warto´s´c֒ – Sk lada sie֒z zasobu, w la´sciwo´sci i warto´sci.

• Warto´sciami moga֒by´c zasoby lub litera ly.

– Litera ly sa֒warto´sciami atomowymi (typu string).

Sieci semantyczne — jezyk RDF֒ 21

Trzy reprezentacje stwierdze´ n

Stwierdzenie mo˙zemy reprezentowa´c jako:

• tr´ojke֒obiekt-atrybut-warto´s´c,

• elementarny graf z dwoma wez lami po l֒ aczonymi lukiem skierowanym,֒

• zapis tekstowy, zwany serializacj a.֒

Zatem zbi´or stwierdze´n, wyra˙zajacy pewien zas´ob wiedzy mo˙ze by´c postrzegany֒ jako:

• zbi´or tr´ojek obiekt-atrybut-warto´s´c,

• graf zwany sieci

a semantyczn֒

a,֒

• dokument (np. plik) zawierajacy serializacj֒ e֒zbioru tr´ojek.

Sieci semantyczne — jezyk RDF֒ 22

Stwierdzenia jako tr´ ojki

• Tr´ojke֒(x, P, y) mo˙zna uwa˙za´c za formu le֒logiczna P֒ (x, y), gdzie binary predykat P wia˙ze obiekt x z obiektem y.֒

• Tr´ojke֒mo˙zna r´ownie˙z uwa˙za´c za skierowany graf z etykietowanymi wez lami֒ i lukami:

– skierowany od zasobu podmiotu (obiektu) stwierdzenia, – skierowany do przedmiotu (warto´sci) stwierdzenia, – warto´s´c stwierdzenia mo˙ze by´c innym zasobem lub litera lem.

• W RDF zar´owno zasoby jak i w la´sciwo´sci musza֒by´c identyfikowane przez URI.

Mo˙zliwe jest jednak stosowanie przestrzeni nazw, skracajacych zapis.֒

(foaf:Person#WitoldPaluszynski, dbpedia-owl:employer,

http://www.pwr.edu.pl/)

WitoldPaluszynski

pracujeW

PolitechnikaWroclawska

Zbi´ or tr´ ojek jako sie´ c semantyczna

WitoldPaluszynski prowadziKurs SztucznaInteligencja

PolitechnikaWroclawska pracujeW

http://www.kcir.pwr.edu.pl/~witold/ai/

autorStrony

maStrone

Sieci semantyczne sa֒elastycznym i ekspresyjnym narzedziem reprezentacji wiedzy.֒ Ich grafowa wersja jest bardzo zrozumia la, ale przetwarzanie reprezentacji graficznych przez komputery nie jest efektywne.

Istnieja֒reprezentacje tekstowe sieci semantycznych. Jednak z nich jest oparta na XML, zwana RDF/XML. Jednak nie jest ona cze´sci֒ a֒modelu danych RDF.

(5)

Zapis stwierdze´ n w RDF/XML

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:myonto="http://www.kcir.pwr.edu.pl/~witold/myonto-ns">

<rdf:Description rdf:about="http://www.kcir.pwr.edu.pl/~witold/">

<myonto:author rdf:resource="#Witold Paluszynski"/>

</rdf:Description>

</rdf:RDF>

• Dokument RDF jest reprezentowany przez element XML ze znacznikiem rdf:RDF

• Zawarto´scia֒tego elementu jest pewna liczba opis´ow (descriptions), kt´ore wykorzystuja֒znaczniki rdf:Description

• W powy˙zszym opisie, dotyczacym zasobu֒ http://www.kcir.pwr.edu.pl/~witold/:

– w la´sciwo´s´c jest u˙zywana jako znacznik elementu,

– warto´s´c w lasno´sci mo˙ze by´c dana przez zawarto´s´c elementu (litera l), lub jak w tym przypadku, wskazywana przez atrybut rdf:resource.

Sieci semantyczne — jezyk RDF֒ 25

Og´olnie, w serializacji RDF/XML ka˙zdy opis wyra˙za fakt o zasobie, identyfikowanym na jeden z 3 sposob´ow:

• przez atrybut rdf:about, z odniesieniem do istniejacego zasobu,֒

• przez atrybut rdf:ID, z utworzeniem nowego zasobu,

• bez nazwy, tworzac nowy zas´ob (anonimowy).֒

Sieci semantyczne — jezyk RDF֒ 26

Inna serializacja RDF: N-Triples

Model danych RDF jest najlepiej reprezentowany grafami. Jednak przydatna i czesto niezb֒ edna jest ich reprezentacja tekstowa, zwana serializacj֒ a. Dotychczas,֒ opr´ocz formatu zapisu RDF/XML, stosowana by la nieformalnie notacja: (R,P,V).

Istnieja֒jednak bardziej sformalizowane konwencje, ukierunkowane zar´owno na czytelno´s´c jak i przetwarzanie maszynowe.

Jeden z takich format´ow, zwany N-Triples, polega na zapisie trzech element´ow tr´ojki RDF w kolejno´sci podmiot-predykat-przedmiot, zako´nczonej kropka, po֒ jednej tr´ojce w wierszu. Ka˙zdy z element´ow tr´ojki zapisywany jest w postaci w pe lni kwalifikowanych, nieskr´oconych URI, zapisywanych w nawiasach katowych <>,֒ wed lug schematu:

<http://domain/ns#res> <http://domain/ns#prop> <http://domain/ns#val> .

Nawet powy˙zszy schemat trudno zapisa´c w wymagany spos´ob, w jednym wierszu.

Jak wida´c, ten format ´srednio nadaje sie֒do prezentacji tekich jak niniejsza.

Natomiast bardzo dobrze nadaje sie֒dla przeszukiwania i por´ownywania tekstowego.

Sieci semantyczne — jezyk RDF֒ 27

N-Triples: przyk lad

Dla tr´ojki reprezentowanej przez poni˙zszy zapis RDF/XML:

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:myonto="http://www.kcir.pwr.edu.pl/~witold/myonto-ns">

<rdf:Description rdf:about="http://www.kcir.pwr.edu.pl/~witold/">

<myonto:author rdf:resource="#Witold Paluszynski"/>

</rdf:Description>

</rdf:RDF>

reprezentacja N-Triples ma posta´c (w jednym wierszu):

<http://www.kcir.pwr.edu.pl/~witold/>

<http://www.kcir.pwr.edu.pl/~witold/myonto-ns#autor>

"#Witold Paluszynski"

.

Sieci semantyczne — jezyk RDF֒ 28

Serializacja RDF — Turtle

Innym formatem zapisu tekstowego RDF jest Turtle (Terse RDF Triple Language).

Podstawowa gramatyka Turtle jest podobna do N-Triples (w rzeczywisto´sci oba te formaty sa֒podzbiorami og´olnej notacji N3 (Notation3 )), ale bardziej zorientowana na skr´oty, czytelno´s´c, i wygode.֒

W notacji Turtle zasoby moga֒by´c zapisywane w postaci qnames, czyli ns:id, gdzie ns jest symbolem przestrzeni nazw, a id identyfikatorem zasobu. Przestrzenie nazw zwiazane s֒ a֒w Turtle z definiujacymi je URI za pomoc֒ a֒deklaracji @prefix.

@prefix myonto <http://www.kcir.pwr.edu.pl/~witold/myonto-ns#>

<http://www.kcir.pwr.edu.pl/~witold/"> myonto:author "#Witold Paluszynski" . przyk lady notacji Turtle dla kontynuacji ;.

Sieci semantyczne — jezyk RDF֒ 29 Sieci semantyczne — jezyk RDF֒ 30

(6)

Typy danych

• Typy danych stosowane sa֒w jezykach programowania, aby umo˙zliwi´c֒ interpretacje.֒

• W RDF w tym celu stosowane sa֒litera ly typowane:

(#Witold Paluszynski,

http://www.kcir.pwr.edu.pl/~witold/myonto/roomNumber,

"307"^^http://www.w3.org/2001/XMLSchema#integer)

• Zapis ^^ wskazuje typ litera lu

• w dokumentach RDF dozwolone jest korzystanie z wszelkich zewnetrznych֒ typ´ow danych.

• W praktyce najcze´sciej wykorzystywany jest system typ´ow XML Schema, kt´ory֒ definiuje szeroki wachlarz typ´ow danych. Na przyk lad: Boolean, liczby ca lkowite, zmiennoprzecinkowe, czas, daty, itp.

Sieci semantyczne — jezyk RDF֒ 31 Sieci semantyczne — jezyk RDF֒ 32

Krytyczne spojrzenie na RDF: predykaty binarne

• RDF u˙zywa tylko binarnych w la´sciwo´sci.

– Jest to ograniczenie, poniewa˙z czesto u˙zywamy predykat´ow z wi֒ ecej ni˙z 2֒ argumentami.

– Ale mo˙zna je zasymulowa´c predykatami binarnymi.

• Przyk lad: referee(X,Y,Z)

X jest sedzi֒ a֒meczu szachowego pomiedzy graczami Y i Z.֒

– Wprowadzamy nowy pomocniczy zas´ob chessGame oraz predykaty binarne:

ref, player1 i player2

– Mo˙zemy teraz wyrazi´c referee(X,Y,Z) jako:

Sieci semantyczne — jezyk RDF֒ 33

Krytyczne spojrzenie na RDF: w la´sciwo´sci

• W la´sciwo´sci sa֒specjalnym rodzajem zasob´ow.

• W la´sciwo´sci moga֒wystepowa´c jako obiekty w tr´ojkach obiekt-atrybut-warto´s´c֒ (stwierdzeniach).

• Mo˙zliwo´s´c ta oferuje du˙za֒elastyczno´s´c.

• Ale to jest niezwyk le dla jezyk´ow modelowania i j֒ ezyk´ow programowania OO.֒

• Mo˙ze to by´c mylace dla programist´ow modelowania semantycznego.֒

Sieci semantyczne — jezyk RDF֒ 34

Krytyczne spojrzenie na RDF: reifikacja

• Reifikacja jest innym do´s´c mocnym mechanizmem.

• Mo˙ze wydawa´c sie֒nie na miejscu we w sumie prostym jezyku takim jak RDF.֒

• Tworzenie stwierdze´n o stwierdzeniach wprowadza poziom z lo˙zono´sci, kt´ory nie jest niezbedny do podstawowej warstwy Semantic Web.֒

• Mog loby wydawa´c sie֒bardziej naturalne umieszczenie tego mechanizmu w bardziej zaawansowanych warstwach, kt´ore zapewniaja֒bogatsze funkcje reprezentacji.

Krytyczne spojrzenie na RDF: podsumowanie

• RDF jest dostosowany do przetwarzania maszynowego, jednak do czytania przez ludzi mo˙ze by´c niezbyt zrozumia ly.

• RDF ma swoje dziwactwa i og´olnie nie jest optymalnym jezykiem modelowania,֒ ale:

– jest ju˙z de facto standardem, – ma wystarczajac֒a֒si le֒wyrazu

(przynajmniej dla budowania na nim dalszych warstw reprezentacji), – informacja jest jednoznacznie mapowana do modelu.

(7)

RDF Schema

• RDF jest uniwersalnym jezykiem, kt´ory pozwala u˙zytkownikom opisywa´c zasoby֒ przy pomocy w lasnych zestaw´ow poje´c.֒

• RDF nie przyjmuje, ani nie definiuje semantyki konkretnej dziedziny.

• U˙zytkownik mo˙ze to zrobi´c w RDF Schema przy u˙zyciu:

– klas i w la´sciwo´sci,

– hierarchii klas i dziedziczenia, – hierarchii w la´sciwo´sci

Jednak nie bedziemy tu zg l֒ ebia´c j֒ ezyka RDF Schema. Semantyk֒ e֒dziedzin bedziemy opisywali w inny spos´ob.֒

Sieci semantyczne — jezyk RDF֒ 37 Sieci semantyczne — jezyk RDF֒ 38

J ezyk zapyta´

֒

n SPARQL

SPARQL (Simple Protocol And RDF Query Language) jest jezykiem zapyta´n RDF.֒ Sk ladniowo SPARQL przypomina nieco SQL, lecz w rzeczywisto´sci jezyk SPARQL֒ nawiazuje do grafowego modelu danych RDF:֒

• SPARQL opiera sie֒na dopasowaniu do wzorc´ow-graf´ow.

• Najprostszym wzorcem-grafem jest tr´ojka, podobna do tr´ojki RDF ale z mo˙zliwo´scia֒u˙zycia zmiennej zamiast termu RDF na pozycji podmiotu, predykatu lub przedmiotu.

• Laczenie wzorc´ow-tr´ojek daje wzorzec-graf. Dok ladne dopasowanie wzorca do֒ grafu danych RDF jest niezbedne dla dopasowania wzorca.֒

Sieci semantyczne — SPARQL 39

Przyk ladowe zapytanie SPARQL

Przyk lad:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?c WHERE {

?c rdf:type rdfs:Class . }

Zapytanie pobiera wszystkie tr´ojki, gdzie w la´sciwo´scia֒jest rdf:type a podmiotem jest rdfs:Class. Co oznacza, ˙ze pobiera wszystkie klasy.

Sieci semantyczne — SPARQL 40

Przyk ladowe zapytanie SPARQL (2)

Pobierz wszystkie instancje danej klasy, np. kurs (deklaracja prefiks´ow rdf, rdfs pominiete dla zwi֒ ez lo´sci):֒

PREFIX wp-np: <http://www.kcir.pwr.edu.pl/~witold/ontologies/2015/2/NaukaPolska SELECT ?i

WHERE {

?i rdf:type wp-np:Kurs . }

Nale˙zy nadmieni´c, ˙ze SPARQL nie wymaga, ani sam nie realizuje semantyki RDFS.

Zatem, czy w odpowiedzi na powy˙zsze zapytanie otrzymamy tylko instancje klasy wp-np:Kurs, czy r´ownie˙z jej podklas, bedzie zale˙ze´c od systemu realizuj֒ acego֒ dopasowanie wzorca i odpowied´z.

Sieci semantyczne — SPARQL 41

Struktura zapytania SELECT-FROM-WHERE

Podobnie jak w SQL, zapytania SPARQL maja֒strukture֒SELECT-FROM-WHERE:

• SELECT okre´sla projekcje: liczb֒ e֒i kolejno´s´c pobieranych danych,

• FROM s lu˙zy do okre´slenia ´zr´od lo przeszukiwania (opcjonalne),

• WHERE nak lada ograniczenia na mo˙zliwe rozwiazania w postaci szablon´ow,֒ wzorc´ow wykres´ow i ogranicze´n logicznych.

Przyk lad: pobra´c wszystkie numery pokoi pracownik´ow:

SELECT ?x ?y WHERE {

?x wp-np:nr-pokoju ?y . }

?xi ?y sa֒tu zmiennymi, a wzorzec "?x wp-np:nr-pokoju ?y" reprezentuje tr´ojke֒zas´ob-w la´sciwo´s´c-warto´s´c.

Sieci semantyczne — SPARQL 42

(8)

Domy´slny join

Przyk lad: pobierz wszystkich wyk ladowc´ow i ich numery pokoi:

SELECT ?x ?y WHERE {

?x rdf:type wp-np:prowadzacy ; wp-np:nr-pokoju ?y . }

Powy˙zsze zapytanie reprezentuje tzw. domy´slny join: drugi wzorzec jest ograniczony tylko do tych tr´ojek, kt´orych zas´ob jest w zmiennej ?x.

Zwr´o´cmy uwage: u˙zywamy tutaj skr´oconej sk ladni: ´srednik wskazuje ˙ze nast֒ epuj֒ aca֒ tr´ojka wsp´o ldzieli podmiot z poprzednikiem. Ta sk ladnia nazywa sie turtle.֒ Poprzednie zapytanie jest r´ownowa˙zne nastepuj֒ acej formie:֒

SELECT ?x ?y WHERE {

?x rdf:type wp-np:prowadzacy .

?x wp-np:nr-pokoju ?y . }

Sieci semantyczne — SPARQL 43

Jawny join

Kolejny przyk lad: chcemy znale´z´c nazwy wszystkich kurs´ow prowadzonych przez wyk ladowce֒z ID 411

SELECT ?n WHERE {

?x rdf:type wp-np:Kurs ; wp-np:prowadzacy :411 .

?c wp-np:nazwisko ?n . FILTER (?c = ?x) . }

Taka forma zapyta´n reprezentuje tzw. jawny join.

Sieci semantyczne — SPARQL 44

Co to jest ontologia

Pojecie ontologii pochodzi z filozofii (staro˙zytnej) i ma wiele znacze´n. S lowo֒ ontologia pochodzi od greckich s l´ow:

”on” (w dope lniaczu

”ontos”) oznaczajacego֒ og´olnie byt, i

”logos” czyli nauki lub wiedzy.

Jedna z najcze´sciej cytowanych definicji ontologii w sensie reprezentacji wiedzy w֒ sztucznej inteligencji (1992, Gruber):

Ontologia jest jawna֒specyfikacja֒konceptualizacji.

Ta definicja mo˙ze na pierwszy rzut oka przygnie´s´c, lecz spr´obujemy sie֒z nia֒ zaprzyja´zni´c, a mo˙ze nawet polubi´c.

Ontologie — pojecia wst֒ ֒epne 45

Ontologia s lu˙zy do tworzenia jawnych, i zrozumia lych dla wszystkich, opis´ow dowolnych dziedzin. Musi ona zawiera´c specyfikacje:֒

• poje´c֒ dotyczacych danej dziedziny,֒

• atrybut´ow tych poje´c, ich w lasno´sci, i zwi֒ azk´ow mi֒ edzy nimi,֒

• istniejacych wi֒ ez´ow na te atrybuty, w lasno´sci, i zwi֒ azki,֒

• indywidu´ow istniejacych w dziedzinie.֒

Wyszczeg´olnienie, i nazwanie wszystkich tych element´ow danej dziedziny nazywa sie֒jej konceptualizacj

a.֒

Ontologia powinna okre´sla´c dla danej dziedziny:

• terminologie֒uzgodniona֒dla danej dziedziny,

• jednoznaczna֒zrozumia lo´s´c poje´c֒ danej dziedziny.

Dlatego w la´snie w najwiekszym skr´ocie ontologi֒ e֒danej dziedziny nazywa sie֒jawna֒ specyfikacja֒jej konceptualizacji.

Ontologie — pojecia wst֒ ֒epne 46

Po co tworzy´ c ontologie

Taka֒role֒opisu znaczenia wszystkich poje´c֒ pe lni ly jednak dotychczas s lowniki (dla poje´c֒ og´olnych z danego jezyka) i encyklopedie (dla poj֒ e´c֒ szczeg´olnych, indywidu´ow, nazw w lasnych, itp.).

Dlaczego chcemy tworzy´c ontologie?

Wymienione opisy sa֒tworzone w jezyku naturalnym, nie s֒ a֒ca lkowicie precyzyjne, natomiast odwo luja֒sie֒do czesto subtelnych znacze´n konstrukcji j֒ ezykowych,֒ wiedzy og´olnej, a tak˙ze og´olnie przyjmowanych za lo˙ze´n o wiedzy podstawowej (kulturze) jej czytelnika. Je´sli celem jest umo˙zliwienie agentom sztucznie inteligentnym korzystanie z takowych opis´ow, to agent musia lby praktycznie mie´c w lasny mechanizm my´slenia (umys l) identyczny z mechanizmem my´slenia cz lowieka, aby je tak samo rozumie´c.

Aby umo˙zliwi´c agentom sztucznie inteligentnym r´o˙znych poziom´ow inteligencji ich w la´sciwe zrozumienie, opisy takie musimy stworzy´c w jakim´s formalizmie dostepnym dla takich agent´ow.֒

Po co tworzy´ c ontologie (cd.)

Inne wa˙zne powody, dla kt´orych warto tworzy´c ontologie (czyli konceptualizacje formalne), sa:֒

• uzyskiwana dzieki nim jednoznaczno´s´c poj֒ e´c, standaryzacja,֒

• tworzenie jawnych zapis´ow pewnych za lo˙ze´n, kt´ore dotad by ly domy´slne,֒ niejawne, i czesto niejasne,֒

• rozdzielenie wiedzy podstawowej o dziedzinie od wiedzy operacyjnej.

Tworzenie ontologii nie jest celem samym w sobie. Jest ono podobne do definiowania standardowej struktury danych do wykorzystania przez programy.

Ontologie tworzone sa֒dla zapewnienia mo˙zliwo´sci budowy agent´ow software-owych umo˙zliwiajacych analiz֒ e֒danych w r´o˙znych dziedzinach, wspomaganie

podejmowania decyzji, itp.

Cytaty

Powiązane dokumenty

W którym punkcie toru powinien to zrobi´c i w któr ˛ a stron˛e powinny by´c skierowane dysze silników, aby zu˙zył przy tym jak najmniejsz ˛ a ilo´s´c paliwa?. Podaj ile

Połączenia analogowe stosujące modemy klasyczne potrzebują Połączenia analogowe stosujące modemy klasyczne potrzebują tylko jednej pary przewodów, szerokość pasma transmisji

Powy˙zsza sie´c (´zr´od lo: Wikipedia) skonstruowana jest bez rozr´o˙zniania klas od indywidu´ow, konsekwencji w nazwach relacji (is a/is an), itp!. Sieci semantyczne —

Powy˙zsza sie´c (´zr´od lo: Wikipedia) skonstruowana jest bez rozr´o˙zniania klas od indywidu´ow, konsekwencji w nazwach relacji (is a/is an), itp.. Sieci semantyczne —

Do mapowania adresów IP na adresy MAC wy- korzystywany jest protokół ARP (dla IPv4) lub Neighbor Discovery (dla IPv6) - odbywa się to poprzez wysłanie ramki ethernetowej na

Żeby w informatyce wykorzystać potencjał funkcjonalny neuronu oraz całej ich sieci (grafu), zwanych często sieciami neuronowymi, trzeba opracować uproszczony model działania

Przy p wektorach w warstwie pierwszej pojemność pamieci Hamminga jest równa p, gdyż każdy neuron..

spontaniczna aktywność jest stabilna w czasie lokalnego uczenia się, moduł uczący się ma podwyższoną częstość impulsacji wśród neuronów biorących udział w kodowaniu wzorca