Kategorisering och klustring Hercules Dalianis DSV-SU-KTH e-post:hercules@kth.se 070-568 13 59 / 08-674 75 47 Skillnaden mellan kategorisering och klustring? Kategori är förutbestämt av någon Kluster är något som uppstår Hercules Dalianis 1 Hercules Dalianis 2 Kategorisering vid indexering och söknings Automatisk språkigenkänning - svenska, engelska, kinesiska, m.m. Dokumenttyp HTML, Word, Excel, PDF m.m. Datum Kategorier i form av server, domän, eller land Hercules Dalianis 3 Inrikes Utrikes Sport Ekonomi Kultur m.m. Kategorisering Hercules Dalianis 4 Kategorisering föränderligtf Kategorier tillkommer hela tiden Kategorier försvinner De färdigvalda kategorierna blir snabbt obsoleta 3g ny kategori? Juni-listan EU ny kategori fanns inte för 10 år sedan Automatisk kategorisering genom bra exampel? Men de flesta använder inte kategorier vid sökning Hercules Dalianis 5 Klustring Klustring - Automatisk kategorisering Klustring vid sökning Hitta nya samband mellan dokument 100 000 nyhetstexter kan man gruppera dem på något sätt Hercules Dalianis 6 1
Klustring Klustring är klurigt Enligt vilka mått skall man klustra? Enligt vilka metoder? Hierarkisk klustring K-mean Hierarkisk klustring Ta ett stort allomfattande kluster och dela upp i det mindre kluster. Bättre kvalité på kluster med hierarkisk än med icke-hierarkisk klustring Men långsam klustring Hercules Dalianis 7 Hercules Dalianis 8 K-mean algoritm Välj K initiala startpunkter Låt alla dokument gruppera sig runt dessa Flytta tyngdpunkten till nya centrumet Gruppera om dokumenten Flytta tyngdpunkten till nya tyngdpunkten gör om till balans uppnåtts Bestämt antal kluster Ej hierarkisk K-mean (forts) Snabbare klustring Sämre kvalité på kluster Kombinera hierarkiskt klustring och K-mean Är effektivt kallas, bl.a. K-mean bisecting Hercules Dalianis 9 Hercules Dalianis 10 Mått för f r likhet mellan kluster Förfining Vektorrymdmodellen Ordvektorernas produkt är likheten Ordvektor - alla ord i dokumentet Cosine = Vinkeln mellan texternas ordvektorer d 1 = {alla ord i ett dokument 1 } d 2 = {alla ord i ett dokument 2 } d 1 d 2 = cos(d 1, d 2 ) = vinkeln mellan d 1 och d 2 Ta bort stoppord, med, på, i, kanske Kollapsa alla böjda ordformer till en form Ha med ordfrekvenser Särskrivning? Normalisering för dokumentlängd Hercules Dalianis 11 Hercules Dalianis 12 2
Andra måttm Antal ord som texterna delar Antal ord som delas samt ordfrekvenserna Klusterkvalité i förhf rhållande till referens Entropi ordningen i klustret i förhållande till förväntad ordning. Låg entropi = hög ordning F-värde F-värde = 2 x Recall * Precision/ Recall+ Precision Hercules Dalianis 13 Hercules Dalianis 14 Precision/Täckning ckning Precision = antal funna relevanta dokument/ totalt antal funna dokument Täckning(Recall) = antal relevanta dokument / totalt antal relevanta dokument Bi-secting K-mean 1. Ta ett stort kluster 2. Dela upp i två kluster (K=2) 3. Använd de två klustrerna som frön till K-mean upprepa 1 och 2 tills nöjd Hercules Dalianis 15 Hercules Dalianis 16 Kategorisering Överlappande eller icke överlappande kategorier Ordnade eller icke ordnade kategorier Vivisimo klustringssökmotorn kmotorn Sökmotorn Vivisimo www.vivisimo.com har en klustrare Tar de första 500 bästa träffarna och klustrar dem Hercules Dalianis 17 Hercules Dalianis 18 3
Klustring Rosells klustrare (2002, 2003) klustrade 5 000 svenska nyhetstexter Använde stemming och ordledsuppdelning Stemming förbättrar klustringsresultaten med ungefär 5 procent. Sammansättningsuppdelning förbättrar resultaten med 10 procent och en kombination ger 13 procents förbättring (Rosell 2003). Hercules Dalianis 19 Hercules Dalianis 20 Rosell kunde jämföra sina automatiska kluster med de kategorier som nyhetstexterna kom ifrån från början Därigenom kunde han se hur pass bra klustren blev. Läs mera i Rosell 2003 Hercules Dalianis 21 Hercules Dalianis 22 Infomatprojektet KTH och Karolinska Institutet Tvillingregistret med 44 000 tvillingar Vad arbetar du med? Manuell kategorisering av SCB tar 3 månader Automatisk klustring några timmar Visa resultat Evaluering F-värdet är 86% och 82% av två olika manuella klassificeringar AMSYK & YK80 Klustrerna har en vinst av 77% och 71% av informationsvinsten. (Entropi) Precisionen är 85% och 82% av precisionen av klassificeringarna Hercules Dalianis 23 Hercules Dalianis 24 4
Automatisk kategorisering Tvillingregistret Vad arbetar du med? 45 000 texter-svar K-mean bisecting clustering algoritm (Ickehierakisk algoritm top-down) Skapa minst två initiala centrum och låt sedan algoritmen hitta fler underkluster. Centra flyttar allt eftersom nya kluster skapas. Efter en stund skapas jämvikt. http://www.nada.kth.se/~rosell/cluster/resultoccupationf-1087930997527.html Hercules Dalianis 25 Semiautomatisk kategorisering Ge positiva exempel på några kategorier Automatiskt sortera in övriga och inkommande dokument beroende på likhet i rätt kategori Hercules Dalianis 26 Semiautomatisk kategorisering Hercules Dalianis 27 Hercules Dalianis 28 Multi-textsammanfattning Columbia Newsblaster Flera nyhetsartiklar sammanfattade till en artikel http://www1.cs.columbia.edu/nlp/newsblaster/ Multisum-algoritm Finns flera algoritmer för detta men man kan använda SweSum textsammanfattningssystem som bas: 1) Sammanfatta alla sidor var för sig 2) Ta alla sammanfattningar och sammanfatta dessa till en text Hercules Dalianis 29 Hercules Dalianis 30 5
Multisum-algoritm(forts) Men det finns komplikationer i vilken ordning skall man lägga texterna vid sammanfattningen vid steg 2. Skall man ranka dokumenten innan man bestämmer sammanfattningen? Vill man ha en bra sammanfattning skall man kanske ta bort en del dåliga dokument? Hercules Dalianis 31 Multisum-algoritm(forts) En variant är att klustra alla texter innan man sätter igång och få säg 10 kluster med texter som hänger ihop. Därefter sammanfattar man varje text i varje kluster för sig. Därefter varje sammanfattning i varje kluster till 10 sammanfattningar (10 kluster) som sedan sammanfattas till en text som beskriver det allra viktigaste. Hercules Dalianis 32 Sammanfattning 3-nivåsammanfattning 1) 10 -> Sammanfattning-> 10 texter 2) 10 -> Multitextsammanfattning ->1 text 3) 10-> Multitextsammanfattning > 1 text Kategorisering är nödvändigt Kategorisering kräver mycket arbete Klustring kanske för komplicerat Semiautomatisk kategorisering? Klustring för att hitta samband Multitextsammanfattning använder klustring Hercules Dalianis 33 Hercules Dalianis 34 6