Advertisement

Chatbot emotions

Started by October 01, 2004 07:12 AM
2 comments, last by seanw 20 years, 2 months ago
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
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
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.
K'-P = ME
Advertisement
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
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
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).

This topic is closed to new replies.

Advertisement