ABSTRACT
Abstract
A natural language understanding (NLU) framework includes a modeling and optimization system that enables enhanced understanding and explainability to the operation of the NLU framework. The NLU framework includes a configuration vector storing settings of various components that may be applied during NLU inference of an utterance, such as which components should be activated or deactivated, as well as which numerical values (e.g., threshold values, coefficients, weight values) that are used by these components during operation. By using this configuration vector to systematically disable and adjust numerical parameters of the components of the NLU framework, and then determining the performance of the NLU framework in these configurations, the modeling and optimization system determines relationships between, as well as the relative importance of, the components of the NLU framework. The modeling and optimization system automatically determines or optimizes configurations for the NLU framework to accommodate various NLU performance and/or resource constraints.
Description
CROSS-REFERENCE
This application claims priority from and the benefit of U.S. Provisional Patent Application No. 63/140,117, entitled âOPERATIONAL MODELING AND OPTIMIZATION SYSTEM FOR A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK,â filed Jan. 21, 2021, which is herein incorporated by reference in its entirety for all purposes.
BACKGROUND
The present disclosure relates generally to the fields of natural language understanding (NLU) and artificial intelligence (AI), and more specifically, to a hybrid learning system for NLU.
This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present disclosure, which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Cloud computing relates to the sharing of computing resources that are generally accessed via the Internet. In particular, a cloud computing infrastructure allows users, such as individuals and/or enterprises, to access a shared pool of computing resources, such as servers, storage devices, networks, applications, and/or other computing based services. By doing so, users are able to access computing resources on demand that are located at remote locations and these resources may be used to perform a variety computing functions (e.g., storing and/or processing large quantities of computing data). For enterprise and other organization users, cloud computing provides flexibility in accessing cloud computing resources without accruing large up-front costs, such as purchasing expensive network equipment or investing large amounts of time in establishing a private network infrastructure. Instead, by utilizing cloud computing resources, users are able redirect their resources to focus on their enterprise's core functions.
In modern communication networks, examples of cloud computing services a user may utilize include so-called infrastructure as a service (IaaS), software as a service (SaaS), and platform as a service (PaaS) technologies. IaaS is a model in which providers abstract away the complexity of hardware infrastructure and provide rapid, simplified provisioning of virtual servers and storage, giving enterprises access to computing capacity on demand. In such an approach, however, a user may be left to install and maintain platform components and applications. SaaS is a delivery model that provides software as a service rather than an end product. Instead of utilizing a local network or individual software installations, software is typically licensed on a subscription basis, hosted on a remote machine, and accessed by client customers as needed. For example, users are generally able to access a variety of enterprise and/or information technology (IT)-related software via a web browser. PaaS acts an extension of SaaS that goes beyond providing software services by offering customizability and expandability features to meet a user's needs. For example, PaaS can provide a cloud-based developmental platform for users to develop, modify, and/or customize applications and/or automating enterprise operations without maintaining network infrastructure and/or allocating computing resources normally associated with these functions.
Such a cloud computing service may host a virtual agent, such as a chat agent, that is designed to automatically respond to issues with the client instance based on natural language requests from a user of the client instance. For example, a user may provide a request to a virtual agent for assistance with a password issue, wherein the virtual agent is part of a Natural Language Processing (NLP) or Natural Language Understanding (NLU) system. NLP is a general area of computer science and AI that involves some form of processing of natural language input. Examples of areas addressed by NLP include language translation, speech generation, parse tree extraction, part-of-speech identification, and others. NLU is a sub-area of NLP that specifically focuses on understanding user utterances. Examples of areas addressed by NLU include question-answering (e.g., reading comprehension questions), article summarization, and others. For example, a NLU may use algorithms to reduce human language (e.g., spoken or written) into a set of known symbols for consumption by a downstream virtual agent. NLP is generally used to interpret free text for further analysis. Current approaches to NLP are typically based on deep learning, which is a type of AI that examines and uses patterns in data to improve the understanding of a program.
As such, it is presently recognized that there is a need to improve the ability of virtual agents to apply NLU techniques to properly derive meaning from complex natural language utterances. For example, it may be advantageous to create a virtual agent capable of comprehending complex language and executing contextually relevant requests, which could afford substantial advantages in terms of reduced operational cost and increased responsiveness to client issues. Additionally, it is recognized that it is advantageous for virtual agents to be customizable and adaptable to various communication channels and styles.
SUMMARY
A summary of certain embodiments disclosed herein is set forth below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of these certain embodiments and that these aspects are not intended to limit the scope of this disclosure. Indeed, this disclosure may encompass a variety of aspects that may not be set forth below.
A NLU framework may include a number of complex subsystems, such as vocabulary management subsystems, data augmentation subsystems, written-modality prosody subsystems, and so forth, and each of these subsystems may include a number of components (e.g., plugins, rules, forms, thresholds, coefficients, weight values). It is presently recognized that it would be advantageous to be able to model the complex interactions of these subsystems and components in order to thoroughly understand the operation of the NLU framework and provide explainability as to why the NLU framework inferenced a user utterance in a given way. This enables a more transparent understanding model, which aids users to better understand and use the NLU framework and aids designers to improve the configuration and operation of the NLU framework. Additionally, certain components may be configured to apply particular numerical values (e.g., threshold values, coefficient values, weight values) that substantially impact the operation of the component during inference. As such, it can be challenging for a designer to determine the impact of adjusting the configuration of one or more of these components in terms of overall NLU performance (e.g., latency time, precision, recall) and computational performance (e.g., processing time, memory usage, storage usage) of the NLU framework. As such, it is presently recognized that it would be advantageous to have a facility within the NLU framework that enables the configurations of the various components of the NLU framework, as well as the NLU framework itself, to be optimized to provide a desired level of performance to a client.
With this in mind, the disclosed NLU framework includes a modeling and optimization system that enables enhanced understanding and explainability to the operation of the NLU framework during inference. In general, the modeling and optimization system leverages ML-based techniques and linguistic theory to enhance the explainability of the NLU framework, which improves a user or designer understanding of the operation of the components at various levels of the NLU framework. The modeling and optimization system enables the operation of one or more components of the NLU framework to be systematically enabled, disabled, or modified, and then evaluates the impact of these changes to the overall performance of the NLU framework to provide enhanced understanding of the operation of the NLU framework.
Using performance metrics collected for a number of different NLU framework configurations, the modeling and optimization system may determine which components have a positive and important impact during interference, as well as which combinations components are strongly related and dramatically impact the performance of the NLU framework. The modeling and optimization system may also use the performance metrics to determine, for each configuration of the NLU framework, which paths test utterances traversed through the NLU framework during inference, and use this to construct an utterance flow model. The utterance flow model can be used to determine, for a given utterance, which potential paths through the NLU framework the utterance may take during inference to enable enhanced explainability within the framework. The modeling and optimization system can be leveraged to identify components of the NLU framework that should be improved (e.g., components that negatively impact performance metrics), as well as what impact that improvement might have to the overall performance of the framework. Furthermore, the modeling and optimization system may be leveraged to evaluate new components that are being considered for inclusion in the NLU framework to determine how these components will interact with the existing components of the NLU framework, as well as how they will improve or degrade the overall performance of the framework.
Additionally, in certain embodiments, the modeling and optimization system learns or automatically determines optimized configurations for the NLU framework. For example, the modeling and optimization system may automatically determine which components of the NLU framework should be activated or deactivated to enable a desired level of NLU and/or computational performance. In certain embodiments, the modeling and optimization system may, additionally or alternatively, automatically determine numerical values (e.g., threshold values, coefficients, weight values) for components applied during utterance inference to enable a desired level of NLU and/or computational performance. The optimization process is highly parallelizable, and can be performed in a distributed manner for enhanced performance (e.g., reduced runtime). As such, the modeling and optimization system substantially improves understanding of the NLU framework for users and designers, improves the continued development of the framework, and improves the operation of the NLU framework in accordance with the NLU and computation performance needs of the client.
BRIEF DESCRIPTION OF THE DRAWINGS
Various aspects of this disclosure may be better understood upon reading the following detailed description and upon reference to the drawings in which:
FIG. 1 is a block diagram of an embodiment of a cloud computing system in which embodiments of the present technique may operate;
FIG. 2 is a block diagram of an embodiment of a multi-instance cloud architecture in which embodiments of the present technique may operate;
FIG. 3 is a block diagram of a computing device utilized in a computing system that may be present in FIG. 1 or 2 , in accordance with aspects of the present technique;
FIG. 4 A is a schematic diagram illustrating an embodiment of an agent automation framework including a NLU framework that is part of a client instance hosted by the cloud computing system, in accordance with aspects of the present technique;
FIG. 4 B is a schematic diagram illustrating an alternative embodiment of the agent automation framework in which portions of the NLU framework are part of an enterprise instance hosted by the cloud computing system, in accordance with aspects of the present technique;
FIG. 5 is a flow diagram illustrating an embodiment of a process by which an agent automation framework, including an NLU framework and a Reasoning Agent/Behavior Engine (RA/BE) framework, extracts intent/entities from and responds to a user utterance, in accordance with aspects of the present technique;
FIG. 6 is a block diagram illustrating an embodiment of the NLU framework including a meaning extraction subsystem and a meaning search subsystem, wherein the meaning extraction subsystem generates meaning representations from a received user utterance to yield an utterance meaning model and generates meaning representations from sample utterances of an intent/entity model to yield understanding model, and wherein the meaning search subsystem compares meaning representations of the utterance meaning model to meaning representations of the understanding model to extract intents and entities from the received user utterance, in accordance with aspects of the present technique;
FIG. 7 is a block diagram illustrating an embodiment of the meaning extraction subsystem using a combination of rules-based methods and machine-learning (ML)-based methods within a vocabulary subsystem, a structure subsystem, and a prosody subsystem, to generate an annotated utterance tree for an utterance, in accordance with aspects of the present technique;
FIG. 8 is a flow diagram illustrating an example process by which the meaning extraction subsystem performs error correction of an annotated utterance tree of an utterance before generating the corresponding meaning representation of the utterance, in accordance with aspects of the present technique;
FIG. 9 is a flow diagram illustrating an example process by which the meaning extraction subsystem generates a meaning representations of the understanding model or the utterance meaning model based on the annotated utterance trees and a compilation model template, in accordance with aspects of the present technique;
FIG. 10 is a block diagram illustrating an embodiment of the compilation model template, in accordance with aspects of the present technique;
FIG. 11 is a block diagram illustrating example operation of an embodiment of a tree substructure vectorization algorithm to generate a combined subtree vector for a subtree of an annotated utterance tree, in accordance with aspects of the present technique;
FIG. 12 is a flow diagram illustrating example process by which the meaning search subsystem searches the meaning representations of the understanding model for matches to the meaning representation of the user utterance, in accordance with aspects of the present technique;
FIG. 13 is a flow diagram illustrating an embodiment of a process by which a tree-model comparison algorithm compares an intent subtree of a first meaning representation to an intent subtree of a second meaning representation, based on the compilation model template, to generate an intent subtree similarity score, in accordance with aspects of the present technique;
FIG. 14 is a block diagram illustrating an embodiment of a process by which the agent automation system continuously improves a structure learning model, such as a recurrent neural network associated with a ML-based parser of the NLU framework, for improved domain specificity, based on a collection of utterances, in accordance with aspects of the present technique;
FIG. 15 is a block diagram illustrating an embodiment of a process by which the agent automation system contin
CROSS-REFERENCE
This application claims priority from and the benefit of U.S. Provisional Patent Application No. 63/140,117, entitled âOPERATIONAL MODELING AND OPTIMIZATION SYSTEM FOR A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK,â filed Jan. 21, 2021, which is herein incorporated by reference in its entirety for all purposes.
BACKGROUND
The present disclosure relates generally to the fields of natural language understanding (NLU) and artificial intelligence (AI), and more specifically, to a hybrid learning system for NLU.
This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present disclosure, which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Cloud computing relates to the sharing of computing resources that are generally accessed via the Internet. In particular, a cloud computing infrastructure allows users, such as individuals and/or enterprises, to access a shared pool of computing resources, such as servers, storage devices, networks, applications, and/or other computing based services. By doing so, users are able to access computing resources on demand that are located at remote locations and these resources may be used to perform a variety computing functions (e.g., storing and/or processing large quantities of computing data). For enterprise and other organization users, cloud computing provides flexibility in accessing cloud computing resources without accruing large up-front costs, such as purchasing expensive network equipment or investing large amounts of time in establishing a private network infrastructure. Instead, by utilizing cloud computing resources, users are able redirect their resources to focus on their enterprise's core functions.
In modern communication networks, examples of cloud computing services a user may utilize include so-called infrastructure as a service (IaaS), software as a service (SaaS), and platform as a service (PaaS) technologies. IaaS is a model in which providers abstract away the complexity of hardware infrastructure and provide rapid, simplified provisioning of virtual servers and storage, giving enterprises access to computing capacity on demand. In such an approach, however, a user may be left to install and maintain platform components and applications. SaaS is a delivery model that provides software as a service rather than an end product. Instead of utilizing a local network or individual software installations, software is typically licensed on a subscription basis, hosted on a remote machine, and accessed by client customers as needed. For example, users are generally able to access a variety of enterprise and/or information technology (IT)-related software via a web browser. PaaS acts an extension of SaaS that goes beyond providing software services by offering customizability and expandability features to meet a user's needs. For example, PaaS can provide a cloud-based developmental platform for users to develop, modify, and/or customize applications and/or automating enterprise operations without maintaining network infrastructure and/or allocating computing resources normally associated with these functions.
Such a cloud computing service may host a virtual agent, such as a chat agent, that is designed to automatically respond to issues with the client instance based on natural language requests from a user of the client instance. For example, a user may provide a request to a virtual agent for assistance with a password issue, wherein the virtual agent is part of a Natural Language Processing (NLP) or Natural Language Understanding (NLU) system. NLP is a general area of computer science and AI that involves some form of processing of natural language input. Examples of areas addressed by NLP include language translation, speech generation, parse tree extraction, part-of-speech identification, and others. NLU is a sub-area of NLP that specifically focuses on understanding user utterances. Examples of areas addressed by NLU include question-answering (e.g., reading comprehension questions), article summarization, and others. For example, a NLU may use algorithms to reduce human language (e.g., spoken or written) into a set of known symbols for consumption by a downstream virtual agent. NLP is generally used to interpret free text for further analysis. Current approaches to NLP are typically based on deep learning, which is a type of AI that examines and uses patterns in data to improve the understanding of a program.
As such, it is presently recognized that there is a need to improve the ability of virtual agents to apply NLU techniques to properly derive meaning from complex natural language utterances. For example, it may be advantageous to create a virtual agent capable of comprehending complex language and executing contextually relevant requests, which could afford substantial advantages in terms of reduced operational cost and increased responsiveness to client issues. Additionally, it is recognized that it is advantageous for virtual agents to be customizable and adaptable to various communication channels and styles.
SUMMARY
A summary of certain embodiments disclosed herein is set forth below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of these certain embodiments and that these aspects are not intended to limit the scope of this disclosure. Indeed, this disclosure may encompass a variety of aspects that may not be set forth below.
A NLU framework may include a number of complex subsystems, such as vocabulary management subsystems, data augmentation subsystems, written-modality prosody subsystems, and so forth, and each of these subsystems may include a number of components (e.g., plugins, rules, forms, thresholds, coefficients, weight values). It is presently recognized that it would be advantageous to be able to model the complex interactions of these subsystems and components in order to thoroughly understand the operation of the NLU framework and provide explainability as to why the NLU framework inferenced a user utterance in a given way. This enables a more transparent understanding model, which aids users to better understand and use the NLU framework and aids designers to improve the configuration and operation of the NLU framework. Additionally, certain components may be configured to apply particular numerical values (e.g., threshold values, coefficient values, weight values) that substantially impact the operation of the component during inference. As such, it can be challenging for a designer to determine the impact of adjusting the configuration of one or more of these components in terms of overall NLU performance (e.g., latency time, precision, recall) and computational performance (e.g., processing time, memory usage, storage usage) of the NLU framework. As such, it is presently recognized that it would be advantageous to have a facility within the NLU framework that enables the configurations of the various components of the NLU framework, as well as the NLU framework itself, to be optimized to provide a desired level of performance to a client.
With this in mind, the disclosed NLU framework includes a modeling and optimization system that enables enhanced understanding and explainability to the operation of the NLU framework during inference. In general, the modeling and optimization system leverages ML-based techniques and linguistic theory to enhance the explainability of the NLU framework, which improves a user or designer understanding of the operation of the components at various levels of the NLU framework. The modeling and optimization system enables the operation of one or more components of the NLU framework to be systematically enabled, disabled, or modified, and then evaluates the impact of these changes to the overall performance of the NLU framework to provide enhanced understanding of the operation of the NLU framework.
Using performance metrics collected for a number of different NLU framework configurations, the modeling and optimization system may determine which components have a positive and important impact during interference, as well as which combinations components are strongly related and dramatically impact the performance of the NLU framework. The modeling and optimization system may also use the performance metrics to determine, for each configuration of the NLU framework, which paths test utterances traversed through the NLU framework during inference, and use this to construct an utterance flow model. The utterance flow model can be used to determine, for a given utterance, which potential paths through the NLU framework the utterance may take during inference to enable enhanced explainability within the framework. The modeling and optimization system can be leveraged to identify components of the NLU framework that should be improved (e.g., components that negatively impact performance metrics), as well as what impact that improvement might have to the overall performance of the framework. Furthermore, the modeling and optimization system may be leveraged to evaluate new components that are being considered for inclusion in the NLU framework to determine how these components will interact with the existing components of the NLU framework, as well as how they will improve or degrade the overall performance of the framework.
Additionally, in certain embodiments, the modeling and optimization system learns or automatically determines optimized configurations for the NLU framework. For example, the modeling and optimization system may automatically determine which components of the NLU framework should be activated or deactivated to enable a desired level of NLU and/or computational performance. In certain embodiments, the modeling and optimization system may, additionally or alternatively, automatically determine numerical values (e.g., threshold values, coefficients, weight values) for components applied during utterance inference to enable a desired level of NLU and/or computational performance. The optimization process is highly parallelizable, and can be performed in a distributed manner for enhanced performance (e.g., reduced runtime). As such, the modeling and optimization system substantially improves understanding of the NLU framework for users and designers, improves the continued development of the framework, and improves the operation of the NLU framework in accordance with the NLU and computation performance needs of the client.
BRIEF DESCRIPTION OF THE DRAWINGS
Various aspects of this disclosure may be better understood upon reading the following detailed description and upon reference to the drawings in which:
FIG. 1 is a block diagram of an embodiment of a cloud computing system in which embodiments of the present technique may operate;
FIG. 2 is a block diagram of an embodiment of a multi-instance cloud architecture in which embodiments of the present technique may operate;
FIG. 3 is a block diagram of a computing device utilized in a computing system that may be present in FIG. 1 or 2 , in accordance with aspects of the present technique;
FIG. 4 A is a schematic diagram illustrating an embodiment of an agent automation framework including a NLU framework that is part of a client instance hosted by the cloud computing system, in accordance with aspects of the present technique;
FIG. 4 B is a schematic diagram illustrating an alternative embodiment of the agent automation framework in which portions of the NLU framework are part of an enterprise instance hosted by the cloud computing system, in accordance with aspects of the present technique;
FIG. 5 is a flow diagram illustrating an embodiment of a process by which an agent automation framework, including an NLU framework and a Reasoning Agent/Behavior Engine (RA/BE) framework, extracts intent/entities from and responds to a user utterance, in accordance with aspects of the present technique;
FIG. 6 is a block diagram illustrating an embodiment of the NLU framework including a meaning extraction subsystem and a meaning search subsystem, wherein the meaning extraction subsystem generates meaning representations from a received user utterance to yield an utterance meaning model and generates meaning representations from sample utterances of an intent/entity model to yield understanding model, and wherein the meaning search subsystem compares meaning representations of the utterance meaning model to meaning representations of the understanding model to extract intents and entities from the received user utterance, in accordance with aspects of the present technique;
FIG. 7 is a block diagram illustrating an embodiment of the meaning extraction subsystem using a combination of rules-based methods and machine-learning (ML)-based methods within a vocabulary subsystem, a structure subsystem, and a prosody subsystem, to generate an annotated utterance tree for an utterance, in accordance with aspects of the present technique;
FIG. 8 is a flow diagram illustrating an example process by which the meaning extraction subsystem performs error correction of an annotated utterance tree of an utterance before generating the corresponding meaning representation of the utterance, in accordance with aspects of the present technique;
FIG. 9 is a flow diagram illustrating an example process by which the meaning extraction subsystem generates a meaning representations of the understanding model or the utterance meaning model based on the annotated utterance trees and a compilation model template, in accordance with aspects of the present technique;
FIG. 10 is a block diagram illustrating an embodiment of the compilation model template, in accordance with aspects of the present technique;
FIG. 11 is a block diagram illustrating example operation of an embodiment of a tree substructure vectorization algorithm to generate a combined subtree vector for a subtree of an annotated utterance tree, in accordance with aspects of the present technique;
FIG. 12 is a flow diagram illustrating example process by which the meaning search subsystem searches the meaning representations of the understanding model for matches to the meaning representation of the user utterance, in accordance with aspects of the present technique;
FIG. 13 is a flow diagram illustrating an embodiment of a process by which a tree-model comparison algorithm compares an intent subtree of a first meaning representation to an intent subtree of a second meaning representation, based on the compilation model template, to generate an intent subtree similarity score, in accordance with aspects of the present technique;
FIG. 14 is a block diagram illustrating an embodiment of a process by which the agent automation system continuously improves a structure learning model, such as a recurrent neural network associated with a ML-based parser of the NLU framework, for improved domain specificity, based on a collection of utterances, in accordance with aspects of the present technique;
FIG. 15 is a block diagram illustrating an embodiment of a process by which the agent automation system continuously learns new words and/or refines word understanding for improved domain specificity based on a collection of utterances, in accordance with aspects of the present technique;
FIG. 16 is a diagram illustrating an embodiment of an annotated utterance tree, in accordance with aspects of the present technique; and
FIG. 17 is a diagram illustrating an embodiment of a meaning representation, in accordance with aspects of the present technique.
FIG. 18 is a block diagram illustrating how the vocabulary subsystem of FIG. 7 operates within the NLU framework, in accordance with aspects of the present techniques;
FIG. 19 is a diagram illustrating what may be included in a vocabulary model template, in accordance with aspects of the present techniques;
FIG. 20 is a block diagram illustrating example operation of an embodiment of a multi-vector aggregation algorithm to generate a combined sub-phrase vector for a subtree of an annotated utterance tree, in accordance with aspects of the present techniques;
FIG. 21 is a flow diagram illustrating how the agent automation framework continuously improves a word vector distribution model, which may be plugged into the vocabulary subsystem of the meaning extraction subsystem shown in FIG. 7 , in accordance with aspects of the present techniques; and
FIG. 22 is a flow diagram illustrating a process for receiving the user utterance, determining which meanings of one or more words or phrases appearing in the utterance were intended, and outputting one or more associated semantic word vectors, in accordance with aspects of the present technique.
FIG. 23 is a flow diagram illustrating an example process by which a model augmentation subsystem of the NLU framework augments one or more models (e.g., the utterance meaning model, the understanding model, or a combination thereof) before performing a meaning search operation, in accordance with aspects of the present technique;
FIG. 24 is a diagram of an embodiment of a model augmentation template storing generalizing rule-sets, refining rule-sets, and model applicability criteria used by the model augmentation subsystem to augment the one or more models, in accordance with aspects of the present technique;
FIG. 25 is a diagram illustrating an embodiment of model augmentation in which meaning representations of the one or more models are generalized and/or refined to yield an augmented model, in accordance with aspects of the present technique;
FIG. 26 is a flow diagram illustrating an embodiment of a process whereby the model augmentation subsystem performs rule-based generalization of the meaning representations of the one or more models, in accordance with aspects of the present technique; and
FIG. 27 is a flow diagram illustrating an embodiment of a process whereby the model augmentation subsystem performs rule-based refinement of the meaning representations of the one or more models, in accordance with aspects of the present technique.
FIG. 28 is a flow diagram illustrating an embodiment of the prosody subsystem digesting conversation logs into a number of different outputs for consumption by various components of the NLU framework, in accordance with aspects of the present technique;
FIG. 29 is a block diagram illustrating an embodiment of a process by which the agent automation system continuously improves a structure learning model, such as a recurrent neural network associated with a ML-based parser of the NLU framework, for improved domain specificity, based on intent segments identified by the prosody subsystem, in accordance with aspects of the present technique;
FIG. 30 is a block diagram illustrating an embodiment of a process by which the agent automation system continuously learns new words and/or refines word understanding for improved domain specificity, based on in-context utterances identified by the prosody subsystem, in accordance with aspects of the present technique;
FIG. 31 is a block diagram depicting a high-level view of certain components of the agent automation framework, including a semantic mining framework, in accordance with aspects of the present technique;
FIG. 32 is a block diagram of a semantic mining pipeline of the semantic mining framework illustrating a number of processing steps of a semantic mining process, in accordance with aspects of the present technique;
FIG. 33 is a diagram illustrating the prosody subsystem supporting the RA/BE in segmenting episodic context information from conversation logs, in accordance with aspects of the present technique;
FIG. 34 is a flow diagram illustrating how a persona of the RA/BE uses the prosody subsystem to manage episodic context within the agent automation framework, in accordance with aspects of the present technique;
FIG. 35 is a block diagram illustrating an embodiment of a NLU framework that includes NLU system and a modeling and optimization system, in accordance with aspects of the present technique;
FIGS. 36 , 37 and 38 are flow diagrams illustrating embodiments in which the modeling and optimization system provides test utterances to a NLU system of a NLU framework to process based on a particular configuration vector to determine respective performance metrics for each configuration, in accordance with aspects of the present technique;
FIG. 39 is a flow diagram illustrating an embodiment of an optimization process whereby the modeling and optimization system applies ML-based techniques to automatically determine optimized configurations for components of the NLU framework, in accordance with aspects of the present technique; and
FIG. 40 is a flow diagram illustrating an embodiment of a distributed optimization process whereby the modeling and optimization system optimizes subsets of a configuration vector in parallel, in accordance with aspects of the present technique.
DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS
One or more specific embodiments will be described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
As used herein, the terms âapplicationâ, âengineâ, âprogramâ, or âpluginâ refers to one or more sets of computer software instructions (e.g., computer programs and/or scripts) executable by one or more processors of a computing system to provide particular functionality. Computer software instructions can be written in any suitable programming languages, such as C, C++, C#, Pascal, Fortran, Perl, MATLAB, SAS, SPSS, JavaScript, AJAX, and JAVA. Such computer software instructions can comprise an independent application with data input and data display modules. Alternatively, the disclosed computer software instructions can be classes that are instantiated as distributed objects. The disclosed computer software instructions can also be component software, for example JAVABEANS or ENTERPRISE JAVABEANS. Additionally, the disclosed applications or engines can be implemented in computer software, computer hardware, or a combination thereof.
As used herein, the term âframeworkâ refers to a system of applications and/or engines, as well as any other supporting data structures, libraries, modules, and any other supporting functionality, that cooperate to perform one or more overall functions. In particular, a ânatural language understanding frameworkâ or âNLU frameworkâ comprises a collection of computer programs designed to process and derive meaning (e.g., intents, entities, artifacts) from natural language utterances using one or more machine-learning (ML) components and one or more rule-based components. As used herein, a âbehavior engineâ or âBE,â also known as a reasoning agent or RA/BE, refers to a rule-based agent, such as a virtual agent, designed to interact with users based on a conversation model. For example, a âvirtual agentâ may refer to a particular example of a BE that is designed to interact with users via natural language requests in a particular conversational or communication channel. With this in mind, the terms âvirtual agentâ and âBEâ are used interchangeably herein. By way of specific examples, a virtual agent may be or include a chat agent that interacts with users via natural language requests and responses in a chat room environment, or that provides recommended answers to requests or queries made in a search text box. Other examples of virtual agents may include an email agent, a forum agent, a ticketing agent, a telephone call agent, a search agent, a genius search result agent, and so forth, which interact with users in the context of email, forum posts, search queries, autoreplies to service tickets, phone calls, and so forth.
As used herein, an âintentâ refers to a desire or goal of a user which may relate to an underlying purpose of a communication, such as an utterance. As used herein, an âentityâ refers to an object, subject, or some other parameterization of an intent. It is noted that, for present embodiments, certain entities are treated as parameters of a corresponding intent within an intent-entity model. More specifically, certain entities (e.g., time and location) may be globally recognized and extracted for all intents, while other entities are intent-specific (e.g., merchandise entities associated with purchase intents) and are generally extracted only when found within the intents that define them. As used herein, âartifactâ collectively refers to both intents and entities of an utterance. As used herein, an âunderstanding modelâ is a collection of models used by the NLU framework to infer meaning of natural language utterances. An understanding model may include a vocabulary model that associates certain tokens (e.g., words or phrases) with particular word vectors, an intent-entity model, an intent model, an entity model, a taxonomy model, other models, or a combination thereof. As used herein an âintent-entity modelâ refers to a model that associates particular intents with particular entities and particular sample utterances, wherein entities associated with the intent may be encoded as a parameter of the intent within the sample utterances of the model. As used herein, the term âagentsâ may refer to computer-generated personas (e.g. chat agents or other virtual agents) that interact with human users within a conversational channel. As used herein, a âcorpusâ may refer to a captured body of source data that can include interactions between various users and virtual agents, wherein the interactions include communications or conversations within one or more suitable types of media (e.g., a help line, a chat room or message string, an email string). As used herein, an âutterance treeâ refers to a data structure that stores a representation of the meaning of an utterance. As discussed, an utterance tree has a tree structure (e.g., a dependency parse tree structure) that represents the syntactic structure of the utterance, wherein nodes of the tree structure store vectors (e.g., word vectors, subtree vectors) that encode the semantic meaning of the utterance.
As used herein, an âutteranceâ refers to a single natural language statement made by a user that may include one or more intents. As such, an utterance may be part of a previously captured corpus of source data, and an utterance may also be a new statement received from a user as part of an interaction with a virtual agent. As used herein, âmachine learningâ or âMLâ may be used to refer to any suitable statistical form of artificial intelligence capable of being trained using machine learning techniques, including supervised, unsupervised, and semi-supervised learning techniques. For example, in certain embodiments, ML-based techniques may be implemented using an artificial neural network (ANN) (e.g., a deep neural network (DNN), a recurrent neural network (RNN), a recursive neural network, a feedforward neural network). In contrast, ârules-basedâ methods and techniques refer to the use of rule-sets and ontologies (e.g., manually-crafted ontologies, statistically-derived ontologies) that enable precise adjudication of linguistic structure and semantic understanding to derive meaning representations from utterances. As used herein, a âvectorâ (e.g., a word vector, an intent vector, a subject vector, a subtree vector) refers to a linear algebra vector that is an ordered n-dimensional list (e.g., a 300 dimensional list) of floating point values (e.g., a 1ÃN or an NÃ1 matrix) that provides a mathematical representation of the semantic meaning of a portion (e.g., a word or phrase, an intent, an entity, a token) of an utterance. As used herein, âdomain specificityâ refers to how attuned a system is to correctly extracting intents and entities expressed in actual conversations in a given domain and/or conversational channel (e.g., a human resources domain, an information technology domain). As used herein, an âunderstandingâ of an utterance refers to an interpretation or a construction of the utterance by the NLU framework. As such, it may be appreciated that different understandings of an utterance may be associated with different meaning representations having different parse structures (e.g., different nodes, different relationships between nodes), different part-of-speech taggings, and so forth.
Agent Automation Framework
Present embodiments are directed to an agent automation framework that is capable of extracting meaning from user utterances, such as requests received by a virtual agent (e.g., a chat agent), and suitably responding to these user utterances. To do this, the agent automation framework includes a NLU framework and an intent/entity model having defined intents and entities that are associated with sample utterances. The NLU framework includes a meaning extraction subsystem that is designed to generate meaning representations for the sample utterances of the intent/entity model, as well as a meaning representation for a received user utterance. Additionally, the disclosed NLU framework includes a meaning search subsystem that is designed to search the meaning representations of the intent/entity model to locate matches for a meaning representation of a received user utterance. As such, present embodiments generally address the hard problem posed by NLU by transforming it into a manageable search problem.
In present embodiments, a meaning representation can be generated from an annotated utterance tree structure having a form or shape that represents the grammatical structures of the utterance, and having nodes that each represent words or phrases of the utterances as word vectors encoding the semantic meaning of the utterance. The meaning extraction subsystem includes a vocabulary subsystem, a structure subsystem, and a prosody subsystem that cooperate to parse utterances into the annotated utterance trees based on combinations of rule-based methods and machine learning (ML)-based (e.g., statistical) methods. Using one or more tree substructure vectorization algorithms and focus/attention/magnification (FAM) coefficients defined by a stored compilation model template, the meaning extraction subsystem subsequently generates subtree vectors for the annotated utterance tree structure, yielding the corresponding meaning representation for subsequent searching by the meaning search subsystem.
The disclosed NLU framework is also capable of detecting and addressing errors in an annotated utterance tree before the meaning representation is generated. For example, the meaning extraction subsystem can include a rule-based augmentation error detection subsystem that can cooperate with the vocabulary, structure subsystem, and prosody subsystems to iteratively parse and correct an utterance before meaning representations are generated for improved domain specificity. Additionally, present embodiments support entrenchment, whereby the NLU framework can continue to learn or infer meaning of new syntactic structures in new natural language utterance based on previous examples of similar syntactic structures. For example, components of the NLU framework (e.g., the structure subsystem or the vocabulary subsystem of the meaning extraction subsystem) may be continuously updated based on new utterances, such as exchanges between users and a virtual agent, to enhance the adaptability of the NLU framework to changes in the use of certain terms and phrases over time.
The meaning search subsystem of the disclosed NLU framework is designed to compare a meaning representation generated for a received user utterance to the set of meaning representations generated for the sample utterances of the intent/entity model based on the compilation model template. For example, the compilation model template defines one or more tree model comparison algorithms designed to determine a similarity score for two subtree vectors based on class compatibility rules and class-level scoring coefficients stored in the compilation model template. The class compatibility rules define which classes of subtree vectors can be compared to one another (e.g., verb subtree vectors are compared to one another, subject subtree vectors are compared to one another) to determine vector distances between the subtrees of the meaning representations. The class-level scoring coefficients define different relative weights that determine how much the different classes of subtree vectors contribute to an overall vector generated by the substructure vectorization algorithm for a given subtree (e.g., verb subtree vectors and/or direct object subtree vectors may be weighted higher and contribute more than subject subtree vectors or modifier subtree vectors). Using these algorithms, rules, and coefficients of the compilation model template, the meaning search subsystem determines similarity scores between portions of the meaning representation of the user utterance and portions of the meaning representations of the sample utterances of the intent/entity model. Based on these similarity scores, intents/entities defined within the intent/entity model are extracted from the user utterance and passed to a reasoning agent/behavior engine (RA/BE), such as a virtual agent, to take appropriate action based on the extracted intents/entities of the user utterance.
As mentioned, a computing platform may include a chat agent, or another similar virtual agent, that is designed to automatically respond to user requests to perform functions or address issues on the platform. There are two predominant technologies in NLU, namely traditional computational linguistics and newer machine learning (ML) methods. It is presently recognized that these two technologies demonstrate different strengths and weaknesses with respect to NLU. For example, traditional computational linguistic methods, also referred to herein as ârule-basedâ methods, include precision rule-sets and manually-crafted ontologies that enable precise adjudication of linguistic structure and semantic understanding to derive meaning representations. Traditional cognitive linguistic techniques also include the concept of construction grammars, in which an aspect of the meaning of a natural language utterance can be determined based on the form (e.g., syntactic structure) of the utterance. Therefore, rule-based methods offer results that are easily explainable and customizable. However, it is presently recognized that such rule-based methods are not particularly robust to natural language variation or adept at adapting to language evolution. As such, it is recognized that rule-based methods alone are unable to effectively react to (e.g., adjust to, learn from) data-driven trends, such as learning from chat logs and other data repositories. Furthermore, rule-based methods involve the creation of hand-crafted rules that can be cumbersome, wherein these rules usually are domain specific and are not easily transferable to other domains.
On the other hand, ML-based methods, perform well (e.g., better than rule-based methods) when a large corpus of natural language data is available for analysis and training. The ML-based methods have the ability to automatically âlearnâ from the data presented to recall over âsimilarâ input. Unlike rule-based methods, ML-based methods do not involve cumbersome hand-crafted features-engineering, and ML-based methods can support continued learning (e.g., entrenchment). However, it is recognized that ML-based methods struggle to be effective when the size of the corpus is insufficient. Additionally, ML-based methods are opaque (e.g., not easily explained) and are subject to biases in source data. Furthermore, while an exceedingly large corpus may be beneficial for ML training, source data may be subject to privacy considerations that run counter to the desired data aggregation.
Accordingly, present embodiments are generally directed toward an agent automation framework capable of applying a combination rule-based and ML-based cognitive linguistic techniques to leverage the strengths of both techniques in extracting meaning from natural language utterances. More specifically, present embodiments are directed to generating suitable meaning representations for utterances, including received user utterances and sample utterances of an intent/entity model. These meaning representations generally have a shape that captures the syntactic structure of an utterance, and include one or more subtree vectors that represent the semantic meanings of portions of the utterance. The meaning representation of the utterance can then be searched against a search space populated with the meaning representations of the sample utterances of the intent/entity model, and one or more matches may be identified. In this manner, present embodiments extract intents/entities from the user utterance, such that a virtual agent can suitably respond to these intent/entities. As such, present embodiments generally address the hard NLU problem by transforming it into a more manageable search problem.
With the preceding in mind, the following figures relate to various types of generalized system architectures or configurations that may be employed to provide services to an organization in a multi-instance framework and on which the present approaches may be employed. Correspondingly, these system and platform examples may also relate to systems and platforms on which the techniques discussed herein may be implemented or otherwise utilized. Turning now to FIG. 1 , a schematic diagram of an embodiment of a computing system 10 , such as a cloud computing system, where embodiments of the present disclosure may operate, is illustrated. Computing system 10 may include a client network 12 , network 18 (e.g., the Internet), and a cloud-based platform 20 . In some implementations, the cloud-based platform may host a management database (CMDB) system and/or other suitable systems. In one embodiment, the client network 12 may be a local private network, such as a local area network (LAN) having a variety of network devices that include, but are not limited to, switches, servers, and routers. In another embodiment, the client network 12 represents an enterprise network that could include one or more LANs, virtual networks, data centers 22 , and/or other remote networks. As shown in FIG. 1 , the client network 12 is able to connect to one or more client devices
14 A, 14 B, and 14 C so that the client devices are able to communicate with each other and/or with the network hosting the platform 20 . The client devices 14 A-C may be computing systems and/or other types of computing devices generally referred to as Internet of Things (IoT) devices that access cloud computing services, for example, via a web browser application or via an edge device 16 that may act as a gateway between the client devices and the platform 20 . FIG. 1 also illustrates that the client network 12 includes an administration or managerial device or server, such as a management, instrumentation, and discovery (MID) server 17 that facilitates communication of data between the network hosting the platform 20 , other external applications, data sources, and services, and the client network 12 . Although not specifically illustrated in FIG. 1 , the client network 12 may also include a connecting network device (e.g., a gateway or router) or a combination of devices that implement a customer firewall or intrusion protection system.
For the illustrated embodiment, FIG. 1 illustrates that client network 12 is coupled to a network 18 . The network 18 may include one or more computing networks, such as other LANs, wide area networks (WAN), the Internet, and/or other remote networks, to transfer data between the client devices 14 A-C and the network hosting the platform 20 . Each of the computing networks within network 18 may contain wired and/or wireless programmable devices that operate in the electrical and/or optical domain. For example, network 18 may include wireless networks, such as cellular networks (e.g., Global System for Mobile Communications (GSM) based cellular network), IEEE 802.11 networks, and/or other suitable radio-based networks. The network 18 may also employ any number of network communication protocols, such as Transmission Control Protocol (TCP) and Internet Protocol (IP). Although not explicitly shown in FIG. 1 , network 18 may include a variety of network devices, such as servers, routers, network switches, and/or other network hardware devices configured to transport data over the network 18 .
In FIG. 1 , the network hosting the platform 20 may be a remote network (e.g., a cloud network) that is able to communicate with the client devices 14 A-C via the client network 12 and network 18 . The network hosting the platform 20 provides additional computing resources to the client devices 14 A-C and/or client network 12 . For example, by utilizing the network hosting the platform 20 , users of client devices 14 A-C are able to build and execute applications for various enterprise, IT, and/or other organization-related functions. In one embodiment, the network hosting the platform 20 is implemented on one or more data centers 22 , where each data center could correspond to a different geographic location. Each of the data centers 22 includes a plurality of virtual servers 24 (also referred to herein as application nodes, application servers, virtual server instances, application instances, or application server instances), where each virtual server can be implemented on a physical computing system, such as a single electronic computing device (e.g., a single physical hardware server) or across multiple-computing devices (e.g., multiple physical hardware servers). Examples of virtual servers 24 include, but are not limited to a web server (e.g., a unitary web server installation), an application server (e.g., unitary JAVA Virtual Machine), and/or a database server, e.g., a unitary relational database management system (RDBMS) catalog.
To utilize computing resources within the platform 20 , network operators may choose to configure the data centers 22 using a variety of computing infrastructures. In one embodiment, one or more of the data centers 22 are configured using a multi-tenant cloud architecture, such that one of the server instances 24 handles requests from and serves multiple customers. Data centers with multi-tenant cloud architecture commingle and store data from multiple customers, where multiple customer instances are assigned to one of the virtual servers 24 . In a multi-tenant cloud architecture, the particular virtual server 24 distinguishes between and segregates data and other information of the various customers. For example, a multi-tenant cloud architecture could assign a particular identifier for each customer in order to identify and segregate the data from each customer. Generally, implementing a multi-tenant cloud architecture may suffer from various drawbacks, such as a failure of a particular one of the server instances 24 causing outages for all customers allocated to the particular server instance.
In another embodiment, one or more of the data centers 22 are configured using a multi-instance cloud architecture to provide every customer its own unique customer instance or instances. For example, a multi-instance cloud architecture could provide each customer instance with its own dedicated application server(s) and dedicated database server(s). In other examples, the multi-instance cloud architecture could deploy a single physical or virtual server and/or other combinations of physical and/or virtual servers 24 , such as one or more dedicated web servers, one or more dedicated application servers, and one or more database servers, for each customer instance. In a multi-instance cloud architecture, mul
CLAIMS
Claims ( 20 )
What is claimed is:
1. A natural language understanding (NLU) framework, comprising:
at least one memory configured to store a NLU system that includes components capable of being applied during NLU inference of an utterance, and a configuration vector storing a respective configuration of each of the components of the NLU system; and
at least one processor configured to execute stored instructions to cause the NLU framework to perform actions comprising:
generating, via a meaning extraction subsystem of the NLU system, an utterance meaning model that includes at least one meaning representation of an utterance, wherein the meaning extraction subsystem includes a first set of the components of the NLU system, and wherein, in accordance with the configuration vector, only a first portion of the first set of the components is applied while generating the utterance meaning model;
performing, via a meaning search subsystem of the NLU system, a NLU meaning search to locate one or more matches for the at least one meaning representation of the utterance meaning model, wherein the meaning search subsystem includes a second set of the components of the NLU system, and wherein, in accordance with the configuration vector, only a second portion of the second set of the components is applied while performing the NLU meaning search;
extracting one or more scored artifacts of the utterance based at least in part on the one or more matches located during the NLU meaning search;
determining performance metrics for the configuration vector that describe performance of the NLU framework when generating the utterance meaning model, performing the NLU meaning search, and extracting the scored artifacts;
modifying one or more values of the configuration vector to generate a mutated configuration vector;
determining second performance metrics for the mutated configuration vector that describe performance of the NLU framework when generating a second utterance meaning model, performing a second NLU meaning search, and extracting second scored artifacts in accordance with the mutated configuration vector; and
in response to determining that the second performance metrics of the mutated configuration vector are better than the performance metrics the configuration vector, replacing the configuration vector with the mutated configuration vector.
2. The NLU framework of claim 1 , wherein the configuration vector comprises:
a respective value for each of the components of the NLU system indicating whether each of the components is applied during operation of the NLU framework; and
at least one numerical parameter of at least one of the components of the NLU system, wherein the at least one numerical parameter comprises a threshold value, a coefficient, or a weight value used by the at least one of the components during operation of the NLU framework.
3. The NLU framework of claim 1 , wherein, to generate the utterance meaning model, the at least one processor is configured to execute the stored instructions to cause the NLU framework to perform actions comprising:
parsing, via a structure subsystem of the meaning extraction subsystem, the utterance to generate at least one parse of the utterance, wherein the first portion of the first set of the components comprises: at least one parser and at least one autocorrect rule of the structure subsystem.
4. The NLU framework of claim 1 , wherein, to generate the utterance meaning model, the at least one processor is configured to execute the stored instructions to cause the NLU framework to perform actions comprising:
generating, via a model augmentation subsystem of the meaning extraction subsystem, at least one re-expression of the utterance, wherein the first portion of the first set of the components comprises: at least one generalizing rule and at least one refining rule of the model augmentation subsystem.
5. The NLU framework of claim 1 , wherein, to generate the utterance meaning model, the at least one processor is configured to execute the stored instructions to cause the NLU framework to perform actions comprising:
generating, via the meaning extraction subsystem, the at least one meaning representation of the utterance, wherein the first portion of the first set of the components comprises: a set of focus/attention/magnification (FAM) coefficients, at least one tree substructure vectorization method, at least one semantic model, at least one null word rule, and at least one context-processing rule of the meaning extraction subsystem.
6. The NLU framework of claim 1 , wherein, to perform the NLU meaning search, the at least one processor is configured to execute the stored instructions to cause the NLU framework to perform actions comprising:
comparing, via the meaning search subsystem, the at least one meaning representation of the utterance meaning model to a plurality of meaning representations of an understanding model of the NLU system, wherein the second portion of the second set of the components comprises at least one tree-model comparison method, a set of cognitive construction grammar (CCG) classes, a set of CCG compatibility rules, and a set of CCG class scoring coefficients of the meaning search subsystem.
7. The NLU framework of claim 1 , wherein the at least one memory is configured to store an intent-entity model that comprises sample utterances, wherein the at least one processor is configured to execute the stored instructions to cause the NLU framework to perform actions comprising:
generating, via the meaning extraction subsystem, a search key and a search space, wherein the search key comprises a semantic vector that represents the utterance and the search space comprises a plurality of semantic vectors respectively representing the sample utterances of the intent-entity model, wherein, in accordance with the configuration vector, only the first portion of the first set of the components is applied while generating the search key and the search space;
performing, via the meaning search subsystem, an utterance meaning search by comparing the search key to the search space to locate at least one utterance meaning match, wherein, in accordance with the configuration vector, only the second portion of the second set of the components is applied while performing the utterance meaning search; and
extracting the one or more scored artifacts of the utterance based at least in part on the one or more matches located during the NLU meaning search and the at least one utterance meaning match located during the utterance meaning search.
8. The NLU framework of claim 1 , wherein the at least one memory is configured to store sets of labeled test data and at least one optimization constraint of the NLU framework, and wherein, before generating the utterance meaning model, the at least one processor is configured to execute the stored instructions to cause NLU framework to optimize the configuration vector by performing actions comprising:
(A) initializing a set of candidate configuration vectors;
(B) configuring the components of the NLU system in accordance with the configuration vector;
(C) extracting, via the NLU system, test artifacts from the sets of labeled test data;
(D) determining, based on the test artifacts and the sets of labeled test data, corresponding performance metrics for the configuration vector that describe performance of the NLU framework when extracting the test artifacts while the components of the NLU system are configured in accordance with the configuration vector;
(E) in response to determining that the corresponding performance metrics of the configuration vector are better than corresponding performance metrics of each of the set of candidate configuration vectors, adding the configuration vector to the set of candidate configuration vectors;
(F) storing the configuration vector as a previous configuration vector and randomly selecting a particular configuration vector from the set of candidate configuration vectors as the configuration vector;
(G) mutating the configuration vector to modify one or more values of the configuration vector;
(H) in response to determining that the at least one optimization constraint of the NLU framework has not been satisfied, returning to step B; and
(I) in response to determining that the at least one optimization constraint of the NLU framework has been satisfied, selecting a candidate configuration vector of the set of candidate configuration vectors with the highest corresponding performance metrics as the configuration vector.
9. The NLU framework of claim 8 , wherein step E comprises:
in response to determining that the corresponding performance metrics of at least one candidate configuration vector of the set of candidate configuration vectors are inferior to the corresponding performance metrics of the configuration vector, removing the at least one candidate configuration vector from the set of candidate configuration vectors.
10. The NLU framework of claim 8 , wherein step E comprises:
updating an importance vector based at least in part on a comparison between the corresponding performance metrics of the configuration vector and the corresponding performance metrics of the previous configuration vector, wherein the NLU framework is configured to mutate the configuration vector in step G based at least in part on the importance vector.
11. The NLU framework of claim 8 , wherein step E comprises:
calculating a difference vector from the configuration vector and the previous configuration vector, wherein the NLU framework is configured to mutate the configuration vector in step G based at least in part on the difference vector.
12. A method of operating a natural language understanding (NLU) framework comprising a NLU system having components capable of being applied during NLU inference of an utterance, and a configuration vector storing a respective configuration of each of the components of the NLU system, the method comprising:
generating, via a first set of the components of the NLU system, an utterance meaning model that includes a meaning representation of an utterance, wherein, in accordance with the configuration vector, only a first portion of the first set of the components is applied while generating the utterance meaning model;
performing, via a second set of the components of the NLU system, a NLU meaning search to locate one or more matches for the meaning representation of the utterance meaning model, wherein, in accordance with the configuration vector, only a second portion of the second set of the components is applied while performing the NLU meaning search;
extracting scored artifacts of the utterance based at least in part on the one or more matches located during the NLU meaning search;
determining performance metrics for the configuration vector that describe performance of the NLU framework when generating the utterance meaning model, performing the NLU meaning search, and extracting the scored artifacts;
modifying one or more values of the configuration vector to generate a mutated configuration vector;
determining second performance metrics for the mutated configuration vector that describe performance of the NLU framework when generating a second utterance meaning model, performing a second NLU meaning search, and extracting second scored artifacts in accordance with the mutated configuration vector; and
in response to determining that the second performance metrics of the mutated configuration vector are better than the performance metrics the configuration vector, replacing the configuration vector with the mutated configuration vector.
13. The method of claim 12 , wherein the first portion of the first set of the components of the NLU system comprise at least one prosody plugin, at least one parser, at least one autocorrect rule, at least one generalizing rule, at least one refining rule, and wherein generating the utterance meaning model comprises:
segmenting the utterance, via at least one prosody plugin, to generate at least one intent segment of the utterance;
parsing the utterance, via the at least one parser and the at least one autocorrect rule, to generate at least one parse of the utterance; and
generating, via the at least one generalizing rule and the at least one refining rule, at least one re-expression of the utterance.
14. The method of claim 13 , wherein the first portion of the first set of the components of the NLU system comprise a set of focus/attention/magnification (FAM) coefficients and at least one tree substructure vectorization method, wherein generating the utterance meaning model comprises:
generating the meaning representation of the utterance based at least in part on the at least one intent segment of the utterance, the at least one parse of the utterance, the at least one re-expression of the utterance, the set of FAM coefficients, and the at least one tree substructure vectorization method.
15. The method of claim 12 , wherein the second portion of the second set of the components of the NLU system comprise at least one tree-model comparison method, a set of cognitive construction grammar (CCG) classes, a set of CCG compatibility rules, and a set of CCG class scoring coefficients, and wherein performing the NLU meaning search comprises:
comparing the meaning representation of the utterance meaning model to a plurality of meaning representations of an understanding model of the NLU system based at least in part on the at least one tree-model comparison method, the set of cognitive construction grammar (CCG) classes, the set of CCG compatibility rules, and the set of CCG class scoring coefficients.
16. The method of claim 12 , wherein determining second performance metrics for the mutated configuration vector that describe performance of the NLU framework when generating the second utterance meaning model, performing the second NLU meaning search, and extracting the second scored artifacts in accordance with the mutated configuration vector comprises:
generating, via the first set of the components of the NLU system, the second utterance meaning model that includes a second meaning representation of the utterance, wherein, in accordance with the mutated configuration vector, only a third portion of the first set of the components is applied while generating the second utterance meaning model; and
performing, via the second set of the components of the NLU system, the second NLU meaning search to locate second matches for the second meaning representation of the second utterance meaning model, wherein, in accordance with the mutated configuration vector, only a fourth portion of the second set of the components is applied while performing the second NLU meaning search.
17. A non-transitory, computer-readable medium storing computer executable instructions of a natural language understanding (NLU) framework comprising a NLU system having components capable of being applied during NLU inference of an utterance, and a configuration vector storing a respective configuration of each of the components of the NLU system, the instructions comprising instructions to:
generate, via a first set of the components of the NLU system, an utterance meaning model that includes a meaning representation of an utterance, wherein, in accordance with the configuration vector, only a first portion of the first set of the components is applied while generating the utterance meaning model;
perform, via a second set of the components of the NLU system, a NLU meaning search to locate matches for the meaning representation of the utterance meaning model, wherein, in accordance with the configuration vector, only a second portion of the second set of the components is applied while performing the NLU meaning search;
extract scored artifacts of the utterance based at least in part on the matches located during the NLU meaning search;
determine performance metrics for the configuration vector that describe performance of the NLU framework when generating the utterance meaning model, performing the NLU meaning search, and extracting the scored artifacts;
modify one or more values of the configuration vector to generate a mutated configuration vector;
determine second performance metrics for the mutated configuration vector that describe performance of the NLU framework when generating a second utterance meaning model, performing a second NLU meaning search, and extracting second scored artifacts in accordance with the mutated configuration vector; and
in response to determining that the second performance metrics of the mutated configuration vector are better than the performance metrics the configuration vector, replacing the configuration vector with the mutated configuration vector.
18. The medium of claim 17 , wherein the first portion of the first set of the components of the NLU system comprise at least one prosody plugin, at least one parser, at least one autocorrect rule, at least one generalizing rule, at least one refining rule, a set of focus/attention/magnification (FAM) coefficients, and at least one tree substructure vectorization method, wherein the instructions to generate the utterance meaning model comprise instructions to:
parse the utterance, via the at least one parser and the at least one autocorrect rule, to generate at least one parse of the utterance;
generate, via the at least one generalizing rule and the at least one refining rule, at least one re-expression of the utterance; and
generate the meaning representation of the utterance based at least in part on the at least one parse of the utterance, the at least one re-expression of the utterance, the set of FAM coefficients, and the at least one tree substructure vectorization method.
19. The medium of claim 17 , wherein the second portion of the second set of the components of the NLU system comprise at least one tree-model comparison method, a set of cognitive construction grammar (CCG) classes, a set of CCG compatibility rules, and a set of CCG class scoring coefficients, and wherein the instructions to perform the NLU meaning search comprise instructions to:
compare the meaning representation of the utterance meaning model to a plurality of meaning representations of an understanding model of the NLU system based at least in part on the at least one tree-model comparison method, the set of cognitive construction grammar (CCG) classes, the set of CCG compatibility rules, and the set of CCG class scoring coefficients.
20. The medium of claim 17 , wherein the instructions to determine the second performance metrics for the mutated configuration vector that describe performance of the NLU framework when generating the second utterance meaning model, performing the second NLU meaning search, and extracting the second scored artifacts in accordance with the mutated configuration vector comprise instructions to:
generate, via the first set of the components of the NLU system, the second utterance meaning model that includes a second meaning representation of the utterance, wherein, in accordance with the mutated configuration vector, only a third portion of the first set of the components is applied while generating the second utterance meaning model; and
perform, via the second set of the components of the NLU system, the second NLU meaning search to locate second matches for the second meaning representation of the second utterance meaning model, wherein, in accordance with the mutated configuration vector, only a fourth portion of the second set of the components is applied while performing the second NLU meaning search.
US17/579,044
2021-01-21
2022-01-19
Operational modeling and optimization system for a natural language understanding (NLU) framework
Active
2043-02-20
US12175196B2
( en )
Priority Applications (1)
Application Number
Priority Date
Filing Date
Title
US17/579,044
US12175196B2
( en )
2021-01-21
2022-01-19
Operational modeling and optimization system for a natural language understanding (NLU) framework
Applications Claiming Priority (2)
Application Number
Priority Date
Filing Date
Title
US202163140117P
2021-01-21
2021-01-21
US17/579,044
US12175196B2
( en )
2021-01-21
2022-01-19
Operational modeling and optimization system for a natural language understanding (NLU) framework
Publications (2)
Publication Number
Publication Date
US20220229994A1
US20220229994A1 ( en )
2022-07-21
US12175196B2
true
US12175196B2 ( en )
2024-12-24
Family
ID=82406299
Family Applications (1)
Application Number
Title
Priority Date
Filing Date
US17/579,044
Active
2043-02-20
US12175196B2
( en )
2021-01-21
2022-01-19
Operational modeling and optimization system for a natural language understanding (NLU) framework
Country Status (1)
Country
Link
US
( 1 )
US12175196B2
( en )
Families Citing this family (13)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20170198554A1
( en )
*
2015-07-13
2017-07-13
Halliburton Energy Services, Inc.
Coordinated Control For Mud Circulation Optimization
US10497366B2
( en )
*
2018-03-23
2019-12-03
Servicenow, Inc.
Hybrid learning system for natural language understanding
US12175196B2
( en )
*
2021-01-21
2024-12-24
Servicenow, Inc.
Operational modeling and optimization system for a natural language understanding (NLU) framework
US12314675B2
( en )
*
2021-05-10
2025-05-27
Walden University, Llc
System and method for a cognitive conversation service
WO2023019256A1
( en )
*
2021-08-12
2023-02-16
Yohana Llc
Representative task generation and curation
US20230410682A1
( en )
*
2022-06-20
2023-12-21
International Business Machines Corporation
Task-specific language sets for multilingual learning
US12182519B2
( en )
*
2022-08-12
2024-12-31
Tencent America LLC
Systems and methods for semantic-based pre-training for dialogue understanding
US12374324B2
( en )
*
2022-10-12
2025-07-29
Capital One Services, Llc
Transcript tagging and real-time whisper in interactive communications
US20250103639A1
( en )
*
2023-09-27
2025-03-27
Bank Of America Corporation
System and method for machine learning-driven data record retrieval via stochastic expansion data querying
US12462807B2
( en )
*
2023-10-19
2025-11-04
Quantiphi, Inc.
System and method for adapting legacy servers to operate within Rasa NLU framework
CN118211574B
( en )
*
2024-05-22
2024-07-30
å±±ä¸å¤§å¦
A method and device for rewriting text in a diversified and controllable manner based on a subtree library
US12260228B1
( en )
*
2024-10-15
2025-03-25
Axonius Solutions Ltd.
Optimizing configuration rules over multiple management domains
CN119920244B
( en )
*
2025-04-02
2025-06-24
é¿æ¥è䏿æ¯å¦é¢
An intelligent real-time language synchronous translation system and terminal thereof
Citations (52)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US6609122B1
( en )
2000-08-01
2003-08-19
Bmc Software, Inc.
Navigation of view relationships in database system
US7020706B2
( en )
2002-06-17
2006-03-28
Bmc Software, Inc.
Method and system for automatically updating multiple servers
US7028301B2
( en )
2000-12-08
2006-04-11
Bmc Software, Inc.
System and method for automatic workload characterization
US7062683B2
( en )
2003-04-22
2006-06-13
Bmc Software, Inc.
Two-phase root cause analysis
US7131037B1
( en )
2002-06-05
2006-10-31
Proactivenet, Inc.
Method and system to correlate a specific alarm to one or more events to identify a possible cause of the alarm
US7170864B2
( en )
2001-03-08
2007-01-30
Bmc Software, Inc.
System and method for WAP server management using a single console
US7350209B2
( en )
2001-06-29
2008-03-25
Bmc Software
System and method for application performance management
US7562009B1
( en )
*
2005-03-23
2009-07-14
Basis Technology Corporation
Linguistic processing platform, architecture and methods
US7610512B2
( en )
2006-01-06
2009-10-27
Hewlett-Packard Development Company, L.P.
System and method for automated and assisted resolution of it incidents
US7617073B2
( en )
2002-03-01
2009-11-10
Bmc Software, Inc.
System and method for assessing and indicating the health of components
US7689628B2
( en )
2005-05-19
2010-03-30
Atul Garg
Monitoring several distributed resource elements as a resource pool
US7783744B2
( en )
2003-06-03
2010-08-24
Bmc Software, Inc.
Facilitating root cause analysis for abnormal behavior of systems in a networked environment
US7930396B2
( en )
2000-07-10
2011-04-19
Bmc Software, Inc.
System and method of enterprise systems and business impact management
US7945860B2
( en )
2003-05-14
2011-05-17
Hewlett-Packard Development Company, L.P.
Systems and methods for managing conversations between information technology resources
US20110137636A1
( en )
*
2009-12-02
2011-06-09
Janya, Inc.
Context aware back-transliteration and translation of names and common phrases using web resources
US7966398B2
( en )
2001-03-30
2011-06-21
Bmc Software, Inc.
Synthetic transaction monitor with replay capability
US8051164B2
( en )
2007-12-14
2011-11-01
Bmc Software, Inc.
Impact propagation in a directed acyclic graph having restricted views
US8224683B2
( en )
2003-07-08
2012-07-17
Hewlett-Packard Development Company, L.P.
Information technology service request level of service monitor
US8266096B2
( en )
2008-10-24
2012-09-11
Bmc Software, Inc.
Vendor portfolio management in support of vendor relationship management analysis, planning and evaluation
US8457928B2
( en )
2010-03-26
2013-06-04
Bmc Software, Inc.
Automatic determination of dynamic threshold for accurate detection of abnormalities
US8478569B2
( en )
2010-03-26
2013-07-02
Bmc Software, Inc.
Auto adjustment of baseline on configuration change
US8674992B2
( en )
2010-06-24
2014-03-18
Bmc Software, Inc.
Spotlight graphs
US8689241B2
( en )
2011-09-30
2014-04-01
Bmc Software, Inc.
Dynamic evocations for computer event management
US8743121B2
( en )
2009-12-23
2014-06-03
Bmc Software, Inc.
Smart impact views
US8887133B2
( en )
2006-04-28
2014-11-11
Bmc Software, Inc.
Bi-directional communication between change management tool and implementation tools
US9065683B2
( en )
2005-11-23
2015-06-23
Mediaclaw, Inc.
Content interactivity gateway
US9122552B2
( en )
2012-06-29
2015-09-01
Bmc Software, Inc.
Hybrid cloud infrastructures
US9239857B2
( en )
2004-12-21
2016-01-19
Bmc Software, Inc.
System and method for building business service model
US9535737B2
( en )
2015-01-30
2017-01-03
Bladelogic, Inc.
Dynamic virtual port provisioning
US9557969B2
( en )
2012-03-28
2017-01-31
Bmc Software, Inc.
Automated blueprint assembly for assembling an application
US9792387B2
( en )
2001-08-31
2017-10-17
Bmc Software, Inc.
Service desk data transfer interface
US20180074799A1
( en )
*
2016-09-15
2018-03-15
Oracle International Corporation
Integration for next-generation applications
US20190114540A1
( en )
*
2017-10-16
2019-04-18
Samsung Electronics Co., Ltd.
Method of updating sentence generation model and sentence generating apparatus
US20190115014A1
( en )
*
2017-10-16
2019-04-18
GM Global Technology Operations LLC
Responsive activation of a vehicle feature
US20190172466A1
( en )
*
2017-12-04
2019-06-06
Samsung Electronics Co., Ltd.
Language processing method and apparatus
US20190228760A1
( en )
*
2016-09-29
2019-07-25
Kabushiki Kaisha Toshiba
Information processing system, information processing apparatus, information processing method, and recording medium
US20190295536A1
( en )
*
2018-03-23
2019-09-26
Servicenow, Inc.
Hybrid learning system for natural language understanding
US20200125820A1
( en )
*
2018-10-23
2020-04-23
Samsung Electronics Co., Ltd.
Data recognition apparatus and method, and training apparatus and method
US20200151022A1
( en )
*
2018-11-13
2020-05-14
Servicenow, Inc.
Instance mapping engine and tools
US10740566B2
( en )
2018-03-23
2020-08-11
Servicenow, Inc.
Method and system for automated intent mining, classification and disposition
US20200327284A1
( en )
2018-03-23
2020-10-15
Servicenow, Inc.
Hybrid learning system for natural language understanding
US20210004537A1
( en )
*
2019-07-02
2021-01-07
Servicenow, Inc.
System and method for performing a meaning search using a natural language understanding (nlu) framework
US10984794B1
( en )
*
2016-09-28
2021-04-20
Kabushiki Kaisha Toshiba
Information processing system, information processing apparatus, information processing method, and recording medium
US20210141815A1
( en )
*
2019-11-07
2021-05-13
International Business Machines Corporation
Methods and systems for ensuring quality of unstructured user input content
US11081104B1
( en )
*
2017-06-27
2021-08-03
Amazon Technologies, Inc.
Contextual natural language processing
US11087090B2
( en )
2018-03-23
2021-08-10
Servicenow, Inc.
System for focused conversation context management in a reasoning agent/behavior engine of an agent automation system
US11205052B2
( en )
2019-07-02
2021-12-21
Servicenow, Inc.
Deriving multiple meaning representations for an utterance in a natural language understanding (NLU) framework
US20220229994A1
( en )
*
2021-01-21
2022-07-21
Servicenow, Inc.
Operational modeling and optimization system for a natural language understanding (nlu) framework
US20220237383A1
( en )
*
2021-01-21
2022-07-28
Servicenow, Inc.
Concept system for a natural language understanding (nlu) framework
US20220245352A1
( en )
*
2021-01-21
2022-08-04
Servicenow, Inc.
Ensemble scoring system for a natural language understanding (nlu) framework
US20220245353A1
( en )
*
2021-01-21
2022-08-04
Servicenow, Inc.
System and method for entity labeling in a natural language understanding (nlu) framework
US20220245361A1
( en )
*
2021-01-21
2022-08-04
Servicenow, Inc.
System and method for managing and optimizing lookup source templates in a natural language understanding (nlu) framework
2022
2022-01-19
US
US17/579,044
patent/US12175196B2/en
active
Active
Patent Citations (65)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US7930396B2
( en )
2000-07-10
2011-04-19
Bmc Software, Inc.
System and method of enterprise systems and business impact management
US6609122B1
( en )
2000-08-01
2003-08-19
Bmc Software, Inc.
Navigation of view relationships in database system
US7028301B2
( en )
2000-12-08
2006-04-11
Bmc Software, Inc.
System and method for automatic workload characterization
US7170864B2
( en )
2001-03-08
2007-01-30
Bmc Software, Inc.
System and method for WAP server management using a single console
US7966398B2
( en )
2001-03-30
2011-06-21
Bmc Software, Inc.
Synthetic transaction monitor with replay capability
US7350209B2
( en )
2001-06-29
2008-03-25
Bmc Software
System and method for application performance management
US9792387B2
( en )
2001-08-31
2017-10-17
Bmc Software, Inc.
Service desk data transfer interface
US7617073B2
( en )
2002-03-01
2009-11-10
Bmc Software, Inc.
System and method for assessing and indicating the health of components
US7131037B1
( en )
2002-06-05
2006-10-31
Proactivenet, Inc.
Method and system to correlate a specific alarm to one or more events to identify a possible cause of the alarm
US7020706B2
( en )
2002-06-17
2006-03-28
Bmc Software, Inc.
Method and system for automatically updating multiple servers
US7062683B2
( en )
2003-04-22
2006-06-13
Bmc Software, Inc.
Two-phase root cause analysis
US7945860B2
( en )
2003-05-14
2011-05-17
Hewlett-Packard Development Company, L.P.
Systems and methods for managing conversations between information technology resources
US7783744B2
( en )
2003-06-03
2010-08-24
Bmc Software, Inc.
Facilitating root cause analysis for abnormal behavior of systems in a networked environment
US8224683B2
( en )
2003-07-08
2012-07-17
Hewlett-Packard Development Company, L.P.
Information technology service request level of service monitor
US9239857B2
( en )
2004-12-21
2016-01-19
Bmc Software, Inc.
System and method for building business service model
US7562009B1
( en )
*
2005-03-23
2009-07-14
Basis Technology Corporation
Linguistic processing platform, architecture and methods
US7689628B2
( en )
2005-05-19
2010-03-30
Atul Garg
Monitoring several distributed resource elements as a resource pool
US9065683B2
( en )
2005-11-23
2015-06-23
Mediaclaw, Inc.
Content interactivity gateway
US7610512B2
( en )
2006-01-06
2009-10-27
Hewlett-Packard Development Company, L.P.
System and method for automated and assisted resolution of it incidents
US7890802B2
( en )
2006-01-06
2011-02-15
Hewlett-Packard Development Company, L.P.
System and method for automated and assisted resolution of IT incidents
US8887133B2
( en )
2006-04-28
2014-11-11
Bmc Software, Inc.
Bi-directional communication between change management tool and implementation tools
US8051164B2
( en )
2007-12-14
2011-11-01
Bmc Software, Inc.
Impact propagation in a directed acyclic graph having restricted views
US8266096B2
( en )
2008-10-24
2012-09-11
Bmc Software, Inc.
Vendor portfolio management in support of vendor relationship management analysis, planning and evaluation
US20110137636A1
( en )
*
2009-12-02
2011-06-09
Janya, Inc.
Context aware back-transliteration and translation of names and common phrases using web resources
US8743121B2
( en )
2009-12-23
2014-06-03
Bmc Software, Inc.
Smart impact views
US8478569B2
( en )
2010-03-26
2013-07-02
Bmc Software, Inc.
Auto adjustment of baseline on configuration change
US8457928B2
( en )
2010-03-26
2013-06-04
Bmc Software, Inc.
Automatic determination of dynamic threshold for accurate detection of abnormalities
US8674992B2
( en )
2010-06-24
2014-03-18
Bmc Software, Inc.
Spotlight graphs
US8689241B2
( en )
2011-09-30
2014-04-01
Bmc Software, Inc.
Dynamic evocations for computer event management
US9557969B2
( en )
2012-03-28
2017-01-31
Bmc Software, Inc.
Automated blueprint assembly for assembling an application
US9122552B2
( en )
2012-06-29
2015-09-01
Bmc Software, Inc.
Hybrid cloud infrastructures
US9535737B2
( en )
2015-01-30
2017-01-03
Bladelogic, Inc.
Dynamic virtual port provisioning
US20180074799A1
( en )
*
2016-09-15
2018-03-15
Oracle International Corporation
Integration for next-generation applications
US10984794B1
( en )
*
2016-09-28
2021-04-20
Kabushiki Kaisha Toshiba
Information processing system, information processing apparatus, information processing method, and recording medium
US20190228760A1
( en )
*
2016-09-29
2019-07-25
Kabushiki Kaisha Toshiba
Information processing system, information processing apparatus, information processing method, and recording medium
US11081104B1
( en )
*
2017-06-27
2021-08-03
Amazon Technologies, Inc.
Contextual natural language processing
US20190114540A1
( en )
*
2017-10-16
2019-04-18
Samsung Electronics Co., Ltd.
Method of updating sentence generation model and sentence generating apparatus
US20190115014A1
(<span itemprop="prima