Sieci Semantyczne - WWW następnej generacji

aelbereth

Sieci Semantyczne - WWW następnej generacji

Poniższy artykuł zawiera informacje dotyczące najnowszych technologii internetowych, które w niedalekim czasie umożliwią przemianę istniejącej sieci WWW w internet następnej generacji. Na wstępie chciałbym zaznaczyć, że pojęcie Semantic Web (Sieć Semantyczna), bynajmniej nie oznacza radykalnej rewolucji, w której to istniejąca dzisiaj sieć WWW ulegnie całkowitemu zastąpieniu przez Sieć Semantyczną. Proces ten można postrzegać jako ewolucję internetu - jego stopniową przemianę w bardziej wyrafinowane medium. Z punktu widzenia użytkownika, ta przemiana poza udostępnieniem szeregu nowych i dotąd niespotykanych możliwości oraz usług, będzie niezauważalna.

Jest to pierwszy artykuł poświęcony tej dziedzinie informatyki, dlatego też najpierw postaram się wprowadzić w tematykę oraz idee kryjące się pod pojęciem Sieci Semantycznych. Jeśli artykuł będzie cieszył się zainteresowaniem, w następnych częściach opiszę technologie wchodzące w skład Sieci Semantycznych, takie jak: Inteligentni Agenci, Systemy Wieloagentowe (Multiagent Systems), Ontologie, Semantyczne Usługi Sieciowe (Semantic Web Services), semantyczne języki opisu danych (Semantic Web Languages) oraz systemy wnioskowania (Inference Engines). Zastosowanie tych technologii będzie zobrazowane na zaprojektowanym oraz zaimplementowanym systemie.

1 Sieci Semantyczne - WWW następnej generacji
2 1. Rewolucja internetu - konieczność czy kaprys?
     2.1 Internet
     2.2 Problemy z wyszukiwaniem informacji
     2.3 Problemy z integracją informacji
     2.4 Brak perspektyw rozwoju
3 2. Sieci Semantyczne - nowe możliwości
4 3. Co to jest semantyka?
     4.5 Zgodność syntaktyczna
     4.6 Zgodność semantyczna
          4.6.1 Przykład
     4.7 4. Charatkerystyka Sieci Semantycznych

1. Rewolucja internetu - konieczność czy kaprys?

Internet

Największą zaletą WWW jest jego uniwersalność oraz prostota, gdzie za pomocą zwykłych linków hipertekstowych możliwe jest łączenie informacji oraz tworzenie rozbudowanej i skomplikowanej sieci danych. Informacje na internecie są ogromnie zróżnicowane, ale istnieje podstawowy podział jeśli chodzi o dane stworzone dla konsumpcji przez człowieka oraz dla przetwarzania przez maszyny. Z jednej strony mamy wszystko, od powiedzmy - 5 sekundowych reklam, do poezji, z drugiej natomiast - bazy danych, serwery aplikacji oraz przeróżnego typu sensory.

Problemy z wyszukiwaniem informacji

W miare rozwoju internetu oraz jego dynamicznej ekspansji, coraz większym problemem okazuje się, de fakto, jego najprostsza i najbardziej użyteczna funkcja - wyszukiwanie informacji. Strony WWW i język HTML umożliwiają bardzo łatwą publikację oraz prezentację informacji, ale niestety wykorzystują nieefektywne sposoby jej kategoryzacji. Dlatego też dzisiejsze wyszukiwarki internetowe w wielu przypadkach zwracają mnóstwo niepotrzebnych informacji, co z kolei wymaga męczącej i czasochłonnej ręcznej filtracji przez użytkownika.

Jeśli na przykład staramy się znaleźć informację pod słowem kluczowym mysz, komputer nie wie czy szukamy informacji na temat urządzenia komputerowego, zwierzątka, być może nawet jakiejś osoby lub czegokolwiek pod tą nazwą kluczową. Dlatego też otrzymamy mnóstwo znalezionych stron, z których sami będziemy musieli wybrać nas interesujące. Jak widać komputer nie na wiele zdaje się być pomocnym, ponieważ słowo mysz nie ma dla niego żadnego znaczenia, nie jest semantycznie powiązane z żadnym pojęciem. Z tego powodu jego potężna moc obliczeniowa jest ograniczona jedynie do prezentacji niezrozumiałych dla niego zanków.

Problemy z integracją informacji

O ile użytkownik szukający informacji na internecie, ostatecznie, przebrnąwszy przez szereg stron, znajdzie cenne dla niego dane, o tyle o wiele trudniejszym i aktualnie niemożliwym do rozwiązania problemem jest komunikacja i inteligentna wymiana informacji pomiędzy maszynami. Bynajmniej nie chodzi tutaj o współprace sieci serwerów, które były do tego przystosowane, ale o bardziej wyrafinowaną wymianę informacji, która umożliwiłaby komunikację maszyn, systemów, oprogramowania, które nigdy wcześniej ze sobą nie współpracowało (albo nawet nie wiedziało o swoim istnieniu). O ile potężniejszym narzędziem stałby się internet jeżeli systemy mogłyby dynamicznie wyszukiwać inne jednostki obliczeniowe oraz komunikować się z nimi w zrozumiały sposób.

Problemy związane z niezgodnością protokołów oraz standardów zauważono już kilka late temu. W celu umożliwienia integracji stworzono nową technologię tzw. Usługi Sieciowe (Web Services), które umożliwiają komunikację oraz wymianę informacji pomiędzy niekompatybilnymi platformami. Jest to duże osiągnięcie w kierunku ujednolicenia oraz stnadardyzacji protokołów komunikacji (SOAP). Z punktu widzenia Sieci Semantycznych będzie to podstawowa technologia umożliwiająca dostęp do usług. Jednak aby maszyny mogły samodzielnie wyszukiwać, tworzyć kompozycje usług oraz je wywoływać - potrzebna będzie semantyka.

Brak perspektyw rozwoju

Z jednej strony mamy potężną sieć informacyjna, w której przechowywana jest ogromna wiedza i funkcjonują miliony maszyn, które umożliwiają wymianę informacji. Z drugiej jest to archaiczna sieć, która nie wykorzystuje swojego prawdziwego potencjału. Maszyny o potężnej mocy obliczeniowej nadal traktowane są jako urządzenia do prezentacji, przesyłania oraz sztucznego przetwarzania danych, których nie rozumieją nie wspominając już o inteligentnych usługach. Do dzisiaj internet rozwijał się gwałtownie jako medium służące przede wszystkim do publikacji dokumentów przeznaczonych dla ludzi, a nie dla informacji, które mogłyby być automatycznie przetwarzane przez maszyny. Celem Sieci Semantycznych (Semantic Web) jest właśnie umożliwienie tego typu funkcjonalności.

2. Sieci Semantyczne - nowe możliwości

Wyobraźmy sobie, że wybraliśmy się na zakupy, jesteśmy w parku rozrywki, siedzimy w teatrze bądź podróżujemy. Przy sobie mamy urządzenie bezprzewodowe z możliwością komunikacji z internetem (np. telefon, PDA). Razem z nami podróżuje nasz osobisty asystent - aktywny, inteligentny program umieszczony na tymże urządzeniu, któremu możemy zlecać szereg zadań.
Dla przykładu, w momencie gdy przechadzamy się w centrum miasta lub pobliżu sieci sklepów, możemy poinstruować naszego asystenta, aby znalazł nam sklepy, które posiadają artykuły nam potrzebne (oraz być może nawet wynegocjować zniżki lub wyszukać najtańsze), znaleźć restauracje (które by nam odpowiadały oraz zarezerwować miejsce dla nas) lub pomóc zlokalizować przyjaciół, którzy mogą również być w tym rejonie. Nasz asystent mógłby natychmiastowo dokonać zakupów, porównać ceny poszukiwanego produktu w pobliskich sklepach lub nawet w sklepach internetowych, a co najważniejsze oszczędzić mnóstwo czasu.

Dzisiejszy internet nie oferuje jeszcze tak wysublimowanych i inteligentnych usług, ale dzięki Sieciom Semantycznym - rola internetu powoli zacznie ewoluować ze stricte informacyjnej na środowisko w którym będzie szereg usług.

W powyższym przykładzie mogliśmy użyć swojego Osobistego Agenta, w celu zlecenia naszych zadań nie dzięki sieci WWW, która istnieje dzisiaj, ale dzięki Sieci Semantycznej, w którą niebawem zostanie zmodyfikowana. Dzisiaj większość informacji w WWW jest stworzona dla ludzi w celu czytania, a nie dla programów komputerowych w celu manipulowania oraz przetwarzania ich w inteligentny sposób. Z tego powodu aktualny stan WWW przedstawia poważne przeszkody oraz ograniczenia w dalszym jej rozwoju. Prostota technologii (w której każdy użytkownik może publikować swoją stronę) z jednej strony umożliwiła bardzo dynamiczny rozwój internetu, z drugiej jednak, stworzyła poważne zagrożenie związane z coraz bardziej ograniczoną możliwością wyszukiwania, wydobywania, utrzymywania oraz tworzenia informacji.

Ponieważ komputery są używane jedynie jako urządzenia, które wysyłają oraz renderują informacje (serwery www, przeglądarki), nie mają one możliwości inteligentnego przetwarzania danych. Dlatego też, maszyny oferują jedynie limitowaną pomoc podczas dostępu oraz w trakcie przetwarzania informacji. Co najważniejsze i najgorsze - operują one jedynie na poziomie zgodności syntaktycznej(wyjaśnione poniżej), czyli nie posiadają one możliwości zrozumienia oraz przetwarzania semantyki zawartej w informacji, typu np. powyższy adres WWW zaprowadzi mnie na stronę domową mojego przyjaciela, co jest bardzo oczywistą informacją dla człowieka. Dlatego też największy ciężar nie tylko związany z dostępem oraz przetwarzaniem informacji, ale i wydobywaniem i tłumaczeniem jej, spoczywa na użytkowniku. Z uwagi na ten poważny mankament, aktualnie jesteśmy świadkami internetu pierwszej generacji.

Następna wersja sieci globalnej będzie o wiele większa oraz potężniejsza. Aby umożliwić przemianę istniejącej sieci, musimy wprowadzić strukturę oraz semantykę dla informacji zawartych na WWW. Dzięki temu stworzymy środowisko, w którym autonomiczne, inteligentne oprogramowanie - agenci, nawigując po stronach, bądź używając wyspecjalizowanych usług, będą mogli przetwarzać oraz rozumieć napotkane informacje oraz wykonywać skomplikowane oraz wyrafinowane zadania dla użytkowników. Taki agent, napotkawszy moją stronę, będzie wiedział nie tyko, że strona posiada słowa kluczowe: strona domowa Mariusza, moje zainteresowania, mój plan zajęć (co może być z łatwością zapisane nawet dzisiaj), ale również informacje że mam bardzo zapracowany poniedziałek i czwartek, ale za to w piątek mam wolne, że lubię słuchać muzyki rockowej i moim ulubionym trunkiem jest piwo, że Romek i Ania są moimi przyjaciółmi oraz posiadają własne strony pod podanymi adresami. A co najważniejsze, tego typu informacje agent będzie rozumiał bez żadnego skomplikowanego wnioskowania lub zaawansowanej, scentralizowanej sztucznej inteligencji (jak np. system expertowy).

Tego typu wiedza (semantyka) będzie zakodowana na mojej stronie za pomocą typowego narzędzia do tworzenia semantycznych stron internetowych (tak jak dzisiaj narzędzia WYSIWYG do tworzenia stron WWW). Podczas porównywania moich zainteresowań i mojego przyjaciela - Romka, agent będzie mógł w bardzo prosty sposób zweryfikować, że moja ulubiona kategoria filmów - science fiction jest dalece odmiennym gatunkiem od jego ulubionej kategorii - komedii. Ostatecznie taki agent - mając określone zadanie do zrealizowania np. zaplanowanie wieczoru dla grupy przyjaciół - będzie mógł odkryć ogłoszone w internecie informacje na temat repertuaru kin, pubów, restauracji oraz zaplanować wieczór, rezerwując bilety oraz zamawiając transport, dla klienta oraz wybranej grupy przyjaciół (dokładniejszy opis tego scenariusza w następnej części). Do tej pory agenci byli wykorzystywani w bardzo specyficznych oraz zamkniętych systemach (np. NASA- systemy autonomiczne). Z nadejściem Sieci Semantycznych, tego typu autonomiczne programy będą mogły wykorzystać swój prawdziwy potencjał operując w tak ogromnym, dynamicznym i niedeterministycznym środowisku jakim jest internet. Dzięki nim, użytkownicy otrzymają nieocenioną pomoc podczas wielu skomplikowanych i czasochłonnych zadań.

3. Co to jest semantyka?

Zgodność syntaktyczna

Zgodność syntaktyczna wymusza poprawność informacji pod względem ich prawidłowej budowy - składni (komputer weryfikuje czy wszystkie elementy wchodzące w skład informacji są prawidłowe, czy istnieją, np. w zdaniu weryfikowane są wyrazy pod względem ich istnienia). Tego typu weryfikacja nie jest w stanie potwierdzić czy dane (aczkolwiek poprawne syntaktycznie), mają sens.

Zgodność semantyczna

Zgodność semantyczna wymaga mapowania oraz weryfikowania relacji pomiędzy elementami informacji, co z kolei wymusza analizę zawartości informacji. Semantyka wymusza formalną oraz wyraźną specyfikację modelu dziedziny, który definiuje pojęcia oraz relacje pomiędzy składowymi tego modelu. Takie formalne modele, czasami nazywane ontologiami, będą odgrywały decydującą rolę podczas umożliwiania przetwarzania oraz współdzielenia wiedzy pomiędzy programami w sieci WWW.

Przykład

Rozważmy poniższe przykłady zdań.

  • Zamierzam kupić Słońce.
  • Zamierzam kupić samochód.
    Powyższe zdania pod względem zgodności syntaktycznej są prawidłowe (wyrazy tworzące informację instnieją w rzeczywistości i są poprawne). Rozpatrując informacje zawarte w podanych zdaniach pod względem zgodności semantycznej można zauważyć że pierwsze zdanie jest nieprawidłowe. Wiemy że pierwsze zdanie nie ma sensu, a drugie jest prawidłowe, ponieważ posiadamy wiedzę (ontologię) na temat otaczających nas rzeczy, którą zdobyliśmy podczas naszego życia. Rozumiemy co kryje się pod pojęciem takich słów jak Słońce oraz samochód. Co więcej, jesteśmy w stanie zrozumieć pewnie relacje pomiędzy częściami informacji w obydwu zdaniach i na ich podstawie zweryfikować czy zdanie ma sens czy nie. Dlatego też, zdajemy sobie sprawę, że żyjemy na ziemi i nie możemy tak po prostu kupić Słońca.

4. Charatkerystyka Sieci Semantycznych

Tak samo jak Internet, Sieć Semantyczna (SS) będzie się charakteryzować silną decentralizacją. Rozproszone systemy operujące w SS, działające dla potężnych korporacji jak i zwykłych użytkowników będą dostarczały szereg inteligentnych usług, niemożliwych do zrealizowania w dzisiejszymWWW. Sieci Semantyczne umożliwią automatyczny dostęp do informacji oparty na semantycznych metadanych, umożliwiających przetwarzanie i rozumienie (wykorzystując techniki z dziedziny AI ) informacji przez maszyny.

Udostępnienie maszynom możliwości operowania na poziomie semantyki umożliwi stworzenie sieci, która dostarczy nowy i niespotykany poziom wyrafinowanych usług. Powstanie ogromna sieć wiedzy, wzbogacona o możliwość inteligentnego przetwarzania tych informacji przez maszyny. Różne zautomatyzowane usługi będą w stanie pomóc użytkownikowi wykonać skomplikowane zadania poprzez dostęp do informacji rozumianej przez maszyny. Ten proces w fazie końcowej stworzy ogromny system wiedzy, z różnego rodzaju wyspecjalizowanymi usługami wnioskującymi (reasoning services) - systemami, które będą nam pomagały niemalże w każdym aspekcie naszego życia i staną się tak niezastąpione, jak dostęp do elektryczności dzisiaj. Autorem i pomysłodawcą SS, jako sukcesora dzisiajeszego internetu jest sam twórca WWW - Tim Berners-Lee, aktualnie dyrektor konsorcjum WWW (W3C), które z pomocą wielu firm software’owych oraz ośrodków badawczych pracuje nad przyszłością internetu. Od kiedy pojęcie oraz idea Sieci Semantycznych została zaproponowana przez Tima w 1999, została ona określona jako najbardziej obiecująca technologia internetowa, która pozwoli zrewolucjonizować informatykę.

12 komentarzy

Cytat: "Oczywiscie idac tokiem Twojego rozumowania mozna stwierdzic ze semantyka to tez taxonomia a wiec po co nam semantyka?"
Albo ja sie zle wyrazilem, albo zle zrozumiales moj tok myslenia ;) Taksonomia to czesc semantyki, ale semantyka to nie tylko taksonomia.

Cytat: "Mowiac o semantyce nie obchodzi mnie struktura (taxonomia) ale relacje i mozliwosc inferencji na podstawie modeli semantycznych."
No wlasnie ;)

Cytat: "Wedlug mnie semantyka jest potrzebna aby tchnac w maszyny choc odrobine inteligencji, aczkolwiek prawdziwe zastosowanie jej oraz osiagniecie zamierzonych celow (autonomia, inteligencja) jest jeszcze daleko."
Semantyka to za malo. Wazna jest pragmatyka. Wazne jest nie tylko doslowne zrozumienie sensu przekazu, ale przede wszystkim zrozumienie intencji jego nadawcy, mozliwosc wykorzystania tego przekazu w odpowiedni sposob.
Pomysl o takim przykladzie. Uruchamiasz super system komputerowy i zadajesz pytanie: "Mozesz mi podac ceny monitorow 19 cali?" A system odpowiada: "Tak". To jest wlasnie czysta semantyka. Nie chce przez to powiedziec, ze nie masz racji, ale to, ze semantyka to tylko krok w kierunku "inteligencji" systemow.

Swiat jest piekny bo jest w nim tyle roznorodnosci;) Z punktu widzenia IT swiat dazy to automatyzaji przetwarzania informacji. Z uwagi na ogromna liczbe danych (np. zamieszczonych na internecie) nimozliwym wydaje sie wydobycie jej samodzielnie. Powiedzmy ze chcemy sprezentowac sobie zaczarowany olowek;) i wykorzystamy do tego
internet (bo zakupow przez internet nikt nam nie zabroni?). A wiec przemierzamy aukcje, sklepy internetowe, portale, moze nawet prywatne strony innych uzytkownikow w poszukiwaniu naszego zaczarowanego olowka. Za kazdym raze trafiamy na coraz to nowa aukcje, nowy portal - wydaje sie jest to niekonczaca walka z wiatrakami.
W koncu decydujemy sie na zakup (byc moze niezbyt optymalny) bo nie jestesmy w stanie (w skonczonym czasie przeszukac wszystkich zasobow internetowych). Cieszy mnie ze instnieja uzytkownicy ktormy wystarczy prosta obrobka danych z zastosowaniem niezbyt wyrafinowanych mechanizmow. Ale internet powoli przeistacza sie w platforme na ktorej beda nie tylko informacje ale co wazniejsze uslugi. Dlaczego by nie skorzystac z uslug ktore moglyby za nas wyszukac zaczarowany olowek? Sprawdzic i porownac ceny na internetowych aukcjach, sklepach badz stronach i wybrac najbardziej optymalna? Co wiecej - monitorowac aukcje, negocjowac oraz proaktywnie reprezentowac nasze interesy? Jest to o wiele bardziej wyrafinowany model oparty na uslugach oraz inteligentnych agentach ale wydaje mi sie ze same informacje nie wystarcza. Kolejny arguement: siec jest srodowiskiem heterogenicznym - posiadajac jedynie dane - w jaki sposob umozliwimy integracje roznych platform systemowych? Uslugi umozliwiaja wspolny interfejs nie tylko dla ludzi ale co najwazniejsze dla maszyn.
Idzmy jeszcze dalej - dziedziny jak Ubicomp, pervasive computing, ad-hoc networking przedstawiaja mozliwosc spontanicznej aktywacji sieci ktora nie posiada wlasnej infrastruktury. W takim dynamicznym i niedeterministycznym srodowisku, gdzie siec moze istaniec przez bardzo krotki czas (sekundy, minuty) - intergracja oraz autonomiczne wywolywanie uslug jest podstawa istnienia. Nie neguje ze istnieje problem z zaufaniem podczas inerakcji oprogramowanie-oprogramowanie (trust) ale nie rozumiem sceptycznej pozycji ktora stwierdza ze informacje tego typu technologie sa niepotrzebne. Dazymy do automatyzacji - a co za tym idzie - ulatwienia sobie zycia.

Cytat: oprogramowanie samo bedzie moglo (bez ingerencji uzytkownika badz programisty) osiagnac zamierzone przez uzytkownika cele" jest nieco na wyrost. Bo takie oprogramowanie bedzie moglo probowac jedynie zrealizowac jeden z predefiniowanych celow. Stworzenie uniwersalnego "rozwiazywacza wszystkich problemow" jest jak na razie fikcja, skoro nawet czlowiek tego nie potrafi.

Opd: Jak zwkykle wszystko jest wzgledne - i zawsze mozna zbagatelizowac oraz splaszczyc problem do stwierdzenia ze komputer strobi to co mu kazemy. Nie chce tutaj dalej polemizowac poniewaz zdaje sobie sprawe ze kazdy argument bedzie strywializowany. Chcialbym jedynie powiedziec ze intelligent agents to pojecie oparte na modelu BDI, ktore nie jest deterministyczna reprezentacja, tak samo semantyczne uslugi sieciowe - dazymy do tego aby rozwiazywac autonomicznie problemy. Podstawowy problem? Chcemy wywolac usluge A i B (composite service) ale z opisu semantycznego zauwazamy niezgodnoscie w parametrach wyjsciowych (usluga A) i parametrach wejsciowych (usluga B) - dlatego tez agent (badz jakikolwiek inny kod) moze wyszukac usluge C ktora umozliwi translacje formatow danych (czyli zintegruje uslugi A i B) i umozliwi integracje wczcesniej heterogenicznych uslug. Tego typu zachowanie, aczkolwiek predeterminowane przez reguly, jest sprecyzowane w bardzo abstrackyjny sposob, a wiec nie jest specyficzne do okreslonych uslug. Poszukujemy konzystencji podczas kompozycji uslug i nie obchodzi nas typ uslug. Dlatego tez smiem twierdzic ze tego typu podejscie jest o wiele bardziej autonomiczne - prezentujemy problem oprogramowaniu, ale odowiedzialnosc za rozwiazanie spoczywa na oprogramowaniu (w tym przypadku - znalezienie uslugi C).

Co do nieszczesnego UDDI to jest to zwykly rejestr uslug, ktore mozemy wykorzystac podczas wyszukiwania opartego na kluczach. Rozumieme ze znasz pojecia takie jak: semantyka i ontologie - i to co rozroznia UDDI a opis semantyczny uslug to swiadomosc istnienia relacji pomiedzny pojeciami w tym ostatnim. Roznica jest duza. Oczywiscie idac tokiem Twojego rozumowania mozna stwierdzic ze semantyka to tez taxonomia a wiec po co nam semantyka? Po co przez tyle wiekow sie tym zajmujemy i staramy sie laczyc w relacje pewne pojecia? Mowiac o semantyce nie obchodzi mnie struktura (taxonomia) ale relacje i mozliwosc inferencji na podstawie modeli semantycznych.

Wedlug mnie semantyka jest potrzebna aby tchnac w maszyny choc odrobine inteligencji, aczkolwiek prawdziwe zastosowanie jej oraz osiagniecie zamierzonych celow (autonomia, inteligencja) jest jeszcze daleko. Coraz bardziej widac jak poszczegolne dziedziny informatyczne: semantic web, grid computing, ad-hoc computing, ubicomp, pervasive computing, multiagent systems uzupelniaja sie.

Cytat: "oprogramowanie samo bedzie moglo (bez ingerencji uzytkownika badz programisty) osiagnac zamierzone przez uzytkownika cele. Czy tym zajmuje sie data minig? Hmm... nie sadze A wiec rozbierznosc pomiedzy tymi pojeciami jest wielka czyz nie?"

Nie ;) Jesli celem jest dostarczenie informacji, to data mining i information extraction (bo o tym tez wspomnialem, a jest to kluczem w tym zagadnieniu) zupelnie wystarcza. W momencie w ktorym dodamy do tego proste mechnizmy decyzyjne, biorace pod uwage preferencje uzytkownika, to juz chyba mamy wszystko. Ja w kazdym razie nie bardzo wyobrazam sobie autmoatyzecje bardzej skomplikowanych zastosowan. Na przyklad nie chcialbym, zeby jakis "inteligentny agent" wybieral za mnie progam emerytalny, albo ubezpiecznie na zycie. Jesli idzie natomiast o przedstawienie mi takich propozycji, to wspomniane przeze mnie technologie wystarczaja w zupelnosci.

I jeszcze jedno ;) Stwierdzenie "oprogramowanie samo bedzie moglo (bez ingerencji uzytkownika badz programisty) osiagnac zamierzone przez uzytkownika cele" jest nieco na wyrost. Bo takie oprogramowanie bedzie moglo probowac jedynie zrealizowac jeden z predefiniowanych celow. Stworzenie uniwersalnego "rozwiazywacza wszystkich problemow" jest jak na razie fikcja, skoro nawet czlowiek tego nie potrafi.

Co do UDDI i web services. Nie zajmuje sie tym juz od dawna, ale z tego co pamietam, UDDI jest (przynajmniej teoretycznie) rowniez taksonomia, a co za tym idzie zawiera w sobie semantyke. Jednak nie o to mi chodzilo, a o to, ze jesli wyposazymy web services w umiejetnosc czytania tagow semantycznych i analizy na tej podstawie UDDI to otrzymamy dokladnie ta sama funkcjonalnosc.

Aby podsumowac: zastanawia mnie po prostu to, czy nie jest to kolejna technologia, ktora uwaza sie za przelom i recepte na wszystko, a tak naprawde nie jest ani przelomowa ani nie rozwiazuje wielu problemow...
Gwoli wyjasnienia. Nie atakuje autora artykulu ani idei semantic web. Mam tylko watpliwosci co do sensu ogromnej pracy, ktora trzeba to wlozyc i za wszelkie rozwiewanie tych watpliwosci jestem wdzieczny :)

Chcialem zaznaczyc, ze nie nalezy mylic pojecia przedstawionego tutaj pomyslu Sieci Semantycznej (Semantic Web) z idea Sieci Semantycznych (Semantic Nets) ;-) Niestety polskie tlumaczenie moze wprowadzac zamieszanie... Jedno i drugie ma ze soba wspolna chyba jedynie idee operowania na znaczeniach. Przy czym Sem. Nets wymyslone zostaly w zasadzie w starozytnosci, wspomniane w sredniowieczu, a stosowane sa w praktyce od konca XIX wieku i nie ma tutaj w zasadzie zadnego wkladu Bernersa-Lee ;-)

Dodatkowo komentarz na temat przykladu ze slonce i samochodem. Bynajmniej "bezsensownosc" zdania ze sloncem nie wynika z semantyki tego zdania. Wynika to z pragmatyki. W ogole mozna by dyskutowac, czy podejscie semantyczne do analizy wypowiedzi ma sens, skoro zawiera sie w pragmatyce owej wypowiedzi. "Bezsensowne semantycznie" byloby np. zdanie "Chce kupic czerwien".

Zastanawiam sie tez, czy w momencie, w ktorym cala semantyka bedzie dostarczana na talerzu przez czlowieka (kodowana recznie, bo tak zrozumialem wypowiedzi w artykule), jest jakas przewaga architektury opartej na agentach nad architektura oparta na Web Services.
Malo tego, ciekawi mnie, jaka jest przewaga tego rozwiazania nad systemami wykorzystujacymi data mining i information extraction. Ja widze jedynie ulatwienie w przetwarzaniu informacji poprzez oznakowanie jej tagami.

Co do poprzedniego komentarza 'poruszony został tutaj tylko aspekt wykorzystania ich do www'. Podejrzewam ze kolega niebardzo rozumie, badz tez za bardzo syntaktycznie a nie semantycznie przetrawil artykul:) Sieci Semantyczne to szereg technologii zwiazanych nierozlacznie z WWW (Semantic Web - pamietamy?). I tutaj po pierwsze wszelkie techniki z AI sa jak najbardziej wykorzystywane - bo przeciez o to chodzi zeby tchnac troche inteligencji w te maszyny;) a srodowisko jakim jest WWW do tego najbardziej sie przeciez nadaje (nieograniczona liczba informacji, siec wspolpracujacych ze soba maszyn). Jesli chodzi o aspekt sztucznej inteligencji - to tutaj najwazniejsza role odgrywaja takie pojecia jak Ontologie, modelowanie wiedzy i tzw. Inference Engines, ktore sa oczywiscie czescia Sieci Semantycznych, dlatego tez Sieci Sem. poruszaja kazdy aspekt zwiazany z programowaniem sieciowym, rozproszonym, AI, modelowaniem wiedzy, systemami dynamicznymi, architekturami zorientowanymi na uslugi itp. itd.. i staraja sie to wszystko zintegrowac:)

Hm.. artykuł poprawny syntaktycznie, jak i semantycznie, lecz dżizys - na przyszłosc używaj formatowania - postać nieczytelna.

Co do sieci semantycznych - poruszony został tutaj tylko aspekt wykorzystania ich do www, a wspomnieć warto że są też używane [przynajmniej w teoretycznych strukturach] w tworzeniu sztucznej inteligencji i takie tam algorytmo-nudy ;]

to poprostu bedzie ujednolicenie internetu i dodanie lepszego interfejsu dla aplikacji. Zobaczymy jak to sie dalej rozwinie.

Jesli chodzi o reklamy - to zauwaz ze w bardzo prosty sposob bedzie to moglo byc utrzymane w 'ryzach'. Jak wczesniej wspomnialem - jesli kazda informacja lub usluga na internecie bedzie opisana w jezyku semantycznym zrozumialym dla komputera, agent analizujac jakas strone badz usluge bedzie wiedzial jaki rodzaj informacji ona udostepnia - jesli np. uzytkownik nie bedzie sobie zyczyl reklam - poleci agentowi aby omijal tego typu informacje w sieci. Badzmy jeszcze bardziej zlosliwi - jesli ktos bedzie perfidnie 'oszukiwal' oprogramowanie okreslajac je jako np. sklep a zamiast tego zamieszczajac reklame, inteligentne oprogramowanie ponownie bedzie w stanie kontrolowac zaistniala sytuacje za pomoca tzw. QoS (Quality of Service). W tym momencie postaram Ci sie wyjasnic na czym to polega. Z technicznego punktu widzenia, jakakolwiek transakcja wywoływana przez agenta bedzie za pomoca tzw. Semantycznych Usług Sieciowych, czyli np. nasza restauracja bedzie reprezentowana przez takową usługę, która nasz agent będzie mógł sam odnaleźć w sieci semantycznej oraz samodzielnie wywołać. Każda usługa posiada opis QoS, czyli jakość jaką ona udostępnia (moze być wiele parametrow - od jakosci sieci/predkosci dzialania po jakosc kupowanego towaru). Oczywiscie aby byla ona byc obiektywna - ocene za usluge bedzie mogl wystawic agent, a mowiac prosciej uzytkownik, ktory to bedzie zadowolony badz nie. W takim przypadku powstanie tzw. Feedback mechanism, ktory widzimy np. na roznego rodzaju aukcja, ale bedzie o tyle korzystniejszy, ze to maszyny beda go rozumialy.

Hmmm... rozumiem...
Chodzi mi głównie o to, że jeśli już taka sieć powstanie, to zaraz się okaże, że tą samą drogą można równie dobrze przesyłać reklamy. Poza tym, kiedy program będzie wybierał [czyli 'filtrował'] towar / usługę (opieram się o twoje przykłady ze sklepami i restauracją) , będzie musiał wziąć pod uwagę nie tylko jego cenę, ale także jakość. A ponieważ żaden usługodawca (sklep, restauracja, bank, itp...) nie może obiektywnie ocenić swojego towaru i zawrzeć informacji o tym w bazie danych, więc ostateczny wybór miedzy wszystkimi ofertami i tak będzie należał do klienta. Czyli praktycznie nic się nie zmieni, może tylko łatwiej będzie znaleźć reklamy...

[wiem, jestem trochę sceptyczny...]

Obawiam sie ze moj artykul moze zostac zle zrozumiany - jak na wstepie zaznaczylem Sieci Semantyczne to nie zupelnie nowa architektura lub nowy internet - tylko strukturyzacja oraz porzadkowanie informacji na dzisiaj istniejacej WWW, dzieki czemu maszyny beda mogly efektywniej i inteligentniej przetwarzac informacje oraz powstanie mozliwosc stworzenia bardziej wyrafinowanych uslug, a nie tylko informacji. Od strony technicznej temat nie rysuje sie jako futurystyczna bajka - technologie oraz oprogramowanie jest juz gotowe i powstaje mnostwo projekow z tym zwiazanych. Dlatego jesli chcemy umozliwic aby np. nasz sklep internetowy mogl byc 'odnaleziony' przez inteligentne oprogramowanie - agentow - wystarczy dodac opis semantyczny tego serwisu - co sprowadza sie do paru znacznikow XML pochodnych (istnieja wyspacjalizowane jezyki takie jak OWL,RDF,DAML to tego typu annotacji) Poza tym tego typu technologie sa wspierane przez takie firmy jak IBM, HP, Microsoft i bardzo blisko spokrewnione z tzw. Web Services, ktore promowane sa przez eBiznes w celu integracji systemow

To się i tak nie uda... każdy sklep, każdy usługodawca musiałby mieć własną 'witrynę' w takiej sieci semantycznej z bazą danych. Całość zachęcająca, ale IMHO zbyt futurystyczna. Nawet jeśli z początku tworzenia takiej sieci będzie się wydawało, że wszystko jest w jak najlepszym porządku, to potem zrobi się bałagan i wszystko się zaplącze jak w dzisiejszej WWW (w końcu nie tylko programy i specjaliści będą mieli dostęp do tej sieci, ale kreowali ją będą również zwykli ludzie). Pomysł zachęcający, ale moim zdaniem niewykonalny przy obecnych warunkach (tak ekonomicznych, jak i światopoglądowych).

Artykuł fajny, tylko miejscami nudnawy:)

Wczesniejsze rozterki kolegi: 'Zastanawiam sie tez, czy w momencie, w ktorym cala semantyka bedzie dostarczana na talerzu przez czlowieka (kodowana recznie, bo tak zrozumialem wypowiedzi w artykule), jest jakas przewaga architektury opartej na agentach nad architektura oparta na Web Services.
Malo tego, ciekawi mnie, jaka jest przewaga tego rozwiazania nad systemami wykorzystujacymi data mining i information extraction. Ja widze jedynie ulatwienie w przetwarzaniu informacji poprzez oznakowanie jej tagami.'

  1. Inteligentni Agenci i web services - to nie sa rozlaczne technologie - dzieki umozliwieniu agentom operowania na poziomie semantycznym - oprogramowanie samo bedzie moglo (bez ingerencji uzytkownika badz programisty) osiagnac zamierzone przez uzytkownika cele. Czy tym zajmuje sie data minig? Hmm... nie sadze A wiec rozbierznosc pomiedzy tymi pojeciami jest wielka czyz nie?
    Kolejne wyjasnienie: Web Services+Ontologie (OWL-S, wczesniejszy DAML-S) - umozliwienie agentom dyniamicznego i samodzielnego okrywania nowych uslug sieciowych (na poziomie semantycznym), kompozycji ich w celu dostarczenia nowych uslug oraz wywolywania ich.

Jak kolega wyobraza sobie to za wykorzystaniem samych web services ktore udostepniaja jako interfejs (i to dla czlowieka) jedyni UDDI oparty na wyszukiwaniu syntaktycznym?