Last week I was invited to Webcongress Colombia to talk about the future of Data and how Data can transform the world. It was more than 1,300 professionals expecting to talk about the latest advances in technology. Most of the people I was talking with was really optimistic about what a computer can, or can’t do. My normal answer is “Computers are stupid and bureaucratic at creating but great repeating things, while humans are fabulous creating but very clumsy at repeating things”.
As I wrote in my book Meta Analytics, repetitive activities become transparencies for humans, so at some point we can’t identify mistakes that are not far ahead from our nose. Like when we do those excel reports that in the second month has one thousand errors and no matter how long we review it, when we present it everybody identify more and more errors.
Since I was a kid I was in love with the idea of creating a machine that can do things that humans does. At that point I thought it was possible, complex but possible.
The more I was getting into math, analytics, physics, logic, philosophy, statistics and machine learning (all topics that I’m very passionated about) I started realizing that the “thing” could be a little bit harder than it appeared. Then I started working in projects that required the development of some AI algorithms and all the fears became true. My first reaction was, let’s ask some friends that are more into it and have years of practical experience. Their answer was clear “that’s impossible”.
At the end of 1960, Terry Winograd developed SHRDLU (not a great name I know, looks like the FLDSMDFR from Cloudy with a chance of meatballs), a AI algorithm that was supposed to be a point of inflection in AI.
Well, a small world of geometric forms (small block world) was displayed to SHRDLU (A three-dimensional environment in which there were cubes, pyramids, spheres, etc), on which instructions could be given, such as “Take the cone and put it between the cube and the pyramid”. SHRDLU did the proposed action and asked if the action was properly done. Then it was also possible to ask SHRDLU about the history of its actions and the justification of its behavior.
Here’s a “conversation” between SHRDLU and its programer.
Can a pyramid hold another pyramid? I do not know.
Stack two pyramids. (SHRDLU tries and fails). I can not.
The blue pyramid is mine. I get it.
I own the blocks that are not red but I do not own anything that supports a pyramid. I get it.
Do I have the box? No.
Do I have something inside the box? Yes, two things: the blue block and the blue pyramid.
Is there anything greater than any pyramid that is not as wide as the thing that holds it? Yes, the blue block.
Does something green hold the shortest thing holding the support of the highest pyramid Yes, the green pyramid.
What color is it? I suppose you mean the shortest thing holding the highest pyramid holder. Red.
A tower. I’m sorry, I do not know the word tower.
A “tower” is a stack containing two green cubes and a pyramid. I get it.
Is there a tower now? No.
Can you stack the two red blocks and a green cube or a pyramid, please? Yes I can (SHRDLU does what ordered). […]
Have you touched a pyramid before putting one on the green block? Yes, the green one.
When did you get her? When I was stacking a red cube, a big green cube and a big red block.
Why? To remove it.
Why did you do that? To clear the red cube. […]
Why did you do that? Because you asked me to.
At that time, the conversation was shocking for most people. This is one of the first times that a man communicates with a machine through natural language in a totally coherent way. Winograd thought that the only difficulty for his program to fully manage the totality of natural language was to progressively enlarge its world. His idea was just adding objects and properties to the, initially small universe, so that, little by little, SHRDLU could get to talk about anything. Ingenious error. He was face to face with the biggest problem in AI which has not yet been overcome: the problem of common sense.
“Common sense is the less common of all senses”
Lets see why in an example made by Douglas Lenat, president at Cycorp. Suppose we took a very advanced version of SHRDLU to dinner at a restaurant with a friend named Fred. This new version has a powerful dictionary with all the definitions of the Spanish language and a grammar to understand and build any type of sentence.
When we are there, referring to another day that I came with Fred to the same restaurant, I tell SHRDLU:
“Fred told the waiter he wanted english style fries”
It seems a trivial phrase that we all understand without the slightest problem. But, if we analyze it deeply, we see that it is necessary to know many things to understand it. The word “he” refers to Fred, not the waiter. That was in a restaurant. Fred was a customer who was dining there. Fred and the waiter were about a meter away. The waiter worked there and was now tending Fred. Fred wants thinly sliced potatoes, not strips. Fred does not want certain potatoes, but only a certain type of potatoes. Fred indicates this through the spoken words he addresses to the waiter. Both Fred and the waiter are human beings. Both speak the same language. Both are old enough to express themselves, and the waiter is old enough to work. Fred is hungry. He wants and hopes that in a few minutes the waiter will bring him a normal portion, that Fred will start eating as soon as they serve him. We can also assume that Fred supposes that the waiter also supposes all those things. If SHRDLU does not know this information, it will be impossible for it to understand the phrase. Only knowing the meanings of words and grammar is not enough. And the language that humans use conventionally is plagued with extra-linguistic elements (gestures, intonations, prior knowledge of intentions …) as well as other clearly contextual.
It is paradoxical that computers are capable of solving complex mathematical theorems or they beat us at chess but they are not able to understand a very simple phrase.
The key is understanding that self consciousness, which is a qualitative and not just quantitative gap between repeating things and understanding things. In my opinion I’m not sure if we are going to be able to emulate human intelligence. By now what I can say is that in my own opinion, we can only emulate human intelligence in those cases were the variables can take a finite or limited quantity of values but not in those cases were the variables can take infinite quantity of variables.
So, let’s leave computers repeat things so we can focus on the creative / strategic activities. The good news is that even for repeating and bureaucratic things AI can be of a great help to all of us. Just processing data for simplifying decision making in a world were professionals are drowning in data is good enough to continue working on it.