Script-based information retrieval

One implementation provides a method for providing a solution to a problem durring an interaction. In this implementation, the method includes displaying to the user a first question and possible answers to the first question in a graphical user interface (GUI) upon identification of the problem. Each possible answer to the first question is associated with an electronic document stored in a first knowledge base. The method further includes receiving input from the user selecting one of the displayed answers to the first question during the interaction. In response to receiving this input, a name of the electronic document is displayed within the GUI. The electronic document whose name is displayed is associated with the selected answer to the first question and that provides a solution to the problem.

TECHNICAL FIELD

This description relates to script-based information retrieval in computing systems.

BACKGROUND

In today's business society, customer relations and customer satisfaction are critical for successful and profitable operations. Customers are purchasing various products and services from a variety of providers and using various purchase means. Some customers may make their purchases in person, while others may do so over the telephone. Additionally, the increased use of the Internet as a transaction venue has increased the number of customers who make purchases online.

When customers purchase various products and services, they often have questions, concerns, or complaints that relate to their purchases. For example, a customer who has purchased a printer may have questions about how to use certain printing features, or may submit a complaint regarding a problem with their printer. A customer who has purchased service connectivity from an Internet Service Provider (ISP) may have questions about pricing options, or may have complaints concerning modem connectivity. To maximize customer satisfaction, businesses must be capable of responding quickly and effectively to customer questions, concerns, or complaints.

Many businesses employ customer care agents who are responsible for interacting with customers. These agents may interact with customers personally or over the telephone. More recently, many customer care agents engage in interactive chat sessions with customers over the Internet. These chat sessions allow agents to communicate quickly and easily with customers all over the world.

When such agents interact with customers, they often need to be able to address a wide variety of questions and provide detailed and effective answers. To do so, the agents often require additional information and/or assistance. As customer care centers have evolved, more and more customer care agents have been able to utilize on-line repositories for obtaining information. These repositories often contain valuable information relating to products and services. This information provides the agents with a means to assist their customers and provide valuable feedback.

Many of these repositories, however, contain an abundance of information. Often, customer care agents have a very difficult time sifting through these repositories to find the most pertinent and valuable information. In addition, in those situations in which businesses allow customers to directly search the repositories for answering their questions and concerns, the same issues arise—customers often cannot find what they want or the solutions they need.

SUMMARY

Various implementations are provided herein. One implementation provides a method for providing a solution to a problem during an interaction. In this implementation, the method includes displaying to the user a first question and possible answers to the first question in a graphical user interface (GUI) upon identification of the problem. Each possible answer to the first question is associated with an electronic document stored in a first knowledge base. The method further includes receiving input from the user selecting one of the displayed answers to the first question during the interaction. In response to receiving this input, a name of the electronic document is displayed within the GUI. The electronic document whose name is displayed is associated with the selected answer to the first question and that provides a solution to the problem.

DETAILED DESCRIPTION

FIG. 1is a block diagram of a system100that may be used for providing a solution to a problem conveyed by a customer to an agent during an interaction, according to one implementation. In this implementation, the customer interacts with the agent during an interactive session. For example, the customer may engage in an interactive telephone or chat session with a call-center agent to ask for help with a problem that the customer has previously identified and conveyed to the agent during the interaction. The customer uses a computing system102to interact with the agent. The agent uses a computing system106or108within an interaction center system104. During an interaction with the customer, the agent may use a script that is stored within a script repository110to assist the agent when searching for information in a knowledge repository112that can help provides a solution to the customer's problem. A script typically includes a set of predefined questions and a set of potential answers that are associated with each question. The script assists the agent in locating information within a knowledge base, such as a knowledge base114or116, contained within the knowledge repository112. When the agent provides answers to questions presented by the script, a list of search results is provided. Each result corresponds to an electronic document contained in the knowledge base114or116that provides a solution to the problem. The agent is able to pick one of the search results to retrieve a corresponding electronic document or may alternatively continue to answer additional questions presented by the script to narrow the list of results. A narrowed set of results may provide more detailed and/or tailored solutions to the problem.

InFIG. 1, the customer may interact with the agent in the interaction center system104using various different modes of communication. For example, the customer may use the computing system102to communicate with the agent in the interaction center system104by email, fax, or phone. Alternatively, the customer may engage in an interactive chat session with the agent. When using the computing system106or108, the agent is able to respond to the customer using these and other modes of communication. In one implementation, the computing systems102,106, and108contain the computing device500shown inFIG. 5. In one implementation, the customer initiates the interaction with the agent by generating a request that is sent from the computing system102to the interaction center system104. In one implementation, the interaction center system104contains a server management system (not shown) that interacts with each agent computing system106and108. In this implementation, the server management system helps manage and oversee the interaction between the customer computing system102and the agent computing systems106and108. The agent computing systems106and108may continually interact with the server management system during the course of any given interaction.

In one implementation, the knowledge bases114and116contain electronic documents and the script repository110contains scripts. Each script has a set of questions and a set of answers associated with each question, and each answer in the script is associated with one or more electronic documents contained within the knowledge base114and/or116. In one implementation, each question is a closed-ended question having a predefined number of possible answers. In one implementation, one question may be an open-ended question. However, in this implementation, the agent needs to select one of a set of predefined possible answers upon receiving feedback from the customer. The agent may select the answer that appears to match up best with the feedback received from the customer. Each predefined answer is associated with a electronic document that is contained within the knowledge base114or116and that provides a solution the problem identified by the customer.

The agent reads the questions contained within the script to the customer during the interaction. When the agent asks an individual question to the customer and obtains an answer that is registered with the computing system106or108, the computing system106or108displays to the agent the names of the electronic documents contained within the knowledge base114and/or116that are associated with the answer obtained by the agent. In this fashion, the agent is able to use the script to search for information within the knowledge repository112. The agent may obtain the answer to the question asked by waiting to receive feedback from the customer.

In one implementation, the computing systems106and108are each coupled to the script repository110within the interaction center system104. The computing systems106and108are also each coupled to the knowledge bases114and116within the knowledge repository. As such, the computing systems106and108are able to directly access both scripts within the script repository110and information within the knowledge base114and/or116. In one implementation, the script repository110is directly coupled to the knowledge bases114and116. In this implementation, the script repository110is capable of directly accessing information within the knowledge base114and/or116.

In one implementation, the interaction center system104includes a self-service system that is coupled to the computing system102using a network connection, such as an Internet connection. In this implementation, a user of the computing system102is able to use the self-service system during an interaction to obtain automated assistance in solving particular problems. The computing systems106and108are server stations in this implementation, and they are capable of interacting with the computing system102in an automated fashion. The user of the computing system102uses the self-service system by entering one or more search terms or search attributes to obtain assistance in solving a particular problem. The computing system106and/or108analyze these search terms or attributes to automatically access a script from the script repository110and sends information relating to diagnosis questions to the computing system102using the network connection. The computing system102is then capable of displaying these questions to the user in a graphical user interface (GUI). When the user selects answers to these questions, information relating to the answers is sent back to the computing system106and/or108for processing. The answers are associated with electronic documents stored in the knowledge repository112. The computing system106and/or108compiles a list of search results that is provided to the computing system102. Each result corresponds to an electronic document contained in the knowledge base114or116that provides a solution to the problem specified by the user of the computing system102. The user of the computing system102is able to pick one of the search results to retrieve a corresponding electronic document or may alternatively continue to answer additional questions presented by the script to narrow the list of results. A narrowed set of results may provide more detailed and/or tailored solutions to the problem.

FIG. 2is a diagram of a script model200, according to one implementation. Scripts that are contained within the script repository110shown inFIG. 1may conform to the format shown by the script model200. The script model200includes a set of questions, answers, and electronic document names. Each answer is associated with a given question, and each electronic document name is associated with a given answer. The electronic documents are stored within one of the knowledge bases of the knowledge repository112, such as the knowledge base114or116. In one implementation, the script model200includes copies of the electronic documents that are stored within knowledge base114or116rather than the names to these documents.

As shown inFIG. 2, the script model200includes questions202,204,206and document names210,212,214,216. The first question in the script model200is the question202. During an interactive session with a customer, an agent could ask the question202to the customer as it is displayed on the computing system106or108. Alternatively, in a self-service system, the question202is directly displayed to a user of the computing system102. The script model200shows that there are two potential answers “Answer1” and “Answer2” that are associated with the question202. In one implementation, these answers are predefined by a script administrator. In one implementation, the answers can be modified over time as a result of feedback received from customers over various different interactive sessions. In one implementation, the agent reads the question202and the potential answers “Answer1” and “Answer2” to the customer before receiving any feedback from the customer.

If the customer provides the answer “Answer2” to the question202, the document name210is displayed on the computing system106or108, according to one implementation. In one implementation that utilizes that self-service system, the answer is sent from the computing system102to the computing system106and/or108. The document name210is listed as the only search result corresponding to “Answer2”. The agent or the customer may select the document name210to obtain a copy of the corresponding document from the knowledge base114or116. To achieve this, the computing system106or108sends a direct request to the knowledge repository112.

If the customer provides the answer “Answer1” to the question202, the question204is displayed. The agent may then ask the question204to the customer during the interactive session, or the question204may alternatively be displayed to the customer on the computing system102. If the customer provides the answer “Answer3” to the question204, the document name212is displayed. The agent or the customer may select the document name212to obtain a copy of the corresponding document from the knowledge base114or116.

If the customer provides the answer “Answer4” to the question204, the question206is displayed. The agent may then ask the question206to the customer during the interactive session, or the question206may alternatively be displayed to the customer on the computing system102. If the customer provides the answer “Answer5” to the question206, the document name214is displayed. The agent or the customer may select the document name214to obtain a copy of the corresponding document from the knowledge base114or116. If, on the other hand, the customer provides the answer “Answer6” to the question206, the document name216is displayed. The agent or the customer may select the document name216to obtain a copy of the corresponding document from the knowledge base114or116.

In one implementation, each of the document names212,214, and216are displayed to the agent on the computing system106or108after the customer has provided an answer of “Answer1” to the question202. As shown inFIG. 2, each of these document names are associated with answers that depend on “Answer1” being provided in response to the question202.

In one implementation, various experts may help define the structure of the script model200. In this implementation, these experts can help determine which documents are associated with the various questions and answers in the model200. When the agent uses a script that is based upon the model200, he or she can benefit from the expert knowledge that has been incorporated into the model200.

FIG. 3is a diagram of a script300that uses the format of the script model200shown inFIG. 2. During an interaction with a customer, the agent is able to use the script300to address the customer's problem. In this example, the customer has called the agent because the customer's computer printer is not working. The customer has a one-year service plan, and has called the agent to ask for help in fixing the printer problem.

During the interaction with the customer, the script300is obtained from the script repository110and displayed to the agent on the computing system106or108. The script contains various questions302,304,306,308, and310. The agent begins using the script300by asking the customer the question302(“Does the printer display indicate that there is a paper jam?). The customer may respond by answering either “yes” or “no”. If the customer answers “yes”, the document names320relating to instructions/diagrams for fixing a paper jam are displayed to the agent on the computing system106or108. The agent may then select any one of these names to obtain a copy of the corresponding document (instructions and/or diagrams) from the knowledge repository112. The agent may then review these documents or send them to the customer to help solve the customer's problem.

If the customer answers “no”, the agent may ask the next question304(“Are any of the light-emitting diodes (LED's) blinking?”) in the script300. If the customer answers “no”, the agent may ask the next question306(“Is the cover plate locked into place?”). If the customer answers “no”, the document names322relating to instructions/diagrams for assembling the printer are displayed to the agent on the system106or108. If the customer answers “yes”, the document name324relating to contact information for a service technician is provided to the agent. The agent may either contact the service technician directly to ask for assistance or may provide the contact information to the customer.

If the customer answers “yes” to the question304, the agent is able to ask more detailed questions to determine which particular LED is blinking. The agent first asks the question308to determine if the green LED is blinking on the customer's printer. If the customer answers “yes” to the question308, the document names326relating to instructions/diagrams for replacing paper are displayed to the agent on the computing system106or108. If the customer answers “no”, the agent asks the next question310to determine if the red LED is blinking. If the customer answers “yes” to the question310, the document names330relating to instructions/diagrams for replacing toner are displayed to the agent. If, however, the customer answers “no” to the question310, the document names328relating to instructions/diagrams for changing paper types are displayed.

By using the script300, the agent is able to attempt solving the customer's problem in a diagnostic fashion. The agent is able to ask the customer a number of different questions according to the structural flow specified by the script300and thereby identify documents that are useful in addressing the customer's problem.

FIG. 4Ais a screen diagram of a window400in a graphical user interface (GUI) that may be used to specify one or more criteria to search for a script to be used during an interaction with a customer, according to one implementation. In this implementation, the window400is displayed to the agent in the GUI on the computing system106or108. In the window400, the agent is able to search for and select a script, such as the script300shown inFIG. 3, for use during an interaction with a customer. For example, using the example from above, if the customer calls the agent because of a printer problem, the agent may enter the search keywords “printer problems” into a text-entry field402within the window400. In addition to specifying keyword criteria, the agent may also select one or more of the checkboxes404or406to further specify attribute criteria used when searching for scripts. The checkbox404specifies an attribute relating to paper problems, and the checkbox406specifies an attribute relating to toner problems. As shown inFIG. 4A, the agent has not selected either of the checkboxes404and406.

After the agent has entered the search keywords “printer problems” into the text-entry field402, the window400displays to the agent links408and410for scripts contained in the script repository110that are related to the specified keywords. The agent may select the link408to a first script, such as the script300shown inFIG. 3, if the customer has a “Model X” printer, and may select the link410to a second script if the customer has a “Model Y” printer. In one implementation, the agent determines the model of the customer's printer using information gathered during a previous interaction with the customer. In subsequent figures, it is assumed that the agent has selected the link408to address the customer's problem with a “Model X” printer, and that the link408corresponds to the script300.

FIG. 4BthroughFIG. 4Dare screen diagrams of windows in the GUI that display to the agent various components of the script300shown inFIG. 3, according to one implementation. After the agent has selected the script300from the list of scripts shown in the window400inFIG. 4A, the window420inFIG. 4Bis displayed in the GUI on the computing system106or108. The window420includes two columns. The left column includes the details and text for the various questions and answers of the script300, and the right column includes the document names from the script300that are associated with the answers.

In the implementation shown inFIG. 4B, all of the document names320,322,324,326,328, and330are displayed in the right column of the window420. In this implementation, the document names associated with all of the potential answers within the script300are displayed because the agent has not yet provided an answer to the first question302in the script300. As such, any of the document names320,322,324,326,328, or330may apply to the customer's problem. Once the agent answers the question302by selecting either the checkbox424or426, the list of document names shown in the right column of the window420will become smaller. For example, if the agent were to select the checkbox424, the right column of the window420would contain only the document name320, as per the design of the script300shown inFIG. 3. In one implementation (not shown), the right column of the window420would not include any document names if the agent has not yet provided an answer to the first question302in the script300. In this implementation, document names are displayed in the right column of the window420only after answers that are associated with these names have been provided by the customer and selected by the agent within the window420.

For the implementation shown inFIG. 4B, the agent is able to select any of the document names320,322,324,326,328, or330in the right column of the window420to retrieve one or more corresponding documents from the knowledge base114or116in the knowledge repository112. The agent is then able to read or send these documents to the customer to address the customer's printer problem.

InFIG. 4C, the window420displays the question310from the script300. It is presumed that the agent has previously asked the questions302,304, and308to the customer, such that the customer answered “no” to the question302, “yes” to the question304, and “no” to the question308. As shown inFIG. 4C, the agent has not yet selected either the checkbox424or426to provide an answer to the question310. As such, the document names328and330are displayed in the right column of the window420. The document names328and330are associated with each of the potential answers (i.e., “yes” and “no”) to the question310. Because the agent has not yet provided an answer based on feedback received from the customer, the documents corresponding to each of the document names328and330may be applicable and useful in addressing the customer's problem. The agent may select one or both of the document names328or330to retrieve the corresponding documents from the knowledge repository112. For example, if the customer tells the agent that the red light is blinking, and the agent knows from previous experience that this blinking indicates a toner problem, the agent may immediately select the document name330without having to first select the checkbox424. On the other hand, if the agent does not have this previous experience, the agent may select the checkbox424. The window420will be updated within the GUI, as shown inFIG. 4D. As shown inFIG. 4D, only the document name330is displayed in the right column of the window420. The agent may then select the document name330to obtain a copy of the corresponding document from the knowledge repository112.

FIG. 5is a block diagram of a computing device500that may be included within the customer computing system102and/or the agent computing systems106,108shown inFIG. 1. The computing device500includes a processor502, a memory504, a storage device506, and an input/output device508. Each of the components502,504,506, and508are interconnected using a system bus. The processor502is capable of processing instructions for execution within the computing device500. In one implementation, the processor502is a single-threaded processor. In another implementation, the processor502is a multi-threaded processor. The processor502is capable of processing instructions stored in the memory504or on the storage device506to display graphical information for a GUI on the input/output device508.

The memory504stores information within the computing device500. In one implementation, the memory504is a computer-readable medium. In one implementation, the memory504is a volatile memory unit. In another implementation, the memory504is a non-volatile memory unit.

The storage device506is capable of providing mass storage for the computing device500. In one implementation, the storage device506is a computer-readable medium. In various different implementations, the storage device506may be a floppy disk device, a hard disk device, an optical disk device, or a tape device.

In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory504, the storage device506, or a propagated signal.

The input/output device508provides input/output operations for the computing device500. In one implementation, the input/output device508includes a keyboard and/or pointing device. In one implementation, the input/output device508includes a display unit for displaying the various GUI's on the computing systems106and/or108shown in the preceding figures.

A number of implementations have been described above. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of these implementations. Accordingly, other implementations are within the scope of the following claims.