Archiwum kategorii ‘Semantic Web’

Konferencja ICCCI 2009

czwartek, 15 Październik 2009

Pierwsza międzynarodowa konferencja poświęcona Collective Intelligence i Semantic Web już za nami. Odbyła  się we Wrocławiu 5 i 6 października i została zorganizowana przez Politechnikę Wrocławską. Dzięki życzliwości dra Radosława Katarzyniaka odpowiadającego za sprawy organizacyjne dostałem porcję informacji pokonferencyjnych, z którymi dziele się “na szybkiego” poniżej.

“1st International Conference on Computational Collective IntelligenceSemantic Web, Social Networks & Multiagent Systems

W dniach 5-7 października 2009 odbyła się konferencja ICCCI 2009.

Sesji inauguracyjnej przewodniczyli: pomysłodawca i przewodniczący komitetu programowego serii konferencji ICCCI konferencji prof. dr hab. inż. Ngoc Thanh Nguyen z Instytutu Informatyki, Dziekan Wydziału Informatyki i Zarządzania, dr hab. inż. Jerzy Świątek, prof. PWr., oraz Dyrektor Instytutu Informatyki prof. dr hab. inż. Zbigniew Huzar.

Celem konferencji było omówienie problematyki kolektywnej inteligencji obliczeniowej (ang. computational collective intelligence), działu sztucznej inteligencji, zajmującego się zastosowaniem przybliżonych metod obliczeniowych w modelowaniu i rozwiązywaniu problemów z zakresu grupowego podejmowania decyzji oraz przetwarzania wiedzy w środowiskach rozproszonych. Systemy webowe, sieci społeczne i systemy wieloagentowe, wymienione w tytule konferencji, stanowią podstawowy kontekst praktyczny zastosowania idei kolektywnej inteligencji obliczeniowej w grupowym przetwarzaniu wiedzy, rozwiązywaniu konfliktów i podejmowaniu decyzji.

Zaproszone wykłady plenarne przedstawili prof. Pierre Lévy z Uniwersytetu w Ottawie, prof. Piotr Jędrzejowicz z Akademii Morskiej w Gdyni oraz prof. Roman Słowiński z Politechniki Poznańskiej.

Trzydniowe obrady odbywały się w centrum konferencyjnym Hotelu Panorama we Wrocławiu. W konferencji udział wzięło 120 prelegentów i słuchaczy z kraju i zagranicy. Wygłoszono 90 referatów (ze 105 zaplanowanych wystąpień).

Konferencja miała międzynarodowy charakter. Uczestnicy reprezentowali wszystkie główne krajowe ośrodki naukowe (Wrocław, Poznań, Warszawa, Kraków, Szczecin, Gliwice, Lublin) oraz szereg zagranicznych ośrodków naukowych (Australia, Brazylia, Chorwacja, Cypr, Czechy, Finlandia, Francja, Niemcy, Islandia, Indie, Japonia, Malezja, Meksyk, Nowa Zelandia, Irlandia, Korea Pd., Rumunia, Słowacja, Hiszpania, Tajwan, Tajlandia, Holandia, Turcja, Wenezuela, Wietnam).

Materiały konferencyjne wydano w serii LNAI (Vol. 5796). Ze względu na wysoki poziom merytoryczny prac przesłanych do organizatorów konferencji, część z nich opublikowana została jako rozdziały w monografii naukowej wydanej w serii Studies in Computational Intelligence (vol. 244) – Springer Verlag.

W czasie konferencji zainaugurowano nowe międzynarodowe czasopismo Transactions on Computational Collective Intelligence – podserię LNCS wydawaną przez Springer Verlag i edytowaną przez prof. dr hab. inż. Thanh Ngoc Nguyena pracownika Instytutu Informatyki Politechniki Wrocławskiej.

Uroczysty bankiet odbył się w Starej Garbarni (Wrocław – Leśnica). W trakcie spotkania przedstawiono miejsce organizacji ICCCI 2010. Odbędzie się ona na Tajwanie.”


Poniżej statystki ilości prezentacji z poszczególnych ośrodków naukowych w Polsce:

Uczelnie Ośrodki naukowe (razem)
AGH

7

Polit. Gdańska

1

Kraków

7

Akademia Morska w Gdynii

1

Trójmiasto

4

WAT

1

Warszawa

7

IBS PAN

2

Poznań

9

Pols.-Jap. WSI Warszawa

2

Gliwice

1

Uni. Warsz.

1

Polit Warszawska

3

UAM

1

Szczecin

1

WSB Poznań

1

Olsztyn

1

Uniw.Ekon. Poznan

1

Wrocław

20

Polit. Poznań.

6

Uniw.Gdański

2

Polit. Świętokrz.

1

Zachodniopomorski Uniwersytet Technologiczny (Szczecin)

1

Olsztyn

1

Polit. Wrocł.

20

Zamość

1

KUL

1

Lublin 2


Tutaj lista krajów reprezentowanych podczas konferencji:

Australia
Brazylia
Chorwacja
Cypr
Czechy
Finladia
Francja
Niemcy
Islandia
Indie
Japonia
Malezja
Meksyk
N. Zelandia
Poland
Irlandia
Korea Pd.
Rumunia
Słowacja
Hiszpania
Tajwan
Tajlandia
Holandia
Turcja
Wenezuela
Wietnam

Przyznano dwie Best Paper Awards:
1. Proposal of a New Rule-based Inference Scheme for the Semantic Web Applications
Nalepa, Grzegorz J.; Furmańska, Weronika T.
2. A Multi-agent Model of Deceit and Trust in Intercultural Trade
Verwaart, Tim; Hofstede, Gert Jan; Jonker, Catholijn M.

To tyle, kiedy będzie miał coś więcej, podzielę się.

Semantyczna “Trójca” ;), czyli jak reprezentować wiedzę

niedziela, 11 Październik 2009

Każdy kto zetknął się lub zetknie się z koncepcją Semantic Web dość szybko musi zmierzyć się z pojęciem “trójki” (ang. triple) oraz “triplestore” czyli składu trójek. O co chodzi? To pojęcie jest nierozerwalnie związane z tematem, o którym pisałem w poprzednim poście, czyli z ontologiami. Ale po kolei.

Semantyczna trójka to zbiór trzech elementów czyli podmiotu (ang. subject), orzeczenia (ang. predicate) oraz dopełnienia (ang. object). To terminologia znana pewnie każdemu absolwentowi gimnazjum, a może nawet podstawówki. Znana z ćwiczeń wykonywanych głównie w ramach lekcji języka polskiego, a nazywanych “logicznym rozbiorem zdania”.  Co prawda części zdania jest więcej niż podane trzy (np. okolicznik), ale nas interesują te właśnie.

Weźmy proste zdanie “Ala ma kota”. Podmiotem jest ‘Ala’, orzeczeniem ‘ma’ (ktoś jeszcze pamięta, że podmiot podkreślało się jedną kreską, a orzeczenie dwiema? ;) ), a dopełnieniem ‘kot’. Tak zbudowana wypowiedź pokazuje relację (orzeczenie) pomiędzy jakąś Alą i jakimś kotem.  To właśnie trójka.

Wrócę do poprzedniego posta, w którym pisałem o tym skąd wiemy, że chleba trzeba szukać w sklepie spożywczym. Jak opisać tę wiedzę? I tu właśnie użyjemy ‘trójki’ lub kilku ‘trójek’.

Możemy to zrobić na przykład budując taką trójkę:

Przykład  1:

“Chleb jest sprzedawany w sklepie spożywczym.”

Hmmm.. gdzie tu trójka?? :) Już pokazuję:

(”Chleb”, ” jestSprzedawanyW”, “SklepSpożywczy”)

W praktyce trójki służące do reprezentowania wiedzy (ang. KR – knowledge representation) tworzą zbiory takich zdań, które nazywamy… ontologiami. A ontologie wypełnione (czy inaczej ’spopulowane’) konkretnymi obiektami tworzą bazy wiedzy. Klasyfikacja, czyli podział na klasy pomiędzy którymi występują określone relacje, zazwyczaj opiera się na jakiejś hierarchii nad-klas i pod-klas.

Więc ontologia, z której skorzysta jakaś aplikacja wnioskująca gdzie kupić chleb pewnie będzie miała przynajmniej takie poziomy klasyfikacji:

Przykład 2:

(”Chleb”, “jestProduktemTypu”, “Pieczywo”) – tu mówimy, że klasa “Pieczywo” jest superklasą (nad-klasą) klasy “Chleb”

(”Pieczywo”, “jestSprzedawanyW”, “SklepSpożywczy”) – tu mówimy, gdzie obiekty klasy “Pieczywo” i jej podklas są sprzedawane

Utworzymy taką konstrukcję choćby po to, żeby łatwo można było rozbudować ontologię o kolejną porcję wiedzy np.:

(”Bułka”, “jestProduktemTypu”, “Pieczywo”)

żeby wiedzieć gdzie kupić bułkę.

I tak oto przy użyciu kilku wypowiedzi w formie ‘podmiot-orzeczenie-dopełnienie’ zapisaliśmy pewną wiedzę. W oparciu o dwa zdania z przykładu 2 możemy wywnioskować, że chleb można kupić w sklepie spożywczym.

No a po co triplestore, czyli magazyn trójek? Po to, żeby zapisywać w nim właśnie takie trójkowe wypowiedzi.

O tym jak w Semantic Web wyglądają takie trójki, co to jest RDF, OWL, co je łączy z XML i jaką rolę odgrywa URI pewnie jeszcze napiszę. ;)

Niech zrobi się semantycznie..

poniedziałek, 5 Październik 2009

Chociaż Semantic Web to nie jest młody temat (zrodził się w zasadzie wraz z początkiem XXI w. !) wygląda na to, że chyba dopiero teraz zyskuje właściwą masę krytyczną. Praktycy nie zadają już pytania “czy?” tylko “jak?”. Coraz więcej danych udostępnianych jest w formatach konsumowalnych przez maszyny. Coraz więcej narzędzi i środowisk deweloperskich do pracy nad aplikacjami. Tym samym coraz więcej aplikacji. Warto śledzić tę technologię, bo wydaje się być “the next big thing” Internetu.

W swoim fundamentalnym założeniu idea jest bardzo prosta i przekonująca, a streszczę ją tak: “uczynić z Sieci sieć danych a nie tylko sieć treści.”  Spełnienie tego warunku ma szanse doprowadzić do sytuacji, w której maszyny będą publikować, gromadzić, zbierać dane, a ludzie będą tworzyli aplikacje, które będą te dane analizowały i na podstawie tych analiz przeprowadzały wnioskowanie. Dlaczego mamy tracić czas na gromadzenie danych, wyłuskiwanie ich z kontekstu różnych dokumentów skoro moglibyśmy swój potencjał intelektualny wykorzystać bardziej twórczo np. na analizę danych, wskazywanie które dane są potrzebne, poszukiwanie zależności między danymi, tworzenie praktycznych aplikacji wykorzystujących pozyskane dane.

Zanim ludzie zaczęli pisać i czytać książki musieli wkładać dużo więcej energii w pozyskiwanie informacji o świecie. Kiedy mogli wejść do biblioteki i z półki zdjąć książki dotyczące interesującego ich tematu, nie musieli się już skupiać na pozyskaniu źródła informacji, a głównie na jej przyswajaniu i analizie. W sensie cywilizacyjnym to wielki skok. Dziś przeglądamy dziesiątki stron internetowych oferujących dane dotyczące tych samych zagadnień w wielu różnych formatach. Dane o ilości mieszkańców w wybranym kraju możemy odczytać z dokumentu html umieszczonego np. w wikipedii, liczby umieszczonej w arkuszu kalkulacyjnym udostępnionym do ściągnięcia przez jakiś organ statystyczny, wyszukać ją w jakiejś prezentacji w formacie pdf itd. Jako ludzie nie mamy większego problemu żeby jednoznacznie zaklasyfikować znalezioną treść jako daną odpowiadającą naszym poszukiwaniom. Czy nie szkoda jednak czasu na ponowne odkrywanie rzeczy oczywistych? Moim zdaniem szkoda. I kiedy w Sieci zrobi się bardziej semantycznie nasz czas i energię będziemy mogli poświęcić na ciekawsze wyzwania. Więc niech zrobi się semantycznie…