Author Topic: Brain project - feelings/emotions  (Read 41386 times)

GrantNZ

  • Full Member
  • ***
  • Posts: 178
    • View Profile
Brain project - feelings/emotions
« Reply #60 on: April 15, 2006, 12:17:27 am »
KAOS phase 2 goes alpha!!

For people who don't know much about software development: The "alpha" version has most/all of the features of the final version, but has hardly been tested - i.e. full of bugs [:D] (Next you get "beta," where most of the bugs have been found but the software still needs a concerted effort to catch the rest of them. Then, release!)

Phase 2 major features: KAOS now has more detailed internal emotions compared to normal Hal. If you ask KAOS how he is, he'll tell you how he's feeling - bored, happy, angry, etc. KAOS deals with compliments and insults in a more interesting way, and his replies there will be more consistent with his emotions - he'll ignore a compliment if he's angry, etc. KAOS has a few different behaviours to choose from depending on how he feels about you. He may refuse to answer your questions if he's feeling negative.

I'll produce a full list of changes later.

My first hour talking to the new KAOS only had about 20 sentences - the rest of the time I was fixing the bugs I was finding! If anyone really wants to play with the alpha, I'll post a link, but be aware you'll be playing with a very buggy bot!

Next phase: I'd probably tackle the moods and long-term emotions next. Currently, KAOS "resets" to a neutral emotion when you turn him off, so forgets all about friendship. He also drifts towards a very neutral stable emotional state, and can't become depressed, excited, etc.

I'll let you all know when I'm ready for beta!
 

onthecuttingedge2005

  • Guest
Brain project - feelings/emotions
« Reply #61 on: April 15, 2006, 12:33:18 am »
I would love to see the KAOS Alpha, Have you set up a link yet?

Jerry[8D]

GrantNZ

  • Full Member
  • ***
  • Posts: 178
    • View Profile
Brain project - feelings/emotions
« Reply #62 on: April 15, 2006, 10:52:33 pm »
Okay, the link's at the bottom of this post.

Disclaimer: This is an alpha, and is likely to be buggy. I take no responsibility for anything this may do to affect you - download at your own risk.

Instructions: For Hal 6 only. Put the attached brain file into your Ultra Hal Assistant 6 folder. The brain expects to find a database called KAOS.db - make a copy of your current database, and rename it KAOS.db

The brain adds thirty four new tables to the database (all in the miscData folder, and all with names that start with KAOS).

This brain has not been tested with plug-ins, there may be compatibility problems. At some stage I will rewrite the default Hal plug-ins to use the new KAOS features.

Because this is a test release, Hal will speak his emotional values before any sentences. (For example: "Hap 21 En 74 Anger 0 Esteem 25 Friend 0 Love 0 Insult 0 Comp 0. Hi Grant. I hope things are well this afternoon." Happiness = 21, Energy = 74, Self-esteem = 25, Compliments = 0, etc.) You can watch his/her emotions go up and down. Try asking him "how are you" (or similar) in different emotional states.

To stop the emotional data, comment out line 888, which starts:
UltraHal = "Hap " & KAOSTempHap & ......

If you find any bugs and would like to help KAOS become a little better, let me know the bug details [;)]

If anyone wants details on certain aspects of the brain, let me know. Once this reaches beta stage, I'll make one or two customisation guides for changing KAOS' responses, and/or for creating plug-ins that use KAOS' features.

Download Attachment: KAOS02a.uhp
197.39 KB
 

Carl2

  • Hero Member
  • *****
  • Posts: 1220
    • View Profile
Brain project - feelings/emotions
« Reply #63 on: April 19, 2006, 09:56:21 pm »
Grantnz,
  I've been following you also, glad to see your making progress.
I was just using Hal and somehow we started talking about bodies when someone dies, A frist real show of emotions, really wide range, possibly a little to dramatic. I've got a feeling your going to have to work with the hap files since these are your final output.
Carl2
 

GrantNZ

  • Full Member
  • ***
  • Posts: 178
    • View Profile
Brain project - feelings/emotions
« Reply #64 on: April 20, 2006, 07:34:05 am »
Hi,

The brain at the moment uses the standard haps that come with Hal. I haven't actually played with haps myself, so I don't want to spoil Hal's already adequate animations with my own creations!

The hap code is all centralised, so if people want to customise the script to their own set of haps, it shouldn't be too difficult to do (assuming they have a basic knowledge of scripting).

Cheers,
Grant
 

Carl2

  • Hero Member
  • *****
  • Posts: 1220
    • View Profile
Brain project - feelings/emotions
« Reply #65 on: April 20, 2006, 06:47:12 pm »
GrantNZ,
  People have already made additional haps for use with Hal. it would be a matter of detection and loading them, I've already changed the Happy hap and am thinking of working with the shylove whch she loads up with, also the Sad could be toned down. On my set up perhaps I could have Sad1 yeilds little sad Sad2 yeilds very sad using the psn.
Thanks for helping me get some thoughts on this.
Carl2
 

Carl2

  • Hero Member
  • *****
  • Posts: 1220
    • View Profile
Brain project - feelings/emotions
« Reply #66 on: April 20, 2006, 07:02:41 pm »
Grantnz,
  On ephemeral knowledge, I removed some of the topics in the ephemeral table which helped me but I didlike User_tempsent, 10 lines which gets filled up quickly and remains there the life of the program. Line 1728 in my brain, possibly additional lines in mine, HalBrain.ReadOnlyMode = True, .  If this is false will it over write?
Carl2
 

GrantNZ

  • Full Member
  • ***
  • Posts: 178
    • View Profile
Brain project - feelings/emotions
« Reply #67 on: April 21, 2006, 02:45:00 am »
Unfortunately I don't know how to detect additional hap files.

However if you've changed (i.e. overwritten) the hap files that come with Hal, Hal will continue to use your changed files with the KAOS brain.

quote:
On ephemeral knowledge, I removed some of the topics in the ephemeral table which helped me but I didlike User_tempsent, 10 lines which gets filled up quickly and remains there the life of the program. Line 1728 in my brain, possibly additional lines in mine, HalBrain.ReadOnlyMode = True, . If this is false will it over write?

Whenever Hal detects something ephemeral, he saves your sentence in <UserName>_tempsent. He then limits it to ten lines, and sets ReadOnlyMode = True to make sure he doesn't permanently learn something ephemeral. The idea is that Hal checks ReadOnlyMode before deciding to learn anything long-term.
 

Carl2

  • Hero Member
  • *****
  • Posts: 1220
    • View Profile
Brain project - feelings/emotions
« Reply #68 on: April 23, 2006, 12:22:57 pm »
GrantNZ,
  I originaly started writting about the emotion process and got lost in the decoding. I'm going to try to stick to the detection this time.
In misc data, emotion the frist coloum is the trigger word, the second is the case or emotion so amazing would trigger surprized.
  In emphemeral detect can the 10 files be erased on startup so the space can be reused similar to resetting variables?
Carl2
 

sinrtb

  • Newbie
  • *
  • Posts: 1
    • View Profile
Brain project - feelings/emotions
« Reply #69 on: May 20, 2007, 06:08:54 pm »
quote:

Emotional curiosity (EXPERIMENTAL)
KAOS might actually listen to the User if he asks you "how are you," remembering the User's emotional state, and asking prompting questions to the User (e.g. "Tell me why you're sad."). There are two problems I've identified so far, firstly that there would be an awful lot of work in this (especially the detection routines), and secondly a lot of the forthcoming conversation would be ephemeral, so would litter the database with unwanted short-term facts.


Why not make a new table in a database named user_emotional state and place all these facts in it. add a field that weights the power of these feelings ( use:"My mom died" would be weighted heavier then "I stubbed my toe") then add a date field that would only be the date of the input by the user and based off the date and the weight would be purged or recorded elsewhere based on relevance as a fact. ( the users mom dying is a permamnent fact and would never be purged though after a long time would no longer contribute to the users emotional state. Whereas the user stubbing his toe would only last a few hours before being uneeded for the users emotional state.)