Patent Document ID: 9466294
Application ID: 13899171

Base Claim:
1. A computer program product for responding to natural language input using a knowledge base including structured data, the computer program product comprising one or more non-transitory computer-readable media having computer program instructions stored therein, the computer program instructions being configured such that, when executed, the computer program instructions cause one or more computing devices to: receive a natural language question entered as input by a user; generate a plurality of queries from the natural language question, the queries including a guard query, first fallback query, and a second fallback query, the guard query being configured to determine unknown information represented by a first variable of the guard query using a first information source other than the user, the first fallback query being configured to determine the unknown information represented by the first variable using a second information source other than the user, and the second fallback query being configured to determine the unknown information represented by the first variable by generating a natural language request to the user if the guard query and the first fallback query fail; execute the guard query thereby generating a value for a second variable of the guard query; determine that the unknown information represented by the first variable cannot be retrieved from the first information source based on a failure to resolve the first variable of the guard query; substitute the value generated by execution of the guard query into the first fallback query; determine by executing the first fallback query, that the unknown information represented by the first variable cannot be retrieved from the second information source; generate, by executing the second fallback query, the natural language request for presentation to the user requesting the unknown information represented by the first variable; receive responsive information corresponding to the natural language request; determine the unknown information represented by the first variable from the responsive information; and generate a definitive answer to the natural language question.

---

Claim 2:
2. The computer program product of claim 1 , wherein the computer program instructions are further configured such that, when executed, the computer program instructions cause the one or more computing devices to determine whether the unknown information represented by the first variable can be retrieved without involving the user by referring to contextual information generated during a current interaction with the user.