Din misstanke är korrekt, det är ett problem med högstorlek, eller mer exakt, en skalbarhetsbegränsning. Direkt från vanliga frågor om carrot2:http://project.carrot2.org/faq.html#scalability
Hur skalas Carrot2-klustring med avseende på antal och längd på dokument? Den viktigaste egenskapen hos Carrot2-algoritmer att tänka på är att de utför klustring i minnet. Av denna anledning, som en tumregel, bör Carrot2 framgångsrikt hantera upp till tusen dokument, några stycken vardera. För algoritmer utformade för att bearbeta miljontals dokument, kanske du vill kolla in Mahout-projektet.
En utvecklare skrev också om detta här:https://stackoverflow.com/a/28991477
Även om utvecklarna rekommenderar Mahout, och det här är förmodligen vägen att gå eftersom du inte skulle vara bunden av klustringsbegränsningarna i minnet som i carrot2, men det kan finnas andra möjligheter:
-
Om du verkligen gillar carrot2 men inte nödvändigtvis behöver k-medel kan du ta en titt på den kommersiella Lingo3G, baserat på fältet "Time of clustering 100000 snippets [s]" och (***) kommentaren på http://carrotsearch.com/lingo3g-comparison den borde kunna hantera fler dokument. Kontrollera också deras FAQ-post om "Vilket är det maximala antalet dokument som Lingo3G kan klustera?" på http://carrotsearch.com/lingo3g-faq
-
Försök att minimera storleken på dina etiketter som k-means utför klustringen på. Istället för att klustra över allt dokumentinnehåll, försök att klustra på abstraktet/sammanfattningen eller extrahera viktiga nyckelord och klustra på dem.