AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

CosmoBot 1
 
 

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!

 

 
  [ # 1 ]

Here is the Youtube video showing Cosmo in action:

http://www.youtube.com/watch?v=5_aslsVmx4c

 

 
  [ # 2 ]

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. smile

 

 
  [ # 3 ]

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.

 

 
  [ # 4 ]

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

 

 
  [ # 5 ]

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.

 

 
  [ # 6 ]

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.

 

 
  [ # 7 ]
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?

 

 
  [ # 8 ]

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.

 

 
  [ # 9 ]

Hi, James! You’ve done some amazing things there. I’m impressed! smile

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. smile

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. smile

 

 
  [ # 10 ]
Dave Morton - Sep 23, 2010:

Hi, James! You’ve done some amazing things there. I’m impressed! smile

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. smile

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. smile

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.

 

 
  [ # 11 ]

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 cool hmm

Chat to you soon!

Erwin

 

 
  [ # 12 ]
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 cool hmm

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.

 

 
  [ # 13 ]

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.

 

 
  [ # 14 ]

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.

 

 
  [ # 15 ]
James Proctor - Sep 24, 2010:

because of Stupid Road Runner!

no clue what that is, but it sounds great :D

 

 1 2 3 >  Last ›
1 of 4
 
  login or register to react
     My Chatbot ››