Monday, January 10, 2011

Project River Speaks Gibberish!

Success! After many hours of work, I have succeeded in integrating the Rebecca AIML chatbot engine into Project River. I can now carry on conversations with River, which already makes her feel significantly more useful and complete.

Because the speech recognition is so buggy (I need to develop a good system to training it), some funny conversations have already taken place. She constantly mishears what I say, so most of our conversations jump from topic to topic even more than the typical conversation with a chatbot would.

The most interesting conversation I have had so far (entirely on accident) went as follows:

Me: Who is the President of the United States?
River: Barack Obama
Me: Is he a good president? (she heard: Is he a woman?)
River: No.

This was an eerie situation because it made it seem as if River had her own opinions about the state of the nation without me having taught her any.

I'm using the voice Bridget from NeoSpeech to give River her voice. As a result, she sounds incredibly life like -- the British accent helps her sound more natural. I've noticed that even when my conversations with River are completely ridiculous, it is still believable that she is intelligent, because she speaks so naturally. From this I conclude that using a believable voice interface greatly increases the believability of any artificial intelligence system. I also believe that the absence of any animation or physical form also helps increase believability -- there's no "uncanny valley" affect taking place, nor is there any poorly animated avatar to detract from the immersion.

Next Steps

The next major task I will focus on will be to improve the speech recognition by programming in a training method. If River doesn't hear me properly, I will tell her "That's not what I said.", which will then prompt her to ask me to type exactly what I said -- she will save both items, and use them to train herself to hear better in the background.

My next small task I'll focus on will be to implement a web crawler class. This will let me start to implement functionality such as looking up the release date of a movie or what television shows are airing on a given day.

No comments:

Post a Comment