Wykki uses data from Freebase to answer natural language questions, and learns how to answer new question types over time. In other words, Wykki answers and learns; I’ll talk about each of those separately below.

Answering Your Questions

In short, Wykki is designed to answer questions that ask about a specific Property of a certain Subject. That means it can answer questions like these:

When Wykki is asked a question, it separates the subject (“Empire State Building”) from the actual question (“What is the Structural Height of …”). Wykki knows what Freebase properties that question refers to (“Structural Height”), and then searches Freebase to return the right answer to the user.

Of course, the above questions all sound very robotic. Wykki is also robustly able to answer the same questions phrased in much more natural ways:

Note that those questions had neither proper names for the subjects nor for the properties, but that Wykki was still able to answer them. How does this work? That’s where Wykki’s learning comes in.

Learning to Understand Questions

What makes Wykki tick is learning from user input. If Wykki comes across a question it’s never seen before, it asks the user to guide it towards the right answer, and it’ll always keep confirming the accuracy of the questions it already knows.

Learning New Questions

First, Wykki asks the user to specify the subject of the new question, so it can separate what part of the input is what.

Second, Wykki lists all of Freebase’s properties for that subject. The user is asked to select the property that relates to the question he or she asked.

Third and finally, Wykki answers the question–and that’s the last thing the user sees.

In the background, however, Wykki has now learned to associate the question the user asked with the property the user specified. From the screenshots above, that means that, if another user asks “How many episodes of [TV Show] are there?” Wykki will be able to answer:

This separation of questions and subjects is therefore very powerful, because it allows Wykki to learn how to answer a new type of question about every single subject that question is relevant to all at once.

Reinforcing Old Questions

Because the relationships between questions and the properties they relate to are user-generated, there are bound to be some errors. That’s why Wykki also has a scoring system that determines the “relatedness” between a question and a property.

When a user asks a question, sometimes the scoring system jumps in and asks if the answer Wykki provided was relevant to the question the user asked. The user can then simply click “yes” or “no,” and the scoring system will either increase or decrease that question/ property combo’s relatedness score.

The more confident Wykki is in the relevance of an answer, the less the scoring system shows up; the less confident Wykki is, the more it shows up.

If the relatedness score drops below a certain threshold, the question and property are unlinked.

Other Notes

Here are some other things that Wykki does: