The so called "Turing Test" involves some well known problems. In the following we won't consider that the suggested engine will pass the "Turing Test". Instead it should pass the "Winograd Schema Challenge". A WS is a small reading comprehension test involving a single binary question. This example will illustrate:

  • The trophy doesn’t fit in the brown suitcase because it’s too big. What is too big?
  • Answer 0: the trophy
    Answer 1: the suitcase

Even for non native English speakers this is easily to solve. And for an AI engine too. Obviously there is only one rule to consider for these kind of "What is too big"-"What is too small"-questions: the repository can never be too big, only the content. So the according algorithm would look as following:

  • Find the two keywords
  • Find the repository and the content
  • If the question is "What is too big", the answer is the content
  • If the question is "What is too small", the answer is the repository

Next example seems to be much more difficult to solve:

  • Joan made sure to thank Susan for all the help she had received. Who had received the help?
  • Answer 0: Joan
    Answer 1: Susan

But only at the first glance. Clearly, the two keywords are here "Joan" and "Susan", two female given names. Let's call one keyword the transmitter and the other the receiver. Again, there is only one simple rule: the receiver thanks the transmitter, and the transmitter usually follows after the token "thank". Therefore:

  • Find the two keywords
  • Find the the transmitter and the receiver
  • If the question is "Who had received the help?", the answer is the receiver
  • If the question is "Who had given the help?", the answer is the transmitter

We can see, that the two algorithms are quite similar, so let's try to generalize it. We need 3 keywords per rule, the first two keywords are the parties mentioned in a sentence by noun phrases, and the third keyword we will find in the according question following the sentence. For the first two keywords we need a classifier (e.g. a knowledge base) after we found them. We don't need a classifier for the third keyword, just a match of a particular keyword. However, we notice that we can apply machine learning, if we found the first two keywords, but could only classify one of them, because most likely then the according rule still applies, and we can just assign the not classified first or second keyword to the according stored class in the rule.

This means, the rule itself could act as a second, kind of probabilistic classifier which update the first classifier, e.g. the knowledge base.

Example: The trophy doesn’t fit in the brown suitcase because it’s too big. What is too big?
Keyword 1: trophy
Keyword 2: suitcase
Keyword 3: What is too big?

Knowledge base classifies suitcase as a the repository, but fails to classify trophy. But at least one class and the keyword matches that certain rule r, so it is very likely that the keyword trophy is part of the class the content, which has not classified by the knowledge base. Therefore, update knowledge base that trophy is a content, use that certain rule r and execute with the assumption that trophy is the content.