4 ms·
Thought I'd share what I've been working on for some time. Would love feedback! It uses Deep learning models for natural language. Happy to answer tech related
by viksit 11y ago
Thought I'd share what I've been working on for some time. Would love feedback!
It uses Deep learning models for natural language. Happy to answer tech related questions here.
Just a note: It's limited to San Francisco only for now - and it's still in Alpha - there will be kinks!
- malanj 11y agoReally cool work - nice going! Great application of Deep Leaning. I'm really curious about the Whatsapp and Facebook messenger integration, given that they don't seem to have published APIs. How did you do it?
- Raphmedia 11y agoFrom what I understand, it's not that they are integrated. Those apps allow to send and receive SMS. In doing so, they can simply send the queries via SMS on those apps, allowing to receive the result there. Edit: I was wrong!
- viksit 11y agoTo clarify - the system is in fact natively integrated across the SMS, Whatsapp and Facebook Messenger protocols. :) It's not using SMS as a way to talk to them. If you use those, you'll see that the responses are almost instantaneous, compared to the lag which SMS inherently has. There is a general purpose API that can be used via any platform - Slack, Telegram, Gtalk, or email. Anything that supports text.
- philipjoubert 11y agoThanks for clarification. I have used Whatsapp and it worked great until 08:30 PT when it suddenly stopped working. When you say "natively integrated" what do you mean? As far as I can tell there are no APIs for either Whatsapp or Facebook Messenger.
- viksit 11y agoAh, it's possible that there's some issue with the WA integration. I'll check. In the mean time, SMS and FB Messenger should be active for sure! I'm using thirdparty open source libraries to integrate FB and Whatsapp into this.
- viksit 11y agoIt appears that Whatsapp may have (temporarily?) blocked access to their service. User interactions have really spiked as we speak. Try shifting to FB Messenger (if abroad or not wanting to use SMS) or SMS in the meanwhile!
- infinitone 11y agoFor NLP, what API/lib are you guys using?
- viksit 11y agoThe language and entity recognition are using custom stuff that isn't part of any standard libs. For instance, in a query like "whats a good happy hour place in the mission?" - nothing is capitalized and all of the standard libs out there can't deal with it. For building blocks - it's a combination - mixture of word2vec for feature vectors, and some parts of spaCy (though still experimental).
- crazypyro 11y agoI'm unsure of what you mean by stating that none of the standard libs include what you need. Could you expand on this point? Using your example, why couldn't you use a standard parts of speech tagger, even on a poorly-punctuated sentence? Also could you expand on the NLP techniques you are actually using? How are you embedding the words/phrases/sentences into the vector space? Are you doing compositional embedding (unsure of the proper phrasing) where you embed a word, the phrase the word is in, the sentence the word is, etc all in the same vector space?
- viksit 11y ago@crazypro - The question to ask for me was - "what is the most important phrase and what does it mean?" In the example, "happy hour" and "mission" are the two things I need. Using some sort of knowledge base is hard because I can't predict every query the user may throw at me, and there will always be issues with disambiguation. For locations, I could have a gazetteer which would make life easier. What I meant was that existing libs, in my limited experience, can't do entity recognition (even those that use classifier based chunkers) unless you've got a good dataset of similar conversations. Which I don't yet. So my option was to build something that would take an arbitrary sentence and do so while only having limited training. Does that make sense? I'm utilizing word/phrase vectors - haven't moved to sentence vectors yet. And they are in the same space. I'm not entirely sure what compositional embedding entails, so presumably I'm not doing that. I would however love to chat offline and get more insight from you on it.