Sep 5, 2016

The Steps to a Universal Online Tutor

As I've delved into the magical world of artificial intelligence, I've grown increasingly excited about one specific application of the technology: I believe that in the next 5-10 years we will have an AI-driven universal online tutor.

Interjection: a hypothetical example

Brad is a 16 year old born to a lower middle class family. Both of his parents have bounced from job to job, providing for their family but failing to progress along any particular career path. Brad is ambitious and is attracted to the idea of making a lot of money in his career.

Using a universal online tutor (let's call it Tutor), Brad could hop onto Facebook Messenger and find out everything he needs to know to set him on the path for success. In response to the question "How can I make a lot of money?", Tutor would walk Brad through a number of potential career paths: entrepreneurship, investment banking, management consulting (and a multitude of others). With well-timed probing questions, Tutor would help guide Brad to the path that best fits his interests: management consulting.

Of course, Tutor doesn't exist in the world today. So what would actually happen?

Brad would google "How can I make a lot of money?". Brad might come across an article like this one, laying out top paying career paths. Of course, the article is wrong: I was already at #2 on the list 3 years out of undergrad in my own management consulting job. But let's say Brad does get lucky enough to stumble across an accurate list that guides him to management consulting. He then decides he wants to learn more about the profession and ends up at the Wikipedia page.

The Wikipedia article is an okay primer, but it doesn't--for instance--point Brad to the fact that McKinsey, Bain, and BCG are the top management consultancies to shoot for. It certainly doesn't provide Brad any helpful tips on how to begin preparing for a career in management consulting as a 16 year old.

This breakdown in information transfer is a well-known problem. There are dozens, if not hundreds, of organizations set up around the country to help children like Brad get connected with successful professionals and learn more about how to be successful in life. But those models don't scale and they don't work for everyone. They require a significant amount of time and effort on the child's part and a large commitment from established professionals.

There is a large knowledge divide between the lowest income groups of our country and the highest income groups. This shouldn't come as a surprise to anyone. Indicatively, those who have attained a bachelor's degree earn--on average--over twice as much as those who have not completed high school. Educational attainment isn't necessarily the same thing as knowledge, but they are strongly correlated.

While the example above was hypothetical, it's also highly illustrative. All of us naturally gravitate toward what we know. In choosing a career, that means a tendency toward the careers of our parents, family, and our close social network. This introduces a self-reinforcing mechanism by which those born into lower economic classes are less likely to rise above those classes. The lack of a ready source of expertise in more lucrative professions is a huge stumbling block in economic upward mobility.

Aside from its potential to address the income divide, a universal online tutor has the power to make us all better people. For instance, when I became passionate about artificial intelligence about a year back, I had no ready resource to dive into the field. Sure, I had the internet at my disposal. But good luck to you on understanding the relevant Wikpedia entry. I've probably been to that page 50 times over the past year and I still don't understand half of what's on the page. It certainly doesn't hold a candle to the conceptual framework that I now use to think about the field.

Of course, rather than going online I could have found an AI expert to explain the field to me. But experts are generally busy people and I didn't happen to know any off the top of my head. I was also embarrassed: what if I asked a stupid question and they thought I was wasting their time? Even worse, what if despite all of their expertise they were just bad teachers, leaving me frustrated with the subject?

This is where Tutor would have been enormously helpful to me. As easily as Brad, I could have hopped into a chat session and been presented with an approachable framework for thinking about the AI space. I would have been engaged by interesting visuals and thought exercises that would have nourished and encouraged my excitement for the topic. It ended up working out okay without Tutor, but perhaps with such an agent I would have gotten to the same place in half the time and with twice the excitement.

Creating Tutor

I've given a lot of thought to the subject of creating such a universal online tutor. I have--in fact--already started in on its development once with a group of colleagues. My initial foray was enough for me to learn that this is fundamentally an AI-hard problem. The perfect universal online tutor requires the intelligence of a human, a milestone that the field of artificial intelligence is currently predicted to hit in the year 2040.

But just because we don't have the capability to create the perfect universal online tutor today doesn't mean we can't make a pretty good one. As I've thought through the challenges, I've identified 4 distinct AI problems that need to be addressed. I believe that each of these problems is AI-hard in their own right, but short of creating a true AGI, they each require a different approach.

Problem #1 - Navigating a Semantic Graph
Did I lose you already? Try starting with my blog post explaining what a semantic graph is.

The idea here is that a universal online tutor would need to be powered by a corpus of knowledge on the back-end. After all, what good is a tutor if it doesn't know anything? I believe that structuring that corpus as a semantic graph is a shortcut that will help in overcoming the limitations of an AI short of an AGI. Whereas an AGI could simply be powered by the entirety of Wikipedia on its back-end, a more limited AI model needs a more structured model of knowledge.

The first step for Tutor, then, is to figure out what it should be talking about. It's not achieving its job if it responds with knowledge about Chewbacca when you ask it about breeds of cats (though that could perhaps be a different, far more amusing, app). And that's AI Problem #1. When the user asks "What is the most popular breed of cat?", Tutor knows that it should be thinking about the "breed" category of the "cat" section of the semantic graph.

Problem #2 - Natural Language Understanding
I'm cheating a little bit with terminology here, as technically Problem #1 was a NLU problem as well. Consider me contrite.

It turns out that we (as humans) vastly underestimate the mental gymnastics that our brains perform in understanding language. Let's take the above example about cat breed popularity. You probably interpret that question to mean which breed of cat there are the most living members of in the world and thereby intuit some common breed like "tabby". But that answer requires several subjective interpretations of meaning. How is Tutor to know--for instance--that we don't mean popularity like we use in the high school context? If that were the case, maine coon would undoubtedly be a more appropriate response. Tutor might also believe that you are including all kinds of cats: domestic, feral, and big; in which case it's hard to imagine lion not showing up as a contender. Heck, even if you assume domestic cat, it's not even clear what actually classifies as a breed.

All of this "reasonable assumption" work is the job of NLU.

Problem #3 - Natural Language Generation
NLG is what transforms Tutor from a simple question answering engine into a real tutor. It's not enough to answer "tabby" to the cat breed popularity question. A good universal online tutor would tell you tabby, give you stats on population, probably tell you where calico and maine coon fall in relative popularity, and even perhaps offer you an adorable picture of a sleeping tabby. And it would do all of that on the fly, as pre-programming such rich responses to generic queries quickly becomes an untenable task.

NLG is one of the most neglected applications of AI in the world today. Even commercialized applications like financial and sports news article writing rely largely on templated fill-in-the-blank methodology. As such, the NLG component of the universal online tutor overall problem is one of the trickiest.

Problem #4 - Knowledge Ingestion Engine
While not strictly necessary to build Tutor for any given topic, a powerful knowledge ingestion engine is what makes it truly "universal". Sure, I could manually build out the 10,000 or so nodes required to represent the field of AI in a semantic graph in a couple of months. But I would never be able to represent all of the knowledge of Wikipedia, even with ten lifetimes of effort.

A knowledge ingestion engine would convert information into the semantic graph structure that Tutor could then navigate in a dynamic conversation. This remains a very unsolved problem despite a lot of effort across the AI community. This is the kind of thing that Google would happily pay $1B to get right, assuming it's highly automated without human intervention.

And that's it!

Simply solve these 4 AI-hard problems and you'll have yourself a universal online tutor fixing income inequality and making the world a better place.

In all seriousness, this is something that I'm very eager to see in the world. If you have any interest in the topic, please do reach out and let's talk about how to make it a reality.