Grupowanie i organizacja dokumentów

Download Report

Transcript Grupowanie i organizacja dokumentów

W. Bartkiewicz
Wyszukiwanie informacji
Wykład 2c.
Grupowanie dokumentów
• Grupowanie (analiza skupień, klasteryzacja) – ang. clustering – proces
podziału zbioru obiektów na klasy (grupy, skupienia, klastry, kategorie)
obiektów podobnych.
– Obiekty wewnątrz tej samej klasy powinny być jak najbardziej podobne.
– Obiekty różnych klas powinny jak najbardziej różnić się między sobą.
– W IR grupujemy zazwyczaj dokumenty lub termy, czasami zapytania.
• W przeciwieństwie do klasyfikacji jest to proces nienadzorowany – nie
mamy zbioru przykładów ze wstępnie określonymi kategoriami.
– Grupowanie polega na analizie zależności między obiektami w zbiorze
surowych danych.
• Proces grupowania zazwyczaj opiera się na porównywaniu parami
obiektów przy wykorzystaniu miar podobieństwa (odległości).
– Porównywanie dokumentów, porównywanie prototypów (centroidów)
skupień oraz dokumentów, porównywanie samych skupień (grup).
– Stosowanych jest wiele różnych miar podobieństwa, zarówno ogólnych jak i
specyficznych dla określonej dziedziny zastosowań.
Grupowanie dokumentów
Główne obszary zastosowań
• Wspomaganie nawigacji/analizy w bazie dokumentów.
– Lepsze interfejsy użytkownika.
• Poprawa kompletności procesu wyszukiwania.
– Lepsze zbiory (rankingi) wynikowe wyszukiwania.
• Wspomaganie nawigacja w zbiorze wynikowym wyszukiwania.
– Zwiększa praktyczną „kompletność użytkownika” procesu wyszukiwania.
• Przyśpieszanie procesu wyszukiwania w modelu wektorowym.
– Szybsze wyszukiwanie.
Nawigacja w bazie dokumentów
Hierarchie typu Yahoo
www.yahoo.com/Science
… (30)
agriculture
...
biology
physics
...
CS
...
space
...
...
dairy
botany
cell
AI
courses
crops
magnetism
HCI
agronomy
evolution
forestry
relativity
craft
missions
• Proces grupowania umożliwia również tworzenie hierarchii grup
dokumentów, odpowiadających hierarchiom tematycznym w bazie
dokumentów.
Nawigacja w bazie dokumentów
Interfejsy typu Scatter/Gather
• Użytkownik
wybiera jedną lub
więcej najbardziej
odpowiadających
mu kategorii, aby
rozwinąć
następny poziom
Nawigacja w bazie dokumentów
Wizualizacja bazy dokumentów
• Algorytmy grupowania wykorzystywane są do tworzenia „map
tematycznych” baz dokumentów – wizualizacji polegającej na
odwzorowaniu znalezionych kategorii tematycznych na płaszczyznę, tak
aby podobne kategorie tematycznie znajdowały się blisko siebie.
Grupowanie dokumentów
Poprawa kompletności wyszukiwania
• Opiera się ona na tzw. „hipotezie grupowej” (cluster hypothesis).
– Dokumenty o podobnej zawartości są ze sobą związane tematycznie, tak
więc są relewantne dla tych samych zapytań.
• Aby poprawić kompletność wyszukiwania należy więc:
– Pogrupować z góry dokumenty w bazie.
– Jeśli pewien dokument d odpowiada zapytaniu, zwrócić również inne
dokumenty z kategorii do której należy dokument d.
• Dzięki temu mamy nadzieję, że zapytanie zawierające słowo kluczowe
„auto” zwróci również dokumenty zawierające słowo kluczowe
„samochód”.
– Ponieważ w procesie klasteryzacji dokumenty zawierające słowo „auto”
powinny zostać pogrupowane razem z dokumentami zawierającymi słowo
„samochód”.
Grupowanie dokumentów
Nawigacja w zbiorze wynikowym
• Zbiory wynikowe zapytań mogą być długie, co utrudnia użytkownikowi
ich przeglądanie.
• Mogą więc być grupowane w podgrupy bardziej jednorodne tematycznie.
Grupowanie dokumentów
Przyśpieszanie wyszukiwania
• Proces grupowania wykorzystywany jest również do przyśpieszania
przetwarzania zapytania, zwłaszcza w wymagającym dużych nakładów
obliczeniowych modelu wektorowym.
– Zamiast obliczać podobieństwo zapytania do wszystkich dokumentów w
kolekcji, może być ono wyznaczane jedynie dla centroidów poszczególnych
skupień dokumentów.
– W wyniku zapytania zwracane mogą być wszystkie dokumenty należące do
podgrup, których centroidy sa najbardziej podobne do zapytania.
Grupowanie dokumentów
Ogólne typy algorytmów grupowania
• Kilka podziałów na podstawie zależności między grypami, obiektami i
atrybutami.
• W oparciu o zależności między właściwościami i skupieniami:
– Grupowanie monotetyczne – wszystkie elementy grupy współdzielą te same
właściwości.
Na przykład wszystkim dokumentom należącym do określonej grupy
tematycznej można przypisać jedno słowo kluczowe (frazę) określającą ich
temat.
– Grupowanie politetyczne – wszystkie elementy grupy współdzielą
większość właściwości.
Na przykład dokumenty należące do określonej grypy tematyczne
współdzielą większość termów, ale są indywidualne różnice. Temat grupy
musi być zazwyczaj opisany kilkoma słowami kluczowymi.
Grupowanie dokumentów
Ogólne typy algorytmów grupowania
• W oparciu o zależności między obiektami i grupami:
– Grupowanie rozłączne (ostre, twarde) – każdy z obiektów przydzielany jest
jednoznacznie do jednej tylko grupy.
Nie pozwala ono na wyrażenie niepewności przy przydziale dokumentu do
grupy, oraz na przynależność dokumentu do kilku grup.
– Grupowanie miękkie – pozwala na przynależność obiektu do kilku klas.
Zazwyczaj dają one rozkłady prawdopodobieństwa (lub w przypadku
rozmytym – możliwości) przynależności dokumentu do poszczególnych
klas.
• W oparciu o zależności między grupami:
– Podziałowe – wszystkie skupienia są niezależne od siebie, zazwyczaj
rozłączne (w grupowaniu twardym).
– Hierarchiczne - skupienia tworzą hierarchię, w której skupienia na niższym
poziomie zawierają się w skupieniach na poziomie wyższym.
Grupowanie dokumentów
Grupowanie podziałowe
.
..
.
.
. .
. .
.
. .
. . .
.
Grupowanie dokumentów
Grupowanie hierarchiczne
zwierzę
kręgowiec
ryba gad
płaz
bezkręgowiec
ssak
stawonóg owad
skorupiak
• Algorytmy grupowania hierarchicznego tworzą ze zbioru dokumentów
drzewiastą taksonomię hierarchiczną (dendogram).
• Jednym ze sposobów może być rekurencyjne użycie algorytmu
podziałowego
– Zazwyczaj jednak stosuje się specjalne algorytmy.
Grupowanie dokumentów
Grupowanie hierarchiczne
• Dendrogram
jest
drzewem
definiującym hierarchię grup.
– Obejmuje informacje o zawieraniu
się grup na każdym z poziomów.
• Zbiór skupień otrzymywany jest
zazwyczaj
poprzez
obcięcie
dendogramu
na
pewnym
określonym poziomie.
Grupowanie dokumentów
Algorytmy grupowania podziałowego
• Ogólny schemat:
– Określamy liczbę grup (skupień) k, jaką chcemy otrzymać.
– Określamy zalążki początkowe prototypów skupień – k obiektów danych, po
jednym dla każdego skupienia.
– Przy wykorzystaniu zalążków określony jest początkowy podział obiektów
na skupienia.
– Iteracyjnie przemieszczamy obiekty między różnymi grupami, tak by
poprawiać w każdym kroku jakość grupowania.
– Algorytm kończy swoje działanie po osiągnięciu zbieżności (ustaleniu się
skupień) lub po określonej liczbie iteracji.
Grupowanie dokumentów
Algorytm k-środków
• Dokumenty reprezentowane są jako wektory rzeczywiste
– Zazwyczaj są to znormalizowane wektory tf*idf.
• Poszczególne skupienia definiowane są przez swoje centroidy (środki
ciężkości), tzn. średnie wektorów wszystkich dokumentów należących
do grupy. Tak więc dla każdej grupy c centroidem jest wektor:


1
μ (c) 
x

| c | xc
• Klasyfikacja dokumentu do danego skupienia oparta jest na odległości
wektora opisującego dokument od bieżących centroidów poszczególnych
grup
– Metodą najbliższego sąsiada.
Grupowanie dokumentów
Algorytm k-środków
• Typowe miary odległości:
– Odległość Euklidesowa (norma L2):
 
L2 ( x , y ) 
m

( xi  yi )
2
i 1
– Norma L1:
 
L1 ( x , y ) 
m

xi  yi
i 1
– Współczynnik cosinusów (transformowany do odległości, np. poprzez
odjęcie od 1)

x 
1 
x 

y

y
Grupowanie dokumentów
Algorytm k-środków
• Niech d będzie miarą odległości między dokumentami.
• Wybierz losowo k dokumentów {s1, s2,… sk} jako zalążki.
• Powtarzaj dopóki proces grupowania nie osiągnie zbieżności lub do
osiągnięcia innego kryterium zatrzymania:
– Dla każdego dokumentu xi określ grupę do której on należy:
Przydziel dokument xi do skupienia (grupy) cj, dla którego odległość
d(xi, sj) jest najmniejsza.
– Zaktualizuj centroidy grup:
Dla każdego skupienia cj:
sj = (cj)
Grupowanie dokumentów
Algorytm k-środków
Określ zalążki
Przydziel do skupień
Oblicz centroidy grup
Przydziel do skupień
x
x
x
x
Oblicz centroidy grup
Przydziel do skupień
Zbieżność!
Grupowanie dokumentów
Algorytmy grupowania hierarchicznego
• Rozdzielające (top – down) – rozpoczynają od jednego skupienia
zawierającego cały zbiór danych, następnie iteracyjnie rozdzielają
najmniej podobne obserwacje (dokumenty) na osobne grupy, dopóki
każdy dokument nie znajdzie się w osobnej grupie.
• Aglomeracyjne (bottom – up) – rozpoczynają od tylu grup ile jest
przykładów (dokumentów) w zbiorze danych, a następnie iteracyjne
łączą je, tworząc coraz większe skupienia, aż do uformowania jednego
wielkiego skupienia obejmującego wszystkie dane.
Grupowanie dokumentów
Hierarchiczne grupowanie aglomeracyjne
• Hierarchiczne grupowanie
Agglomerative Clustering):
aglomeracyjne
(HAC
–
Hierarchical
– Rozpoczyna z każdym dokumentem w odrębnej grupie.
Dopóki nie pozostanie wyłącznie jedno skupienie
Wśród skupień jakie uformowane zostały w bieżącym kroku
znajdź dwa skupienia najbardziej podobne ci, cj.
Zastąp ci i cj jedną nową grupą ci  cj.
Grupowanie dokumentów
Podobieństwo grup
• Wiele metod określania podobieństwa skupień (grup):
– Metoda pojedynczego połączenia (single-link) – podobieństwo dwu
skupień równe jest podobieństwu pary najbardziej podobnych (najbliższych)
obserwacji z obu grup. O podobieństwie grup decyduje jedna wybrana para
obserwacji z obu skupień (pojedyncze połączenie).
– Metoda całkowitego połączenia (complete-link) – podobieństwo dwu
skupień równe jest podobieństwu pary najmniej podobnych (najdalszych)
obserwacji z obu grup. O podobieństwie grup decydują wszystkie
obserwacje z obu skupień (całkowite połączenie).
– Metoda centroidu – podobieństwo dwu skupień równe jest podobieństwu
ich centroidów (prototypów).
– Metoda średniego połączenia (average-link) – podobieństwo dwu grup
równe jest średniemu podobieństwu wszystkich możliwych par obserwacji z
obu grup.
• Jako miarę podobieństwa w przypadku grupowania dokumentów
przyjmuje się zazwyczaj współczynnik cosinusów.
Grupowanie dokumentów
Metoda pojedynczego połączenia
• Wykorzystuje maksymalne podobieństwo par:
sim ( c i , c j )  max
x c i , y  c j
sim ( x , y )
• Może dawać w efekcie długie i wąskie grupy, z powodu efektu łańcucha.
Może to być zaletą jedynie w pewnych dziedzinach aplikacji.
• W każdym kroku musimy wyznaczyć podobieństwo nowo utworzonego
skupienia (grupy) do wszystkich pozostałych. Po połączeniu grup ci i cj,
podobieństwo powstałego skupienia do każdego z innych skupień ck,
może być obliczone jako:
sim (( c i  c j ), c k )  max( sim ( c i , c k ), sim ( c j , c k ))
Grupowanie dokumentów
Metoda pojedynczego połączenia
Grupowanie dokumentów
Metoda całkowitego połączenia
• Wykorzystuje maksymalne podobieństwo par:
sim ( c i , c j )  min
x c i , y  c j
sim ( x , y )
• Tworzy bardziej skupione, sferyczne grupy (skupienia), co zazwyczaj
jest bardziej preferowane..
• W każdym kroku musimy wyznaczyć podobieństwo nowo utworzonego
skupienia (grupy) do wszystkich pozostałych. Po połączeniu grup ci i cj,
podobieństwo powstałego skupienia do każdego z innych skupień ck,
może być obliczone jako:
sim (( c i  c j ), c k )  min( sim ( c i , c k ), sim ( c j , c k ))
Grupowanie dokumentów
Metoda całkowitego połączenia