4 ms·
As someone who works on synthetic data[1], NLP[2], and a boat load of other deep learning for production systems (and have for a few years) — the tools are avai
by lettergram 8y ago
As someone who works on synthetic data[1], NLP[2], and a boat load of other deep learning for production systems (and have for a few years) — the tools are available now.
Two years ago the deep learning frameworks were difficult to use. At one point I even hacked together a CNN using background subtraction function in OpenCV at one point to simplify my code. I remember coding up a neural network in OpenCL and it took a couple months to verify it worked correctly (several years ago).
Now, I want to write a blog series on text classification (should be out in a couple days) and the actual coding takes 20 minutes, runs way faster and is 20 lines of code.
Neural networks are approachable, research is moving faster than most can keep up, and the accuracy of models is
As mentioned in the article, there’s also pre-trained models, but IMO that’s less important. It's the ease of access that's really the killer.
[1] https://medium.com/capital-one-tech/why-you-dont-necessarily-need-data-for-data-science-48d7bf503074 https://medium.com/capital-one-tech/why-you-dont-necessarily...
[2] https://hnprofile.com https://hnprofile.com
- wpietri 8y agoWould you mind saying a little more about the tools you like? I have a problem that I'm hoping might be tractable, but it's a little odd, so I'm looking for things to check out. (The specific problem is having a lot of tuples of (lat, lon, placename) and I want to build something that can canonicalize all of the placenames. It's different enough from common ML problems that I'm not sure where to start.)
- onefuncman 8y agoyour problem sounds like https://developers.google.com/places/place-id https://developers.google.com/places/place-id
- wpietri 8y agoYes, except that I'm doing it for a class of places that isn't covered by any open dataset I've found. What I have is a lot of data on ship movements, which includes destination strings hand-entered by sailors (mostly merchant marine sailors). The data is messy, and many of the strings can be obscure. For example, consider this guide for Tokyo's ports: https://www.kaiho.mlit.go.jp/03kanku/h22houkaisei/sozai/guide3_e.pdf https://www.kaiho.mlit.go.jp/03kanku/h22houkaisei/sozai/guid... This one happens to be well documented, but most don't seem to be, and in any case many of the port labels in the movement data bear a somewhat hazy relationship to official labels. I could do it all manually, of course: look at the data, figure out where ships stop, collect all the labels they apply, build a regex pachinko machine. But I'm wondering if I can bootstrap my way to a good text location classifier.
- ethbro 8y agoThere are two approaches I can think of, depending on your gut about your data set. If single or minimal-word phrases are enough (e.g. 'kws' 'kei' 'hei' 'keih' etc), something like word2vec. Except instead of training to predict distance between words, you're generating an embedding between words and ports. If more complex modeling is required (e.g. 'tokyo tuesday kei then chiba'), something like LSTM [1]. The lat-long data you'd want to squish into a closest-port training set via geospacial math. Haven't done anything in the space, but I'd imagine chewing through lat-long legs and computing closest-approach distances to various ports (that is, to canonical port lat-long). Optimized for computation and space. Probably compressed down into a "visit / not-visit" binary feature. Might take awhile, but the math seems straightforward for this bit. [1] http://colah.github.io/posts/2015-08-Understanding-LSTMs/ http://colah.github.io/posts/2015-08-Understanding-LSTMs/