Like Ra's Naughty Forum
Artificial Intelligence chatterbot and NLP (Natural Language Processing) - Printable Version

+- Like Ra's Naughty Forum (https://www.likera.com/forum/mybb)
+-- Forum: Technical section (https://www.likera.com/forum/mybb/Forum-Technical-section)
+--- Forum: Site (https://www.likera.com/forum/mybb/Forum-Site)
+--- Thread: Artificial Intelligence chatterbot and NLP (Natural Language Processing) (/Thread-Artificial-Intelligence-chatterbot-and-NLP-Natural-Language-Processing)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29


RE: Artificial Intelligence chatterbot - Like Ra - 01 Apr 2015

OK, I fixed the SQL bug. Punctuation also works as expected. But for some reason the <that> pattern can not always be found, so the conversation breaks when you answer Miyuki's question.


RE: Artificial Intelligence chatterbot - Like Ra - 04 Apr 2015

... what finally made me dig into the code ... I have no other choice if I want to make it work. Ah... takes more and more time ...


RE: Artificial Intelligence chatterbot - mcswitchy - 15 Sep 2015

I think hubot would be ideal for this project. It's a chatbot framework + adaptors for lots of communication channels (irc, slack, campfire, etc) + 700+ community plugins. Hubot is used by professional development groups to add some automation and comedy to team chatrooms. It can be hosted pretty much for free on heroku (well for just 18hrs a day these days) or on your own server.

The framework makes it easy to create new scripts to extend hubot's behavior - just define a regex trigger and some code for generating a the response and the platform takes care of the rest.

More elaborate scripts can take advantage of hubot's optional 'brain' key-value datastore to add persistence (and perhaps learning) to hubot's responses. For instance, the hubot-sentiment script scores every user's messages for sentiment and offers positive motivational messages when someone is too "unhappy".

Hubot also has an http api, so scripts and other events can be triggered programmatically outside of the chat system. The killer app would be to integrate hubot with the wit.ai language parsing api to go beyond just simple regex matching to actual open-ended valid conversations. If explicit content concerns precluded using wit, then we could roll our own with open-source alternatives like duckling or Mitie.  

If anyone would like to experiment with hubot or natural language processing tools, I would be happy to help set up an instance somewhere and help create a script or two.


RE: Artificial Intelligence chatterbot - Like Ra - 15 Sep 2015

Thanks, @mcswitchy, I've never heard of hubot. The first problem I see, is, unlike AIML, hubot can not do recursive queries and does not have the ability to vary responses, based on what the bot "said" earlier (but possibly I missed something). OTOH, JavaScript makes complex conditionals possible and very easy to implement. However, it can be done in Program O as well.

Saying that, this is the problem with Program O (which currently is used on this site). There are serious bugs, that MUST be addressed before moving any further with the chat scripts. BUT the developers abandoned the project. They are still reachable, but because of various life circumstances they can not proceed with the development. The Program O forum is still online, but effectively dead. I tweaked some PHP files to get rid of some bugs, but the logic needs to be redone in some places, and I have no time to dive in. Also, it would be nice to add AIMLv2 support.

I think, Program O is the most advanced and extendable AIML program so far. You can easily add pre- or post- processor to implement, or example, a neural network for image recognition, or add "emotions processor", etc. But everything requires time, energy and money....


RE: Artificial Intelligence chatterbot - Like Ra - 15 Sep 2015

Just in case - I haven't touched the current implementation since the beginning of April. No new features, no bug fixes, no new scenarios. And yes, it's in my ToDo list.


RE: Artificial Intelligence chatterbot - mcswitchy - 16 Sep 2015

I would like to learn more about how recursive queries work in AIML so I can think a bit about how we might implement the beginnings of code for varied responses / learning / conversational context-awareness might be added to hubot.

where can I learn more, and is there a demo of the existing aiml chatbot I could try here?


RE: Artificial Intelligence chatterbot - Like Ra - 16 Sep 2015

(16 Sep 2015, 01:11 )mcswitchy Wrote: s there a demo of the existing aiml chatbot I could try here?
You can try it here: http://www.likera.com/ai/o/

Several things are broken right now:

o- <TOPIC>s are not supported at all
o- Miyuki can't properly look into the aeady said phrases ( <THAT> pattern), so she can't follow the conversation.
o- Punctuation in the middle can't be processed correctly. I made some changes to the PHP code, but the code is tied to the <THAT> pattern search, and the proper logic is not implemented at all.


RE: Artificial Intelligence chatterbot - Like Ra - 24 Sep 2015

I was seriously thinking about hosting the bot on Pandorabots, but it's not an option anymore - they want a significant monthly fee.


RE: Artificial Intelligence chatterbot - Like Ra - 06 Nov 2015

This is what a well designed neural network and a huge training base can do:

http://www.wired.com/2015/06/google-made-chatbot-debates-meaning-life/
http://www.wired.co.uk/news/archive/2015-06/30/google-chatbot-philosophy-morals
http://googleresearch.blogspot.nl/search/label/Neural%20Networks

Ooooooh, I'm jealous.... 😉


RE: Artificial Intelligence chatterbot - Like Ra - 06 Nov 2015

OK, let's say in general I understand how the neural networks work in order to solve "if A, than B". But I do not understand how they follow the conversation. In other words, how do they calculate the next response, based on the previous inputs and outputs?

And yes, having proper training sets is essential for neural nets. I found several articles/theses today, in which the used training database was Twitter conversations for several months. Having unrestricted access to The BigData, and computing resources does help, but does not eliminate the necessity of having a highly skilled team 😁