O wszystkim, co wiąże się z technologią wyszukiwania.
Blog > Komentarze do wpisu

Co to jest "faceted search"?

W krainie różnych pojęć dotyczących wyszukiwania pojawia się często termin "faceted search" i jak to zwykle bywa mało kto wie, o co w tym chodzi. Spróbuję dziś opisać, jak ja to rozumiem. Dziewczyny, spokojnie, nie będzie tutaj mowy o wyszukiwaniu facetów :-)

Niestety nie znajduję żadnego dobrego polskiego słowa na określenie terminu „facet”. Dlatego na początku dobrze byłoby zobaczyć definicję anglojęzyczną. Zacytuję ją za Getty Research Intitute.

"A facet contains a homogeneous class of concepts, the members of which share characteristics that distinguish them from members of other classes. For example, marble refers to a substance used in the creation of art and architecture, and it is found in the Materials facet. Impressionist denotes a visually distinctive style of art, and it is found in the Styles and Periods facet.”

No i co? Nadal niewiele z tego wynika. Ale spróbujmy zmierzyć się z tą definicją. FACET to pewna klasa pojęciowa, która zawiera w sobie konkretne pojęcia opisujące tę klasę. Podano tu przykład marmuru, który jest tworzywem architektonicznym czy rzeźbiarskim, dlatego wchodzi w skład FACETa Meteriały.

FACET może być hierarchiczny lub płaski. W pierwszym przypadku klasę pojęciową opisujemy poprzez pojęcia bardziej ogólne, które rozbija się na pod-pojęcia. Przykładowo,  ten sam FACET Materiały może opisywać drewno, które z kolei może zawierać specyficzne gatunki, jak dąb, sosna, jesion itd. Natomiast FACET płaski zwiera po prostu listę pojęć opisujących klasę znaczeniową.

Ważnym elementem definiowania FACETa z punktu widzenia wyszukiwania jest tzw. ortogonalność jego członków. To znaczy, że wszystkie pojęcia wewnątrz faceta są rozłączne. Na przykład w Materiały – albo coś jest marmurem, albo drewnem – nie ma części wspólnej. Z kolei FACET płaski Materiały, gdzie szersza klasa drewno jest na tym samym poziomie co sosna, buk itd. – nie jest właściwym (ortogonalnym).

Skoro już wiemy, co to jest ten facet, to pora go zastosować w wyszukiwaniu informacji. Chodzi o to, żeby wykorzystać klasy pojęciowe na przynajmniej kilka sposobów:

  • Zawężanie wyników wyszukiwania, koncentrując się na wybranych tematach czy kategoriach - FACETach. W prawie każdym dobrym sklepie internetowym wyniki wyszukiwania można dynamicznie przeglądać koncentrując się wybranych cechach materiałów: cena, rozmiar, kolor itp.
  • Zliczanie wystąpień wyników wyszukiwania dla poszczególnych FACETów. Przykładowo przeszukujemy wiadomości pod kątem wypadków w kopalniach i przeglądamy FACETa Państwa, gdzie widzimy, że najwięcej wydarzeń miało miejsce w Chinach (1123), Rosji (789), Polsce (121) i Niemczech (98). Jest to skuteczne narzędzie analizy wyników wyszukiwania bez konieczności ich szczegółowego przeglądania!
  • Filtrowanie wyników wyszukiwania w oparciu o informację pojęciową zawartą w FACETach. Tutaj można pokusić się wykrywanie pojęć w zapytaniu i natychmiastowe mapowanie ich na FACETy filtrujące listę wyników. Przykład: w serwisie globrix.com wpisz zapytanie: „I want an apartament with 2 bedrooms and two bathrooms in Essex”. Sprawdź wyniki.
  • FACETy można w przeróżny sposób wizualizować: karty tematyczne, wykresy, słupki, listy, drzewka, raporty – wszystko po to, żeby lepiej zobaczyć co kryje się w wynikach i dynamicznie po nich nawigować odcedzając ziarno od plew.

Jak już wiemy co nieco o FACETach, to przychodzi kolej na opisanie tego, jak takie FACETy jak zastosować w silniku wyszukiwania. Tutaj trzeba powiedzieć, że nie wszystkie technologie wspierają opisywane podejście. Przykładowo Google Search Appliance (GSA) próbuje udawać, że obsługuje FACEty, chociaż wcale tak nie jest. Osobiście uważam, że jeżeli silnik wyszukiwania nie wspiera „faceted search” od środka, to próby dobudowywania jakichś nakładek nie dają dobrych wyników. Tak na przykład GSA ma możliwość analizowania zwróconych już wyników wyszukiwania „a posteriori” – grupując je w FACETy. Tylko, że to wszystko kosztuje (wydajność i czas odpowiedzi) i nie daje tak elastycznych możliwości modyfikowania zapytania.

No, ale jeżeli nasz silnik wyszukiwania wspiera „natywnie” FACETy – czyli zwrócone wyniki wyszukiwania zawierają już pełną informację o FACETach – to można by zrealizować nasz „faceted search” na dwa sposoby:

  • FACETy oparte na metadanych dokumentu – budowanie klas pojęciowych oraz klasyfikowanie dokumentów do kategorii w oparciu jedynie o dane dodatkowe, jak: autor, data publikacji, rozmiar, format, tagi. Podejście prostsze, szybkie w działaniu.
  • FACETy oparte na treści dokumentu – budowanie klas pojęciowych oraz klasyfikowanie dokumentów do kategorii w oparciu o analizę treści dokumentu. Tutaj sprawa jest skomplikowana i wymaga zaawansowanego przetwarzania dokumentu, żeby odczytać z jego treści różne komponenty jak: nazwy firm i instytucji, imiona i nazwiska osób, nazwy geograficzne, słowa kluczowe, adresy e-mail i co tam algorytmy są w stanie odczytać. Daje to ogromne możliwości analizowania tekstu, zupełnie jakby zaawansowany Business Intelligence dla danych tekstowych.

Zatem „faceted search”, chociaż cały czas nie wiem, jak powiedzieć po polsku jest bardzo istotnym elementem wyszukiwania. Rzekłbym nawet, że jest to probierz zaawansowania aplikacji wyszukiwania – bez tego elementu wyszukiwanie jest płaskie i bezbarwne, jak wyszukiwarka internetowa Google. Chociaż większość nie marzy o niczym innym … Ale to już inny temat.

środa, 10 marca 2010, zenonik90

Polecane wpisy

TrackBack
TrackBack w tym blogu jest moderowany. TrackBack URL do wpisu:
    Paweł Wróblewski

    Jeśli podoba Ci się publikowana treść, rozważ proszę dofinansowanie rozwoju tego bloga.

    Follow zenonik90 on Twitter
góra | "Proście, a będzie wam dane; szukajcie, a znajdziecie; kołaczcie, a otworzą wam." Mt 7,7