Not sure if this has been pointed out already, but it occurs to me that ClojureScript might be a killer feature for ML in Clojure. I'm constructing a classification pipeline for Reddit comments, and to do so I need to build a large dataset by labelling sample comments. I've quickly made a specialized UI in ClojureScript for that. Now I'm able to label a few thousands examples per day. I doubt that generic annotation tools would have made such a high throughput possible, and I have a hard time imagining making such a UI in so little time in Python.
can you show an example?
(Sorry the content's in French, that's the data I'm working on).
I've got keyword shortcuts for labelling actions. I can usually label at that speed because there's not much reading required.
And here's the code for said UI: https://github.com/vvvvalvalval/discussion-gems/blob/bc8bd0def086c0943910947a14728fa2e8a52670/lab-ui/src/discussion_gems/lab_ui/welcome.cljs
very interesting!
but your main data processing is still in clojure?
so you need to have “server” as a “feedback receiver” and a this is a “client”?
Yes exactly
And in my case, it's not like I lose much by requiring a client-server communication, because the data processing often occurs on a remote machine anyway.
Ah, I see
Just wanted to point out that cljfx exists 🙂 — it has declarative UI in java process, so no client-server communication is necessary if data processing happens on your machine
I'm well aware 🙂 in my use case, another argument in favour of a browser-based UI is that Reddit content is designed to be viewed in the browser, with hyperlinks etc.