Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
2. This action is in response to the original filing on 04/22/2024. Claims 1-20 are pending and have been considered below.
Information Disclosure Statement
3. The information disclosure statement (IDS(s)) submitted on 06/06/2025, 03/05/2026 is/are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Rejections - 35 U.S.C. § 112
4. The following is a quotation of 35 U.S.C. § 112(d):
(d) REFERENCE IN DEPENDENT FORMS.—Subject to subsection (e), a claim in dependent form shall contain a reference to a claim previously set forth and then specify a further limitation of the subject matter claimed. A claim in dependent form shall be construed to incorporate by reference all the limitations of the claim to which it refers.
Claim 12 is rejected under 35 U.S.C. § 112(d) as being of improper dependent form for failing to further limit the subject matter of the claim upon which it depends, or for failing to include all the limitations of the claim upon which it depends. Claim 12 merely repeats the limitation already recited in claim 11 and does not add any further limitation to the subject matter of claim 11. Applicant may cancel the claim, amend the claim to place the claim in proper dependent form, rewrite the claim in independent form, or present a sufficient showing that the dependent claim complies with the statutory requirements.
Claim Rejections – 35 USC § 103
5. 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 of this title, 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.
6. Claims 1, 3-8, 10-15, and 17-20 are rejected under 35 U.S.C. 103 as being unpatentable over Poirier et al. (U.S. Patent Application Pub. No. US 20240202539 A1) in view of Schuller et al. (U.S. Patent Application Pub. No. US 20250181847 A1).
Claim 1: Poirier teaches a system comprising:
at least one hardware processor (i.e. The processor 1704 is configured to execute executable instructions (e.g., programs). In some embodiments, the processor 1704 comprises circuitry or any processor capable of processing the executable instructions; para. [0221]); and
a computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising (i.e. a non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform; para. [0264]):
extracting metadata about tables and views (i.e. the crawling module 122 may function to scan and/or crawl disparate data sources (e.g., enterprise information sources 102, external information sources 103) across different domains 104 and 108. This can identify existing data records 105-106 and 109-110, new data records 105-106 and 109-110, and/or data records … the chunking module 124 can preprocess the data records and/or segments to generate corresponding contextual information. In some embodiments, the contextual information may be included and/or represented in contextual metadata, and/or the contextual metadata may be generated from the contextual information … The projections tool module 508-10 can function to identify and select fields (e.g., type fields, object fields) that are relevant to determine an answer to a query or other input; para. [0024, 0035, 0038, 0113, 0214]) from an Enterprise Resource Planning (ERP) system (i.e. Enterprise systems 404 can include, for example, CRM systems, EAM systems, ERP systems, FP&A systems, HRM systems, and SCADA systems; para. [0068]);
transforming the metadata (i.e. The agents 306 can transform the disparate data records into a common format (e.g., natural language format) that can be post-processed (step 310) by a large language model (e.g., the same or different large language model that performed the pre-processing); para. [0059, 0085]);
modeling the transformed metadata as a knowledge graph (i.e. a data model may include a variety of different types (e.g., in a tree or graph structure), and each of the types may describe data fields, operations, functions, and the like. For example, the context may include a natural language summary or description of the type (e.g., a description of the represented object, relationships with other types or objects, associated methods and functions, and the like); para. [0052, 0076, 0096]);
for each of one or more pieces of the metadata about the tables and the views, generate an embedding (i.e. The segments and/or contextual information can be stored for efficient retrieval (e.g., as part of a generative artificial intelligence process). For example, the segments and/or contextual information can be stored as embeddings (e.g., vector embeddings) which can allow efficient retrieval … embeddings generator module 128 can use a variety of different embedding models (e.g., single vector embedding models, token vector embedding models, etc.) to generate embeddings. The embeddings may be generated from the data record or segment; para. [0025, 0041, 0042]) by forming a sentence description of the transformed metadata (i.e. the chunking module 124 may generate contextual information for structured data chunks (or passages) that include natural language descriptions of the data records 105-106 and 109-110, locations of related data records 105-106 and 109-110, and the like … the orchestrator module 504 may take in a database table as input and transform it into natural language describing the database table; para. [0038, 0085, 0088]) and then passing the sentence description into an embedding model to generate an entity embedding for the metadata (i.e. The embeddings generator module 128 may include one or more models (e.g., embedding models, deep learning models) that can convert and/or transform data records 105-106 and 109-110 into a vector representation … the embeddings generator module 128 can generate embeddings using one or more embeddings models (e.g., an implementation of the ColBERT embedding model). The embeddings may include a numerical representation for unstructured and/or structured data records and/or segments that capture the semantic or contextual meaning of the data records and/or segments; para. [0043, 0044, 0076]);
receiving a natural language question (i.e. The enterprise generative AI architecture enables enterprise users to ask open-ended, multi-level, context specific questions that are processed used generative AI with machine learning to understand the request, identify relevant information, and generate new context specific insights with predictive analysis … The enterprise generative artificial intelligence system 402 can include a human computer interface for receiving natural language queries and presenting relevant information with predictive analysis from the enterprise information environment in response to the queries; para. [0027, 0063]);
passing the natural language question to an LLM to generate a description of the natural language question (i.e. The supervisory layer 210 represents a layer of the enterprise generative artificial intelligence system architecture that includes one or more large language models (e.g., of an orchestrator module) that can develop a plan for responding to the input received in the input layer 202 … the system can generate a new query, or multiple shorter queries, from the user query 832 that the vector store 834 can efficiently and accurately handle; para. [0047, 0164-0166]);
passing the description of the natural language question into the embedding model to generate a question embedding for the natural language question (i.e. The query 832 is executed against a vector store 832 and relevant passages 836 are retrieved. In some embodiments, the user query 832 is pre-processed (e.g., by an orchestrator) prior to being applied against the vector store 834 to retrieve passages 836; para. [0164-0166]); and
comparing the question embedding to one or more entity embeddings to identify one or more matching entity embeddings that are similar to the question embedding (i.e. the segment embedding may include a vector embedding that can used as part of a similarity machine learning process that determines similarities between data records 105-106 and 109-110 and/or segments. Accordingly, similarities can easily be determined (e.g., as part of a generative artificial intelligence retrieval operation) based on various segments and corresponding contextual information … the agent 506-2 can use a similarity evaluation or search on the vector datastore 540 to find relevant data records based on k-nearest neighbor, where embeddings that are closer to each other are more likely relevant; para. [0042-0044, 0091]).
Poirier does not explicitly teach description is hypothetical description.
However, Schuller teaches passing the natural language question to an LLM to generate a hypothetical description of the natural language question (i.e. prompt an LLM to generate one based on the name and/or instructions of the flow … modular RAG techniques may be used, such as those that are similar to naïve and/or advanced RAG, but also include features such as hybrid search, recursive retrieval and query engines, StepBack approaches, sub-queries, and hypothetical document embedding; para. [0162, 0163, 0461]); passing the hypothetical description of the natural language question into the embedding model to generate a question embedding for the natural language question (i.e. A user query may also be applied to the embedding model and/or another embedding model of the RAG component 2892 and the embeddings of the chunks along with the embeddings of the query may be compared to identify the most similar/related embeddings to the query, which may be supplied to the generative LM 2830 to generate an output … prior to passing chunks to the embedding model, the chunks may undergo pre-retrieval processes (e.g., routing, rewriting, metadata analysis, expansion, etc.); para. [0459-0461]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to modify the invention of Poirier to include the feature of Schuller. One would have been motivated to make this modification because it improves retrieval accuracy when answering natural language questions over enterprise data.
Claim 3: Poirier and Schuller teach the system of claim 1. Poirier further teaches wherein the comparing includes executing a k-nearest neighbor search (i.e. the agent 506-2 can use a similarity evaluation or search on the vector datastore 540 to find relevant data records based on k-nearest neighbor, where embeddings that are closer to each other are more likely relevant; para. [0091]).
Claim 4: Poirier and Schuller teach the system of claim 1. Poirier further teaches wherein the operations further comprise retrieving matching views (i.e. The chunking module 124 may function to process (e.g., chunk) a corpus of data records (e.g., of one or more enterprise systems and/or external systems) for handling by various systems (e.g., enterprise generative artificial intelligence system 402). The chunking module 124 can partition data records and insert or append a respective header for each chunk. The header may include one or more attributes describing the chunk. Segments may include the header along with a passage of a text document, a portion of database table, a model or sub-model, and so forth. For simplicity, reference to a passage may include the segment and/or other content (e.g., text) of a segment; para. [0025, 0037, 0214]) in the knowledge graph (i.e. in order to facilitate an effective information retrieval, the system can represent the information in each data record 1601 using an information graph. The nodes 1630, 1641, 1643 and 1645 of this graph correspond to different instances of the four classes of modality from stage one. The depiction is a (directed) bipartite graph, with edges going out from the text nodes to all other modality nodes; para. [0217]) that are referenced in entities (i.e. In the example of FIG. 16 , there is an edge between a text node 1630 to other modality nodes 1641, 1643, and/or 1645, if there is reference (e.g., relation) between them; para. [0218]) corresponding to the one or more matching entity embeddings (i.e. given the information graph, the system can outline a process for information retrieval. One approach for this starts with first embedding the content of the text nodes (and/or other textual metadata associated with other modalities) (step 1629), and storing the embeddings in a vector store 1626. Given a query 1622, the system can embed it (step 1628) and find the most relevant text chunks or text nodes 1630 associated with it. This would be the entry to the graph; para. [0219]).
Claim 5: Poirier and Schuller teach the system of claim 4. Poirier further teaches wherein the operations further comprise: using the knowledge graph (i.e. in order to facilitate an effective information retrieval, the system can represent the information in each data record 1601 using an information graph. The nodes 1630, 1641, 1643 and 1645 of this graph correspond to different instances of the four classes of modality from stage one. The depiction is a (directed) bipartite graph, with edges going out from the text nodes to all other modality nodes; para. [0217]) to retrieve one or more base tables, from the tables in the ERP (i.e. The query response 626 may identify one or more database tables and/or API calls in step 626, and the database tables and/or types can be retrieved, and the APIs calls (e.g., to an artificial intelligence application) can be executed; para. [0155]), that are referenced in entities in the knowledge graph corresponding to the one or more matching entity embeddings (i.e. given the information graph, the system can outline a process for information retrieval. One approach for this starts with first embedding the content of the text nodes (and/or other textual metadata associated with other modalities) (step 1629), and storing the embeddings in a vector store 1626. Given a query 1622, the system can embed it (step 1628) and find the most relevant text chunks or text nodes 1630 associated with it. This would be the entry to the graph; para. [0218, 0219]).
Claim 6: Poirier and Schuller teach the system of claim 5. Poirier further teaches wherein the operations further comprise submitting the matching views, and the one or more base tables (i.e. The query response 626 may identify one or more database tables and/or API calls in step 626, and the database tables and/or types can be retrieved, and the APIs calls (e.g., to an artificial intelligence application) can be executed; para. [0155, 0159]), along with their corresponding sentence descriptions (i.e. the agent modules 506 may receive a database table or an image as input (e.g., received from a tool 508) and translate the table or image into natural language describing the table or image which can then be output for processing by other modules, models, and/or systems (e.g., the orchestrator module 504 and/or comprehension module 516); para. [0088]), are submitted to the LLM (i.e. The orchestrator manages the agents to efficiently process disparate inputs or different portions of an input. For example, an input may require the system to access and retrieve data records from disparate data sources (e.g., unstructured datastores, structured datastores, timeseries datastores, and the like), database tables from different types of databases, and machine learning insights from different machine learning applications. The different agents can each separately, and in parallel, handle each of these requests, greatly increasing computational efficiency; para. [0031, 0032]) with a request to rerank the matching entities based on relevance to the natural language question (i.e. the agent 506-2 can calculate and assign relevance scores (e.g., using a machine learning relevance model) for each of the retrieved data records. The relevance score can be relative to the other retrieved data records. For example, the least relevant data record may be assigned a minimum value (e.g., 0) and the most relevant data record may be assigned a maximum value (e.g., 100) … the model optimization module 528 can train generative artificial intelligence models to develop different types of responses (e.g., best results, ranked results, smart cards, chatbot, new content generation, and/or the like); para. [0093, 0146, 0159]).
Schuller further teaches wherein the operations further comprise submitting corresponding sentence descriptions, are submitted to the LLM (i.e. Graph RAG may use knowledge graphs as a source of context or factual information. Graph RAG may be implemented using a graph database as a source of contextual information sent to the LLM/VLM/MMLM/etc. Rather than (or in addition to) providing the model with chunks of data extracted from larger sized documents—which may result in a lack of context, factual correctness, language accuracy, etc.—graph RAG may also provide structured entity information to the LLM/VLM/MMLM/etc. by combining the structured entity textual description with its many properties and relationships, allowing for deeper insights by the model. When implementing graph RAG, the systems and methods described herein use a graph as a content store and extract relevant chunks of documents and ask the LLM/VLM/MMLM/etc. to answer using them; para. [0462]) with a request to rerank the matching entities based on relevance to the natural language question (i.e. more advanced RAG techniques may be used. For example, prior to passing chunks to the embedding model, the chunks may undergo pre-retrieval processes (e.g., routing, rewriting, metadata analysis, expansion, etc.). In addition, prior to generating the final embeddings, post-retrieval processes (e.g., re-ranking, prompt compression, etc.) may be performed on the outputs of the embedding model prior to final embeddings being used as comparison to an input query; para. [0460]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to modify the invention of Poirier to include the feature of Schuller. One would have been motivated to make this modification because it improves retrieval accuracy when answering natural language questions over enterprise data.
Claim 7: Poirier and Schuller teach the system of claim 1. Poirier further teaches wherein the embedding model is a machine learning model (i.e. The embeddings generator module 128 may include one or more models (e.g., embedding models, deep learning models) that can convert and/or transform data records 105-106 and 109-110 into a vector representation; para. [0041, 0043, 0044]).
Claims 8, 10-15, and 17-20 are similar in scope to Claims 1, 3-7 and are rejected under a similar rationale.
7. Claims 2, 9, and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Poirier in view of Schuller, and further in view of Kabra et al. (U.S. Patent Application Pub. No. US 20230016082 A1).
Claim 2: Poirier and Schuller teach the system of claim 1. Poirier further teaches wherein the operations further comprise using the matching entity embeddings to retrieve data from the ERP (i.e. data sources can store data records and/or segments of data records which may be identified by the enterprise generative artificial intelligence system 402 based on embedding values (e.g., vector values associated with data records and/or segments); para. [0064, 0179]).
Poirier does not explicitly teach further using the retrieved data to train a machine learning model using a machine learning algorithm.
However, Kabra teaches using the retrieved data to train a machine learning model using a machine learning algorithm (i.e. at least one query of the generated queries is issued, in response to the issuing, additional samples on which to train the classification model are retrieved, and the classification model is retrained using the additional samples; para. [0020]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to modify the combination of Poirier and Schuller to include the feature of Kabra. One would have been motivated to make this modification because it improves model accuracy and reducing the need for man training data selection.
Claims 9 and 16 are similar in scope to Claim 2 and are rejected under a similar rationale.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure.
Bayless et al. (Pub. No. US 20250111192 A1), Techniques for a knowledge-graph system to use large language models (LLMs) to build knowledge graphs to answer queries submitted to a chatbot by users. The knowledge-graph system builds the knowledge graph using answers produced by an LLM for novel queries. The chatbot will continue to use the LLM to answer novel queries, but the chatbot may harness the knowledge graph to answer repeat questions to gain various efficiencies over LLM-backed chatbots.
It is noted that any citation to specific pages, columns, lines, or figures in the prior art references and any interpretation of the references should not be considered to be limiting in any way. A reference is relevant for all it contains and may be relied upon for all that it would have reasonably suggested to one having ordinary skill in the art. In re Heck, 699 F.2d 1331, 1332-33, 216 U.S.P.Q. 1038, 1039 (Fed. Cir. 1983) (quoting In re Lemelson, 397 F.2d 1006, 1009, 158 U.S.P.Q. 275, 277 (C.C.P.A. 1968)).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TAN TRAN whose telephone number is (303)297-4266. The examiner can normally be reached on Monday - Thursday - 8:00 am - 5:00 pm MT.
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, Matt Ell can be reached on 571-270-3264. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/TAN H TRAN/Primary Examiner, Art Unit 2141