The need for language

Developing a data structure for an AI's knowledge about the world is the first step, but until it is connected to the real world via a "language in" layer, it can't do very much. People need to be able to interact with it.

The basic setup that is required is to have a language layer that parses simple English statements and then updates the AI's data structure to reflect what was said. What makes this interesting is that, inevitably, the data structure is also involved in the process of language parsing.

A more advanced language layer also allows simple questions to be asked, completing the loop, so that a human participant can make a statement and then ask a question to test whether the AI understood the statement.

For example:

Statement: "My name is Daniel"
Data structure representation: speaker.first_name = "Daniel"

Question: "What is my name?"
Answer: "Daniel"