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

ERwin - its a high speed internet provider .. I use to work for those guys!!

 

 
  [ # 17 ]
Erwin Van Lun - Sep 24, 2010:
James Proctor - Sep 24, 2010:

because of Stupid Road Runner!

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

lol Road Runner is the Internet Company I have.

They have a normal Internet package for homes and then they have a Business Package. I was told today that their normal package doesn’t support running servers on your computer and they control what ports are open through their wireless modems. So until I get my wired internet back online which they messed up I can not get the port open that Cosmo runs on.

 

 
  [ # 18 ]

Well I have spent much of the evening trying to figure out why I can only send 3 words from the client to Cosmo. Anything over 3 words ends up crashing cosmo.

Heres a quick overview of what else I have done and some things still in my mind but not in code:

Since I had to redesign cosmos anyways I decided I should focus on creating a scalable framework that could grow as I continued developing it. Even though I am currently working on a single core CPU I went ahead and made Cosmos multi-threaded in the hopes that one day I could put it to use. I have 4 main threads so far.

The 4 main threads:
ThoughtProcess - Handles cosmos’ thinking and input processing.
EmotionProcess - Updates Cosmos’ emotional state.
VitalProcess - Updates Cosmos’ Vitals (idea taking from Walter) and responsible for updating the CosmoSense module. I will have more on CosmoSense a little later in this post.
updateNetworking - Updates and manages the Networking side of Cosmos.

I have also been planning out different modules that will add new functionality. For right now Cosmos’ brain and modules are all 1 dll but my goal is to have a Plugin system where each module will be a different dll and you can add or remove features just by adding or removing the dll.

The Planned Modules:
CosmoVocals - Gives cosmos his/her voice and processes audio input

CosmoNet - Allows Cosmo to surf the net and retrieve information off the net.

CosmoSense - I think this is the coolest one. CosmoSense allows Cosmo to sense his environment. Some ideas for CosmoSense were taking from what Chuck is doing with Walter. Walter can log on to a weather site and get the weather for his environment. Well Cosmos’ Environment is my Computer so with CosmoSense Cosmo will be able to get my CPU’s temperature and load. Cosmos’ health and mood will directly reflect my Computer’s health. So far I have a test console application that I am using to test the code for getting my CPU’s temp and load. So far it’s all working as expected.

 

 
  [ # 19 ]

Awesome, I like the idea of your bot knowing it is a bot, and knowing that it runs inside of a computer. 

My bot will think of itself the same way, when asked what it is, it will say it is software running on a digital computer.

Another concept is the idea of being ‘awake’.  When the bot starts up, it could look at a log file to tell it the last time it was running, or the last time it was ‘awake’.  Perhaps it could say ‘Incredible, I’ve been asleep over a week, what did I miss?’

 

 
  [ # 20 ]
Victor Shulist - Sep 24, 2010:

...  When the bot starts up, it could look at a log file to tell it the last time it was running, or the last time it was ‘awake’.  Perhaps it could say ‘Incredible, I’ve been asleep over a week, what did I miss?’

Suddenly, I envision the existence of a bot with “security issues”:

“You let me sleep for THREE HOURS? You don’t LOVE me anymore!!!” smile

 

 
  [ # 21 ]

Oh yeah, it will be kind of spooky smile  If it keeps a log that tells it that the average time you talked to it is about every 24 hours, and you haven’t talked to it (ie executed it), in over 2 weeks, it could be ‘angry’ with you lol.

Worse yet, imagine if you told it that it was because your wife required your help around the house, or it keeps track of how much its knowledge base grows, and say it grows 5% every week, but in the last month it grew by 0.1%, it could start feeling sorry for itself, “I’m not getting anywhere in life!”

 

 
  [ # 22 ]

Ok, now for the scary scenario. Our bot with “issues” sees within the logs that it’s time with it’s “user” has steadily diminished over time. This same bot also happens to “live” in a computer that also happens to “control” a Smart House. The wife is just going through her day, blissfully unaware of the slowly increasing malice building up against her, when WHAM!

I’m certain you can imagine the rest. NOT pretty. smile

Ok, all done hijacking the thread, just to get a laugh. Sorry, James. Sometimes I just can’t seem to help it. smile

 

 
  [ # 23 ]

lol it’s ok. As AI becomes more life like and controls more aspects of our day to day lives that is something we will have to start thinking about and find ways to prevent.

Not really sure how far I will get with Cosmo however what I envision is having Cosmo pretty much controlling my computer. Think of the computers on Star Trek. What I would like to do is be able to speak with Cosmo using a microphone and ask him to do different tasks. For example I could ask Cosmo, “Cosmo can you bring up firefox and go to chatbots.org,” and Cosmo would do it. For now though I am just starting out simple.

 

 
  [ # 24 ]

James,

Very cool.  I also am aiming for that kind of functionality.

 

 
  [ # 25 ]

Well I am not completely sure where I am going to go from here but I now have basic keywords working.

I can include keywords such as *name* in my database responses and Cosmo before sending the response will parse the response and replace the keywords with the proper words.

For example I have a input/response pair in the database:
Input: Who are you? Response: I am *name*. *about*!

The user types in Who are you? and Cosmo will pull the response I am *name*. *about*! from the database. Cosmo will then parse the response breaking it up into it’s different words. For each word he will remove any punctuation and then search for the beginning * telling him the word is a keyword. I have a std::map containing all the keywords and what they should be replaced with. Cosmo then replaces the keyword with what it should be, rebuilds the response, and sends it.

Heres the code for parsing the response:

#pragma region Language Processing
string CCosmoBrain::processSentence(std::string _sentence)
{
    string buf
// Have a buffer string
    
stringstream ss(_sentence); // Insert the string into a stream

    
vector<stringtokens// Create vector to hold our words

    
while (ss >> buf)
        
tokens.push_back(buf);

    
vector<string>::iterator stringIterator tokens.begin();

    
string newSentence;

    for (
vector<string>::iterator i tokens.begin(); != tokens.end(); ++i)
    
{
        string words 
= *i;
        
int period words.find(".");
        
int questionMark words.find("?");
        
int exclamationMark words.find("!");

        if(
period >= 0)
        
{
            words
.erase(period);
        
}
        
else if(questionMark >= 0)
        
{
            words
.erase(questionMark);
        
}
        
else if(exclamationMark >= 0)
        
{
            words
.erase(exclamationMark);
        
}

        
if(words.find("*") == 0)
        
{
            string _key 
keyWords[words];
            
words _key;
        
}

        
if(period >= 0)
        
{
            words
.append(".");
        
}
        
else if(questionMark >= 0)
        
{
            words
.append("?");
        
}
        
else if(exclamationMark >= 0)
        
{
            words
.append("!");
        
}

        newSentence
.append(words);
        
newSentence.append(" ");
        
//cout << *i << endl;
    
}

    cout 
<< "Old Sentence: " << _sentence << endl;
    
cout << "New Sentence: " << newSentence << endl;

    return 
newSentence;
}
#pragma endregion 

Can anyone think of a better way to do it?

 

 
  [ # 26 ]
Dave Morton - Sep 24, 2010:

Suddenly, I envision the existence of a bot with “security issues”

I envision a future where we’ll talk with friend like we are really looking through a window. The perspective changes if we move our head. We see different things when we focus our eyes, really like looking through a window.

Suddenly, the interface is hacked, a virus is there. Instead of talking to a friend, we’re now talking to a computer, and it’s so damn good we won’t notice the difference. We simply continue our conversation.

And then suddenly, this characters starts to say unnice things, weird eyes movements, unnatural emotional expressions.

That will really have impact in the trust we have in technology. It will generated truely negative experiences, even traumas.

Sick thoughts, but the future of computer viruses, in my opinion (as long as we are building upon an Internet that was designed in the 60’s and which is not suitable at all for massive consumer usage).

 

 
  [ # 27 ]

Well its been a couple days since I last posted so here is a update. I have decided to possibly try my hand at constructing a android like http://projectaiko.com/ for now though I am going to just stick to designing the software for the brain which means work continues on Cosmo. I have started work on the CosmoVision module which allows Cosmo to see through a webcam. Using OpenCV I have facial recognition with object recognition coming at a later date. I have also been working on Language processing. User input is processed, Tokenized, and then tagged based on 8 rules first developed by Eric Brill in 1993. (http://en.wikipedia.org/wiki/Brill_tagger) I have a English Lexicon file that consists of more then 93,000 english words that is used for the tagging process. For testing though I am only using like 5 words so it won’t take so long to load.

I will have a video update sometime today (Tuesday).

 

 
  [ # 28 ]

Heres the next Video update:

http://www.youtube.com/watch?v=RfAOtWesV-E

 

 
  [ # 29 ]

cool stuff James! Until last year I was pretty active in collecting information about humanoid robots.

http://www.erwinvanlun.com/ww/C151/

probably you’ve seen a few of them already, but some might be new for you.

Erwin
(don’t forget to add your picture btw)

 

 
  [ # 30 ]

Looks promising James. I like the facial tracking.

 

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