Techniques for noise data augmentation for training chatbot systems in natural language processing. In one particular aspect, a method is provided that includes receiving a training set of utterances for training an intent classifier to identify one or more intents for one or more utterances; augmenting the training set of utterances with noise text to generate an augmented training set of utterances; and training the intent classifier using the augmented training set of utterances. The augmenting includes: obtaining the noise text from a list of words, a text corpus, a publication, a dictionary, or any combination thereof irrelevant of original text within the utterances of the training set of utterances, and incorporating the noise text within the utterances relative to the original text in the utterances of the training set of utterances at a predefined augmentation ratio to generate augmented utterances.
Drawings
Claims3
A method for training an intent classifier, the method comprising:
receiving, at a data processing system, a training set of utterances for training the intent classifier to identify one or more intents for one or more utterances;
augmenting, by the data processing system, the training set of utterances with noise text to generate an augmented training set of utterances, wherein the augmenting comprises:
obtaining the noise text from a list of words, a text corpus, a publication, a dictionary, or any combination thereof irrelevant of original text within utterances of the training set of utterances, wherein the noise text is random strings of text or sentences of text automatically generated or copied from the list of words, the text corpus, the publication, the dictionary, or any combination with or without consideration of frequencies of words or characters selected for the random strings of text or sentences of text, and
incorporating, using one or more noise augmentation operations, the noise text within the utterances positionally relative to the original text in the utterances of the training set of utterances at a predefined augmentation ratio of 1:0.5 to 1:5 to artificially generate augmented utterances, wherein the one or more noise augmentation operations cause the noise text to be incorporated:
(i) in front of the original text within the utterances, (ii) after the original text of the utterances, (iii) flanking the original text of the utterances, (iv) integrated within the original text of the utterances, (v) or a combination thereof;
and
training, by the data processing system, the intent classifier using the augmented training set of utterances.
4 more elements
A system comprising:
one or more data processors;
and
a non-transitory computer readable storage medium containing instructions which, when executed on the one or more data processors, cause the one or more data processors to perform actions including:
receiving a training set of utterances for training an intent classifier to identify one or more intents for one or more utterances;
augmenting the training set of utterances with noise text to generate an augmented training set of utterances, wherein the augmenting comprises:
obtaining the noise text from a list of words, a text corpus, a publication, a dictionary, or any combination thereof irrelevant of original text within utterances of the training set of utterances, wherein the noise text is random strings of text or sentences of text automatically generated or copied from the list of words, the text corpus, the publication, the dictionary, or any combination with or without consideration of frequencies of words or characters selected for the random strings of text or sentences of text, and
incorporating, using one or more noise augmentation operations, the noise text within the utterances positionally relative to the original text in the utterances of the training set of utterances at a predefined augmentation ratio of 1:0.5 to 1:5 to artificially generate augmented utterances, wherein the one or more noise augmentation operations cause the noise text to be incorporated:
(i) in front of the original text within the utterances, (ii) after the original text of the utterances, (iii) flanking the original text of the utterances, (iv) integrated within the original text of the utterances, (v) or a combination thereof;
and
training the intent classifier using the augmented training set of utterances.
7 more elements
A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause one or more data processors to perform actions including:
receiving a training set of utterances for training an intent classifier to identify one or more intents for one or more utterances;
augmenting the training set of utterances with noise text to generate an augmented training set of utterances, wherein the augmenting comprises:
obtaining the noise text from a list of words, a text corpus, a publication, a dictionary, or any combination thereof irrelevant of original text within utterances of the training set of utterances, wherein the noise text is random strings of text or sentences of text automatically generated or copied from the list of words, the text corpus, the publication, the dictionary, or any combination with or without consideration of frequencies of words or characters selected for the random strings of text or sentences of text, and
incorporating, using one or more noise augmentation operations, the noise text within the utterances positionally relative to the original text in the utterances of the training set of utterances at a predefined augmentation ratio of 1:0.5 to 1:5 to artificially generate augmented utterances, wherein the one or more noise augmentation operations cause the noise text to be incorporated:
(i) in front of the original text within the utterances, (ii) after the original text of the utterances, (iii) flanking the original text of the utterances, (iv) integrated within the original text of the utterances, (v) or a combination thereof;
and
training the intent classifier using the augmented training set of utterances.
17/016,117Filed 9 Sep 2020 · us provisional application
Priority
30 Mar 2020
Published
US 2021/0304733 A130 Sep 2021
Granted
27 Dec 2022
Term ends
21 Feb 2041Estimated · howhide20 years from earliest known nonprovisional domestic filing plus recorded patent term adjustment, including 165 days of adjustment. Maintenance-fee lapses, terminal disclaimers and statutory extensions have not been checked. The continuity chain may be incomplete; this is not an enforceability determination.
Semantic analysis: discourse or dialogue representation
Life of this patent
About 14 years 4 months of term left · ends 21 Feb 2041 (estimated)
Priority30 Mar 2020
Filed9 Sep 2020
Granted27 Dec 2022
Today12 Oct 2026
Term ends21 Feb 2041
Priority30 Mar 2020
Granted27 Dec 2022
Term ends21 Feb 2041
Priority claimedParent application 63/002,066
Application filedUS 17/016,117
Assigned to Oracle International Corporationassignment of assignor's interest
PublishedUS 2021/0304733 A1
GrantedUS 11,538,457 B2
TodayWithin its term
Term endsEstimated, includes 165 days of adjustment
Description24,891 words
Summary1,361 words
#The present disclosure relates generally to chatbot systems, and more particularly, to techniques for noise data augmentation for training chatbot systems in natural language processing.
#Many users around the world are on instant messaging or chat platforms in order to get instant reaction. Organizations often use these instant messaging or chat platforms to engage with customers (or end users) in live conversations. However, it can be very costly for organizations to employ service people to engage in live communication with customers or end users. Chatbots or bots have begun to be developed to simulate conversations with end users, especially over the Internet. End users can communicate with bots through messaging apps that the end users have already installed and used. An intelligent bot, generally powered by artificial intelligence (AI), can communicate more intelligently and contextually in live conversations, and thus may allow for a more natural conversation between the bot and the end users for improved conversational experience. Instead of the end user learning a fixed set of keywords or commands that the bot knows how to respond to, an intelligent bot may be able to understand the end user's intention based upon user utterances in natural language and respond accordingly.
#However, chatbots are difficult to build because these automated solutions require specific knowledge in certain fields and the application of certain techniques that may be solely within the capabilities of specialized developers. As part of building such chatbots, a developer may first understand the needs of enterprises and end users. The developer may then analyze and make decisions related to, for example, selecting data sets to be used for the analysis, preparing the input data sets for analysis (e.g., cleansing the data, extracting, formatting, and/or transforming the data prior to analysis, performing data features engineering, etc.), identifying an appropriate machine learning (ML) technique(s) or model(s) for performing the analysis, and improving the technique or model to improve results/outcomes based upon feedback. The task of identifying an appropriate model may include developing multiple models, possibly in parallel, iteratively testing and experimenting with these models, before identifying a particular model (or models) for use. Further, supervised learning-based solutions typically involve a training phase, followed by an application (i.e., inference) phase, and iterative loops between the training phase and the application phase. The developer may be responsible for carefully implementing and monitoring these phases to achieve optimal solutions. For example, to train the ML technique(s) or model(s), precise training data is required to enable the algorithms to understand and learn certain patterns or features (e.g., for chatbots—intent extraction and careful syntactic analysis, not just raw language processing) that the ML technique(s) or model(s) will use to predict the outcome desired (e.g., inference of an intent from an utterance). In order to ensure the ML technique(s) or model(s) learn these pattern and features properly, the developer may be responsible for selecting, enriching, and optimizing sets of training data for the ML technique(s) or model(s).
Brief description of the drawings8 figures
#FIG. 1 is a simplified block diagram of a distributed environment incorporating an exemplary embodiment.
#FIG. 2 is a simplified block diagram of a computing system implementing a master bot according to certain embodiments.
#FIG. 3 is a simplified block diagram of a computing system implementing a skill bot according to certain embodiments.
Detailed description23,370 words
#In the following description, for the purposes of explanation, specific details are set forth in order to provide a thorough understanding of certain embodiments. However, it will be apparent that various embodiments may be practiced without these specific details. The figures and description are not intended to be restrictive. The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs.
#A digital assistant is an artificial intelligent driven interface that helps users accomplish a variety of tasks in natural language conversations. For each digital assistant, a customer may assemble one or more skills. Skills (also described herein as chatbots, bots, or skill bots) are individual bots that are focused on specific types of tasks, such as tracking inventory, submitting time cards, and creating expense reports. When an end user engages with the digital assistant, the digital assistant evaluates the end user input and routes the conversation to and from the appropriate chatbot. The digital assistant can be made available to end users through a variety of channels such as FACEBOOK® Messenger, SKYPE MOBILE® messenger, or a Short Message Service (SMS). Channels carry the chat back and forth from end users on various messaging platforms to the digital assistant and its various chatbots. The channels may also support user agent escalation, event-initiated conversations, and testing.