Niektóre produkty dojrzewają bardzo długo. Pod koniec marca pisałem tutaj o nowym serwisie Freebase, który postawił sobie wielkie zadanie jednej z pierwszych implementacji semantycznego webu. Semantyczny Web jest zdaniem fachowców tym następnym potężnym krokiem w rozwoju internetu. Może Web 3.0? Albo dopiero Web 4.0?
Freebase grzecznie zaproponował mi wtedy odwiedzanie ich bloga i długo było całkiem cicho. Już prawie o Freebase zapomniałem, aż tu nagle dotarł do mnie email z zaproszeniem do rejestracji. Skorzystałem z niego skwapliwie, ciekawy co oni takiego zmajstrowali.
Otóż wygląda to bardzo interesująco. Freebase organizuje wiedzę w tak zwane topics.Topic reprezentuje różne rzeczy czy pojęcia jak na przykład ludzi, miejsca, przedmioty czy idee. Topic-owi można przyporządkować różne własności - properties. Properties opisują atrybuty czy własności danego topica. "Roman Polański" to topic, a informacje o nim, jak miejsce i data urodzenia, to properties. Dla przejrzystości properties zebrane są w type. Type to klasa własności charakterystyczna dla pewnej grupy rzeczy czy pojęć. I tak na przykład type "person" to zbiór properties, czyli właśnie miejsce urodzenia, data urodzenia, itd. opisujących daną osobę. Możemy więc przyporządkować Polańskiemu type "person" i poprzez ten type zdefiniować istotne properties.
Inny interesujący aspekt to sieć powiązań, która w ten sposób powstaje. Do topica Polański dodałem w type "person" wartość "Paris" do property "place of birth". W tym przypadku "Paris" to nie tylko słowo, ale inny topic przyporządkowany do kilku types jak "City/Town" czy "Location". Dzięki temu stworzyłem nową zależność poprzez linkowanie tych dwóch topic-ów. Dodatkowo dodałem tam do property "profession" wartość "film director". Ta nowa struktura dodaje niejako znaczenie do zmagazynowanej informacji. To już nie tylko słowa, ale słowa, które mają pewne znaczenie. Ta struktura i znaczenie to podstawa dla różnych automatycznych zastosowań. Umożliwia ona dużo bardziej precyzyjniejsze niż czysto tekstowe przeszukiwanie informacji. I tak na przykład szukanie "Roman Polański urodzony w Paryżu i z zawodu reżyser" daje dokładnie ten jeden właściwy rezultat.
Możliwe jest nawet szybkie znalezienie "wszystkich osób urodzonych w Paryżu i z zawodu reżyser". Wprawdzie sam nie znalazłem tej możliwości, ale chłopaki z Freebase prawie natychmiast odpowiedzieli na me zapytanie i przesłali mi linka z tą query. Długa na chyba 240 znaków, nie całkiem zrozumiała, ale funkcjonuje!
Wypróbowałem semantyczny web Freebase na przykładzie Gregga Easterbrooka (to autor książki pod tytułem "The Progress Paradox" o czym pisałem tutaj). Najpierw sprawdziłem czy Freebase już wie, że Easterbrook jest autorem książki, szukając "Easterbrook" poprzez type "Author(Book)". Freebase w ten sposób nie znalazł żadnego autora książki o nazwisku "Easterbrook":
Pojęcie "Easterbrook" jako topic w formie tekstowej znalazłem jednak bez kłopotu:
Freebase umożliwia użytkownikom definiowanie nowych type do każdego topica. W ten sposób, praktycznie tak jak w Wikipedia, użytkownicy mogą sami uzupełniać informację poprzez przyporządkowanie nowych types. Ba, wybrani użytkownicy, tak zwani administratorzy, mogą nawet definiować całkiem nowe types.Skorzystałem z tej możliwości w przypadku Gregga Easterbrooka. Kliknąłem na jego topic i wybrałem opcję "New Type":
Wybrałem z listy type "Author (Book)" i natychmiast ukazały się wszystkie związane z type "Author (Book)" properties. We Freebase każdy użytkownik może sam dodać wartość do tych properties:
Teraz szukanie pojęcia "Easterbrook" poprzez type "Author (Book)" dało pozytywny wynik. Dla Freebase topic "Easterbrook" to już nie tylko tekst, ale także autor książki. Freebase w pewnym sensie rozumie znaczenie słowa "Easterbrook", chociaż jest to jak widać rozumienie bardzo mechaniczne:
Podsumowując moje pierwsze doświadczenia z semantycznym webem uważam, że Freebase warty jest uwagi. To z pewnością krok we właściwym kierunku. Nie wszystko funkcjonuje jeszcze jak trzeba, a kilka ważnych aspektów, jak jakość poczynionych przez użytkowników wpisów, nie są jednoznacznie rozwiązane.
To jednak jest poniekąd zrozumiałe. Jak na razie Freebase prezentuje się w swej dziewiczej wersji alfa.