IP Library Granted Patent US 12,189,691
Granted Patent B2
US 12,189,691 · App. 18/459,887 · Granted Jan 7, 2025

Natural language question answering systems

Inventors: Amit Prakash (Saratoga, CA); Ravi Tandon (San Jose, CA); Manikanta Venkata Rahul Balakavi (Mountain View, CA); Pavan Ram Piratla (Campbell, CA); Ashish Shubham (Mountain View, CA); Alonzo Canada (Menlo Park, CA); Rakesh Kothari (San Jose, CA); Maneesh Apte (Redwood City, CA); Amitabh Singhal (Palo Alto, CA); Aditya Viswanathan (Redwood City, CA); Ajeet Singh (Saratoga, CA)
Assignee: ThoughtSpot, Inc.
G06F16/90335G06F16/243G06F16/24534G06N5/04G06N7/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,189,691
App. No.
18/459,887
Granted
Jan 7, 2025
Kind
B2
Abstract

A current set of context features for a database query that is associated with a string is identified. The database query includes a sequence of tokens of a database syntax, and the current set of context features includes words from the string and tokens from the database query. An inference record is selected from an inference store based on a comparison of the current set of context features to context features of inference records in the inference store. The database query is modified using a resolution of the inference record to obtain an inferred database query. The resolution includes one or more tokens of the database syntax. A search of a database is invoked using a query based on the inferred database query to obtain search results.

Claims (52)

1. A method, comprising:

identifying a current set of context features for a database query that is associated with a string, wherein the database query includes a sequence of tokens of a database syntax, and the current set of context features includes words from the string and tokens from the database query;

selecting an inference record from an inference store based on a comparison of the current set of context features to context features of inference records in the inference store,

wherein the inference record includes a set of context features, a corresponding resolution, and an inference type selected from a set comprising superlative disambiguation and date disambiguation, and

wherein the inference record is learned based on user selections and feedback during query formulations;

modifying the database query using a resolution of the inference record to obtain an inferred database query, wherein the resolution includes one or more tokens of the database syntax; and

invoking a search of a database using a query based on the inferred database query to obtain search results.

2. The method of claim 1 , wherein the inference record comprises a confidence score and the inference record is selected based on the confidence score.

3. The method of claim 1 , wherein the current set of context features comprises part-of-speech tags for words of the string.

4. The method of claim 3 , further comprising:

comparing the part-of-speech tags of the current set of context features to part-of-speech tags of inference records in the inference store.

5. The method of claim 4 , wherein the inference record is selected based on a match of part-of-speech tags of the inference record to the part-of-speech tags of the current set of context features.

6. The method of claim 1 , further comprising:

receiving, via a user interface, an indication that the string matches a candidate database query;

responsive to the indication, determining a pattern based on the string and the candidate database query, 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 the candidate database query; and

storing the pattern.

7. The method of claim 6 , wherein the indication is based on a user interaction with a like icon in the user interface while the user interface includes representations of the string and the candidate database query.

8. A system, comprising:

a memory; and

a processor, the processor configured to execute instructions stored in the memory to:

identify a current set of context features for a database query that is associated with a string, wherein the database query includes a sequence of tokens of a database syntax, and the current set of context features includes words from the string and tokens from the database query;

select an inference record from an inference store based on a comparison of the current set of context features to context features of inference records in the inference store,

wherein the inference record includes a set of context features, a corresponding resolution, and an inference type selected from a set comprising superlative disambiguation and date disambiguation, and

wherein the inference record is learned based on user selections and feedback during query formulations;

modify the database query using a resolution of the inference record to obtain an inferred database query, wherein the resolution includes one or more tokens of the database syntax; and

invoke a search of a database using a query based on the inferred database query to obtain search results.

9. The system of claim 8 , wherein the inference record comprises a confidence score and the inference record is selected based on the confidence score.

10. The system of claim 8 , wherein the current set of context features comprises part-of-speech tags for words of the string.

11. The system of claim 10 , wherein the processor is further configured to execute instructions stored in the memory to:

compare the part-of-speech tags of the current set of context features to part-of-speech tags of inference records in the inference store.

12. The system of claim 11 , wherein the inference record is selected based on a match of part-of-speech tags of the inference record to the part-of-speech tags of the current set of context features.

13. The system of claim 8 , wherein the processor is further configured to execute instructions stored in the memory to:

receive, via a user interface, an indication that the string matches a candidate database query;

responsive to the indication, determine a pattern based on the string and the candidate database query, 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 the candidate database query; and

store the pattern.

14. The system of claim 13 , wherein the indication is based on a user interaction with a like icon in the user interface while the user interface includes representations of the string and the candidate database query.

15. A non-transitory computer readable medium storing instructions operable to cause one or more processors to perform operations comprising:

identifying a current set of context features for a database query that is associated with a string, wherein the database query includes a sequence of tokens of a database syntax, and the current set of context features includes words from the string and tokens from the database query;

selecting an inference record from an inference store based on a comparison of the current set of context features to context features of inference records in the inference store,

wherein the inference record includes a set of context features, a corresponding resolution, and an inference type selected from a set comprising superlative disambiguation and date disambiguation, and

wherein the inference record is learned based on user selections and feedback during query formulations;

modifying the database query using a resolution of the inference record to obtain an inferred database query, wherein the resolution includes one or more tokens of the database syntax; and

invoking a search of a database using a query based on the inferred database query to obtain search results.

16. The non-transitory computer readable medium of claim 15 , wherein the inference record comprises a confidence score and the inference record is selected based on the confidence score.

17. The non-transitory computer readable medium of claim 15 , wherein the current set of context features comprises part-of-speech tags for words of the string.

18. The non-transitory computer readable medium of claim 17 , wherein the operations further comprise:

comparing the part-of-speech tags of the current set of context features to part-of-speech tags of inference records in the inference store.

19. The non-transitory computer readable medium of claim 18 , wherein the inference record is selected based on a match of part-of-speech tags of the inference record to the part-of-speech tags of the current set of context features.

20. The non-transitory computer readable medium of claim 15 , wherein the operations further comprise:

receiving, via a user interface, an indication that the string matches a candidate database query;

responsive to the indication, determining a pattern based on the string and the candidate database query, 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 the candidate database query; and

storing the pattern.

Assignments (2)
SECURITY INTEREST Recorded Mar 7, 2025
From: THOUGHTSPOT, INC.; THOUGHTSPOT, LLC
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 070442/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2023
From: PRAKASH, AMIT; TANDON, RAVI; BALAKAVI, MANIKANTA VENKATA RAHUL; PIRATLA, PAVAN RAM; SHUBHAM, ASHISH; CANADA, ALONZO; KOTHARI, RAKESH; APTE, MANEESH; SINGHAL, AMITABH; VISWANATHAN, ADITYA; SINGH, AJEET
To: THOUGHTSPOT, INC.
Reel/Frame 064775/0337 →
Continuity (5)
Continuation 17506819 · Oct 21, 2021
Continuation 16262796 · Jan 30, 2019
Provisional Application 62760563 · Nov 13, 2018
Provisional Application 62637823 · Mar 2, 2018
Related Publication 20240070204A1 · Feb 29, 2024
References Cited (100)
US 5987409A · Tran et al. · 1999 [cited by applicant]
US 7519529B1 · Horvitz · 2009 [cited by examiner]
US 8275803B2 · Brown · 2012 [cited by examiner]
US 8370821B2 · Haber et al. · 2013 [cited by applicant]
US 8577913B1 · Hansson · 2013 [cited by examiner]
US 8595207B2 · McFarlane · 2013 [cited by examiner]
US 8738617B2 · Brown · 2014 [cited by examiner]
US 9116948B2 · Cheng · 2015 [cited by examiner]
US 9275132B2 · Roberts et al. · 2016 [cited by applicant]
US 9405794B2 · Prakash · 2016 [cited by examiner]
US 10394802B1 · Porath · 2019 [cited by examiner]
US 10460239B2 · Petri · 2019 [cited by examiner]
US 10489393B1 · Mittal · 2019 [cited by examiner]
US 11386158B1 · Bourbie et al. · 2022 [cited by applicant]
US 20040267730A1 · Dumais et al. · 2004 [cited by applicant]
US 20050027717A1 · Koudas et al. · 2005 [cited by applicant]
US 20050289124A1 · Kaiser · 2005 [cited by examiner]
US 20070192300A1 · Reuther · 2007 [cited by examiner]
US 20070192306A1 · Papakonstantinou et al. · 2007 [cited by applicant]
US 20070219974A1 · Chickering et al. · 2007 [cited by applicant]
US 20080109422A1 · Dedhia · 2008 [cited by applicant]
US 20090019019A1 · Jones et al. · 2009 [cited by applicant]
US 20090019022A1 · Schallert et al. · 2009 [cited by applicant]
US 20110047178A1 · Song · 2011 [cited by examiner]
US 20110113048A1 · Njemanze · 2011 [cited by applicant]
US 20120066217A1 · Eder · 2012 [cited by applicant]
US 20120078890A1 · Fan et al. · 2012 [cited by applicant]
US 20120079464A1 · De Smet et al. · 2012 [cited by applicant]
US 20120330990A1 · Chen et al. · 2012 [cited by applicant]
US 20130077033A1 · Li et al. · 2013 [cited by applicant]
US 20130226906A1 · Lebrun · 2013 [cited by examiner]
US 20130262501A1 · Kuchmann-Beauger · 2013 [cited by examiner]
US 20130339370A1 · Holstege et al. · 2013 [cited by applicant]
US 20140201241A1 · Wood · 2014 [cited by examiner]
US 20140272909A1 · Isensee · 2014 [cited by examiner]
US 20140280307A1 · Gupta · 2014 [cited by examiner]
US 20140337371A1 · Li · 2014 [cited by applicant]
US 20150100521A1 · Kozloski · 2015 [cited by examiner]
US 20150193682A1 · Baughman · 2015 [cited by examiner]
US 20150199436A1 · Bailey · 2015 [cited by examiner]
US 20150339574A1 · Allen · 2015 [cited by examiner]
US 20160110415A1 · Clark · 2016 [cited by examiner]
US 20160239562A1 · Schilder · 2016 [cited by examiner]
US 20160259863A1 · Allen · 2016 [cited by examiner]
US 20160267392A1 · Prager · 2016 [cited by examiner]
US 20170098168A1 · Kozareva · 2017 [cited by examiner]
US 20170176613A1 · Burnett et al. · 2017 [cited by applicant]
US 20170177660A1 · Chang · 2017 [cited by examiner]
US 20170193095A1 · Ben-Tzur · 2017 [cited by examiner]
US 20170228372A1 · Moreno · 2017 [cited by examiner]
US 20170242913A1 · Tijssen · 2017 [cited by examiner]
US 20170270159A1 · Wang · 2017 [cited by examiner]
US 20170322939A1 · Byron · 2017 [cited by examiner]
US 20170322983A1 · Anderson · 2017 [cited by applicant]
US 20170364593A1 · Busey · 2017 [cited by examiner]
US 20180004751A1 · Vikhe et al. · 2018 [cited by applicant]
US 20180032930A1 · Kolb et al. · 2018 [cited by applicant]
US 20180039693A1 · Singh et al. · 2018 [cited by applicant]
US 20180341871A1 · Maitra · 2018 [cited by examiner]
US 20180367557A1 · Brown et al. · 2018 [cited by applicant]
US 20180373693A1 · Williams · 2018 [cited by examiner]
US 20180373782A1 · Liu · 2018 [cited by examiner]
US 20190005090A1 · Zhang · 2019 [cited by examiner]
US 20190138660A1 · White · 2019 [cited by examiner]
US 20190163740A1 · Ackermann · 2019 [cited by examiner]
US 20190163745A1 · Beller · 2019 [cited by examiner]
US 20190171646A1 · Chu-Carroll · 2019 [cited by examiner]
US 20190197154A1 · Cohen · 2019 [cited by examiner]
US 20190206517A1 · Devarakonda · 2019 [cited by examiner]
US 20190213601A1 · Hackman et al. · 2019 [cited by applicant]
US 20210406260A1 · Sharifi et al. · 2021 [cited by applicant]
US 20220121656A1 · Zheng et al. · 2022 [cited by applicant]
US 20240069860A1 · Spector · 2024 [cited by examiner]
EP 268367A2 · 1988 [cited by applicant]
EP 1587011A1 · 2005 [cited by applicant]
EP 2202658A2 · 2010 [cited by applicant]
EP 2207106A2 · 2010 [cited by applicant]
WO 0141002A1 · 2001 [cited by applicant]
WO 2015009353A1 · 2015 [cited by applicant]
Sayyadian et al., “Efficient Keyword Search Across Heterogeneous Relational Databases”, 2007, IEEE, 346-355 (10 pp). [cited by applicant]
Wu et al: “Towards Keyword-Driven Analytical Processing”, Proceedings of the 2007 ACM Sigmod International Conference on Management of Data, Sigmo '07, Jun. 12, 2007, (12 pp). [cited by applicant]
Shi et al.: “50x Faster: Speeding Up An SQL-Based Legacy System With Few Changes”, Oct. 4, 2011 Retrieved from Internet: URL: http://www.user.tu-berline.de/komm/CD/paper/040221.pdf [retrieved on Jun. 11, 2014]. (12 pp). [cited by applicant]
Blunschi et al: “SODA: Generating SQL for Business Users”, Proceedings of the VLDB Endowment, vol. 5, No. 10, Aug. 27, 2012 pp. 932-935 (12 pp). [cited by applicant]
Baid et al: “Toward Scalable Keyword Search over Relational Data”, Proceedings of the VLDS Endowment, vol. 3, No. 1-2, Sep. 1, 2010, pp. 140-149 (10 pp). [cited by applicant]
Jajodia et al., “Flexible Support for Multiple Access Control Policies”, ACM Transactions on Database Systems, ACM New York, NY, USA, vol. 26, No. 2, Jun. 1, 2001, pp. 217-228 (48 pp). [cited by applicant]
International Search Report and Written Opinion for PCT/US14/39230; Date of mailing Nov. 24, 2014 (16 pp). [cited by applicant]
Anonymous: “File System Permission—Wikipedia, The Free Encyclopedia.” Jun. 11, 2013 (Jun. 11, 2013); URL: http://en.wikipedia.org/w/index/php?title.sub.--File.sub.--system.sub.--p- ermissions&oldid=559455322 [retrie… [cited by applicant]
Li et al: “Efficient Type-Ahead Search on Relational Data: a TASTIER Approach”, Sigmod-Pods '09: Compilation Proceedings of the International Conference on Management Data & 28th Symposium on Principles of Database … [cited by applicant]
Anonymous, “Natural Language Processing”, Wikipedia, Downloaded Jan. 30, 2019, https://en.wikipedia.org/wiki/Natural_language_processing, (8 pp). [cited by applicant]
Seif, G., “An Easy Introduction to Natural Language Processing—Using Computers to Understand Human Language”, Oct. 1, 2018 (Downloaded Jan. 30, 2019), https://towardsdatascience.com/an-easy-introduction-to-natural-langu… [cited by applicant]
Avrach, A., thoughtspot.com, “What the Bleep is a Chasm Trap?”, https://www.thoughtspot.com/fact-and-dimension/what-bleep-chasm-trap 9/, Date Unknown, Downloaded Apr. 2, 2019 (9 pp). [cited by applicant]
Sisense, “Chasm and Fan Traps”, https://documentation.sisense.com/latest/managing-data/working-with-data/chasm-fan-traps.htm, Date Unknown, Downloaded Apr. 2, 2019 (8 pp). [cited by applicant]
Thoughtspot, “Chasm Traps”, https://docs.thoughtspot.com/4.4/admin/loading/chasm-trap.html, Version 4.4 Guides, Date Unknown, Downloaded Apr. 2, 2019 (4 pp). [cited by applicant]
Extended European Search Report received in co-pending Application No. EP 19160657.3 dated Apr. 4, 2019 (11 pp). [cited by applicant]
Eades, Peter, et al., “A Fast & Effective Heuristic for the Feedback Arc Set Problem,” Information Processing Letters, vol. 47, Issue 6, Oct. 18, 1993, pp. 319-323. [cited by applicant]
Wikipedia, “Dijkstra's algorithm”, Date Unknown, downloaded Jul. 16, 2019, https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm (11 pp). [cited by applicant]
Wikipedia, “Consistent hashing”, https://en.wikipedia.org/wiki/Consistent_hashing, Date Unknown, Downloaded Aug. 15, 2019, (5 pp). [cited by applicant]
Morton, K., et al., “Dynamic Workload Driven Data Integration in Tableau”, Proceedings of the 2012 International Conference on Management of Data, SIGMOD '12, Jan. 1, 2012, p. 807 (9 pp). [cited by applicant]
Extended European Search Report dated Jul. 26, 2019, issued in co-pending EP Application No. 19166422.6 (11 pp). [cited by applicant]
Sonewar, D. K. et al., “Algorithm for Finding Shortest Path in All Tours of a TSP Using Pheromone Genetic Factor”, Jul. 2017, IJIRSET, vol. 6, Issue 7, http://www.ijirset.com/upload/2017/july/73_dinesh%20sonewar%20_1 _.… [cited by applicant]