Customer-oriented businesses operate in a wide range of industries, including retail sales, banking, and personal services. In order to maintain a relationship with their customers, these businesses often maintain services that allow the customers to interact with a representative of the business. In the past, a business would typically provide a “customer service” telephone number that the customer could call to speak with a representative. With the advent of online communications, businesses have begun providing online “chat” interfaces, accessed by the customer through a smartphone and/or a website, that allow the customer to communicate with a representative by text messages. Businesses have utilized both telephone calls and online messaging to accommodate their customers' preferences.
Example embodiments of the present invention include a method of configuring as system for processing requests from a user such as a customer or potential customer. Text from a plurality of documents may be parsed to identify first key words present in the plurality of documents, each of the first key words being associated with a respective user intent. Tags associated with each of the plurality of documents may be generated based on the key words, each of the tags indicating a solution to at least one of the respective user requests. The plurality of documents and tags may be compiled to a solutions database. A table relating second key words to product offers may be generated, each of the second key words indicating a user event. A classifier may be configured to 1) compare a user request against the solutions database to identify a selection of the plurality of documents, and 2) compare the user request against the table to determine a selection of the product offers.
In further embodiments, a transcription engine may be configured to parse the user request to identify words matching the first key words and second key words. The transcription engine may also be configured to parse a dialog between a user and an agent to identify words matching the first key words and second key words. The table may be reconfigured based on an agent selection of the at least one of the product offers. The table may also be reconfigured based on an agent selection of the user event. The tags may be reconfigured based on agent selection of the plurality of documents.
In still further embodiments, the table may be a first table, and a second table may be generated relating a subset of the first key words and second key words to indications of sentiment of the user. The classifier may be configured to compare a word matching the subset against the second table to determine at least one of the indications of sentiment. The tables may be reconfigured based on an agent selection of the indications of sentiment. A user interface may be configured to present, to the agent, a ranked list of the indications of sentiment based on the user request and the table. The user interface may be further configured to present, to the agent, the selection of the plurality of documents and the selection of the product offers, as well as a ranked list of user events based on the user request and the table.
Further embodiments may include a system for processing user requests. A solutions database may be configured to store a plurality of documents and associated tags, each of the tags indicating a solution to at least one of the respective user requests. An intent classifier may be configured to 1) parse a user request to identify first key words, 2) determine a user intent based on the first key words, and 3) retrieve a selection of the plurality of documents based on the user intent and, optionally, the first key words or other language of the user request. An offers database may be configured to store a table relating events and product offers. An event classifier may be configured to 1) parse the user request to identify second key words, 2) compare the second key words against the offers database, and 3) based on the comparison, determine a selection of the product offers. An agent interface may be configured to present, to an agent in communication with a user, the selection of the plurality of documents and the selection of the product offers.
The foregoing will be apparent from the following more particular description of example embodiments, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments.
A description of example embodiments follows. The teachings of all patents, published applications and references cited herein are incorporated by reference in their entirety.
In some customer contact centers, the agent handling customer requests must manually interpret the customer's question and find a knowledge base entry to help answer the query. Examples of a knowledge base entry could be an article listing troubleshooting questions, or a form for the agent to work with the customer to fill out (e.g., a create new account form). However, the agent at the contact center looking up articles and forms can create lengthy pauses for the customer, which is undesirable. Further, in a video chat, for example, the agent also must divert his attention from the customer to perform the search, which can create an undesirable experience for the customer.
In an example embodiment, a contact center virtual assistant automatically interprets the input (e.g., voice call, text based chat, video chat, or email) of a user, who may be a customer or a potential customer. The virtual assistant, based on its interpretation, performs a search of knowledge bases (e.g., databases in a memory or hard disk) and presents the agent with one or more articles or forms that are likely to assist in the user interaction. The virtual assistant then presents either the article or form to the agent or a list of articles or forms for the agent from which to choose. In this manner, the agent can forgo performing a search because the system has automatically done so. The virtual assistant can also interpret the user's input, as well as a dialog with the agent, to determine the user's sentiment, as well as whether the user is experiencing any life events that would raise the opportunity for any other products or services. Based on the identified life events and sentiments, the virtual assistant can also present the agent with information on products or services, to which the agent can refer when upselling the user for additional products or services. As a result, the virtual assistant 1) increases agent efficiency, 2) reduces agent training required for effective upselling, 3) reduces the time required to resolve a user inquiry, and 4) increases user satisfaction with the contact center experience.
When the user 106 wishes to engage with the user service provided by the enterprise (e.g., the user 106 has a question about his/her account, wishes to update his/her account, or submits an order for a product or service from the enterprise), the user 106 submits a request 107 through the interface 105, and the network 108 routes the request 107 to the server 120. The request 107 may be submitted by the user 106 may be embodied in a text message typed by the user, an utterance spoken by the user 106 in a telephone call or other voice interface, a menu selection, or a comparable medium.
The server 120 may be configured generally to process a user request in the following manner. First, a transcription engine 110 receives the request 107 and/or a dialog between the user 106 and the agent 131, and generates a transcription of the request and/or dialog. The transcription engine 110 may then forward this transcription to the agent desktop 130 where it may be displayed to the agent 131, and forwards the transcription to classifiers 140. The classifiers 140 operate to identify key words from the request 107 or dialog in order to classify the request 107 according to multiple classifications. For example, the classifiers 140 may classify the request by matching it to one of a number of given intents (e.g., “check balance,” “issue travel notification,” or “update contact information”). If the request 107 can be classified to an intent, then the server 120 may access a solutions database 152 to retrieve articles, instructions, forms, templates, and/or other materials related to solving that request 107. Those materials may be compiled from a larger enterprise database 162. The classifiers 140 (or the solutions database 152) may then forward the materials to the agent desktop 130 where it is displayed for access by the agent 131.
The classifiers 140 may also classify the request 107 to determine additional information about the user 106. For example, the user 106, when making the request 107, may mention a notable event in the user's life, such as a marriage, a new business, or a newborn. Such events may give rise to a need or desire for other products or services that are offered by the enterprise. In order to assist the agent 131 in offering/upselling those products/services to the user 106, the classifiers 140 may access an offers database 154 to retrieve one or more offers for products/services based on the classified life event(s). The classifiers 140 may also estimate the user's sentiment based the life event(s) and/or keywords from the request 107 and/or dialog. By gauging the user's sentiment, the classifiers 140 can also provide a recommendation to the agent 131 regarding whether the user is receptive to an offer for additional products or services. The classifiers 140 may also forward the classified intent, life event(s) and sentiment to the agent desktop 130 for reference by the agent 131.
A database manager 160 may operate to configure the solutions database 152 and/or offers database 154, for example by populating and maintaining entries within each database. In an example embodiment, the database manager 160 may search documents in an external database (e.g., enterprise database 162) for documents relevant for resolving a range of user requests. The database manager 160 may generate tags associated with each of the documents based a collection of key words of prospective user requests. The documents may then be tagged according to relevant key words, relevant intent, and/or relevant solutions, and the tagged documents may be compiled to the solutions database 152. The database manager 160 may also search documents regarding product/service offers, tag those documents according to relevant offers, user life events and/or sentiments, and compile those tagged documents to the offers database 154. The database manager 160 may perform such compiling and/or tagging in accordance with a table relating key words, solutions and/or offers, as described below with reference to
The classifiers 140 receive the transcription and parse it to identify key words of the request and/or dialog. Those key words may be grouped into two or more sets depending on their use by different classifiers (e.g., classifiers 142, 144, 146), and each key word may be included in more than one set. The intent classifier 146 may utilize a first set of key words to identify the intent of the request (e.g., a question about the user's account, a request to update his/her account, an order for a product or service from the enterprise) (410). Once the intent is identified, the intent classifier 146 (or, alternatively, the database manager 160 or other controller) may search the solutions database 152 for documents relevant to solving the user request (e.g., articles, instructions, forms, templates). Such documents may be identified based on a one or more tags assigned to each document in the database 152, where such tags may indicate a corresponding intent, key word(s), or both. The classifier 146 (or a database controller) may then retrieve the identified documents from the database 152 (415), and forward them to the agent terminal 130 for presentation to the agent 131 (418). At this stage, the agent's user interface may resemble the user interface 300 shown in
The event classifier 142 may utilize a second set of key words to identify any notable events associated with the user 106 (e.g., marriage, a new business, a new job, a newborn) (420). Once the event(s) is identified, the event classifier 142 (or the database manager 160 or other controller) may search the offers database 154 for information regarding offers for products or services that may be of interest to the user in view of the identified events. Such offers may be identified based on a one or more tags assigned to each offer in the database 152, where such tags may indicate a corresponding event, key word(s), or both. Alternatively, the offers may be identified based on a table relating the offers, events and/or keywords (see, e.g., the table of
In parallel with identifying the events and presenting offers, the sentiment classifier 144 may utilize a third set of key words (which may be identical to, or share common words with, the first or second sets of key words) to estimate the user's sentiment. This sentiment may be utilized to inform a recommendation regarding the offered products or services. For example, if the sentiment classifier 144 detects a positive sentiments (e.g., pleased or excited), indicating greater receptiveness to an upsell, then the agent terminal 130 may present a stronger recommendation to offer particular products/services, or may present a larger number of products/services to offer. Alternatively, if the sentiment classifier detects a negative sentiment, then the agent terminal 130 may present a recommendation against an upsell, or may present an offer for a product/service relating to a life event that may be associated with the negative sentiment. For example, if the sentiment classifier 144 detects a negative sentiment, and the event classifier identifies a recent job loss by the user, then the terminal 130 may display a targeted menu of offers that may assist the user in managing his/her unemployment. The sentiments may be identified based on a table relating the sentiments and keywords (see, e.g., the table of
The agent terminal 130 may also display the direct results of one or more of the classifiers 142, 144, 146 (430). For example, as shown in
Based on a combination of some or all of the above sources, the database manager 160 generates and/or updates the tagged documents 580 for storage at the solutions database 152. For example, the intent classifications 505 and key words 506 may be compiled in a table that is programmed by a user (e.g., an agent or enterprise manager), and the database manager 160 may search the solutions documents 504 to identify matching key words. Based on such identification, the database manager may tag those documents 504 with corresponding tags identifying one or more intent classifications 505 and/or key words 506, resulting in the tagged documents 580. Alternatively, instead of compiling tagged documents, the database manager 160 may configure the solutions database 152 for retrieval of documents via a table, an index, pointers, or another relational structure. The process 500 and/or the solutions database 152 may incorporate one or more features as described in US Patent Applications 2016/0179934A1, 2016/0180217A1, and 2017/0032027A1, the entire teachings of which are incorporated herein by reference.
Based on a combination of some or all of the above sources, the database manager 160 generates and/or updates the tagged offers 680 for storage at the offers database 154. For example, the event classifications 605 and key words 606 may be compiled in a table that is programmed by a user (e.g., an agent or enterprise manager), and the database manager 160 may search the product documents 604 to identify matching key words. Based on such identification, the database manager 160 may tag those offers 604 with corresponding tags identifying one or more event classifications 605 and/or key words 606, resulting in the tagged documents 680. Alternatively, the database manager may configure the offers database 154 to include a table, such as the table of
Embodiments described above, with reference to
In one embodiment, the processor routines 92 and data 94 are a computer program product (generally referenced 92), including a computer readable medium (e.g., a removable storage medium such as one or more DVD-ROM's, CD-ROM's, diskettes, tapes, etc.) that provides at least a portion of the software instructions for the invention system. Computer program product 92 can be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the software instructions may also be downloaded over a cable, communication and/or wireless connection. In other embodiments, the invention programs are a computer program propagated signal product embodied on a propagated signal on a propagation medium (e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)). Such carrier medium or signals provide at least a portion of the software instructions for the present invention routines/program 92.
While example embodiments have been particularly shown and described, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the embodiments encompassed by the appended claims.