ConceptioArchiveGoogle Patents
Google Patentsopen access

Chatbot for defining a machine learning (ML) solution — Oracle International Corporation (US12566982B2)

Oracle International Corporation · Google Patents
Google Patents · Patents · License: Open Access
Open Source ↗
albertopollerioracleinternationalcorporation
patent, google patents, intellectual property, US12566982B2, Oracle International Corporation, Alberto Polleri, en, 2026

ABSTRACT

Abstract

The present disclosure relates to systems and methods for an intelligent assistant (e.g., a chatbot) that can be used to enable a user to generate a machine learning system. Techniques can be used to automatically generate a machine learning system to assist a user. In some cases, the user may not be a software developer and may have little or no experience in either machine learning techniques or software programming. In some embodiments, a user can interact with an intelligent assistant. The interaction can be aural, textual, or through a graphical user interface. The chatbot can translate natural language inputs into a structural representation of a machine learning solution using an ontology. In this way, a user can work with artificial intelligence without being a data scientist to develop, train, refine, and compile machine learning models as stand-alone executable code.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 18/501,716, filed Nov. 3, 2023, which is a continuation of U.S. patent application Ser. No. 18/100,458 filed Jan. 23, 2023, now U.S. Pat. No. 11,847,578, which is a continuation of U.S. patent application Ser. No. 16/893,193 filed Jun. 4, 2020, now U.S. Pat. No. 11,562,267, which claims priority of U.S. Provisional Patent Application No. 62/900,537 filed Sep. 14, 2019, entitled “AUTOMATED MACHINE LEARNING SYSTEMS AND METHODS”. Each of these applications is hereby incorporated by reference in their entireties and for all purposes.

FIELD

The present disclosure relates to systems and techniques for machine learning. More particularly, the present disclosure relates to systems and techniques for generating and managing a library of machine learning applications.

BACKGROUND

Machine learning has a wide range of applications, such as search engines, medical diagnosis, text and handwriting recognition, image processing and recognition, load forecasting, marketing and sales diagnosis, chatbots, autonomous driving, and the like. Various types and versions of machine learning models may be generated for similar applications using training data based on different technologies, languages, libraries, and the like, and thus may lack interoperability. In addition, different models may have different performances in different contexts and/or for different types of input data. Data scientists may not have the programming skills to generate the code necessary to build custom machine learning models. In addition, available machine learning tools do not store the various machine learning model components as part of a library to allow for efficient reuse of routines in other machine learning models.

Existing machine learning applications can require considerable programming knowledge by a data scientist to design and construct a machine learning application to solve specific problems. Intuitive interfaces can assist the data scientist construct a machine learning application through a series of queries.

Some organizations can store data from multiple clients or suppliers with customizable schemas. These customizable schemas may not match standardized data storage schemas used by existing machine learning models. Therefore, these other systems would need to perform a reconciliation process prior to using the stored data. The reconciliation process can be either a manual process or through a tedious extract, transform, load automated process prior to using the data for generating machine learning applications.

Machine learning applications based only on metrics (e.g., Quality of Service (QoS) or Key Performance Indicators) may not be sufficient to compose pipelines with minimal human intervention for a self-adaptive architecture. Pre-existing machine learning tools do not combine non-logical based and logic-based semantic services to generate a machine learning application.

Existing machine learning tools tend to maximize classification accuracy over new data from the same source. In doing so, these existing frameworks attempt to compose the best pipeline based on model performance. However, model performance on its own does not cover the cases where the pipeline must be adapted at run-time due to changes in online data metrics or QoS violations.

BRIEF SUMMARY

Certain aspects and features of the present disclosure relate to machine learning platform that generates a library of components to generate machine learning models and machine learning applications. The machine learning infrastructure system allows a user (i.e., a data scientist) to generate machine learning applications without having detailed knowledge of the cloud-based network infrastructure or knowledge of how to generate code for building the model. The machine learning platform can analyze the identified data and the user provided desired prediction and performance characteristics to select one or more library components and associated API to generate a machine learning application. The machine learning techniques can monitor and evaluate the outputs of the machine learning model to allow for feedback and adjustments to the model. The machine learning application can be trained, tested, and compiled for export as stand-alone executable code.

The machine learning platform can generate and store one or more library components that can be used for other machine learning applications. The machine learning platform can allow users to generate a profile which allows the platform to make recommendations based on a user's historical preferences. The model creation engine can detect the number and type of infrastructure resources necessary to achieve the desired results within the desired performance criteria.

A chatbot can provide an intuitive interface to allow the data scientist to generate a machine learning application without considerable programming experience. A chatbot is able to translate natural language into a structured representation of a machine learning solution using a conversational interface. A chatbot can be used to indicate the location of data, select a type of machine learning solution, display optimal solutions that best meet the constraints, and recommend the best environment to deploy the solution.

A self-adjusting corporation-wide discovery and integration feature can review a client's data store, review the labels for the various data schema, and effectively map the client's data schema to classifications used by the machine learning model. The various techniques can automatically select the features that are predictive for each individual use case (i.e., one client), effectively making a machine learning solution client-agnostic for the application developer. A weighted list of common representations of each feature for a particular machine learning solution can be generated and stored. When new data is added to the data store, a matching service can automatically detect which features should be fed into the machine-learning solution based at least in part on the weighted list. The weighted list can be updated as new data is made available to the model.

Existing data ontologies can be used for generating machine learning solutions for a high-precision search of relevant services to compose pipelines with minimal human intervention. Data ontologies can be used to create a combination of non-logic based and logic-based sematic services that can significantly outperform both kinds of selection in terms of precision. QoS and product KPI constraints can be used as part of architecture selection. For data sets without existing ontologies, one or more ontologies be generated.

The proposed system can use best available models at the time of construction to solve problems using the machine learning application. An adaptive pipelining composition service can identify and incorporate one or more new models into the machine learning application. The machine learning application with the new model can be tested off-line with the results being compared with ground truth data. If the machine learning application with the new model outperforms the previously used model, the machine learning application can be upgraded and auto-promoted to production. One or more parameters may also be discovered. The new parameters may be incorporated into the existing model in an off-line mode. The machine learning application with the new parameters can be tested off-line and the results can be compared with previous results with existing parameters. If the new parameters outperform the existing parameters as compared with ground-truth data, the machine learning application can be auto-promoted to production.

These and other embodiments are described in detail below. For example, other embodiments are directed to systems, devices, and computer readable media associated with methods described herein.

A better understanding of the nature and advantages of embodiments of the present disclosed may be gained with reference to the following detailed description and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The specification makes reference to the following appended figures, in which use of like reference numerals in different figures is intended to illustrate like or analogous components.

FIG. 1 is a block diagram illustrating an exemplary machine learning infrastructure system.

FIG. 2 is a flowchart illustrating an exemplary technique for generating a machine learning application.

FIG. 3 is a flowchart illustrating another exemplary technique for generating a machine learning application.

FIG. 4 depicts a distributed system that implements a bot system for communicating with end users using a messaging application in accordance with various embodiments

FIG. 5 depicts an integrated system including a bot system and a bot analytic system for monitoring, analyzing, visualizing, and improving the performance of a bot system in accordance with various embodiments.

FIG. 6 depicts a distributed system that implements a bot system for communicating with an end user using a messaging application according to certain embodiments.

FIG. 7 illustrates a flowchart for a technique for generating a machine learning application using a chatbot.

FIG. 8 illustrates a flowchart for protecting a serialized model and the storing private keys in a secure location.

FIGS. 9 A and 9 B illustrate exemplary user interface screens generated by a software development environment.

FIG. 10 illustrates an exemplary a distributed computing environment including a code integration request prediction server that may be used for receiving and processing input data, generating and using machine-learning or artificial intelligence models to generate outputs predictive of code integration requests.

FIG. 11 illustrates an exemplary flow chart for a real time code analysis plug-in.

FIG. 12 illustrates an exemplary flow chart for an automated on-demand library check.

FIGS. 13 A and 13 B illustrates exemplary user interface screens generated by a software development environment.

FIG. 14 illustrates a flow chart for an exemplary technique for self-adjusting corporation-wide feature discovery and integration.

FIG. 15 illustrates a flow chart for a second exemplary technique for self-adjusting corporation-wide feature discovery and integration.

FIG. 16 illustrates a block diagram illustrating an exemplary system for generating product graphs using ontologies.

FIG. 17 illustrates an exemplary flow chart for an adaptive and context-aware automated service composition for machine learning.

FIG. 18 illustrates a block diagram for generating one or more pipelines.

FIG. 19 illustrates an exemplary flow chart for an adaptive pipeline composition service.

FIG. 20 is a simplified diagram illustrating a distributed system for implementing one of the embodiments.

FIG. 21 is a simplified block diagram illustrating one or more components of a system environment.

FIG. 22 illustrates an exemplary computer system, in which various embodiments of the present invention may be implemented.

DETAILED DESCRIPTION

Certain embodiments of the present disclosure relate to systems, devices, computer-readable medium, and computer-implemented methods for implementing various techniques for machine learning. The machine learning techniques can allow a user (i.e., a data scientist) to generate machine learning applications without having detailed knowledge of the cloud-based network infrastructure or knowledge of how to generate code for building the model. The machine learning platform can analyze the identified data and the user provided desired prediction and performance characteristics to select one or more library components and associated API to generate a machine learning application.

The machine learning techniques can employ a chatbot to indicate the location of data, select a type of machine learning solution, display optimal solutions that best meet the constraints, and recommend the best environment to deploy the solution.

The techniques described herein can include a self-adjusting corporation-wide discovery and integration feature can review a client's data store, review the labels for the various data schema, and effectively map the client's data schema to classifications used by the machine learning model. The various techniques can automatically select the features that are predictive for each individual use case (i.e., one client), effectively making a machine learning solution client-agnostic for the application developer. A weighted list of common representations of each feature for a particular machine learning solution can be generated and stored.

The techniques can utilize existing data ontologies for generating machine learning solutions for a high-precision search of relevant services to compose pipelines with minimal human intervention. For data sets without existing ontologies, one or more ontologies be generated.

The techniques can employ an adaptive pipelining composition service to identify and incorporate or more new models into the machine learning application. The machine learning application with the new model can be tested off-line with the results being compared with ground truth data. If the machine learning application with the new model outperforms the previously used model, the machine learning application can be upgraded and auto-promoted to production.

I. Machine Learning Infrastructure Platform

FIG. 1 is a block diagram illustrating an exemplary machine learning platform 100 for generating a machine learning model. The machine learning platform 100 has various components that can be distributed between different networks and computing systems. A machine learning infrastructure library can store one or more components for generating machine learning applications 112 . All of the infrastructure required to productionize the machine learning applications 112 can be encapsulated and stored in the library.

Machine learning confi

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 18/501,716, filed Nov. 3, 2023, which is a continuation of U.S. patent application Ser. No. 18/100,458 filed Jan. 23, 2023, now U.S. Pat. No. 11,847,578, which is a continuation of U.S. patent application Ser. No. 16/893,193 filed Jun. 4, 2020, now U.S. Pat. No. 11,562,267, which claims priority of U.S. Provisional Patent Application No. 62/900,537 filed Sep. 14, 2019, entitled “AUTOMATED MACHINE LEARNING SYSTEMS AND METHODS”. Each of these applications is hereby incorporated by reference in their entireties and for all purposes.

FIELD

The present disclosure relates to systems and techniques for machine learning. More particularly, the present disclosure relates to systems and techniques for generating and managing a library of machine learning applications.

BACKGROUND

Machine learning has a wide range of applications, such as search engines, medical diagnosis, text and handwriting recognition, image processing and recognition, load forecasting, marketing and sales diagnosis, chatbots, autonomous driving, and the like. Various types and versions of machine learning models may be generated for similar applications using training data based on different technologies, languages, libraries, and the like, and thus may lack interoperability. In addition, different models may have different performances in different contexts and/or for different types of input data. Data scientists may not have the programming skills to generate the code necessary to build custom machine learning models. In addition, available machine learning tools do not store the various machine learning model components as part of a library to allow for efficient reuse of routines in other machine learning models.

Existing machine learning applications can require considerable programming knowledge by a data scientist to design and construct a machine learning application to solve specific problems. Intuitive interfaces can assist the data scientist construct a machine learning application through a series of queries.

Some organizations can store data from multiple clients or suppliers with customizable schemas. These customizable schemas may not match standardized data storage schemas used by existing machine learning models. Therefore, these other systems would need to perform a reconciliation process prior to using the stored data. The reconciliation process can be either a manual process or through a tedious extract, transform, load automated process prior to using the data for generating machine learning applications.

Machine learning applications based only on metrics (e.g., Quality of Service (QoS) or Key Performance Indicators) may not be sufficient to compose pipelines with minimal human intervention for a self-adaptive architecture. Pre-existing machine learning tools do not combine non-logical based and logic-based semantic services to generate a machine learning application.

Existing machine learning tools tend to maximize classification accuracy over new data from the same source. In doing so, these existing frameworks attempt to compose the best pipeline based on model performance. However, model performance on its own does not cover the cases where the pipeline must be adapted at run-time due to changes in online data metrics or QoS violations.

BRIEF SUMMARY

Certain aspects and features of the present disclosure relate to machine learning platform that generates a library of components to generate machine learning models and machine learning applications. The machine learning infrastructure system allows a user (i.e., a data scientist) to generate machine learning applications without having detailed knowledge of the cloud-based network infrastructure or knowledge of how to generate code for building the model. The machine learning platform can analyze the identified data and the user provided desired prediction and performance characteristics to select one or more library components and associated API to generate a machine learning application. The machine learning techniques can monitor and evaluate the outputs of the machine learning model to allow for feedback and adjustments to the model. The machine learning application can be trained, tested, and compiled for export as stand-alone executable code.

The machine learning platform can generate and store one or more library components that can be used for other machine learning applications. The machine learning platform can allow users to generate a profile which allows the platform to make recommendations based on a user's historical preferences. The model creation engine can detect the number and type of infrastructure resources necessary to achieve the desired results within the desired performance criteria.

A chatbot can provide an intuitive interface to allow the data scientist to generate a machine learning application without considerable programming experience. A chatbot is able to translate natural language into a structured representation of a machine learning solution using a conversational interface. A chatbot can be used to indicate the location of data, select a type of machine learning solution, display optimal solutions that best meet the constraints, and recommend the best environment to deploy the solution.

A self-adjusting corporation-wide discovery and integration feature can review a client's data store, review the labels for the various data schema, and effectively map the client's data schema to classifications used by the machine learning model. The various techniques can automatically select the features that are predictive for each individual use case (i.e., one client), effectively making a machine learning solution client-agnostic for the application developer. A weighted list of common representations of each feature for a particular machine learning solution can be generated and stored. When new data is added to the data store, a matching service can automatically detect which features should be fed into the machine-learning solution based at least in part on the weighted list. The weighted list can be updated as new data is made available to the model.

Existing data ontologies can be used for generating machine learning solutions for a high-precision search of relevant services to compose pipelines with minimal human intervention. Data ontologies can be used to create a combination of non-logic based and logic-based sematic services that can significantly outperform both kinds of selection in terms of precision. QoS and product KPI constraints can be used as part of architecture selection. For data sets without existing ontologies, one or more ontologies be generated.

The proposed system can use best available models at the time of construction to solve problems using the machine learning application. An adaptive pipelining composition service can identify and incorporate one or more new models into the machine learning application. The machine learning application with the new model can be tested off-line with the results being compared with ground truth data. If the machine learning application with the new model outperforms the previously used model, the machine learning application can be upgraded and auto-promoted to production. One or more parameters may also be discovered. The new parameters may be incorporated into the existing model in an off-line mode. The machine learning application with the new parameters can be tested off-line and the results can be compared with previous results with existing parameters. If the new parameters outperform the existing parameters as compared with ground-truth data, the machine learning application can be auto-promoted to production.

These and other embodiments are described in detail below. For example, other embodiments are directed to systems, devices, and computer readable media associated with methods described herein.

A better understanding of the nature and advantages of embodiments of the present disclosed may be gained with reference to the following detailed description and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The specification makes reference to the following appended figures, in which use of like reference numerals in different figures is intended to illustrate like or analogous components.

FIG. 1 is a block diagram illustrating an exemplary machine learning infrastructure system.

FIG. 2 is a flowchart illustrating an exemplary technique for generating a machine learning application.

FIG. 3 is a flowchart illustrating another exemplary technique for generating a machine learning application.

FIG. 4 depicts a distributed system that implements a bot system for communicating with end users using a messaging application in accordance with various embodiments

FIG. 5 depicts an integrated system including a bot system and a bot analytic system for monitoring, analyzing, visualizing, and improving the performance of a bot system in accordance with various embodiments.

FIG. 6 depicts a distributed system that implements a bot system for communicating with an end user using a messaging application according to certain embodiments.

FIG. 7 illustrates a flowchart for a technique for generating a machine learning application using a chatbot.

FIG. 8 illustrates a flowchart for protecting a serialized model and the storing private keys in a secure location.

FIGS. 9 A and 9 B illustrate exemplary user interface screens generated by a software development environment.

FIG. 10 illustrates an exemplary a distributed computing environment including a code integration request prediction server that may be used for receiving and processing input data, generating and using machine-learning or artificial intelligence models to generate outputs predictive of code integration requests.

FIG. 11 illustrates an exemplary flow chart for a real time code analysis plug-in.

FIG. 12 illustrates an exemplary flow chart for an automated on-demand library check.

FIGS. 13 A and 13 B illustrates exemplary user interface screens generated by a software development environment.

FIG. 14 illustrates a flow chart for an exemplary technique for self-adjusting corporation-wide feature discovery and integration.

FIG. 15 illustrates a flow chart for a second exemplary technique for self-adjusting corporation-wide feature discovery and integration.

FIG. 16 illustrates a block diagram illustrating an exemplary system for generating product graphs using ontologies.

FIG. 17 illustrates an exemplary flow chart for an adaptive and context-aware automated service composition for machine learning.

FIG. 18 illustrates a block diagram for generating one or more pipelines.

FIG. 19 illustrates an exemplary flow chart for an adaptive pipeline composition service.

FIG. 20 is a simplified diagram illustrating a distributed system for implementing one of the embodiments.

FIG. 21 is a simplified block diagram illustrating one or more components of a system environment.

FIG. 22 illustrates an exemplary computer system, in which various embodiments of the present invention may be implemented.

DETAILED DESCRIPTION

Certain embodiments of the present disclosure relate to systems, devices, computer-readable medium, and computer-implemented methods for implementing various techniques for machine learning. The machine learning techniques can allow a user (i.e., a data scientist) to generate machine learning applications without having detailed knowledge of the cloud-based network infrastructure or knowledge of how to generate code for building the model. The machine learning platform can analyze the identified data and the user provided desired prediction and performance characteristics to select one or more library components and associated API to generate a machine learning application.

The machine learning techniques can employ a chatbot to indicate the location of data, select a type of machine learning solution, display optimal solutions that best meet the constraints, and recommend the best environment to deploy the solution.

The techniques described herein can include a self-adjusting corporation-wide discovery and integration feature can review a client's data store, review the labels for the various data schema, and effectively map the client's data schema to classifications used by the machine learning model. The various techniques can automatically select the features that are predictive for each individual use case (i.e., one client), effectively making a machine learning solution client-agnostic for the application developer. A weighted list of common representations of each feature for a particular machine learning solution can be generated and stored.

The techniques can utilize existing data ontologies for generating machine learning solutions for a high-precision search of relevant services to compose pipelines with minimal human intervention. For data sets without existing ontologies, one or more ontologies be generated.

The techniques can employ an adaptive pipelining composition service to identify and incorporate or more new models into the machine learning application. The machine learning application with the new model can be tested off-line with the results being compared with ground truth data. If the machine learning application with the new model outperforms the previously used model, the machine learning application can be upgraded and auto-promoted to production.

I. Machine Learning Infrastructure Platform

FIG. 1 is a block diagram illustrating an exemplary machine learning platform 100 for generating a machine learning model. The machine learning platform 100 has various components that can be distributed between different networks and computing systems. A machine learning infrastructure library can store one or more components for generating machine learning applications 112 . All of the infrastructure required to productionize the machine learning applications 112 can be encapsulated and stored in the library.

Machine learning configuration and interaction with the model composition engine 132 allows for selection of various library components 168 (e.g., pipelines 136 or workflows, micro services routines 140 , software modules 144 , and infrastructure modules 148 ) to define implementation of the logic of training and inference to build machine learning applications 112 . Different parameters, variables, scaling, settings, etc. for the library components 168 can be specified or determined by the model composition engine 132 . The complexity conventionally required to create the machine learning applications 112 can be performed largely automatically with the model composition engine 132 .

The library components 168 can be scalable to allows for the definition of multiple environments (e.g., different Kubernetes clusters) where the various portions of the application can be deployed to achieve any Quality of Service (QOS) or Key Performance Indicators (KPIs) specified. A Kubernetes cluster is a set of node machines for running containerized applications. The scalability can hide or abstract the complexity of the machine learning platform 100 from the application developer. A monitoring engine 156 can monitor operation of the machine learning applications 112 according to the KPI/QoS metrics 160 to assure the machine learning application 112 is performing according to requirements. In addition the monitoring engine 156 can seamlessly test end-to-end a new or evolving machine learning application at different scales, settings, loading, settings, etc. The monitoring engine 156 can recommend various adjustments to the machine learning application 112 by signaling needed changes to the model composition engine 132 .

To address scalability in some embodiments, the machine learning platform 100 creates infrastructure, which is based on a micro services architecture, making it robust and scalable. For example, various micro services routines 140 and infrastructure modules 148 can be configured and customized for embedding into the machine learning application 112 . The machine learning platform 100 can allow a developer to define the amount of resources (e.g. CPU, memory) needed for different library components 168 of the machine learning application 112 .

The machine learning platform 100 can generate highly customizable applications. The library components 168 contain a set of predefined, off-the-shelf workflows or pipelines 136 , which the application developer can incorporate into a new machine learning application 112 . A workflow specifies various micro services routines 140 , software modules 144 and/or infrastructure modules 148 configured in a particular way for a type or class of problem. In addition to this, it is also possible to define new workflows or pipelines 136 by re-using the library components or changing an existing workflow or pipeline 136 . The infrastructure modules 148 can also include services such as data gathering, process monitoring, and logging.

A model composition engine 132 can be executed on one or more computing systems (e.g., infrastructure 128 ). The model composition engine 132 can receive inputs from a user 116 through an interface 104 . The interface 104 can include various graphical user interfaces with various menus and user selectable elements. The interface 104 can include a chatbot (e.g., a text based or voice based interface). The user 116 can interact with the interface 104 to identify one or more of: a location of data, a desired prediction of machine learning application, and various performance metrics for the machine learning model. The model composition engine 132 can interface with library components 168 to identify various pipelines 136 , micro service routines 140 , software modules 144 , and infrastructure models 148 that can be used in the creation of the machine learning model 112 .

The model composition engine 132 can output one or more machine learning applications 112 . The machine learning applications 112 can be stored locally on a server or in a cloud-based network. The model composition engine 132 can output the machine learning application 112 as executable code that be run on various infrastructure 128 through the infrastructure interfaces 124 .

The model execution engine 108 can execute the machine learning application 112 on infrastructure 128 using one or more the infrastructure interfaces 124 . The infrastructure 128 can include one or more processors, one or more memories, and one or more network interfaces, one or more buses and control lines that can be used to generate, test, compile, and deploy a machine learning application 112 . In various embodiments, the infrastructure 128 can exit on a remote system 152 that is apart from the location of the user 116 . The infrastructure 128 can interact with the model execution engine 108 through the infrastructure interfaces 124 The model execution engine 108 can input the performance characteristics (e.g., KPI/QOS metrics storage 160 ) and the hosted input data 164 . The model execution engine 108 can generate one or more results from the machine learning application 112 .

The KPI/QoS metrics storage 160 can store one or more metrics that can be used for evaluating the machine learning application 112 . The metrics can include inference query metrics, performance metrics, sentiment metrics, and testing metrics. The metrics can be received from a user 116 through a user interface 104 .

The monitoring engine 156 can receive the results of the model execution engine 108 and compare the results with the performance characteristics (e.g., KPI/QoS metrics 160 ). The monitoring engine 156 can use ground truth data to test the machine learning application 112 to ensure the model can perform as intended. The monitoring engine 156 can provide feedback to the model composition engine 132 . The feedback can include adjustments to one or more variables or selected machine learning model used in the machine learning model 112 .

The library components 168 can include various pipelines 136 , micro service routines 140 , software modules 144 , and infrastructure modules 148 . Software pipelines 136 can consist of a sequence of computing processes (e.g., commands, program runs, tasks, threads, procedures, etc.).

Micro services routines 140 can be used in an architectural approach to building applications. As an architectural framework, micro services are distributed and loosely coupled, to allow for changes to one aspect of an application without destroying the entire application. The benefit to using micro services is that development teams can rapidly build new components of applications to meet changing development requirements. Micro service architecture breaks an application down into its core functions. Each function is called a service, and can be built and deployed independently, meaning individual services can function (and fail) without negatively affecting the others. A micro service can be a core function of an application that runs independent of other services. By storing various micro service routines 140 , the machine learning platform 100 can generate a machine learning application incrementally by identifying and selecting various different components from the library components 168 .

Software modules 144 can include batches of code that form part of a program that contains one or more routines. One or more independently developed modules make up a program. An enterprise-level software application can contain several different software modules 144 , and each module can serve unique and separate operations. A module interface can express the elements that are provided and required by the module. The elements defined in the interface can be detectable by other modules. The implementation can contain the working code that corresponds to the elements declared in the interface. Modular programming can be related to structured programming and object-oriented programming, all having the same goal of facilitating construction of large software programs and systems by decomposition into smaller pieces. While the historical usage of these terms has been inconsistent, “modular programming” as used herein refers to high-level decomposition of the code of an entire program into pieces: structured programming to the low-level code use of structured control flow, and object-oriented programming to the data use of objects, a kind of data structure. In object-oriented programming, the use of interfaces as an architectural pattern to construct modules is known as interface-based programming.

Infrastructure modules 148 can include the technology stack necessary to get machine learning algorithms into production in a stable, scalable and reliable way. A technology stack can include set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. For example, to develop a web application the architect defines the stack as the target operating system, web server, database, and programming language. Another version of a software stack is operating system, middleware, database, and applications. The components of a software stack can be developed by different developers independently from one another. The stack can extend from the data science tools used to select and train machine learning algorithms down to the hardware those algorithms run on and the databases and message queues from which they draw the datasets.

The machine learning platform 100 can include one or more data storage locations 170 . The user can identify the one or more data storage locations 170 . The data storage location 170 can be local (e.g., in a storage device electrically connected to the processing circuitry and interfaces used to generate, test, and execute the application). In various embodiments the data storage location 170 can be remote (e.g., accessible through a network such as a Local Area Network or the Internet). In some embodiments, the data storage location 170 can be a cloud-based server.

The data used for the machine learning model 112 often includes personally-identifiable information (PII), and thus, triggers certain safeguards provided by privacy laws. One way to protect the information contained in the data storage 170 can be to encrypt the data using one or more keys. Public-key cryptography, or asymmetric cryptography, is a cryptographic system that uses pairs of keys: public keys which may be disseminated widely, and private keys which are known only to the owner of the data. The private keys can be stored in the key storage 172 module to enable decrypting data for use by the machine learning platform 100 .

The model execution engine 108 can use hosted input data 164 to execute and test the machine learning application 112 . The hosted input data 164 can include a portion of the data stored at the data storage 170 . In various embodiments, a portion of the hosted input data 164 can be identified as testing data.

FIG. 2 illustrates a process 200 for generating a machine learning application using machine learning library infrastructure. Alternative embodiments may vary in function by combining, separating, or otherwise varying the functionality described in the blocks illustrated in FIG. 2 . Means for performing the functionality of one or more of the blocks illustrated in FIG. 2 may comprise hardware and/or software components of a distributed system including computing devices, storage devices, network infrastructure, and servers illustrated in FIGS. 20 , 21 , and 22 and as described below.

The functionality can include providing user access to a machine learning platform that develops production code bespoke to a hardware platform and user defined requirements. The interface for user access can include a graphical user interface on a touchscreen display, a keyboard, a keypad, a microphone to receive voice instructions, a chatbot, and/or a pointing device (e.g., a mouse, trackball for selecting one or more items in a graphical user interface).

At 202 , the functionality can include receiving a first user input identifying a location of data. In various embodiments, the user can use the interface to identify the one or more locations of data that will be used for generating the machine learning model. As described above, the data can be stored locally or remotely. In various embodiments, the user can enter a network location for the data (e.g., Internet Protocol (IP) address). In various embodiments, the user can select a folder from a plurality of folders on a storage device (e.g., a cloud-storage device). In various embodiments, the user can select a file on portable media device (e.g., a USB thumb drive, an optical disk, or solid state or magnetic disk drive). In various embodiments, the technique can suggest a location of data based at least upon a user's previous interactions with the machine learning interface.

At 204 , the functionality includes receiving a second user input identifies a problem for which a solution can be generated by the machine learning application. In various embodiments the second user input can specify a type of problem that the user would like to implement machine learning for. In various embodiments, the problem can be identified through input of text via a user interface. In various embodiments, the problems can be entered as native language speech or text (e.g., through the use of a chatbot). The technique can decipher the native language to understand the goals of the machine learning model. Some of types of problems that machine learning can solve can include classification, regression, product recommendations, medical diagnosis, financial analysis, predictive maintenance, image and sound recognition, text recognition, and tabular data analysis. The techniques can recognize one or more keywords in the native language to recommend or select a particular machine learning algorithm.

In various embodiments, a user can select the type of problem through a graphical user interface. The technique can display several generic models available to the user through a graphical user interface. The user can select one of the models by selecting, using a pointing device or touch screen display, one of the model descriptions. In addition to the generic models, additional custom models can be selected and modified to solve the problem received as the second input.

At 206 , the functionality includes receiving a third input of one or more performance requirements for the machine learning application. The third input can be entered as native language speech or text (e.g., through the use of a chatbot) or selected via an interface (e.g., a graphical user interface).

The performance requirements can include Quality of Service (QOS) metrics. QoS metrics refer to objective, system-related characteristics that provide insight into the performance of the delivery service at the network/transmission level. QoS metrics are parameters that reflect the quality of service on the sender side, rather than on the application side. Example QOS metrics can include system latency and reliability.

The performance requirements can include one or more Key Performance Indicators (KPI). Key Performance Indicators are measurable values that demonstrate how effectively the model is achieving its objectives. KPIs can be problem/solution specific and can include a measurement of the accuracy of the results of the machine learning application as compared with some ground truth test data.

The third user input can include inference indicators. Inference indicators are words commonly found at the beginning of premises and conclusions. Inference indicators alert the system of the premise or conclusion to follow.

The third user input can include sentiment indicators. A sentiment indicator refers to a graphical or numerical indicator designed to show how a group feels about a condition or state (e.g., market or economy). A sentiment indicator seeks to quantify how current beliefs and positions affect future behavior.

The third user input can include testing metrics. Testing metrics can include a quantitative measure that helps to estimate the progress, quality, and health of a software testing effort. A testing metric defines in quantitative terms the degree to which a system, system component, or process possesses a given attribute. Example testing metrics can include schedule variance, test design efficiency, number of defects per test hour, and fixed defects percentage.

The third user input can include training metrics. The training metrics help evaluate the performance of the model. Example training metrics can include classification accuracy, logarithmic loss, area under curve, F1 Score, mean absolute error, and mean squared error. The accuracy metric is a ratio of the number of correct predictions divided by the number of predictions made. The logarithmic loss metric works by penalizing false classifications. Area Under Curve (AUC) can be used for binary classification problem. AUC of a classifier is equal to the probability that the classifier will rank a randomly chosen positive example higher than a randomly chosen negative example. F1 Score is used to measure a test's accuracy. F1 Score is the Harmonic Mean between precision and recall. The range for F1 Score is [0, 1]. F1 Score can inform the user how precise a classifier is (how many instances it classifies correctly), as well as how robust it is (it does not miss a significant number of instances).

Mean Absolute Error is the average of the difference between the original values and the predicted values. Mean Absolute Error provides a measure of how far the predictions were from the actual output. However, Mean Absolute Error does not provide any idea of the direction of the error i.e., whether the model is under predicting the data or over predicting the data.

Mean Squared Error (MSE) is quite similar to Mean Absolute Error, the only difference being that MSE takes the average of the square of the difference between the original values and the predicted values. The advantage of MSE being that it is easier to compute the gradient, whereas Mean Absolute Error requires complicated linear programming tools to compute the gradient. As the system takes the square of the error, the effect of larger errors become more pronounced then smaller error, hence the model can now focus more on the larger errors.

The third user input can include Maintainability metrics. Maintainability metrics can be defined as the case with which a system can be maintained. It is an internal attribute of the system which cannot be measured directly. A solution to this problem is to build models to predict the maintenance process measures from software product measures like cohesion, coupling and complexity.

The third user input can include reusability metrics. Reusability metrics can be used to measure code reuse and reusability. Reusability metrics can be categorized into six types: reuse cost-benefits models, maturity assessment, amount of reuse, failure modes, reusability, and reuse library metrics.

At 208 , the functionality includes determining one or more library components to be selected for generating a machine learning model to prototype the machine learning application to comply with the performance requirements. The one or more library components can perform production functions. The library components can comprise at least one of pipelines 136 , workflows and micro services routines 140 , software modules 144 , and infrastructure modules 148 as described above for FIG. 1 .

The library components 168 can include metadata that identifies features and functions of each of the library components 168 . The technique can determine the one or more library components 168 to select based at least in part on the identified problem received via the second input to achieve the performance metrics of the third input. One or more variables of each of the library components can be adjusted to customize the machine learning model to achieve a solution to the identified problem.

At 210 , the functionality can include identifying one or more application programming interfaces stored in the library, wherein the application programming interfaces link the one or more components to form the machine learning application. Application Programming Interfaces (API) can be used to connect the one or more library components to generate a machine learning model.

In various embodiments, the production functions can include at least one of load balancing, fail-over caching, security, test capability, audit function, scalability, predicted performance, training models, predicted power, maintenance, debug function, and reusability. Load balancing refers to the process of distributing a set of tasks over a set of resources (computing units), with the aim of making their overall processing more efficient. Load balancing techniques can optimize the response time for each task, avoiding unevenly overloading compute nodes while other compute nodes are left idle. The primary mechanism for maintaining high system availability is called failover. Under this approach, a failed primary system is replaced by a backup system; that is, processing fails over to the backup system. Many high availability configurations also provide mechanisms for disaster recovery, which is the resumption of system availability when failover mechanisms have been unable to keep the system available. Test capability can address the case of testing the machine learning application to the desired performance characteristics. Audit function can address the ability the machine learning application can be evaluated against internal controls. Predicted power can refer the percentage of available processing power is required to execute the machine learning application.

After the machine learning model has been generated it can use the training data to training the machine learning model to the desired performance parameters. The training can adjust the one or more variables for the generated model.

At 212 , the functionality can include storing the machine learning application in a memory.

At 214 , the functionality includes testing the machine learning model according to the performance requirements. After the machine learning model has been generated and trained the technique can be tested by the model execution engine using unseen test data. Test data can be a selected percentage of the training data that is withheld from training the model. Test data can also be a separate set of data. The monitoring engine can determine if the machine learning model meets the Key Performance Indicators/Quality of Service metrics. Feedback from the monitoring engine can be sent to the model composition engine to provide recommendations to revise the machine learning model.

At 216 , the functionality includes compiling a machine learning application based upon the machine learning model depending on an outcome from the testing of the machine learning model. After the machine learning model has been training and tested, it can be compiled to output stand-alone executable code.

It should be appreciated that the specific steps illustrated in FIG. 2 provide particular techniques for generating a machine learning application according to various embodiments of the present disclosure. Other sequences of steps may also be performed according to alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. Moreover, the individual steps illustrated in FIG. 2 may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize many variations, modifications, and alternatives.

FIG. 3 illustrates a process 300 for techniques to generate a machine learning application from a machine learning library infrastructure. Alternative embodiments may vary in function by combining, separating, or otherwise varying the functionality described in the blocks illustrated in FIG. 3 . Means for performing the functionality of one or more of the blocks illustrated in FIG. 3 may comprise hardware and/or software components of a distributed system including computing devices, storage devices, network infrastructure, and servers illustrated in FIGS. 20 , 21 , and 22 and described below.

At 302 , the functionality includes receiving a first user input identifying a location of data. In various embodiments, the user can use the interface to identify the location of data that will be used for generating the machine learning model. In various embodiments, the user can enter a network location for the data (e.g., Internet Protocol (IP) address). In various embodiments, the user can select a folder of a plurality of folders on a storage device (e.g., a cloud-storage device). In various embodiments, the user can select a file on portable media e.g., a USB thumb drive, an optical disk, or solid state or magnetic disk drive.

At 304 , the functionality includes receiving a second user input regarding a desired prediction for the machine learning (ML) application. In various embodiments the second user input can specify a type of problem that the user would like to implement machine learning to solve. In various embodiments, the problems can be entered as native language speech or text (e.g., through the use of a Chatbot). The technique can decipher the native language to understand the goals of the machine learning model. Some of types of problems that machine learning can solve can include classification, regression, product recommendations, medical diagnosis, financial analysis, predictive maintenance, image and sound recognition, text recognition, and tabular data analysis. The techniques will recognize one or more keywords in the native language speech to recommend or select a particular machine learning algorithm.

At 306 , the functionality includes gathering data in streams (with chunking) or in batches. Chunking is a term referring to the process of taking individual pieces of information (chunks) and grouping them into larger units. By grouping each piece into a large whole, you can improve the amount of information you can remember. The model composition engine can access the data storage to gather the data for generating the machine learning model. The data can be stored locally or in cloud-based network.

At 308 , the functionality includes validating data to check if the data characteristics (e.g., the data shape is within expectations). The center is the median and/or mean of the data. The spread is the range of the data. And, the shape describes the type of graph. The four ways to describe shape are whether it is symmetric, how many peaks it has, if it is skewed to the left or right, and whether it is uniform. The model composition engine can inform the user if the shape is not within the expectations and prompt the user to locate other/additional data.

At 310 , the functionality includes identifying issues before manifest downstream in pipeline. The model composition engine can review the machine learning query and data to ensure that the identified data have the characteristics for the query or problem. The model composition engine can alert the user if issues are identified and possibly recommend changes to settings or data to resolve the identified issues.

At 312 , the functionality includes building characteristics of problem (i.e., attributes/features). The model composition engine can interpret the user input to identify the type of problem that the user would like to use machine learning to solve. After the problem has been identified, the problem can be deconstructed into attributed and features that will be required to resolve that problem. For example, if a user desires to determine the most productive workers at a facility, the system will need to understand the features or attributes that define a productive worker. In some embodiments, the productivity can be determined by number of units produced per unit time worked. The attributes can then include data on number of hours worked, number of units produced, and number of defective units produced.

At 314 , the functionality includes determining outcomes to be predicted. The technique can leverage the second user identified information, the data, and the library components to determine the one or more output metrics that can be predicted by the machine learning application. In various embodiments, the machine leaning platform can present the output metrics to the user. In various embodiments, the user can select one or more output metrics from a plurality of available output metrics.

At 316 , the functionality includes monitoring values on ongoing basis for QoS/KPI to validate model. In various embodiments, the monitoring engine can evaluate one or more QoS or KPI metrics to determine if the model meets the performance specifications. In various embodiments, the machine learning platform can inform the user of the monitored values, and alert the user if the QoS/KPI metrics fall outside prescribed thresholds.

At 318 , the functionality includes training the machine learning model with predictions judged against QoS/KPIs. In various embodiments, the data can be used to train the machine learning model. The variables of the model can be adjusted based on the output values based on the QoS/KPI metrics.

At 320 , the functionality includes providing controls to adjust model. The controls can be executed through a Chatbot, a graphical user interface, or one or more user selectable menus. Controls allow a user to adjust the outcome of the model by adjusting the variables used for the selected algorithm. In various embodiments, the control display the outcome values as the model is adjusted.

At 322 , the functionality includes auto-adjusting the model as needed. In various embodiments, the values of the algorithm can be automatically adjusted to achieve a desired QoS/KPI outcome. In various embodiments, the values can be adjusted within a defined range of values. The adjustments can include selecting different pipelines 136 , microservices routines 140 , software modules 144 , and infrastructure modules 148 .

At 324 , the functionality includes compiling model into a machine learning application. In various embodiments, the model can be compiled into stand-alone executable code. In various embodiments, the model can be compiled to form part of another program.

At 326 , the functionality includes monitoring predictions to evaluate whether the results are within expectations. In various embodiments, the monitoring engine can provide feedback to model execution engine to inform the user if the model is providing results within an expected range.

At 328 , the functionality optionally provides interpretation and explanation of model to make the model drivers so they can be understood by the user. In various embodiments, the machine learning platform can provide results of the model to the user. The results can be detailed to explain the effect of various drivers on the results of the model. In this way, the user can make informed decisions on how the model needs to be adjusted to achieve the desired results.

At 330 , the functionality includes capturing anomalies before they manifest into inaccurate predictions. In various embodiments, the monitoring engine can receive information regarding output values that fall outside certain thresholds.

At 332 , the functionality includes fixing inaccurate data automatically or semi-autonomously. In various embodiments, the monitoring engine can determine that received data may be inaccurate. In various embodiments, the monitoring engine can notify a user that the data may be inaccurate. The monitoring engine can solicit input from the user to verify or correct the suspect data. In various embodiments, the monitoring engine can automatically correct the suspect data.

It should be appreciated that the specific steps illustrated in FIG. 3 provide particular techniques for generating a machine learning application according to various embodiments of the present disclosure. Other sequences of steps may also be performed according to alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. Moreover, the individual steps illustrated in FIG. 3 may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize many variations, modifications, and alternatives.

II. A Chatbot for Defining a Machine Learning Solution

Machine learning models are trained for generating predictive outcomes for code integration requests. In one aspect, techniques can be used for defining a machine learning solution, including receiving a first input (e.g., aural, textual, or GUI) describing a problem for the machine learning solution. A model composition engine 132 , as shown in FIG. 1 , can transcribe the first input into one or more text fragments. The model composition engine 132 can determine an intent of a user to create a machine learning architecture based at least in part on the one or more text fragments. The techniques can include correlating the one or more text fragments to one or more machine learning frameworks of a plurality of models. The techniques can include presenting (e.g., interface or audio) the one or more machine learning model to the user. The model composition engine 132 can receive a selection of one or more machine learning model (e.g., classification, recommender, reinforcement learning). The model composition engine 132 can receive several other user inputs including a second input identifying a data source for the machine learning architecture and a third input of one or more constraints (e.g., resources, location, security, or privacy) for the machine learning architecture. The model composition engine 132 can generate a plurality of code for the machine learning architecture based at least in part on the selected model, the second input identifying the data source, and the third input identifying the one or more constraints. The generated code can be stored in a memory.

An intelligent assistant (e.g., a chatbot) can be used to enable a user to generate a machine learning system. Techniques can be used to automatically generate a machine learning system to assist a user. In some cases, the user may not be a software developer and may have little or no experience in either machine learning techniques or software programming. In some embodiments, a user can interact with an intelligent assistant. The interaction can be aural, textual, or through a graphical user interface. The chatbot can translate natural language inputs into a structural representation of a machine learning solution using an ontology. In this way, a user can work with artificial intelligence without being a data scientist.

<div id="p-0107" nu

CLAIMS

Claims ( 20 )

What is claimed is:

1 . A computer-implemented method comprising:

accessing, from a user device in a chat session with a master bot, one or more inputs identifying a user-requested task to be performed in the chat session and one or more other inputs identifying a data source; correlating one or more text fragments of the one or more inputs to metadata that identifies different skill bots to determine confidence scores for different intents associated with the different skill bots, of a plurality of skill bots, for carrying out the user-requested task; based at least in part on the confidence scores, routing the user-requested task to a particular skill bot of the plurality of skill bots, wherein the particular skill bot is configured for machine learning model generation; consuming, by the particular skill bot, the user-requested task and the one or more other inputs identifying the data source to train a machine learning model as part of a machine learning architecture; generating code for the machine learning architecture based at least in part on the user-requested task and the machine learning model as trained by the training data from the data source; and storing the generated code in cloud infrastructure storage accessible via an application programming interface.

2 . The computer-implemented method of claim 1 , wherein the application programming interface is accessible via the chat session.

3 . The computer-implemented method of claim 1 , wherein generating the code for the machine learning model is further based at least in part on additional input selecting a particular machine-learning-model architecture of one or more available machine-learning-model architectures.

4 . The computer-implemented method of claim 1 , wherein generating the code for the machine learning model comprises constraining the machine learning model based on one or more constraints determined from an architecture for completing the user-requested task.

5 . The computer-implemented method of claim 1 , further comprising training the machine learning model based at least in part on the training data from the data source.

6 . The computer-implemented method of claim 1 , wherein generating the code for the machine learning model comprises identifying one or more services to be used by the machine learning model determined from an architecture for completing the user-requested task.

7 . The computer-implemented method of claim 1 , further comprising:

accessing, from the user device in the chat session with the master bot, one or more other inputs identifying one or more other user-requested tasks to be performed in the chat session; determining other confidence scores for the different intents associated with the different skill bots for carrying out the one or more other user-requested tasks; based at least in part on the other confidence scores, routing the one or more other user-requested tasks to one or more other skill bots of the plurality of skill bots, wherein the one or more other skill bots are configured to perform functionality other than machine learning model generation.

8 . A system comprising:

one or more data processors; and a non-transitory computer readable storage medium containing instructions which, when executed on the one or more data processors, cause the one or more data processors to perform a set of actions including: accessing, from a user device in a chat session with a master bot, one or more inputs identifying a user-requested task to be performed in the chat session and one or more other inputs identifying a data source; correlating one or more text fragments of the one or more inputs to metadata that identifies different skill bots to determine confidence scores for different intents associated with the different skill bots, of a plurality of skill bots, for carrying out the user-requested task; based at least in part on the confidence scores, routing the user-requested task to a particular skill bot of the plurality of skill bots, wherein the particular skill bot is configured for machine learning model generation; consuming, by the particular skill bot, the user-requested task and the one or more other inputs identifying the data source to train a machine learning model as part of a machine learning architecture; generating code for the machine learning architecture based at least in part on the user-requested task and the machine learning model as trained by the training data from the data source; and storing the generated code in cloud infrastructure storage accessible via an application programming interface.

9 . The system of claim 8 , wherein the application programming interface is accessible via the chat session.

10 . The system of claim 8 , wherein generating the code for the machine learning model is further based at least in part on additional input selecting a particular machine-learning-model architecture of one or more available machine-learning-model architectures.

11 . The system of claim 8 , wherein generating the code for the machine learning model comprises constraining the machine learning model based on one or more constraints determined from an architecture for completing the user-requested task.

12 . The system of claim 8 , further comprising training the machine learning model based at least in part on the training data from the data source.

13 . The system of claim 8 , wherein generating the code for the machine learning model comprises identifying one or more services to be used by the machine learning model determined from an architecture for completing the user-requested task.

14 . The system of claim 8 , wherein the set of actions further includes:

accessing, from the user device in the chat session with the master bot, one or more other inputs identifying one or more other user-requested tasks to be performed in the chat session; determining other confidence scores for the different intents associated with the different skill bots for carrying out the one or more other user-requested tasks; based at least in part on the other confidence scores, routing the one or more other user-requested tasks to one or more other skill bots of the plurality of skill bots, wherein the one or more other skill bots are configured to perform functionality other than machine learning model generation.

15 . A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause one or more data processors to perform a set of actions including:

accessing, from a user device in a chat session with a master bot, one or more inputs identifying a user-requested task to be performed in the chat session and one or more other inputs identifying a data source; correlating one or more text fragments of the one or more inputs to metadata that identifies different skill bots to determine confidence scores for different intents associated with the different skill bots, of a plurality of skill bots, for carrying out the user-requested task; based at least in part on the confidence scores, routing the user-requested task to a particular skill bot of the plurality of skill bots, wherein the particular skill bot is configured for machine learning model generation; consuming, by the particular skill bot, the user-requested task and the one or more other inputs identifying the data source to train a machine learning model as part of a machine learning architecture; generating code for the machine learning architecture based at least in part on the user-requested task and the machine learning model as trained by the training data from the data source; and storing the generated code in cloud infrastructure storage accessible via an application programming interface.

16 . The computer-program product of claim 15 , wherein the application programming interface is accessible via the chat session.

17 . The computer-program product of claim 15 , wherein generating the code for the machine learning model is further based at least in part on additional input selecting a particular machine-learning-model architecture of one or more available machine-learning-model architectures.

18 . The computer-program product of claim 15 , wherein generating the code for the machine learning model comprises constraining the machine learning model based on one or more constraints determined from an architecture for completing the user-requested task.

19 . The computer-program product of claim 15 , further comprising training the machine learning model based at least in part on the training data from the data source.

20 . The computer-program product of claim 15 , wherein generating the code for the machine learning model comprises identifying one or more services to be used by the machine learning model determined from an architecture for completing the user-requested task.

US18/954,220

2019-09-14

2024-11-20

Chatbot for defining a machine learning (ML) solution

Active

US12566982B2

( en )

Priority Applications (1)

Application Number

Priority Date

Filing Date

Title

US18/954,220

US12566982B2

( en )

2019-09-14

2024-11-20

Chatbot for defining a machine learning (ML) solution

Applications Claiming Priority (5)

Application Number

Priority Date

Filing Date

Title

US201962900537P

2019-09-14

2019-09-14

US16/893,193

US11562267B2

( en )

2019-09-14

2020-06-04

Chatbot for defining a machine learning (ML) solution

US18/100,458

US11847578B2

( en )

2019-09-14

2023-01-23

Chatbot for defining a machine learning (ML) solution

US18/501,716

US12190254B2

( en )

2019-09-14

2023-11-03

Chatbot for defining a machine learning (ML) solution

US18/954,220

US12566982B2

( en )

2019-09-14

2024-11-20

Chatbot for defining a machine learning (ML) solution

Related Parent Applications (1)

Application Number

Title

Priority Date

Filing Date

US18/501,716

Continuation

US12190254B2

( en )

2019-09-14

2023-11-03

Chatbot for defining a machine learning (ML) solution

Publications (2)

Publication Number

Publication Date

US20250077915A1

US20250077915A1 ( en )

2025-03-06

US12566982B2

true

US12566982B2 ( en )

2026-03-03

Family

ID=72560938

Family Applications (4)

Application Number

Title

Priority Date

Filing Date

US16/893,193

Active

2041-04-08

US11562267B2

( en )

2019-09-14

2020-06-04

Chatbot for defining a machine learning (ML) solution

US18/100,458

Active

US11847578B2

( en )

2019-09-14

2023-01-23

Chatbot for defining a machine learning (ML) solution

US18/501,716

Active

US12190254B2

( en )

2019-09-14

2023-11-03

Chatbot for defining a machine learning (ML) solution

US18/954,220

Active

US12566982B2

( en )

2019-09-14

2024-11-20

Chatbot for defining a machine learning (ML) solution

Family Applications Before (3)

Application Number

Title

Priority Date

Filing Date

US16/893,193

Active

2041-04-08

US11562267B2

( en )

2019-09-14

2020-06-04

Chatbot for defining a machine learning (ML) solution

US18/100,458

Active

US11847578B2

( en )

2019-09-14

2023-01-23

Chatbot for defining a machine learning (ML) solution

US18/501,716

Active

US12190254B2

( en )

2019-09-14

2023-11-03

Chatbot for defining a machine learning (ML) solution

Country Status (4)

Country

Link

US

( 4 )

US11562267B2

( en )

EP

( 1 )

EP4028903A1

( en )

CN

( 1 )

CN114556322A

( en )

WO

( 1 )

WO2021050382A1

( en )

Families Citing this family (127)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

GB2569335B

( en )

*

2017-12-13

2022-07-27

Sage Global Services Ltd

Chatbot system

US20190311807A1

( en )

*

2018-04-06

2019-10-10

Curai, Inc.

Systems and methods for responding to healthcare inquiries

US11637792B2

( en )

*

2019-04-19

2023-04-25

Oracle International Corporation

Systems and methods for a metadata driven integration of chatbot systems into back-end application services

US20200356866A1

( en )

*

2019-05-08

2020-11-12

International Business Machines Corporation

Operative enterprise application recommendation generated by cognitive services from unstructured requirements

US11580131B2

( en )

*

2019-09-01

2023-02-14

Honeywell International Inc.

Methods and apparatus for monitoring configurable performance indicators

US12118474B2

( en )

2019-09-14

2024-10-15

Oracle International Corporation

Techniques for adaptive pipelining composition for machine learning (ML)

US12386918B2

( en )

2019-09-14

2025-08-12

Oracle International Corporation

Techniques for service execution and monitoring for run-time service composition

US11562267B2

( en )

2019-09-14

2023-01-24

Oracle International Corporation

Chatbot for defining a machine learning (ML) solution

US11556862B2

( en )

2019-09-14

2023-01-17

Oracle International Corporation

Techniques for adaptive and context-aware automated service composition for machine learning (ML)

US11468238B2

( en )

2019-11-06

2022-10-11

ServiceNow Inc.

Data processing systems and methods

US11481417B2

( en )

*

2019-11-06

2022-10-25

Servicenow, Inc.

Generation and utilization of vector indexes for data processing systems and methods

US11455357B2

( en )

2019-11-06

2022-09-27

Servicenow, Inc.

Data processing systems and methods

CN114586047B

( en )

*

2019-12-13

2025-10-28

谷歌有限责任公司

Automatically execute computer actions in response to meeting machine learning-based conditions

KR102746947B1

( en )

*

2019-12-30

2024-12-27

삼성전자주식회사

Electronic device transmitting and receiving data with server device

WO2021134432A1

( en )

*

2019-12-31

2021-07-08

Paypal, Inc.

Framework for managing natural language processing tools

CN113128686A

( en )

*

2020-01-16

2021-07-16

华为技术有限公司

Model training method and device

WO2021144750A1

( en )

*

2020-01-17

2021-07-22

Bitonic Technology Labs Private Limited

Method and system for identifying ideal virtual assitant bots for providing response to user queries

WO2021162681A1

( en )

*

2020-02-11

2021-08-19

Siemens Aktiengesellschaft

Method and system for imposing constraints in a skill-based autonomous system

US11997125B2

( en )

*

2020-02-24

2024-05-28

Strikeready Inc.

Automated actions in a security platform

US11462220B2

( en )

*

2020-03-04

2022-10-04

Accenture Global Solutions Limited

Infrastructure automation platform to assist in performing actions in response to tasks

JP7463560B2

( en )

*

2020-06-25

2024-04-08

ヒタチ ヴァンタラ エルエルシー

Automated Machine Learning: An Integrated, Customizable, and Extensible System

KR102445519B1

( en )

*

2020-06-25

2022-09-21

(주)아크릴

Conversational intelligence service provision chatbot production system and method

US11694289B2

( en )

2020-06-30

2023-07-04

Cerner Innovation, Inc.

System and method for conversion achievement

US11196548B1

( en )

*

2020-07-02

2021-12-07

International Business Machines Corporation

Hypervisor protected key

US11875362B1

( en )

*

2020-07-14

2024-01-16

Cisco Technology, Inc.

Humanoid system for automated customer support

US20220051160A1

( en )

*

2020-08-15

2022-02-17

Yevgeniy Ivanovich Shadrin

Applied artificial intelligence system and method for constraints discovery and compliance using conversations

US11551674B2

( en )

*

2020-08-18

2023-01-10

Bank Of America Corporation

Multi-pipeline language processing platform

US12086048B2

( en )

*

2020-09-09

2024-09-10

Jpmorgan Chase Bank, N.A.

Method and apparatus for generating an architecture weighted scoring model

US11568135B1

( en )

*

2020-09-23

2023-01-31

Amazon Technologies, Inc.

Identifying chat correction pairs for training models to automatically correct chat inputs

US12626065B2

( en )

*

2020-09-30

2026-05-12

Amazon Technologies, Inc.

Lifecycle management for customized natural language processing

US11336507B2

( en )

*

2020-09-30

2022-05-17

Cisco Technology, Inc.

Anomaly detection and filtering based on system logs

US12174915B1

( en )

*

2020-10-01

2024-12-24

Wells Fargo Bank, N.A.

Progressive machine learning using a qualifier

US11948003B2

( en )

*

2020-11-04

2024-04-02

RazorThink, Inc.

System and method for automated production and deployment of packaged AI solutions

US11620473B1

( en )

*

2020-12-03

2023-04-04

Amazon Technologies, Inc.

Pre-processing raw data in user networks to create training data for service provider networks

US12260638B1

( en )

*

2020-12-31

2025-03-25

Squirrel Ai Learning Inc.

Adaptive learning systems utilizing machine learning techniques

US11861918B2

( en )

*

2021-01-13

2024-01-02

Dell Products L.P.

Image analysis for problem resolution

US11373131B1

( en )

*

2021-01-21

2022-06-28

Dell Products L.P.

Automatically identifying and correcting erroneous process actions using artificial intelligence techniques

US12498908B2

( en )

*

2021-01-26

2025-12-16

Akkio Inc.

Methods and systems for automatically generating and executing computer code using a natural language description of a data manipulation to be performed on a data set

US12118568B2

( en )

*

2021-01-27

2024-10-15

Cisco Technology, Inc.

Self-provisioning humanoid for automated customer support

US11729202B2

( en )

*

2021-03-17

2023-08-15

Butchershop Creative, LLC

Reducing project failure probability through generation, evaluation, and/or dependency structuring of a critical event object

CN112906907B

( en )

*

2021-03-24

2024-02-23

成都工业学院

Method and system for layering management and distribution of machine learning pipeline model

US20220318679A1

( en )

*

2021-03-31

2022-10-06

Jio Platforms Limited

Multi-faceted bot system and method thereof

US11657112B2

( en )

*

2021-04-21

2023-05-23

Dell Products L.P.

Artificial intelligence-based cache distribution

US11451496B1

( en )

*

2021-04-30

2022-09-20

Microsoft Technology Licensing, Llc

Intelligent, personalized, and dynamic chatbot conversation

US12086553B2

( en )

*

2021-06-18

2024-09-10

International Business Machines Corporation

Anticipatory dialog design for question answering with a relational database

US20220413821A1

( en )

*

2021-06-28

2022-12-29

International Business Machines Corporation

Deploying a machine learning model

US12080324B2

( en )

*

2021-06-30

2024-09-03

Oracle International Corporation

Data tape media quality validation and action recommendation

EP4364006A4

( en )

*

2021-06-30

2025-04-02

PWC Product Sales LLC

Ai-augmented auditing platform including techniques for automated adjudication of commercial substance, related parties, and collectability

US11935570B2

( en )

2021-06-30

2024-03-19

Oracle International Corporation

Data tape quality analysis

US12271908B2

( en )

*

2021-07-08

2025-04-08

International Business Machines Corporation

Automated system for customer support

US12321428B2

( en )

*

2021-07-08

2025-06-03

Nippon Telegraph And Telephone Corporation

User authentication device, user authentication method, and user authentication computer program

US11836120B2

( en )

2021-07-23

2023-12-05

Oracle International Corporation

Machine learning techniques for schema mapping

US11645069B2

( en )

*

2021-08-26

2023-05-09

International Business Machines Corporation

Synchronizing access controls for audited code development

US11397808B1

( en )

*

2021-09-02

2022-07-26

Confluera, Inc.

Attack detection based on graph edge context

EP4399592A4

( en )

*

2021-09-07

2025-06-11

Yohana LLC

Systems and methods for integrating calendar applications with task facilitation services

US11989517B2

( en )

*

2021-09-13

2024-05-21

Sap Se

Conversational automated machine learning

US20230101955A1

( en )

*

2021-09-27

2023-03-30

At&amp;T Intellectual Property I, L.P.

Reuse of machine learning models

US11782964B2

( en )

*

2021-10-08

2023-10-10

Adp, Inc.

Method to recommend intents based on a weighted ranked hierarchical graph

US11531943B1

( en )

2021-11-18

2022-12-20

Slate Technologies Inc.

Intelligence driven method and system for multi-factor optimization of schedules and resource recommendations for smart construction

CA3239204A1

( en )

*

2021-11-21

2023-05-25

Schlumberger Canada Limited

Machine learning model deployment, management and monitoring at scale

WO2023095078A1

( en )

*

2021-11-26

2023-06-01

Jio Platforms Limited

System and method for providing a customized solution for a predefined problem

US11711287B2

( en )

*

2021-12-08

2023-07-25

Ayla Networks, Inc.

Unified recommendation engine

US12405976B2

( en )

2021-12-16

2025-09-02

Hitachi, Ltd.

Method and system for generating training data for classifying intents in a conversational system

US20230196063A1

( en )

*

2021-12-21

2023-06-22

Cisco Technology, Inc.

Artificial intelligence development and upgrading using a neuro-symbolic metamodel

US12387160B2

( en )

*

2021-12-22

2025-08-12

Fidelity Information Services, Llc

Systems and methods for improving quality of artificial intelligence model

WO2023150673A2

( en )

*

2022-02-04

2023-08-10

Mezo Inc.

Diagnosing and troubleshooting maintenance repair requests using an artificial intelligence-driven chatbot

US11868686B2

( en )

2022-03-04

2024-01-09

Slate Technologies Inc.

System and method for manufacture and customization of construction assemblies in a computing environment

US20230289650A1

( en )

*

2022-03-09

2023-09-14

International Business Machines Corporation

Continuous machine learning system for containerized environment with limited resources

US20250209225A1

( en )

*

2022-03-29

2025-06-26

Slate Technologies Inc.

System and method for intent-based computational simulation in a construction environment

US20230316100A1

( en )

*

2022-03-29

2023-10-05

Fujitsu Limited

Machine learning pipeline augmented with explanation

US11907885B1

( en )

*

2022-03-29

2024-02-20

Slate Technologies Inc.

System and method for computational simulation and augmented/virtual reality in a construction environment

US12192235B2

( en )

*

2022-04-04

2025-01-07

Proofpoint, Inc.

Machine learning uniform resource locator (URL) classifier

US12541402B2

( en )

*

2022-04-19

2026-02-03

Salesforce, Inc.

Machine learning model layer

US20230393832A1

( en )

*

2022-06-06

2023-12-07

Incentive Marketing Group, Inc.

Automated translation of computer languages to extract and deploy computer systems and software

US20230419162A1

( en )

*

2022-06-22

2023-12-28

International Business Machines Corporation

Composing a machine learning model for complex data sources

US11811681B1

( en )

2022-07-12

2023-11-07

T-Mobile Usa, Inc.

Generating and deploying software architectures using telecommunication resources

US12356207B2

( en )

2022-07-12

2025-07-08

T-Mobile Usa, Inc.

Telecommunication resource deployment using machine learning systems and methods

US12164887B2

( en )

2022-07-12

2024-12-10

T-Mobile Usa, Inc.

Identifying standards-related requirements for software architectures using telecommunication resources

US11909737B2

( en )

*

2022-07-20

2024-02-20

Citizens Financial Group, Inc.

AI-driven integration platform and user-adaptive interface for business relationship orchestration

US12621227B2

( en )

*

2022-09-30

2026-05-05

Microsoft Technology Licensing, Llc

Service assurance in 5G networks using key performance indicator navigation tool

US20240119348A1

( en )

*

2022-10-11

2024-04-11

Sap Se

Bot transport process across tenants

US20240232606A9

( en )

*

2022-10-19

2024-07-11

Dell Products, L.P.

Computing services architect

US20240184991A1

( en )

*

2022-12-02

2024-06-06

Nvidia Corporation

Generating variational dialogue responses from structured data for conversational ai systems and applications

US20240185369A1

( en )

*

2022-12-05

2024-06-06

Capital One Services, Llc

Biasing machine learning model outputs

US12100088B2

( en )

*

2022-12-30

2024-09-24

Theai, Inc.

Recognition of intent of artificial intelligence characters

US11973839B1

( en )

2022-12-30

2024-04-30

Nutanix, Inc.

Microservice throttling based on learned demand predictions

US12536000B2

( en )

*

2023-01-05

2026-01-27

Hcl Technologies Limited

Method and system for automatically generating codes to operate ml models

US12099435B2

( en )

*

2023-01-06

2024-09-24

Bank Of America Corporation

Self-correcting bot

US12341733B2

( en )

2023-02-23

2025-06-24

State Farm Mutual Automobile Insurance Company

AI/ML chatbot for negotiations

US20240296315A1

( en )

*

2023-03-03

2024-09-05

Microsoft Technology Licensing, Llc

Artificial intelligence prompt processing and storage system

US12541785B2

( en )

2023-03-03

2026-02-03

State Farm Mutual Automobile Insurance Company

Chatbot to assist in vehicle shopping

US12321708B2

( en )

2023-03-03

2025-06-03

International Business Machines Corporation

Generating an AI conversation model using API test data

US12537779B2

( en )

*

2023-03-10

2026-01-27

Microsoft Technology Licensing, Llc

Computer-implemented multi-user messaging application

US20240330151A1

( en )

2023-04-03

2024-10-03

State Farm Mutual Automobile Insurance Company

Generative Artificial Intelligence for Source Code Security Vulnerability Inspection and Remediation

US12457519B2

( en )

*

2023-04-07

2025-10-28

Adobe Inc.

Message generation based on communication loss correlation

CN116347356B

( en )

*

2023-04-16

2026-02-10

北京佰才邦技术股份有限公司

Communication method, device and system

US12175341B2

( en )

*

2023-05-01

2024-12-24

The Strategic Coach Inc.

Apparatus and a method for higher-order growth modeling

US12562163B2

( en )

*

2023-05-12

2026-02-24

Servicenow, Inc.

Bidirectional assistant for development platforms

US20240394503A1

( en )

2023-05-25

2024-11-28

State Farm Mutual Automobile Insurance Company

Providing information via a machine learning chatbot emulating traits of a person

US12412030B2

( en )

2023-06-09

2025-09-09

Bank Of America Corporation

Utterance building to convey user input to conversational agents

US12456019B2

( en )

2023-06-09

2025-10-28

Bank Of America Corporation

Response generation from multi-intent input

US12332771B2

( en )

2023-06-28

2025-06-17

Bank Of America Corporation

System for automated intelligent testing of desktop applications through machine learning

US12541650B2

( en )

2023-06-28

2026-02-03

Quantiphi, Inc.

Method and system for training a virtual agent using optimal utterances

CN116821305B

( en )

*

2023-07-07

2026-01-16

中国平安人寿保险股份有限公司

Multi-round dialogue management method, device, equipment and storage medium

US20250061374A1

( en )

*

2023-08-15

2025-02-20

International Business Machines Corporation

Intelligent event prediction and visualization

US12328232B2

( en )

2023-08-16

2025-06-10

Bank Of America Corporation

System for automated self-discoverable generation of networked computing application flows

US20250103908A1

( en )

*

2023-09-21

2025-03-27

International Business Machines Corporation

Dynamic Selection of AI Computer Models to Reduce Costs and Maximize User Experience

US12159313B1

( en )

2023-10-18

2024-12-03

Slate Technologies Inc.

System and method for computational prediction and recommendation of real-world entities and their value assertion

Related documents

Record · ID 607059
Retrieved via Conceptio — every document is proof-bundled with source, license, and retrieval metadata.