Improving intent determination in messaging conversation management systems
By training machine learning models and leveraging sentence embedding and grammatical features, the problem of misunderstandings by conversational agents when understanding user intent is resolved, enabling accurate responses and seamless transitions in conversation flows and improving user experience.
Patent Information
- Application Number
- CN202210458810.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-04-29
- Filing Date
- 2022-04-27
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2042-04-27
AI Technical Summary
Conversational agents are prone to misunderstandings when understanding user intent, especially when dealing with ambiguous utterances, resulting in inaccurate responses to user queries.
By training machine learning models and leveraging sentence embedding and grammatical features, we can identify the intent of user utterances, especially distinguish between sentences with expected and unexpected responses, and achieve seamless transitions in conversation flow.
Improves the accuracy of conversational agents in understanding user intent, reduces ambiguity and digressions, and improves the user experience.
Smart Images

Figure CN115269827B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates generally to the field of data processing and, more particularly, to improving intent determination in a messaging dialog manager system. Background Art
[0002] Conversational agents are becoming an increasingly popular online method for product and service providers to interact with their customers and users. A conversational agent is a form of software agent and may be referred to as a chat program, chatbot, artificial conversational entity, intelligent assistant, chatbot, or other such terms. A conversational agent is a system that simulates a conversation with a user via voice or text in order to provide information and services to the user and also solicit and receive information from the user. The goal is for the conversational agent to accurately understand user queries and respond accordingly. For example, a conversational agent may receive a user query, determine the intent and purpose of the user's query, and return a relevant response or perform a task or action.
[0003] However, conversational agents still suffer from multiple limitations that hinder their widespread adoption. A key capability is identifying the intent behind a message item (e.g., utterance, text), i.e., whether the statement is asking for information or providing information. Identifying the intent behind a message item can significantly improve the agent's decision-making when experiencing unexpected responses from users.
[0004] Conversational agents are typically designed for a limited number of use cases, in many cases a single use case. For example, a user might request a weather forecast from a weather conversational agent, book travel or entertainment tickets by accessing a conversational agent for the relevant supplier, purchase a product from a retailer, and record information such as a receipt using a billing system conversational agent. Conversational agents allow users to interact with product and service providers in a simple and intuitive manner. Summary of the Invention
[0005] During a chat program session with a user, the user may provide ambiguous utterances, and the chat program may not be able to discern whether the utterance is a question or a statement. When machines and humans interact, especially when interacting in natural language, misunderstandings can have serious consequences. Identifying the intent behind a particular interaction, such as when a phrase provides information versus asks for information (e.g., via an agent or entity), is important to avoid ambiguous statements that may lead to unforeseen effects.
[0006] The present disclosure addresses the above shortcomings. Embodiments of the present invention disclose computer-implemented methods, computer program products, and computer systems for improving intent determination in a messaging conversation manager system. The computer-implemented methods for improving intent determination in a messaging conversation manager system may include: one or more processors configured to: receive first agent entry data corresponding to a first agent communicating in a messaging conversation interface; determine that the first agent entry data expects a response within a first response domain; determine that a first user entry received in the messaging conversation interface is not within the first response domain; identify a second agent configured with a second response domain that includes the first user entry; and transmit the first user entry to the second agent to facilitate a seamless transition of a communication flow established between the first agent and a first user communicating in the messaging conversation interface.
[0007] In an embodiment, the computer-implemented method may further include: identifying proxy text data corresponding to natural language (NL) text in the first proxy entry data; and identifying user text data corresponding to the NL utterance in the first user entry.
[0008] In an embodiment, the computer-implemented method may further include: determining a first proxy data entry topic based on the proxy text data, wherein the first response domain corresponds to the first proxy data entry topic; determining a first user entry topic based on the user text data; and comparing the first proxy data entry topic to the first user entry topic to determine whether a similarity threshold is satisfied.
[0009] In an embodiment, the computer-implemented method may further include determining that the first user entry is not within the first response domain based at least on determining that the similarity threshold does not exceed a predetermined value.
[0010] In an embodiment, the computer-implemented method may also include: processing the proxy text data by a first trained machine learning model to generate model output data corresponding to the expected response classification; and determining the NL text as the first proxy entry data of the expected response if the expected response classification meets the conditions.
[0011] In an embodiment, the first user entry may include a document entry, wherein the computer-implemented method may further include: extracting document entry data from the document entry; and processing the document entry data to determine natural language text data, wherein determining that the first user entry is not within the first response domain is based at least on the natural language text data.
[0012] In an embodiment, transmitting the first entry to the second agent may correspond to a digressive conversation flow between the first user and the second agent in the messaging dialog interface.
[0013] In an embodiment, determining the first proxy entry expected response may also include: appending a part-of-speech (POS) tag to one or more words in the NL text to generate labeled NL text data; encoding the proxy text data into a sentence embedding having 768 or fewer dimensions; processing the labeled NL text data and the sentence embedding by a second trained machine learning model to generate model output data corresponding to a response expected classification; and determining the NL text as the first proxy entry data for the expected response if the response expected classification satisfies a condition. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 A block diagram of a distributed data processing environment for improving intent determination in a messaging dialog system according to an embodiment of the present invention is shown;
[0015] Figure 2 A block diagram of a system for improving intent determination in a messaging dialog system according to an embodiment of the present invention is shown;
[0016] Figure 3 A model for improving intent determination in a messaging dialog manager system according to an embodiment of the present invention is described;
[0017] Figure 4 The operating steps of a computer-implemented method for improving intent determination in a messaging dialog system according to an embodiment of the present invention are shown; and
[0018] Figure 5 Describes an embodiment of the present invention Figure 1 A block diagram of the components of a server computer within a distributed data processing environment. DETAILED DESCRIPTION
[0019] Embodiments of the present invention describe computer-implemented methods, systems, and computer program products for improving intent determination in a messaging dialog manager system. As described herein, a data-driven machine learning approach is provided to identify questions, commands, and declarative statements by compiling a labeled dataset of English sentences and training multiple models on sentence embeddings and syntactic features. Natural language interaction is a difficult task for machines to control because natural language utterances can be highly unstructured and their content can vary widely. Ambiguous or unclear statements, speakers accidentally digressing or moving from incomplete conversations, and other common user behaviors add to the challenges of machines conversing with people.
[0020] Focused on natural language understanding, the goal is to understand natural language utterances ranging from their syntactic composition and the role of words in a sentence to their semantic meaning, context, and other tasks. The embodiments described herein focus on the task of identifying specific grammatical sentence structures, noteworthy interrogative and imperative sentences (and those that are not) in a conversational setting. Identifying sentence types is useful for conversational agents in multiple scenarios. For example, identifying statements awaiting a response (i.e., questions and command statements) allows the chat system to determine whether a digression occurs when a statement is not appropriately addressed or responded to.
[0021] Furthermore, in a multi-agent chatbot setting, identifying the type of statement can aid in the decision-making process of the dialogue manager, the entity that handles responses, dialogue transitions, context, and other dialogue artifacts. Finally, categorizing statements or data entries allows conversational agents (embodied or virtual) to determine when they are the giver of information and when they are the receiver of information. This determination can be provided to the dialogue manager to update a corresponding knowledge base, which is configured to facilitate seamless transitions between different topics in an ongoing communication session.
[0022] The embodiments described herein provide a computer-implemented method configured to train a machine learning model to identify natural language utterances for which responses are expected (e.g., "Who are the top 5 banks" and "Get the names of the top 5 banks") versus those for which responses are not expected (e.g., "Banks below the top 5"). Unlike performing intent identification, which also considers the domain of the request, the classification can be domain independent. For example, a dataset of natural language statements in a particular language (e.g., English) can be compiled from existing benchmarks in the literature and can be labeled based on two categories (i.e., expected response, expected no response). Further, the machine learning models (e.g., shallow, deep learning) can be trained on different features including sentence embeddings and grammatical features. As a result, specific natural language tasks and identification of their importance in messaging dialogue systems are defined and contribute to the embodiments described herein. Further, the embodiments described herein include a set of labeled sentences and a machine learning model that has learned the classification task.
[0023] The embodiments described herein can be applied to both user utterances and responses generated by a conversational agent, where digressions in a conversation can be identified based at least on determining whether a message entered in a messaging system expects a response. In a multi-turn goal-oriented conversational agent system, the flow of a conversation can be visualized as a branch traversal from root to leaf in a conversation tree. In a multi-turn conversation, this flow can involve jumping between many branches as the user digresses from one topic to another. Understanding when an utterance expects a response helps determine whether the conversation should continue along the branch or instead digress.
[0024] The embodiments described herein provide machine learning models that capture the grammatical structure and overall meaning of a statement, identify its expected response or other properties. For example, if an agent asks a question, the probability of entering a multi-turn dialogue is high. The embodiments described herein focus on generating features that best represent the task and generalize well to unseen data. Further, the embodiments described herein focus on selecting models that capture the intent of requesting information or a response in a variety of ways. Simply adopting a "is it a question" classifier will miss utterances such as "please specify the columns you want to plot."
[0025] In an embodiment, to learn the classification task, an appropriate dataset is created to train a machine learning model. The dataset primarily distinguishes between two types of utterances in a conversation: utterances for which a response is expected (category 1) and utterances for which a response is not expected (category 0). Category 0 utterances can be comments, declarative statements, or sentiments from a user or chat program that do not seek information or make requests. Category 1 utterances do expect a response because they are asking questions or requesting a change in the state of a system or the world. For example, in the context of a conversation between a user and a loan agent, the user might request, "Can I check the status of my loan application?" (category 1) and the agent might respond, "Here's the information you requested" (category 0). However, identifying category 1 utterances may not always be as simple as checking whether a statement contains a question mark, as other grammatical structures may be used. Examples may include the following: Who is the top borrower? (i.e., a WH-word [e.g., who, what, when, where, why, how question]); Are there any pending applications? Are there pending applications for Manager 1 or Manager 2? (i.e., a yes or no question); I don't have any pending applications, do I? (i.e., rhetorical or tag question); Show me my submitted application. (i.e., imperative tense verb); I want / need to know the status of my request (i.e., imperative); Credit score, please (i.e., imperative); Annual income? (i.e., other).
[0026] In addition, the embodiments described herein may also take into account the characteristics of the conversation environment (e.g., users may not always provide grammatically correct sentences). Interesting data may include questions without question marks, incomplete sentences or phrases, or any other number of grammatical or spelling errors.
[0027] Embodiments described herein may also include encoding sentences into sentence embeddings using a Siamese bidirectional encoder representation from a Transformer (BERT) network with a pre-trained BERT model (bert-base-nli-mean-tokens). For example, two different sets of embeddings (e.g., base and compressed) may be used to generate classifications. Based on the base pre-trained model, a principal component analysis (PCA) method may be used to compress the default 768-dimensional vector from BERT to 100, 200, and 400 dimensions.
[0028] In addition to creating sentence embeddings, embodiments described herein are configured to use part-of-speech (POS) tags to capture the grammatical structure of sentences, as the model may be able to learn patterns behind the tags that call responses. For example, the POS tagger of the Natural Language Toolkit (NLTK) can be used to create count and position features by comparing the frequency of occurrence and the position of the first occurrence of a tag in a sentence. To calculate position, the distance of each word from the center of the sentence, measured by its index, can be divided by the length of the sentence. Position values that are closer to -1 are closer to the beginning of the sentence and position values that are closer to 1 are closer to the end. Position values can be shifted by +1 to eliminate negative values as input to some feature selection algorithms that require non-negative entries.
[0029] The embodiments described herein may include multiple feature selection algorithms to perform automatic feature selection. For example, Pearson correlation filtering, chi-square filtering, or Kullback-Leibler divergence may be used to perform automatic feature selection.
[0030] The embodiments described herein may include one or more models selected for a particular application based on certain application parameters. For example, the application parameters may include the complexity / simplicity of the problem, computational constraints on training / testing (e.g., space and time), and problem characteristics (e.g., feature independence / dependence, amount of data noise, randomness, stationarity), etc. Each model may have a set of hyperparameters that can be tuned to optimize training (e.g., feature mapping function, number of hidden neurons).
[0031] The embodiments described herein may include different types of machine learning models, and techniques for training machine learning models are used to improve intent determination in the messaging dialog manager system. For example, supervised learning techniques can be used on shallow models (e.g., SVM, k-nearest neighbor (kNN), random forest, decision tree, naive Bayes) to serve as a baseline for comparison with deep learning models. Further, the embodiments described herein may include performing a grid search to fine-tune hyperparameters for an SVM model, a kNN model, or a multiple latent perceptron (MLP) model.
[0032] The embodiments described herein may include a deep learning model to simulate a bidirectional long short-term memory (LSTM) model to provide technical results for natural language processing (NLP) tasks. For example, in a conversational environment, both the first and second half of a sentence may be analyzed to provide context that helps determine the meaning or intent of the sentence. Thus, in contrast to a unidirectional LSTM, a bidirectional LSTM may provide improved results in analyzing both the first and second half of a sentence.
[0033] The embodiments described herein use an array of datasets from the conversational natural language literature to train a machine learning model. For ground truth, the data can be annotated in a semi-automatic manner to create a 45% (i.e., label: expected-response) to 55% (label: not expected-response) data split. For example, the semi-automatic annotation can include: identifying labels for data points on the data source, where an example sentence from the dataset that does not invoke the necessity of responding to it in a multi-turn conversation (e.g., "a very, very, very slow-moving, aimless movie about miserable, drifting young people") would be so labeled. Other sentences similar to the example sentence would be similarly labeled if they shared the same attributes and structure. Alternatively, another example sentence from the dataset that invokes the necessity of a response in a multi-turn conversation (e.g., "what was the last year when this team was part of the USL A league?" would be so labeled.
[0034] The embodiments described herein may include training a machine learning model using a combination of pre-trained BERT sentence embeddings and POS tags as input features to the machine learning model. For example, the input sentence embeddings may include 768, 400, 200, or 100 dimensions, scaled by approximately 2 times. Further, the sentence embeddings may be visualized in 2-dimensional space by applying t-distributed stochastic neighbor embedding (t-SNE) with a complexity of 50 on the 768-dimensional sentence vector. Further, 10-fold cross validation may be performed on the sentence vectors to report training / validation performance.
[0035] The embodiments described herein may also include capturing more natural language structure from sentences by appending POS tags (e.g., count, position) of the sentences to the feature set. By including POS tags, the model achieves improved performance because the POS tags assist the model in learning natural language sentence structure. Furthermore, aggregating all shadow model results and the feature set, the SVM-based classifier model produces minimal bias and generalizes well to unseen data when trained on POS tag features and BERT sentence embeddings.
[0036] The embodiments described herein may include a bidirectional LSTM model for sentence embeddings of dimensions 768, 400, 200, or 100. Sentence embeddings and POS tags may be included as a feature set to the bidirectional LSTM model to generate satisfactory results indicating that the bidirectional LSTM model performs best when utilizing the addition of grammatical language features to sentence embeddings.
[0037] Embodiments of the present invention recognize that a customized solution is desired for improving intent determination in a messaging dialog manager system in an efficient and convenient manner. Implementation of embodiments of the present invention may take a variety of forms, and exemplary implementation details are discussed subsequently with reference to the accompanying drawings.
[0038] Figure 1 A block diagram of a distributed data processing environment for improving intent determination in a messaging dialog manager system implemented in accordance with the present invention is shown. Figure 1 The diagrams of only one implementation of the present invention are provided and do not imply any limitation regarding the environments in which different implementations may be implemented. In the depicted embodiment, the distributed data processing environment 100 includes user devices 120, servers 125, and databases 124 interconnected by a network 110. The network 110 operates as a computing network that can be, for example, a local area network (LAN), a wide area network (WAN), or a combination of the two, and can include wired, wireless, or fiber optic connections. In general, the network 110 can be any combination of connections and protocols that will support communication between the user devices 120, servers 125, and databases 124. The distributed data processing environment 100 can also include additional servers, computers, or other devices not shown.
[0039] The term "distributed" as used herein describes a computer system that includes multiple physically distinct devices that operate together as a single computer system. Many modifications may be made to the described environment by those skilled in the art without departing from the scope of the invention as described in the claims.
[0040] The user device 120 can be operated to execute at least a portion of a computer program for improving intent determination in a messaging dialog manager system. In an embodiment, the user device 120 can be configured to send and / or receive data from one or more of a database 124 and a server 125 via the network 110. The user device 120 can include a user interface 122 configured to facilitate interaction between a user and the user device 120. For example, the user interface 122 can include a display as a mechanism for displaying data to the user, and can be, for example, a touch screen, a light emitting diode (LED) screen, or a liquid crystal display (LCD) screen. The user interface 122 can also include a keyboard or text input device configured to receive alphanumeric entries from the user. The user interface 122 can also include other peripheral components to further facilitate user interaction or data entry by a user associated with the user device 120.
[0041] In some embodiments, the user device 120 may be a management server, a web server, or any other electronic device or computing system capable of receiving and sending data. In some embodiments, the user device 120 may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a smart phone, or any programmable electronic device capable of communicating with the database 124 and the server 125 via the network 110. The user device 120 may include, for example, Figure 5 Components described in further detail in .
[0042] The database 124 operates as a repository for data flowing to and from the network 110. Examples of data include data corresponding to communications entered and received via the user interface 122. A database is an organized collection of data. The database 124 can be implemented using any type of storage device capable of storing data and configuration files that can be accessed and utilized by the user device 120 (such as a database server, hard drive, or flash memory). In an embodiment, the database 124 is accessed by the user device 120 to store data corresponding to messages communicated therewith via the user interface 122. In another embodiment, the database 124 can reside elsewhere within the distributed network environment 100, as long as the database 124 has access to the network 110.
[0043] Server 125 may be a standalone computing device, a management server, a web server, or any other electronic device or computing system capable of receiving, sending, and processing data and capable of communicating with user device 120 and / or database 124 via network 110. In other embodiments, server 125 represents a server computing system that utilizes multiple computers as a server system, such as a cloud computing environment. In yet another embodiment, server 125 represents a computing system that utilizes clustered computers and components (e.g., database server computers, application server computers, etc.) that act as a single seamless resource pool when accessed within distributed data processing environment 100. Server 125 may include, for example, Figure 5 Components described in further detail in .
[0044] Figure 2 Shown is a block diagram of a system 200 for improving intent determination in a messaging dialog system according to an embodiment of the present invention.
[0045] In an implementation, the system 200 may include a computer configured to execute a command on a computing device such as Figure 1 The system 200 may include one or more processors configured to generate a user interface 210 on a display of a user device 120. Further, the system 200 may include one or more processors configured to generate a messaging dialog interface via the user interface 210, wherein the messaging dialog interface may be configured to facilitate communication between a user and an agent (e.g., a conversational agent, a chatbot).
[0046] In an embodiment, the system 200 may include one or more processors configured to receive agent entry data 212 within a messaging dialog interface. 1-N and user entry data 214 1-N , to facilitate a conversation or communication flow between a user and an agent, where N can represent any number of instances of agent entry data and user entry data. For example, one or more processors can be configured to receive first agent entry data 2121 and first user entry data 2141 in a messaging dialog interface (e.g., user interface 210). The entry data can include data corresponding to an event (e.g., a natural language phrase, a non-natural language document entry). Additional agent entries can be exchanged with user entries in the messaging dialog interface to establish a conversation or communication flow between the user and the agent similar to a normal conversation. If the agent is unable to respond to the user entry, the conversation or communication flow can be interrupted, where the agent can respond with an error message or with an agent entry that is inconsistent with what the user expected.
[0047] The system 200 can be configured to use a natural language processing (NLP) engine (not shown) to interpret entry data received in a messaging dialog executed within the user interface 210. The NLP engine is the core component that interprets statements at any given time and converts the statements into structured entries that the system can process. The NLP engine can include advanced machine learning algorithms to identify intent in user and agent statements and further match user intent with a list of available actions supported by a chat system residing within the system. For example, the NLP engine can use a finite state automatic model or a deep learning model to generate system-generated responses to user and agent statements. The NLP engine can include an intent classifier and an entity extractor, wherein the intent classifier can be configured to interpret the natural language of the statement and the entity extractor can be configured to extract key information or keywords from the statement.
[0048] In an embodiment, system 200 may include one or more processors configured to identify proxy text data corresponding to natural language (NL) text in first proxy entry data 2121. Further, the one or more processors may be configured to identify user text data corresponding to a natural language (NL) utterance in first user entry 2141. For example, an NLP engine may be configured to process the proxy text data to identify NL text in the first proxy entry and to process the user text data to identify NL text in the first user entry.
[0049] In an embodiment, the system 200 may include an expected response component 220 configured to determine the proxy entry data 212 1-N Whether a response within the response domain is expected. For example, the expected response component 220 may include one or more machine learning models configured to perform feature extraction on the NL text entry data and process the extracted features and the NL text entry data to determine a classification of whether a response is expected for the NL text entry data.
[0050] Although the implementation of the machine learning model has been described above, the present disclosure is not limited thereto. In at least some embodiments, the machine learning model may implement a trained component or a trained model configured to perform the above process. The trained component may include one or more machine learning models, including but not limited to one or more classifiers, one or more neural networks, one or more probability graphs, one or more decision trees, etc. In other embodiments, the trained component may include a rule-based engine, one or more statistics-based algorithms, one or more mapping functions, or other types of functions / algorithms to determine whether the natural language input is complex or non-complex natural language input. In some embodiments, the trained component may be configured to perform binary classification, where the natural language input can be classified into one of two categories / categories. In some embodiments, the trained component may be configured to perform multi-category or polynomial classification, where the natural language input can be classified into one of three or more categories / categories. In some embodiments, the trained component may be configured to perform multi-label classification, where the natural language input can be associated with more than one category / category.
[0051] Different machine learning techniques can be used to train and operate trained components to perform the different processes described herein. Models can be trained and operated according to different machine learning techniques. Such techniques can include, for example, neural networks (such as, deep neural networks and / or recursive neural networks), inference engines, trained classifiers, etc. Examples of trained classifiers include support vector machines (SVMs), neural networks, decision trees, AdaBoost (abbreviated as "adaptive boosting") and random forests combined with decision trees. Focusing on SVM as an example, SVM is a supervised learning model with an associated learning algorithm that analyzes data and identifies patterns in the data and is commonly used for classification and regression analysis. Given a training example set, each training example is marked as belonging to one of two categories. The SVM training algorithm establishes a model that assigns new examples to one category or another, making it a non-probabilistic binary linear classifier. A more complex SVM model can be established using a training set that identifies more than two categories, where the SVM determines which category is most similar to the entry data. The SVM model can be mapped so that the examples of the individual categories are clearly divided by gaps. New examples are then mapped into this same space and predicted to belong to a category based on which side of the gap they fall on. The classifier can emit a "score" that indicates which category the data most closely matches. The score can provide an indication of how closely the data matches the category.
[0052] In order to apply machine learning techniques, the machine learning process itself needs to be trained. Training a machine learning component requires establishing "ground truth" for the training examples. In machine learning, the term "ground truth" refers to the classification accuracy of the training set used for supervised learning techniques. Various techniques can be used to train the model, including backpropagation, statistical learning, supervised learning, semi-supervised learning, stochastic learning, and other known techniques.
[0053] In an embodiment, the expected response component 220 may also include one or more processors configured to process the proxy text data by a first trained machine learning model to generate model output data corresponding to a response expectation classification; and if the response expectation classification satisfies a condition, determine the NL text as first proxy entry data for the expected response. The response expectation classification may correspond to a first class (class 1) indicating that the entry data expects a response or a second class (class 0) indicating that the entry data does not expect a response. Class 0 entry data comprising NL utterances may be comments, declarative statements, or sentiments from a user or agent who is not seeking information or making a request. Class 1 NL utterances do expect a response because they are asking a question or requesting a change in the state of a system or the world. The condition may include a binary classification or a score corresponding to a binary classification.
[0054] In an embodiment, the first machine learning model may include a shallow model, as described herein above, wherein the shallow model is trained on different features (e.g., sentence embeddings, grammatical features) configured to generate model output data in response to receiving and processing NL text data. The model output data may include a binary classification indicating whether the NL text data is a desired response or an undesired response.
[0055] In an embodiment, the first machine learning model may include one or more of a shallow model or a deep learning model, as described above herein, wherein the shallow model and the deep learning model are trained on different features (e.g., sentence embeddings, grammatical features) configured to generate model output data in response to receiving and processing NL text data. The model output data may include a binary classification indicating whether the NL text data is an expected response or an unexpected response. This determination improves the conversational experience in the event of a digression or disambiguation.
[0056] In an embodiment, the expected response component 220 may further include one or more processors configured to attach a part-of-speech (POS) tag to one or more words in the NL text to generate tagged NL text data. Further, the expected response component 220 may include one or more processors configured to encode the proxy text data into a sentence embedding having 768 or fewer dimensions.
[0057] In an embodiment, the expected response component 220 may include one or more processors configured to process the labeled NL text data and sentence embeddings using a second trained machine learning model to generate model output data corresponding to the expected response classification. Further, the one or more processors may be configured to: if the expected response classification satisfies a condition, determine the NL text as the first proxy entry data for the expected response.
[0058] In an embodiment, the first user entry may include a document entry, wherein the system 200 may further include one or more processors configured to extract document entry data from the document entry and process the document entry data to determine NL text data, wherein determining that the first user entry is not within the first response domain is based at least on the natural language text data.
[0059] In an embodiment, one or more processors may be configured to compare the first proxy data entry topic and the first user entry topic to determine if a similarity threshold is met. For example, if the first user entry topic is an appointment topic and the first proxy data entry topic is a general help query topic, then the similarity threshold is not met because the topics are dissimilar. As another example, if the first user entry topic is a reserved topic and the first proxy data entry topic is also a reserved topic, then the similarity threshold is met because the topics are the same.
[0060] In an embodiment, system 200 may include a response domain component 230 configured to determine whether a response is within a response domain. For example, response domain component 230 may include one or more processors configured to determine a first proxy data entry topic based on proxy text data, where the first response domain corresponds to the first proxy data entry topic. Furthermore, response domain component 230 may include one or more processors configured to determine a first user entry topic based on user text data. Furthermore, response domain component 230 may include one or more processors configured to compare the first proxy data entry topic with the first user entry topic to determine whether a similarity threshold has been met. For example, if the first proxy data entry topic is determined to be a reserved topic based on proxy text data including a question about a reservation, and if the first user entry topic is determined to be a reserved topic based on user text data including a statement about a reservation, then the similarity threshold may be met because the first proxy entry topic and the first user entry topic are the same. Conversely, if the first proxy entry topic is determined to be different from the first user entry topic, then the similarity threshold may not be met.
[0061] In an embodiment, the response domain component 230 may include one or more processors configured to determine that the first user entry is not within the first response domain based at least on determining that the similarity threshold does not exceed a predetermined value.
[0062] In an embodiment, the system 200 may include an agent identification component 240 configured to identify and communicate with an agent having a user entry data 214 received. 1-N For example, in response to determining that the first user entry entered in the messaging dialog interface is not within the first response domain, the agent identification component 240 can be configured to identify a second agent configured with a second response domain including the first user entry.
[0063] In an embodiment, in response to identifying the second agent, the agent identification component 240 can be configured to transfer the first user entry to the second agent to facilitate a seamless transition of an established communication flow between the first agent and the first user communicating in the messaging conversation interface. Furthermore, transferring the first entry to the second agent can correspond to a digressive conversation flow between the first user and the second agent in the messaging conversation interface.
[0064] In an embodiment, digression data corresponding to a determination that a digression occurred can be communicated to a proxy server configured to facilitate agent operations within a messaging conversation interface. The digression data can improve communication facilitation between the agent and a user configured to communicate within the messaging conversation interface, such that user entries that are unrelated to the agent's entries do not interfere with the progress of an ongoing communication session. Instead, the unrelated user entries can be identified as digressions, and an agent configured with a response field to respond appropriately will be identified and conduct the digression conversation.
[0065] In an embodiment, the one or more processors may include an NLP engine configured to interpret the proxy entry data 212 by processing the communication string (e.g., NL text) and generating structured text containing keywords to be extracted and further processed. 1-N or any other user entry into a message conversation executing in the user interface 210 .
[0066] Figure 3 A model 300 for improving intent determination in a messaging dialog manager system according to implementations of the present invention is described.
[0067] In an embodiment, a model 300 for improving intent determination in a messaging dialog manager system may be configured to receive natural language entry data 310 from one or more of an agent and a user. Further, the model 300 may include one or more processors configured to encode agent text data received as part of the natural language entry data 310 into a sentence embedding 320 having 768 or fewer dimensions. In other words, the model 300 may be configured to convert the natural language entry data 310 into a 768-dimensional BERT sentence embedding 320, as described above herein. Further, the model 300 may be configured to attach a part-of-speech (POS) tag 330 to one or more words in the NL text to generate tagged NL text data. In addition, the model 300 may include a trained model 340 configured to process the NL tagged text data and the sentence embedding 320 to generate output data corresponding to a response expectation classification 350. Furthermore, the model 300 may include one or more processors configured to: if the response expected classification satisfies a condition, determine the NL text as the first proxy entry data of the expected response.
[0068] In an embodiment, model 300 may include a response domain 360 configured to determine whether a user entry is within a response domain of a proxy entry. For example, response domain 360 may include one or more processors configured to determine a first proxy data entry topic based on the proxy text data, where the first response domain corresponds to the first proxy data entry topic. Furthermore, response domain 360 may include one or more processors configured to determine the first user entry topic based on the user text data, and compare the first proxy data entry topic with the first user entry topic to determine whether a similarity threshold is satisfied. If the comparison between the first proxy data entry topic and the first user entry topic exceeds the similarity threshold, the user entry is within the response domain of the proxy entry. On the other hand, if the comparison between the first proxy data entry topic and the first user entry topic does not exceed the similarity threshold, the user entry is not within the response domain of the proxy entry. If the user entry is not within the response domain of the proxy entry, the one or more processors may be configured to determine that a digression has occurred. If the user entry is within the response domain of the proxy entry, the one or more processors may be configured to determine that a digression has not occurred.
[0069] In an embodiment, the computer-implemented method may further include determining that the first user entry is not within the first response domain based at least on determining that the similarity threshold does not exceed a predetermined value.
[0070] Figure 4The operational steps of a computer-implemented method 400 for improving intent determination in a messaging dialog system according to an implementation of the present invention are described. It should be understood that Figure 4 This merely provides an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications may be made to the depicted environments.
[0071] A computer-implemented method 400 for improving intent determination in a messaging conversation system may include one or more processors configured to receive 402 first agent entry data corresponding to a first agent communicating in a messaging conversation interface.
[0072] In an embodiment, the computer-implemented method 400 may further include one or more processors configured to identify proxy text data corresponding to natural language (NL) text in the first proxy entry data.
[0073] In an embodiment, the computer-implemented method 400 may further include one or more processors configured to process the agent text data by a first trained machine learning model to generate model output data corresponding to a desired classification of the response.
[0074] Furthermore, the one or more processors may be configured to: if the response expected classification satisfies a condition, determine the NL text as the first proxy entry data of the expected response.
[0075] Further, the computer-implemented method 400 may also include one or more processors configured to identify user text data corresponding to a natural language (NL) utterance in the first user entry.
[0076] In an embodiment, the computer-implemented method 400 may further include one or more processors configured to determine a first proxy data item topic based on the proxy text data, wherein the first response domain corresponds to the first proxy data item topic.
[0077] Furthermore, the computer-implemented method 400 may also include one or more processors configured to determine a first user entry topic based on the user text data.
[0078] Further, the computer-implemented method 400 may also include one or more processors configured to compare the first proxy data entry subject matter and the first user entry subject matter to determine that a similarity threshold is satisfied.
[0079] The computer-implemented method 400 may also be configured to determine 404 a response desired by the first proxy entry data within a first response domain.
[0080] In an embodiment, determining 404 the first proxy entry expected response may further include one or more processors configured to append a part-of-speech (POS) tag to one or more words in the NL text to generate tagged NL text data.
[0081] Further, the one or more processors may be configured to encode the proxy text data into sentence embeddings having a dimension of 768 or less.
[0082] Further, the one or more processors may be configured to process the labeled NL text data and sentence embeddings by a second trained machine learning model to generate model output data corresponding to a response desired classification.
[0083] Furthermore, the one or more processors may be configured to: if the response expected classification satisfies a condition, determine the NL text as the first proxy entry data of the expected response.
[0084] The computer-implemented method 400 may also be configured to determine 406 that a first user entry entered in the messaging conversation interface is not within a first response field.
[0085] In an embodiment, the computer-implemented method 400 may further include one or more processors configured to determine that the first user entry is not within the first response domain based at least on determining that the similarity threshold does not exceed a predetermined value.
[0086] The computer-implemented method 400 may also be configured to identify 408 a second agent configured with a second response domain that includes the first user entry.
[0087] In one embodiment, the first user entry may include a document entry, wherein the computer-implemented method 400 may further include one or more processors configured to extract document entry data from the document entry.
[0088] Further, the one or more processors may be configured to process the document entry data to determine natural language text data, wherein determining that the first user input is not within the first response domain is based at least on the natural language text data.
[0089] In an embodiment, transmitting the first entry to the second agent may correspond to an off-topic conversation flow between the first user and the second agent in the messaging dialog interface.
[0090] The computer-implemented method 400 may also be configured to transmit 410 the first user entry to the second agent to facilitate seamless transition of a communication flow established between the first agent and the first user communicating in the messaging conversation interface.
[0091] Figure 5Describes the implementation according to the present invention Figure 1 A block diagram of the components of a server computer within a distributed data processing environment.
[0092] The computing device 500 includes a communication fabric 502 that provides communication between a cache 516, memory 506, persistent storage 508, a communication unit 510, and an input / output (I / O) interface 512. The communication fabric 502 can be implemented using any architecture designed to transfer data and / or control information between a processor (such as a microprocessor, a communications and network processor, etc.), system memory, peripheral devices, and any other hardware components within the system. For example, the communication fabric 502 can be implemented using one or more buses or crossbar switches.
[0093] Memory 506 and persistent storage 508 are computer-readable storage media. In this embodiment, memory 506 includes random access memory (RAM). In general, memory 506 can include any suitable volatile or non-volatile computer-readable storage media. Cache 516 is a fast memory that enhances the performance of computer processor 504 by storing recently accessed data and data that is about to be accessed from memory 506.
[0094] Programs may be stored in persistent storage 508 and memory 506 for execution and / or access by one or more corresponding computer processors 504 via cache 516. In an embodiment, persistent storage 508 comprises a magnetic hard drive. Alternatively, or in addition to the magnetic hard drive, persistent storage 508 may comprise a solid-state drive, a semiconductor memory device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0095] The media used by persistent storage 508 also may be removable. For example, a removable hard drive may be used for persistent storage 508. Other examples include optical and magnetic disks, thumb drives, and smart cards, which are inserted into a drive for transfer to another computer-readable storage medium that is also part of persistent storage 508.
[0096] In these examples, communications unit 510 provides for communications with other data processing systems or devices. In these examples, communications unit 510 includes one or more network interface cards. Communications unit 510 may provide for communications using either or both physical and wireless communication links. Programs as described herein may be downloaded to persistent storage 508 via communications unit 510.
[0097] The I / O interface 512 allows for input and output of data with other devices that may be connected to the user device 120. For example, the I / O interface 512 may provide a connection to an external device 518, such as an image sensor, a keyboard, a keypad, a touch screen, and / or some other suitable input device. The external device 518 may also include a portable computer-readable storage medium, such as, for example, a thumb drive, a portable optical or magnetic disk, and a memory card. Software and data 514 for implementing embodiments of the present invention may be stored on such a portable computer-readable storage medium and may be loaded into the persistent memory 508 via the I / O interface 512. The I / O interface 512 is also connected to a display 520.
[0098] Display 520 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.
[0099] The software and data 514 described herein are identified based on the application for which they are implemented in a specific embodiment of the invention. However, it should be understood that any specific programming terminology used herein is used for convenience only, and thus the present invention should not be limited to use solely in any specific application identified and / or implied by such terminology.
[0100] The programs described herein are identified based on the application in which they are implemented in a specific embodiment of the invention. However, it should be understood that any specific program terminology herein is used for convenience only, and thus the present invention should not be limited to use only in any specific application identified and / or implied by such terminology.
[0101] The present invention may be a computer system, a computer-implemented method, and / or a computer program product. The computer program product may include a computer-readable storage medium (or multiple media) having computer-readable program instructions thereon for causing a processor to perform aspects of the present invention.
[0102] Computer readable storage medium can be any tangible device that can retain and store the instruction used by the instruction execution device.Computer readable storage medium can be, for example but not limited to, electronic storage device, magnetic storage device, optical storage device, electromagnetic storage device, semiconductor storage device or any suitable combination of the above.The non-exhaustive list of more specific examples of computer readable storage medium includes the following items: portable computer disk, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device such as punch card or the protrusion structure in the groove with the instruction recorded thereon and any suitable combination of the above.Computer readable storage medium as used herein should not be interpreted as transient signal itself, such as radio wave or other free propagating electromagnetic wave, electromagnetic wave propagated by waveguide or other transmission media (for example, light pulse passing through fiber optic cable) or electric signal emitted by wire.
[0103] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network), or downloaded to an external computer or external storage device. The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium within the corresponding computing / processing device.
[0104] The computer-readable program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data or source code or the object code written in any combination of one or more programming languages, these programming languages include object-oriented programming languages (such as, Smalltalk, C++ etc.) and conventional procedural programming languages (such as, " C " programming languages or similar programming languages). The computer-readable program instructions can be performed completely on the user's computer, partly on the user's computer, performed as an independent software package, partly on the user's computer, partly on a remote computer or fully on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer by any type of network (including local area network (LAN) or wide area network (WAN)), or can be connected to an external computer (for example, using an internet service provider to pass through the internet). In certain embodiments, the electronic circuit comprising for example programmable logic circuit, field programmable gate array (FPGA) or programmable logic array (PLA) can make the electronic circuit personalized to perform computer-readable program instructions by utilizing the state information of computer-readable program instructions, so as to perform various aspects of the present invention.
[0105] The present invention will be described below with reference to flowcharts and / or block diagrams of computer-implemented methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.
[0106] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device create a device for implementing the functions / actions specified in the flowchart and / or block diagram or multiple blocks. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable storage medium having the instructions stored therein includes an article of manufacture containing instructions that implement aspects of the functions / actions specified in the flowchart and / or block diagram or multiple blocks.
[0107] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operational steps are performed on the computer, other programmable apparatus, or other device to produce computer-implemented processing, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in the flowchart and / or block diagram or multiple boxes.
[0108] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functions and operations of possible implementations of the systems, methods and computer program products according to different embodiments of the present invention. To this end, each box in the flowchart or block diagram may represent a module, a fragment or a portion of an instruction comprising one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions annotated in the box may not occur in the order annotated in the figure. For example, depending on the functions involved, two blocks shown in succession may actually be executed substantially simultaneously, or the blocks may sometimes be executed in the opposite order. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, may be implemented using a dedicated hardware-based system that performs a specified function or action or performs a combination of dedicated hardware and computer instructions.
[0109] The description of various implementations of the present invention has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the invention. The terminology used herein is selected to best explain the principles of the embodiments, practical applications, or technical improvements over technologies found in the marketplace, or to enable those skilled in the art to understand the embodiments disclosed herein.
Claims
1. A computer-implemented method for improving intent determination in a messaging dialog manager system, the computer-implemented method comprising: Receiving, by one or more processors, first agent entry data corresponding to a first agent communicating in a messaging conversation interface; determining, by the one or more processors, that the first proxy entry data expects a response within a first response domain, wherein the response includes one or more categories, and a first category of the one or more categories corresponds to an expected response to the first proxy entry data, and a second category of the one or more categories corresponds to no expected response to the first proxy entry data; determining, by the one or more processors, that a first user entry entered in the messaging dialog interface is not within the first response field; identifying, by the one or more processors, a second agent configured with a second response domain including the first user entry; transmitting, by the one or more processors, the first user entry to the second agent to facilitate seamless transition of an established communication flow between the first agent and the first user; identifying, by the one or more processors, proxy text data corresponding to the natural language NL text in the first proxy entry data; identifying, by the one or more processors, user text data corresponding to a natural language (NL) utterance in the first user entry; determining, by the one or more processors, a first proxy data item subject based on the proxy text data, wherein the first response domain corresponds to the first proxy data item subject; determining, by the one or more processors, a first user entry topic based on the user text data; as well as The first proxy data entry topic is compared, by the one or more processors, to the first user entry topic to determine whether a similarity threshold is satisfied. 2 . The computer-implemented method of claim 1 , wherein determining that the first user entry is not within the first response domain is based at least on determining that the similarity threshold does not exceed a predetermined value.
3. The computer-implemented method of claim 1 , further comprising: processing the agent text data by a first trained machine learning model to generate model output data corresponding to a desired classification of responses; as well as If the response expected classification satisfies a condition, the one or more processors determine the NL text as the first proxy entry data for the expected response.
4. The computer-implemented method of claim 1 , wherein the first user entry is a document entry, the computer-implemented method further comprising: extracting, by the one or more processors, document entry data from the document entry; The document entry data is processed by the one or more processors to determine natural language text data, wherein determining that the first user entry is not within the first response domain is based at least on the natural language text data.
5. The computer-implemented method of claim 1, wherein transmitting the first user entry to the second agent corresponds to an off-topic conversation flow between the first user and the second agent in the messaging dialog interface.
6. The computer-implemented method of claim 1 , wherein determining that the first proxy entry expects the response further comprises: appending, by the one or more processors, a part-of-speech (POS) tag to one or more words in the NL text to generate tagged NL text data; The one or more processors encode the proxy text data into sentence embeddings having 768 or fewer dimensions.
7. The computer-implemented method of claim 6, wherein determining that the first proxy entry expects the response further comprises: processing the labeled NL text data and the sentence embedding by a second trained machine learning model to generate model output data corresponding to a desired classification of the response; as well as If the response expected classification satisfies a condition, the one or more processors determine the NL text as the first proxy entry data for the expected response.
8. A computer program product for improving intent determination in a messaging dialog manager system, the computer program product comprising: Program instructions, wherein the program instructions are executable by a processor to enable the processor to perform the method according to any one of claims 1 to 7.
9. A computer system for improving intent determination in a messaging dialog manager system, the computer system comprising: one or more computer processors; One or more computer-readable storage media are coupled to the processor, the computer-readable storage media comprising instructions, which when executed by the processor perform the method of any one of claims 1 to 7.
Citation Information
Patent Citations
Method and system for direct communications between a customer and a merchant salesperson
US20190279267A1
System and method for managing communication system
US20190306252A1