Самый полный инструмент с открытым исходным кодом, который я знаю, - это среда с открытым исходным кодом carrot2 для кластеризации документов. Они в основном ориентированы на Java и .NET, но могут использоваться с Ruby и PHP5 через интерфейс REST. Должно быть относительно легко интегрироваться в любую среду, с которой вы решите работать.
Это их домашняя страница - http://project.carrot2.org/index.html
Это онлайн-демонстрация их кластерного движка и визуализации, круговая визуализация может вас заинтересовать (после ввода запроса есть 3 вкладки визуального вывода, это средняя) - http://search.carrot2.org/stable/search
Это их коммерческий продукт, lingo3g - http://search.carrotsearch.com/carrot2-webapp/search. Это ускоряет кластеризацию большинства запросов в 6-8 раз, дает различную (лучше?) Кластеризацию результатов и обеспечивает иерархическую кластеризацию и соответствующую визуализацию. Если вы хотите использовать пробную версию, вы можете отправить им электронное письмо, они предоставят вам доступ ко всем соответствующим материалам (как загрузка с открытым исходным кодом carrot2) с двухмесячной пробной лицензией.
Если это не то, что вы ищете, и вам нужна просто необработанная коллекция библиотек, вы также можете проверить проект apache mahout.