WEB-BASED CUSTOMER SERVICE INTERFACE
A system and method for processing a web-based query is provided. The system comprises a web server for transmitting a web form having a text field box for entering a natural language query, and a language analysis server for extracting concepts from the natural language query and classifying the natural language query into predefined categories via computed match scores based upon the extracted concepts and information contained within an adaptable knowledge base. In various embodiments, the web server selectively transmits either a resource page or a confirmation page to the client, based upon the match scores. The resource page may comprise at least one suggested response corresponding to at least one predefined category. The language analysis server may adapt the knowledge base in accordance with a communicative action received from the client after the resource page is transmitted.
Latest IBM Patents:
This application claims the priority and benefit of U.S. Provisional Patent Application Ser. No. 60/468,576 entitled “Web-Based Customer Service Interface,” filed on May 6, 2003, which is hereby incorporated by reference. This application is related to patent application Ser. No. ______, entitled, “System and Method for Electronic Communication Management,” herein incorporated by reference, filed on an even date herewith.
BACKGROUND OF THE INVENTION1. Field of the Invention
This invention relates generally to electronic communications and relates more particularly to a system and method for a web-based customer service interface.
2. Description of the Background Art
In a typical organization, communications with customers and others may occur via a variety of different channels. In addition to traditional channels such as letters and telephone calls, customers may also communicate with an organization via electronic mail, facsimile, web-based forms, web-based chat, and wireless communication and voice. An organization will most likely incorporate these and any other newly developed communication channels to allow customers to communicate in a way they find most convenient.
Many of the communication channels mentioned above contain information that is unstructured in nature, usually expressed in natural language. Different customers may make identical requests each in a unique way, using different communication channels, different words and expressions, or both. Human agents are usually required to review each natural language communication to evaluate the customer's intent, and to determine what information or action would be responsive to that intent.
Agents typically must look to various sources to gather all of the information required to respond appropriately to a customer communication. The information may be retrieved from a variety of sources, such as legacy systems, databases, back office systems, and front office systems. Each of these sources may store data in a unique structure or format. An agent typically gathers and organizes the required information from one or more of these information sources and uses the information to compose an appropriate content-rich reply that is responsive to the customer's intent.
Utilizing people to respond to customer communications is often inefficient. In addition, an increase in the number of communications received by an organization typically requires an even larger increase in the number of people required to provide an acceptable level of customer service.
Several types of automatic systems exist for responding to customer communications. Rule-based systems, keyword-based systems, and statistical systems typically do not perform with the necessary accuracy to substantially automate business processes, such as responding to customer inquiries, and require a large investment in resources to keep them up-to-date. Many learning systems utilize a training set of data that is a poor representation of the system's world, which reduces the accuracy of the system and makes the process of updating the system very cumbersome.
SUMMARY OF THE INVENTIONThe present invention provides a system and method for processing a web-based query. In one embodiment of the invention, the system comprises a web server for transmitting a web form having at least one text field box for entering a natural language query to a client, and a language analysis server for analyzing the natural language query and optional meta-data received from the client to classify the natural language query into at least one predefined category based on information contained within a knowledge base. The web server is further configured to selectively transmit a resource page to the client, where the resource page includes at least one suggested response and optionally other data corresponding to at least one predefined category. In addition, the web server is further configured to receive a communicative action from the client after the resource page is transmitted, wherein the language analysis server may adapt the knowledge base in accordance with the communicative action.
In one embodiment of the invention, the language analysis server classifies the natural language query into predefined categories based on computed match scores, where each match score corresponds to one of the predefined categories. Furthermore, each match score is representative of a confidence level that the natural language query is relevant to a corresponding predefined category. The language analysis server calculates each match score based upon a comparison of concepts extracted from the natural language query to concepts associated with the predefined categories. Each match score is representative of a statistical likelihood of the natural language query being correctly classified to the corresponding predefined category
In another embodiment of the invention, the language analysis server routes the natural language query to an agent based upon an analysis of the computed match scores according to a predetermined logic (e.g., if none of the computed match scores meet a predetermined threshold level). In yet another embodiment, the language analysis server transmits a solution page to the client based upon an analysis of the computed match scores according to the predetermined logic (e.g., if at least one match score meets a predetermined high-threshold level).
In accordance with the invention, the method comprises transmitting a web page having at least one user-interactable element for entering a natural language query and optional meta-data to a client, receiving the natural language query and the optional meta-data, analyzing the natural language query to classify the natural language query into at least one predefined category using information contained within a knowledge base, and selectively transmitting a resource page to the client. The resource page includes at least one suggested response and optionally other data corresponding to at least one predefined category.
BRIEF DESCRIPTION OF THE DRAWINGS
The language analysis server 210 analyzes and classifies the electronic query comprising any combination of natural language text, structured text, and structured data (e.g., meta-data) into predefined categories stored in the knowledge base 215, based upon linguistic modeling rules and concepts associated with the predefined categories. In one embodiment, the language analysis server 210 linguistically analyzes the query based upon content and context of the query, and classifies the query to one or more of the predefined categories stored in the knowledge base 215 based upon a match score derived from a statistical comparison of concepts extracted from the query to concepts associated with the one or more predefined categories. In another embodiment, the language analysis server 210 analyzes the query (i.e., extracts concepts from the query) to match the query to the one or more predefined categories using standard search techniques. The language analysis server 210 is discussed further below in conjunction with
The knowledge base 215 is a branching network of nodes arranged in a vertically structured hierarchy (i.e., tree hierarchy) that represent the various predefined categories. Logically related predefined categories are associated with a branch, which in turn may be associated with a branch of larger scope. Creation of the hierarchies can be either manual (via a configuration tool or an API), automatic by monitoring feedback received via the client 105 or an agent, or a combination, whereby an automatic tool displays suggestions according to performance of the customer service interface 115. A user may then create the hierarchies based upon the suggestions. The knowledge base 215 may also include flat hierarchies as a special case of tree hierarchies. An embodiment of the language analysis server 210 and the knowledge base 215 are discussed in more detail in patent application Ser. No. ______, entitled, “System and Method for Electronic Communication Management,” herein incorporated by reference, filed on an even date herewith.
The language modeling engine 415 analyzes and classifies natural language text, structured text, and meta-data into predefined categories stored in the knowledge base 215. For example, the language modeling engine 415 analyzes the text and the meta-data by application of linguistic and morphological models to extract concepts. The language modeling engine 415 then computes match scores based upon a comparison of the extracted concepts with rules and concepts associated with the predefined categories stored in the knowledge base 215. The computation of the match scores and further details of the knowledge base 215 are discussed below in conjunction with
The language analysis server 210 linguistically and/or morphologically analyzes the query based upon content and context of the query, and classifies the query to one or more of the predefined categories stored in the knowledge base 215 (
In one embodiment of the invention, the language analysis server 210 computes, for each predefined category, a match score based upon concepts associated with the predefined categories, concepts extracted from the query, and metadata. In an exemplary embodiment of the invention, suppose that the customer service interface 115 services a motorcycle parts and equipment distribution house. Additionally, suppose that the knowledge base 215 has the following three predefined categories: a first predefined category entitled “new parts order,” a second predefined category entitled “complaints,” and a third predefined category entitled “suggestions.” A client correspondent submits to the server 205 a query comprising a natural language text that states, for example, “I am unhappy with the head gasket that you shipped me for my 1955 BMW R50/2. The surface of the replacement gasket is cross-hatched (unlike the original), leading to reduced power and oil leakage. Please either refund my purchase, credit my account or send me the correct gasket.” In response to this query, the language analysis server 210 computes a first, a second, and a third match score in classifying the query to the first, the second, and the third predefined categories, respectively, where the second match score is greater than the first match score, and the first match score is greater than the third match score. For example, the second match score may be 95, the first match score may be 42, and the third match score may be 16.
In one embodiment of the invention, each of the predefined categories has a corresponding resource, or linked suggested response in the knowledge base 215, and the relative values of the computed match scores are indicative of a level of confidence of the corresponding suggested responses to answer the query or of the relevancy of the resource to the query. For example, the second match score of 95 (relative to the first and third match scores of 42 and 16, respectively) indicates that the query is more likely to be resolved by the suggested response associated with the second predefined category than the suggested responses associated with the first or third predefined categories.
Next, the language analysis server 210 sends the suggested responses and corresponding match scores to the server 205 via a communication 518. In one embodiment of the invention, the customer service interface 115 is configured to respond to the communication 518 via either a first set of communications (i.e., communications 520, 522, and 524) or a second set of communications initiated by a communication 526, depending upon the corresponding match scores as described below.
If each of the corresponding match scores is less than a predetermined threshold score (where each predefined category may have a different predetermined threshold score), or based upon an analysis of the match scores according to a predetermined logic, then the customer service interface 115 responds via the first set of communications. The predetermined logic includes any functional analysis of the match scores, exemplary embodiments of which include, but are not limited to, computations of an average match score, a median match score, a match score standard deviation, or other types of statistical and/or numerical functional analyses. In an exemplary embodiment of the first set of communications, the server 205 sends a confirmation page to the client 105 via a communication 520. The confirmation page informs the client 105 that the query will be routed to an agent for further analysis. The communication 520 may comprise additional information such as when the client 105 may expect to receive a reply from the agent, for example. In addition, the language analysis server 210 routes the query to the agent for further analysis via a communication 522. The agent may then reply to the client's query, preferably via an electronic message. However the agent may also respond to the query via alternate communication channels, such as a telephone, a Web-based reply, or other means of electronic communication. Optionally, the language analysis server 210 may analyze the agent's reply, and, based upon the analysis, update the knowledge base 215 via a communication 524.
If, however, at least one of the corresponding match scores received by the server 205 via the communication 518 is greater than or equal to the predetermined threshold score (also referred to as a predetermined threshold level), then the customer service interface 115 responds with the communication 526. In one embodiment of the invention, the communication 526 comprises a solution page. The communication 526 comprises a solution page when at least one of the computed match scores has a very high value. Alternatively, the customer service interface 115 may respond with the communication 526 that comprises the solution page based upon an analysis of the match scores according to the predetermined logic as described above. For example, if the customer service interface 115 services a financial institute, a client correspondent may submit a query to the server 205 via the communication 512 that recites, “I want to change my password.” If the customer service interface 115 classifies the query to a “change password” predefined category with a high degree of certainty (e.g., the customer service interface 115 classifies the query to the “change password” predefined category with a match score the meets a predetermined high-threshold score), then the server 205 sends the client 105 a “password changing” web page (i.e., the solution page). In another embodiment, the server 205 re-directs the client 105 to the solution page corresponding to the “password changing” web page. The client 105 may then utilize the solution page to resolve the query.
In another embodiment of the invention, the communication 526 may comprise a resource page. For example, the server 205 sends the resource page to the client 105 comprising the suggested responses having corresponding match scores greater than or equal to the predetermined threshold level via the communication 526. The resource page may also comprise other data (such as links to web resources) having corresponding match scores greater than or equal to the predetermined threshold level. In one embodiment of the invention, the client 105 may utilize one of several communicative actions (i.e., communicative actions 528, 534, or 540) to respond to the resource page.
For example, the client 105 may select a suggested response on the resource page, respond to an embedded form on the resource page, or click on a link to a web resource, via a first communicative action 528. The first communicative action 528 is received and processed by the server 205, and the server 205 then routes the processed first communicative action to the language analysis server 210 for linguistic analysis via a communication 530. The language analysis server 210 may optionally update the knowledge base 215 via a communication 532 based upon the linguistic analysis of the first communicative action 528.
Alternatively, the client 105 may respond to the resource page via a second communicative action 534. The second communicative action 534 comprises a non-response to the resource page. More specifically, the client 105 does not respond to the resource page (i.e., the client is non-responsive). For example, in one embodiment of the invention, if the client 105 does not respond to the resource page within a given time limit, or if the client 105 disconnects from the server 205, for example, the second communicative action 534 comprising a non-response is sent to the server 205. The server 205 then sends a communication 536 to the language analysis server 210 indicating the non-response. The language analysis server 210 may update the knowledge base 215 based upon the non-responsiveness of the client 105 via an optional communication 538.
As an additional alternative, the client 105 may respond to the resource page via a third communicative action 540 comprising a communicative escalation. For example, the client 105 may select (e.g., by mouse-clicking) a “request for help” button embedded in the resource page, or request more information regarding a particular suggested response. The server 205 receives the third communicative action 540 comprising the communicative escalation, and routes the communicative escalation to the language analysis server 210 via a communication 542. The language analysis server 210 then sends the communicative escalation to the agent for further analysis via a communication 544. The language analysis server 210 may optionally update the knowledge base 215 based upon the agent's reply to the communicative escalation via a communication 546.
In step 620, the language analysis server 210 analyzes the query using the language modeling engine 415 (
For example, if each match score associated with each predefined category is less than a corresponding predetermined threshold level, then in step 625, the modeling application 410 routes the query to an agent for further analysis. Preferably, the agent is a human agent. However, in alternate embodiments, the agent may be an automated service, such as an automated phone service or an automated computer system. Next, in step 630, the server 205 sends the client 105 a confirmation page. In one embodiment, the confirmation page comprises a communication confirming that the client's query is being routed to the agent for further analysis. Next, in step 635, the agent replies to the query. In one embodiment of the invention, the agent replies to the client 105 via an electronic mail system. However, the scope of the present invention covers alternate agent-reply methods, such as web-based, telephonic, or facsimile methods.
Next, in optional step 640, the language analysis server 210 processes the agent's reply to the client to generate agent-based feedback. The language analysis server 210 may then update the knowledge base 215 based upon the agent-based feedback. The agent-based feedback may comprise positive or negative feedback. The language analysis server 210 uses the feedback to modify the knowledge base. For example, the language analysis server 210 may modify concepts, add new concepts, eliminate concepts, or modify weights assigned to different concepts associated with concept-oriented nodes. The language analysis server 210 may also modify relationships between nodes, such as structural relationships defined by branching structures, for example. In alternate embodiments, the language analysis server 210 may modify classification rules associated with rule-oriented nodes stored in the knowledge base 215.
Referring back to step 620, if at least one match score associated with at least one predefined category is greater than or equal to a corresponding predetermined threshold level, then in step 645, the server 205 submits a resource page to the client 105. The resource page may comprise a suggested response page, where each suggested response corresponds to a predefined category with an associated match score greater than or equal to the corresponding threshold level. A suggested response may include a message that recites, for example, “no response was found.” Alternatively, if an associated match score is greater than or equal to a corresponding high-threshold level, then the resource page comprises a solution page that provides either a link or a web page to the client 105 that may directly resolve the query. Each predefined category may have different threshold levels and high-threshold levels. Next, in step 650, the client 105 responds to the resource page and the server 205 determines whether the client query is resolved based upon the client response. In one embodiment of the invention, the query is not resolved if the client 105 escalates (e.g., the client 105 responds with a request for help), and the process then continues at step 625.
However, if in step 650 the query is resolved, then in optional step 655, the language analysis server 210 receives client-based feedback (i.e., feedback based upon the client's response). In one embodiment of the invention, the query is considered resolved if the client 105 selects a suggested response, or if the client 105 does not select any response (i.e., the client 105 is non-responsive).
In optional step 655, the language analysis server 210 updates. the knowledge base 215 based upon the client-based feedback. For example, a selection of a suggested response corresponding to a high match score generates a positive client-based feedback that may strengthen the concept-oriented nodes of the knowledge base 215 that generated the suggested responses. In one embodiment of the invention, a concept-oriented node may be strengthened by redistributing weights assigned to concepts associated with the node. However, if the client 105 selects a suggested response corresponding to a low match score, then the client 105 generates negative client-based feedback that may modify the concept-oriented nodes and branching structures that generated the selected suggested response.
The present invention has been described above with reference to exemplary embodiments. Other embodiments will be apparent to those skilled in the art in light of this disclosure. The present invention may readily be implemented using configurations other than those described in the exemplary embodiments above. Therefore, these and other variations upon the exemplary embodiments are covered by the present invention.
Claims
1-10. (canceled)
11. A method for processing a web-based query, comprising:
- transmitting a web page to a client for display, the web page including at least one user-interactable element for entering a natural language query and the web form including meta-data that is not associated with the natural language query's content;
- receiving the natural language query and the meta-data from the client;
- analyzing the natural language query and the meta-data to classify the natural language query into at least one predefined category using information contained within a knowledge base; and
- selectively transmitting a resource page to the client for display, the resource page including at least one suggested response and optionally other data corresponding to the at least one predefined category.
12. The method of claim 11, further comprising:
- receiving a communicative action from the client; and
- adapting the knowledge base in accordance with the communicative action.
13. The method of claim 11, further comprising:
- calculating a set of match scores, each match score of the set of match scores corresponding to one of a plurality of predefined categories and being representative of a confidence level that the natural language query is relevant to the one of the plurality of predefined categories; and
- classifying the natural language query into the at least one predefined category based on a match score associated therewith.
14. The method of claim 13, further comprising routing the natural language query to an agent if none of the match scores of the set of match scores meet a predetermined threshold level.
15. The method of claim 13, further comprising routing the natural language query to an agent based upon an analysis of the set of match scores according to a predetermined logic.
16. The method of claim 15, further comprising transmitting to the client a confirmation page confirming that the natural language query has been routed to the agent.
17. The method of claim 15, further comprising updating the knowledge base according to the agent's response to the natural language query.
18. The method of claim 13, further comprising transmitting a solution page to the client if at least one match score of the set of match scores meet a predetermined high-threshold level.
19. The method of claim 13, further comprising transmitting a solution page to the client based upon an analysis of the set of match scores according to a predetermined logic.
20. The method of claim 11, wherein the other data comprises one or more links to web resources.
21. A computer-readable storage medium having embodied thereon a program, the program being executable by a computer to perform a method for processing a web-based query, the method comprising:
- transmitting a web page to a client for display, the web page including at least one user-interactable element for entering a natural language query and the web form including meta-data that is not associated with the natural language query's content;
- receiving the natural language query and the meta-data from the client;
- analyzing the natural language query and the meta-data to classify the natural language query into at least one predefined category using information contained within a knowledge base; and
- selectively transmitting a resource page to the client for display, the resource page including at least one suggested response and optionally other data corresponding to the at least one predefined category.
22. A method for processing a web-based query, comprising:
- means for transmitting a web page to a client for display, the web page including at least one user-interactable element for entering a natural language query and the web form including meta-data that is not associated with the natural language query's content;
- means for receiving the natural language query and the meta-data from the client;
- means for analyzing the natural language query and the meta-data to classify the natural language query into at least one predefined category using information contained within a knowledge base; and
- means for selectively transmitting a resource page to the client for display, the resource page including at least one suggested response and optionally other data corresponding to the at least one predefined category.
Type: Application
Filed: Aug 23, 2007
Publication Date: Dec 13, 2007
Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION (Armonk, NY)
Inventors: Yoram Nelken (San Francisco, CA), Randy Jessee (Tracy, CA), Steve Kirshner (Jerusalem)
Application Number: 11/843,972
International Classification: G06F 17/30 (20060101);