This application claims the priority of International Application Serial No. PCT/ES2019/070703, filed on Oct. 16, 2019. The entire disclosure of which is incorporated by reference herein.

FIELD

The present disclosure relates to techniques to automatically train a chatbot using utterances not understood by the chatbot itself and thus improve its understanding in a fast, effective and unsupervised way.

BACKGROUND

Current state-of-the-art dialogue systems based on machine learning methods require a lot of manually labelled information to work with a high accuracy rate. This human resource makes the development of these systems slow and expensive. Many small projects are not viable for this reason.

Work has been carried out with a focus on minimizing this human effort by introducing diverse supervised or semi-supervised approaches. The methods described by Tur et. al. in Active learning for spoken language understanding, In 2003 IEEE International Conference on Acoustics, Speech, and Signal Processing, 2003. Proceedings (ICASSP'03). IEEE, 2003 uses the confidence score of a pretrained classifier to reduce the amount of data to be reviewed by annotators in the labelling phase. This disclosure also uses confidence scores for updating the intents, but it does this during system deployment, not in a post-processing phase, and using an unsupervised approach.

U.S. Patent Publication No. 2004/0111253 uses automatic clustering methods to reduce the amount of information to be reviewed by human annotators. However, it still needs annotators for retraining, therefore it is not an unsupervised method.

Another approach uses the semantic web for unsupervised training of a natural language understanding module. It collects structured data from pages like www.freebase.com. This solution might work well with a generic conversation chatbot, but not with a domain specific customer-oriented chatbot. Customer-oriented chatbots require training with domain knowledge.

Asking for a confirmation from the user when confidence is low is another well-known method for training a dialogue system. This method allows retraining of a classifier that is in use, but it is limited to updating existing intents. It cannot create new intents.

The method proposed in this disclosure allows not only unsupervised updating of existing intents, but, unlike previous methods, it allows the creation of new ones including the modification of the dialogue manager to incorporate these intents and new responses (obtained by automatically guiding human agents), during the conversation with the user.

This section provides background information related to the present disclosure which is not necessarily prior art.

SUMMARY

This section provides a general summary of the disclosure, and is not a comprehensive disclosure of its full scope or all of its features.

Different unsupervised techniques are presented for training a dialogue system. In one aspect, the training technique includes: receiving a first utterance from a user, where the first utterance represents a request from the user; determining a first intent which corresponds to the first utterance, where the first intent has a confidence value and the confidence value indicates the likelihood that the meaning of the first utterance corresponds to the intent; comparing the confidence value for the first intent against a threshold; responding to the user in response to a determination that the confidence value for the first intent is greater than the threshold; prompting, via a dialogue manager, the user to repeat the request in response to a determination that the confidence value for the first intent is below the threshold; receiving a second utterance from the user; determining a second intent which corresponds to the second utterance, where the second intent has a confidence value and the confidence value indicates the likelihood that the meaning of the second utterance corresponds to the intent; comparing the confidence value for the second intent to the threshold; comparing the first intent to the second intent in response to a determination that the confidence value for the second intent exceeds the threshold; and updating a database used by the natural language processor with the first utterance, where the database is updated in response to a determination that the confidence value for the second intent exceeds the threshold and in response to the first intent matching the second intent.

In one embodiment, the first intent is determined by determining one or more intents which correspond to the first utterance, where each of the one or more intents has a confidence value and the confidence value indicates the likelihood that the meaning of the first utterance corresponds to the intent; and identifying the first intent from the one or more intents which correspond to the first utterance, where the first intent has the highest confidence value amongst the one or more intents which correspond to the first utterance.

Similarly, the second intent is determined by identifying one or more intents which correspond to the second utterance, where each of the one or more intents has a confidence value, and the confidence value indicates the likelihood that the meaning of the second utterance corresponds to the intent; and identifying a second intent from the one or more intents which correspond to the second utterance, where the second intent has the highest confidence value amongst the one or more intents which correspond to the second utterance.

The training technique may further include: suggesting a response to the user in response to a determination that the confidence value for the second intent is below the threshold. The response is suggested to the user by computing scores for possible intents, where the score for a given intent is a function of the confidence value associated with the given intent and a probability of appearance for the given intent in the conversation; selecting an intent with the highest score from the possible intents; and formulating a response using the selected intent. When the user accepts the suggested response, the selected intent in the database used by the natural language processor is updated with the first utterance. When the user does not accept the suggested response, the user is transferred to a person by the dialogue manager. The person may be selected from a pool of persons based on the selected intent and the user transferred to the selected person.

In another aspect, the training technique includes: receiving, via a natural language processor, a first utterance from a user, where the first utterance represents a request from the user; determining, via the natural language processor, a first intent which corresponds to the first utterance, where the first intent has a confidence value and the confidence value indicates the likelihood that the meaning of the first utterance corresponds to the intent; comparing, via the natural language processor, the confidence value for the first intent against a threshold; determining, via the natural language processor, a suggested intent based in part of the first utterance, where the determination of the suggested intent is made in response to a determination that the confidence value for the first intent is below the threshold; suggesting, via a dialogue manager, a response to the user, where response is derived from the selected intent and the response suggestion is made in response to a determination that the confidence value for the first intent is below the threshold; receiving, via the dialogue manager, a reply to the response from the user; and updating the suggested intent in a database used by the natural language processor with the first utterance when the user accepts the suggested response. When the user does not accept the suggested response, the user is transferred to a person by the dialogue manager.

In one embodiment, the first intent is determined by identifying one or more intents which correspond to the first utterance using machine learning, where each of the one or more intents has a confidence value, and the confidence value indicates the likelihood that the meaning of the first utterance corresponds to the intent; and identifying the first intent from the one or more intents which correspond to the first utterance, where the first intent has the highest confidence value amongst the one or more intents which correspond to the first utterance.

In some embodiments, a suggested intent is determined by computing scores for possible intents; and selecting an intent with the highest score from the possible intents, where the score for a given intent is a function of the confidence value associated with the given intent and a probability of appearance for the given intent in the conversation.

In other embodiments, the method may further include generating, via the dialogue manager, possible responses for the person using the first utterance and context of the first utterance in a current conversation; and presenting, via the dialogue manager, the possible responses generated to the person. Possible responses may be generated by computing scores for possible intents, where the score for a given intent is a function of the confidence value associated with the given intent and a probability of appearance for the given intent in the conversation.

In more embodiments, the method may include receiving, via the dialogue manager, an input from the person in response to the presentation of the possible responses generated; comparing, via the dialogue manager, the input to the possible responses generated; determining that the input is a selected response from the possible responses generated; identifying an intent associated with the selected response; and updating the identified intent in the database used by the natural language processor with the first utterance.

In yet another aspect, the training technique includes: connecting, via a dialogue manager, a user of the dialogue system to a person; receiving, via a dialogue manager, a first utterance from the user, where the first utterance represents a request from the user; generating, via the dialogue manager, possible responses for the person using the first utterance and context of the first utterance in a current conversation; presenting, via the dialogue manager, the possible responses generated to the person; receiving, via the dialogue manager, a new response from the person, where the new response does not match any one of the possible responses generated; and updating the model used by the dialogue manager with the new response.

The method may further include: computing, via the dialogue manager, a semantic similarity metric between the new response and responses in a model used by the dialogue manager; identifying, via the dialogue manager, a particular response in the model that is most similar to the new response; and updating, via the dialogue manager, the model used by the dialogue manager with the new response when the semantic similarity metric between the new response and the particular response is below a maximum threshold and exceeds a minimum threshold.

The method may also include: determining, by a natural language processor, a first intent which corresponds to the first utterance, where the first intent has a confidence value and the confidence value indicates the likelihood that the meaning of the first utterance corresponds to the intent; comparing, via the natural language processor, the confidence value for the first intent against a threshold; and connecting, via the dialogue manager, the user to a person in response to a determination that the confidence value for the first intent is below the threshold.

In one embodiment, the dialogue manager responds to the user in response to a determination that the confidence value for the first intent exceeds the threshold.

In some embodiments, possible responses are generated by computing scores for possible intents, where the score for a given intent is a function of the confidence value associated with the given intent and a probability of appearance for the given intent in the conversation.

In other embodiments, when the new response matches one of the possible responses generated, the model used by the dialogue manager is updated by the dialogue manager.

Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended merely for illustration purposes and are not intended to limit the scope of the present disclosure.

