Hierarchical-text is a project mainly written in JAVASCRIPT and CLOJURE, it's free.
A agglomerative hierarchical clustering text classifier in Clojure.
(def clustered (cluster (seq (org.apache.commons.io.FileUtils/listFiles (new java.io.File "/path/to/documents/") nil false))))
To see this tree visualized, make sure you have the visualize/ dir. Change protovis-json-file in protovis.clj to be the full path to your visualize/protovis-3.2/flare.js Then:
(def json (.replace (pof->js clustered 3) "/path/to/documents/" "")) ; 3 is a good number of interesting words to show. removing the dir path to each file keeps everything much cleaner. (write-protovis-file json)