US 11,790,006 B2
Natural language question answering systems
Amit Prakash, Saratoga, CA (US); Ravi Tandon, San Jose, CA (US); Manikanta Balakavi, Mountain View, CA (US); Pavan Ram Piratla, Campbell, CA (US); Ashish Shubham, Mountain View, CA (US); Alonzo Canada, Menlo Park, CA (US); Rakesh Kothari, San Jose, CA (US); Maneesh Apte, Redwood City, CA (US); Amitabh Singhal, Palo Alto, CA (US); Aditya Viswanathan, Redwood City, CA (US); and Ajeet Singh, Saratoga, CA (US)
Assigned to ThoughtSpot, Inc., Mountain View, CA (US)
Filed by ThoughtSpot, Inc., San Jose, CA (US)
Filed on Oct. 21, 2021, as Appl. No. 17/506,819.
Application 17/506,819 is a continuation of application No. 16/262,796, filed on Jan. 30, 2019, granted, now 11,157,564.
Claims priority of provisional application 62/760,563, filed on Nov. 13, 2018.
Claims priority of provisional application 62/637,823, filed on Mar. 2, 2018.
Prior Publication US 2022/0067104 A1, Mar. 3, 2022
Int. Cl. G06F 17/30 (2006.01); G06F 16/903 (2019.01); G06N 5/04 (2023.01); G06F 16/2453 (2019.01); G06F 16/242 (2019.01); G06N 7/01 (2023.01)
CPC G06F 16/90335 (2019.01) [G06F 16/243 (2019.01); G06F 16/24534 (2019.01); G06N 5/04 (2013.01); G06N 7/01 (2023.01)] 19 Claims
OG exemplary drawing
 
1. A method comprising:
receiving string data entered via a user interface;
determining a sequence of tokens representative of the string data, wherein determining the sequence of tokens includes applying natural language processing to the string data;
receiving, via the user interface, an indication that the string data matches the sequence of tokens;
responsive to the indication, determining a pattern based on the string data and the sequence of tokens, wherein the pattern includes a collection of token constraints, a rewrite rule that maps one or more input tokens to a sequence of output tokens, and a ranking score adjustment that can be applied to a ranking score for a candidate database query;
storing the pattern;
generating a first database query in accordance with the sequence of tokens;
presenting, via the user interface, respective text representations for tokens in the sequence of tokens;
receiving feedback data related to the sequence of tokens via the user interface;
modifying a token of the sequence of tokens based on the feedback data to obtain a modified sequence of tokens;
generating a second database query based on the modified sequence of tokens;
obtaining results data from a database responsive to execution of the second database query by the database; and
outputting data based on the results data for presentation in the user interface.