Wprowadzenie do "Wiki o Sztucznej Inteligencji"
Nasz projekt „Wiki o Sztucznej Inteligencji” będzie rozwijany w semantycznej wiki. Semantyczna Wiki to wiki z możliwością modelowania wiedzy w postaci grafów trójkowych. W ramach wprowadzenia dowiemy się jak korzystać z semantycznej wiki Semantic MediaWiki, którą będziemy wykorzystywać w czasie semestru.
(Uwaga – punkty, które są konkretnymi zadaniami są oznaczone wykrzyknikiem )
-
Wiki o Sztucznej Inteligencji (w skrócie WSI) to przede wszystkim wiki, więc pozwala na tworzenie stron przy użyciu prostego markupu:
-
Na początek napisz o sobie: opisz obok kogo aktualnie siedzisz (podlinkuj jej/jego stronę wiki), jaki przedmiot Ci się najbardziej podobał na studiach, co lubisz jeść, czy spodziewasz się hiszpańskiej inkwizycji itd.
Przydatny fragment dokumentacji MediaWiki opisujący markup wiki:
Formatting (zobacz również sekcję „Other formatting” po więcej szczegółów odnośnie linków, obrazów, itd
Wiki jest semantyczna, co oznacza, że wykorzystując specjalny markup można do niej dodawać wiedzę w postaci trójek podmiot-orzeczenie-dopełnienie:
W przypadku wiki: podmiot to zawsze strona, na której się znajdujemy.
Możemy tworzyć adnotacje trzech typów:
Kategorie – do tworzenia hierarchii, grupowania stron wiki, np. wpisując na swojej stronie [[Category:Osoba]]
, tworzymy trójkę [user] → Category → Osoba.
Object properties – relacje do innych stron wiki: dla użytkownika oglądającego stronę wyglądają jak zwykłe linki, ale niosą dodatkową informację o znaczeniu tego linku, porównaj: [[Użytkownik:kkutt]]
i [[Siedzi obok::Użytkownik:kkutt]]
– obydwa wyglądają tak samo (są linkami do strony Użytkownik:kkutt
), ale to drugie dodatkowo jeszcze przechowuje informację o nazwie tego powiązania tworząc trójkę: [user] → Siedzi obok
→ Użytkownik:kkutt
Data properties – relacje do stałych (stringów, liczb itd.), porównaj:
Jestem Wojtek i mam 12 lat
i
Jestem [[Imię::Wojtek]] i mam [[Wiek::12]] lat
. Powinnaś/Powinieneś rozumieć już różnicę
Uwaga: tak, słuszne jest Twoje skonfudowanie – tworzenie Object properties i Data properties wygląda dokładnie tak samo. Jak system ma rozróżniać, że jedno jest stroną, a drugie jest stałą? W wiki mamy możliwość definiowania typów – możemy zdefiniować np. fakt, że Wiek jest liczbą, co później jest wykorzystywane przy przetwarzaniu adnotacji (wyświetlanie, sortowanie wyników itd.):
-
Teraz dodaj adnotacje każdego z trzech rodzajów do swojej strony!
Istniejącą bazę wiedzy możemy przetwarzać:
Na początek: możemy tworzyć zestawienia, które są zawsze aktualne (aktualizowane podczas odświeżenia strony) – co rozwiązuje problem z Wikipedią, który dzisiaj widzieliśmy.
Korzystając z przykładów zawartych w
dokumentacji, stwórz na swojej stronie proste zapytanie
#ask
, które będzie wyświetlało wszystkie osoby (kategoria Osoba) i ich Wiek.
Możemy każdą informację umieścić tylko JEDEN raz, a później się na nią powoływać (bo możemy ją łatwo wyciągnąć). Może to być nawet niewidoczne dla użytkownika czytającego wiki (dopóki nie zerknie do źródła strony).
Na swojej stronie dopisz zdanie
Przypominam, że mam {{#show: [FIXME]}} lat!
- zamień
[FIXME]
na odpowiedni kod, aby wyświetliła się tam wartość Wieku, która jest wpisana na Twojej stronie gdzieś wcześniej. Skorzystaj z
dokumentacji.
Pozwala to na łatwe wyciąganie bardziej skomplikowanych informacji (to przećwiczymy w trakcie semestru, gdy wiki będzie się bardziej rozrastać), łączenie danych z różnych źródeł (zarówno włączanie danych zewnętrznych do stron w wiki, jak i udostępnianie na zewnątrz wiedzy zawartej w wiki przez odpowiednie
API, tzw. SPARQL Endpoint) czy eksport bazy wiedzy do CSV/JSON/itd.
-
Najważniejsze podstawy już masz – teraz pytanie: jak konkretnie będzie wyglądać tworzenie Wiki o sztucznej inteligencji?
Czy potrafisz już przygotować stronę wiki o nazwie „Kartkówka Lab 2”, na której pojawi się automatycznie aktualizowane zestawienie stron, które należy przeczytać przed kartkówką na kolejnych zajęciach?
-