Skip to content

Instantly share code, notes, and snippets.

@syou6162
Created September 6, 2012 00:36
Show Gist options
  • Save syou6162/3648815 to your computer and use it in GitHub Desktop.
Save syou6162/3648815 to your computer and use it in GitHub Desktop.
cliの使い方のメモ
(require '[clojure.tools.cli :as cli])
(defn- get-cli-opts [args]
(cli/cli args
["--file" "File name of training" :default "./filtered_docs/all.json"]
["--alpha" "Hyperparameter for domain dependent/independant prior"
:default 1.0 :parse-fn #(Double. %)]
["--beta" "Hyperparameter for word prior"
:default 0.01 :parse-fn #(Double. %)]
["--gamma" "Hyperparameter for sentiment prior"
:default 1.0 :parse-fn #(Double. %)]
["--eta" "Hyperparameter for document polarity prior"
:default 1.5 :parse-fn #(Double. %)]
["--sources" "Source domains"
:default #{4, 6, 9} :parse-fn split-domains]
["--targets" "Target domains"
:default #{5} :parse-fn split-domains]
["--D" "Number of documents" :default 1000000 :parse-fn #(Integer. %)]
["--model" "Model to use" :default "proposed"]
["--max-iter" "Number of maximum iterations" :default 1000 :parse-fn #(Integer. %)]
["--task-id" "task id for gxp" :default 0]
["--result-dir" "Directory to the output learned result" :default "./results"]))
(defn -main [& args]
(let [[options args banner] (get-cli-opts args)]
(with-redefs [inference (->> (str "PivotGenerativeModel." (:model options) ".sampler/inference")
(symbol)
(resolve))]
(with-open [w (java.io.FileWriter.
(str (:result-dir options) "/" (:task-id options) ".json"))]
(.write w
(json/json-str
(run-experiment
(get-common-doc (:file options) (:D options))
(:sources options)
(:targets options)
(select-keys options [:alpha :beta :gamma :eta :max-iter])))))))
nil)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment