For NLP, they use either MITIE[0] or spaCy[1].<p>That said, from my experience, you can get surprisingly far with simple systems; for instance, queread[2] relies on graph learning and statistics.<p>[0]: <a href="https://github.com/mit-nlp/MITIE" rel="nofollow">https://github.com/mit-nlp/MITIE</a><p>[1]: <a href="https://spacy.io/" rel="nofollow">https://spacy.io/</a><p>[2]: <a href="https://github.com/espadrine/queread#workings" rel="nofollow">https://github.com/espadrine/queread#workings</a>
A while ago I looked for information on how Alexa, Wit.ai, Nuance Mix etc. do this intent classification and didn't find anything.<p>These guys have posted a nice blog post about their approach:<p><a href="https://conversations.golastmile.com/do-it-yourself-nlp-for-bot-developers-2e2da2817f3d#.l62loslgd" rel="nofollow">https://conversations.golastmile.com/do-it-yourself-nlp-for-...</a><p>They suggest that they add the word vectors in the sentence. But it seems to me that that would make the result independent of the order of words (i.e. "when does Tesco open?" and "Open Tesco when does" are the same). I thought I had tested that and it didn't work but actually I just tried saying "Tesco open does when?" to Alexa and it said "Sorry, I don't have the business hours for Tesco". Inconclusive I'd say but interesting anyway!
It's the "conversation" part that is really tricky... I have been working on a bot for a large Corp for the last few months and we have been using Inkle's Ink narration/dialog engine for this. Works very well. They let me open source the framework: <a href="https://github.com/rabidgremlin/Mutters" rel="nofollow">https://github.com/rabidgremlin/Mutters</a> it uses OpenNLP for intent identification and NER, Ink for conversation state and "scripting"
This is interesting, I've been using LUIS for some time now and an open source alternative - especially one that is drop-in API compatible - is very welcome.<p>However I can't find any information in the docs on how comparable the results are (i.e. does it have built-in date and time entity recognition like LUIS?). Most importantly: what languages does this support? All examples are in english-only. Is it even language aware, or do you train a model in any language? I'd be very interested if this were to support languages that LUIS does not have (like my language: Dutch)
Nice, I've been looking for an offline solution to do this sort of thing to run on a robot for RoboCup@Home.<p>Perhaps <a href="http://sag.art.uniroma2.it/demo-software/huric/" rel="nofollow">http://sag.art.uniroma2.it/demo-software/huric/</a> might also provide some training data.
It's annoying though I can't just download that corpus but have to email some guy first.
Looks like an interesting project, based on skilearn and spaCy. The project provides some simple training files for the domain of asking about restaurants.<p>It would be useful to also have very large training data sets available.
Cool stuff - was looking for Open source NLU alternatives for luis.ai. Thanks to the emulators, this fits right in.<p>Does anyone know why rasa chose mitie/spacy and not stanfordnlp?