| CPC G06F 16/24578 (2019.01) [G06F 16/24522 (2019.01); G06F 16/2455 (2019.01); G06N 5/04 (2013.01); G10L 15/22 (2013.01)] | 20 Claims |

|
1. A computer-implemented method comprising:
receiving a natural language query;
mapping the received natural language query to one or more providers of a plurality of providers using provider capability descriptions;
generating a plurality of candidate query plans based on the mapping;
executing a first query plan from the generated plurality of candidate query plans;
responsive to the executed first query plan returning no results, executing a next query plan from the generated plurality of candidate query plans; and
responsive to the executed first query plan returning results, combining the returned results, including:
applying hard constraints to generate filtered results; and
applying soft constraints to the filtered results to generate an answer.
|