A little bit of both. We used a few libraries/APIs for some of the core stuff but we hand-built the logic for pre-processing the training/prediction data. We're still learning about it ourselves and we'd love to have more people onboard learning as well!
Just out of curiosity, why did you chose Go for this task? I've done several different NLP over the last 10 or so years, and it's really rather hard to beat Python in regard to available libraries (or even Java with OpenNLP).
Great question! We chose Go for a couple of reasons.
The first is Mike and I wanted to learn and the idea of the relatively young, productive, and powerful language that is Go appealed to us.
With regards to machine learning, you're definitely right - compared to Python the libraries are fewer, but they are there. We tend to believe in the longer-term expectations for Go in machine learning given Google's strong support for the language as well as the Go APIs available for things like TensorFlow and the NLP services; I would bet the trend continues in that direction and libraries will pop up as a result. In our project, we kept things as simple as possible, given we're focusing on applied machine learning, and opted to hand-roll components as necessary.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.