DETAILED ACTION
This office action is in response to Applicant’s Amendment/Request for Reconsideration, received on 04/13/2026. Claims 1, 6-9, 13-14, 16-17, 19-20 have been amended. Claims 2-5 and 10-12 have been cancelled. Claims 1, 6-9, 13-20 are pending and have been considered.
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 .
Priority
Acknowledgment is made of applicant’s claim for foreign priority under 35 U.S.C. 119
(a)-(d). The certified copy has been filed for the parent Application No. JP2023-151708, filed on 09/19/2023.
Response to Arguments
Applicant’s arguments, see pg. 16, filed 04/13/2026, with respect to “Objections to the Specification” have been fully considered and are persuasive. The objections to the specification have been withdrawn.
Applicant’s arguments, see pgs. 16-28, filed 04/13/2026, with respect to “Rejection Under 35 U.S.C. 101” have been fully considered and are persuasive. The rejection of claims 1-20 under 35 U.S.C. 101 has been withdrawn. The examiner would like to note that the claims have been deemed to be containing eligible subject matter under 35 U.S.C. 101 due to the inclusion of execution of a program code, wherein the program code includes a variable representing a sensor and reads time series data from the sensor from a time series database(s). This incorporates a structure which cannot be reasonably interpreted to be mental processing. A user will not be able to mentally execute a program code, wherein that program code is dependent upon time series data from a plurality of sensors, further wherein that data is gathered from respective databases. There is a clear structure defined in the claims which cannot be interpreted to be a mental process.
Applicant’s arguments, see pgs. 28-32, filed 04/13/2026, with respect to the rejection(s) of claim(s) 1 under 35 U.S.C. 102(a)(2) have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Hettige, further in view of Duggirala. Applicant’s arguments against Hettige, with regard to the content of previous dependent claims 10-12 which have since been amended into the independent claims, are not persuasive; therefore, the mappings from the dependent claims are being brought into the independent claims. An analysis of why the arguments are unpersuasive can be found below. Applicant’s arguments against Cai are persuasive and Duggirala is incorporated to resolve the deficiencies of Cai. See updated rejections below.
Applicant's arguments filed 04/13/2026, see pgs. 32-34, with regard to “Further, in rejecting original claims 10-12…” have been fully considered but they are not persuasive.
Applicant’s representative asserts, “Further, in rejecting original claims 10-12, the features of which are also incorporated into amended claim 1, the Office assert that Hettige and Cai teach a processing circuitry configured to ‘execute a program code in a case where the program code is included in the answer to the second partial question, wherein the value included in the answer to the first partial question is identification information of the sensor, wherein in a case where the program code includes a variable representing a sensor and a command for executing processing based on a value of the variable representing the sensor, the code executer specifies the identification information of the sensor included in the program code, reads time series data of the corresponding sensor from a time series database storing time series data of each of a plurality of sensors in association with identification information of the sensor based on the specified identification information, assigns the read time series data to the variable representing the sensor, executes the command, and outputs a result of the processing, and wherein the command is a command for generating a graph based on data of the variable representing the sensor; and output the graph as the result of the processing,’ as recited in amended claim 1. Office Action at 30-33 (citing paragraphs [0142], [0130], [0084] of Hettige; and paragraph [0128] of Cai). Applicant respectfully disagrees.
Hettige discloses generating synthetic training data (using prompt and response templates) to fine-tune LLMs to reduce hallucinations, such as performing slot-filling by asking clarifying questions. Hettige at Abstract, [0028], [0031], [0032]. Hettige does not, however, disclose or suggest generating executable program code as an answer to a prompt, nor does it disclose reading sensor data from a time-series database to execute the code and output a graph.
Cai discloses chaining multiple instantiations of LLMs, where the output of one instantiation becomes the input for the next. Cai at Abstract. However, Ca/s chaining is directed to text-based tasks. Cai at [0124], [0128]. While the Office cites Cai for disclosing that a machine-learned model can process statistical data to generate a ‘visualization output’, this is fundamentally different from the claimed invention. Cai describes a model directly generating a visualization output from statistical data, and fails to teach the automated retrieval of temporal data and assignment to a programmatic variable. Cai at [0127], [0128].
Cai also fails to disclose the claimed two-step paradigm where an LLM dynamically generates a program code (based on variables passed from a previous language model prompt), and then a separate code executer executes that generated code to pull data from a time series database to draw a graph. The claimed invention goes beyond mere ‘visualization’ by providing a specific mechanism where a value from a first answer (sensor ID) is used to automatically specify and read associated time-series data for a variable in the generated code. This hybrid architecture of ‘dynamic prompt-chaining’ and ‘automated programmatic data assignment’ provides a unique solution for ensuring accuracy in complex, sensor-based question answering that none of the cited references suggest.
Therefore, whether considered singly or in combination, Mohammed, Hettige, and Cai fail to disclose or even suggest the above noted features of amended claim 1.”
With regard to Applicant’s arguments against Hettige, Applicant's arguments fail to comply with 37 CFR 1.111(b) because they amount to a general allegation that the claims define a patentable invention without specifically pointing out how the language of the claims patentably distinguishes them from the references.
Applicant's arguments do not comply with 37 CFR 1.111(c) because they do not clearly point out the patentable novelty which he or she thinks the claims present in view of the state of the art disclosed by the references cited or the objections made. Further, they do not show how the amendments avoid such references or objections.
In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). Applicant cites that Hettige does not disclose “reading sensor data from a time-series database to execute the code and output a graph”, but Mohammed is relied upon for the time-series data, and Cai is relied upon for the graphical output (replaced by Duggirala with this action).
Applicant’s arguments, see pgs. 33-34, filed 04/13/2026, with respect to the rejection(s) of claim(s) 1 under 35 U.S.C. 103 (Mohammed in view of Hettige, further in view of Cai, emphasis added to underlined portion) have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Duggirala et al. (US-20250036643-A1), hereinafter Duggirala. Duggirala discloses “method of scraping, by a first computing system, one or more first data sources of the first computing system, and one or more second data sources of one or more external computing systems, to compile a first dataset, standardizing, by the first computing system, the first dataset to generate a standardized dataset, applying, by the first computing system, a first artificial intelligence (AI) algorithm to assign labels to data entries of the standardized dataset, compiling, by the first computing system, the standardized dataset having the labels assigned to the respective data entries in a database, receiving, by an AI interface of the first computing system, a query from a computing device, and generating, by the first computing system, a response to the query for delivering via the AI interface to the computing device” (abstract). Specifically, one of the methods of responding to the queries is by graph generation, see Fig. 6D. See updated rejections below.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
Claim(s) 1, 6-9, 13-15, 17-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Mohammed et al. (US-20240403112-A1), hereinafter Mohammed, in view of Hettige et al. (US-20250094821-A1), hereinafter Hettige, further in view of Duggirala et al. (US-20250036643-A1), hereinafter Duggirala.
Regarding claim 1, Mohammed discloses: an information processing apparatus (Abstract, apparatuses… for executing complex computing tasks…planning agent decomposes, by the planning agent, the use case input into a plurality of tasks for achieving the objective, [Decomposes a use case into tasks indicates a processing of that use case through decomposition]) comprising a processing circuitry ([0091] Hardware processor 139 comprises electrical circuitry) configured to:
perform, based on an input question ([Fig. 4, Use Case Input 401], [0040] the use case input may be a natural language input comprising a text string defining an objective in natural language. The natural language input may be typed into a user interface of the computing device or be provided as spoken language recorded by a microphone, [Comparing the format of the input 401 of Mohammed to that of the instant application, see [0011] “want to know whether Room RM 101 was appropriately cooled yesterday, show it in a graph”, the “questions” between the two sources appear to be synonymous, indicating the input of Mohammed to be a question]), generation of a plurality of partial questions and determination of an order of the plurality of partial questions ([0044] a planning agent may receive a use case input from a user indicating an objective for completion in the computing platform. The planning agent decomposes the use case input into a plurality of tasks for achieving the objective, [0055] Decomposing a use case input into a plurality of tasks may comprise building a directed dependency graph of the plurality of tasks based on dependencies between the tasks of the plurality of tasks. The directed dependency graph indicates which other tasks must be completed before execution of a given task can begin. Tasks upon which other tasks are dependent are prioritized, [0056] the planning agent may also determine a schedule for execution of the plurality of tasks, [Prioritizing and being aware of task dependencies suggests a priority order of each task, i.e. partial question, comprising the overall use case, i.e. input question]);
select a first partial question among the plurality of partial questions in accordance with the order ([Fig. 3, Task Agent A 107 with selected Tool 1 110], [In view of the previously cited scheduling/prioritizing of tasks based on dependencies, one of the tasks, i.e. partial question, with an associated tool, i.e. database, will necessarily require representation of a first partial question in view of the remaining tasks/partial question, i.e. Task Agent A, and a first database, i.e. Tool 1, based on the content of the partial question]),
specify a first question matching the first partial question based on a switch rule associating a plurality of databases respectively storing different kinds of data with a plurality of questions ([0046] The planning agent may retrieve the use case template from a template repository 106 storing different template examples, [0075] Deterministic input for the tools is ensured by providing a task prompt template that mandates a structured format), and
select a first database corresponding to the specified first question among the plurality of databases ([Retrieving use case templates based on operations to answer questions indicates the template to be selected for a particular case based on a mandated match. Further, in view of the plurality of task agents with associated tool (see Fig. 3), this indicates the template to be used by the tools to be one of many based on type of question received, wherein the tools used can be switched based on the required tasks comprising the input question]),
wherein the switch rule associates the plurality of questions with a plurality of prompt text for producing a question to be included in a prompt ([Considering the previously disclosed mandated template format for specific use cases indicating an association of questions, i.e. input, to prompt text, i.e. in the mandated form of a template which includes questions]);
select a first prompt text from the switch rule based on a content of the first partial question ([0062] The task prompt may be generated by combining the some or all of the task (such as the information defining the task type and the task parameters) with a task prompt template. The task prompt template may be retrieved by the task agent 107 from the template repository 106),
generate a first prompt to be input to a language model based on the first database and the first prompt text ([0063] The task context information of the task prompt may include an indication that the second LLM should identify a tool suitable for performing an operation that accomplishes an action, [0123] wherein each task agent provides the respective task prompt to the second large language model, [In view of the previously disclosed plurality of prompt texts from prompt text repository 106, gathering a prompt template for a task, i.e. question, based on a mandated match (see [0075]) indicates the template to be selected based on the content of the first partial question. Further, combining the current task with the task template indicates a dependency upon the first database, i.e. tools associated with the task, and first prompt text, i.e. task, to come to the current prompt. Further still, using a LLM for identification of tools based on a task prompt indicates the LLM to be receiving the prompt]), and
generate an answer to the first partial question based on the first prompt and the language model ([Fig. 5, Task Prompt 503 based on selected tool, i.e. database, and input task, i.e. question], [0076] the task agent generates a structured response based on the results of the execution. This may involve requiring that the task agent calls a further tool at the end of every task execution so that all necessary responses are communicated to a file that can be read by listeners, [In the context of the input being a “question”, output in response to a question will be an answer]);
select a second partial question among the plurality of partial questions in accordance with the order ([Fig. 3, Task Agent C 107 with selected Tool 2 110], [In view of the previously cited scheduling/prioritizing of tasks based on dependencies, one of the tasks, i.e. partial question, with an associated tool, i.e. database, will necessarily require representation of a first partial question in view of the remaining tasks/partial question, i.e. Task Agent C, and a first database, i.e. Tool 2, based on the content of the partial question, wherein multiple tasks comprising a request from a user indicates each task to be a partial question with at least two parts corresponding to the two tools]),
specify a second question matching the second partial question based on the switch rule ([Considering the previously disclosed use case templates with mandated task prompt templates in view of the plurality of tasks of Mohammed, indicating at least a second question matching operations corresponding to a second use case template for a specified task]), and
select a second database corresponding to the specified second question among the plurality of databases ([As previously disclosed, tools correspond to databases, indicating a second tool for answering a second task requires a second database to be selected, i.e. the second tool itself. The rationale applied to the first partial question can be applied to the second partial question without a change in functionality to Mohammed as the user requests of Mohammed comprise multiple tasks]);
select a second prompt text from the switch rule based on a content of the second partial question ([In view of the previous disclosure of [0123] defining each task agent to be providing respective task prompts to the language model indicates at least a second prompt to be selected based on the second partial question and database, wherein the previously cited task dependencies/schedule necessarily requires a second prompt dependent upon the answer to a first partial question to answer the second partial question, i.e. task. Further, the combining of a current task with a task prompt template as previously cited ([0062]) could be extended to this second, dependent task, i.e. partial question, without a change in functionality to Mohammed as Mohammed defines multiple tasks, i.e. partial questions, with associated tools, i.e. databases. Further, the examiner asserts that creation of an object related to a sensor for monitoring when data exceeds a threshold ([0084]) indicates the object to be a variable related to the data as compared to a threshold]),
wherein a variable is included in the second prompt text ([0084] generate an alert when data from a first sensor stored at a first data source is greater than a certain threshold. A use case prompt is generated by a planning agent based on the use case input and a planning template. Based on the use case prompt, the first LLM may output a plurality of tasks including a first task relating to the creation of an object corresponding to the sensor and a second task relating to ingestion of data relating to the sensor, [The variable in this instance is a Boolean variable representative of whether or not the data gathered from the first sensor exceeds a threshold and/or a quantity representing the amount of data. Further, the variable is included in the second prompt, i.e. the data ingestion, as would be required to gather the data from the sensor for ingestion]); and
update the second prompt text by assigning, to the variable, a value included in the answer to the first partial question ([0084] The task agent may determine that a Dataset Uploader Tool is suitable for performing the second task and may determine that an identifier of the first database and a file name for the first sensor data are required as inputs for the Dataset Uploader tool as tool input parameters. The task agent may then extract an identifier of the first database and a file name for the first sensor data from the second task and provide these to the Dataset Uploader tool for execution. Further tasks may define tasks resulting in the generation of alert parameters, such as the generation of further objects linked to the object corresponding to the sensor, [In order to ingest data from an object, that object must first be defined. This indicates a first partial question variable relating to object creation/definition and a second prompt text associated with data ingestion of said previously defined variable, wherein that prompt is updated based on the object the data is gathered from (in view of the plurality of task agents performing tasks). Further still, linking objects to the sensor indicates a required generation of the sensor object, i.e. first partial question, for the linking operation, i.e. second partial question, between objects, wherein a linking prompt text would be updated through the names of object which are/have been linked as would be determined through the first partial question relating to object creation/definition]),
generate a second prompt to be input to the language model based on the updated second prompt test and the second database ([Considering the previously cited section of [0123] which discloses each task agent to be providing respective task prompts to the language model indicates at least a second prompt to be selected based on the second partial question and database]), and
generate an answer to the second partial question based on the second prompt and the language model ([in view of the previously cited section of [0076] which discloses each task agent generating a response based on execution of their respective tools, indicating at least an answer to the second partial question based on the second prompt which is provided to the language model]).
Mohammed does not disclose:
a code executor configured to:
execute a program code in a case where the program code is included in the answer to the second partial question, wherein
in a case where the program code includes a variable representing a sensor and a command for executing processing based on a value of the variable representing the sensor, the code executer specifies the identification information of the sensor included in the program code, reads time series data of the corresponding sensor from a time series database storing time series data of each of a plurality of sensors in association with identification information of the sensor based on the specified identification information, assigns the read time series data to the variable representing the sensor, executes the command, and outputs a result of the processing, and
the command is a command for generating a graph based on data of the variable representing the sensor; and
output the graph as the result of the processing.
Hettige discloses:
a code executor configured to:
execute a program code in a case where the program code is included in the answer to the second partial question ([0142] The system and subsystems depicted in FIG. 4 may be implemented in software (e.g., code, instructions, program) executed by one or more processing units, [Wherein the fine-tuned model 430 is disclosed to be implemented using code is also defined to be used for a question-answering task ([0130]) indicating a code to be executed in an answer produced by the model of Hettige is within the scope of Hettige. Further, the system of Fig. 4 of Hettige containing a response generation module 436 for multi-turn conversations ([0162]) in view of the partial responses of Mohammed indicates at least a second partial question in view of the multiple parts of questions of Mohammed]).
Mohammed and Hettige are considered analogous art within multi-task language model processing for question-answering. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Mohammed to incorporate the teachings of Hettige, because of the novel way to fine-tune LLMs on specific tasks to enhance their understanding of the assets that will be used when performing as an agent, improving the LLM’s ability to conform to natural language tasks and reducing likelihood of hallucinations in generated responses (Hettige, [0030]-[0031]).
Mohammed further discloses:
wherein the value included in the answer to the first partial question is identification information of the sensor ([As previously disclosed in [0084], extraction of an identifier for the database, i.e. tool, to be later used for object linking to the sensor indicates the extracted identifier to be a value included in an answer to a first partial question, i.e. tool/task determination, wherein that tool/task is related to a sensor indicating the identifier of a tool to be synonymous to an identifier of the sensor when the sensor is the tool, considering the sensor data ingestion task necessarily requires the sensor]);
wherein
in a case where the program code includes a variable representing a sensor and a command for executing processing based on a value of the variable representing the sensor ([See previously cited section [0084] example alerting operation]), the code executer specifies the identification information of the sensor included in the program code ([Consider the previously disclosed identifier determination for determining the database, i.e. tool, wherein that tool can be the sensor]), reads time series data of the corresponding sensor from a time series database storing time series data of each of a plurality of sensors in association with identification information of the sensor based on the specified identification information ([It is reasonable to assume that a sensor monitoring data will store associated times with the data (consider the time stamp and/or time series data types defined in [0164] of Hettige for training LLMs which perform question-answering tasks)]), assigns the read time series data to the variable representing the sensor ([0084] a second task relating to ingestion of data relating to the sensor, [Ingestion of data in view of prompt 503 of Fig. 5 wherein the dataset variable has been assigned to that gathered by the sensor]), executes the command, and outputs a result of the processing ([Considering the previously cited portions of [0084], further tasks generating alert parameters indicates execution of the ‘alert’ command with the alert being output based on processing the sensor data as compared to the threshold alert parameters]).
Mohammed in view of Hettige does not disclose:
the command is a command for generating a graph based on data of the variable representing the sensor; and
output the graph as the result of the processing.
Duggirala discloses:
the command is a command for generating a graph based on data of the variable representing the sensor ([Fig. 6C-D, Query “Can you share insights on the top three companies listed above?”], [A clear command for generating insights (in the form of a graph as disclosed below) based on data of variables representing the profit/loss of sectors, wherein those values would be tracked by a sensor, see disclosure of sensors in [0111] of Duggirala in view of the sensor of Mohammed]); and
output the graph as the result of the processing ([Fig. 6D, Response “Below are graphs…”, Graph 1-6]).
Mohammed, Hettige, and Duggirala are considered analogous art within artificial intelligence-based question-answering. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Mohammed in view of Hettige to incorporate the teachings of Duggirala, because of the novel way to summarize external data source through leveraging data-visualization tools, allowing for the generation of human-consumable data that reflect current business, market, and social conditions beyond the capability of manual processes (Duggirala, [0019]).
Regarding claim 6, Mohammed in view of Hettige, further in view of Duggirala discloses: the information processing apparatus according to claim 1.
Hettige further discloses:
wherein the processing circuitry determines whether the generated answer to the first partial question or the second partial question is consistent with the corresponding first or second prompt or the corresponding first or second question based on which the answer is generated ([0033] generating one or more responses associated with each of the one or more prompts based on the dialog script and the response template for the predefined scenario, wherein generating the one or more responses includes inserting response values into the response placeholders associated with the executable actions based on the dialog script for the predefined scenario and the associated one or more prompts, [0135] evaluating the model's ability to generate factually correct and contextually appropriate responses, particularly in high-stakes domains like healthcare, finance, or customer service. To minimize hallucinations, LLMs may be evaluated using knowledge-grounded tasks, where their outputs are compared against known factual information, [Generating responses based on prompts wherein those responses are evaluated for correctness, i.e. consistency, indicates the correctness is performed based upon whether or not the answer answers the question]), and
in a case where the consistency is not obtained, the processing circuitry corrects the corresponding prompt based on an inconsistent part of the answer and regenerates an answer based on the corrected prompt and the language model ([0167] The pre-fine-tuned LLM may randomly pick one concept and generate inaccurate, incorrect, logically inconsistent, or fabricated responses. Fine-tuning a slot-filling LLM involves training the model to generate responses that ask clarifying questions in order to gather the necessary information for slot-filling or to resolve ambiguity between similar concepts, [Adding additional clarifying question to resolve ambiguity indicates the additional questions to be representative of a corrected prompt which generates a corrected answer based on the “corrected” prompt featuring the additional questions. Consider the corrected prompts of Hettige in view of the prompts fed into language models of Mohammed for generating answers]).
Regarding claim 7, Mohammed in view of Hettige, further in view of Duggirala discloses: the information processing apparatus according to claim 1.
Hettige discloses:
wherein the processing circuitry determines whether the generated answer to the first partial question or the second partial question is consistent with the corresponding first or second prompt or the corresponding first or second partial question based on which the answer is generated ([0033] generating one or more responses associated with each of the one or more prompts based on the dialog script and the response template for the predefined scenario, wherein generating the one or more responses includes inserting response values into the response placeholders associated with the executable actions based on the dialog script for the predefined scenario and the associated one or more prompts, [0135] evaluating the model's ability to generate factually correct and contextually appropriate responses, particularly in high-stakes domains like healthcare, finance, or customer service. To minimize hallucinations, LLMs may be evaluated using knowledge-grounded tasks, where their outputs are compared against known factual information, [Generating responses based on prompts wherein those responses are evaluated for correctness, i.e. consistency, indicates the correctness is performed based upon whether or not the answer answers the question]), and
in a case where the consistency is not obtained, the processing circuitry presents an inconsistent part of the answer and the answer to a user, receives a correction instruction for the corresponding prompt from the user, corrects the corresponding prompt based on the correction instruction, and regenerates an answer based on the corrected prompt and the language model ([0135] Human-in-the-loop evaluation also plays a role, as human feedback can highlight cases where the model produces responses that, while coherent, deviate from the truth. By addressing hallucinations, testing ensures the reliability of LLMs and their suitability for real-world applications where factual accuracy is critical, [Applying human-in-the-loop feedback indicates the loop is for purposes of generating improved answers to questions, wherein the answers/questions are necessarily provided to the LLM as a prompt (in view of Mohammed), indicating each loop’s output receiving human feedback is representative of a regenerated answer based on a corrected prompt and language model]).
Regarding claim 8, Mohammed in view of Hettige, further in view of Duggirala discloses: the information processing apparatus according to claim 1.
Mohammed further discloses:
wherein the processing circuitry extracts data related to the first partial question or the second partial question from data stored in the corresponding first or second database and generates the corresponding first or second prompt based on the extracted data and the corresponding partial question ([0084] the use case input may indicate that the user wishes to generate an alert when data from a first sensor stored at a first data source is greater than a certain threshold. A use case prompt is generated by a planning agent based on the use case input and a planning template. Based on the use case prompt, the first LLM may output a plurality of tasks including a first task relating to the creation of an object corresponding to the sensor and a second task relating to ingestion of data relating to the sensor, [Data related to the sensor, gathered by a tool of the task agent, indicates the tool to be extracting the data from the sensor (wherein a sensor is reasonably understood to be consisting of its own personal data store, i.e. database) to be collected for ingestion. Further, generating an alert based on when data is greater than a threshold indicates the prompt is based on the extracted data, i.e. so the language model running the prompt will know when to send the alert, and the question, i.e. alert when the data is greater than a threshold]).
Regarding claim 9, Mohammed in view of Hettige, further in view of Duggirala discloses: the information processing apparatus according to claim 8.
Mohammed further discloses:
wherein the first or second prompt is generated by storing the corresponding partial question in a first field of a sentence template for prompt generation and storing the extracted data in a second field of the sentence template ([Fig. 5, Task Prompt 503 containing question “Upload equipment dataset” and extracted data “./equipment_raw_data.csv” which form fields of the overall sentence “Upload…’Equipment Raw’”]),
the sentence template including the first field in which the partial question is to be stored and the second field in which data from the first or second database is to be stored ([In view of the previous claim element defining the sentence template to be containing similarly defined first and second fields, they will inherently be present in the sentence template defined here with the same mapping cited above]).
Regarding claim 13, Mohammed in view of Hettige, further in view of Duggirala discloses: the information processing apparatus according to claim 1.
Mohammed further discloses:
wherein the input question is a question input from a user ([Fig. 4, Use Case Input 401], [0040] the use case input may be a natural language input comprising a text string defining an objective in natural language. The natural language input may be typed into a user interface of the computing device or be provided as spoken language recorded by a microphone, [Comparing the format of the input 401 of Mohammed to that of the instant application, see [0011] “want to know whether Room RM 101 was appropriately cooled yesterday, show it in a graph”, the “questions” between the two sources appear to be synonymous, indicating the input of Mohammed to be a question]), and
the information processing apparatus further comprises an output device configured to display the result of the processing in a way that the result is visible to the user ([0094] Computer system 137 can be coupled via the bus 138 to a display 143, such as a cathode ray tube (CRT), liquid crystal display, or touch screen, for displaying information to a user).
Regarding claim 14, Mohammed in view of Hettige, further in view of Duggirala discloses: the information processing apparatus according to claim 1.
Mohammed further discloses:
further comprising a language model executer configured to execute the language model ([0129] the second large language model should provide as an output an identification of a tool capable of performing the operation in the computing platform an indication of one or more tool inputs for identified tool in order to perform the operation, [Using a language model to produce output indicates a required executer to execute the language model and produce output]), wherein the processing circuitry acquires the answer to the first partial question and the answer to the second partial question from the language model executer by inputting the first prompt and the second prompt to the language model executer ([0123] wherein each task agent provides the respective task prompt to the second large language model, [In view of the above cited section of Mohammed disclosing language model output, when the same model receives a prompt as input, it is indicated that the answer, i.e. output, is acquired from the language model executer, i.e. that performing the operations of the language model, through inputting the prompt to the language model]).
Regarding claim 15, Mohammed in view of Hettige, further in view of Duggirala discloses: the information processing apparatus according to claim 14.
Mohammed further discloses:
wherein the language model is a large language model ([0123] wherein each task agent provides the respective task prompt to the second large language model, [i.e. the language model responsible for generating answers]).
Regarding claim 17, Mohammed in view of Hettige, further in view of Duggirala discloses: the information processing apparatus according to claim 1.
Mohammed further discloses:
wherein the processing circuitry performs the generation of the plurality of partial questions and the determination of the order of the plurality of partial questions by applying, to the question, a planning algorithm that plans partial questions and an order of the partial questions to obtain a correct answer to the question ([0044] The planning agent decomposes the use case input into a plurality of tasks for achieving the objective, [0056] the planning agent may also determine a schedule for execution of the plurality of tasks. Determining a schedule for execution of tasks may include building a directed dependency graph of the plurality of tasks based on dependencies between the tasks of the plurality of tasks. The directed dependency graph indicates which other tasks must be completed before execution of a given task can begin, [Scheduling execution of tasks indicates the schedule to be an ordering so there are no dependence discrepancies, considering the previously disclosed output of Mohammed which will necessarily be an answer to a received input question]).
Regarding claim 18, Mohammed in view of Hettige, further in view of Duggirala discloses: the information processing apparatus according to claim 17.
Mohammed further discloses:
further comprising a question input device configured to accept an input of the question from a user through a screen of an application ([Fig. 6, Display 143 connected to Input Device 144], [0083] FIG. 3 schematically illustrates a flow of data from a user input to operations in the computing platform. A user 101 provides a use case input to the planning agent, [In view of use case input 401 of Fig. 4, indicating this to be a question in view of the instant application’s definition of question disclosed in [0011]. Further, disclosure of user input and a computing device containing a display and input device indicates the user input can be entered through the display connected to input device]),
wherein the processing circuitry performs the generation of the plurality of partial questions and the determination of the order of the plurality of partial questions for the question received by the question input device ([Fig. 3, output from Planning Agent 103 based on input from User 101], [0083] The planning agent generates a plurality of tasks based on the use case input. Each task is provided to a task agent 107. Each task agent identifies a tool 110 based on the description of the task. The identified tool 110 is used to perform an operation on the computing platform, [In view of previously cited section of Mohammed for claim 17, disclosing decomposition of input into tasks and scheduling of tasks based on task dependency, indicating the plurality of tasks, i.e. partial questions, to be performed in Fig. 3 are scheduled/ordered and determined based on received user input 101, i.e. a question]).
Regarding claim 19, Mohammed discloses: an information processing method (Abstract, Methods, apparatuses and computer programs are for executing complex computing tasks, [A complex computing task will process information on the computing device]) comprising:
performing, based on an input question ([Fig. 4, Use Case Input 401], [0040] the use case input may be a natural language input comprising a text string defining an objective in natural language. The natural language input may be typed into a user interface of the computing device or be provided as spoken language recorded by a microphone, [Comparing the format of the input 401 of Mohammed to that of the instant application, see [0011] “want to know whether Room RM 101 was appropriately cooled yesterday, show it in a graph”, the “questions” between the two sources appear to be synonymous, indicating the input of Mohammed to be a question]), generation of a plurality of partial questions and determination of an order of the plurality of partial questions ([0044] a planning agent may receive a use case input from a user indicating an objective for completion in the computing platform. The planning agent decomposes the use case input into a plurality of tasks for achieving the objective, [0055] Decomposing a use case input into a plurality of tasks may comprise building a directed dependency graph of the plurality of tasks based on dependencies between the tasks of the plurality of tasks. The directed dependency graph indicates which other tasks must be completed before execution of a given task can begin. Tasks upon which other tasks are dependent are prioritized, [0056] the planning agent may also determine a schedule for execution of the plurality of tasks, [Prioritizing and being aware of task dependencies suggests a priority order of each task, i.e. partial question, comprising the overall use case, i.e. input question]);
selecting a first partial question among the plurality of partial questions in accordance with the order ([Fig. 3, Task Agent A 107 with selected Tool 1 110], [In view of the previously cited scheduling/prioritizing of tasks based on dependencies, one of the tasks, i.e. partial question, with an associated tool, i.e. database, will necessarily require representation of a first partial question in view of the remaining tasks/partial question, i.e. Task Agent A, and a first database, i.e. Tool 1, based on the content of the partial question]),
specifying a first question matching the first partial question based on a switch rule associating a plurality of databases respectively storing different kinds of data with a plurality of questions ([0046] The planning agent may retrieve the use case template from a template repository 106 storing different template examples, [0075] Deterministic input for the tools is ensured by providing a task prompt template that mandates a structured format), and selecting a first database corresponding to the specified first question among the plurality of databases ([Retrieving use case templates based on operations to answer questions indicates the template to be selected for a particular case based on a mandated match. Further, in view of the plurality of task agents with associated tool (see Fig. 3), this indicates the template to be used by the tools to be one of many based on type of question received, wherein the tools used can be switched based on the required tasks comprising the input question]),
wherein the switch rule associates the plurality of questions with a plurality of prompt text for producing a question to be included in a prompt ([Considering the previously disclosed mandated template format for specific use cases indicating an association of questions, i.e. input, to prompt text, i.e. in the mandated form of a template which includes questions]);
selecting a first prompt text from the switch rule based on a content of the first partial question ([0062] The task prompt may be generated by combining the some or all of the task (such as the information defining the task type and the task parameters) with a task prompt template. The task prompt template may be retrieved by the task agent 107 from the template repository 106), generating a first prompt to be input to a language model based on the first database and the first prompt text ([0063] The task context information of the task prompt may include an indication that the second LLM should identify a tool suitable for performing an operation that accomplishes an action, [0123] wherein each task agent provides the respective task prompt to the second large language model, [In view of the previously disclosed plurality of prompt texts from prompt text repository 106, gathering a prompt template for a task, i.e. question, based on a mandated match (see [0075]) indicates the template to be selected based on the content of the first partial question. Further, combining the current task with the task template indicates a dependency upon the first database, i.e. tools associated with the task, and first prompt text, i.e. task, to come to the current prompt. Further still, using a LLM for identification of tools based on a task prompt indicates the LLM to be receiving the prompt]), and
generating an answer to the first partial question based on the first prompt and the language model ([Fig. 5, Task Prompt 503 based on selected tool, i.e. database, and input task, i.e. question], [0076] the task agent generates a structured response based on the results of the execution. This may involve requiring that the task agent calls a further tool at the end of every task execution so that all necessary responses are communicated to a file that can be read by listeners, [In the context of the input being a “question”, output in response to a question will be an answer]);
selecting a second partial question among the plurality of partial questions in accordance with the order ([Fig. 3, Task Agent C 107 with selected Tool 2 110], [In view of the previously cited scheduling/prioritizing of tasks based on dependencies, one of the tasks, i.e. partial question, with an associated tool, i.e. database, will necessarily require representation of a first partial question in view of the remaining tasks/partial question, i.e. Task Agent C, and a first database, i.e. Tool 2, based on the content of the partial question, wherein multiple tasks comprising a request from a user indicates each task to be a partial question with at least two parts corresponding to the two tools]),
specifying a second question matching the second partial question based on the switch rule ([Considering the previously disclosed use case templates with mandated task prompt templates in view of the plurality of tasks of Mohammed, indicating at least a second question matching operations corresponding to a second use case template for a specified task]), and
selecting a second database corresponding to the specified second question among the plurality of databases ([As previously disclosed, tools correspond to databases, indicating a second tool for answering a second task requires a second database to be selected, i.e. the second tool itself. The rationale applied to the first partial question can be applied to the second partial question without a change in functionality to Mohammed as the user requests of Mohammed comprise multiple tasks]);
selecting a second prompt text from the switch rule based on a content of the second partial question ([In view of the previous disclosure of [0123] defining each task agent to be providing respective task prompts to the language model indicates at least a second prompt to be selected based on the second partial question and database, wherein the previously cited task dependencies/schedule necessarily requires a second prompt dependent upon the answer to a first partial question to answer the second partial question, i.e. task. Further, the combining of a current task with a task prompt template as previously cited ([0062]) could be extended to this second, dependent task, i.e. partial question, without a change in functionality to Mohammed as Mohammed defines multiple tasks, i.e. partial questions, with associated tools, i.e. databases. Further, the examiner asserts that creation of an object related to a sensor for monitoring when data exceeds a threshold ([0084]) indicates the object to be a variable related to the data as compared to a threshold]),
wherein a variable is included in the second prompt text ([0084] generate an alert when data from a first sensor stored at a first data source is greater than a certain threshold. A use case prompt is generated by a planning agent based on the use case input and a planning template. Based on the use case prompt, the first LLM may output a plurality of tasks including a first task relating to the creation of an object corresponding to the sensor and a second task relating to ingestion of data relating to the sensor, [The variable in this instance is a Boolean variable representative of whether or not the data gathered from the first sensor exceeds a threshold and/or a quantity representing the amount of data. Further, the variable is included in the second prompt, i.e. the data ingestion, as would be required to gather the data from the sensor for ingestion]); and
updating the second prompt text by assigning, to the variable, a value included in the answer to the first partial question ([0084] The task agent may determine that a Dataset Uploader Tool is suitable for performing the second task and may determine that an identifier of the first database and a file name for the first sensor data are required as inputs for the Dataset Uploader tool as tool input parameters. The task agent may then extract an identifier of the first database and a file name for the first sensor data from the second task and provide these to the Dataset Uploader tool for execution. Further tasks may define tasks resulting in the generation of alert parameters, such as the generation of further objects linked to the object corresponding to the sensor, [In order to ingest data from an object, that object must first be defined. This indicates a first partial question variable relating to object creation/definition and a second prompt text associated with data ingestion of said previously defined variable, wherein that prompt is updated based on the object the data is gathered from (in view of the plurality of task agents performing tasks). Further still, linking objects to the sensor indicates a required generation of the sensor object, i.e. first partial question, for the linking operation, i.e. second partial question, between objects, wherein a linking prompt text would be updated through the names of object which are/have been linked as would be determined through the first partial question relating to object creation/definition]),
generating a second prompt to be input to the language model based on the updated second prompt test and the second database ([Considering the previously cited section of [0123] which discloses each task agent to be providing respective task prompts to the language model indicates at least a second prompt to be selected based on the second partial question and database]), and
generating an answer to the second partial question based on the second prompt and the language model ([in view of the previously cited section of [0076] which discloses each task agent generating a response based on execution of their respective tools, indicating at least an answer to the second partial question based on the second prompt which is provided to the language model]).
Mohammed does not disclose:
executing, by a code executor, a program code in a case where the program code is included in the answer to the second partial question, wherein
in a case where the program code includes a variable representing a sensor and a command for executing processing based on a value of the variable representing the sensor, the code executer specifies the identification information of the sensor included in the program code, reads time series data of the corresponding sensor from a time series database storing time series data of each of a plurality of sensors in association with identification information of the sensor based on the specified identification information, assigns the read time series data to the variable representing the sensor, executes the command, and outputs a result of the processing, and
the command is a command for generating a graph based on data of the variable representing the sensor; and
outputting, but the code executor the graph as the result of the processing.
Hettige discloses:
executing, by a code executor, a program code in a case where the program code is included in the answer to the second partial question ([0142] The system and subsystems depicted in FIG. 4 may be implemented in software (e.g., code, instructions, program) executed by one or more processing units, [Wherein the fine-tuned model 430 is disclosed to be implemented using code is also defined to be used for a question-answering task ([0130]) indicating a code to be executed in an answer produced by the model of Hettige is within the scope of Hettige. Further, the system of Fig. 4 of Hettige containing a response generation module 436 for multi-turn conversations ([0162]) in view of the partial responses of Mohammed indicates at least a second partial question in view of the multiple parts of questions of Mohammed]).
Mohammed and Hettige are considered analogous art within multi-task language model processing for question-answering. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Mohammed to incorporate the teachings of Hettige, because of the novel way to fine-tune LLMs on specific tasks to enhance their understanding of the assets that will be used when performing as an agent, improving the LLM’s ability to conform to natural language tasks and reducing likelihood of hallucinations in generated responses (Hettige, [0030]-[0031]).
Mohammed further discloses:
wherein the value included in the answer to the first partial question is identification information of the sensor ([As previously disclosed in [0084], extraction of an identifier for the database, i.e. tool, to be later used for object linking to the sensor indicates the extracted identifier to be a value included in an answer to a first partial question, i.e. tool/task determination, wherein that tool/task is related to a sensor indicating the identifier of a tool to be synonymous to an identifier of the sensor when the sensor is the tool, considering the sensor data ingestion task necessarily requires the sensor]);
wherein
in a case where the program code includes a variable representing a sensor and a command for executing processing based on a value of the variable representing the sensor ([See previously cited section [0084] example alerting operation]), the code executer specifies the identification information of the sensor included in the program code ([Consider the previously disclosed identifier determination for determining the database, i.e. tool, wherein that tool can be the sensor]), reads time series data of the corresponding sensor from a time series database storing time series data of each of a plurality of sensors in association with identification information of the sensor based on the specified identification information ([It is reasonable to assume that a sensor monitoring data will store associated times with the data (consider the time stamp and/or time series data types defined in [0164] of Hettige for training LLMs which perform question-answering tasks)]), assigns the read time series data to the variable representing the sensor ([0084] a second task relating to ingestion of data relating to the sensor, [Ingestion of data in view of prompt 503 of Fig. 5 wherein the dataset variable has been assigned to that gathered by the sensor]), executes the command, and outputs a result of the processing ([Considering the previously cited portions of [0084], further tasks generating alert parameters indicates execution of the ‘alert’ command with the alert being output based on processing the sensor data as compared to the threshold alert parameters]).
Mohammed in view of Hettige does not disclose:
the command is a command for generating a graph based on data of the variable representing the sensor; and
outputting, but the code executor the graph as the result of the processing.
Duggirala discloses:
the command is a command for generating a graph based on data of the variable representing the sensor ([Fig. 6C-D, Query “Can you share insights on the top three companies listed above?”], [A clear command for generating insights (in the form of a graph as disclosed below) based on data of variables representing the profit/loss of sectors, wherein those values would be tracked by a sensor, see disclosure of sensors in [0111] of Duggirala in view of the sensor of Mohammed]); and
outputting, but the code executor the graph as the result of the processing ([Fig. 6D, Response “Below are graphs…”, Graph 1-6]).
Mohammed, Hettige, and Duggirala are considered analogous art within artificial intelligence-based question-answering. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Mohammed in view of Hettige to incorporate the teachings of Duggirala, because of the novel way to summarize external data source through leveraging data-visualization tools, allowing for the generation of human-consumable data that reflect current business, market, and social conditions beyond the capability of manual processes (Duggirala, [0019]).
Regarding claim 20, Mohammed discloses: a non-transitory computer readable medium having a computer program stored therein which causes a computer to perform processes ([0092] Such instructions, when stored in non-transitory storage media accessible to the processor 139, render the computer system 137 into a special-purpose machine that is customized to perform the operations specified in the instructions) comprising:
performing, based on an input question ([Fig. 4, Use Case Input 401], [0040] the use case input may be a natural language input comprising a text string defining an objective in natural language. The natural language input may be typed into a user interface of the computing device or be provided as spoken language recorded by a microphone, [Comparing the format of the input 401 of Mohammed to that of the instant application, see [0011] “want to know whether Room RM 101 was appropriately cooled yesterday, show it in a graph”, the “questions” between the two sources appear to be synonymous, indicating the input of Mohammed to be a question]), generation of a plurality of partial questions and determination of an order of the plurality of partial questions ([0044] a planning agent may receive a use case input from a user indicating an objective for completion in the computing platform. The planning agent decomposes the use case input into a plurality of tasks for achieving the objective, [0055] Decomposing a use case input into a plurality of tasks may comprise building a directed dependency graph of the plurality of tasks based on dependencies between the tasks of the plurality of tasks. The directed dependency graph indicates which other tasks must be completed before execution of a given task can begin. Tasks upon which other tasks are dependent are prioritized, [0056] the planning agent may also determine a schedule for execution of the plurality of tasks, [Prioritizing and being aware of task dependencies suggests a priority order of each task, i.e. partial question, comprising the overall use case, i.e. input question]);
selecting a first partial question among the plurality of partial questions in accordance with the order ([Fig. 3, Task Agent A 107 with selected Tool 1 110], [In view of the previously cited scheduling/prioritizing of tasks based on dependencies, one of the tasks, i.e. partial question, with an associated tool, i.e. database, will necessarily require representation of a first partial question in view of the remaining tasks/partial question, i.e. Task Agent A, and a first database, i.e. Tool 1, based on the content of the partial question]),
specifying a first question matching the first partial question based on a switch rule associating a plurality of databases respectively storing different kinds of data with a plurality of questions ([0046] The planning agent may retrieve the use case template from a template repository 106 storing different template examples, [0075] Deterministic input for the tools is ensured by providing a task prompt template that mandates a structured format), and selecting a first database corresponding to the specified first question among the plurality of databases ([Retrieving use case templates based on operations to answer questions indicates the template to be selected for a particular case based on a mandated match. Further, in view of the plurality of task agents with associated tool (see Fig. 3), this indicates the template to be used by the tools to be one of many based on type of question received, wherein the tools used can be switched based on the required tasks comprising the input question]),
wherein the switch rule associates the plurality of questions with a plurality of prompt text for producing a question to be included in a prompt ([Considering the previously disclosed mandated template format for specific use cases indicating an association of questions, i.e. input, to prompt text, i.e. in the mandated form of a template which includes questions]);
selecting a first prompt text from the switch rule based on a content of the first partial question ([0062] The task prompt may be generated by combining the some or all of the task (such as the information defining the task type and the task parameters) with a task prompt template. The task prompt template may be retrieved by the task agent 107 from the template repository 106), generating a first prompt to be input to a language model based on the first database and the first prompt text ([0063] The task context information of the task prompt may include an indication that the second LLM should identify a tool suitable for performing an operation that accomplishes an action, [0123] wherein each task agent provides the respective task prompt to the second large language model, [In view of the previously disclosed plurality of prompt texts from prompt text repository 106, gathering a prompt template for a task, i.e. question, based on a mandated match (see [0075]) indicates the template to be selected based on the content of the first partial question. Further, combining the current task with the task template indicates a dependency upon the first database, i.e. tools associated with the task, and first prompt text, i.e. task, to come to the current prompt. Further still, using a LLM for identification of tools based on a task prompt indicates the LLM to be receiving the prompt]), and
generating an answer to the first partial question based on the first prompt and the language model ([Fig. 5, Task Prompt 503 based on selected tool, i.e. database, and input task, i.e. question], [0076] the task agent generates a structured response based on the results of the execution. This may involve requiring that the task agent calls a further tool at the end of every task execution so that all necessary responses are communicated to a file that can be read by listeners, [In the context of the input being a “question”, output in response to a question will be an answer]);
selecting a second partial question among the plurality of partial questions in accordance with the order ([Fig. 3, Task Agent C 107 with selected Tool 2 110], [In view of the previously cited scheduling/prioritizing of tasks based on dependencies, one of the tasks, i.e. partial question, with an associated tool, i.e. database, will necessarily require representation of a first partial question in view of the remaining tasks/partial question, i.e. Task Agent C, and a first database, i.e. Tool 2, based on the content of the partial question, wherein multiple tasks comprising a request from a user indicates each task to be a partial question with at least two parts corresponding to the two tools]),
specifying a second question matching the second partial question based on the switch rule ([Considering the previously disclosed use case templates with mandated task prompt templates in view of the plurality of tasks of Mohammed, indicating at least a second question matching operations corresponding to a second use case template for a specified task]), and
selecting a second database corresponding to the specified second question among the plurality of databases ([As previously disclosed, tools correspond to databases, indicating a second tool for answering a second task requires a second database to be selected, i.e. the second tool itself. The rationale applied to the first partial question can be applied to the second partial question without a change in functionality to Mohammed as the user requests of Mohammed comprise multiple tasks]);
selecting a second prompt text from the switch rule based on a content of the second partial question ([In view of the previous disclosure of [0123] defining each task agent to be providing respective task prompts to the language model indicates at least a second prompt to be selected based on the second partial question and database, wherein the previously cited task dependencies/schedule necessarily requires a second prompt dependent upon the answer to a first partial question to answer the second partial question, i.e. task. Further, the combining of a current task with a task prompt template as previously cited ([0062]) could be extended to this second, dependent task, i.e. partial question, without a change in functionality to Mohammed as Mohammed defines multiple tasks, i.e. partial questions, with associated tools, i.e. databases. Further, the examiner asserts that creation of an object related to a sensor for monitoring when data exceeds a threshold ([0084]) indicates the object to be a variable related to the data as compared to a threshold]),
wherein a variable is included in the second prompt text ([0084] generate an alert when data from a first sensor stored at a first data source is greater than a certain threshold. A use case prompt is generated by a planning agent based on the use case input and a planning template. Based on the use case prompt, the first LLM may output a plurality of tasks including a first task relating to the creation of an object corresponding to the sensor and a second task relating to ingestion of data relating to the sensor, [The variable in this instance is a Boolean variable representative of whether or not the data gathered from the first sensor exceeds a threshold and/or a quantity representing the amount of data. Further, the variable is included in the second prompt, i.e. the data ingestion, as would be required to gather the data from the sensor for ingestion]); and
updating the second prompt text by assigning, to the variable, a value included in the answer to the first partial question ([0084] The task agent may determine that a Dataset Uploader Tool is suitable for performing the second task and may determine that an identifier of the first database and a file name for the first sensor data are required as inputs for the Dataset Uploader tool as tool input parameters. The task agent may then extract an identifier of the first database and a file name for the first sensor data from the second task and provide these to the Dataset Uploader tool for execution. Further tasks may define tasks resulting in the generation of alert parameters, such as the generation of further objects linked to the object corresponding to the sensor, [In order to ingest data from an object, that object must first be defined. This indicates a first partial question variable relating to object creation/definition and a second prompt text associated with data ingestion of said previously defined variable, wherein that prompt is updated based on the object the data is gathered from (in view of the plurality of task agents performing tasks). Further still, linking objects to the sensor indicates a required generation of the sensor object, i.e. first partial question, for the linking operation, i.e. second partial question, between objects, wherein a linking prompt text would be updated through the names of object which are/have been linked as would be determined through the first partial question relating to object creation/definition]),
generating a second prompt to be input to the language model based on the updated second prompt test and the second database ([Considering the previously cited section of [0123] which discloses each task agent to be providing respective task prompts to the language model indicates at least a second prompt to be selected based on the second partial question and database]), and
generating an answer to the second partial question based on the second prompt and the language model ([in view of the previously cited section of [0076] which discloses each task agent generating a response based on execution of their respective tools, indicating at least an answer to the second partial question based on the second prompt which is provided to the language model]).
Mohammed does not disclose:
executing, by a code executor, a program code in a case where the program code is included in the answer to the second partial question, wherein
in a case where the program code includes a variable representing a sensor and a command for executing processing based on a value of the variable representing the sensor, the code executer specifies the identification information of the sensor included in the program code, reads time series data of the corresponding sensor from a time series database storing time series data of each of a plurality of sensors in association with identification information of the sensor based on the specified identification information, assigns the read time series data to the variable representing the sensor, executes the command, and outputs a result of the processing, and
the command is a command for generating a graph based on data of the variable representing the sensor; and
outputting, but the code executor the graph as the result of the processing.
Hettige discloses:
executing, by a code executor, a program code in a case where the program code is included in the answer to the second partial question ([0142] The system and subsystems depicted in FIG. 4 may be implemented in software (e.g., code, instructions, program) executed by one or more processing units, [Wherein the fine-tuned model 430 is disclosed to be implemented using code is also defined to be used for a question-answering task ([0130]) indicating a code to be executed in an answer produced by the model of Hettige is within the scope of Hettige. Further, the system of Fig. 4 of Hettige containing a response generation module 436 for multi-turn conversations ([0162]) in view of the partial responses of Mohammed indicates at least a second partial question in view of the multiple parts of questions of Mohammed]).
Mohammed and Hettige are considered analogous art within multi-task language model processing for question-answering. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Mohammed to incorporate the teachings of Hettige, because of the novel way to fine-tune LLMs on specific tasks to enhance their understanding of the assets that will be used when performing as an agent, improving the LLM’s ability to conform to natural language tasks and reducing likelihood of hallucinations in generated responses (Hettige, [0030]-[0031]).
Mohammed further discloses:
wherein the value included in the answer to the first partial question is identification information of the sensor ([As previously disclosed in [0084], extraction of an identifier for the database, i.e. tool, to be later used for object linking to the sensor indicates the extracted identifier to be a value included in an answer to a first partial question, i.e. tool/task determination, wherein that tool/task is related to a sensor indicating the identifier of a tool to be synonymous to an identifier of the sensor when the sensor is the tool, considering the sensor data ingestion task necessarily requires the sensor]);
wherein
in a case where the program code includes a variable representing a sensor and a command for executing processing based on a value of the variable representing the sensor ([See previously cited section [0084] example alerting operation]), the code executer specifies the identification information of the sensor included in the program code ([Consider the previously disclosed identifier determination for determining the database, i.e. tool, wherein that tool can be the sensor]), reads time series data of the corresponding sensor from a time series database storing time series data of each of a plurality of sensors in association with identification information of the sensor based on the specified identification information ([It is reasonable to assume that a sensor monitoring data will store associated times with the data (consider the time stamp and/or time series data types defined in [0164] of Hettige for training LLMs which perform question-answering tasks)]), assigns the read time series data to the variable representing the sensor ([0084] a second task relating to ingestion of data relating to the sensor, [Ingestion of data in view of prompt 503 of Fig. 5 wherein the dataset variable has been assigned to that gathered by the sensor]), executes the command, and outputs a result of the processing ([Considering the previously cited portions of [0084], further tasks generating alert parameters indicates execution of the ‘alert’ command with the alert being output based on processing the sensor data as compared to the threshold alert parameters]).
Mohammed in view of Hettige does not disclose:
the command is a command for generating a graph based on data of the variable representing the sensor; and
outputting, but the code executor the graph as the result of the processing.
Duggirala discloses:
the command is a command for generating a graph based on data of the variable representing the sensor ([Fig. 6C-D, Query “Can you share insights on the top three companies listed above?”], [A clear command for generating insights (in the form of a graph as disclosed below) based on data of variables representing the profit/loss of sectors, wherein those values would be tracked by a sensor, see disclosure of sensors in [0111] of Duggirala in view of the sensor of Mohammed]); and
outputting, but the code executor the graph as the result of the processing ([Fig. 6D, Response “Below are graphs…”, Graph 1-6]).
Mohammed, Hettige, and Duggirala are considered analogous art within artificial intelligence-based question-answering. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Mohammed in view of Hettige to incorporate the teachings of Duggirala, because of the novel way to summarize external data source through leveraging data-visualization tools, allowing for the generation of human-consumable data that reflect current business, market, and social conditions beyond the capability of manual processes (Duggirala, [0019]).
Claim(s) 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Mohammed in view of Hettige, further in view of Duggirala, further in view of Crupi et al. (US-20160179922-A1), hereinafter Crupi.
Regarding claim 16, Mohammed discloses: the information processing apparatus according to claim 1.
Mohammed does not disclose:
wherein the input question is a question related to a state of a facility in which a plurality of sensors are disposed and the state of which is monitored by the sensors, and
the plurality of databases include at least a database related to a kind of the monitored state, a database related to equipment included in the facility, and a database related to the sensors.
Crupi discloses:
wherein the input question is a question related to a state of a facility in which a plurality of sensors are disposed and the state of which is monitored by the sensors ([Fig. 4, “Concrete Question”], [0103] FIG. 9 shows an example of voltage sensor data from three oil wells, [The question disclosed in Fig. 4 is related to the voltage states of oil wells, i.e. the oil well facility, wherein each oil well has its own sensor and the voltage state is being monitored by said sensor]), and
the plurality of databases include at least a database related to a kind of the monitored state ([Fig. 3, Timestamp Data], [0061] There is a single instance of the timestamp model, which represents timestamp data and the timestamp partition (which in this example case is expressed in minutes). This implies that the measures and dimensions analyzer 108 determined the “best fit” time partition is “minutes” because the data, on average, arrives every minute, [0065] Timestamps that indicate that data is incoming every second may suggest that the distinct time dimensions are seconds, minutes, and hours, and timestamps that indicate that data is incoming once an hour may suggest that the distinct dimensions are hours and days, [Determining to analyze every second/minute/hour indicates that the monitored state is only “monitored/on” every second/minute/hour]), a database related to equipment included in the facility ([Fig. 3, Dimension Data], [Storing data related to the type of engines in a facility tracks to equipment of the facility]), and a database related to the sensors ([Fig. 3, Measure Data], [Measuring voltage data from sensors (as previously cited and disclosed) indicates the measure data to be a database related to the sensors]).
Mohammed and Crupi are considered analogous art within multi-source question-answering using machine-learning. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Mohammed to incorporate the teachings of Crupi, because of the novel way to generate questions and answers on multi-source, real-time, and historical data without requiring a priori knowledge of the data stream, improving question-answering for complex temporal business questions (Crupi, [0014]).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Zhang et al. (US-20240370658-A1) discloses “Example implementations include a method, apparatus, and computer-readable medium configured for receiving, at an interface between a user and a large language model, an original natural language prompt including a plurality of facts from the user. The implementations further include generating a series of contextual sub-questions based on the original natural language prompt using the large language model. Additionally, the implementations further include providing the contextual sub-questions to the large language model to obtain contextual answers. Additionally, the implementations further include applying the contextual sub-questions against the original natural language prompt with the contextual answers as a refined natural language prompt to the large language model in a reverse order of the series. Additionally, the implementations further include outputting, to the user, a final answer from the large language model to a terminal state of the refined natural language prompt” (abstract). See entire document.
Dong et al. (US-20250355713-A1) discloses “A task generation method performed by a computer device includes: obtaining task requirement information inputted based on a task generation interface; calling a large language model, and inputting the task requirement information into the large language model for performing semantic interpretation on the task requirement information and outputting an executable structural body of a target task that matches the task requirement information; performing graphic rendering on the target task based on the executable structural body of the target task, to obtain a task execution flowchart of the target task, and displaying the task execution flowchart in the task generation interface, the target task being formed according to one or more target atomic tasks; and displaying an execution progress viewing link of the target task in the task generation interface, the execution progress viewing link being configured for viewing an execution progress of the target task.” (abstract). See entire document.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to THEODORE JOHN WITHEY whose telephone number is (703)756-1754. The examiner can normally be reached Monday - Friday, 8am-5pm.
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, Andrew Flanders can be reached at (571) 272-7516. 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.
/THEODORE WITHEY/
Examiner, Art Unit 2655
/ANDREW C FLANDERS/Supervisory Patent Examiner, Art Unit 2655