3-STAGE CONVERSATIONAL ARGUMENT PROCESSING METHOD FOR SEARCH QUERIES
A conversational virtual assistant searches databases using as search result filters current arguments from a user's natural language expression together with conversational arguments stored in an historical conversation state. If a search finds no results, a second search may disregard some or all arguments in order to provide a response that includes some search results. The second search can disregard all conversational arguments or just some, the choice being based on one or more criteria such as: the presence of a conversational phrasing clue; conversational arguments being projectable onto current arguments; the relative importance of argument; the age of arguments; and a specific limit to the number of arguments. Conversational virtual assistants can respond to spoken utterances and to natural language expressions and can ask users for request disambiguation.
1 . A conversational search method comprising:
maintaining a conversation state including zero or more conversational arguments;
receiving a search request including zero or more current arguments;
responsive to the search request having a current argument and the conversation state including a conversational argument, performing a first search to seek results, using the current argument and the conversational argument to filter search results; and
responsive to the first search finding no results, automatically performing a second search to seek results, using the current argument without the conversational argument as search filters.
2 . The method of claim 1 , further comprising:
responsive to the second search finding no results, performing a third search to seek results, without using any arguments to filter search results.
3 . The method of claim 1 , further comprising:
responsive to the second search finding no results, asking a user to disambiguate the search.
4 . The method of claim 1 wherein:
the conversation state comprises a history of arguments of multiple previous search requests; and
the conversational argument was used to filter search results less recently than the immediately previous search.
5 . The method of claim 1 , wherein performing the first search is further responsive to detecting a conversational phrasing clue in the received search request.
6 . The method of claim 1 , wherein the conversational argument is one of multiple conversational arguments stored in the conversation state.
7 . The method of claim 1 , further comprising:
determining which of multiple conversational arguments to use; and
responsive to a second conversational argument being not projectable, performing the search without the second conversational argument.
8 . The method of claim 7 , wherein the second conversational argument is not projectable because it is mutually exclusive with the current argument.
9 . The method of claim 1 , wherein the search request is by spoken speech.
10 . The method of claim 1 , further comprising:
parsing the search request, using a natural language interpreter, to extract the current argument.
11 . A conversational search method comprising:
maintaining a conversation state enabled to hold at least two conversational arguments;
receiving a search request enabled to include at least one current argument;
responsive to the search request having a current argument and the conversation state holding a first conversational argument and a second conversational argument, performing a first search using the current argument, the first conversational argument, and the second conversational argument, to seek results; and
responsive to the first search finding no results, performing a second search to seek results, using the current argument and the first conversational argument, but not the second conversational argument.
12 . The method of claim 11 , wherein the first conversational argument has a higher importance than the second conversational argument.
13 . The method of claim 11 , wherein the second conversational argument is from a previous request than the first conversational argument.
14 . The method of claim 11 , wherein a value of the second conversational argument is time-dependent and past its expiration period.
15 . A conversational search method comprising:
maintaining a conversation state enabled to hold at multiplicity of conversational arguments;
receiving a search request enabled to include at least one current argument; and
responsive to the conversation state holding more than a maximum number of conversational arguments, performing a first search to seek results, using the current argument and a first subset of conversational arguments, the number of conversational arguments in the subset being equal to the maximum number.
16 . The method of claim 15 , wherein the maximum number is 1.
17 . The method of claim 15 , wherein the maximum number is 2.
18 . The method of claim 15 , further comprising:
responsive to the first search finding no results, performing a second search to seek results, using a different second subset of conversational arguments, the number of conversational arguments being equal to the maximum number, and the current argument.
19 . A non-transitory computer-readable medium storing code that, if executed by one or more processors would cause the one or more processors to:
maintain a conversation state including zero or more conversational arguments;
receive a search request including zero or more current arguments;
responsive to the search request having a current argument and the conversation state holding a conversational argument, perform a first search to seek results, using the current argument and the conversational argument; and
responsive to the first search finding no results, perform a second search to seek results, using the current argument without the conversational argument.
20 . A conversational search method comprising:
receiving a search request that includes at least one argument value;
determining at least one current argument for each of the at least one argument values included in the search request;
performing a first search using a current argument of the at least one current arguments, a first conversational argument, and a second conversational argument to seek results, wherein the first conversation argument and the second conversation argument are retrieved from conversation state; and
responsive to the first search finding no results, performing a second search to seek results, using the current argument and the first conversational argument, but not the second conversational argument.