Twoje podejrzenie jest słuszne, jest to problem z rozmiarem sterty, a dokładniej ograniczenie skalowalności. Prosto z często zadawanych pytań carrot2:http://project.carrot2.org/faq.html#scalability
Jak skalowanie Carrot2 jest skalowane w odniesieniu do liczby i długości dokumentów? Najważniejszą cechą algorytmów Carrot2, o której należy pamiętać, jest to, że wykonują one klastry w pamięci. Z tego powodu, z zasady, Carrot2 powinien z powodzeniem radzić sobie z tysiącem dokumentów, każdy po kilka akapitów. W przypadku algorytmów zaprojektowanych do przetwarzania milionów dokumentów możesz sprawdzić projekt Mahout.
Deweloper również napisał o tym tutaj:https://stackoverflow.com/a/28991477
Podczas gdy programiści zalecają Mahout i prawdopodobnie jest to droga, ponieważ nie będziesz związany ograniczeniami klastrowania w pamięci, jak w carrot2, jednak mogą istnieć inne możliwości:
-
Jeśli naprawdę lubisz marchew2, ale niekoniecznie potrzebujesz k-średnich, możesz rzucić okiem na komercyjną Lingo3G, opartą na polu „Time of clustering 100000 snippets [s]” i uwagę (***) na http://carrotsearch.com/lingo3g-comparison powinien być w stanie zająć się większą liczbą dokumentów. Sprawdź również ich wpis w często zadawanych pytaniach na temat „Jaka jest maksymalna liczba dokumentów, które Lingo3G może łączyć w klastry?” na http://carrotsearch.com/lingo3g-faq
-
Spróbuj zminimalizować rozmiar etykiet, na których k-średnich przeprowadza grupowanie. Zamiast skupiać się na całej zawartości dokumentów, spróbuj pogrupować streszczenie/podsumowanie lub wyodrębnić ważne słowa kluczowe i pogrupować je.