Carrot 2

23
Carrot 2 Search Results Clustering

description

Carrot 2. Search Results Clustering. Plan prezentacji:. Wprowadzenie. Definicje i podstawowe informacje; Model wektorowy; Podobieństwo dokumentów; Podstawy; Historia i dane techniczne; Przykładowe algorytmy; Bibliografia. System Carrot 2. Podsumowanie. - PowerPoint PPT Presentation

Transcript of Carrot 2

Page 1: Carrot 2

Carrot2

Search Results Clustering

Page 2: Carrot 2

2

• Podsumowanie

• System Carrot2

• Wprowadzenie• Definicje i podstawowe informacje;• Model wektorowy;• Podobieństwo dokumentów;

• Podstawy;• Historia i dane techniczne;• Przykładowe algorytmy;

• Bibliografia

Wyszukiwanie Internetowe – Uniwersytet Śląski

Plan prezentacji:Plan prezentacji:

Page 3: Carrot 2

3

• Fraza - uporządkowany ciąg słów zaczerpnięty z tekstu.

• Słowo Kluczowe - słowo reprezentujące znaczenie pewnej dłuższej sekwencji słów, w szczególności całego dokumentu.

• Lematyzacja - sprowadzenie formy fleksyjnej do postaci słownikowej (lematu).

• Lematyzacja w kontekście odkrywania wiedzy - odróżnienie słów o innym znaczeniu od form jednego słowa, które przyjmuje inny zapis w zależności od funkcji w zdaniu.

• Search Results Clustering – efektywne utworzenie sensownych grup tematycznie powiązanych dokumentów, oraz ich zwięzłe opisanie w sposób zrozumiały dla człowieka.

Wyszukiwanie Internetowe – Uniwersytet Śląski

Wprowadzenie Wprowadzenie ( Definicje i podstawowe informacje )

Page 4: Carrot 2

4

Dokument tekstowy może być łatwo reprezentowany w wysoko-wymiarowej przestrzeni wektorowej, gdzie terminy w dokumencie (termy) są powiązane z elementami wektorów. Mówiąc dokładniej, dokument tekstowy d może być traktowany jako sekwencja termów:

d=(ω(1), ω(2), ω(3),... ω(|d|)), gdzie:|d| jest długością dokumentu, oraz ω(t)V. Reprezentacja d w przestrzeni wektorowej jest wówczas zdefiniowana jakorzeczywisty wektor: x R|v|,gdzie każdy element xj jest statystycznie powiązany zwystępowaniem j-tego wpisu słownikowego w dokumencie. Najprostsza reprezentacja wektorowa to reprezentacja boolowska tj. xj {0,1}, wskazuje obecność lub jej brak termu ωj w reprezentowanym dokumencie. Taka reprezentacja zwana jest często pojemnikiem słów (bag of words).

Wyszukiwanie Internetowe – Uniwersytet Śląski

Wprowadzenie Wprowadzenie ( Model wektorowy )

Page 5: Carrot 2

5

• Zbiór unikalnych słów T=t1, t2, … tn ;• Dokumenty (D=d1, d2, … dm) reprezentowane jako n-

wymiarowe wektory:• di=[wi1, wi2, … win], gdzie wij jest wagą j-tego słowa w dokumencie i;

• Wagi słów — jak dane słowo jest charakterystyczne dla dokumentu?• Wiele różnych form:

• binarna — wij=1 lub wij=0;• częstość wystąpień - wij=tfij(tj);• tfidf (Salton) – wij=tfij(tj)*log(N/dfij(tj));

Wyszukiwanie Internetowe – Uniwersytet Śląski

Wprowadzenie Wprowadzenie ( Model wektorowy )

Page 6: Carrot 2

6

Rys. Reprezentacja w przestrzeniwektorowej. Dla każdego z dokumentów,lewy wektor szacuje liczbę pojawiającychsię termów, podczas gdy prawy wektorbazuje na wagach TF-IDF.

Wyszukiwanie Internetowe – Uniwersytet Śląski

Wprowadzenie Wprowadzenie ( Model wektorowy )

Page 7: Carrot 2

7

The t=5 terms:

T1: Information

T2: Singular

T3: Value

T4: Computations

T5: Retrieval

The d=7 documents:

D1: Large Scale Singular Value Computations

D2: Software for the Sparse Singular ValueDecomposition

D3: Introduction to Modern InformationRetrieval

D4: Linear Algebra for Intelligent Information Retrieval

D5: Matrix Computations

D6: Singular Value Analysis of Cryptograms

D7: Automatic Information Organization

Wyszukiwanie Internetowe – Uniwersytet Śląski

Wprowadzenie Wprowadzenie ( Model wektorowy )

Page 8: Carrot 2

8

Możemy zdefiniować podobieństwo pomiędzy dwoma dokumentami d i d’ jako funkcję s(d,d’)R. Funkcja ta, pozwoli nam ustalić zakres klastrów, uzyskanych poprzez grupowanie, w odniesieniu do zadanego pytania (obliczając podobieństwo pomiędzy każdym dokumentem (lub grupami dokumentów), a kwerendą). Klasyczne podejście bazuje na reprezentacji przestrzeni wektorowej, oraz metryce zdefiniowanej jako współczynnik cosinusowy (cosine coefficient) (Salton i McGill – 1983).

,gdzie superskrypt (indeks górny) T symbolizuje operator transpozycji, a xTy efekt w postaci punktu, lub obszaru między dwoma wektorami x, y R, zdefiniowany jako:

Wyszukiwanie Internetowe – Uniwersytet Śląski

Wprowadzenie Wprowadzenie ( Podobieństwo dokumentów )

Page 9: Carrot 2

9

Przykład:

Wyszukiwanie Internetowe – Uniwersytet Śląski

Wprowadzenie Wprowadzenie ( Podobieństwo dokumentów )

The t=5 terms:T1: InformationT2: SingularT3: ValueT4: ComputationsT5: Retrieval

D1: Large Scale Singular Value ComputationsD2: Software for the Sparse Singular Value DecompositionD3: Introduction to Modern Information RetrievalD4: Linear Algebra for Intelligent Information RetrievalD5: Matrix ComputationsD6: Singular Value Analysis of CryptogramsD7: Automatic Information Organization

The d=7 documents:

0.000.000.000.710.710.000.00

0.000.001.000.000.000.000.58

0.000.710.000.000.000.710.58

0.000.710.000.000.000.710.58

1.000.000.000.710.710.000.00

A

Page 10: Carrot 2

10

Przykład cd.:

Zapytanie: Singular Value;

Wyszukiwanie Internetowe – Uniwersytet Śląski

Wprowadzenie Wprowadzenie ( Podobieństwo dokumentów )

Tq 0.000.000.710.710.00ˆ T

T

r

0.00

1.00

0.00

0.00

0.00

1.00

0.81

0.000.000.000.710.710.000.00

0.000.001.000.000.000.000.58

0.000.710.000.000.000.710.58

0.000.710.000.000.000.710.58

1.000.000.000.710.710.000.00

0.00

0.00

0.71

0.71

0.00

Page 11: Carrot 2

11

• Podsumowanie

• System Carrot2

• Wprowadzenie• Definicje i podstawowe informacje;• Model wektorowy;• Podobieństwo dokumentów;

• Podstawy;• Historia i dane techniczne;• Przykładowe algorytmy;

• Bibliografia

Wyszukiwanie Internetowe – Uniwersytet Śląski

Plan prezentacji:Plan prezentacji:

Page 12: Carrot 2

12

• bazujący na komponentach framework efektywnego przetwarzania danych;

• prosta dystrybucja (protokół HTTP POST, sterowany danymi);

• prosta integracja (nacisk na XML-owy format danych);

• problem „przeciążenia danych” (konieczność zgłębiania nieograniczonych bibliotek);

• podproblemy Search Results Clustering :

• Wyodrębnienie podobnych dokumentów;

• Opisanie utworzonych grup;

• Zweryfikowanie jakości wyników.

Wyszukiwanie Internetowe – Uniwersytet Śląski

System Carrot2 System Carrot2 ( Podstawy )

Page 13: Carrot 2

13

• Carrot operuje jedynie na snippetach, bez odczytywania dokumentów źródłowych. Wynika z tego fakt, iż jakość grupowania będzie silnie zależeć od siły opisowej snippetów – krótkich fragmentów tekstu zwróconych przez wyszukiwarkę. W tym aspekcie systemy typu Carrot, będą znacznie ograniczone przez zaimplementowane algorytmy samych wyszukiwarek (Google, Yahoo!, itp.) służące odnalezieniu zdań, które w sposób właściwy opisują temat strony. Daje to jednak pewne korzyści, w postaci krótkiego czasu wyszukiwania (wynikającego z faktu braku konieczności

analizowania całych dokumentów).

Wyszukiwanie Internetowe – Uniwersytet Śląski

System Carrot2 System Carrot2 ( Podstawy )

Page 14: Carrot 2

14

• Carrot daje olbrzymie możliwości analizy wyników zapytania względem tradycyjnych wyszukiwarek. Poprzez ekstrakcję fraz z pierwszych paruset odnośników i ich prezentację w skumulowanej formie uzyskujemy możliwość pobieżnego przeglądu o parę rzędów wielkości większej liczby dokumentów niż miałoby to miejsce przy klasycznym listowym widoku.

• System przekierowuje zapytanie do wyszukiwarki (Google, Yahoo!, itp.), pobiera od niej kilkaset początkowych odnośników, a następnie analizuje je poszukując wspólnych, opisowych fraz. Frazy te, o ile są wystarczająco częste, są traktowane jako reprezentanci grup tematycznych.

Wyszukiwanie Internetowe – Uniwersytet Śląski

System Carrot2 System Carrot2 ( Podstawy )

Page 15: Carrot 2

15

Wyszukiwanie Internetowe – Uniwersytet Śląski

System Carrot2 System Carrot2 ( Podstawy )

Page 16: Carrot 2

16

• Carrot nie był pierwszym systemem grupującym wyniki z wyszukiwarek – wcześniej powstały systemy Grouper, Vivisimo oraz inne, których funkcjonalność jednak nigdy nie wysunęła się poza obszar eksperymentu obliczeniowego. Grouper, jako projekt również typowo badawczy, został usunięty z sieci w roku 2001 (po zakończeniu badań).

• Co warte podkreślenia, Carrot jest jedynym systemem grupującym, działającym dla języków innych niż język angielski.

• Nazwa systemu odnosi się do wcześniejszych owocowych systemów wspomagających odkrywanie wiedzy z danych tekstowych (Lemon, Grape, Orange).

Wyszukiwanie Internetowe – Uniwersytet Śląski

System Carrot2 System Carrot2 ( Historia )

Page 17: Carrot 2

17

• Jedyny otwarty system do eksperymentowania z algorytmami grupowania wyników– Skrócenie czasu weryfikacji nowych pomysłów– Umożliwienie porównania metod– Ponowne użycie raz napisanych elementów

• Wiele istniejących modułów i narzędzi wspomagających– Zaimplementowane algorytmy

• AHC, różne warianty• STC• Lingo

– Komponenty lingwistyczne:• Lematyzator Portera• Lematyzator (własny alg.)

– Inne

Wyszukiwanie Internetowe – Uniwersytet Śląski

System Carrot2 System Carrot2 ( Dane techniczne )

Page 18: Carrot 2

18

• Ilość osób zaangażowanych w projekt:– Ok. 5 - ( 3 studentów, 1 doktorant, 1 opiekun

naukowy);

• Software:– Budowanie systemu: junit, httpunit– Zaawansowane technologie:

• XSLT,XSL:FO,XML data binding, STRUTS, gnuregexp.

• Projekt:– Ogólny rozmiar projektu: 36 MB;– Rozmiar kodu: 227 plików, 1MB, ok. 35000 linii.

Wyszukiwanie Internetowe – Uniwersytet Śląski

System Carrot2 System Carrot2 ( Dane techniczne )

Page 19: Carrot 2

19

• LINGO – fazy:• Przetwarzanie wstępne:

» Oczyszczanie tekstu;» Identyfikacja języka;» Stemming;» Oznaczanie stop-words;

• Wybór cech:» Identyfikacja częstych fraz, bazująca na tablicach przyrostkowych (suffix arrays);

• Wprowadzenie etykiet klastrów:» Singular Value Decomposition (SVD) macierzy termin-dokument;» Bazowe wektory wyprowadzone metodą SVD: pojęcia abstrakcyjne;» Frazy: słowna reprezentacja abstrakcyjnych pojęć;» Dopasowanie abstrakcyjnych pojęć i fraz: odległość cosinusowa = oznaczenie wyniku;» Eliminacja powtórzeń;» Oznaczenia klastrów: słownie określone pojęcia abstrakcyjne;

• Formowanie klastrów;• Przetwarzanie końcowe:

» Oszacowanie wyników klastrów: WynikKlastra=OznaczenieWyniku*LiczbaElementów.

Wyszukiwanie Internetowe – Uniwersytet Śląski

System Carrot2 System Carrot2 ( Przykładowe algorytmy )

Page 20: Carrot 2

20

• LINGO – mocne strony:• Czytelne i różnorodne opisy klastrów;

• Pokrywające się klastry;

• Niezależność językowa;

• Łatwość strojenia;

• Budowa modułowa.

• LINGO – słabe strony:• Stała liczba klastrów;

• Zbyt specjalistyczne oznaczenia grup;

• Wymagania obliczeniowe;

• Brak stopniowego przetwarzania.

Wyszukiwanie Internetowe – Uniwersytet Śląski

System Carrot2 System Carrot2 ( Przykładowe algorytmy )

Page 21: Carrot 2

21

Wyszukiwanie Internetowe – Uniwersytet Śląski

System Carrot2 System Carrot2 ( Przykładowe algorytmy )

Przykład działania LINGO:

Page 22: Carrot 2

22

• Podsumowanie

• System Carrot2

• Wprowadzenie• Definicje i podstawowe informacje;• Model wektorowy;• Podobieństwo dokumentów;

• Podstawy;• Historia i dane techniczne;• Przykładowe algorytmy;

• Bibliografia

Wyszukiwanie Internetowe – Uniwersytet Śląski

Plan prezentacji:Plan prezentacji:

Page 23: Carrot 2

23

• http://demo.carrot2.org/stable/api/ - dokumentacja API systemu;

• http://demo.carrot-search.com/carrot2-webapp/main

http://demo.carrot2.org/demo-stable/main - publiczne wersje projektu;

• „Search Results Clustering in Polish: Evaluation of Carrot” – Dawid Weiss, Jerzy Stefanowski;

• „Grupowanie wyników zapytań do wyszukiwarek internetowych” – Dawid Weiss;

• „The Carrot2 Project” – Paweł Kowalik, Stanisław Osiński, Jerzy

Stefanowski, Dawid Weiss, Michał Wróblewski.

Wyszukiwanie Internetowe – Uniwersytet Śląski

Podsumowanie Podsumowanie ( Bibliografia )