|
|
Member
Total posts: 23
Joined: Sep 23, 2010
|
I am designing a Chatbot named CosmoBot 1. I have experience with AIML but CosmoBot 1 is my first attempt at creating a chatbot brain with out AIML.
Features so far:
MySQL Database storage and look up of all Input/Response pairs.
SAPI text to speech for all responses
CosmoBot 1 asks you what his response should be if the Input isn’t in the database
Each input has it’s own Mood modifier that changes Cosmo’s Emotions
If learning mode is turned off then Cosmo will randomly pick a response thats with in the last known topic when a response is entered thats not in the database.
Thats about it for features so far. I just started Cosmo Last night so the database is still pretty small since I am working on adding to Cosmo’s Program and not teaching him anything new yet.
I will post some youtube videos of him in action a little later.
Any ideas or comments are welcomed!
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 1 ]
|
|
Member
Total posts: 23
Joined: Sep 23, 2010
|
Here is the Youtube video showing Cosmo in action:
http://www.youtube.com/watch?v=5_aslsVmx4c
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 2 ]
|
|
Senior member
Total posts: 623
Joined: Aug 24, 2010
|
Thanks for the video!
You mention that CosmoBot has a mood state that is influenced by user input. Does the mood state influence its choice of response? Can CosmoBot choose between multiple responses? If so, what type of algorithm does it run to choose a response?
Good luck to you on your project. Keep us updated.
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 3 ]
|
|
Member
Total posts: 23
Joined: Sep 23, 2010
|
I have started adding functionality so Cosmo’s mood will impact the conversation. For example I have a Meter that determines how bored Cosmo is with the current topic. If the meter gets to 100 then cosmo will introduce a new topic that he is more interested in and the meter is reset to 0. That was something I just thought of an hour or so ago so it’s no where near complete. So far I have a method for changing the topic which for a Argument takes a string which is the name of the new topic. It then looks up in the database and gets all the entries in the database for the new topic. It then picks a random response out of those entries. In my recent tests of it it results in Cosmo saying some random thing that has nothing to do with what I had just said but he gets his point across that he doesn’t want to talk about what I am trying to talk about! lol
I am now trying to redesign the database and come up with a better way for Cosmo to learn and communicate. The simple Input/Output method that I have at the moment really isn’t what I envision. I want Cosmo to be able to create his own sentences and learn with out me having to tell him what his response should be.
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 4 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
Hi James,
Great start!! Welcome to the forums.
I noticed one human input was “pretty good and you?”
I’m curious, if you only typed “good and you?” would Cosmo have given you the same response? Are you looking for exact matches…or do you look for certain keywords in the human input?
Keep us posted.
Regards,
Chuck
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 5 ]
|
|
Member
Total posts: 23
Joined: Sep 23, 2010
|
For now it searches the database for a exact match and if it doesn’t find one then it asks you what it’s response should be and then adds it to the database.
I am now working on having Cosmo create his own sentences. I am starting out with simple 3 word sentences such as:
I hate rain
Pets are fun
I play ball
I will have another update possibly later tonight or tomorrow.
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 6 ]
|
|
Senior member
Total posts: 974
Joined: Oct 21, 2009
|
James: Welcome to chatbots.org and great work with Cosmo! I like the idea of the learning functionality, were it auto-updates its knowledge.
I was wondering if you were considering making Cosmo’s conversations ‘stateful’.
Meaning if the user input was just the word ‘yes’ or ‘no’, if it would consider the last couple of things that were said in the conversaton in order to pick the best response.
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 7 ]
|
|
Member
Total posts: 23
Joined: Sep 23, 2010
|
Victor Shulist - Sep 23, 2010: James: Welcome to chatbots.org and great work with Cosmo! I like the idea of the learning functionality, were it auto-updates its knowledge.
I was wondering if you were considering making Cosmo’s conversations ‘stateful’.
Meaning if the user input was just the word ‘yes’ or ‘no’, if it would consider the last couple of things that were said in the conversaton in order to pick the best response.
Thanks! This is a great site! as far as Stateful conversations I hadn’t really thought about it. I am trying to get the basics done and then I will go back and add extra stuff.
I spent the night creating a Chat Client where others can talk to Cosmo. I am using RakNet for the networking because it was the quickest to add. Cosmo’s Brain is running on my Computer or at some point maybe a dedicated Server and then people will be able to download the client and interact with Cosmo and help teach him. Cosmo still has SAPI integration so I can listen to what Cosmo is saying to people with out being at the computer.
Once I get my wired Internet connection fixed (prob. will be a week or 2) I will post the download link. If I can find a way around my wireless Internet’s Firewall I will post the link sooner.
I need some advice about the client. Should I include SAPI with the client or just leave it as a text only client?
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 8 ]
|
|
Member
Total posts: 23
Joined: Sep 23, 2010
|
Heres another Video showing my latest changes:
http://www.youtube.com/watch?v=EqboIB_E0b8
Every time I say Debug the Response giving by Cosmo is created by Cosmo not by me.
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 9 ]
|
|
Administrator
Total posts: 3111
Joined: Jun 14, 2010
|
Hi, James! You’ve done some amazing things there. I’m impressed!
As far as including SAPI with the client, I would suggest that you do, but give the user the option to turn it off, if they choose, along with the option of changing the voice, if they have more than one already installed; Especially since you seem to call Cosmo 1 a “he”, and have given “him” a female voice.
Out of curiosity, what platform are you using to develop Cosmo? I’m guessing it’s likely a .net app, such as Visual Studio, but I wonder whether it’s Visual Basic or one of the flavors of C.
Also, what sort of issue are you experiencing with your wireless internet, that prevents you from allowing your Cosmo “server” from being connected to? It it a NAT (Network Address Translation) problem, Port Forwarding, firewall permissions, or some other issue? With just a bit more info, I may be able to assist.
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 10 ]
|
|
Member
Total posts: 23
Joined: Sep 23, 2010
|
Dave Morton - Sep 23, 2010: Hi, James! You’ve done some amazing things there. I’m impressed!
As far as including SAPI with the client, I would suggest that you do, but give the user the option to turn it off, if they choose, along with the option of changing the voice, if they have more than one already installed; Especially since you seem to call Cosmo 1 a “he”, and have given “him” a female voice.
Out of curiosity, what platform are you using to develop Cosmo? I’m guessing it’s likely a .net app, such as Visual Studio, but I wonder whether it’s Visual Basic or one of the flavors of C.
Also, what sort of issue are you experiencing with your wireless internet, that prevents you from allowing your Cosmo “server” from being connected to? It it a NAT (Network Address Translation) problem, Port Forwarding, firewall permissions, or some other issue? With just a bit more info, I may be able to assist.
For the programming Language I am using C++ using Visual Studio.
As for the Net problems I am having I believe it’s a “simple” Port forwarding issue however after a call in to Time Warner Cable (I have Road Runner) I was told that the package I have doesn’t support Servers and they control the port forwarding. In order to get the server working I would have to upgrade to their business package. However IMO thats BS because I was running full MMO Private Servers such as WoW Mangos servers on my Computer with no problem. That was however before Time warner cable messed my wired internet up trying to fix my wireless internet. So until I can get them to come out and repair whatever damage they did to my wired internet Cosmo is confined to my Desktop.
In some ways though thats good because it gives me more time to work on Cosmo’s Brain to get it functioning better. Also I still need to figure some things out with the client. I keep getting a exception when I try to read the string from the Packet and it would be helpful if I had some helper classes to help with the conversion from std::string to System::String and so forth.
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 11 ]
|
|
Senior member
Total posts: 971
Joined: Aug 14, 2006
|
Hi James, welcome to the Chatbots.org forums.
I’ve just moved this thread to the ‘My Chatbots’ forum, where Cosmobot1 can enjoy the companionship of Morti, Walter and a few others.
Is your chatbot already online? You can then add your chatbot to the Chatbots.org directory. CHeck this page if you’re interested:
http://chatbots.org/directory/static/add_your_chatbots/
At last, would it be possible to add a short bio and picture to your profile? Makes it more personal
Chat to you soon!
Erwin
|
|
|
|
|
Posted: Sep 23, 2010 |
[ # 12 ]
|
|
Member
Total posts: 23
Joined: Sep 23, 2010
|
Erwin Van Lun - Sep 23, 2010: Hi James, welcome to the Chatbots.org forums.
I’ve just moved this thread to the ‘My Chatbots’ forum, where Cosmobot1 can enjoy the companionship of Morti, Walter and a few others.
Is your chatbot already online? You can then add your chatbot to the Chatbots.org directory. CHeck this page if you’re interested:
http://chatbots.org/directory/static/add_your_chatbots/
At last, would it be possible to add a short bio and picture to your profile? Makes it more personal
Chat to you soon!
Erwin
I updated my Profile however I don’t have a up to date Picture so I will have to add a picture at some other time.
Cosmo is currently online for me though I am redesigning his Brain. Putting it all in a dll which would be easier to redistribute should I decide to. I also just threw the Networking code in with out taking much time to design it properly so I am just trying to clean everything up.
|
|
|
|
|
Posted: Sep 24, 2010 |
[ # 13 ]
|
|
Senior member
Total posts: 971
Joined: Aug 14, 2006
|
ok, if you would like to give access only to forum members, or Chatbots.org members, please let me know. We can develop somehting special to will avoid that your chatbot will be flooded by visitors and down every five minutes.
|
|
|
|
|
Posted: Sep 24, 2010 |
[ # 14 ]
|
|
Member
Total posts: 23
Joined: Sep 23, 2010
|
Thanks. I just have to wait until I get my Internet fixed before I can allow other to connect because of Stupid Road Runner! But in a week or 2 I should be able to have it publicly online. Also with RakNet (the Networking Library I am using) I can set the number of max connection at any one time so I shouldn’t have any problems with being flooded with people but I will cross that bridge when I am ready to release the client.
|
|
|
|
|
Posted: Sep 24, 2010 |
[ # 15 ]
|
|
Senior member
Total posts: 971
Joined: Aug 14, 2006
|
James Proctor - Sep 24, 2010: because of Stupid Road Runner!
no clue what that is, but it sounds great :D
|
|
|
|