US 12,412,034 B2
Transforming natural language to structured query language based on scalable search and content-based schema linking
Jae Min John, Redwood City, CA (US); Vishal Vishnoi, Redwood City, CA (US); Mark Edward Johnson, Castle Cove (AU); Thanh Long Duong, Seabrook (AU); Srinivasa Phani Kumar Gadde, Fremont, CA (US); Balakota Srinivas Vinnakota, Sunnyvale, CA (US); Shivashankar Subramanian, Melbourne (AU); Cong Duy Vu Hoang, Melbourne (AU); Yakupitiyage Don Thanuja Samodhye Dharmasiri, Melbourne (AU); Nitika Mathur, Melbourne (AU); Aashna Devang Kanuga, Foster City, CA (US); Philip Arthur, Sydney (AU); Gioacchino Tangari, Sydney (AU); and Steve Wai-Chun Siu, Melbourne (AU)
Assigned to Oracle International Corporation, Redwood Shores (CA)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Dec. 13, 2022, as Appl. No. 18/065,387.
Claims priority of provisional application 63/361,390, filed on Dec. 15, 2021.
Claims priority of provisional application 63/265,392, filed on Dec. 14, 2021.
Prior Publication US 2023/0186025 A1, Jun. 15, 2023
Int. Cl. G06F 40/284 (2020.01); G06F 16/242 (2019.01); G06F 16/2452 (2019.01); G06F 40/295 (2020.01); G06F 40/40 (2020.01); G06F 40/42 (2020.01)
CPC G06F 40/284 (2020.01) [G06F 16/243 (2019.01); G06F 16/24522 (2019.01); G06F 40/295 (2020.01); G06F 40/40 (2020.01); G06F 40/42 (2020.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
accessing an utterance;
classifying one or more named entities within the utterance into predefined classes, wherein the classifying results in each of the one or more named entities being assigned a class from the predefined classes, and the predefined classes match table names or attribute names within a database schema;
searching one or more value lists within the database schema using one or more tokens from the utterance, wherein the searching identifies and outputs one or more value matches comprising: (i) any value within the one or more value lists that matches a token from the utterance and (ii) any attribute associated with a matching value;
generating a data structure, according to a predefined format for the data structure, by storing: (i) each of the one or more named entities and the assigned class for each of the one or more named entities, (ii) each of the value matches and the token matching each of the value matches, and (iii) the utterance, wherein the predefined format comprises: (i) the utterance in a first position; (ii) a named entity of the one or more named entities and a position indicator that indicates where in the utterance the named entity can be found in a second position; and (iii) a value match of the one or more value matches and a position indicator that indicates where in the utterance a word or token associated with the value match can be found in a third position;
using a machine learning model to translate the utterance into a logical form based on the data structure; and
executing the logical form as a query on a database associated with the database schema to retrieve a result for the query.