Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Bouguerra et al. (U.S. 2024/0354501; hereinafter “Bouguerra”) in view of Duma, Daniel, and Ewan Klein (“Generating natural language from linked data: Unsupervised template extraction,” Proceedings of the 10th international conference on computational semantics (IWCS 2013)–long papers. 2013; hereinafter “Duma”). Although Bouguerra was filed after the present application, it claims priority to provisional application 63/497,944, which was filed 24 April 2023 and provides support for all of the citations below.
Regarding Claim 1, Bouguerra teaches a method (fig. 3; ¶ [0051]), comprising:
receiving data including entities and relationships between entities (fig. 3, step 302; ¶ [0052]—data in the form of a user’s message list is received, which inherently includes entities such as messages, text, senders, and receivers; and relationships among the senders, receivers, and text);
generating one or more embeddings for one or more natural language texts (fig. 3, step 302; ¶ [0052]—embedding vectors are generated for each message {i.e. natural language texts});
storing the one or more embeddings in a vector store (fig. 3, step 304; ¶ [0053]—the embeddings are stored in an embedding database); and
generating an augmented prompt based on a received prompt and based on at least one embedding retrieved from the vector store by using an embedding for the received prompt to perform a search of the vector store (fig. 3, steps 306-310; ¶ [0054] – [0058]—a query {prompt} is received and converted into an embedding. The embedding database {vector store} is searched for the most similar embeddings. Step 314 and ¶ [0060] describes building an augmented prompt based on the received prompt and the retrieved embedding).
Bouguerra does not specifically teach preprocessing the data to generate one or more natural language texts describing the entities and the relationships between entities included in the data. However, Duma teaches preprocessing data to generate one or more natural language texts describing entities and relationships between entities included in the data (sections 4.1 and 4.5—structured data containing entities and relationships are preprocessed to generate natural language texts).
All of the claimed elements were known in Bouguerra and Duma and could have been combined by known methods with no change in their respective functions. It therefore would have been obvious to a person of ordinary skill in the art at the time of filing of the applicant’s invention to combine the preprocessing of Duma with the embeddings and receiving and generating prompts of Bouguerra to yield the predictable result of preprocessing the data to generate one or more natural language texts describing the entities and the relationships between entities included in the data; and generating one or more embeddings for one or more natural language texts. One would be motivated to make this combination for the purpose of facilitating natural language querying of structured databases.
Regarding Claim 10, Bouguerra teaches a system (figs. 8 and 9; ¶ [0112] and [0116]) comprising:
a memory having executable instructions stored thereon (fig. 9, memory 904; ¶ [0119]);
an endpoint having a user interface (fig. 2B; ¶ [0015] – [0016]); and
one or more processors configured to execute the executable instructions to cause the system to perform a method (fig. 9, CPU 902; ¶ [0051], [0117], and [0120]). Bouguerra and Duma teach the method comprising the steps of the present claim in the same manner as for claim 1, above.
Regarding Claim 19, Bouguerra teaches a non-transitory computer readable storage medium comprising instructions, that when executed by one or more processors of a computing system, cause the computing system to perform a method (fig. 9; ¶ [0051] and [0118] – [0120]). Bouguerra and Duma teach the method comprising the steps of the present claim in the same manner as for claim 1, above.
Regarding Claims 2, 11, and 20, Bouguerra/Duma teaches
providing the augmented prompt to a large language model (Bouguerra, fig. 3, step 316; ¶ [0065]);
receiving an output from the large language model in response to the augmented prompt (Bouguerra, fig. 3, step 316; ¶ [0065]); and
providing a response to the augmented prompt based on the output (Bouguerra, fig. 3, step 318; ¶ [0066]).
Regarding Claims 3 and 12, Bouguerra/Duma teaches wherein:
receiving the data comprises connecting a database and executing an export script on the database (Duma, section 4.1—receiving data from the database clearly involves executing instructions, which can be considered an export script);
executing the export script comprises using a template to generate natural language format data from data contained in the database (Duma, section 4.2—templates are used to generate natural language format data to place the data in a desired format); and
generating one or more natural language texts based on the data comprises generating natural language text from the natural language format data (Duma, sections 4.2 and 4.5—natural language texts are generated).
Regarding Claims 4 and 13, Bouguerra/Duma teaches wherein the database includes one or more rows of structured data, and the one or more natural language texts comprise one or more markdown documents respectively generated for the one or more rows of structured data (Duma, section 2.2—the RDF triples are structured data that can be represented as, or in other formats such as a graph. Section 4.5 describes generating text in a format that conforms to class models; such formatted text can be considered one or more markdown documents).
Regarding Claims 5 and 14, Bouguerra/Duma teaches wherein the database is a relational database and executing the export script on the database comprises using the template to determine natural language descriptions of relationships between entities in the database and generate the natural language format data (sections 4.1-4.2—the relational data, represented in fig. 2 as a graph, comprises a relational database. Templates are used to determine descriptions of relationships, as shown in fig. 3).
Regarding Claims 6, and 15, Bouguerra/Duma teaches:
chunking the one or more natural language texts to produce a plurality of data chunks (Bouguerra, ¶ [0052]—the texts are divided into individual messages; each message can be considered a chunk. Also Duma, sections 4.1 and 4.2—each RDF triple can be considered a chunk, and each triple is analyzed using a template);
generating a plurality of embeddings for the plurality of data chunks (Bouguerra, ¶ [0052]); and
storing the plurality of embeddings for the plurality of data chunks in the vector store (Bouguerra, ¶ [0053]).
Regarding Claims 7 and 16, Bouguerra/Duma teaches wherein the one or more natural language texts are chunked using a configurable algorithmic delimiter (Duma, section 4.1—an algorithm analyzes the RDF data to delimit portions of the text into templates slots, which are configurable).
Regarding Claims 8 and 17, Bouguerra/Duma teaches preprocessing the received prompt by
performing summarization on the received prompt (Bouguerra, fig. 4C; ¶ [0055] – [0056]—selecting a pre-generated query and optionally responding with pre-generated questions in response to a prompt comprises performing summarization on the received prompt);
performing entity extraction on the received prompt (Bouguerra, ¶ [0054] and [0080]—entities may be extracted from messages and on the received prompt); and
performing classification on the received prompt (Bouguerra, ¶ [0081]—the query {prompt} may be classified); and
retrieving the embedding from the vector store based on a result of the preprocessing of the received prompt (Bouguerra, ¶ [0058] – [0059]).
Regarding Claims 9 and 18, Bouguerra/Duma teaches wherein retrieving the at least one embedding from the vector store comprises:
performing a semantic search using a similarity algorithm and the embedding for the received prompt to identify one or more similar embeddings in the vector store, the one or more similar embeddings being similar to the embedding for the received prompt (Bouguerra, ¶ [0058]); and
combining the one or more similar embeddings and the embedding for the received prompt to create the augmented prompt (Bouguerra, ¶ [0060]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. McCurdy et al. (U.S. 2025/0117414) teaches forming an augmented prompt (a layered query) by accessing vector embeddings in a database using user information associated with the prompt.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HAL W SCHNEE whose telephone number is (571) 270-1918. The examiner can normally be reached M-F 7:30 a.m. - 6:00 p.m.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Michael Huntley can be reached at 303-297-4307. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/HAL SCHNEE/Primary Examiner, Art Unit 2129