Vaše podezření je správné, jde o problém velikosti haldy, přesněji řečeno, omezení škálovatelnosti. Přímo z nejčastějších dotazů carrot2:http://project.carrot2.org/faq.html#scalability
Jak se škáluje shlukování Carrot2 s ohledem na počet a délku dokumentů? Nejdůležitější vlastností algoritmů Carrot2, kterou je třeba mít na paměti, je, že provádějí shlukování v paměti. Z tohoto důvodu by se měla Carrot2 v zásadě úspěšně vypořádat až s tisíci dokumenty, každý o několika odstavcích. Pokud jde o algoritmy navržené pro zpracování milionů dokumentů, můžete se podívat na projekt Mahout.
Vývojář o tom také napsal zde:https://stackoverflow.com/a/28991477
I když vývojáři doporučují Mahout a toto je pravděpodobně správná cesta, protože byste nebyli vázáni omezeními shlukování v paměti jako v carrot2, mohou existovat i jiné možnosti:
-
Pokud máte opravdu rádi mrkev2, ale nepotřebujete nutně k-means, můžete se podívat na komerční Lingo3G, založené na poli "Time of clustering 100000 snippets [s] " a (***) poznámce na http://carrotsearch.com/lingo3g-comparison měl by být schopen zvládnout více dokumentů. Podívejte se také na jejich FAQ na téma "Jaký je maximální počet dokumentů, které může Lingo3G seskupovat?" na http://carrotsearch.com/lingo3g-faq
-
Pokuste se minimalizovat velikost štítků, na kterých k-means provádí shlukování. Namísto shlukování přes veškerý obsah dokumentů se pokuste shlukovat abstrakt/souhrn nebo extrahovat důležitá klíčová slova a shlukovat je.