Updating natural language interfaces by processing usage data
First Claim
1. A system for implementing natural language interfaces to allow customers to interact with companies, the system comprising:
- at least one server computer comprising at least one processor and at least one memory, the at least one server computer configured to;
receive a configuration for a natural language interface for a company, wherein the configuration includes a list of intents;
deploy the natural language interface using the configuration, wherein the natural language interface is used by customers of the company;
collect usage data for the natural language interface, wherein the usage data comprises a plurality of interactions, and wherein each interaction comprises a message received from one of a plurality of customers and an intent selected by the natural language interface;
analyze the usage data by;
obtaining a first set of interactions from the usage data, wherein the first set of interactions corresponds to a first intent of the list of intents,clustering messages of the first set of interactions into a plurality of clusters, andobtaining a prototype message for each cluster of the plurality of clusters, wherein each prototype message comprises an example message representing a corresponding cluster;
present information about the plurality of clusters, the information comprising the prototype message for each cluster of the plurality of clusters;
receive an input to (i) create a new intent using a first cluster of the plurality of clusters or (ii) move the first cluster of the plurality of clusters to a second intent of the list of intents;
update the configuration using the received input;
deploy an updated natural language interface using the updated configuration.
1 Assignment
0 Petitions
Accused Products
Abstract
A third-party company may assist companies in providing natural language interfaces for their customers. To implement a natural language interface for a company, a configuration may be received that includes information, such as a list intents, seed messages for the intents, and hierarchical information of the intents. An intent classifier may be trained using the configuration, and the natural language interface may be deployed for use with customers. Usage data of the natural language classifier may be collected and used to improve the natural language interface. Messages corresponding to an intent may be clustered into clusters of similar messages, and a prototype message may be obtained for each cluster to provide a human understandable description of the cluster. The information about the clusters may be used to improve the natural language interface, such as by creating a new intent with a cluster or moving a cluster to a different intent.
96 Citations
20 Claims
-
1. A system for implementing natural language interfaces to allow customers to interact with companies, the system comprising:
-
at least one server computer comprising at least one processor and at least one memory, the at least one server computer configured to; receive a configuration for a natural language interface for a company, wherein the configuration includes a list of intents; deploy the natural language interface using the configuration, wherein the natural language interface is used by customers of the company; collect usage data for the natural language interface, wherein the usage data comprises a plurality of interactions, and wherein each interaction comprises a message received from one of a plurality of customers and an intent selected by the natural language interface; analyze the usage data by; obtaining a first set of interactions from the usage data, wherein the first set of interactions corresponds to a first intent of the list of intents, clustering messages of the first set of interactions into a plurality of clusters, and obtaining a prototype message for each cluster of the plurality of clusters, wherein each prototype message comprises an example message representing a corresponding cluster; present information about the plurality of clusters, the information comprising the prototype message for each cluster of the plurality of clusters; receive an input to (i) create a new intent using a first cluster of the plurality of clusters or (ii) move the first cluster of the plurality of clusters to a second intent of the list of intents; update the configuration using the received input; deploy an updated natural language interface using the updated configuration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for implementing natural language interfaces to allow customers to interact with companies, the method comprising:
-
receiving a configuration for a natural language interface for a company, wherein the configuration includes a list of intents; deploying the natural language interface using the configuration, wherein the natural language interface is used by customers of the company; collecting usage data for the natural language interface, wherein the usage data comprises a plurality of interactions, and wherein each interaction comprises a message received from one of a plurality of customers, and an intent selected by the natural language interface; analyzing the usage data by; obtaining a first set of interactions from the usage data, wherein the first set of interactions corresponds to a first intent of the list of intents, clustering messages of the first set of interactions into a plurality of clusters, and obtaining a prototype message for each cluster of the plurality of clusters, wherein each prototype message comprises an example message representing a corresponding cluster; presenting information about the plurality of clusters, the information comprising the prototype message for each cluster of the plurality of clusters; receiving an input to (i) create a new intent using a first cluster of the plurality of clusters or (ii) move the first cluster of the plurality of clusters to a second intent of the list of intents; updating the configuration using the received input; deploying an updated natural language interface using the updated configuration. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. One or more non-transitory computer-readable media comprising computer executable instructions that, when executed, cause at least one processor to perform actions comprising:
-
receiving a configuration for a natural language interface for a company, wherein the configuration includes a list of intents; deploying the natural language interface using the configuration, wherein the natural language interface is used by customers of the company; collecting usage data for the natural language interface, wherein the usage data comprises a plurality of interactions, and wherein each interaction comprises a message received from one of a plurality of customers, and an intent selected by the natural language interface; analyzing the usage data by; obtaining a first set of interactions from the usage data, wherein the first set of interactions corresponds to a first intent of the list of intents, clustering messages of the first set of interactions into a plurality of clusters, and obtaining a prototype message for each cluster of the plurality of clusters, wherein each prototype message comprises an example message representing a corresponding cluster; presenting information about the plurality of clusters, the information comprising the prototype message for each cluster of the plurality of clusters; receiving an input to (i) create a new intent using a first cluster of the plurality of clusters or (ii) move the first cluster of the plurality of clusters to a second intent of the list of intents; updating the configuration using the received input; deploying an updated natural language interface using the updated configuration. - View Dependent Claims (18, 19, 20)
-
Specification