The Computer-Language Interface

Leonard Baumgardt
The Startup

--

These posts are largely unedited “brain dumps” which I dicated into my phone. I am publishing them for those who might find them useful.

Let’s talk about natural language processing. After all, defining the question is 80 % of the answer.

Text as a fluid representation of data

First of all, text should be fluid. Text should be a fluid representation of data.

So I would like to have a corpus of data. Data about the world. About observations. And the computer should be able to translate that into human language on the fly.

The computer should be able to give me a high-level summary of the available data. And it should allow me to probe, by asking questions, into deeper and deeper layers of their knowledge.

Language as a function of the human brain’s limitations

Whenever the computer is talking to me, the computer should have in mind the limitations of the human mind. This means, sentences should be simple enough that humans can understand them. It would also mean that the amount of data that is given as answer to any question is compressed into a summary that is short enough for a human to digest.

An object oriented map of knowledge

The way this computer would think is in terms of objects.

Just like in object oriented programming, we would have a number of objects, all of them with different properties.

As soon as an object gets too complicated, it gets split up into several parts.

Splitting up objects into parts simple enough to handle

I believe this is how the human mind actually created language:

The human mind starts out in life by slowly differentiating. At first, there is just the “I”. What the new-age-people call “I-am-ness”, or “oneness”. Then, a differentiation takes place. At some point, the child learns to distinguish himself from the world. Learns to distinguish his hands from his feet. His mother from his father, and so on.

I believe we could replicate that in a computer by imposing upon the computer the same limitations that the human mind has.

It has been said that a human can only keep around seven properties in mind at the same time. So we could say that, and object, as soon as it has more than seven attributes, has to be split up into two different objects.

I believe this is something that we are observing in human language is as well:

They say that some Eskimo tribes have large number of words for the concept of snow. This is because they have so many conflicting observations about this particular phenomenon that a single word is no longer enough. In other cultures, where snow isn’t such a common observation, or doesn’t play as large a role in life, such a distinction does not take place, and hence we just have one word for it.

Another example: In capitalist cultures, we have the same phenomenon with soda. At some point, people had a choice between soda that tasted like Coke and soda and that tasted like lemon, for instance. Hence the concept was broken up into lemonade, Coke, Ginger Ale, and so on.

Computers can invent new words for us

Based on such rules, which, by the way, the computer would be able to learn by observing human language, the computer would also be able to actually invent new terms. This is something we humans do all the time. That’s why language is alive. As soon as there is more focus on a particular aspect of life, new terms and words arise.

And we will know that natural language processing is working when the computer is able to invent new terms on its own as observations progress. And these should be terms that humans will intuitively understand, and which will intuitively makes sense to humans.

Understanding what is being talked about based on context

Once a computer has this ability, it would also mean that the computer can observe human language and understand the objects that are being talked about in there.

In fact, you would be able to cross out all but a few nouns in a piece of text, and a computer would be able to infer what the text is about.

This is something we humans can do easily. If you give us a piece of text with a few nouns blanked out, we will be able to infer, based on the context, what the text is about.

The computer will be able to do that, too. Because it will have built an internal map of objects that are object of human observation. It will also know the relationships between these objects, and it will know the properties of these objects.

This will be similar like the self driving computer of Tesla is able to recognize that this object is a dog, the dogs tend to walk on the earth, that they are able to walk, and lie, and jump, but not to fly. In the same way, the natural language processing computer would be able to understand what the different objects are capable of and how it is possible to talk about each of them. And this will allow the computer to “guess” which object it is that humans talking about.

(I put “guess” in quotation marks, because the computer’s ability to map a speech object to an object in its internal knowledge map would be shockingly accurate. The search space the computer traverses within a second when trying to match the object will be massively larger than what a human would be able to do in months of work. It would be a lot more like solving a complicated equation than “guessing”.)

Synonyms and pronouns, resolved

This, at the same time, will solve the problem of synonyms and pronouns:

Because the computer will understand what the other person is talking about.

And so it will be able to generate learning data for itself in the sense of…

“The object of this piece of language is X, and the term that this piece of language is using for X is Y.”

Adding observations to the knowledge landscape

The result will be that we have a system that we can constantly feed with new information, simply by allowing it to parese new pieces of human language.

The computer will extract from these pieces of human language the data structure, that is, the objects and the properties and relationships. And it will be able to integrate this into its database. Into its corpus of knowledge.

Of course, all the input to the system is tracked. So you will always be able to pin down the source of any piece of information, as well as the source of any confidence the system has in any particular claim.

And with each such addition of information, the knowledge landscape, internalized by the computer, will change:

  • Either the computer learns something completely new.
  • Or it learns a new differentiation.
  • Or it gains confidence in a fact already known.
  • Or it calls into question a fact already known.

“Ask the world”

At any time, the computer can be asked questions by the human.

And the answers will always reflect the current state of the knowledge.

So we would have a Wikipedia that doesn’t need editing for humans. With current systems of information storage, we use human language. And the problem here is that you can change a fact on a lower level of the knowledge tree, and those portions of the text to talk about the higher levels of the knowledge tree, the conclusions, will remain unaltered.

This means that, in human language, there are constantly contradictions arising.

A simple example would be a novel author who, after completing his work, changes, on the first page of the novel, the name of the main character. When he does that, the name does not automatically change in all the subsequent pages.

While this seems a simple search and replace problem, it actually goes much deeper. Because, there might be a scene in that story where it matters that the name of the character starts with the letter B, or that it rhymes with a particular word, or that it’s an unusual name, and so on.

If a natural language processing computer would be the creator of this novel, all of these instances would change as soon as you changed the name of the character. The change would instantly be reflected everywhere in the entire work.

The same would be true with Wikipedia:

As soon as a new piece of knowledge is introduced the contradicts what was said earlier, perhaps even on entries about completely different topics, this new page piece of knowledge would instantly be integrated into the whole system, and the change would be instantly reflected in all of the text output.

A two way translator between human speech and an ever-changing model of reality

Basically, what we are building is a translator between human language and a computer model of reality, based on human observations.

What we would be observing with such a system also is that the computer would be able, based on the huge amount of human observations that it digest, to come up with a gnu distinctions that we humans haven’t yet seen.

For instance, in the case of Covid, humans have had trouble understanding how the virus is being transmitted. There was a lot of conflicting observations. And humans, from some observations, concluded that the virus must be transmitted through touch. Then, from historic precedent, humans were reluctant to conclude that the virus transmits through aerosols. And so it became very difficult for humans to get a mental picture of the mechanics of transmission, and us to understand what actions to take.

And, of course, the ability of humans to draw such conclusions are severely limited. No human is able to completely listen to the stories of each infected individual. These people would have been telling long stories, and most of what they told about would’ve been irrelevant. So human would not have had the patience to listen to all of these stories. And even if he had, he would have gotten so confused with all this data, that he wouldn’t have been able to draw any conclusions at all.

The only way to draw conclusions for human is to drastically simplify the input data. Which is: To ignore large parts of data based on some kind of simple mental model. This already severely restricts the ability of humans to draw accurate conclusions and build an accurate model of reality.

The computer would have no such restrictions. It would be able to listen to every single report that is out there. It would spot patterns that the reports have in common. It would also be able to identify outliers (and liars). And it would come up with a model of the virus that is in line with all of the observations.

From that model, the computer would also be able to give us a ranked list of actions that we should take.

All of this would be happening not in the course of weeks or months of research. It would not require hundreds of people discussing and exchanging information through the low-bandwidth channel of speech (or, god forbid, a Slack chat), or grouping up into warring tribes and belief systems.

Instead, it would happen instantaneously. Like a reflection of reality. Like a lens through which we can see that which was invisible to us before.

It would be like a telescope.

--

--