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
Continued Examination Under 37 CFR 1.114
2. A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 10/14/2025 has been entered. Claims 1 and 16-20 have been amended. Claims 1-20 remain pending in the application.
Response to Amendments
3. The Amendment filed 07/23/2025 has been entered. Claims 1, 10, 12, and 16 have been amended. Claims 1-20 remain pending in the application.
4. Applicant’s amendments to the claims 1 and 16 have been fully considered and are persuasive. The amendments provided to overcome the 101 rejection issued in the last office action is sufficient. The 35 U.S.C § 101 rejection of claims 1-20 is respectfully withdrawn.
Response to Arguments
5. Applicant’s arguments with respect to claims have been considered but are moot in view of new ground of rejection. See rejections below for details.
Claim Rejections – 35 USC § 103
6. 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.
7. Claims 1-10, 13-14, and 16-20 are rejected under 35 U.S.C. 103 as being unpatentable over Zeiler et al. (U.S. Patent Application Pub. No. US 20180089592 A1) in view of Doddi et al. (U.S. Patent Application Pub. No. US 20190258947 A1), and further in view of Hauschild et al. (U.S. Patent Application Pub. No. US 20140282053 A1).
Claim 1: Zeiler teaches a method comprising:
receiving, via a workflow editor interface (i.e. one or more service platforms described herein may provide one or more user interfaces that present one or more options to select/access the model representations. Responsive to user selection of such options, the selected model representations may be presented on the user interface. As an example, the model representations may include a first prediction model representation corresponding to a first prediction model, a second prediction model representation corresponding to a second prediction model; para. [0005, 0006, 0034]), a user selection of a first artificial intelligence (Al) agent for a workflow (i.e. fig. 3A, service interface subsystem 112 may cause user-selectable model representations, input/output representations, or other representations to be available via a user interface. As an example, one or more options to select/access the representations may be presented on the user interface. Responsive to user selection of such options, the corresponding representations may be presented on the user interface. The model representations may include a first machine learning model representation corresponding to a first machine learning model, a second machine learning model representation corresponding to a second machine learning model; para. [0037, 0041, 0042]);
receiving, via the workflow editor interface, a user selection of a second Al agent (i.e. fig. 3A, service interface subsystem 112 may cause user-selectable model representations, input/output representations, or other representations to be available via a user interface. As an example, one or more options to select/access the representations may be presented on the user interface. Responsive to user selection of such options, the corresponding representations may be presented on the user interface. The model representations may include a first machine learning model representation corresponding to a first machine learning model, a second machine learning model representation corresponding to a second machine learning model; para. [0037, 0041, 0042]);
receiving, via the workflow editor interface, a selection of a data source to input to the first Al agent (i.e. FIG. 3A, user interface 300 of a service platform displays representations of components related to functionalities to be provided via an application. For example, such components include machine learning models 302, 304, 306, and 308, non-machine-learning models 310 and 312, designated input sources (or type) 314, designated output destinations (or type) 316, 318, and 320, and input/output paths 322; para. [0036, 0037]);
receiving, via the workflow editor interface, a selection of data to input to the second Al agent, wherein the data to input to the second Al agent comprises data output by the first Al agent (i.e Based on the arrangement of machine learning models 304 and 306 in the workflow shown in FIG. 3C, the output of machine learning model 304 is provided as input to machine learning model 306; para. [0048]);
receiving, via the workflow editor interface, a selection of training data for the first Al agent and the second Al agent (i.e. model subsystem 114 may enable one or more machine learning models to be trained with respect to a workflow or other arrangement of the machine learning models. In some embodiments, the machine learning models of a workflow may be trained/re-trained/further trained subsequent to being added to the workflow and prior to being incorporated as at least part of an application being developed. In some embodiments, the machine learning models of the workflow may be trained/re-trained/further trained subsequent to being added to the workflow and subsequent to being incorporated as at least part of the application. Training data used to train the machine learning models may include (i) inputs to be provided to a machine learning model (e.g., inputs provided to and processed by other machine learning models or other inputs), (ii) reference outputs that are to be derived from a machine learning model's processing of such inputs (e.g., user-confirmed or user-provided outputs, outputs confirmed through one or more machine learning models' processing of such inputs, outputs confirmed multiple times by processing of such inputs by respective sets of machine learning models, or other reference outputs); para. [0047-0049]);
training, based on the training data, the first Al agent and the second Al agent (i.e. model subsystem 114 may enable one or more machine learning models to be trained with respect to a workflow or other arrangement of the machine learning models. In some embodiments, the machine learning models of a workflow may be trained/re-trained/further trained subsequent to being added to the workflow and prior to being incorporated as at least part of an application being developed. In some embodiments, the machine learning models of the workflow may be trained/re-trained/further trained subsequent to being added to the workflow and subsequent to being incorporated as at least part of the application. Training data used to train the machine learning models may include (i) inputs to be provided to a machine learning model (e.g., inputs provided to and processed by other machine learning models or other inputs), (ii) reference outputs that are to be derived from a machine learning model's processing of such inputs (e.g., user-confirmed or user-provided outputs, outputs confirmed through one or more machine learning models' processing of such inputs, outputs confirmed multiple times by processing of such inputs by respective sets of machine learning models, or other reference outputs); para. [0047-0049]);
after the first Al agent and the second Al agent are trained (i.e. model subsystem 114 may enable one or more machine learning models to be trained with respect to a workflow or other arrangement of the machine learning models. In some embodiments, the machine learning models of a workflow may be trained/re-trained/further trained subsequent to being added to the workflow and prior to being incorporated as at least part of an application being developed; para. [0047]), activating (i.e. a single call to a workflow may cause multiple machine learning models of the workflow to be executed; para. [0037]) the first Al agent and the second Al agent to perform operations based on the selection of the data source and the selection of data (i.e. system 100 may cause user-selectable model representations, input/output representations, or other representations to be available via a user interface. Based on user input indicating selection of one or more model or input/output representations, system 100 may cause a presentation of the model representations, input/output representations, or other representations. Additionally, or alternatively, based on the user input or subsequent user-initiated changes related to the representations, system 100 may generate at least a portion of a software application. As an example, responsive to the generation, the resulting software application may include one or more instances of machine learning models or non-machine-learning models that correspond to the presented model representations, one or more input/output paths between respective ones of the models or from/to other sources/destinations, or other components. In one use case, suppose a user wishes to use an API service's general image classification model and face detection model to find scenes containing a certain number of people in outdoor settings in a stream of images from a social media service; para. [0036, 0047-0049]);
receiving, via the workflow editor interface, an edit to the workflow, wherein the edit is associated with updating at least one of the first Al agent and the second Al agent (i.e. the service platform may facilitate collaboration among multiple users by enabling multiple users to supplement or otherwise modify the same workflow, including (i) adding prediction models or other processing operations to a workflow, (ii) removing prediction models or other processing operations from the workflow, (iii) commenting on portions of the workflow (e.g., commenting on a particular prediction model or other processing operation, commenting on a group of prediction models and other processing operations, etc.), (iv) setting inputs and outputs for prediction models and other processing operations of the workflow, or (v) other operations; para. [0035]); and
updating an updated version of the first set of key performance indicators and the second set of key performance indicators (i.e. model subsystem 114 may update the second instance based on changes for the machine learning model (e.g., code changes, architecture changes, training parameter changes, data changes, etc., provided by users of the service platform); para. [0029]).
Zeiler does not explicitly teach generating a first set of key performance indicators associated with a first operation performance of the first agent based on a first data output of the first agent; generating a second set of key performance indicators associated with a second operation performance of the second agent based on a second data output of the second agent; displaying a dashboard interface indicating the first set of key performance indicators for the first agent and the second set of key performance indicators for the second agent simultaneously; receiving, via the editor interface, an edit to the workflow, wherein the edit is associated with updating at least one of the first agent and the second agent and updating the dashboard interface to display an updated version of the first set of key performance indicators and the second set of key performance indicators.
However, Doddi teaches generating a first set of key performance indicators associated with a first operation performance of the first Al agent based on a first data output of the first Al agent (i.e. key performance indices of each model are provided to the user as to monitor the performance of each model; para. [0041]); generating a second set of key performance indicators associated with a second operation performance of the second Al agent based on a second data output of the second Al agent (i.e. The challenger module provides model testing and comparison functionality such that data streams can be split across different models, run in parallel, and/or sequentially. key performance indices of each model are provided to the user as to monitor the performance of each model; para. [0039, 0041, 0042]); displaying a dashboard interface indicating the first set of key performance indicators for the first Al agent and the second set of key performance indicators for the second Al agent (i.e. The interface layer 108 provides the user-facing functions for the platform 100. More specifically, the interface layer 108 includes a dashboard 124 that facilitates the creation and organization of projects within the platform 100, and allow s a user to monitor task progress, and see log files for troubleshooting. In some cases, the dashboard 124 also monitors machine utilization and health information for all machines in the deployment of the platform 100 … key performance indices of each model are provided to the user as to monitor the performance of each model; para. [0027, 0041]); receiving, via the workflow editor interface, an edit to the workflow, wherein the edit is associated with updating at least one of the first Al agent and the second Al agent and updating the dashboard interface to display an updated version of the first set of key performance indicators and the second set of key performance indicators.
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 Zeiler to include the feature of Doddi. One would have been motivated to make this modification because it improves visibility into performance of multiple models in a workflow.
However, Hauschild teaches displaying a dashboard interface indicating the first set of key performance indicators for the first Al agent and the second set of key performance indicators for the second Al agent simultaneously (i.e. FIG. 3 is a user interface 300 illustration, according to an example embodiment. The user interface 300 is an example of a dashboard visualization rendered from dashboard visualization data, such as dashboard visualization data 114 output by the dashboard module 102 of FIG. 1. As illustrated, the user interface includes four metric visualizations generated based on four different metric configurations; para. [0010, 0030]); receiving, via the workflow editor interface, an edit to the workflow, wherein the edit is associated with updating at least one of the first Al agent and the second Al agent and updating the dashboard interface to display an updated version of the first set of key performance indicators and the second set of key performance indicators (i.e. Each metric visualization included in the user interface 300 dashboard visualization also includes an UPDATE action button. Selection of an UPDATE button will cause the respective metric visualization to be recalculated and the view thereof refreshed. One or more other action buttons may be included in the user interface, which when selected may cause another user interface to be presented to provide the user an ability to modify a configuration of one or more of a metric configuration underlying the respective metric visualization or the underlying dashboard configuration. An example of such another user interface is illustrated in FIG. 4 and provides a tool through which the user can modify metric configurations included in the dashboard visualization included in the user interface 300; para. [0032]).
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 Zeiler and Doddi to include the feature of Hauschild. One would have been motivated to make this modification because it provides a way for users to define and modify metrics and dashboard views, and that such flexibility avoids the rigidity of hardcoded dashboards and permits refreshed visualizations reflecting changed underlying data.
Claim 2: Zeiler, Doddi, and Hauschild teach the method of claim 1. Zeiler further teaches comprising receiving a user selection to add an additional input source to the first Al agent (i.e. The input/output representations may include (i) connection components corresponding to one or more input/output data paths between the machine learning models or the non-machine-learning models, (ii) connection components corresponding to input sources (e.g., the application that incorporates such models, third party input sources, etc.), (iii) connection components corresponding to output sources (e.g., the application that incorporates such models, third party output sources, etc.), (iv) representations corresponding to input or output data types compatible with such models, or (v) other representations; para. [0041, 0044]).
Claim 3: Zeiler, Doddi, and Hauschild teach the method of claim 1. Zeiler further teaches comprising receiving a user selection to retrain the first Al agent or the second Al agent (i.e. model subsystem 114 may enable one or more machine learning models to be trained with respect to a workflow or other arrangement of the machine learning models. In some embodiments, the machine learning models of a workflow may be trained/re-trained/further trained subsequent to being added to the workflow and prior to being incorporated as at least part of an application being developed. In some embodiments, the machine learning models of the workflow may be trained/re-trained/further trained subsequent to being added to the workflow and subsequent to being incorporated as at least part of the application. Training data used to train the machine learning models may include (i) inputs to be provided to a machine learning model (e.g., inputs provided to and processed by other machine learning models or other inputs), (ii) reference outputs that are to be derived from a machine learning model's processing of such inputs (e.g., user-confirmed or user-provided outputs, outputs confirmed through one or more machine learning models' processing of such inputs, outputs confirmed multiple times by processing of such inputs by respective sets of machine learning models, or other reference outputs); para. [0047]).
Claim 4: Zeiler, Doddi, and Hauschild teach the method of claim 1. Zeiler further teaches wherein the workflow editor interface provides control to a user on input data provided to the first Al agent or the second Al agent (i.e. The input/output representations may include (i) connection components corresponding to one or more input/output data paths between the machine learning models or the non-machine-learning models, (ii) connection components corresponding to input sources (e.g., the application that incorporates such models, third party input sources, etc.), (iii) connection components corresponding to output sources (e.g., the application that incorporates such models, third party output sources, etc.), (iv) representations corresponding to input or output data types compatible with such models, or (v) other representations; para. [0041, 0044]).
Claim 5: Zeiler, Doddi, and Hauschild teach the method of claim 4. Zeiler further teaches wherein the workflow editor interface provides control to the user on data exchanged between the first Al agent and the second Al agent (i.e. system 100 may cause user-selectable model representations, input/output representations, or other representations to be available via a user interface. Based on user input indicating selection of one or more model or input/output representations, system 100 may cause a presentation of the model representations, input/output representations, or other representations. Additionally, or alternatively, based on the user input or subsequent user-initiated changes related to the representations, system 100 may generate at least a portion of a software application. As an example, responsive to the generation, the resulting software application may include one or more instances of machine learning models or non-machine-learning models that correspond to the presented model representations, one or more input/output paths between respective ones of the models or from/to other sources/destinations, or other components. In one use case, suppose a user wishes to use an API service's general image classification model and face detection model to find scenes containing a certain number of people in outdoor settings in a stream of images from a social media service; para. [0036]).
Claim 6: Zeiler, Doddi, and Hauschild teach the method of claim 1. Zeiler further teaches wherein the first Al agent and the second Al agent are operated in series (i.e. FIG. 3A, user interface 300 of a service platform displays representations of components related to functionalities to be provided via an application. For example, such components include machine learning models 302, 304, 306, and 308, non-machine-learning models 310 and 312, designated input sources (or type) 314, designated output destinations (or type) 316, 318, and 320, and input/output paths 322; para. [0036, 0037]).
Claim 7: Zeiler, Doddi, and Hauschild teach the method of claim 1. Zeiler further teaches wherein the first Al agent and the second Al agent form an operating environment, and further comprising updating the first Al agent without interrupting operations of the operating environment (i.e. Model subsystem 114 may cause updating of the application's instance of the first machine learning model by replacing, for the application, the first instance of the first machine learning model with the second instance of the first machine learning model. In this way, for example, the application may continue to operate simultaneously (e.g., using the first instance of the first machine learning model) while the second instance of the first machine learning model is updated, thereby reducing downtime in the application's operations; para. [0054, 0058]).
Claim 8: Zeiler, Doddi, and Hauschild teach the method of claim 1. Zeiler further teaches comprising: receiving, via the workflow editor interface, a user selection of a third Al agent (i.e. Based on user input indicating selection of one or more model or input/output representations, system 100 may cause a presentation of the model representations, input/output representations, or other representations. Additionally, or alternatively, based on the user input or subsequent user-initiated changes related to the representations, system 100 may generate at least a portion of a software application. As an example, responsive to the generation, the resulting software application may include one or more instances of machine learning models or non-machine-learning models that correspond to the presented model representations, one or more input/output paths between respective ones of the models or from/to other sources/destinations, or other components; para. [0034, 0036]); receiving, via the workflow editor interface, a selection of data to input to the third Al agent, wherein the data to input to the third Al agent comprises the data output by the first Al agent (i.e. The single call may cause a first machine learning model of the workflow to process one or more inputs and provide its outputs as inputs to one or more other machine learning models or non-machine-learning models, and cause those other machine learning models or non-machine-learning models to process the first machine learning model's outputs and provide their outputs to other components of the workflow or to the application (e.g., via the API client or other component of the application); para. [0036, 0037]); and executing the third Al agent in parallel with the second Al agent (i.e. a single call to a workflow may cause multiple machine learning models of the workflow to be executed. The single call may cause a first machine learning model of the workflow to process one or more inputs and provide its outputs as inputs to one or more other machine learning models or non-machine-learning models, and cause those other machine learning models or non-machine-learning models to process the first machine learning model's outputs and provide their outputs to other components of the workflow or to the application (e.g., via the API client or other component of the application); para. [0037, 0038]).
Claim 9: Zeiler, Doddi, and Hauschild teach the method of claim 1. Zeiler further teaches comprising: receiving, via the workflow editor interface, a user selection of a user input node (i.e. Based on user input indicating selection of one or more model or input/output representations, system 100 may cause a presentation of the model representations, input/output representations, or other representations. Additionally, or alternatively, based on the user input or subsequent user-initiated changes related to the representations, system 100 may generate at least a portion of a software application; para. [0035, 0036]); receiving, via the workflow editor interface, a selection of data to input to the user input node, wherein the data to input to the use input node comprises the data output by the first Al agent (i.e. a user may download and integrate an API client into the user's application. In some embodiments, the application may utilize the API client to make calls to one or more workflows created via system 100's service platform or user interface thereof. As an example, a single call to a workflow may cause multiple machine learning models of the workflow to be executed. The single call may cause a first machine learning model of the workflow to process one or more inputs and provide its outputs as inputs to one or more other machine learning models or non-machine-learning models, and cause those other machine learning models or non-machine-learning models to process the first machine learning model's outputs and provide their outputs to other components of the workflow or to the application (e.g., via the API client or other component of the application); para. [0037]); and receiving a selection of a user input to display when the user input node is activated (i.e. building blocks of a workflow may include a set of operation blocks for processing inputs and creating outputs to be passed into other stages of the workflow. Some examples of these operation blocks include (i) machine learning models, (ii) conditional statements to decide whether an output should pass to a next stage or which block to pass the output, (iii) mathematical/statistical models, (iv) image/video/audio/text/other data processing operation blocks, (v) operation blocks to initiate requests to third party APIs or programs, (vi) user-interface-related operation blocks (e.g., which cause one or more interactive features of a user interface), (vii) notification operation blocks (e.g., which cause one or more notifications to be sent or presented); para. [0038]).
Claim 10: Zeiler, Doddi, and Hauschild teach the method of claim 9. Zeiler further teaches wherein the first Al agent outputs a confidence score (i.e. building blocks of a workflow may include a set of operation blocks for processing inputs and creating outputs to be passed into other stages of the workflow. Some examples of these operation blocks include (i) machine learning models, (ii) conditional statements to decide whether an output should pass to a next stage or which block to pass the output; para. [0038, 0040]), and further comprising: in response to the confidence score satisfing a threshold, activating the second Al agent (i.e. building blocks of a workflow may include a set of operation blocks for processing inputs and creating outputs to be passed into other stages of the workflow. Some examples of these operation blocks include (i) machine learning models, (ii) conditional statements to decide whether an output should pass to a next stage or which block to pass the output; para. [0038, 0040]); and in response the confidence score failing to satisfy the threshold, activating the user input node thereby requesting user input (i.e If the moderation model outputs a score based on its processing of the input image, and the threshold score comparison model determines that the score does not satisfy a threshold score (e.g., not equal to or greater than 0.9 or other threshold), the threshold score comparison model may cause the input image to be added to the confirmation moderation queue; para. [0038, 0040]).
Claim 13: Zeiler, Doddi, and Hauschild teach the method of claim 1. Zeiler further teaches comprising: receiving an updated Al agent corresponding to the first Al agent; and replacing the first Al agent with the updated Al agent (i.e. model subsystem 114 may provide the given input and the reference indication to a second instance of the machine learning model (different from the first instance of the machine learning model). Model subsystem 114 may cause updating of the application's instance of the machine learning model by replacing, for the application, the first instance of the machine learning model with the second instance of the machine learning model. In this way, for example, the application may continue to operate simultaneously (e.g., using the first instance of the machine learning model) while the second instance of the machine learning model is being updated by training the second instance on training data (e.g., the given input, the reference indication, or other training data); para. [0054]).
Claim 14: Zeiler, Doddi, and Hauschild teach the method of claim 1. Zeiler further teaches comprising, after receiving the selection of data to input to the second Al agent (i.e. Based on user input indicating selection of one or more model or input/output representations, system 100 may cause a presentation of the model representations, input/output representations, or other representations. Additionally, or alternatively, based on the user input or subsequent user-initiated changes related to the representations, system 100 may generate at least a portion of a software application; para. [0035, 0036]), determining that a format of the data output by the first Al agent is compatible with a format of the data to input to the second Al agent (i.e. a user interface of system 100 may guide the developer to select and connect operation blocks that are compatible with one another, thereby reducing errors resulting from application component incompatibility. The user interface (or its associated service platform) may provide a developer with a set of compatible options when the developer selects an operation block that he/she wants to input to, output to, or otherwise extend. Additionally, or alternatively, the user interface may prevent a developer from connecting two operation blocks that are not compatible with one another. Compatibility may, for example, be determined based on input/output data types of the operation blocks. As an example, if a developer tries to add a block that takes as input the output of a previous block, the blocks may be determined to be compatible responsive to the input data type/format of that block and the output data type/format of the previous block being of the same data type/format. That simple check, in addition to other checks for constraints (e.g., such as where the processing of each block is happening or other checks), facilitates workflow operations; para. [0039]).
Claims 16, 17 are similar in scope to Claims 1, 13 and are rejected under a similar rationale.
Claim 18: Zeiler, Doddi, and Hauschild teach the system of claim 16. Zeiler further teaches wherein the instructions further cause the system to: receive an updated Al agent corresponding to the first Al agent (i.e. model subsystem 114 may provide the given input and the reference indication to a second instance of the machine learning model (different from the first instance of the machine learning model). Model subsystem 114 may cause updating of the application's instance of the machine learning model by replacing, for the application, the first instance of the machine learning model with the second instance of the machine learning model. In this way, for example, the application may continue to operate simultaneously (e.g., using the first instance of the machine learning model) while the second instance of the machine learning model is being updated by training the second instance on training data (e.g., the given input, the reference indication, or other training data); para. [0054]); input a first portion of data from the data source to the first Al agent; and input a second portion of data from the data source to the updated Al agent (i.e. model subsystem 114 may provide the first input and the reference indication to the first instance of the second machine learning model to cause the first instance of the second machine learning model to be updated based on the first input and the reference indication. In some embodiments, model subsystem 114 may provide the first input and the reference indication to a second instance of the second machine learning model (different from the first instance of the second machine learning model) to cause the second instance of the second machine learning model to be updated. Model subsystem 114 may cause updating of the application's instance of the second machine learning model by replacing, for the application, the first instance of the second machine learning model with the second instance of the second machine learning model. In this way, for example, the application may continue to operate simultaneously (e.g., using the first instance of the second machine learning model) while the second instance of the second machine learning model is being updated by training the second instance on training data (e.g., the first input, the reference indication, or other training data); para. [0057, 0058]).
Claims 19 and 20 are similar in scope to Claims 3, 8 and are rejected under a similar rationale.
8. Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over Zeiler in view of Doddi, Hauschild, and further in view of Amer et al. (U.S. Patent Application Pub. No. US 20190304157 A1).
Claim 11: Zeiler and Echeverria teach the method of claim 1. Zeiler further teaches comprising: receiving, via the workflow editor interface, a user selection of an interface to the first Al agent (i.e. Based on user input indicating selection of one or more model or input/output representations, system 100 may cause a presentation of the model representations, input/output representations, or other representations. Additionally, or alternatively, based on the user input or subsequent user-initiated changes related to the representations, system 100 may generate at least a portion of a software application; para. [0035, 0036]); and after activating the first Al agent, displaying the interface (i.e. building blocks of a workflow may include a set of operation blocks for processing inputs and creating outputs to be passed into other stages of the workflow. Some examples of these operation blocks include (i) machine learning models, (ii) conditional statements to decide whether an output should pass to a next stage or which block to pass the output, (iii) mathematical/statistical models, (iv) image/video/audio/text/other data processing operation blocks, (v) operation blocks to initiate requests to third party APIs or programs, (vi) user-interface-related operation blocks (e.g., which cause one or more interactive features of a user interface), (vii) notification operation blocks (e.g., which cause one or more notifications to be sent or presented); para. [0038, 0049]).
Zeiler does not explicitly teach an explainability interface; and displaying the explainability interface.
However, Amer teaches an explainability interface to attach to the first Al agent; and after activating the first Al agent, displaying the explainability interface (i.e. An effective explainable artificial intelligence system (“XAI”) system will typically maintain performance quality while also being explainable. In such a system, the end user who depends on decisions, recommendations, or actions produced by the XAI system will preferably understand at least aspects the rationale for the system's decisions. For example, a test operator of a newly developed autonomous system will need to understand why the system makes its decisions so that the text operator can decide how to use it in the future. Accordingly, at least some successful XAI systems may provide end users with an explanation of individual decisions, enable users to understand the system's overall strengths and weaknesses, convey an understanding of how the system will behave in the future, and perhaps how to correct the system's mistakes; para. [0153-0155]).
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 Zeiler, Doddi, and Hauschild to include the feature of Amer. One would have been motivated to make this modification because users can develop a greater level of trust in the system. Transparent decision-making reduce uncertainty and fosters confidence in the AI’s operations.
9. Claim 12 is rejected under 35 U.S.C. 103 as being unpatentable over Zeiler in view of Doddi, Hauschild, and further in view of Biswas et al. (U.S. Patent Application Pub. No. US 20190102695 A1).
Claim 12: Zeiler, Doddi, and Hauschild teach the method of claim 1. Zeiler further teaches comprising: displaying of the first Al agent when the first AI agent is selected (i.e. one or more service platforms described herein may provide one or more user interfaces that present one or more options to select/access the model representations. Responsive to user selection of such options, the selected model representations may be presented on the user interface; para. [0034]); receiving, via user input, a modification; and modifying the first Al agent (i.e. system 100 may cause user-selectable model representations, input/output representations, or other representations to be available via a user interface. Based on user input indicating selection of one or more model or input/output representations, system 100 may cause a presentation of the model representations, input/output representations, or other representations. Additionally, or alternatively, based on the user input or subsequent user-initiated changes related to the representations, system 100 may generate at least a portion of a software application. As an example, responsive to the generation, the resulting software application may include one or more instances of machine learning models or non-machine-learning models that correspond to the presented model representations, one or more input/output paths between respective ones of the models or from/to other sources/destinations, or other components. In one use case, suppose a user wishes to use an API service's general image classification model and face detection model to find scenes containing a certain number of people in outdoor settings in a stream of images from a social media service; para. [0036, 0047]).
Zeiler does not explicitly teach configurable parameters.
However, Biswas teaches comprising: displaying configurable parameters of the first Al agent when the first AI agent is selected; receiving, via user input, a modification to the configurable parameters; and modifying the first Al agent based on the modification to the configurable parameters (i.e. At step 902, one or more machine learning configuration files are stored at a machine learning server computer. A particular machine learning configuration file of the one or more machine learning configuration files comprises instructions for configuring a machine learning system of a particular machine learning type with one or more first machine learning parameters. For example, the machine learning server computer may store a configuration file that includes instructions for building a Niave Bayes classifier with one or more default parameters that are configurable through the graphical user interface. Default parameters may include default values and/or placeholder values. For example, the machine learning server computer may be programmed or configured to input values into the configuration file based on selections of parameters through the advanced settings in the graphical user interface. While some parameter values may be selected by default, they may not be initially entered in the configuration file; para. [0153]).
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 Zeiler, Doddi, and Hauschild to include the feature of Biswas. One would have been motivated to make this modification because it enhances the overall user experience by making the system interactive, transparent, and aligned with user preferences.
10. Claim 15 is rejected under 35 U.S.C. 103 as being unpatentable over Zeiler in view of Doddi, Hauschild, and further in view of Ambati et al. (U.S. Patent Application Pub. No. US 20180293462 A1).
Claim 15: Zeiler, Doddi, and Hauschild teach the method of claim 1. Zeiler further teaches comprising: after receiving the selection of data to input to the second Al agent, determining that a format of the data output by the first Al agent is not compatible with a format of the data to input to the second Al agent (i.e. a user interface of system 100 may guide the developer to select and connect operation blocks that are compatible with one another, thereby reducing errors resulting from application component incompatibility. The user interface (or its associated service platform) may provide a developer with a set of compatible options when the developer selects an operation block that he/she wants to input to, output to, or otherwise extend. Additionally, or alternatively, the user interface may prevent a developer from connecting two operation blocks that are not compatible with one another. Compatibility may, for example, be determined based on input/output data types of the operation blocks. As an example, if a developer tries to add a block that takes as input the output of a previous block, the blocks may be determined to be compatible responsive to the input data type/format of that block and the output data type/format of the previous block being of the same data type/format. That simple check, in addition to other checks for constraints (e.g., such as where the processing of each block is happening or other checks), facilitates workflow operations; para. [0039]).
Zeiler does not explicitly teach determining a transform to apply to the data output to convert the data output to the format of the data to input; and applying the transform to the data output.
However, Ambati teaches determining a transform to apply to the data output by the first Al agent to convert the data output by the first Al agent to the format of the data to input to the second Al agent; and applying the transform to the data output by the first Al agent (i.e. Transformer(s) 122 are configured to transform data associated with a plurality of databases into a common ontology. A common ontology is specified such that data associated with the plurality of databases is described in a consistent format. This allows a machine learning model to be generated using data from a plurality of different data sources and ensures that the machine learning model is trained using feature values that are in a consistent format. Transformer(s) 122 may include one or more transformers that transform data to a common format. For example, transformer(s) 122 may include a transformer to convert name information associated with an entry from a “last name, first name, middle initial” format to a “first name last name” format. This transformer may enable entries from a plurality of databases to be combined into a single entry because the entries may be associated with the same entity; para. [0039-0041, 0070-0079]).
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 Zeiler, Doddi, and Hauschild to include the feature of Ambati. One would have been motivated to make this modification because it ensures smooth communication and data transfer between agents.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure.
Setlur et al. (Pub. No. US 20120130730 A1), The dashboard 220 can display multiple KPI simultaneously.
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