ROBUST’2004
c JČMF 2004
SHLUKOVÁNÍ A TEXTOVÉ DOKUMENTY Dušan Húsek, Hana Řezanková, Václav Snášel Klíčová slova: Výpočetní statistika, shlukování, rozsáhlé datové soubory, dokumentografické informační systémy. Abstrakt: V práci jsou zhodnoceny některé možnosti využití shlukovacích metod pro vyhledávání v textových dokumentech. Využití těchto metod je umožněno geometrizací vyhledávacího problému na základě vektorového modelu. Přestože tato problematika patří v oblasti vyhledávání mezi klasické, není v současné době uspokojivě vyřešena. Jedním z hlavních problémů při shlukování je vysoká dimenzionalita vstupních dat. V příspěvku jsou charakterizovány speciální postupy navržené pro shlukování takových vysoce dimenzionálních dat.
1
Úvod
Třída programových nástrojů určených pro zpracovávání, úschovu a výběr dat, kterými jsou textové dokumenty, je reprezentována textovými (dokumentografickými) informačními systémy (DIS). V takovém systému je vhodné s texty pracovat na více úrovních abstrakce, tj. vedle textů je vhodné popsat i jejich schéma pomocí odpovídajícího modelu. Toto schéma je ve svých funkcích podobné schématu klasických databází. Model DIS je definován jako soubor pojmů či nástrojů pro reprezentaci dokumentu (tvoří formální popis informace obsažené v dokumentu), reprezentaci dotazu (umožňuje specifikovat formálně požadavek na informace), reprezentaci pravidel a procedur umožňujících určit shodu mezi požadavkem uživatele na informace a dokumenty, které vyhovují tomuto požadavku. Mezi prominentní modely DIS patří v současnosti rozšířený Booleovský model, vektorový model a model založený na pravděpodobnostním výběru. V tomto příspěvku se budeme zabývat vektorovým modelem. V něm je textový dokument reprezentován vektorem, jehož prvky charakterizují výskyt slov (resp. termů) obsažených v dokumentech. Geometrizace vyhledávacích problémů, viz [20], dává vznik mnoha zajímavým problémům spojeným se shlukováním dat ve vysoce dimenzionálních prostorech. Vektor může být buď binární (slovo se v dokumentu vyskytuje nebo ne), nebo může obsahovat četnosti výskytu, případně váhy založené na důležitosti slov v celé kolekci dokumentů. Pro analýzu pak máme k dispozici matici n x m, kde n je počet dokumentů a m je počet slov. Pro uvedenou matici je typické, že je velkých rozměrů, a to zejména pokud jde o počet sloupců, a že je velmi řídká (uvádí se, že nenulových prvků je obvykle pouze kolem dvou procent). Další podrobnosti viz [4]. Základní úlohou při analýze takových dat je shlukování dokumentů. Pomocí hierarchické shlukové analýzy lze nalézt různé úrovně skupin dokumentů. Cílem shlukové analýzy je nalézt shluky tak, aby dokumenty uvnitř
126
Dušan Húsek, Hana Řezanková, Václav Snášel
shluku si byly co nejvíce podobné a aby jejich podobnost s dokumenty z jiných shluků byla menší. Pomocí shlukování dokumentů tak můžeme zjistit témata, která se vyskytují ve sledované kolekci textových dokumentů [7]. Dále mohou být na základě zjištěných skupin navrženy modely, pomocí nichž jednak může být nový dokument zařazen do některé ze skupin, jednak může být vyhledána skupina dokumentů, které nejvíce vyhovují zadanému dotazu. Protože rozsah datové matice je obvykle značný, jsou využívány jednak metody redukce dimenzionality, jednak speciální postupy pro shlukování. Tyto postupy jsou buď přímo zaměřeny na problematiku textových dokumentů nebo jde o obecné metody určené pro analýzu rozsáhlých datových souborů (data mining). Jako příklad prvního typu je shlukování náhodně vybraných dokumentů opakované pro různé výběry, které může vést ke stanovení množiny slov vhodné pro charakterizování sledované kolekce dokumentů (viz [25]). Shlukování dokumentů a případné vytváření modelů pro přiřazování dokumentů či dotazů ke zjištěným shlukům je pak prováděno s redukovaným počtem slov. Jiné využití shlukování při analýze textových dokumentů vychází z toho, že při aplikaci metod strojového učení pro řešení klasifikačních úloh je potřeba najít vhodnou tréninkovou množinu, tj. takovou, která by neobsahovala příliš mnoho podobných dokumentů. Toho lze docílit tím, že jsou dokumenty rozděleny do shluků a do tréninkové množiny jsou vybírání zástupci těchto shluků. V [12] je navrženo použít metodu k-průměrů a z každého vytvořeného shluku vybrat dokument, který je nejbližší centroidu.
2
Měření podobnosti mezi textovými dokumenty
Nejčastějším ohodnocením výskytu slov v dokumentech je výpočet vah. Ty mohou být počítány různými způsoby (rozsáhlé experimenty s vážením termů jsou popsány v [21]), dva z nich jsou popsány v následující části.
2.1
Výpočet vah pro vstupní datovou matici
Políčka vstupní datová matice obsahují váhy wij , kde i označuje dokument (i = 1, . . . , n) a j označuje slovo, které se vyskytuje ve zkoumané kolekci dokumentů (j = 1, . . . , m). Označme si TF ij četnosti výskytu j-tého slova v i-tém dokumentu a IDF j inverzní četnost slov ve všech dokumentech, která je počítána jako IDF j = log (n / kj ) + 1, kde kj je počet dokumentů, v nichž se vyskytuje j-té slovo. Potřebnou váhu pak získáme jako součin četnosti a odpovídající inverzní četnosti příslušného slova, tj. wij = TF ij * IDF j . Ibrahimov v [11] navrhuje tzv. kombinovanou váhu počítanou jako (pozměněno značení) wij =
(K + 1) ∗ CF Wj ∗ T Fij , K ∗ ((1 − b) + b ∗ N DLi ) + T Fij
127
Shlukování a textové dokumenty
přičemž CF Wj = log knj a NDLi je délka i-tého dokumentu normalizovaná průměrnou délkou dokumentu. Parametr b je uživatelem zadané číslo a jeho doporučovaná hodnota je 0,75 (řídí vliv délky dokumentu), K je diskontní parametr, který souvisí s četností slov, Ibrahimov používá hodnotu 2. Dále můžeme přiřadit jednotlivým P dokumentům váhu podle následujícího vzorce (viz Ibrahimov): DWi = wik , kde Di je množina slov, jejichž váha k∈Di
je větší než stanovená prahová hodnota. Vztah dokumentu X k dokumentu Y lze vyjádřit jako DWX∩Y |k∈DY . DWY
IN T ER (X, Y ) =
2.2
Míry podobnosti
Pro měření podobnosti dvou textových dokumentů používá Ibrahimov chíkvadrát test. Nulová hypotéza vyjadřuje shodu rozdělení vah pro vybranou množinu slov. Je používána chí-kvadrát statistika počítaná jako χ2 =
X
k∈DX ∩DY
neboli χ2 =
X
(wXk − wY k ) wY k
j∈DX ∩DY
2
(xj − yj )2 . yj
K této statistice můžeme zjistit minimální hladinu významnosti, od které zamítáme nulovou hypotézu. Jestliže si tuto hodnotu označíme jako δ, můžeme si podobnost mezi dvěma dokumenty vyjádřit podle vzorce sim (X, Y ) = δ ∗ IN T ER (X, Y ) . Tato míra podobnosti nabývá hodnot v intervalu od 0 do 1. Častěji než tato asymetrická míra jsou v praxi používány spíše míry symetrické. Za základ je považována kosinová míra, kterou pro objekty (dokumenty) X a Y můžeme zapsat jako
s(X, Y ) = s
m P
xj yj
j=1 m P
j=1
2
(xj )
m P
, (yj )
2
j=1
kde m je počet proměnných (slov). V některých případech mohou být dokumenty charakterizovány pouze jako binární vektory (slovo se v dokumenty vyskytuje nebo ne), případně
128
Dušan Húsek, Hana Řezanková, Václav Snášel
jako vektory četností výskytu. I pro tyto případy existují speciální míry. Pro binární data je možné podobnost vyjádřit například pomocí vzorce Θ
m P
xj yj
j=1
s(X, Y ) = Θ
m P
j=1
xj yj +
m P
j=1
. |xj − yj |
Pokud Θ = 1, dostáváme Jaccardův koeficient, v případě, že Θ = 2, jde o Diceovu (Czekanowského) míru podobnosti. Pro četnosti lze využít chí-kvadrát míru nepodobnosti, která je vyjádřena jako v uX m u m (xj − E(xj ))2 X (yj − E(yj ))2 + , d(X, Y ) = t E(xj ) E(yj ) j=1 j=1
kde
E(xj ) =
m P
xj
j=1 m P
j=1
3
!
· (xj + yj )
xj +
m P
j=1
yj
a E(yj ) =
m P
yj
j=1 m P
j=1
!
· (xj + yj )
xj +
m P
.
yj
j=1
Vyhledávání dokumentů na základě shluků
Aby mohl být při vyhledávání v textových dokumentech uspořen čas potřebný pro nalezení odpovědi na zadaný dotaz, lze v procesu předzpracování dat identifikovat shluky dokumentů, které pokrývají podobná témata. Tato problematika je označována jako vyhledávání shluků (cluster retrieval) a je rozpracována v knize [5]. V procesu vyhledávání shluků jsou uživateli prezentovány pouze dokumenty obsažené v jednom nebo několika vybraných shlucích. Jako zajímavé téma zkoumané při vývoji metod je rozpoznávání výskytu překrývajících se shluků. Jako speciální metody pro nalezení shluků dokumentů jsou v [5] uvedeny iterativní reškálování, dynamické reškálování založené na latentním sémantickém indexování (LSI) a dynamické reškálování založené na analýze kovarianční matice. První metodu navrhla Ando v roce 2000. Je určena k identifikování malých shluků v omezeném kontextu. Vstupními parametry jsou matice typu dokumenty x termy, konstantní škálovací faktor a dimenze k, do které má být vyhledávání informací mapováno. Tento algoritmus má však řadu nedostatků,proto autoři Kobayashi a Aono navrhli jednak jeho vylepšení, jednak algoritmus založený na jiném principu. Dynamické reškálování založené na latentním sémantickém indexování má být zmíněným vylepšením. Může však být použito pouze na malé datové soubory.
Shlukování a textové dokumenty
129
Bylo navrženo v roce 2001. Je vhodné poznamenat, že ideou všech tří zde uvedených algoritmů je uchovat hlavní témata při výběru základních vektorů pro podprostor, do kterého bude úloha vyhledávání informací mapována. To je v navržené metodě ošetřeno zavedením vah ke snížení důležitostí atributů (slov, termů), které již jsou reprezentovány podprostorem již vypočítaných základních vektorů. Přiřazování vah je řízeno dynamicky, aby se zabránilo ztrátě informace jak ve velkých tak malých shlucích. Dynamické reškálování založené na analýze kovarianční matice je určeno k identifikování malých shluků. Tento algoritmus je možné (dle jeho autorů) použít pro velké datové soubory. Vstupními parametry jsou kovarianční matice, reškálovací faktor (používaný pro přiřazování vah) a dimenze k, do níž má být úloha redukována. Při výpočtech jsou používány dvě matice reziduí, přičemž na počátku je jedna tato matice tvořena kovarianční maticí pro celou množinu dokumentů. Závěrem lze poznamenat, že metody navrhované v oblasti literatury zabývající se vyhledáváním informací zřejmě nejsou stále vhodné pro použití v případě velkých souborů dat. Analýza by neměla vycházet z matice vzdáleností, neboť tento postup je velmi náročný, a to jak výpočetně, tak z hlediska uložení matice. Kovarianční matice je sice matice podobností, ale podstata zůstává stejná. Problém spočívá v tom že při vyhledávání informací jsou obvykle řešeny současně dvě úlohy, a to redukce počtu proměnných (například pomocí jejich shlukování, čímž jsou místo jednotlivých slov používána témata) a shlukování dokumentů.
4
Přístupy k řešení problému vysoké dimenzionality
Vývoj v oblasti shlukování se zaměřuje především na soubory s velkým počtem objektů. Méně pozornosti je věnováno problematice velkého počtu proměnných. Berkhin uvádí, že shlukovací algoritmy založené na vzdálenostech fungují efektivně do 16 proměnných. Je potřeba si uvědomit, že počet dimenzí, s nimiž pracujeme, se reálně pohybují ve stovkách tisíc viz [2]. Soubory obsahující více než 16 proměnných nazývá Berkhin data s vysokou dimenzionalitou. V takových případech se používá redukce dimenzionality, která se realizuje buď transformací proměnných nebo doménovou dekompozicí. K prvnímu uvedenému přístupu lze zařadit analýzu hlavních komponent, která ovšem může vést k vytvoření shluků s obtížnou interpretovatelností. V oblasti shlukování dokumentů je používána metoda SVD (singular value decomposition). V případě doménové dekompozice jsou data rozdělena do podsouborů (anglicky canopies). Dimenzinalita se tedy neredukuje, ale tento postup vede ke snížení nákladů. Pro shlukování objektů charakterizovaných velkým počtem proměnných lze použít metody založené na shlukování podprostorů (subspace clustering). Místo vytváření redukované matice založené na nových proměnných (získaných například lineární kombinací původních proměnných) je problém vel-
130
Dušan Húsek, Hana Řezanková, Václav Snášel
kého počtu dimenzí řešen zkoumáním podprostorů původního prostoru. Tento přístup je výhodný tím, že jsou zachovány původní proměnné, které mají reálný význam, zatímco lineární kombinace původních proměnných může být někdy těžko interpretovatelná. Základem pro shlukování podprostorů je analýza hustoty objektů v prostoru. Cílem je nalezení podmnožin proměnných tak, aby projekce dat zahrnovaly regiony s vysokou hustotou. Podstatou je rozdělení všech dimenzí do stejného počtu stejně dlouhých intervalů. Jsou-li nalezeny vhodné podprostory, úloha spočívá v nalezení shluků v odpovídajících projekcích. Shluky jsou oblasti navazujících jednotek s vysokou hustotou (v rámci určitého podprostoru). Podrobný popis těchto metod je uveden například v [3]. Základní metodou uváděnou v literatuře je algoritmus CLIQUE (CLustering In QUEst), který pro numerické proměnné navrhli v roce 1998 Agrawal a kolektiv. Tento shlukovací algoritmus využívá jak principů metod založených na hustotě, tak principů metod založených na mřížce. Algoritmus ENCLUS (ENntropy-based CLUStering), navržený v r. 1999 Chengem a kolektivem, je založen podobném principu jako CLIQUE, avšak používá rozdílné kritérium pro výběr podprostorů. Výpočetní náklady této metody jsou ale vysoké. Metoda MAFIA (Merging of Adaptive Finite Intervals (And more than a CLIQUE)) je modifikací algoritmu CLIQUE, která funguje rychleji a nalézá shluky lepší kvality. Prezentovali ji v roce 1999 Goil a kolektiv a v roce 2001 Nagesh a kolektiv. Metoda v každé dimenzi konstruuje tzv. adaptivní mřížky. Její paralelní verze se nazývá pMAFIA. Kromě výše uvedených uvádí Berkhin ještě tři algoritmy, a to OptiGrid (navrhli v roce 1999 Hinneburg a Keim), PROCLUS (PROjected CLUStering), navržený v roce 1999 Aggarwalem a kolektivem, a ORCLUS (ORiented projected CLUSter generation), který v roce 2000 navrhli Aggarwal a Yu. V poslední době se objevily práce, které využívají k redukci dimenziionality náhodné projekce viz [26]. Ukazuje se, že metoda náhodných projekcí umožňuje redukovat dimenzi podstatně efektivnějším způsobem než ostatní metody. Experimenty ukazují, že výsledky dosažené touto metodou jsou velmi slibné, viz [2]. Další možností je kombinace náhodných projekcí s metodou SVD [14].
5
Závěr
V příspěvku jsme zhodnotili některé možnosti využití shlukovacích metod pro vyhledávání v textových dokumentech. Využití shlukovacích metod je umožněno geometrizací vyhledávacího problému na základě vektorového modelu. Přestože tato problematika patří v oblasti vyhledávání mezi klasické, není v současné době uspokojivě vyřešena. Mezi základní problémy patří: • návrh datové struktury pro indexování, viz [23], • redukce dimenzionality a řešení ”prokletí” dimenzionality [26],
Shlukování a textové dokumenty
131
• vyhledávání témat a jejich automatická detekce [7], • modifikace míry podobnosti [24]. V dalším výzkumu bychom se chtěli zaměřit na rozsáhlé experimenty, s jejichž pomocí bychom chtěli vybrat vhodné míry podobnosti pro tvorbu shluků tak, aby tyto shluky odpovídaly tématům obsaženým v dané kolekci.
Reference [1] Anghelescu A., Muchnik I. (2002). Combinatorial clustering for textual data representation in machine learning models. http://mms-01.rutgers.edu/Documents/CombinatorialClustering/ Theoretical.v01.pdf.
[2] Bingham E., Mannila H. (2001). Random projection in dimensionality reduction: applications to image and text data. KDD, San Francisko. [3] Berkhin P. Survey of clustering data mining techniques. Accrue Software, Inc., San Jose. www.ee.ucr.edu/∼barth/EE242/clustering survey.pdf
[4] Berry M.W., Browne M. (1999). Understanding search engines: mathematical modeling and text retrieval. SIAM Book Series: Software, Environments, and Tools. [5] Berry M.W. (editor). (2004). Survey of text mining: clustering, classification and retrieval. Springer-Verlag, New York. [6] Dobrynin V., Patterson D., Rooney N. (2004). Contextual document clustering. ECIR 2004, LNCS 2997, Springer-Verlag, Berlin, 167 – 180. [7] Dvorský J., Martinovič J., Pokorný J., Snášel V. (2004). Vyhledávání témat v kolekci dokumentů, Znalosti 2004, Brno, 317 – 326. [8] Gordon A.D. (1999). Classification, 2nd Edition. Chapman & Hall/CRC, Boca Raton. [9] Hotho A., Staab S., Maedche A. Ontology-based text clustering. http://www-2.cs.cmu.edu/∼mccallum/textbeyond/papers/ hotho.pdf
[10] Chakrabarti S. (2003). Mining the web: discovering knowledge from hypertext data. Morgan Kaufmann Publishers, San Fransisco. [11] Ibrahimov O., Pashayev R. (2003). Measuring similarities of textual documents: An overview of challenges and solutions. TAINN 2003 (Turkish Symposium on Artificial Intelligence and Neural Networks). http://www.ijci.org/product/tainn/E07033.pdf
[12] Kang J., Ryu K.R., Kwon H. M. (2004). Using cluster-based sampling to select initial training set for active learning in text classification. PAKDD 2004, LNAI 3056, Springer-Verlag, Berlin, 384 – 388. [13] Mercer D.P. (2003). Clustering large datasets. Linacre College, http://www.stats.ox.ac.uk/∼mercer/documents/Transfer.pdf
[14] Moravec P., Snášel V. (2004). Rychlý přibližný výpočet LSI předzpracováním náhodnou projekcí. Znalosti 2004, Brno, 166 – 177.
132
Dušan Húsek, Hana Řezanková, Václav Snášel
[15] Mylonas P., Wallace M., Kollias S. (2004). Using k-nearest neighbor and feature selection as an improvement to hierarchical clustering. SETN 2004, LNAI 3025, Springer-Verlag, Berlin, 191 – 200. [16] Peltonen J., Sinkkonen J., Kaski S. (2002). Discriminative clustering of text documents. ICONIP 2002. IEEE 4, 1956 – 1960. http://lib.hut.fi/Diss/2003/isbn9512267977/article8.pdf
[17] Řezanková, H. (2004). Klasifikace pomocí shlukové analýzy. In: Kupka, K. (ed.) Analýza dat 2003/II. TriloByte Statistical Software, Pardubice, 119 – 135. [18] Řezanková H., Húsek D., Smid J, Snášel V. (2003). Clustering of documents via similarity measures. In: D’Auriol, B. J. (ed.). CIC’03. CSREA Press, Las Vegas, 292 – 299. [19] Řezanková H., Húsek D., Snášel V. (2003). Applications of clustering methods to textual documents. In: Bulletin of the International Statistical Institute Volume LX. International Statistical Institute, Berlin, 322 – 323. [20] Rijsbergen C.J. (2004). The geometry of information retrieval. Cambridge University Press. [21] Salton G., Buckley C. (1988). Term weighting approaches in automatic text retrieval. Information Processing and Management 24, 5, 513 – 523. [22] Sinkkonen J., Kaski S. (2000). Clustering by similarity in an auxiliary space. IDEAL 2000, Springer-Verlag, London, 3 – 8. http://lib.hut.fi/Diss/2003/isbn9512267977/article2.pdf
[23] Skopal T., Moravec P., Pokorný J., Snášel V. (2004). Metric indexing for the vector model in text retrieval. SPIRE 04, Padova, Springer Verlag, 183 – 195. [24] Skopal T., Moravec P., Pokorný J., Krátký M., Snášel V. (2003). Efficient implementation of vector model in information retrieval. In Proceedings of the fifth National Russian Research Conference, RCDL’2003, Digital Libraries: Advanced Methods and Technologies, Digital Collections, St. Petersburg, 170 – 179. [25] Volk D., Stepanov M.G. (2001). Resampling methods for document clustering. http://arxiv.org/PS cache/cond-mat/pdf/0109/0109006.pdf [26] Vempala S.S. (2004). The random projection method. DIMACS. 103-111. [27] Zhang Y., Zincir-Heywood N., Milios E. (2004). Term-based clustering and summarization of web page collections. Canadian AI 2004, LNAI 3060, Springer-Verlag, Berlin, 60 – 74. Poděkování: Tento výzkum je součástí projektu COST 274 (TARSKI). Adresa: D. Húsek, Ústav informatiky AV ČR, Pod Vodárenskou věží 2, 182 07 Praha 8; H. Řezanková, Vysoká škola ekonomická v Praze, nám. W. Churchilla 4, 130 67 Praha 3; V. Snášel, VŠB-TU Ostrava, 17.listopadu 15, 708 33 Ostrava-Poruba E-mail :
[email protected],
[email protected],
[email protected]