Sign in to follow this  
Nice Coder

Chatbot emotions

Recommended Posts

I am currently working on emotions for my chatbot, my current system works like this: there are different emotions (and the system can accomidate varying numbers of emotions). They are on a scale, with two emotions on either end and a "no mans land" in the middle: happysad for instance is happy when it is > 0.5 and sad when it is < 0.5) It is split into two different functions: doemotion and getemotion. Doemotion's role is to recalculate emotions based on user input (eg. lol would increase the "happysad" emotion) Getemotion's role is to calculate (via thresholds, such as happysad > 0.95 or happysad < 0.20) which (if any) emotional messages are to be displayed (like :-) :( or I'm Heigh!) 1. Should i randomly change the emotions? (either per input or ?) 2. Is there a better way to do this/achive this effect? in my doemotion function, when changing the values, i use emotion = clamp(emotion * newvalue * 2, 0 ,1) Is this a wize thing to do? From, Nice coder

Share this post


Link to post
Share on other sites
hi,
well, if it was me, I would use perceptrons that output a percent value rather than a bool, and I would make each perceptron take as many factor as I need, including the defaut character of the chatbot, and a random value. and then I would rather use an update function, that calculate that percent of each perceptron, and decide what emotions to use...
again, that's just what I would think according to my own logic.
hope it helps.

Share this post


Link to post
Share on other sites
Dark Metamorphosis- How would i train the perceptrons?
Currently my "problem" is that my bot either:
1. sounds like its under the influence of alcohol or
2. Sounds a little tamer, but very "emotional"

Currently my values are a little far of 0.5,
Here are the two lines (from the data file)

Good|Bad|Hate|love|LOL
0.85|0.2|0.1|0.99|0.70

Now if i go LOL twice, it gives a "Very happy" responce. if i go hate once i get a "Very sad" responce. Should i move these values coser to 0.5?

Nothing here is a bool, unless i've got i heigh bot which had its happyness clamped. Every quentity is a double, so i could have quite a few extra decimal places...

From,
Nice coder

Share this post


Link to post
Share on other sites
Try doing some research on previous work. I've seen quite a lot of papers on reactive facial expressions for VR agents which would be very applicable to you (i.e. replace facial expressions for emoticons).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this