Z bloga Filipa Teppera dowiedziałem się, że Google w swojej intranetowej wyszukiwarce wprowadziło ficzer klastrujący wyniki wyszukiwania.

O co chodzi? Clustering czy raczej Data Clustering to zagadnienie związane z dziedziną wiedzy nazwaną Data Mining czyli z polska “Eksploracją danych”. Wg Wikipedii to: metoda tzw. klasyfikacji bez nadzoru (ang. unsupervised learning). Jest to metoda dokonująca grupowania elementów we względnie jednorodne klasy. Podstawą grupowania w większości algorytmów jest podobieństwo pomiędzy elementami – wyrażone przy pomocy funkcji (metryki) podobieństwa.

Clustering stosuje się między innymi przy kompresji. Ja jednak chce się skupić na wykorzystaniu Analizy skupień do grupowania wyników wyszukiwania zależności od znaczeń i kontekstów ich występowania.

Uprośćmy. Wpisując jakąś frazę do Google otrzymujemy wyniki, które są jakimś przeglądem tego co w Internecie miało jakiś związek z wpisaną przez nas frazą. Im fraza bardziej ogólna tym wyniki mniej odpowiadające naszym oczekiwaniom. Na przykład wpisując do Google słowo “mouse” otrzymujemy wyniki dot. myszy jako gryzonia, myszy komputerej i zespołu rockowego Modest Mouse. Wyniki są tak rozbieżne bo Google nie rozumie ani nie pyta o kontekst naszej frazy i podrzuca nam wszystko “jak leci” co zawiera żądaną frazę a kolejność wyników ustala na zasadzie page ranku, link popularity czy korzystając z jeszcze innego algorytmu.
Google nie bierze pod uwagę tego, że nam może chodzić o Mickey Mouse tylko zapomnieliśmy jej imienia ;). Chodzi więc o to, że Google nie powie nam nic o Mickey Mouse ponieważ nie sprecyzowaliśmy zapytania, zamiast podpowiedzieć nam zapytania które doprecyzują wyniki.

Skąd Google miałoby wiedzieć, że chodzi nam o Mickey Mouse albo, że w ogóle słowo “mouse” może występować w kontekście disneyowskiej postaci? Odpowiedź jest prosta: z samych wyników wyszukiwania dla frazy mouse.

Pierwszy raz o takim sposobie grupowania wyników dowiedziałem się z wpisu na blogu TheTarPit. MiMaS w komentarzach linkuje do ciekawej wyszukiwarki Clusty, a jednak to nie jedyna wyszukiwarka tego typu.

Przyjrzyjmy się jej i kilku innym

Clusty


Clusty to produkt firmy Vivisimo. Clusty to meta-wyszukiwarka – korzysta więc z wyników kilku najlepszych wyszukiwarek. Twórcy zostawili tworzenie rankingów wyszukiwarkom, których wyniki wykorzystują i skupili się na jakości prezentacji tych wyników. Po prawej mamy panel z kontekstami dot. danej frazy oraz liczbą wyników w danym kontekście. Co ciekawe Clusty pozwala na przeszukiwanie kilku źródeł informacji – mamy możliwość przeszukiwania blogów, wikipedii, newsów i ofert pracy.

Mooter


Mooter to powstała dwa lata temu wyszukiwarka Mootermedia, która łączy zalety tzw. Visual search engines – czyli wyszukiwarek, które prezentują w wyniki w formie graficznej z wyszukiwarkami grupującymi. Coś podobnego do Amaznode o której kiedyś pisałem. Po wpisaniu zapytania otrzymujemy diargam kontekstów i znaczeń. Niestety nie udało mi się znaleść informacji na temat tego skąd Mooter czerpie wyniki – najprawdopodobniej to wyniki Google.

Ask.com


Ask.com (wcześniej Ask Jeeves) to piąta pod względem popularnościwyszukiwarka w USA (wg Nielsen//NetRating). To chyba najbardziej mainstreamowy przykład użycia technologii clustering’u. Ask używa algorytmów grupujących, kupionej jakiś czas temu przez InterActiveCorp, wyszukiwarki Teoma.

Carrot 2

Na koniec polski akcent – Carrot 2 to wyszukiwarka klastrująca stworzona na Politechnice Poznańskiej przez Stanisława Osińskiego, Dawida Weissa. Wyszukiwarka naprawdę dobra. Carrot 2 grupuje wyniki wyszukiwarek Yahoo, Google i MSN, poza tym daje możliwość przeszukania Wikipedii, Dmoz, serwisu z ofertami pracy Indeed oraz… zasobów Politechniki Poznańskiej. Poza tym Carrot 2 ma fajny AJAX’owy interface i w dodatku jest to projekt Open Source’owy. Świetna sprawa.

Ok ale zacząłem od Google i ich intranetowej wyszukiwarki – jakie znaczenie ma intranet Google? Tak, że w intranecie Google testowało wiele rozwiązań, które potem wprowadzało do wyszukiwarki internetowej. Możemy się więc spodziewać, że clustering będzie wkrótce ogólnodostępną funkcjonalnością najpopularniejszej wyszukiwarki i tym samym wejdzie do ścisłego mainstreemu co wg mnie jest bardzo pozytywną informacją. Krok w stronę semantycznej sieci?