Setting up the project
Before we dive in further, however, we'll need to set up our project for this chapter. So with all of that in mind, let's tackle the solution. The first thing we'll need is the following Leiningen 2 project.clj
file:
(defproject tm-sotu "0.1.0-SNAPSHOT" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :plugins [[lein-cljsbuild "0.3.2"]] :dependencies [[org.clojure/clojure "1.5.1"] [enlive "1.1.1"] [org.clojure/data.csv "0.1.2"] [cc.mallet/mallet "2.0.7"]] :cljsbuild {:builds [{:source-paths ["src-cljs"], :compiler {:pretty-printer true, :output-to "www/js/main.js", :optimizations :whitespace}}]})
We use a couple of dependencies for this: Enlive to download the text of the SOTU addresses and MALLET for topic modeling. We'll talk more about both of these in the forthcoming...