Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How to get started on developing an enterprise AI assistant?
2 points by dmode on May 8, 2017 | hide | past | favorite | 6 comments
I am planning on developing an enterprise focused AI assistant, that will answer common employee questions. I have decided to build a desktop app using Electron and Node JS / Javascript / Socket.io. I am working with a guy who is a data scientist and he knows AI and NLP. However, I am not sure whether I want to build the bot from scratch. Is there a common framework / open source library or other options that I can use to get a head start. Something that will have a basic UI and a simple framework which I can extend upon. I looked at Rocket Chat, but it appears completely built out and I am not comfortable deploying something where I won't know 90% of the code.



There are about an infinite number of answers to this question, and half the answers are really just more questions. Some of it depends on how "intelligent" you want it to be. Worst case, you'll have to invent AGI.

Short of that, there are a ton of places to start. You might start by reading all of the papers published by the folks behind the START question & answer system:

http://start.csail.mit.edu/index.php

If you can accept something that's fairly dumb, and requires a bit of up-front coding, you could just code up a chat-bot using AIML. Or you could start with a fairly dumb AIML bot and incorporate additional techniques over time. You could probably tie in OpenNLP or CoreNLP or something, figure out ways to use WordNet, ConceptNet, SyntaxNet, the OpenCyc knowledgebase, dbPedia, Wikidata, etc. and make something that could answer a lot of questions. Figuring out how to make it learn is a much bigger challenge, as is integrating all of the various ML/AI techniques out there that might be applicable.

You might also get some mileage out of something like Quepy[1], a framework for translating natural language into structured queries (think, SPARQL, SQL, etc.)

If you just want to get your feet wet and start exploring, I'd look here:

http://www.alicebot.org/downloads/programs.html

If AIML bots aren't "smart" enough for you, start exploring other techniques.

[1]: https://github.com/machinalis/quepy


Thank you very much. Really appreciate all the details. Can I ask one more question ? In addition to the AI and NLP stuff, is there a framework that already has the basics underpinning of a bot - example, has a decent UI, backend infrastructure for asynchronous messages, solves continuous scrolling etc.


I'm not sure off the top of my head. Possibly. I assume you're planning something web-based, since you mention continuous scrolling? I tend to use an XMPP interface for "bot" type things, so I don't know as much about what frameworks exist for doing this stuff in a more web-centric form.


Check out some of Siraj Raval's videos[0], he has several on building chatbots, one of which is less interesting/relevant as it uses a third-party API, but the others use neural networks IIRC.

[0] https://www.youtube.com/channel/UCWN3xxRkmTPmbKwht9FuE5A


Obviously, being a neural network, you won't know 90% (or more) of what's going on inside the model — which might therefore raise similar concerns.


At the other end is pubnub or something like that which is a real time messaging api.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: