@DJ and EZ-Robot team.
Hi guys. While I have been setting up audio scripts, soundboards and the Pandorabot control, I had a thought for a possible added feature/control for ARC and the EZ-B v4 for bot builders and users who would like to implement a solid, reliable and EZ to use AI program.
Have you ever thought of creating and implementing your own artificial intelligent chatbot program to run in EZ-Builder? This would be either a web/server based chatbot such as pandorabots ect for EZ-Robot users, or something stand alone that could be stored locally and used on a users PC (less recourses for you, but individual bot files small enough for individual users). Then either using code such as AIML (artificial intelligent markup language) which is freely available or similar, or your very own EZAI language, users can custom program their very own bot personality which could be for personal use or shared on the EZ-Cloud.
Going by what I have personally seen and used with what you have already created with the EZ platform, it would be sure to be a solid, reliable and responsive set up, and something others would hopefully agree with. As you know, you already have a controls in ARC that can be used to set up a very basic chatbot with speech recognition, speech synthesis and scripting (sayEZB() ect) but that would be a heck of a lot of scripting to do something like what I'm suggesting. But to have a separate control, maybe with its own language, and a simple pre programmed personality which would be editable for anyone to customise, would make things easier for the user to create or edit their own files to create their own custom bot, and of course having the ability to add control commands and EZ scripts to the chatbot control (like what you did with the Pandorabot control) would work nicely together and could be a very powerful tool.
The ability to verbally interact with our robots or robotic systems is something many robot creators and operators would love to be able to do reliably and easily, as well as anyone else who would interact with a robot (family, friends, visitors ect). And to use a platform as reliable, well thought out, fun and ever growing as ARC and the EZ-B's, having an EZ-Chatbot included in this would truly be the scrumptious cherry on top of a very well crafted and extremely tasty cake. To have a intergrated chatbot created by EZ-Robot has reliability written all over it.
I am currently having a few issues with the Pandorabot control at the moment which you can read about here, so not relying on a third party system and going straight to the source would be great. I would love to be able throw something together and say "here you go guys, let's share it with everyone", but unfortunately it's a bit above my pay grade as I do not have the right skill set to build something like this. So, is this a project you have ever considered, or would ever consider doing sometime?
I would love to hear your thoughts about this too. Is this something you would like to see in EZ-Builder, is it something you think you would use, have you created your own chatbot system whether it be web based or stand alone which you use successfully and reliably, do you have any ideas for something similar to what I have mentioned? I would enjoy hearing what you think.
Upgrade to ARC Pro
Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro
From what I can tell the issues with Pandorabot are Pandorabot's issues. They are not limited to only ARC, I have experienced similar problems when using it through VoxCommando. Since having a chatbot was not high on my priorities I just disabled it and haven't looked in to it further (well that and the fact that dictation for speech recognition is incredibly inaccurate).
Tony (@Toymaker) has an impressive AI system that's being worked on and I believe it will eventually be released and will work with ARC. Have a look at his AIMEC robots and videos for more information.
Thanks for your response. I was unaware that DJ worked on a chatbot programin the past. It would be a shame if it was never looked in to again. I wonder if he has plans to continue working on it again?
The problems I'm (and others) are facing with Pandorabots is a real pain, and I am becoming aware that it may not completely ARCs fault, as Pandorabots does have its issues (for example, at times train a bot for 20 minutes and wait 10 minutes for their servers to respond) which is why I think having a dedicated chatbot from EZ-Robots for ARC users would be far more reliable, and also wouldn't suffer from cross speech recognition controls playing off each other (ARC s/r and pandora s/r conflicting with each other).
I had a look at a few of Tony's (@Toymaker) AIMEC robots videos. That is an awesome set up he has there. Especially enjoyed the "guessing game" video, very cool indeed. If he does has have plans to release a chatbot to work with ARC, that too would be awesome.
Thanks for your kind words and I'm pleased you agree. I'm quite passionate about having the ability to have dynamic conversations with robots, and agree with what you say about verbal communication being the way forward for personal robotics. The technology is out there, it just needs bought together in to a reliable, EZ to use package which I believe DJ and his team could do very successfully.
I've been playing around with a locally-hosted (Program-O) chatbot, but I'm thinking of abandoning it because the chatbot is so slow to respond.
I've also been fooling with a "desktop assistant" (Zabaware 'Hal') that responds pretty quickly, but the only way I think it will interface with EZ-B is if I set it up to switch between the two programs. Meaning that if I want to converse with my robot, I switch off his motor functions (no pun intended!). He'd be able to sit and chat, or move and interact. Probably not a bad trade-off, but if there was a (non-Pandora) chat interface in EZ-B, it would be awesome!
Something within ARC would of course beat it all, also the Cloud implementation that @SteveG mentioned would be a really cool thing, so we could share different flavors of robot personalities!
Lets see how we can get going on this one
Guess I will start a bit of digging right now!
As I have updates I will post it to that google group.
Thanks for putting in all this work and sharing it with the community!
This will save us all the hours of tedious work to get it going, it is definitely worth waiting for! I am superexited to get a chance on testing it out!
The "desktop assistant" is more in line for my robot, and now that Zabaware is starting to revive development on the HAL system, maybe a plug-in for EZ-Robot may evolve. @thetechguru - you said it *may* be do-able, but it's far beyond my abilities. *confused*
As I am trying to get something out the door in a hurry, this won't do so well with guessing responses, as it will with responding from AIML files.
As some of you know AIML takes an input sentence such as "How are you today?" strips off the punctuation, removes the simpler words such as "are" and then looks for a match of all the words in its database. If none are found it tries to match less words, then less until it finds a match. If it does not find a match it goes to its default question and answers with a question back changing the subject. Not elegant, but that is for the most part how AIML has always worked.
As for hooking it up to EZ-script, that's pretty much a piece of cake.
The hardest part about using pandorabots/ALICE/AIML is configuring the aiml files. There are more than 10,000 questions and answers in a typical chatbot. Each one has to be customized so that your robot has its own personality and not Alice's.
I will be looking for beta testers, so please respond to me if you are interested. --Thomas
Stu the Student