Search with Carrot!

Carrot - user manual

General information
Interfejs - strona powitalna
Strona wyników - górny panel
Widok listy rankingowej
Widok znalezionych grup
Widok dokumentów zawierających określoną frazę
Widok wszystkich dokumentów w grupie
Widok odnalezionych fraz (dynamiczny indeks)
Opcje użytkownika

General information

This user manual is in Polish only as for the time being. I apologize for inconvenience and will fix this issue as soon as time permits.
Carrot jest systemem do wyszukiwania danych. Pracuje jako filtr pomiędzy prawdziwym źródłem danych (np. wyszukiwarką internetową typu Google, Altavista, Yahoo), a użytkownikiem. Jego oryginalną funkcją i celem jest prezentacja nie tylko tak zwanej listy rankingowej znalezionych, pasujących do zadanego zapytania (tzw. query) dokumentów, ale również grupowanie znalezionych dokumentów według fraz w nich występujących.

Można sobie wyobrazić przykład - niech zadanym słowem do wyszukania będzie "zamek". Wtedy źródło danych zwróci nam dokumenty zarówno o zamkach w sensie budowli, jak i o zamkach w sensie zamków do drzwi. Mogą się również zdarzyć tam dokumenty omawiające zamki jako elementy ubioru (błyskawiczne). Carrot powinien usprawnić dojście do właściwego podzbioru dokumentów, który nas interesuje, podając również słowa kluczowe, pozwalające na zawężenie zapytania wydanego źródłu danych.

Należy jednak pamiętać, że algorytm, który ma w sobie zaszyty Carrot jest jedynie maszyną i w ogólności jego wyniki mogą odbiegać od szeroko rozumianego sensu...

Interfejs - strona powitalna

Strona powitalna systemu Carrot jest bardzo skromna i jest przedstawiona na rysunku 1.1. Poszczególne elementy interfejsu wyjaśnione są poniżej.


Rysunek 1.1. Strona powitalna.

(1) - Aktualnie wybrane źródło danych. Jest to bardzo ważna informacja, bowiem od źródła danych zależy zarówno czas obliczeń jak i ich jakość. Źródło danych można zmienić w preferencjach użytkownika, dbając o spójność z dwoma pozostałymi parametrami kluczowymi dla systemu: lematyzatorem i listą słów ignorowanych. Ogólnie powinna zostać zachowana spójność jeśli chodzi o język, to znaczy jeśli wybrany został angielski Google, to również wybrać powinno się do niego angielski lematyzator (stemmer) i angielską listę słów ignorowanych.

(2) - Miejsce na wpisanie poszukiwanych termów. Tekst ten jest bez zmian przekazywany do źródła danych, więc jeśli jest nieprawidłowy, to źródłó danych go odrzuci poprzez zgłoszenie wyjątku.

(3) - Przycisk akceptujący termy do szukania i inicjujący obliczenia.

(4) - Opcje zarówno wyglądu interfejsu użytkownika, jak i sterujące obliczeniami. Więcej informacji w sekcji omawiającej strone preferencji użytkownika dalej na ten stronie.

(5) - Informacje o prawach autorskich użytych programów i danych, podziękowania od autora.

(6) - Pomoc, którą właśnie czytasz.

(7) - Formularz służący przesłaniu autorowi sugestii, raportów o błędach lub niedociągnięciach.

(8) - Parę uwag co do szybkości działania Carrota.

Strona wyników - górny panel

Po zadaniu zapytania, wyniki są prezentowane w jednym z domyślnych układów (zazwyczaj jest to tak zwana lista rankingowa). Dla każdego z widoków (omówionych dalej), elementem wspólnym jest górny element ekranu, pozwalający na redefinicję zapytania do źródła danych.


Rysunek 1.2. Panel redefinicji zapytania.

(1) - Opcje dotyczące Carrota, powtórzone ze strony początkowej.

(2) - Przycisk do ponowienia szukania.

(3) - Termy do ponownego szukania w źródle danych.

(4) - Pasek informacji o poszukiwaniu. Ze względu na ogólność implementacji, dla niektórych źródeł danych część z tych informacji może być niedostępna. W przypadku wybrania opcji używania pamięci podręcznej będzie również zaznaczone czy wyniki są "świeże", czy też zostały wziete z wyniku innego zapytania.

(5) - Opcje dotyczące widoków (prezentacji) wyszukanych danych. Carrot umożliwia prezentację wyników szukania nie tylko w postaci listy rankingowej (tak, jak to pobrał od źródła danych), ale również w postaci grup i pogrupowania po frazach wspólnych dla dokumentów. Więcej informacji znajdzie Czytelnik przy omawianiu poszczególnych widoków.

Widok listy rankingowej

Lista rankingowa jest prezentacją dokumentów tak, jak one zostały pobrane ze źródła danych. W przypadku przeglądarek internetowych będzie to zazwyczaj posortowana według tak zwanej "adekwatności do zapytania" (relevance to the query) lista wyników szukania. Ten widok nie wnosi żadnych usprawnien względem samego źródła danych, jednak czasem pozwala od razu zorientować się czy trafnie dobrano słowa kluczowe zapytania.


Rysunek 1.3. Widok listy rankingowej.

(1) - Wiersz wyboru widoku danych.

(2) - Podział listy wyników na strony pozwala na łatwiejsze przeglądanie. Wielkość strony można ustawić w opcjach.

(3) - Liczba wszystkich pasujących do zapytania dokumentów znajdujących się w źródle danych. Ta informacja może być dla niektórych z nich niedostępna.

(4) - Obszar pojedynczego odwołania do dokumentu. Każde takie odwołanie, będące wynikiem zapytania składa się z tytułu, wycinka tekstu (tak zwanego snippetu) oraz adresu, przy czym opcjonalne elementy to tytuł i snippet.

(4.1) - Tytuł dokumentu.

(4.2) - Snippet.

(4.3) - Adres (zazwyczaj URL dokumentu.

(5) - Linia statusu, na której prezentowane są dodatkowe informacje. Ujęty w nawiasy kątowe jest numer dokumentu tak, jak został pobrany ze źródła danych (licząc od 1).

Widok znalezionych grup

Widok grup dokumentów, które zawierają podobne frazy. Prezentowane są tutaj nie poszczególne dokumenty, lecz zgrupowane zbiory, które charakteryzuje jakaś wspólna fraza. Przykładowo na przykładzie 1.4 mamy grupę składającą się z 15 dokumentów (por. [7]), które łączą frazy "teksty", "dyskografia", "galerię zdjęć" i inne (liczba prezentowanych dla grupy fraz może zostać określona w opcjach). Jak widać prawdopodobnie te 15 dokumentów omawia dyskografię oraz teksty piosenek artysty Kazika (w odróżnieniu od innych grup, które być może prezentują jego życiorys).

Grupy są tworzone w oparciu o połączenie pewnej liczby dokumentów zawierających dwie różne frazy, jeśli ich część wspólna jest wystarczająco duża. Załóżmy, że mamy dokumenty A, B, C i D i że A i B zawierają frazę "wał pomorski", zaś B i C słowo "historia". Te dwie (tak zwane grupy bazowe) są łączone w jedną grupę z dwoma frazami (historia, wał pomorski), ponieważ zawierają ponad 50% wspólnych dokumentów (w tym przypadku częścią wspólną jest dokument B).


Rysunek 1.4. Widok grup dokumentów.
Należy zauważyć, że mimo, iż mechanizm ten może wydawać się silny, to w wielu przypadkach wyniki działania algorytmu grupującego mogą nie być satysfakcjonujące. Przyczyną tego jest również fakt, że grupowanie jest dokonywane jedynie na podstawie snippetów, których jakość jest zależna wyłącznie od źródła danych.

(1) - Pokazanie faktu że oglądany jest widok grup dokumentów.

(2) - System może wyodrębnić wiele grup, które są dzielone i pokazywane na wielu stronach. Wielkość strony można określić w opcjach, przy czym zazwyczaj grupy leżące "dalej" mają mniejsze znaczenie, bowiem wdziera się do nich więcej informacji chaotycznych (por. [7]).

(3) - Poszczególne frazy (w szczególności słowa) określające grupę. Poprzez kliknięcie na nich otrzymujemy widok dokumentów zawierających jedynie tę frazę lub słowo. Aby zobaczyć wszystkie dokumenty grupy należy kliknąć na [5].

(4) - Procent dokumentów w grupie zawierających daną frazę. Aby zobaczyć jedynie te dokumenty (przekrój grupy) należy kliknąć bezpośrednio na frazie (por. [3]).

(5) - Pokazanie widoku wszystkich dokumentów grupy.

(6) - Wybrana lista dokumentów reprezentatywnych dla grupy. Liczbą tych dokumentów można sterować z opcji. Pojedyncza referencja składa się z tytułu, numeru dokumentu na liście rankingowej oraz jego adresu.

(7) - Pasek informacji pomocniczych, gdzie znaleźć można obok numeru porządkowego grupy oraz liczby zawartej w niej dokumentów, informację o ocenie, jaką grupa uzyskała podczas wykonywania algorytmu (im wyższa, tym lepiej). Uwaga: funkcja ta jest dostępna jedynie jeśli opcja wyświetlania zaawansowanych informacji jest włączona.

Widok dokumentów zawierających określoną frazę

Widok dokumentów zawierających pewną frazę pozwala na "przefiltrowanie" listy rankingowej do jedynie tych referencji do dokumentów, które w swoim snippecie ją zawierają. Jest to de-facto zbliżone do ponownego wydania zapytania, poszerzonego o słowa frazy. Słowa frazy mogą być, w zależności od użytego lematyzatora w innej formie niż jest to podane w nagłówku.


Rysunek 1.5. Widok dokumentów zawierających frazę.

(1) - Informacja o użytym widoku.

(2) - Frazy, które zawierają wszystkie dokumenty prezentowane na liście.

(3) - Liczba dokumentów zawierających frazy dla których filtrujemy.

(4) - Prezentacja referencji do dokumentu, identyczna jak w przypadku listy rankingowej.

Widok wszystkich dokumentów w grupie

Widok wszystkich dokumentów w grupie pozwala na przefiltrowanie listy rankingowej tak, by zobaczyć tylko te dokumenty, które zawierają którąś z fraz tworzących grupę.

Jeśli w opcjach zaznaczono dodatkowe informacje o obliczeniach, to widok ten ukaże wszystkie frazy w grupie, również te, które nie zostały wybrane do jej reprezentacji.


Rysunek 1.6. Widok wszystkich dokumentów grupy.

(1) - Informacja o użytym widoku.

(2) - Frazy tworzące grupę. Kliknięcie na frazie powoduje pokazanie widoku dokumentów zawierających jedynie ją samą (podzbiór grupy). Liczba z prawej strony frazy obrazuje procent dokumentów grupy, w którym fraza występuje. Liczbę pokazywanych fraz można wybrać w opcjach.

(3) - Prezentacja referencji do dokumentu, identyczna jak w przypadku listy rankingowej.

Widok odnalezionych fraz (dynamiczny indeks)

Widok ten prezentuje wszystkie frazy (składające się z jednego i wielu słów), które zostały znalezione w snippetach pobranych ze źródła danych. Aby fraza pojawiła się na tym widoku, musi wystąpić przynajmniej w dwóch dokumentach. Innymi słowy jest to prezentacja wszystkich znalezionych fraz, bez łączenia ich w grupy.

Jest to tak zwany indeks dynamiczny, pierwszy raz wprowadzony w systemie Grouper II.


Rysunek 1.7. Widok indeksu dynamicznego.

(1) - Informacja o użytym widoku.

(2) - Opcje sortowania fraz. Sortowanie według oceny algorytmu STC jest wyważeniem pomiędzy długością frazy, a liczbą dokumentów w jakiej się ona znajduje (dłuższe frazy są faworyzowane).

Sortowanie według heurystyki zaproponowanej w Grouper II pokazuje jedynie podzbiór wszystkich fraz - takie, które maksymalizują sumę ocen algorytmu STC i pokrywają względnie maksymalny podzbiór wszystkich dokumentów.

(3) - Posortowane frazy (kolejność: najpierw od lewej do prawej w wierszach, później w dół). Kliknięcie na frazie powoduje przejście do widoku obrazującego dokumenty, które ją zawierają.

Opcje użytkownika

Carrot może zostać dopasowany w olbrzymim stopniu do indywidualnych potrzeb użytkownika końcowego zarówno jeśli chodzi o wizualizację wyników obliczeń, jak i sam proces obliczania wyników.

Najważniejsze opcje to te, które sterują źródłem danych, lematyzatorem oraz listą słów ignorowanych przez algorytm. Należy dbać, by opcje te były zgodne pod względem języka (stosowanie angielskiego stemmera do wyrazów w języku polskim da bezsensowne rezultaty). W wersji obecnej nie istnieje wygodniejszy sposób wyboru konfiguracji - jeśli będzie stosowna presja ze strony użytkowników (oraz sugestie jak miałby taki wybór wyglądać), zmiany zostaną zaimplementowane w wersjach przyszłych Carrota.

Formularz opcji systemu dzieli się na parę sekcji, omówione one zostaną po kolei.

Uwaga: Wszystkie opcje są zapisywane na dysku lokalnym użytkownika jako tak zwane 'cookie'. Wymagana jest przeglądarka, która obsługuje cookie i zezwolenie na ich przechowywanie na dysku, w przeciwnym wypadku Carrot bedzie ładował się cały czas z opcjami domyślnymi. Aby powrócić do opcji standardowych należy wykasować cookie o nazwie "CarrotUserProfile" z dysku.


Rysunek 1.8. Opcje ogólne

(1) - Źródło danych używane przez Carrota. Jest to podstawowy czynnik decydujący zarówno o szybkości, jak i jakości prezentowanych rozwiązań. W chwili obecnej są zaimplementowane następujące źródła danych:

(2) - Lematyzator to moduł, który potrafi stwierdzić czy dwa słowa różniące się sufiksami są w istocie tym samym słowem, tyle, że odmienionym (np. chmura, chmurka, chmurach). Dostępne w Carrocie lematyzatory to:

(3) - Lista słów ignorowanych przez algorytm. Dostępna jest lista dla języka angielskiego (kolekcja własna - kompilacja z Internetu) oraz polskiego - opracowanie własne.

(4) - Liczba snippetów pobieranych do algorytmu. Od tej liczby zależy liniowo "czas odpowiedzi" Carrota.

(5) - Język interfejsu i komunikatów systemu.

(6) - Użycie pamięci podręcznej powoduje, że zapytania ze źródła danych są zapamiętywane na dysku i pobierane jedynie raz. Zwiększa to komfort pracy, jednak przy intensywnych eksperymentach z progami algorytmu może być niewygodne. Liczba zapytań w pamięci podręcznej jest ustawiana przez administratora (zwykle jest to około 10).

(7) - Powoduje, że niektóre widoki udostępniają więcej informacji o przebiegu obliczeń a nie tylko o rezultatach.


Rysunek 1.9. Opcje widoków

(1) - Liczba referencji do dokumentów prezentowana na pojedynczej stronie wyniku. Nie wszystkie widoki posiadają zaimplementowane stronicowanie.

(2) - Maksymalna liczba fraz do opisu grupy na widuku grup i dokumentów w grupie.

(3) - Maksymalna liczba dokumentów prezentowana na widuku wszystkich grup wraz z każdą grupą.

(4) - Wybór dokumentów do prezentacji jako "próbki" grupy. Przez "pokrywające jak najwięcej fraz" rozumiemy dokumenty, które są indeksowane przez największy podzbiór fraz grupy. Druga opcja prezentuje po prostu dokumenty będące najwyżej na liście rankingowej.


Rysunek 1.10. Opcje algorytmu STC

(1) - Minimalna ocena algorytmu STC dla grupy bazowej (frazy) by zostać uwzględnioną na widokach (i wejść do tworzenia grup).

(2) - Procent (wartość od 0 do 1) nakładających się dokumentów dla dwóch grup bazowych, przy którym łączy się je do jednej grupy.

(3),(4) - Ignorowane w algorytmie są nie tylko słowa z listy słów podanych explicite, ale również takie, które występują w mniejszej liczbie dokumentów niż podana w (3) oraz w większym procencie niż w (4).

Carrot
A clustering interface for Web Search results in Polish and English.

(c) 2000-2001 Dawid Weiss
Institute of Computing Science
Poznan University of Technology, Poland