Techniques for enabling a conversional user interface of

By using the trained language model to process user input, determine the simulation intention, and configure it before simulation execution, the simulation problem caused by user input errors in the existing technology is solved, and a more efficient and accurate simulation process is achieved.

CN119336877APending Publication Date: 2025-01-21AUTODESK INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410952919.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-06-21
Filing Date
2024-07-16
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

In existing computer-based simulation technology, the integrity and correctness of user input are difficult to check, resulting in errors in simulation configuration and execution, requiring users to have a high level of proficiency.

Method used

By receiving user input as natural language text, using a trained language model to map user input to intent categories and generating additional input requests when intent cannot be determined, iterating interactions to determine user intent, and configuring the simulation model before executing the simulation.

Benefits of technology

The interactive natural language interaction between the user and the simulation application is realized, the user's intention is determined iteratively, and the necessary configuration before the simulation execution reduces the possibility of the user's input error and improves the accuracy and efficiency of the simulation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119336877A_ABST
    Figure CN119336877A_ABST
Patent Text Reader

Abstract

The invention discloses a technique for enabling a conversational user interface of a simulation application through a language model. One embodiment of a method for determining a user intent includes: receiving a user input including a first natural language text; performing one or more operations to map the user input to one or more intent categories included in a plurality of intent categories; and in response to determining that the user input is not mapped to any intent category, generating a second natural language text requesting additional user input through the first trained language model.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of priority to U.S. Provisional Patent Application Serial No. 63 / 514,061, filed on July 17, 2023, entitled “TECHNIQUES FOR ENABLING CONVERSATIONAL USER INTERFACEFOR SIMULA TION PLATFORMS VIA LARGE LANGUAGE MODELS,” and U.S. Provisional Patent Application Serial No. 63 / 514,063, filed on July 17, 2023, entitled “TECHNIQUES FOR INTELLIGENT SIMULATION DATA ANALYSIS VIA MULTIMODAL LARGE LANGUAGE MODELS.” The subject matter of these related applications is hereby incorporated herein by reference. Background Art Technical Field

[0003] Embodiments of the present disclosure relate generally to artificial intelligence (AI), machine learning, and computer-based simulations, and more particularly to techniques for enabling conversational user interfaces for simulation applications through language models.

[0004] Description of related technologies

[0005] Computer-based simulation uses mathematical modeling performed on a computer to simulate the behavior and outcomes of real-world systems, such as physical systems. Computer-based simulation has applications in many fields, including fluid dynamics, structural mechanics, multiphysics, and systems modeling.

[0006] A traditional method for performing computer-based simulations requires a user to input a system or component to be modeled, as well as one or more objectives of the simulation, such as analysis or optimization of the system or component. One or more simulation models may then be executed based on the user input to generate simulation data. The user input is typically non-interactive and rigidly formatted. In addition, the user is often required to specify the tools and parameters used to perform the simulation.

[0007] One disadvantage of the above methods is that user input is generally not checked for completeness or correctness. Incomplete or incorrect user input may lead to errors during the configuration and / or execution of the simulation and in the analysis of the data generated by the simulation. Therefore, the above methods require a high level of user proficiency in correctly specifying and executing the simulation, and errors and inefficiencies may occur if the user input does not fully match the simulation requirements in terms of content or format.

[0008] As the foregoing illustrates, there is a need in the art for more efficient techniques for performing computer-based simulations. Summary of the invention

[0009] One embodiment describes a computer-implemented method for determining user intent. The method includes receiving user input including a first natural language text. The method also includes performing one or more operations to map the user input to one or more intent categories included in a plurality of intent categories. Additionally, the method includes: in response to determining that the user input is not mapped to any intent category, generating, through a first trained language model, a second natural language text requesting additional user input.

[0010] Another embodiment describes a computer-implemented method for performing a simulation. The method includes selecting a first data structure from a plurality of data structures based on user input. The method also includes generating, through a trained language model, a first natural language text requesting additional user input in response to determining that one or more values ​​of one or more parameters specified in the first data structure cannot be determined based on the user input. Additionally, the method includes performing a simulation based on the additional user input to generate simulation data.

[0011] Another embodiment describes a computer-implemented method for analyzing data. The method includes determining one or more first functions based on a first trained language model and a user request. The method also includes executing the one or more first functions based on the data to generate first analysis data.

[0012] One technical advantage of the disclosed technology over the prior art is that the disclosed technology provides interactive natural language interaction between a user and various components of a simulation application. The disclosed technology iteratively interacts with a user to determine the intent of a user request. The technology also interacts with the user via natural language to configure one or more simulation models and / or solvers prior to executing the requested simulation. The technology continuously interacts with the user during analysis of simulation data and can generate one or more reports based on the simulation data. These technical advantages provide one or more technical improvements over prior art methods. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] In order to be able to understand in detail the manner of the above features of various embodiments, the inventive concept briefly summarized above may be described in more detail by reference to various embodiments, some of which are shown in the accompanying drawings. However, it should be noted that the drawings only show typical embodiments of the inventive concept and are therefore not to be considered as limiting the scope in any way, and there are other equally effective embodiments.

[0014] Figure 1 A computing device configured to implement one or more aspects of various embodiments is shown.

[0015] Figure 2 According to various implementation schemes Figure 1 A more detailed illustration of the simulation application.

[0016] Figure 3 is a flow chart of method steps for determining simulated user intent, performing one or more simulations, and analyzing simulation data according to various embodiments.

[0017] Figure 4 According to various implementation schemes Figure 1 A more detailed illustration of the intent engine of the simulated application.

[0018] Figure 5 is a flow chart of method steps for determining user intent in a simulation application according to various embodiments.

[0019] Figure 6 According to various implementation schemes Figure 1 A more detailed illustration of the simulation engine of the simulation application.

[0020] Figure 7 According to various implementation schemes Figure 2 Block diagram of the function pattern generator included in the simulation application.

[0021] Figure 8 Exemplary predefined data structures for simulation models according to various embodiments are shown.

[0022] Fig. 9 is a flow chart of method steps for configuring and executing one or more simulations in a simulation application according to various embodiments.

[0023] Fig.10 According to various implementation schemes Figure 1 A more detailed diagram of the analysis engine.

[0024] Fig.11 is a flow chart of method steps for analyzing simulation data in a simulation application according to various embodiments. DETAILED DESCRIPTION

[0025] In the following description, numerous specific details are set forth to provide a more thorough understanding of various embodiments. However, it will be apparent to one skilled in the art that the inventive concept may be practiced without one or more of these specific details.

[0026] Systematic review

[0027] Figure 1 A computing device 100 configured to implement one or more aspects of various embodiments is shown. As shown, the computing device 100 includes, but is not limited to, an interconnect (bus) 112 connecting one or more processors 102, an input / output (I / O) device interface 104 coupled to one or more input / output (I / O) devices 108, a memory 116, a storage device 114, and a network interface 106. In some embodiments, the computing device 100 can be a desktop computer, a laptop computer, a smart phone, a personal digital assistant (PDA), a tablet computer, or any other type of computing device configured to receive input, process data, and optionally display images, and is suitable for practicing one or more embodiments. Illustratively, the computing device 100 is configured to run a simulation application 120, which includes an intent engine 122, a simulation engine 124, an analysis engine 126, and a language model 128. In operation, the simulation application 120 resides in the memory 116 and executes on the processor 102 of the computing device 100. In various embodiments, the language model 128 may include a single language model, multiple different language models, or multiple instances of the same language model. Although shown for illustrative purposes as residing in the memory 116 of the computing device 100, in some embodiments, the language model 128 may reside in a different location such as a cloud computing environment from which the simulation application 120 accesses the language model 128 via an application programming interface (API).

[0028] It should be noted that the computing device described herein is illustrative, and any other technically feasible configuration falls within the scope of the present disclosure. For example, in some embodiments, any combination of components in the computing device 100 ( For example, process 102, memory 116, etc.) can be replaced with any type of virtual computing system, distributed computing system, or components within a cloud computing environment such as a public cloud, a private cloud, or a hybrid cloud. In these cases, one or more instances of simulation application 120, intent engine 122, simulation engine 124, analysis engine 126, and / or language model 128 can be executed on a set of nodes in the virtual computing system, distributed computing system, or cloud computing environment to implement the functionality of computing device 100. As another example, in some embodiments, simulation application 120, intent engine 122, simulation engine 124, analysis engine 126, and / or language model 128 can be executed on a variety of hardware sets, device types, or environments to adapt simulation application 120, intent engine 122, simulation engine 124, analysis engine 126, and / or language model 128 to different use cases or applications. As a further example, in some embodiments, the simulation application 120, the intent engine 122, the simulation engine 124, the analysis engine 126, and / or the language model 128 may be executed on different computing devices and / or different sets of computing devices.

[0029] Illustratively, the computing device 100 includes, but is not limited to, an interconnect (bus) 112 connecting one or more processors 102, an input / output (I / O) device interface 104 coupled to one or more input / output (I / O) devices 108, a memory 116, a storage device 114, and a network interface 106. The processor 102 may be any suitable processor implemented as a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), an artificial intelligence (AI) accelerator, any other type of processing unit, or a combination of different processing units, such as a CPU configured to operate in conjunction with a GPU. In general, the one or more processors 102 may be any technically feasible hardware unit capable of processing data and / or executing software applications. In addition, in the context of the present disclosure, the computing elements shown in the computing device 100 may correspond to a physical computing system (e.g., a system in a data center) or may be a virtual computing instance executed within a computing cloud.

[0030] I / O devices 108 include devices capable of providing input, such as a keyboard, a mouse, a touch-sensitive screen, etc., and devices capable of providing output, such as a display device. In addition, I / O devices 108 may include devices capable of both receiving input and providing output, such as a touch screen, a universal serial bus (USB) port, etc. I / O devices 108 may be configured to receive input from an end user ( For example, designer) and also provide various types of output, such as displayed digital images or digital video or text, to an end user of computing device 100. In some embodiments, one or more of I / O devices 108 are configured to couple computing device 100 to network 110.

[0031] The network 110 is any technically feasible type of communication network that allows data to be exchanged between the computing device 100 and an external entity or device (such as a network server or another networked computing device). For example, the network 110 may include a wide area network (WAN), a local area network (LAN), a wireless (WiFi) network, and / or the Internet, among others.

[0032] Storage device 114 includes non-volatile storage devices for applications and data, and may include fixed or removable disk drives, flash memory devices, and CD-ROM, DVD-ROM, Blu-ray, HD-DVD or other magnetic, optical or solid-state storage devices. Simulation application 120 can be stored in storage device 114 and loaded into memory 116 when executed.

[0033] The memory 116 includes random access memory (RAM) modules, flash memory cells, or any other type of memory cells or combinations thereof. The processor 102, the I / O device interface 104, and the network interface 106 are configured to read data from and write data to the memory 116. The memory 116 includes various software programs executable by the processor 102 and application data associated with the software programs including the simulation application 120.

[0034] As follows Figures 2 to 11 Discussed in more detail, simulation application 120 is configured to receive natural language requests and execute computer-based simulations in response to the requests. In some embodiments, intent engine 122 processes user requests for determining intent, simulation engine 124 configures and executes one or more computer-based simulations, and analysis engine 126 analyzes simulation data generated by simulation engine 124 and generates summaries and reports for display to the user.

[0035] Enabling conversational user interfaces for simulated applications through language models

[0036] Figure 2 According to various implementation schemes Figure 11. As shown, the simulation application 120 includes an intent engine 122, a simulation engine 124, an analysis engine 126, and a language model 128. In operation, the simulation application 120 receives user input 202, determines user intent for one or more computer-based simulations, configures and executes one or more computer-based simulations, and outputs simulation results 204, which may include For example Summaries of simulation data, reports of simulation-based analyses, etc.

[0037] User input 202 includes the following: For example , analyst). In some embodiments, user input 202 may include initial input from a user, such as “I want to analyze the efficiency of a valve,” and (optionally) additional input from the user in response to one or more requests for additional information from simulation application 120. Various components of simulation application 120, including intent engine 122, simulation engine 124, analysis engine 126, and / or language model 128, may process one or more portions of user input 202.

[0038] The language model 128 is a machine learning model that has been trained on a corpus of training data. In some embodiments, the language model 128 can have any suitable architecture and be trained in any technically feasible manner. For example, in some embodiments, the language model 128 can include an artificial neural network, such as a large language model, a small language model, etc. In some embodiments, the language model 128 can be fine-tuned on domain-specific training data after initial training, or alternatively, the language model may not receive additional training beyond the initial training. In some embodiments, the language model 128 can include a single language model, multiple different language models, or multiple instances of a single language model.

[0039] The language model 128 processes natural language user input during various stages of operation described below in the discussion of the intent engine 122, the simulation engine 124, and the analysis engine 126. The language model 128 may also process input from the simulation application 120 regarding the simulation capabilities of the simulation application 120, including available simulation capabilities and requirements for various simulations. In some embodiments, the language model 128 may perform function calls through one or more application program interfaces (APIs), select from available simulation tools, and / or generate computer code to implement simulation tools that are not yet available to the simulation application 120.

[0040] The intent engine 122 may be configured to generate a response based on one or more natural language requests and / or responses received from a user via the language model 128. For example"I want to determine the pressure drop across the valve" to determine the user intent for the simulation. The intent engine 122 can also determine one or more appropriate simulation tasks based on the intent. For example, the simulation tasks can include fluid simulation, structural simulation, or fluid / structure interaction. In addition, the intent engine 122 can determine one or more simulation tools, such as one or more solvers and / or simulation models, for performing the one or more simulation tasks. Figures 4 to 5 The intent engine 122 is discussed in more detail.

[0041] Based on the determined solvers and / or simulation models, the simulation engine 124 compares the user input 202 to the predefined data structures associated with each solver or simulation model to determine whether the user has provided all necessary information for executing the solver and / or simulation model, as indicated by the predefined data structures. If the user has not provided all necessary information, the simulation engine 124 uses the language model 128 to generate natural language text that asks the user for additional information. The simulation engine 124 may also execute function calls to obtain the user's input 202 from the simulation engine 124. For example The simulation engine 124 may retrieve information from a database or request the necessary API for one or more simulation tools. The simulation engine 124 continues to prompt the user and / or retrieve additional information through function calls until the simulation engine 124 has received or can infer all necessary information for executing one or more determined simulation solvers and / or simulation models. Thereafter, the simulation engine 124 executes the solver and / or simulation model.

[0042] In some embodiments, the simulation engine 124 first performs a test run of the solver and / or simulation model. During the test run, the simulation engine 124 can check for errors in the solver and / or simulation model, such as syntax errors, rapid divergence in one or more simulation solutions, and / or excessive requirements on computer hardware. If the simulation engine 124 detects an error, the simulation engine 124 determines whether the error can be corrected. If the error can be corrected, the simulation engine 124 can prompt the user to change one or more parameters of the solver and / or simulation model to correct the error. The simulation engine 124 can perform multiple test runs and adjust the solver and / or simulation model multiple times based on user input 202 until the test run is successfully executed. The simulation engine 124 can then display the finalized simulation parameters to the user and prompt the user to continue executing the solver and / or simulation model. During the execution of one or more solvers and / or simulation models, the simulation engine 124 can generate simulation data and display the progress of execution to the user. At the end of execution, the simulation engine 124 transmits the simulation data to the analysis engine 126. The following is combined with Figures 6 to 9 The simulation engine 124 is discussed in more detail.

[0043] The analysis engine 126 performs analysis on the simulation data received from the simulation engine 124 and generates one or more reports ( For example , report 204). In operation, the analysis engine 126 can receive user input 202 requesting a specific analysis. If the request is unclear, the analysis engine 126 can use the language model 128 to generate a natural language text requesting further information from the user. The analysis engine 126 determines whether the nature of the analysis request is exploratory or whether the analysis request requires a deterministic analysis. In some embodiments, the analysis engine 126 can determine the nature of the analysis request through zero-shot classification techniques or using the language model 128.

[0044] The analysis engine 126 develops a plan for analyzing the simulated data based on the nature of the analysis request. For example, if the analysis engine 126 determines that the analysis request is exploratory, the analysis engine 126 can generate an analysis plan that includes data exploration, cluster analysis, outlier detection, and / or pattern recognition. As another example, if the analysis request requires a deterministic analysis, the analysis engine 126 can generate an analysis plan that includes specific statistical tests for validating one or more hypotheses, predictive modeling for predicting future trends, or specific visual diagrams with design details for illustrating specific points. A deterministic analysis plan can focus on drawing clear and unambiguous conclusions from the simulated data to address specific user goals.

[0045] In some embodiments, the analysis engine 126 also confirms the availability of required functions such as visualizers, plotters, classifiers and / or statistical analysis tool sets. If the required function or tool set is missing, the analysis engine 126 can use the language model 128 to generate the program code for realizing the missing function or tool set. If the analysis engine 126 is unable to generate the required function or tool set, the analysis engine 126 can adjust the analysis plan by selecting an alternative technology to achieve the analysis goal or adjust the analysis plan to remove the requirement for the missing function or tool set. Then, the analysis engine 126 performs the function call associated with the function and / or tool set to process the simulation data. After executing the function call, the analysis engine 126 generates and displays the text summary of the data generated by the output of the function call. The summary can provide a concise and informative overview of the generated data. If the output of the function call includes a visual element, such as an image, a video or an n-dimensional data format that changes over time, the analysis engine 126 can store these visual outputs and make the output available for subsequent processes. The analysis engine 126 can also add the position of the stored visual output to the text summary. In some embodiments, the analysis engine 126 may also evaluate the data generated by the output of the function call in order to extract meaningful insights, trends, and / or patterns within the generated data. In these cases, the analysis engine 126 interprets the results and generates conclusions based on the user analysis request, and explains the importance of the findings. The analysis engine 126 then displays the generated visual data to the user through one or more interactive user interfaces (UIs), thereby highlighting relevant locations in the visual data based on the conclusions. The generated visual data corresponds to and supports the displayed textual data described above. In addition, the analysis engine 126 can compile a report detailing the findings and conclusions of the analysis as well as the interpretation and meaning of the analysis. For example, a report may include both textual data analysis and visual data analysis. The following is a combination of Figure 10 to Figure 11 The analysis engine 126 is described in more detail.

[0046] Figure 3 is a flow chart of method steps for determining simulated user intent, performing one or more simulations, and analyzing simulation data according to various embodiments. Figure 1 to Figure 2 Although the method steps are described with reference to a system, those skilled in the art will understand that any system configured to perform the method steps in any order falls within the scope of the present disclosure.

[0047] As shown, method 300 begins at operation 302, where the intent engine 122 of the simulation application 120 determines the simulated user intent based on one or more natural language requests from the user and / or the user's response to a prompt of the simulation application 120. In some embodiments, the natural language request and / or response can be received in any technically feasible manner, such as through a UI. Given the natural language request and / or response, the intent can be determined by mapping the user request to one of a plurality of problem categories to be solved, such as using a zero-shot classification technique or using a prompt query language model 128 to determine the category of the problem, as discussed in more detail below.

[0048] At operation 304, the simulation engine 124 of the simulation application 120 determines one or more appropriate simulation tools, such as solvers and / or simulation models, based on the user input. In some embodiments, the simulation engine 124 may determine the appropriate simulation tool based on the initial user request, and / or the simulation engine 124 may iteratively prompt the user to enter the required additional information. The simulation engine 124 may then select one or more simulation tools based on the initial user request and / or the additional information. In addition, the simulation engine 124 may provide a subsequent prompt to the user to confirm the one or more selected simulation tools, as described below in conjunction with Figures 5 to 9 Discuss in more detail.

[0049] At operation 306, the simulation engine 124 configures one or more simulation tools for execution. In some embodiments, the simulation engine 124 determines whether all necessary information has been provided by the user or can be inferred by the simulation engine 124. For example, in some embodiments, the simulation engine 124 can satisfy the requirements of the simulation tool by requiring the user to provide necessary parameters such as attributes or geometry, through system requests to necessary APIs, and / or by comparing the collected information with scripts or compiled code, as described below in conjunction with Figures 5 to 9 Discuss in more detail.

[0050] At operation 308, simulation engine 124 executes simulation tool. In various embodiments, simulation engine 124 can first perform the test run of simulation tool, and the simulation tool can include one or more solvers and / or simulation models. During the test run, simulation engine 124 checks the error in the simulation tool and determines whether the error can be corrected. If the error can be corrected, simulation engine 124 can prompt the user to change one or more parameters of the simulation tool to correct the error. Simulation engine 124 can also display the simulation parameters finally determined to the user and prompt the user to confirm to continue to execute the simulation tool. During the execution of the simulation tool, simulation engine 124 can generate simulation data and display the progress of execution to the user. After the execution of the simulation tool, simulation engine 124 transfers the simulation data to analysis engine 126.

[0051] At operation 310, the analysis engine 126 performs one or more analyses on the simulation data based on the user analysis request. In some embodiments, the analysis engine 126 can perform analysis on the simulation data, display the analysis results to the user, and / or generate one or more reports based on the analysis of the simulation data. As described, the analysis engine 126 can determine whether the nature of the analysis request is exploratory or whether the analysis request requires deterministic analysis. Then, the analysis engine 126 can start the review to confirm the availability of the required functions such as visualizers, plotters, classifiers or statistical analysis toolsets. If the required function or toolset is missing, the analysis engine 126 can use the language model 128 to generate the necessary program code for realizing the missing function or toolset. If the analysis engine 126 cannot generate the required function or toolset, the analysis engine 126 can adjust the analysis plan by selecting an alternative technology to achieve the analysis goal or adjust the analysis plan to remove the requirement for the missing function or toolset. Then, the analysis engine 126 executes the function call associated with the basic function and / or toolset to process the simulation data.

[0052] At operation 312, the analysis engine 126 generates and displays a summary and / or detailed results of one or more analyses. In some embodiments, the analysis engine 126 generates and displays a text summary of the data generated due to the function call at operation 310. In these cases, the summary can provide a concise and informative overview of the generated data. In some embodiments, the analysis engine 126 can also perform a detailed inspection of the generated data. In some embodiments, the analysis engine 126 evaluates the data generated due to the function call, thereby extracting meaningful insights, trends and / or patterns within the generated data. In some embodiments, the analysis engine 126 interprets the results and generates conclusions based on the user's analysis request, and explains the importance of the discovery. In some embodiments, the analysis engine 126 can generate visual data through one or more interactive visualizations and display the visual data to the user, thereby highlighting the relevant positions in the visual data based on the conclusion. In these cases, the generated visual data corresponds to the displayed text data described above and supports the displayed text data. In some embodiments, the analysis engine 126 can generate and display a report that details the findings and conclusions of the analysis and the interpretation and meaning of the analysis. In these cases, the report can include both text data analysis and visual data analysis.

[0053] Capturing user intent

[0054] Figure 44 is a more detailed illustration of the intent engine 122 of the simulation application 120 according to various embodiments. As shown, the intent engine 122 includes an input analysis module 420 and application information 430. In operation, the intent engine 122 determines the user intent of the simulation based on one or more natural language requests and / or responses received in the user input 400, and determines one or more appropriate simulation tasks based on the user input 400.

[0055] The user input 400 may include an initial request from a user through a conversational user interface (CUI), or a request from an upstream software application. In some embodiments, the user input 400 may include a natural language question or statement, such as "I want to know if the pressure drop of this valve is less than 5 psi at a water flow rate of twenty gallons per minute." For example, the user input 400 may include an inquiry about the capabilities of the simulation application 120 or a particular simulation tool such as a solver. The user input 400 may also include a user response to a query articulated from the input analysis module 420, as described below.

[0056] The intention engine 122 transmits the user input 400 for processing by the language model 128 to generate a simplified input. The language model 128 receives the user input 400 and interprets and transforms the user input to generate a simplified input, which can be a clearer, shorter and / or more coherent version of the request in the user input 400. In some embodiments, the intention engine 122 can enhance the context of the language model 128 through knowledge retrieval. In knowledge retrieval, various components of the simulation application 120 can execute function calls selected from the function pattern database to incorporate specific relevant context information into the language model 128 as pre-prompts.

[0057] The language model 128 transmits the simplified input to the input analysis module 420. The language model 128 may also communicate with the input analysis module 420 to generate natural language text that asks the user for additional input that may be needed, such as if the user input 400 is unclear and the input analysis module 420 cannot determine the user's intent from the user input 400.

[0058] The input analysis module 420 receives the simplified input generated by the language model 128 and maps the simplified input (or the original user input 400) to an intent. For example, the input analysis module 420 can determine whether the simplified input is a general query about available simulations, a request to run a specific type of simulation, a request to perform an optimization problem, a request to clarify a specific simulation tool such as a solver, or a request about the general capabilities, functionality, or limitations of the simulation application 120.

[0059] In some embodiments, the input analysis module 420 can use a zero-shot classification model ("zero-shot classifier") included in the input analysis module 420 or accessible to the input analysis module 420 to map the simplified input to the user intent 400. In some embodiments, the zero-shot classifier includes a set of categories, each of which represents a specific type of request. Each category includes a detailed text description of the category. The input analysis module 420 generates a vector embedding for each category included in the zero-shot classifier based on the text description associated with the category. The input analysis module 420 also generates a vector embedding based on the simplified user input received from the language model 128. The input analysis module 420 determines the similarity between each of the simplified user input vector embedding and the vector embedding associated with the category in the zero-shot classifier. In some embodiments, any technically feasible similarity measure can be used, such as cosine similarity. Based on the similarity, the input analysis module 420 generates a probability distribution of categories in the zero-shot classifier, and identifies the category with the highest probability as the most likely category corresponding to the user request. The input analysis module 420 can also generate an uncertainty value for the classification based on the entropy of the generated probability distribution.

[0060] In some embodiments, the input analysis module 420 can map the simplified input to the user intent 440 through the thought chaining technique. In these cases, the input analysis module 420 retrieves the initial system message from the application information 430, which includes detailed information about the capabilities and functionality of the simulation application 120. The application information 430 may include a general description of the simulation application 120 and detailed information about the specific simulation tools available in the simulation application 120. The input analysis engine 420 transmits the initial system message to the language model 128, and the language model 128 incorporates the initial system message as a pre-prompt that provides additional language model context about the intent category to which the simplified input can be mapped. The input analysis module 420 determines the user intent and uncertainty value by inputting the user input 400 and the additional context and the request to inquire about the user intent and uncertainty into the language model 128. More specifically, in the thought chaining technique, the request to the language model 128 can decompose complex questions or queries to determine the user intent into a series of intermediate steps or ideas, thereby helping the language model 128 to follow a logical progression and enhance its reasoning ability, thereby obtaining a more accurate response. Thus, although thought chaining is not particularly required for zero-shot classification, thought chaining can enhance the performance of the language model 128 by providing a structured reasoning path. In some embodiments, the language model 128 can output a probability distribution of possible user intents, from which the For exampleThe entropy value (or other uncertainty quantification) is used to quantify the uncertainty. Additionally, in some embodiments, zero-shot classification using the language model 128 may be greedy, in which case the language model 128 may select the most likely class based on the highest probability.

[0061] Based on the uncertainty value generated by the zero-shot classifier or thought chaining technique (or another text classification technique for determining uncertainty and user intent), the input analysis module 420 determines whether the user intent is clear enough to proceed with the simulation setup in the simulation engine 124, combined with the Figures 5 and 6 128. The input analysis module 420 may request the user to better formulate the question or confirm the interpretation intent generated by the input analysis module 420 by using the natural language text generated by the language model 128. For example, if the user uploads a file describing a pipe structure without additional context, the input analysis module 420 may infer that the user intends to run a fluid dynamics simulation. Based on such inferences, the input analysis module 420 may provide the user with information about the ability of the simulation application to simulate fluid flow, propose potential simulation scenarios, and present suggestions to the user. The input analysis module 420 may ask the user whether to continue with the proposed scenario or provide additional details. The input analysis module 420 may iteratively ask the user until the calculated uncertainty value of the user intent is below the threshold. Based on determining that the calculated uncertainty value is below the threshold, the intent engine 122 stores the user intent as a user intent 440. The user intent 440 may include general queries from the user, such as requests about the capabilities of the simulation application 120 or a particular solver or simulation. The user intent 440 may also include a request for the simulation application 120 to perform a simulation or optimization problem. The intent engine 122 then transmits the user intent 440 to the simulation engine 124.

[0062] In some other embodiments, the intent engine 122 can map the user input 400 and / or the simplified input generated using the language model 120 to the user intent 440 in any technically feasible manner. For example, in some embodiments, the intent engine 122 can map the user input 400 or the simplified input to the user intent 440 using a predefined data structure that specifies explicit category options that the user intent may include, thereby providing a format that needs to be followed given the simulation capabilities of the simulation application 120. In these cases, the intent engine 122 can check ( For example, through a script) whether the user input 400 matches one of the explicit options of the user's intent in the predefined data structure. If the input 400 does not match any of the explicit options, an error occurs, which can be fixed by using the language model 128 to generate natural language text that asks the user for additional input until the user input matches one of the explicit options in the predefined data structure. As another example, in some embodiments, the intent engine 122 can use a language model that is fine-tuned to output the request category to map the user input 400 or a simplified input to the user intent 440. As another example, in some embodiments, the intent engine 122 can use any technically feasible text classification technology to map the user input 400 or a simplified input to the user intent 440 with associated uncertainty.

[0063] Figure 5 is a flow chart of method steps for determining user intent in a simulation application according to various embodiments. Figures 1 to 4 Although the method steps are described with reference to a system, those skilled in the art will understand that any system configured to perform the method steps in any order falls within the scope of the present disclosure.

[0064] As shown, method 500 begins at operation 502, where the intent engine 122 receives user input. For example, the user input can be natural language text that includes a general query about the capabilities of a simulation application or a particular simulation tool, or includes a request to run a particular type of simulation or optimization problem.

[0065] At operation 504, the intent engine 122 receives an initial system message from the application information 430. The initial system message includes general information about the simulation application 120 and detailed information about the simulation tools available for the platform, including available simulation and optimization capabilities. The intent engine 122 can transmit the information included in the initial system message to the language model 128 as a pre-hint to provide additional context information to the language model 128.

[0066] At operation 506, the intent engine 122 maps the user input or a simplified input generated from the user input to a class of user intent. In some embodiments, the intent engine 122 can generate the simplified user input using the language model 128 and map the simplified user input to the user intent using a single-shot classifier or thought chaining technique using the application information 430 received at operation 504. In these cases, the intent engine 122 can also generate an uncertainty value associated with the determined user intent, as described above in conjunction with Figure 4Described. In some other embodiments, the intent engine 122 may map user input to user intent using a predefined data structure that specifies explicit category options by checking whether the user input matches one of the options for the user intent, and if the user input does not match one of the options, using the language model 128 to generate natural language text that asks the user for additional input until the user input matches one of the options in the predefined data structure. In some embodiments, the intent engine 122 may map user input to user intent using a fine-tuned language model that is trained to output intent classifications. In some embodiments, the intent engine 122 may map user input or simplified input to user intent with associated uncertainty using any technically feasible text classification technique.

[0067] At operation 508, if the intent engine 122 does not successfully map the user input or simplified input to the user intent, such as if the uncertainty value associated with the determined intent is above a threshold or the user input does not match any options in the predefined data structure, the intent engine 122 iteratively asks the user for more information. In some embodiments, the intent engine 122 can use the language model 128 to generate natural language text that requests additional information from the user, or for the user to confirm or reject the suggested user intent generated by the intent engine 122. The intent engine 122 can continue to iteratively ask the user for more information until the user input and / or simplified input is successfully mapped to the user intent.

[0068] At operation 510 , the intent engine 122 stores the user intent 440 , including any user requests for information or clarification regarding the simulation application 120 and any requests to perform simulations or optimization problems, and transmits the user intent 440 to the simulation engine 124 .

[0069] Simulation configuration and execution

[0070] Figure 6 According to various implementation schemes Figure 1 6. A more detailed illustration of the simulation engine 124 of FIG. 6. As shown, the simulation engine 124 includes a language model 610, a simulation configuration module 620, an information retrieval module 630, a simulation tester 640, and a simulation executor 650. In operation, the simulation engine 124 receives the user intent 440 from the intent engine 122, and selects one or more appropriate solvers for the query or simulation based on the user intent. The simulation engine 124 determines whether all necessary information for generating a response or configuring a simulation is available, and may request additional information from the user. The simulation engine 124 may also collect the APIs or API calls required to perform the simulation. The simulation engine 124 generates responses to user queries and / or performs configured simulations as needed.

[0071] The simulation engine 124 receives the user intent 440 from the intent engine 122. As described above, the user intent 400 may represent a query from a user regarding the capabilities of the simulation application 120 or a particular simulation tool, a request for simulation or optimization, and the like.

[0072] In some embodiments, language model 610 may be a large language model after training. In some embodiments, language model 610 may be the same large language model as language model 128 described above. In other embodiments, language model 610 may be a different large language model than language model 128, or may be a separate instance of the same large language model.

[0073] The simulation engine 124 transmits the user intent 440 to the language model 610 and uses the language model 610 to determine a set of simulation tools needed to satisfy the user intent 440. The simulation tools may enable the simulation engine 124 to respond to user requests for information or clarification about the simulation application 120 or may include a specific solver or simulation model.

[0074] For each simulation tool in the set of simulation tools, the simulation engine 124 determines the information required to execute the simulation tool. In some embodiments, the simulation configuration module 620 can request a function pattern associated with the simulation tool from the function pattern generator 700. The function pattern includes a template that specifies For example Parameters of a simulation tool, required inputs to a simulation tool, and / or default values ​​for variables included in a simulation tool. Figures 7 and 8 Discusses function patterns in more detail.

[0075] The simulation configuration module 620 parses the function pattern received from the function pattern generator 700 and generates one or more function calls based on the information included in the function pattern. The simulation configuration module 620 transmits the function call to the information retrieval model 630 for execution. In various embodiments, the function call can specify the information elements required to execute the simulation tool or respond to the user query.

[0076] The information retrieval module 630 receives function calls from the simulation configuration module 620. The information retrieval module 630 transmits the function calls to the function pattern generator 700 through the language model 610. The information retrieval module 630 receives necessary information from the function pattern generator 700 and transmits the information as pre-hints to the language model 610. The pre-hints provide additional context to the language model 610. In various embodiments, the information retrieval module 630 can summarize the information received from the function pattern generator 700 based on the allowed context or hint size of the language model 610. In various embodiments, the information retrieval module 630 can request and receive functions, APIs, source code, examples, templates, documentation, and definitions associated with one or more simulation tools.

[0077] The simulation configuration module 620 may determine that the user needs to provide additional information based on the user intent 440. The simulation configuration module 620 may interact with the user through the language model 610, which may be used to generate natural language text requesting additional information from the user.

[0078] The simulation configuration module 620 may also determine, based on the user intent 440, that the simulation engine 124 requires one or more APIs to execute the simulation tool. In these cases, the simulation configuration module 620 transmits a description of the requested API to the information retrieval module 630, which retrieves the API from the simulation engine 124. For example The function pattern generator 700 or elsewhere requests and receives the required API.

[0079] After the simulation engine 124 determines that the simulation configuration module 620 has collected all necessary additional information, the simulation engine 124 determines whether it is necessary to perform the simulation. For example, based on the user intent 440, the simulation engine 124 may determine that the user intent represents a general user query about the capabilities of the simulation application 120, and it is not necessary to perform the simulation. In these cases, the simulation engine 124 may use the language model 610 to respond to the user query based on the information retrieved by the information retrieval module 630.

[0080] If the simulation engine 124 determines to perform the simulation, the simulation tester 640 generates and executes the test run of the simulation. In some embodiments, the test run of the simulation may include a limited amount of data to be analyzed, or the simulation may be performed within a limited time period or a specified number of iterations. The simulation tester 640 monitors the test run of the simulation and analyzes errors in the execution. Errors may include syntax errors in the simulation tool, or runtime errors, such as division by zero errors or cross-border errors. Other errors may include simulation solutions that deviate quickly during the test run, or excessive consumption of one or more system resources such as memory or CPU cycles. If the simulation engine 124 detects an error during the simulation 640, the simulation engine 124 may attempt to automatically diagnose and correct the error, or may prompt the user to modify one or more parameters of the simulation to resolve the error through the language model 610. The simulation tester 640 may iteratively modify the parameters of the simulation and perform additional test runs until the test run is executed without error.

[0081] At the end of a successful test run, the simulation tester 640 may present the finalized simulation configuration to the user and request user confirmation before executing the simulation. Upon user approval, the simulation executor 650 performs a full execution of the simulation and displays a progress indication to the user. The simulation engine 124 generates simulation data 660 based on the execution of the simulation and transmits the simulation data 660 to the analysis engine 126, which is described below in conjunction with Figure 10 to Figure 11 Describe in more detail.

[0082] Figure 7 According to various implementation schemes Figure 2 700 in the simulation application 120 of the present invention. As shown in the figure, the function pattern generator 700 creates a database 770 of function patterns, wherein each pattern includes information associated with a simulation tool such as a solver or simulation. Each pattern may also include variables or parameters required to execute the simulation tool. The function pattern generator 700 also includes a vector database 740 of information related to various solvers. For a specific solver, the vector database 740 may store associated templates, APIs, source code, documents and / or examples. The function pattern generator 700 may respond to a request for information associated with a specific solver or other simulation tool from the above-mentioned information retrieval module 630. The function pattern generator 700 also includes, but is not limited to, solvers 705A-N, data parsers 710, text embedding modules 720, database creation 730, function pattern generators 760, and function pattern databases 770.

[0083] Each of the solvers 705A-N includes information associated with a specific simulation tool such as a fluid dynamics simulator or a structural simulator. The information associated with each of the solvers 705A-N may include a template describing variables associated with the solver or source code for the solver (if available). The information associated with the solver may also include one or more APIs that allow other system components to connect to or query the solver, as well as documentation and examples associated with the solver. When a new solver is added to the function pattern generator 700 or an existing solver is removed from the function pattern generator 700, the simulation application 120 re-instantiates the function pattern generator 700 to process the updated set of solvers 705A-N.

[0084] The data parser 710 retrieves information associated with each of the solvers 705A-N, such as the templates, APIs, source code, documentation, and / or examples discussed above. In some embodiments, the data parser 710 may summarize, compress, or otherwise process information associated with each of the solvers 705A-N. The data parser 710 transmits the processed information to the text embedding module 720 and the database management system 750.

[0085] The text embedding module 720 analyzes the processed information associated with the solvers 705A-N received from the data parser 710. Based on the analysis, the text embedding module 720 generates vector embeddings associated with one or more elements of the solver information. The text embedding module 720 transmits the vector embeddings to the database creation 730 for inclusion in the vector database 740. The vector database 740 stores the vector embeddings of the information associated with each of the solvers 705A-N. The vector database 740 may also store vector embeddings generated from user interactions performed by the simulation application 120 and simulation results generated by the simulation engine 124. The function pattern generator 700 may transmit the stored vector embeddings generated from previous user interactions and performed simulations to various large language models to provide additional context to the various large language models during subsequent user interactions and / or simulation executions.

[0086] The database management system 750 manages the data and database schema of the vector database 740 and the function schema database 770 , thereby allowing various components of the simulation application 120 to operate or extract data.

[0087] In some embodiments, a function schema is a data structure that defines the inputs required by a simulation tool, such as a simulation model or solver. The function schema may also include parameters and / or variables for the simulation tool. In some embodiments, the function schema may include an explicit option that, if not selected by the user, causes the language model to request corrections from the user in a thought chaining manner ( For example, by calling the function) until the function pattern data structure has been filled in with acceptable input. In these cases, the function pattern can restrict the output generated using the language model to the format specified in the function pattern. Figure 8 An example of a function pattern is depicted in FIG. In some embodiments, the function pattern can be manually defined and / or automatically generated. In some embodiments, the function pattern generator 760 can use a language model ( For example , language model 128) generates one or more function patterns based on the capabilities of the simulation model and / or solver and the template for creating the function pattern. The capabilities of the simulation model and / or solver can be determined by user input or automatically, such as by parsing the documents about the simulation model and / or solver retrieved from the vector database 740 by the function pattern generator 700. Illustratively, the function pattern generator 700 stores the generated function pattern in the function pattern database 770 for subsequent retrieval and use by the components of the simulation application 120. In some embodiments, the function pattern database 770 can be any technically feasible database type. For example, in some embodiments, the function pattern database 770 can be a vector database, and the user input can be summarized, and an embedding search can be performed by comparing the embedding of the summarized user input and the embedding of the description of the function pattern (e.g., annotations about the category therein) to determine the relevant function pattern for performing simulation on the user input.

[0088] Figure 8 An exemplary function schema 800 for simulating a model according to various embodiments is shown. As shown, the function schema 800 includes information associated with an OpenFOAM computational fluid dynamics model. Specifically, the function schema 800 includes the category and mode information of the model, as well as metadata indicating text descriptions of various input fields.

[0089] Fig. 9 is a flow chart of method steps for configuring and executing one or more simulations in a simulation application according to various embodiments. Figures 1 to 8 Although the method steps are described with reference to a system, those skilled in the art will understand that any system configured to perform the method steps in any order falls within the scope of the present disclosure.

[0090] As shown, method 900 begins at operation 902, where simulation engine 124 receives a user intent from intent engine 122. For example, the user intent may include a query from a user regarding capabilities or functionality of simulation application 120, or the user intent may include a request to perform a simulation.

[0091] At operation 904, the simulation engine 124 determines a set of simulation tools required to perform the requested simulation or otherwise respond to the user query. The set of simulation tools used to perform the requested simulation may include one or more solvers or simulation models. In some embodiments, the simulation engine 124 may use the above combined Figure 8 The embedding of the description is searched to retrieve from the function pattern database 770 one or more function patterns of the simulation tool associated with the description whose embedding is similar to the embedding intended by the user.

[0092] At operation 906, for each simulation tool in the set of simulation tools, the simulation engine 124 determines additional information required to execute the simulation tool. In some embodiments, the function schema retrieved at operation 904 includes parameters, necessary inputs, and / or variables for the simulation tool.

[0093] At operation 908, the simulation engine 124 obtains additional necessary information based on the function pattern. For example, the simulation engine 124 can use the language model 610 to generate natural language text asking the user for additional information. As another example, the simulation engine 124 can retrieve one or more APIs from the function pattern generator 700 or elsewhere.

[0094] At operation 910, the simulation engine 124 determines whether a simulation needs to be performed. If the user intent received from the intent engine 122 includes a general user query about the capabilities of the simulation application 120 or a particular simulation tool, the simulation engine 124 may determine that a simulation does not need to be performed. If a simulation does not need to be performed, the method proceeds to step 912, where the simulation engine 124 generates and displays a response to the general user query.

[0095] At operation 914, the simulation engine 124 performs a test run of the simulation. In some embodiments, the simulation engine 124 may perform the test run on a limited amount of data, within a limited time period, and / or within a specified number of iterations. The simulation engine 124 monitors the execution of the test run and analyzes the execution to detect errors, such as syntax errors, runtime errors, rapidly diverging solutions, excessive consumption of system resources, etc. If the simulation engine 124 detects one or more errors, the simulation engine 124 may attempt to automatically diagnose and correct the errors, or the simulation engine 124 may prompt a user to modify one or more parameters of the simulation to correct the errors.

[0096] At operation 916, the simulation engine 124 displays the finalized simulation configuration to the user and requests user approval to fully execute the simulation.

[0097] Assuming user approval is received, the simulation engine 124 performs the full simulation and generates simulation data at operation 918. The simulation engine 124 stores the simulation data and transmits the simulation data to the analysis engine.

[0098] Simulation Analysis

[0099] Fig.10 1 is a more detailed illustration of the analysis engine 126 of the simulation application 120 according to various embodiments. As shown, the analysis engine 126 includes, but is not limited to, a planner 1040, a tool generator 1045, a tool collector 1050, an executor 1060, an analyst module 1070, a display module 1080, and a report generator 1090. In operation, the analysis engine 126 receives a user request to analyze simulation data previously generated by the simulation engine 124. The analysis engine 126 clarifies the user request, categorizes the user request, and formulates a goal for analyzing the simulation data. The analysis engine 126 also collects and / or generates the necessary tools for performing the requested analysis. Thereafter, the analysis engine 126 executes the tools to generate the analysis data, generates a text summary of the analysis, performs a detailed inspection of the analysis data, interprets the results, and displays a report of the results to the user.

[0100] In some embodiments, each of the components of the analysis engine 126 may include or utilize the same or different multimodal large language models (not shown). In these cases, each multimodal large language model may process a combination of one or more of textual data, visual data, or multidimensional arrays. Although the output of each multimodal large language model is textual, each multimodal large language model may visualize simulation results through one or more functions for converting textual data into graphical representations.

[0101] The planner 1040 receives simulation data 1010 from the simulation engine 124 and user input 1020. The user input 1020 may include a request to analyze the simulation data 1010. The planner 1040 includes a zero-shot classifier for classifying the user request into one of a set of predefined categories. For example, the planner 1040 may determine whether the user request is exploratory in nature or whether the user request requires deterministic analysis. If the planner 1040 determines that the user request is unclear, the planner 1040 may analyze the simulation data 1010 by using a language model ( For example , the natural language text generated by the language model 128) prompts the user to provide additional information.

[0102] Planner 1040 uses language model (For example , language model 128) generates goals for analyzing simulation data 1010 based on the determined user request categories. The generated goals may include For exampleStatistical review of the simulated data 1010 or specific plots of the simulated data 1010. If the planner 1040 determines that the category of the user request is exploratory, the generated goals may include data exploration, cluster analysis, outlier detection, and / or pattern recognition. If the planner 1040 determines that the user request requires deterministic analysis, the generated goals may include specific statistical tests for validating hypotheses, predictive modeling for predicting future trends, and / or the generation of custom plots for illustrating specific aspects of the simulated data 1010. The planner 1040 transmits the generated goals to the tool collector 1050 and the tool generator 1045.

[0103] The tool collector 1050 receives the generated goals from the planner 1040. The tool collector 1050 queries the function pattern generator 700 to determine the availability of analysis functions based on the generated goals. In some embodiments, the analysis function may include a visualizer, a plotter, a classifier, or a statistical analysis toolset. In some embodiments, the tool collector 1050 may determine the availability of the analysis function in any technically feasible manner. For example, in some embodiments, in a pre-step, the tool collector 1050 may perform an embedding search to identify one or more most relevant patterns. Such a search returns important patterns, which the tool collector 150 can then provide to the language model ( For example , language model 128) to determine the necessary analysis functions. As another example, in some embodiments, the analysis function may include providing the tool collector 150 to the language model ( For example , language model 128). In these cases, the language model can determine which functions to use based on contextual learning, thereby making accurate choices using the provided context. As a further example, in some embodiments, the tool collector 150 can use heuristic techniques or rule-based methods to identify and / or generate the required analysis functions based on specific criteria or rules.

[0104] If the tool collector 1050 determines that the required analysis function is not available, the analysis engine 126 generates the analysis function through the tool generator 1045. As described above, the tool generator 1045 may include or access ( For example , through an API) multimodal large language model. The tool generator 1045 generates program source code for the required analysis function using the large language model, and transmits the generated function pattern of the analysis function to the function pattern generator 700 for storage and future use.

[0105] If the tool generator 1045 is unable to generate program source code for the required analysis function, the tool generator 1045 sends an indication that the required analysis function cannot be generated to the planner 1040. The planner 1040 adjusts the generated objectives to compensate for the unavailable analysis function. In some embodiments, the planner 1040 may select an alternative analysis function to achieve the generated objectives, or the planner 1040 may delete the unavailable analysis function from the generated objectives.

[0106] In some embodiments, the tool generator 1045 can generate program code for the analysis function based on the hardware available to the simulation application 120. For example, if the simulation application 120 utilizes a GPU, the tool generator 1045 can reduce the computational time requirements by generating program code suitable for processing large data sets in parallel. As another example, the tool generator 1045 can generate program code suitable for more efficiently using available system memory or multi-threading capabilities.

[0107] Executor 1060 executes the analysis function selected by tool collector 1050 and / or generated by tool generator 1045 and generates analysis data for subsequent analysis. In some embodiments, executor 1060 may include and / or use the available analysis function as a language model ( For example , language model 128). In these cases, the language model can call an appropriate analysis function based on the analysis of the user request that is also input into the language model, while providing appropriate parameters to the analysis function. In some embodiments, the executor 1060 also generates a text summary of the analysis data generated by the executed analysis function. If the analysis function executed by the executor 1060 generates a visual output such as an image, video, or multi-dimensional time-varying data, the executor 1060 stores the visual output for subsequent retrieval and includes the location of the stored visual output in the text summary. The executor 1060 also transmits the generated analysis data to the analyst module 1070.

[0108] The analyst module 1070 generates a detailed analysis of the generated analytical data based on the user request, which may include trend analysis, prediction and / or pattern recognition. The analyst module 1070 then transmits the analytical data to the display module 1080 for presentation to the user.

[0109] The display module 1080 includes one or more post-processors and / or three-dimensional (3D) display modules that allow example like The UI displays the analysis data including various visualizations to the user. In some embodiments, the display module 1080 receives user input 1020 specifying a portion of the multi-dimensional analysis data, and displays the specified analysis data through one or more post-processors or 3D display modules.

[0110] Report generator 1090 compiles a report of the analyzed data based on a user request. In some embodiments, the report may include textual results from the analyzed data and visual data analysis generated by executor 1060.

[0111] Fig.11 is a flow chart of method steps for analyzing simulation data in a simulation application according to various embodiments. Figures 1 to 10 Although the method steps are described with reference to a system, those skilled in the art will understand that any system configured to perform the method steps in any order falls within the scope of the present disclosure.

[0112] As shown, method 1100 begins at operation 1102 , where analysis engine 126 receives simulation data from simulation engine 124 and a user request for analysis of the simulation data.

[0113] At operation 1104, the analysis engine 126 classifies the user request into a category or a set of predefined categories. In some embodiments, the analysis engine 126 may classify the user request by a zero-shot classifier. In some embodiments, the set of predefined categories may include one or more detailed analyses of exploratory data analysis or simulated data. If the analysis engine 126 determines through classification that the user request is unclear, the analysis engine 126 may classify the user request by a language model ( For example , the natural language text generated by the language model 128) requires the user to enter additional clarifying information.

[0114] In some embodiments, the analysis engine 126 can generate analysis goals based on the user input and the zero-shot classification. If the analysis engine 126 determines that the category of the user request is exploratory, the generated analysis goals can include data exploration, cluster analysis, outlier detection, and / or pattern recognition. If the planner 1040 determines that the user request requires deterministic analysis, the generated goals can include specific statistical tests for validating hypotheses, predictive modeling for predicting future trends, and / or the generation of custom graphs for illustrating specific aspects of the simulated data 1010.

[0115] At operation 1106, the analysis engine 126 determines and / or generates the analysis functions required to satisfy the generated analysis objectives. As described, in some embodiments, the analysis functions may be determined and / or generated in any technically feasible manner. For example, in some embodiments, in a pre-step, the analysis engine 126 (specifically, the tool collector 1050 of the analysis engine 126) may perform an embedding search to identify one or more most relevant patterns. Such a search returns important patterns, which the analysis engine 126 may then provide to the language model ( For example, language model 128) to determine the necessary analysis functions. As another example, in some embodiments, the analysis function may include providing the language model ( For example , language model 128). In these cases, the language model can determine which functions to use based on learning from the context. As a further example, in some embodiments, the analysis engine 126 can use heuristic techniques or rule-based methods to identify and / or generate the required analysis functions based on specific criteria or rules. In addition, in some embodiments, the analysis engine 126 can require the language model ( For example , language model 128) generates program code for any required analysis functions that are not available.

[0116] At operation 1108, the analysis engine 126 executes the determined or generated analysis function based on the simulation data to generate analysis data. In some embodiments, the analysis engine 126 includes and / or uses the language model to which the available analysis function is provided as the initial context. In these cases, the language model can call the analysis function determined or generated at operation 1106, while providing appropriate parameters to the analysis function. In some embodiments, the analysis data can include textual information and graphical or video representations of the data.

[0117] At operation 1110, the analysis engine 126 generates a text summary of the analysis data generated by the executed analysis function. If the analysis function executed by the analysis engine 126 generates a visual output such as an image, video, and / or multi-dimensional time-varying data, the analysis engine 126 stores the visual output for subsequent retrieval and may include the location of the stored visual output in the text summary.

[0118] At operation 1112, analysis engine 126 displays the text summary to the user. In some embodiments, the text summary can be displayed in any technically feasible manner. In some embodiments, analysis engine 126 can include one or more post-processors or three-dimensional (3D) applications. In these cases, analysis engine 126 can receive interactive user input specifying portions of multidimensional analysis data, and display the specified analysis data through one or more post-processors or 3D applications.

[0119] At operation 1114, the analysis engine 126 generates a report and displays the report to the user. In some embodiments, the report can include both textual results from the analyzed data and visual data analysis. Based on the user request, the analysis engine 126 can generate an explanation and meaning of the analysis. For example, if the user request includes a request for trend analysis or prediction, the report can include trends or specific predicted future values. In some embodiments, the report can also include suggestions generated by one or more analysis functions.

[0120] In summary, the disclosed systems and techniques provide a simulation application that can describe, configure, execute, and analyze computer-based simulations of physical components or systems through one or more language models and a conversational user interface. In some embodiments, the simulation application receives a natural language simulation request from a user and determines the user's intent for the simulation. The simulation application then selects appropriate tools, functions, and simulation models; executes the simulation model; and analyzes the data generated during the simulation. The simulation application can also generate summaries and reports based on the simulation data and analysis requests.

[0121] In operation, the simulation application receives user input from a user through a conversational user interface that utilizes a language model, such as a large language model. An intent engine included in the simulation application determines the user intent based on the user input. The intent engine can map the user input or a simplification of the user input to one of a plurality of intent categories using zero-shot classification techniques, predefined data structures that specify explicit options for intent categories, a fine-tuned language model that outputs intent categories, and the like.

[0122] A simulation engine included in the simulation application configures one or more solvers and / or simulation models based on the simulation request and one or more predefined data structures that specify information required to execute the solvers and / or simulation models. The simulation engine may also automatically retrieve or query a user through natural language text generated by a language model to provide the necessary information for configuring and executing the solvers and / or simulation models, as indicated by the predefined data structures. The simulation engine then executes the solvers and / or simulation models to generate simulation data.

[0123] An analysis engine included in the simulation application receives an analysis request from a user. If the analysis request is unclear, the analysis engine may use the natural language text generated by the language model to ask the user for further information. The analysis engine determines whether the nature of the analysis request is exploratory or whether the analysis request requires deterministic analysis, and the analysis engine generates an analysis plan. If the analysis request is exploratory in nature, the analysis plan may include exploratory data exploration, cluster analysis, outlier detection and / or pattern recognition. If the analysis request requires deterministic analysis, the generated analysis plan may include specific statistical tests for verifying one or more hypotheses, predictive modeling for predicting future trends, or specific visual diagrams for illustrating the design details of specific points. The analysis engine verifies the availability of basic functions such as visualizers, plotters, classifiers and / or statistical analysis tool sets. If the required function or tool set is missing, the analysis engine uses the language model to generate program code for implementing the missing function or tool set.

[0124] The analysis engine then executes the analysis plan and generates a text summary of the analysis results. If the analysis results include visual elements such as videos, graphs, and / or time-varying data, the analysis engine stores the visual elements for later retrieval and integrates the location of the visual elements into the text summary. The analysis engine can also generate a detailed report based on the analysis results and the analysis request. Based on the analysis request, the detailed report can include conclusions associated with the analysis results or the meaning of the analysis results. The detailed report can also combine the text summary and any stored visual elements.

[0125] One technical advantage of the disclosed technology over the prior art is that the disclosed technology provides interactive natural language interaction between a user and various components of a simulation application. The disclosed technology iteratively interacts with a user to determine the intent of a user request. The technology also interacts with the user via natural language to configure one or more simulation models and / or solvers prior to executing the requested simulation. The technology continuously interacts with the user during analysis of simulation data and can generate one or more reports based on the simulation data. These technical advantages provide one or more technical improvements over prior art methods.

[0126] 1. In some embodiments, a computer-implemented method for determining user intent includes: receiving user input including a first natural language text; performing one or more operations to map the user input to one or more intent categories included in a plurality of intent categories; and in response to determining that the user input is not mapped to any intent category, generating a second natural language text requesting additional user input through a first trained language model.

[0127] 2. A computer-implemented method as described in clause 1, wherein performing one or more operations to map the user input to the one or more intent categories includes generating a simplified input based on the user input through a second trained language model, and mapping the simplified input to the one or more intent categories through a zero-shot classification model.

[0128] 3. A computer-implemented method as described in clause 1 or 2, wherein mapping the simplified input to the one or more intent categories through the zero-shot classification model includes comparing the vector embedding of the simplified input with the vector embedding associated with each intent category included in the multiple intent categories.

[0129] 4. A computer-implemented method as described in any of clauses 1 to 3, wherein performing one or more operations to map the user input to the one or more intent categories includes generating a simplified input based on the user input through a second trained language model, and mapping the simplified input to the one or more intent categories through a thought chaining technique using a third trained language model.

[0130] 5. A computer-implemented method as described in any of clauses 1 to 4, wherein performing one or more operations to map the user input to the one or more intent categories includes determining that the user input corresponds to at least one category included in a predefined data structure.

[0131] 6. A computer-implemented method as described in any of clauses 1 to 5, wherein performing one or more operations to map the user input to the one or more intent categories includes mapping the user input to the one or more intent categories via a second trained language model, wherein the second trained language model is trained to output the multiple intent categories.

[0132] 7. The computer-implemented method of any of clauses 1 to 6, further comprising determining that the user input is not mapped to any intent category based on an uncertainty associated with mapping the user input to the one or more intent categories.

[0133] 8. The computer-implemented method of any of clauses 1 to 7, further comprising performing one or more operations to configure and execute a simulation based on the one or more intent categories.

[0134] 9. The computer-implemented method of any of clauses 1 to 8, further comprising receiving the additional user input and performing one or more operations to map the additional user input to one or more intent categories included in the plurality of intent categories.

[0135] 10. The computer-implemented method of any one of clauses 1 to 9, further comprising displaying the second natural language text to a user via a user interface.

[0136] 11. In some embodiments, one or more non-transitory computer-readable storage media include instructions that, when executed by at least one processor, cause the at least one processor to perform steps for determining user intent, the steps comprising: receiving user input comprising a first natural language text; performing one or more operations to map the user input to one or more intent categories included in a plurality of intent categories; and in response to determining that the user input is not mapped to any intent category, generating, through a trained language model, a second natural language text requesting additional user input.

[0137] 12. One or more non-transitory computer-readable storage media as described in clause 11, wherein performing one or more operations to map the user input to the one or more intent categories includes generating a simplified input based on the user input through the trained language model, and mapping the simplified input to the one or more intent categories through a zero-shot classification model.

[0138] 13. One or more non-transitory computer-readable storage media as described in clause 11 or 12, wherein performing one or more operations to map the user input to the one or more intent categories includes generating a simplified input based on the user input through the trained language model, and mapping the simplified input to the one or more intent categories through a thought chaining technique using the trained language model.

[0139] 14. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 13, wherein performing one or more operations to map the user input to the one or more intent categories includes determining that the user input corresponds to at least one category included in a predefined data structure.

[0140] 15. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 14, wherein performing one or more operations to map the user input to the one or more intent categories includes mapping the user input to the one or more intent categories through another trained language model, wherein the second trained language model is trained to output the multiple intent categories.

[0141] 16. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 15, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform the following steps: determining that the user input is not mapped to any intent category based on the uncertainty associated with mapping the user input to the one or more intent categories.

[0142] 17. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 16, wherein the instructions, when executed by the at least one processor, also cause the at least one processor to perform the following steps: perform one or more operations to configure and execute a simulation based on the one or more intent categories.

[0143] 18. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 17, wherein the instructions, when executed by the at least one processor, also cause the at least one processor to perform steps including: receiving the additional user input; and performing one or more operations to map the additional user input to the one or more intent categories included in the multiple intent categories.

[0144] 19. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 18, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform the following steps: displaying the second natural language text to a user through a user interface.

[0145] 20. In some embodiments, a system includes one or more memories storing instructions, and one or more processors coupled to the one or more memories and configured to, when executing the instructions, receive user input comprising a first natural language text; perform one or more operations to map the user input to one or more intent classes included in a plurality of intent categories; and in response to determining that the user input is not mapped to any intent category, generate, through a first trained language model, a second natural language text requesting additional user input.

[0146] 1. In some embodiments, a computer-implemented method for performing a simulation includes: selecting a first data structure from a plurality of data structures based on user input; in response to determining that one or more values ​​of one or more parameters specified in the first data structure cannot be determined based on the user input, generating a first natural language text requesting additional user input through a trained language model; and performing a simulation based on the additional user input to generate simulation data.

[0147] 2. The computer-implemented method of clause 1, wherein the first data structure is selected based on one or more comparisons of a first embedding associated with the user input and a plurality of embeddings associated with the plurality of data structures.

[0148] 3. The computer-implemented method of clause 1 or 2, further comprising generating the plurality of embeddings associated with the plurality of data structures based on a plurality of text descriptions associated with the plurality of data structures.

[0149] 4. The computer-implemented method of any one of clauses 1 to 3, further comprising performing one or more operations based on the additional user input to determine one or more values ​​of the one or more parameters.

[0150] 5. The computer-implemented method of any one of clauses 1 to 4, further comprising determining an intent based on the user input, wherein the first data structure is selected based on the intent.

[0151] 6. The computer-implemented method of any one of clauses 1 to 5, further comprising performing the simulated test based on the additional user input, and in response to one or more errors during the test, generating, through the trained language model, a second natural language text requesting additional user input.

[0152] 7. The computer-implemented method of any one of clauses 1 to 6, further comprising generating the first data structure based on information associated with the simulation and a predefined template.

[0153] 8. A computer-implemented method as described in any of clauses 1 to 7, wherein executing the simulation includes executing at least one of a solver or a simulation model.

[0154] 9. The computer-implemented method of any of clauses 1 to 8, further comprising displaying information associated with the simulation based on the user input.

[0155] 10. The computer-implemented method of any of clauses 1 to 9, further comprising displaying a configuration of the simulation to a user, and receiving approval from the user to perform the simulation based on the configuration.

[0156] 11. In some embodiments, one or more non-transitory computer-readable storage media include instructions that, when executed by at least one processor, cause the at least one processor to perform steps for performing a simulation, the steps comprising: selecting a first data structure from a plurality of data structures based on user input; in response to determining that one or more values ​​of one or more parameters specified in the first data structure cannot be determined based on the user input, generating a first natural language text requesting additional user input through a trained language model; and performing a simulation based on the additional user input to generate simulation data.

[0157] 12. The one or more non-transitory computer-readable storage media of clause 11, wherein the first data structure is selected based on one or more comparisons of a first embedding associated with the user input and a plurality of embeddings associated with the plurality of data structures.

[0158] 13. One or more non-transitory computer-readable storage media as described in clause 11 or 12, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform the following steps: generating the multiple embeddings associated with the multiple data structures based on the multiple text descriptions associated with the multiple data structures.

[0159] 14. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 13, wherein the instructions, when executed by the at least one processor, also cause the at least one processor to perform the following steps: performing one or more operations based on the first data structure to retrieve at least one of information or application programming interfaces (APIs).

[0160] 15. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 14, wherein the instructions, when executed by the at least one processor, also cause the at least one processor to perform the following steps: performing the simulated test based on the additional user input, and in response to one or more errors during the test, generating a second natural language text requesting additional user input through the trained language model.

[0161] 16. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 15, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform the following steps: generating the first data structure based on information associated with the simulation and a predefined template.

[0162] 17. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 16, wherein the trained language model comprises a trained large language model.

[0163] 18. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 17, wherein the instructions, when executed by the at least one processor, also cause the at least one processor to perform steps including: displaying the configuration of the simulation to a user; and receiving approval from the user to execute the simulation based on the configuration.

[0164] 19. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 18, wherein the instructions, when executed by the at least one processor, also cause the at least one processor to perform the following steps: perform one or more operations to analyze the simulation data to generate analysis data.

[0165] 20. In some embodiments, a system includes one or more memories storing instructions, and one or more processors coupled to the one or more memories and configured to, when executing the instructions, select a first data structure from a plurality of data structures based on user input; in response to determining that one or more values ​​of one or more parameters specified in the first data structure cannot be determined based on the user input, generate a first natural language text requesting additional user input through a trained language model; and perform simulation based on the additional user input to generate simulation data.

[0166] 1. In some embodiments, a computer-implemented method for analyzing data includes: determining one or more first functions based on a first trained language model and a user request; and executing the one or more first functions based on the data to generate first analysis data.

[0167] 2. The computer-implemented method of clause 1 further comprises performing one or more operations to generate one or more second functions based on a second trained language model and the user request; and performing the one or more second functions based on the data to generate second analysis data.

[0168] 3. A computer-implemented method as described in clause 1 or 2, wherein performing the one or more operations to generate the one or more second functions includes requesting the second trained language model to generate program code for the one or more second functions.

[0169] 4. A computer-implemented method as described in any of clauses 1 to 3, wherein information about one or more first functions is included in a context input into the first trained language model.

[0170] 5. The computer-implemented method of any one of clauses 1 to 4, further comprising generating at least one of a summary or a report based on the first analysis data; and displaying the at least one of the summary or the report to a user.

[0171] 6. A computer-implemented method as described in any of clauses 1 to 5, wherein the data includes simulation data, and the method further includes performing a simulation to generate the simulation data.

[0172] 7. A computer-implemented method as described in any of clauses 1 to 6, wherein executing the one or more first functions includes configuring the execution of the one or more first functions through a second trained language model.

[0173] 8. A computer-implemented method as described in any of clauses 1 to 7, wherein determining the one or more first functions comprises determining one or more goals associated with the user request; and determining the one or more first functions based on the one or more goals.

[0174] 9. A computer-implemented method as described in any of clauses 1 to 8, wherein determining the one or more targets includes performing one or more zero-shot classification operations.

[0175] 10. A computer-implemented method as described in any of clauses 1 to 9, wherein the one or more objectives include at least one of data exploration, cluster analysis, outlier detection, pattern recognition, statistical testing, predictive modeling, or generating one or more visualizations.

[0176] 11. In some embodiments, one or more non-transitory computer-readable storage media include instructions that, when executed by at least one processor, cause the at least one processor to perform steps for analyzing data, the steps comprising: determining one or more first functions based on a trained language model and a user request; and executing the one or more first functions based on the data to generate first analysis data.

[0177] 12. One or more non-transitory computer-readable storage media as described in clause 11, wherein the instructions, when executed by the at least one processor, also cause the at least one processor to perform steps including: performing one or more operations to generate one or more second functions based on the trained language model and the user request; and executing the one or more second functions based on the data to generate second analysis data.

[0178] 13. One or more non-transitory computer-readable storage media as described in clause 11 or 12, wherein performing the one or more operations to generate the one or more second functions includes requesting the trained language model to generate program code for the one or more second functions.

[0179] 14. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 13, wherein information about the one or more first functions is included in a context input into the trained language model.

[0180] 15. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 14, wherein the instructions, when executed by the at least one processor, also cause the at least one processor to perform steps including: generating at least one of a summary or a report based on the first analysis data; and displaying at least one of the summary or the report to a user.

[0181] 16. One or more non-transitory computer-readable storage media as described in any one of clauses 11 to 15, wherein the instructions include simulation data, and when the instructions are executed by the at least one processor, further cause the at least one processor to perform the following steps: perform a simulation to generate the simulation data.

[0182] 17. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 16, wherein executing the one or more first functions includes configuring execution of the one or more first functions through the trained language model.

[0183] 18. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 17, wherein determining the one or more first functions includes determining one or more goals associated with the user request; and determining the one or more first functions based on the one or more goals.

[0184] 19. One or more non-transitory computer-readable storage media as described in any of clauses 11 to 18, wherein the first analysis data includes at least one of one or more images, one or more videos, or multi-dimensional time-varying data.

[0185] 20. In some embodiments, a system includes one or more memories storing instructions, and one or more processors coupled to the one or more memories and configured to, when executing the instructions, determine one or more first functions based on a first trained language model and a user request; and execute the one or more first functions based on data to generate first analysis data.

[0186] Any and all combinations of any of the claim elements recited in any of the claims and / or any of the elements described in this application in any manner are within the contemplated scope of the invention and protection.

[0187] Descriptions of various embodiments have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.

[0188] Aspects of the embodiments of the present invention may be embodied as systems, methods or computer program products. Therefore, aspects of the present disclosure may take the form of a complete hardware implementation, a complete software implementation (including firmware, resident software, microcode, etc.) or a combination of software and hardware implementations, which may all be generally referred to herein as "modules", "systems" or "computers". In addition, any hardware and / or software technology, process, function, component, engine, module or system described in the present disclosure may be implemented as a circuit or a group of circuits. In addition, aspects of the present disclosure may take the form of a computer program product, which is embodied in one or more computer-readable media having computer-readable program codes implemented thereon.

[0189] Any combination of one or more computer-readable media may be utilized. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of computer-readable storage media would include the following: an electrical connection with one or more wires, a portable computer floppy disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium may be any tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or apparatus.

[0190] Aspects of the present disclosure are described above with reference to the flowchart illustration and / or block diagram of the method, device (system) and computer program product according to the embodiments of the present disclosure. It should be understood that each frame in the flowchart illustration and / or block diagram and the combination of frames in the flowchart illustration and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine. The instructions enable the function / action specified in one or more frames of the flowchart and / or block diagram to be realized when executed via the processor of a computer or other programmable data processing device. Such processors can be, but are not limited to, general-purpose processors, special-purpose processors, special-purpose processors or field programmable gate arrays.

[0191] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functions and operations of possible implementations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram may represent a module, a fragment or a portion of a code, and the code includes one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the box may not occur in the order indicated in the accompanying drawings. For example, the two boxes shown in succession may actually be executed substantially simultaneously, or the boxes may sometimes be executed in reverse order, depending on the functionality involved. It should also be noted that each box in the block diagram and / or flowchart illustration and the combination of boxes in the block diagram and / or flowchart illustration can be implemented by a system based on special-purpose hardware or a combination of special-purpose hardware and computer instructions that performs the specified function or action.

[0192] While the foregoing is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be devised without departing from the basic scope of the disclosure, and the scope of the disclosure is determined by the claims that follow.

Claims

1. A computer-implemented method for determining user intent, the method comprising: receiving user input including first natural language text; performing one or more operations to map the user input to one or more intent categories included in a plurality of intent categories; as well as In response to determining that the user input is not mapped to any intent category, a second natural language text requesting additional user input is generated through the first trained language model.

2. The computer-implemented method of claim 1 , wherein performing one or more operations to map the user input to the one or more intent categories comprises: generating a simplified input based on the user input using a second trained language model; as well as The simplified input is mapped to the one or more intent categories through a zero-shot classification model.

3. A computer-implemented method as described in claim 2, wherein mapping the simplified input to the one or more intent categories through the zero-shot classification model includes comparing the vector embedding of the simplified input with the vector embedding associated with each intent category included in the multiple intent categories.

4. The computer-implemented method of claim 1 , wherein performing one or more operations to map the user input to the one or more intent categories comprises: generating a simplified input based on the user input using a second trained language model; as well as The simplified input is mapped to the one or more intent categories by a thought chaining technique using a third trained language model.

5. The computer-implemented method of claim 1, wherein performing one or more operations to map the user input to the one or more intent categories comprises determining that the user input corresponds to at least one category included in a predefined data structure.

6. A computer-implemented method as described in claim 1, wherein performing one or more operations to map the user input to the one or more intent categories includes mapping the user input to the one or more intent categories through a second trained language model, wherein the second trained language model is trained to output the multiple intent categories.

7. The computer-implemented method of claim 1, further comprising determining that the user input is not mapped to any intent category based on an uncertainty associated with the mapping of the user input to the one or more intent categories.

8. The computer-implemented method of claim 1, further comprising performing one or more operations to configure and execute a simulation based on the one or more intent categories.

9. The computer-implemented method of claim 1 , further comprising: receiving the additional user input; as well as One or more operations are performed to map the additional user input to one or more intent categories included in the plurality of intent categories.

10. The computer-implemented method of claim 1, further comprising displaying the second natural language text to a user via a user interface.

11. One or more non-transitory computer-readable storage media comprising instructions that, when executed by at least one processor, cause the at least one processor to perform steps for determining user intent, the steps comprising: receiving user input including first natural language text; performing one or more operations to map the user input to one or more intent categories included in a plurality of intent categories; as well as In response to determining that the user input is not mapped to any intent category, a second natural language text requesting additional user input is generated through the trained language model.

12. The one or more non-transitory computer-readable storage media of claim 11, wherein performing one or more operations to map the user input to the one or more intent categories comprises: generating a simplified input based on the user input by using the trained language model; as well as The simplified input is mapped to the one or more intent categories through a zero-shot classification model.

13. The one or more non-transitory computer-readable storage media of claim 11, wherein performing one or more operations to map the user input to the one or more intent categories comprises: generating a simplified input based on the user input by using the trained language model; as well as The simplified input is mapped to the one or more intent categories by using a thought chaining technique of the trained language model.

14. The one or more non-transitory computer-readable storage media of claim 11, wherein performing one or more operations to map the user input to the one or more intent categories comprises determining that the user input corresponds to at least one category included in a predefined data structure.

15. One or more non-transitory computer-readable storage media as described in claim 11, wherein performing one or more operations to map the user input to the one or more intent categories includes mapping the user input to the one or more intent categories through another trained language model, wherein the second trained language model is trained to output the multiple intent categories.

16. One or more non-transitory computer-readable storage media as described in claim 11, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform the following steps: determining that the user input is not mapped to any intent category based on uncertainty associated with mapping the user input to the one or more intent categories.

17. One or more non-transitory computer-readable storage media as described in claim 11, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform the following steps: perform one or more operations to configure and execute a simulation based on the one or more intent categories.

18. The one or more non-transitory computer-readable storage media of claim 11, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform steps comprising: receiving the additional user input; and One or more operations are performed to map the additional user input to the one or more intent categories included in the plurality of intent categories.

19. The one or more non-transitory computer-readable storage media of claim 11, wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform the following step: displaying the second natural language text to a user through a user interface.

20. A system comprising: one or more memories storing instructions; as well as one or more processors coupled to the one or more memories and configured, when executing the instructions, to: receiving user input comprising first natural language text, performing one or more operations to map the user input to one or more intent categories included in a plurality of intent categories, and In response to determining that the user input is not mapped to any intent category, a second natural language text requesting additional user input is generated through the first trained language model.