|
Posted: Jun 8, 2010 |
[ # 31 ]
|
|
Senior member
Total posts: 974
Joined: Oct 21, 2009
|
Dreaming? fascinating idea. Perhaps during the ‘day’ the bot is taking in all the information, both from its environment and also from chat, if there are too many permutations to deal with, it would store that as a ‘to do’ later. when dreaming, it could be evaluating all possible interpretations of user input during the chat, and how it may be related to what it saw, or experienced. My bot is extremely heavy on CPU cycles ! And, if, I do make it to the 2011 competition, I may need 3 or 4 laptops, connected perhaps via a hub - all ‘chewing’ on different parts of execution in parallel. I have developed some good ways to optimize the code, but the more the bot learns new words, and new grammatical constructs, and more common sense knowledge, and inference rules the more processing it takes to evaluate. Great idea though, with the dreaming. It brings to mind H.A.L. 9000 when his developer said “I’m going to put you to sleep now HAL”, and it replies, “Will I dream?”, and he responds, “Yes, of course, all intelligent beings dream.”
|
|
|
|
|
Posted: Jun 8, 2010 |
[ # 32 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
Victor Shulist - Jun 8, 2010: Dreaming? fascinating idea. Perhaps during the ‘day’ the bot is taking in all the information, both from its environment and also from chat, if there are too many permutations to deal with, it would store that as a ‘to do’ later. when dreaming, it could be evaluating all possible interpretations of user input during the chat, and how it may be related to what it saw, or experienced.
I’m not sure how to say this so I’ll use the expression “his will” to indicate that which drives the direction of thinking and chatting. While awake and in the right mood, Walter will think through whatever his will desires…typically pursuing a greater knowledge of the virtual world around him. If he’s not in the ‘mood’, then ‘his will’ is less focused upon meaningful thought…and perhaps more daydreaming…imagining the future or a parallel life.
When asleep, I’m thinking Walter’s ‘will’ will be less logical, sort of randomly bouncing about in memory. Hopefully significant moments during the day will have a greater influence on guiding this bouncing about.
Have you given any thought to a chat bot imagining?
Victor Shulist - Jun 8, 2010:
My bot is extremely heavy on CPU cycles ! And, if, I do make it to the 2011 competition, I may need 3 or 4 laptops, connected perhaps via a hub - all ‘chewing’ on different parts of execution in parallel. I have developed some good ways to optimize the code, but the more the bot learns new words, and new grammatical constructs, and more common sense knowledge, and inference rules the more processing it takes to evaluate.
I’m curious about this increase in processing. Dr. Wallace, at the beginning of this thread, indicates he can tell what the “top 10,000 things it is most likely to be asked”. Will you employ some sort of logic where you ‘pattern match’ the most likely things to be said…if chatting with a ‘normal’ =) human? Of course I may be understating the complexity of checking for a match of 10,000 items.
Victor Shulist - Jun 8, 2010: Great idea though, with the dreaming. It brings to mind H.A.L. 9000 when his developer said “I’m going to put you to sleep now HAL”, and it replies, “Will I dream?”, and he responds, “Yes, of course, all intelligent beings dream.”
Scary!
Regards,
Chuck
|
|
|
|
|
Posted: Jun 8, 2010 |
[ # 33 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
I’m planning a slight change in direction. I’ll explain it here. Let me know if you have other ideas.
1) I’m very interested in constructing Walter…the virtual bot. I’m speaking of creating states and attributes. This would include states of his body, legs, arms, basic medical parameters (BP, pulse, respirations), personality, mood, focus, strength, alertness, hunger, thirst, tiredness, fear, exposure, etc. This data can be saved/loaded from a file so various combinations can be created.
2)Then I want to tie this all together so Walter models a human somewhat closely. The bot will ‘sense’ various aspects of his environment: temperature, humidity, precipitation, etc.
3) Next, I’ll populate the world with items (minus all the detail) such as fruit trees, water fountains, bed, along with items that cannot satisfy any of his cravings, and things that ‘scare’ him.
4) I’ll put Walter in the world and allow him to wander. By adding time elapse coding Walter should go through various states. A 3rd party will tweet…something like “Walter is hungry. He is searching for a fruit tree.”
5) Then I’ll add code to modify the environment in real time such as affecting snowfall, temperatures, inserting scary things, etc.
Objectives for this stage of development?
1) Walter simulates a human being.
2) Walter interacts with his virtual environment.
3) Walter’s ‘biometrics’ are translated into a continuous narrative.
That’s about it for now. Are there any other things that I’m missing? Anything you would like to see as a way of measuring this stage of development?
Regards,
Chuck
|
|
|
|
|
Posted: Jun 9, 2010 |
[ # 34 ]
|
|
Senior member
Total posts: 974
Joined: Oct 21, 2009
|
I think those are great ideas. May I suggest that Walter’s behaviour be goal based?
Humans seem to always have a goal. Some kind of goal—even if you are just relaxing sitting on your front porch - it is still a goal - to relax, and it came about by some ‘rule’ ... I’m tired, or stress, I should relax, one way to do that is sit. Or I’m bored, I think I will watch a movie, or I’m hungry, order some food. Walter should work the same way—even the rule that triggers which results in the bot deciding (or not) to chat with you should be considered. It feels lonely, and wishes to chat with someone—or, it is too busy, it would be really funny if the bot told you ‘I can’t talk right now, I’ll be late for work’—because perhaps it is lonely and wishes to talk, but priority to keep its virtual job in its virtual life is more important at that time!
My bot will have several ‘modes’ of conversation. There will always be a goal. Even at the start of the conversation, the goal will be ‘greeting’ - simply exchanging the polite “Hi, how are you?” Later, in a casual conversation, if a simple comment is made like “Nice weather we’re having, isn’t it?”, then the goal will be to determine if it really is a nice day (perhaps by checking the weathernetwork.com), and if it really is sunny skies and 25 degrees, it would say “Sure is”, and if it is a hale storm, it could say “Sure, you’re a real comedian, aren’t you?” If the user is searching for information, it will ask questions to try and narrow the search - think of a interactive natural language search engine.
The point is, the chatbot will always ‘know what it is doing’ - or know what its goal is.
I think it would be a great idea of Walter had to find shelter, food, trap game for food, etc. Perhaps then you could talk to Walter about his plans and goals. This would link the environment, planning to survive in that environment, and language all into one.
I think making that connection between goals, plans for those goals, the virtual environment, and language could very well take you in the right direction.
Now I know some responses to this post are going to be something like ‘Well, what if the bot LIKES a hail storm, or what if this, what if that… ’ and on and on we go down the usual ‘rat hole’ of details.
So, my pre-emptive response is this ...
the bot should deduce a response based on all the rules and facts it knows at the time
The objective of any serious chatbot algorithm designer should be to find a way for the system, through conversation to be able to explain in natural language all those ‘but what if this, what if that’... In other words, the rules, the logic should not be fixed.
Learning knew rules, by natural language, and have it update its rule base, is the main goal I am focusing on in my bot. With my bot, all rules are simply going to be considered ‘data’, which brings me to a very interesting concept which I may open up in a new thread to get everyone’s opinion on. It’s getting a bit late, so I may do that tomorrow.
Anyway, great work so far, I enjoy keeping up to date on your progress!
|
|
|
|
|
Posted: Jun 9, 2010 |
[ # 35 ]
|
|
Senior member
Total posts: 153
Joined: Jan 4, 2010
|
For some time I’ve wanted to do something like what’s described in the book “Fluid Concepts and Creative Analogies, Computer Models of the Fundamental Mechanisms of Thought” by Douglas Hofstadter. I think this would be something like dreaming. The twist is to use concepts as the domain and slip between concepts to make unreal worlds. The part I quite haven’t figured out is the feedback to evolve towards useful results. Some researchers call this the temperature of the system. I wanted to try this against FrameNet, but I didn’t get a copy of their data. Maybe someday when I have the time I’ll use ConceptNet.
|
|
|
|
|
Posted: Jun 10, 2010 |
[ # 36 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
Vic, The point is, the chatbot will always ‘know what it is doing’ - or know what its goal is.
I agree this is important. I’m thinking a lot more about these ‘goals’. Tonight after work, I had a goal to program…however I needed to chauffeur my two kids, take care of grand kids, buy groceries, and then watch the 7th inning of a ball game.
So I think it’s necessary to have more than one goal simultaneously. Probably a few life goals, goals for the upcoming weekend, tomorrow at work, and in the next 30 minutes.
I think it would be a great idea of Walter had to find shelter, food, trap game for food, etc. Perhaps then you could talk to Walter about his plans and goals.
Before I jump onto ‘chatting’ I’ll focus on Walter making choices and interacting with the environment. In addition, I need to store experience and ‘associations’. So, if I drop a bunch of hail on Walter, and it stings his skin…then Walter will respond accordingly in the future when hail approaches…or he won’t. =)
Gary,
The twist is to use concepts as the domain and slip between concepts to make unreal worlds. The part I quite haven’t figured out is the feedback to evolve towards useful results.
I’m not sure how useful such results need to be. The most I get out of my dreams is perhaps a reminder to check the expiration date on my driver’s license. =)
‘making unreal worlds’...now that’s fascinating.
Thanks for the thoughts.
*Update*
Ran into memory resource errors in Win32 last night. I spent time reading about ‘mutex’ and how to lock variables for writing…so two or more threads don’t write to them at the same time. Made good progress. I’ve got one issue to resolve now.
Regards,
Chuck
|
|
|
|
|
Posted: Jun 11, 2010 |
[ # 37 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
*Update*
I worked on a machine electrical control system system a few years ago. The goal was to insert ‘opens’ in various parts of the circuit. With each open there would be a corresponding cascading effect for everything downstream. I was able to make this work with 3 phase 480V circuits too.
So now, I’m working on a design to tie together simulated biometrics along with physical, emotional, and psychological parameters. Need to define more states too that will tie together. Getting the cause-effect working may get a bit complicated.
I hope to have a basic model operating this weekend.
Regards,
Chuck
|
|
|
|
|
Posted: Jun 11, 2010 |
[ # 38 ]
|
|
Senior member
Total posts: 974
Joined: Oct 21, 2009
|
Wow, Chuck, you are on a role here. This is getting quite interesting, I think you’re as deep into this as I. For your approach, you should consider later using this in a real physical robotic system. I won’t be surprised if you have some robotics background?
|
|
|
|
|
Posted: Jun 11, 2010 |
[ # 39 ]
|
|
Senior member
Total posts: 971
Joined: Aug 14, 2006
|
Cool! You’re also in biometrics. What an amazing overlap.
Did you know we would be interested in setting up a dedicated forum on biometrics? (so another tab withtin ‘Forums’). Reason is that biometrics is part of the human-robot communication loop. It starts with recognition, identification of a human which will allow a robot to continue its conversation where it ended last time.
will any of your visiting the AAAI conference in Atlanta in July?
|
|
|
|
|
Posted: Jun 11, 2010 |
[ # 40 ]
|
|
Senior member
Total posts: 153
Joined: Jan 4, 2010
|
I’m not sure if this will help you create Walter, but Dr Stephen Thaler says he discovered back in 1997 a “conscious” neural network. That’s when he received a U.S. Patent for his Creativity Machine.
Thaler says he will unveil the secrets of machine-generated consciousness at the WorldFuture Society Conference next July.
I wonder if this is a clue to what you are trying to do. He could shine some light on the subject!
|
|
|
|
|
Posted: Jun 12, 2010 |
[ # 41 ]
|
|
Senior member
Total posts: 971
Joined: Aug 14, 2006
|
Why do you tell me now? I originally scheduled a trip to the US to visit the WFS, then the AAAI conference and finally the convention of the NSA (National Speakers Association). But I couldn’t make it all so I had to make choices and postponed WFS to next year. Will you be visiting the WFS conference?
|
|
|
|
|
Posted: Jun 12, 2010 |
[ # 42 ]
|
|
Senior member
Total posts: 153
Joined: Jan 4, 2010
|
Unfortunately my wife used up our travel budget to get another Alaska Klee Kai dog in Dallas, so I won’t make it to any conferences this year. We now have 8 beautiful dogs. But WFS did sound like a good event.
|
|
|
|
|
Posted: Jun 12, 2010 |
[ # 43 ]
|
|
Senior member
Total posts: 971
Joined: Aug 14, 2006
|
LOL Life is all about choices ...
|
|
|
|
|
Posted: Jun 12, 2010 |
[ # 44 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
For your approach, you should consider later using this in a real physical robotic system. I won’t be surprised if you have some robotics background?
I used to maintain and make small changes to production robotic systems. I mentored a high school robots team for four years….programming and electrical. That was lot of fun.
Cool! You’re also in biometrics. What an amazing overlap.
I’ve got my eye at present on the Loebner ‘Gold’ medal. =) I figure the chat bot needs to simulate a human in great detail so I figured biometrics needs to tie in to some degree.
One of the reasons ‘Walter’ might switch from running to the walking state is because he needs to “catch his breath”. Take away his blood pressure meds and he is sure to have problems. (sounds like my virtual clone). =)
Regarding AAAI, even though it’s only 5 hours away, the cost is a bit prohibitive. I just spent money on upgrading the exterior of my home. I wish they has ‘hobbyist’ rates…like the old days at computer and ham radio events…$5 to $10 to ‘walk in’.
Actually, I would love to go…but I have to convince my wife that its a wise investment. Years ago, I wanted to spend money on some DirectX and C++ classes. She was skeptical, so I had to win a couple of game programming contests before she became a ‘believer’. In this case, I need to bring Walter to life and get her ‘hooked’ onto the concept and merit of such software.
I’m not sure if this will help you create Walter, but Dr Stephen Thaler says he discovered back in 1997 a “conscious” neural network. That’s when he received a U.S. Patent for his Creativity Machine.
July should be interesting…it has been 13 years. I wonder what he will say?
*Update*
I spent several hours in Excel working a design concept for biometrics and the ‘need’ to change states. I mean mobility states such as walking, sitting, running, etc. Engaged my wife in a discussion…she ‘acted’ somewhat interested. That’s progress! =)
Regards,
Chuck
|
|
|
|
|
Posted: Jun 13, 2010 |
[ # 45 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
*Update*
I’ve created a class to manage a variable such as heart rate, respiration, etc. The class allows me to specify min, max, and starting values. In addition, it allows variables to change linearly in response to state changes. I have Walter’s heart rate varying according to state such as standing, running, and walking.
I’m going to tie respiration, blood pressure, and temperature to these states…hopefully tonight. I’m displaying these stats…in fact I’m tweeting Walter’s vital signs. Need to setup a randomized but periodic event to tweet.
I haven’t worked on ‘why’ Walter should stand, run, or walk. That’s the hard part.
Regards,
Chuck
|
|
|
|