Language Based Learning

Abstract

The obvious limitation with ML is that it can allow us to classify, in many cases better than humans, but it limited to data. On other hand perform certain actions (such as playing any game) better than humans as it has experience playing a game over millions of iterations, yet still does not have abstract knowledge of the virtual world, when and why it’s performing these actions (lacks reasoning)

We, humans, perform almost every task for a reason, whether its reading books to gain knowledge or play games to have fun there is a reason behind it, there is always a reason (why)  in the actions we take, this added on top of factual information of the activity we do such as  what, when, where, how and why can almost describe any statement.

LBL(Language-Based Learning)  aims to classify these key aspects, given any sentence which will allow it to generate a more abstract knowledge to later perform ML/RL on.

If a system can take into account these factors and truly understand the reasoning behind every statement or image could help get us to get closer to a general type of intelligence.

Condense and Store:

The first step is to store data in a structured format, which in future will be used for unsupervised learning, this is the most complex step as all sentences are structured differently, yet LBL engine is able to find common relationship using grammar and punctuation to condense and store the words for future learning. This approach also does not disregard less important words as each word in a sentence helps in better storage and classification. Think of NLTK Parse Tree but the usage and breakdown of the sentence are very different and revolves around the key verb phrase.

Example:

 

Conversation  

Even the most advanced chatbots don’t go beyond facts while having conversations, this approach stores the current state of the subject due to its understanding capabilities in storage for future actions/conversations. Storage of information in two states, general knowledge state, and factual information state.

Simple Example:

Ron eats an apple. ( Factual data )

Ron is human ( Factual data )

Human eats an apple. ( General Knowledge )

Noun eats(verb) Noun ( base General knowledge )

As the information it reads, grows, it makes more abstract general assumptions on words for future prediction and answering.

Learn from rules just like humans/ self-code

Just like a child learns the dos and don’ts for common actions from an early age, we can now instruct the system to understand rules in the same way, on top of the dos and don’ts we also understand the reason behind not doing certain actions because they are bad and doing certain actions because they are good/result positively.

This can be extracted just from a simple text that goes in its base form into general knowledge database for any similar task or series of tasks to solve even a complex problem that would involve series of action for a positive result.

Dynamically perform new tasks from past rules

As a child we are given the rules to follow, to stop at red light, to move on green we don’t have to perform experiments to follow these rules, we are given the formulas to solve basic math ( speed = distance/time), at a certain age when we have all the basic rules and abstract understanding of words and objects we start to explore and experiment new ways from past knowledge, we can use the same approach in this case.

We can teach the system to self-code as every single action is broken into smaller actions.

Example:

Let’s say it reads the rules to solve speed = distance/time.

Or we could explain when you want to find the speed of moving object, you take the distance and divide it by time.

(When) If

( find the speed of moving object ) ( Speed )

( distance (by = / ) ( time xx) ) = ( Speed ) 

Watch the video below for a live demo of this.



Advantages

With an abstract knowledge of the world and reasoning on why it’s doing certain tasks, the system can run ML to solve things much better than us.

Upon successfully splitting the condensed version of activity performed in a sentence and storing the resulting effect of the activity,  we can perform reinforcement learning to pick the best action to take.

We can also debug the understanding/chain of decisions the system makes with the LBL approach. Its highly scalable and fast as a single base rule can alter the entire decision-making process of across a variety of related tasks.

The more we design the system to learn and understand the way we do, the closer we can move towards a general type of intelligence.

 

Jai Rangwani

jairangwani@gmail.com