|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
Hi,
This week I’ve been thinking about the ability of a chat bot to ‘plan’. I was reading some discussions in some threads here and ‘strong-AI’ was referenced…and planning was one of those characteristics.
To kick off the thought process I created several examples of everyday planning challenges: visiting family, meal preparation, small project at home, etc. With each example, I found myself reaching for a notepad to jot down some details. I made simple sketches…added time, costs, other resources, etc.
It has occurred to me in the past, and again recently, that my brain depends upon notebook paper to think out anything involving details. My brain seems to have the ability to plan using basic rules. But the real work is done as an interaction between my brain and a sheet of paper.
So now I’m thinking about how to build a free form notebook (software)....with a clean interface to a chat bot. Such a tool would allow the bot to collect, organize, and manipulate data in various ways.
Any thoughts on this concept?
Regards,
Chuck
|
|
|
|
|
Posted: Apr 1, 2011 |
[ # 1 ]
|
|
Senior member
Total posts: 336
Joined: Jan 28, 2011
|
Chuck Bolin - Apr 1, 2011: Hi,
So now I’m thinking about how to build a free form notebook (software)....with a clean interface to a chat bot. Such a tool would allow the bot to collect, organize, and manipulate data in various ways.
Any thoughts on this concept?
Maybe the chat bot does not need or want this feature, you should ask it first?
But seriously (?), I really nice interface would bridge between input-collation-digestion-potential outputs and would ideally be able to gather data from the interwebs (for definitions, clarifications, examples, comparisons, similes, opposites, etc). Would it be cool to ask about “apples”, and get a contextualized digestion of definitions, variations, color and shape (image analysis), essays, poetry, uses, etc.?!
|
|
|
|
|
Posted: Apr 1, 2011 |
[ # 2 ]
|
|
Guru
Total posts: 1297
Joined: Nov 3, 2009
|
I think giving a book to a chatbot is usually a good idea.
A notebook is a book, a guestbook is a book, and a dictionary is a book.
|
|
|
|
|
Posted: Apr 2, 2011 |
[ # 3 ]
|
|
Senior member
Total posts: 623
Joined: Aug 24, 2010
|
This comes back to what I’ve mentioned before about how people can only process/manipulate a few pieces of information at a time. So in order to organize a larger idea, we break it down into smaller ideas (time, costs, etc. as you said) and manipulate those. The notebook allows us to free up mental space for another chunk of planning. There’s no intrinsic reason (besides perhaps processing power) that a bot would need to be limited in such a way.
The thing about a virtual “notebook” that I find interesting is that it adds a spatial element to reasoning. For the bot to use the notebook space in a useful way, it would have to have a great deal of understanding of 2D space. That in itself would be very cool, and would help “ground” spatial words with a set of physical conditions, which might aid NL processing and logic.
|
|
|
|
|
Posted: Apr 2, 2011 |
[ # 4 ]
|
|
Guru
Total posts: 1297
Joined: Nov 3, 2009
|
Perfect, C R Hunt,
I was reluctant to respond, because I did not want to seem far out.
Then you went and mentioned 2D, and that is my queue. And I
realized you were talking about something, I’ve often thought about.
OK, so our 2D has the x and y axis, which is needed for a single list,
and for 3D we add the z axis which we need for multiple lists.
And even if we do no rotations around any of these three axes, they
are changed by a 4th axis, which you also mentioned, time for 4D.
Before we work out the trigonometry to all this, what is the best way
to maximize the usefulness of a 3 dimensional chatbot on a timeline?
|
|
|
|
|
Posted: Apr 2, 2011 |
[ # 5 ]
|
|
Guru
Total posts: 1081
Joined: Dec 17, 2010
|
I thought I read somewhere that humans can only compare 2 things at a time.
Maybe paper and pen help show relationships and transfer information between hemispheres of the brain.
Dominant Functions:
Left Hemisphere
- Language
- Math
- Logic
Right Hemisphere
- Spatial abilities
- Face recognition
- Visual imagery
- Music
At the most fundamental level, computers are serial also. But, as you move up the thought chain, a computer can run the same algorithm on multi-cores or co-processors, or linked systems.
The ability to plan, means the ability to prioritize goals from diverse subsystems. The equivalent “note book” for an AI might be the “black board” system.
http://en.wikipedia.org/wiki/Blackboard_system
|
|
|
|
|
Posted: Apr 4, 2011 |
[ # 6 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
Hi everyone, There’s no intrinsic reason (besides perhaps processing power) that a bot would need to be limited in such a way.
The conceptual point here is that humans are smart…but they “seem much smarter” when they are able to use relatively simple tools, e.g. paper and pen, physical manipulatives, etc. These tools are like “mental amplifiers”. So, if a chat bot had access to a ‘black boxed’ paper and pen…then the engineering specifications for a chat bot as smart as a human might be decreased. It reduces the problem to something perhaps more attainable in our lifetime.
The thing about a virtual “notebook” that I find interesting is that it adds a spatial element to reasoning. For the bot to use the notebook space in a useful way, it would have to have a great deal of understanding of 2D space.
In addition it may be used to sequence timed events, manage movement of objects in both 2D and 3D space. I like to think of various board games: Battleship, Monopoly, and Risk. These boards are different types of spatial representations that the virtual notebook might be able to process.
OK, so our 2D has the x and y axis, which is needed for a single list,
and for 3D we add the z axis which we need for multiple lists.
And even if we do no rotations around any of these three axes, they
are changed by a 4th axis, which you also mentioned, time for 4D. Before we work out the trigonometry to all this, what is the best way
to maximize the usefulness of a 3 dimensional chatbot on a timeline?
I’m not ready to work on the specifics yet…still working out conceptual details. However, if manipulating 3D space becomes important, DirectX and OpenGL provides numerous functions and techniques for manipulating a 3D world. I’ve used both in game development.
Maybe paper and pen help show relationships and transfer information between hemispheres of the brain.
That’s a very interesting point. I’m going to run with this idea…bridging the hemispheres of the brain. Perhaps that is the niche filled by ‘mental amplifiers’ such as paper and pen.
Thanks for the feedback. I’ll continue to kick this idea around.
Regards,
Chuck
|
|
|
|
|
Posted: Apr 4, 2011 |
[ # 7 ]
|
|
Senior member
Total posts: 494
Joined: Jan 27, 2011
|
Chuck Bolin - Apr 4, 2011: The conceptual point here is that humans are smart…but they “seem much smarter” when they are able to use relatively simple tools, e.g. paper and pen, physical manipulatives, etc. These tools are like “mental amplifiers”.
I think those tools are not ‘amplifiers’, they are solutions to our limitations in how much information we can remember and process.
AI does not have this limitations, unless WE build those limitations into it. I don’t see why AI, with virtually unlimited powers to store and retrieve information in it’s actual form, should be needing a ‘kludge’ like a notebook or something like that.
|
|
|
|
|
Posted: Apr 4, 2011 |
[ # 8 ]
|
|
Guru
Total posts: 1081
Joined: Dec 17, 2010
|
Chuck Bolin - Apr 4, 2011:
The conceptual point here is that humans are smart…but they “seem much smarter” when they are able to use relatively simple tools, e.g. paper and pen, physical manipulatives, etc. These tools are like “mental amplifiers”. So, if a chat bot had access to a ‘black boxed’ paper and pen…then the engineering specifications for a chat bot as smart as a human might be decreased. It reduces the problem to something perhaps more attainable in our lifetime.
I have used a similar approach in Skynet-AI. In most chat bots, all of the knowledge is embedded in the bot’s software. Some have an additional database for knowledge support. Skynet’s design is roughly as follows:
If you can calculate a response, do that.
If you can look-up an answer with an on-line service, do that.
Only store responses that fail the first 2 tests and add variation in responses.
Using a search service, or database service like dbpedia or wikipedia solves a number of problems. Most notably size of the data that the bot has to handle and the “curation” of the data. Most things that a human considers a “fact” or has a “definition” can be handled this way. The bot appears smarter without having to do all the work on its own.
Maybe paper and pen help show relationships and transfer information between hemispheres of the brain.
That’s a very interesting point. I’m going to run with this idea…bridging the hemispheres of the brain. Perhaps that is the niche filled by ‘mental amplifiers’ such as paper and pen.
Bots have the ability to use 3 kinds of accelerators:
Hardware: Multi-CPUs, Math co-processors, Graphics co-processors (see NVIDIA’s CUDA), SIMD/Custom Hardware
Software libraries: Physics libraries, 3D libraries, NLP libraries, knowledge bases
Network Services: The web, search engines, Ajax services
|
|
|
|
|
Posted: Apr 4, 2011 |
[ # 9 ]
|
|
Guru
Total posts: 1081
Joined: Dec 17, 2010
|
I think this image sums up the difference in hemispheres nicely.
http://www.wired.com/wired/images.html?issue=13.02&topic=brain&img=1
|
|
|
|
|
Posted: Apr 4, 2011 |
[ # 10 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
Hi Everyone, I think those tools are not ‘amplifiers’, they are solutions to our limitations in how much information we can remember and process.
The concept is based upon the use of ‘man ampliers’ or exoskeltons to amplify a person’s physical strength.
AI does not have this limitations, unless WE build those limitations into it. I don’t see why AI, with virtually unlimited powers to store and retrieve information in it’s actual form, should be needing a ‘kludge’ like a notebook or something like that.
Strong AI, in my simplistic understanding, is ‘equal to or more intelligent than a human’. So, to achieve ‘strong AI’, I’m simply suggesting…as a concept…that we could ‘dumb’ down human intelligence….to what it behaves like without the use of mental ampliers.
From an engineering perspective, that would make the project much more obtainable. So instead of placing man on Jupiter and returning him safely we can focus on putting a man on Mars. My only point here is we’ve had a lot of focus on programs being smarter than people (Chess, Jeopardy game show, etc.). I’m interested in a bot that is just as smart as a person…not necessarily smarter.
I have used a similar approach in Skynet-AI. In most chat bots, all of the knowledge is embedded in the bot’s software. Some have an additional database for knowledge support. Skynet’s design is roughly as follows:
If you can calculate a response, do that.
If you can look-up an answer with an on-line service, do that.
Only store responses that fail the first 2 tests and add variation in responses.
Using a search service, or database service like dbpedia or wikipedia solves a number of problems. Most notably size of the data that the bot has to handle and the “curation” of the data. Most things that a human considers a “fact” or has a “definition” can be handled this way. The bot appears smarter without having to do all the work on its own.
I hadn’t thought of only saving variations in responses. I’m a bit slow most of the time. I do like the aspect of connecting to an outside online service to fetch more information.
I’m curious, if you could not access external info…and you were not inclined to build large databases, what direction would you pursue to make your bot more intelligent?
Well, I’m anxious to start coding again but I’ve resisted in order to allow lots of ideas to stew. I’m interested in building a test module that emulates some spatial capabilities of people…using simple sentences as an input. The goal is to store the data in a meaningful way so the bot could provide spatially-based responses. I hope to articulate the testing input, output, and methodology after some more thought.
My lunch break is over.
Regards,
Chuck
|
|
|
|
|
Posted: Apr 5, 2011 |
[ # 11 ]
|
|
Senior member
Total posts: 623
Joined: Aug 24, 2010
|
Chuck Bolin - Apr 4, 2011: Well, I’m anxious to start coding again but I’ve resisted in order to allow lots of ideas to stew. I’m interested in building a test module that emulates some spatial capabilities of people…using simple sentences as an input. The goal is to store the data in a meaningful way so the bot could provide spatially-based responses. I hope to articulate the testing input, output, and methodology after some more thought.
Sounds like an interesting project! Definitely keep us posted.
|
|
|
|
|
Posted: Apr 5, 2011 |
[ # 12 ]
|
|
Guru
Total posts: 1081
Joined: Dec 17, 2010
|
Chuck Bolin - Apr 4, 2011:
I hadn’t thought of only saving variations in responses. I’m a bit slow most of the time. I do like the aspect of connecting to an outside online service to fetch more information.
Variation is part of what we are. Humans rarely say something in the same manner, even if they are talking about the same thing. In an on-line environment, my experience is that if the bot repeats the same phrase with-in 10-12 volleys, there is a much higher chance that the chat partner will sign-off. Chuck Bolin - Apr 4, 2011:
I’m curious, if you could not access external info…and you were not inclined to build large databases, what direction would you pursue to make your bot more intelligent?
Part of the “illusion of intelligence” has to do with variation. If every time you give a bot a series of inputs, it gives the identical output, it feels like a robot.
For Skynet-AI, for every new neuron (an input and output focused on a specific concept) I try to create at least 4 variations for the output. It makes it almost impossible to have an identical conversation even if you give it the same input.
If a bot can respond with a “yes” to a question, the response may be correct but it does nothing to further the dialog. It is also boring and devoid of personality.
YES =yes|you bet|sure|I think so . . .
Before I added the ability to access an on-line service I used variation. This led me to the concept of using “generators”. Skynet has a “small talk” generator that allows it to create a response on the fly that would further the conversation or try to return the conversation to a topic the bot is able to address. If you ask “What are you?” it will write a press release on the fly for you.
|
|
|
|
|
Posted: Apr 5, 2011 |
[ # 13 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
Merlin,
Can you elaborate more on the small talk generator? I’m interested in how you return a conversation back to another topic.
When you return 1 of 4 possible responses, is it randomly produced? Or is it weighted somehow?
CR,
I certainly will.
Regards,
Chuck
|
|
|
|
|
Posted: Apr 5, 2011 |
[ # 14 ]
|
|
Guru
Total posts: 1081
Joined: Dec 17, 2010
|
It is weighted. This is part of the work I did to create JAIL (JavaScript Artificial Intelligence Language)
Lets say your bot can ask questions about the user and also talk about robots. If you wanted it to talk about robots more, then the Top Level might look like:
[DOU|CANU|ROBOT|ROBOT|ROBOT]
or
[[DOU|CANU]|ROBOT|ROBOT|ROBOT]
You don’t need to explicitly give it a numeric weighting. The way you design the response automatically gives it the weighting.
|
|
|
|
|
Posted: Apr 9, 2011 |
[ # 15 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
Merlin,
I see! I think weighting is important. I remember when I was younger, I would respond “Excellent!” to most things that someone said…this was a fad saying for some time. After a while I would pick another short response.
How might your bot change it’s own response weighting over time?
Regards,
Chuck
|
|
|
|