Ontologia to tradycyjny dział filozofii badający rzeczywistość, i próbujący ją jak najlepiej objaśnić. Co to znaczy istnieć? Co istnieje? Jak istnieje? - na takie pytania ontolodzy próbują odpowiadać.
Ontologia w informatyce ma nieco inne znaczenie. Jest to “konkret” wyciągnięty z tradycyjnych filozoficznych rozważań. Zasadnicze pytania tutaj, to: Jak opisać to co istnieje? Według jakich pojęć?, Jakie cechy rzeczy są istotne? Jakimi relacjami są one powiązane?
Ontologie tego rodzaju wytwarzamy dla maszyn, a nie dla człowieka. Chodzi o wyrażenie danych w taki sposób, by przetwarzający je potem program "pokumał", “co mieliśmy na myśli”. W sieci jest mnóstwo informacji, ale z reguły przeznaczonych dla ludzi. Przykładowo możemy śledzić wyprawę jakiegoś podróżnika, który na swoim blogu określa nawet długość i szerokość geograficzną miejsc które odwiedza, ale jeśli zapytalibyśmy Google o relacje podróżnicze z określonego współrzędnymi rejonu świata, to wyszukiwarka nie potrafiłaby znaleźć strony którą właśnie czytamy. Potrafi znaleźć tylko te strony, na których wystąpiły konkretne wartości długości i szerokości geograficznej. Trzeba by wpierw wskazać maszynie, iż określony ciąg znaków w tekście strony internetowej odnosi się do określonego pojęcia, w tym przypadku pojęcia lokalizacji o cechach długości i szerokości geograficznej. Zbiory takich opisanych jednoznacznie pojęć, i relacji między nimi, już powstały, dla bardzo wielu dziedzin wiedzy. Nazywane są właśnie ontologiami i zakodowane np. z pomocą Web Ontology Language. Tak zwana Sieć Semantyczna (Semantic Web) zwana też czasem Web 3.0, z możliwością semantycznego wyszukiwania informacji, stanowi "świętego Graala" ludzi zaangażowanych w rozwój internetu. Tutaj przykład tego, co maszyny już "wiedzą" o dowolnym haśle z Wikipedii (DBpedia), a "chciałyby" "wiedzieć" dużo, dużo więcej. Przykładem bardzo zaawansowanego serwisu mapującego semantycznie wiedzę jest Wolfram Alfa - pytajcie o co chcecie, w języku naturalnym. Wolfram Alfa pomógł mi kiedyś w bardzo nieoczekiwany sposób - potrzebowałem rymu, więc zapytałem o wszystkie słowa angielskie o określonej końcówce. Mógłbym napisać sobie mały program, który znalazłby mi to samo na podstawie słownika. Tu jednak nie musiałem tworzyć algorytmu - wpisałem jedynie pytanie w naturalnym angielskim a "algorytm" wyłonił się samoczynnie z ogólnych reguł wnioskowania Wolframa. Ten serwis ma naprawdę potężne możliwości.
Tyle jeśli chodzi o "twardą" wiedzę, ale są też ontologie trudniejsze do zdefiniowania - te związane z zawiłościami ludzkiej psychiki. Facebookowy przycisk “Like” - “Lubię to”, symbolizuje kluczowy element na którym bazuje model biznesowy tej firmy - ontologię “lubienia”. Ontologię tego co uwielbiamy, czego szukamy i czego pożądamy. Dysponując technikami opisywania wszystkiego co można lubić, wystarczy zebrać dane na temat preferencji internautów, oraz inne fakty o nich (gdzie mieszkają, w jakich godzinach używają internetu, z kim się przyjaźnią i jakie preferencje mają społeczności w których funkcjonują, etc.). Ten materiał jest potrzebny do ukierunkowania wyświetlanych potem reklam. Przykładowo ktoś kto zadeklarował wcześniej iż lubi polskie pisma motoryzacyjne, zobaczy reklamy związane z branżą samochodową.
Ontologia wykorzystywana przez facebooka nosi nazwę Open Graph Protocol i ostatnio powiększyła się o bardziej szczegółowe preferencje użytkowników (intent). Novum na które zwracają uwagę komentatorzy stanowi uwzględnienie w tej ontologii czasowników. Mamy już nie tylko asercję “lubienia”, ale także asercje w rodzaju “obejrzałem film x”, oraz intencje w rodzaju “chcę obejrzeć film x”. Ponadto facebook udostępnił ostatnio użytkownikom możliwości wyszukiwania analogiczne do tych oferowanych przez Wolfram Alfa - noszą nazwę Graph Search. Z pomocą tego narzędzia można się zapytać np. o wszystkich ludzi ze Szczecina, którzy aktualnie mieszkają w Stanach Zjednoczonych. Dzięki facebookowej ontologii dysponującej pojęciami miejsca urodzenia, oraz aktualnego miejsca pobytu zyskujemy dostęp do potężnej ilości informacji, właściwie niemożliwych do uzyskania w inny sposób.
Inny serwis społecznościowy, LinkedIn, znalazł ostatnio doskonały sposób na budowanie bazy wiedzy na podstawie ontologii tego co potrafimy. Pyta naszych współpracowników, czy posiadamy określone umiejętności (skills). Jest to zrozumiałe zważywszy na fakt, iż model biznesowy LinkedIn opiera się m.in. na firmach headhunterskich wykupujących płatny dostęp do serwisu.
Brak alternatywnego przycisku “Hate” na facebooku od dawna rodzi dyskusje. Funkcje “dislike” są dostępne w innych serwisach społecznościowych - ot choćby w YouTube. Ten brak jest jednak doskonale zrozumiały. Facebook opiera swój model biznesowy na “ontologii miłości”, a nie “ontologii nienawiści”. Komu w ogóle mogłaby być potrzebna “ontologia nienawiści”?
Ostatnio znalazłem odpowiedź na to pytanie. Serwis hatebase.org zbiera próbki "nienawistnych" wyrażeń w różnych językach. Chodzi o słowa czy związki frazeologiczne, które jeśli pojawiają się w języku, to często w charakterze wypowiedzi obraźliwej, będącej wyrazem dyskryminacji, uprzedzeń, czy nienawiści na tle etnicznym, religijnym, płciowym, orientacji seksualnej, czy niepełnosprawności.
Oto przykłady polskich “nienawistnych” słów wprowadzonych do serwisu:
"szkop, szwab, kałmuk, pepik, katol"
Jaki jednak jest cel gromadzenia świadectw ludzkiej małości? Autorzy zakładają, że dzięki operowaniu “ontologią nienawiści”, maszyny będą w stanie automatycznie rozpoznawać w internecie narastanie wrogości w różnych częściach świata. Np. tam gdzie dochodzi do ludobójstwa, nienawistne nastroje znajdują wcześniej odzwierciedlenie w języku, a przy obecnym poziomie dostępności internetu, z pewnością znajdą także odzwierciedlenie w nośniku języka jakim jest internet. Czy takie automatyczne przetwarzanie danych pozwoli faktycznie wykrywać nastroje społeczne prowadzące do masowej przemocy? Zobaczymy. Myślę że spróbować warto.
Więcej o Hatebase w Wired.