U.S. patent application number 10/839930 was filed with the patent office on 2005-08-25 for web-based customer service interface.
Invention is credited to Jessee, Randy, Kirshner, Steve, Nelken, Yoram.
Application Number | 20050187913 10/839930 |
Document ID | / |
Family ID | 34864338 |
Filed Date | 2005-08-25 |
United States Patent
Application |
20050187913 |
Kind Code |
A1 |
Nelken, Yoram ; et
al. |
August 25, 2005 |
Web-based customer service interface
Abstract
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.
Inventors: |
Nelken, Yoram; (San
Francisco, CA) ; Jessee, Randy; (Tracy, CA) ;
Kirshner, Steve; (Jerusalem, IL) |
Correspondence
Address: |
CARR & FERRELL LLP
2200 GENG ROAD
PALO ALTO
CA
94303
US
|
Family ID: |
34864338 |
Appl. No.: |
10/839930 |
Filed: |
May 5, 2004 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60468576 |
May 6, 2003 |
|
|
|
Current U.S.
Class: |
1/1 ;
707/999.003; 707/E17.108 |
Current CPC
Class: |
G06F 16/3344 20190101;
G06F 16/24575 20190101; G06F 16/951 20190101; G06F 16/9558
20190101; G06F 16/3329 20190101; G06F 16/9535 20190101; G06F 16/285
20190101; G06F 16/24578 20190101 |
Class at
Publication: |
707/003 |
International
Class: |
G06F 017/30 |
Claims
What is claimed is:
1. A system for processing a web-based query, comprising: a web
server for transmitting a web form to a client, the web form having
at least one user-interactable element by which a user enters a
natural language query and optional meta-data; a language analysis
server, coupled to the web server, for analyzing the natural
language query and the optional meta-data to classify the natural
language query into at least one predefined category based on
information contained within a knowledge base; and the web server
selectively transmitting a resource page to the client, the
resource page including at least one suggested response and
optionally other data corresponding to the at least one predefined
category.
2. The system of claim 1, wherein the web server is further
configured to receive a communicative action from the client after
the resource page is transmitted, the language analysis server
adapting the knowledge base in accordance with the communicative
action.
3. The system of claim 1, wherein the language analysis server
calculates a set of match scores, each match score of the set of
match scores corresponding to one predefined category of a
plurality of predefined categories and being representative of a
confidence level that the natural language query is relevant to the
one predefined category of the plurality of predefined categories,
and wherein the language analysis server classifies the natural
language query into the at least one predefined category based on a
match score associated therewith.
4. The system of claim 3, wherein the language analysis server
calculates each match score of the set of match scores based upon a
comparison of concepts extracted from the natural language query to
concepts associated with the plurality of predefined categories,
and wherein each match score of the set of match scores is
representative of a statistical likelihood of the natural language
query being correctly classified to the plurality of predefined
categories.
5. The system of claim 3, wherein the language analysis server
routes the natural language query to an agent if none of the match
scores of the set of match scores meet a predetermined threshold
level.
6. The system of claim 5, wherein the web server transmits to the
client a confirmation page confirming that the natural language
query has been routed to the agent.
7. The system of claim 5, wherein the language analysis server
updates the knowledge base based upon the agent's response to the
natural language query.
8. The system of claim 3, wherein the web server transmits a
solution page to the client if at least one match score of the set
of match scores meet a predetermined high-threshold level.
9. The system of claim 3, wherein the web server transmits a
solution page to the client based upon an analysis of the set of
match scores according to a predetermined logic.
10. The system of claim 1, wherein the other data comprises one or
more links to web resources.
11. A method for processing a web-based query, comprising:
transmitting a web page to a client, the web page including at
least one user-interactable element for entering a natural language
query and optional meta-data; receiving the natural language query
and the optional meta-data; analyzing the natural language query
and the optional 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, 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. An electronic-readable medium having embodied thereon a
program, the program being executable by a machine to perform a
method for processing a web-based query, the method comprising:
transmitting a web page to a client, the web page including at
least one user-interactable element for entering a natural language
query and optional meta-data; receiving the natural language query
and the optional meta-data; analyzing the natural language query
and the optional 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, 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, the web page including at
least one user-interactable element for entering a natural language
query and optional meta-data; means for receiving the natural
language query and the optional meta-data; means for analyzing the
natural language query and the optional 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, the
resource page including at least one suggested response and
optionally other data corresponding to the at least one predefined
category.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] 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 INVENTION
[0002] 1. Field of the Invention
[0003] This invention relates generally to electronic
communications and relates more particularly to a system and method
for a web-based customer service interface.
[0004] 2. Description of the Background Art
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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 INVENTION
[0010] The 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.
[0011] 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.
[0012] 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).
[0013] 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
[0014] FIG. 1 is an exemplary block diagram of a customer service
network for processing an electronic query, according to one
embodiment of the invention;
[0015] FIG. 2 is an exemplary embodiment of the customer service
interface illustrated in FIG. 1, according to one embodiment of the
invention;
[0016] FIG. 3A illustrates an exemplary embodiment of a contact-us
page, according to the invention;
[0017] FIG. 3B illustrates an exemplary embodiment of the drop-down
box component illustrated in FIG. 3A, according to one embodiment
of the invention;
[0018] FIG. 3C illustrates an exemplary embodiment of the text
field box illustrated in FIG. 3A, according to one embodiment of
the invention;
[0019] FIG. 4 illustrates one embodiment of the language analysis
server illustrated in FIG. 2, according to one embodiment of the
invention;
[0020] FIG. 5 illustrates an exemplary communication-flow diagram
for processing an electronic query as implemented by the customer
service network illustrated in FIG. 1, according to one embodiment
of the invention; and
[0021] FIG. 6 illustrates exemplary method steps for processing an
electronic query, according to one embodiment of the invention.
DETAILED DESCRIPTION
[0022] FIG. 1 is an exemplary block diagram of a customer service
network 100 for processing an electronic query, according to one
embodiment of the present invention. The customer service network
100 comprises a client 105, a network 110 (e.g., the Internet), and
a customer service interface 115. The client 105 may comprise a
browser 120 for browsing Internet web sites. According to one
embodiment of the invention, the customer service interface 115
receives, classifies, and automatically responds to electronic
queries submitted by the client 105 via the network 110. The
customer service interface 115 is discussed further below in
conjunction with FIG. 2.
[0023] FIG. 2 is an exemplary embodiment of the customer service
interface 115 illustrated in FIG. 1, according to one embodiment of
the invention. The customer service interface 115 comprises a
server 205, a language analysis server 210, and a knowledge base
215. In an alternate embodiment, the language analysis server 210
and the knowledge base 215 may be integrated in a single module.
The server 205 preferably comprises a web-server 220 for providing
web services to the client 105 (FIG. 1). For example, the
web-server 220 may submit a contact-us page to the client 105. The
contact-us page allows a user to address an electronic query to the
customer service interface 115, and is discussed further below in
conjunction with FIGS. 3A-3C. In addition, the server 205 utilizes
a script 225 for processing communications (i.e., queries) from the
client 105. The script 205 may be any configurable or
non-configurable mechanism for routing information between various
components of the customer service interface 115. The
communications received by the server 205 contain data or
information that is structured and unstructured in nature. For
example, the communications typically contain unstructured
information expressed in natural language. Each individual client
correspondent may compose a communication in a unique way, even
when requesting the same type of information from the customer
service interface 115. In addition, the communications may contain
structured information, such as meta-data associated with the
communication, and queries in which the client correspondent
selects structured text displayed in drop-down menu boxes.
Meta-data may additionally include, for example, information not
explicitly provided by the client correspondent, and information
regarding client correspondent attributes accessible to the
customer service interface 115. In one embodiment of the invention,
the script 225 parses the received communications, and sends the
parsed information to the language analysis server 210 for further
analysis.
[0024] 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 FIG. 4.
[0025] 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.
[0026] FIG. 3A illustrates an exemplary embodiment of a contact-us
page 310, as composed by the customer service interface 115 (FIG.
2) and transmitted to the client 105 (FIG. 1) via the network 110
(FIG. 1). The contact-us page 310 may include a selectable text box
320 and a text field box 330 for insertion of natural language
text. In other embodiments, the contact-us page 310 comprises
multiple fields.
[0027] FIG. 3B illustrates an exemplary embodiment of the
selectable text box 320 illustrated in FIG. 3A, according to one
embodiment of the invention. The selectable text box 320 may
include a plurality of drop-down boxes 322 that comprise predefined
questions or statements, selectable by a user. For example, if the
customer service interface 115 services a financial institution,
then the drop-down boxes 322 may include statements corresponding
to customer service issues such as loans, new accounts, PIN
numbers, monetary transfers, among others.
[0028] FIG. 3C illustrates an exemplary embodiment of the text
field box 330 illustrated in FIG. 3A, according to one embodiment
of the invention. The text field box 330 comprises a selectable
area in which the user may compose a natural language message to
the customer service interface 115. For example, the user may not
be able to access an electronic application for financial aid,
partially completed and saved on a server of the financial
institution during a previous session. The user may compose a
message in the text field box 330, comprising, for example, "A PIN
number was sent to me when I electronically applied for financial
aid. However, that PIN number does not allow me access to my
financial aid account. Could you please rectify the situation?" As
described in more detail below in conjunction with FIGS. 5-6, the
customer service interface 115 classifies and responds to the
message, either via a list of suggested responses, a direct link to
a "solutions page," or a confirmation page to the client that the
query is being routed to an agent for further analysis.
[0029] FIG. 4 illustrates one embodiment of the language analysis
server 210 as illustrated in FIG. 2, according to one embodiment of
the invention. The language analysis server 210 comprises a
modeling application 410 and a language modeling engine 415. The
modeling application serves as an interface to the server 205 for
receiving and transmitting communications. In addition, the
modeling application 410 may compare match scores (computed by the
language modeling engine 415 in classifying the query to predefined
categories) with various predefined threshold scores to determine
the nature of the automated response to the client 105. The basis
of the automated response to the client's query is discussed below
in further detail in association with FIGS. 5-6.
[0030] 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 FIGS. 5-6.
[0031] FIG. 5 is an exemplary communication-flow diagram for
processing an electronic query as implemented by the customer
service network 100 illustrated in FIG. 1, according to one
embodiment of the invention. First, the web-server 220 (FIG. 2)
serves a contact-us page 310 (FIG. 3A) to the client 105 (FIG. 1)
via a communication 510. The client 105 responds to the contact-us
page 310 via a communication 512. For example, the client 105 may
respond to the contact-us page 310 (hereinafter referred to as a
client query, or simply a query) by selecting specific choices
displayed in the drop-down boxes 322 (FIG. 3B), by composing a
natural language text in the text field box 330 (FIG. 3C), or both.
The web-server 220 receives the client query and routes the query
to the script 225 (FIG. 2). The script 225 processes the query, and
routes the query to the language analysis server 210 (FIG. 2) via a
communication 514.
[0032] 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 (FIG. 2) via
a communication 516. In one embodiment of the invention, the
language analysis server 210 classifies the query into the one or
more predefined categories 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. The
language analysis server 210 may utilize meta-data in addition to
conceptual data extracted from the query to classify the query to
the one or more predefined categories. For example, meta-data
includes peripheral data not typically associated with content of
the query (i.e., with the natural language text and/or drop-down
box selections). For example, if the customer service interface 115
(FIG. 2) services a financial institution, then the peripheral data
may include user name, user account number, or customer service
plan afforded the user. In accordance with a preferred embodiment
of the invention, the language analysis server 210 comprises
classification techniques as disclosed in patent application Ser.
No. ______, entitled, "System and Method for Electronic
Communication Management," herein incorporated by reference, filed
on an even date herewith. However, the scope of the present
invention covers standard classification techniques well known in
the art.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] FIG. 6 illustrates exemplary method steps for processing an
electronic query, according to one embodiment of the invention. In
step 610, the client 105 (FIG. 1) submits an electronic query to a
web-site. In one embodiment, the query may be in response to a page
served to the client 105 by the web-server 220 (FIG. 2) associated
with the web site. The client 105 may be running the browser 120
(FIG. 1) to view the page served by the web-server 220. Next, in
step 615, the server 205 (FIG. 2) intercepts and routes the query.
For example, the server 205 may run the script 225 (FIG. 2) that
processes the query and routes the processed query to the language
analysis server 210 (FIG. 2).
[0043] In step 620, the language analysis server 210 analyzes the
query using the language modeling engine 415 (FIG. 4) and the
knowledge base 215 (FIG. 2) to compute match scores and classify
the query to predefined categories stored in the knowledge base 215
based upon the match scores, where each predefined category is
associated with a suggested response. In one embodiment of the
invention, the knowledge base 215 is configured as a
rule-oriented/concept-oriented database. For example, the knowledge
base 215 may comprise a plurality of nodes configured in a
hierarchically structured branching network, where each node is
configured as either a rule-oriented or a concept-oriented node.
Each concept-oriented node is typically associated with a
predefined category. In one embodiment of the invention, the
language analysis server 210 utilizes a statistical process to
compute the match scores. For example, the language modeling engine
415 analyzes the natural language text of the query to generate
concepts associated with the query. The language modeling engine
415 then statistically compares the query-derived concepts with
rules associated with the rule-oriented nodes and with concepts
associated with the concept-oriented nodes stored in the knowledge
base 215. The language modeling engine 415 then computes a match
score for one or more concept-oriented nodes (i.e., for one or more
predefined categories). In one embodiment, a high match score for a
particular predefined category indicates that a suggested response
corresponding to the predefined category is more likely to be a
correct response than a suggested response corresponding to a
predefined category with a low match score. Based upon the computed
match scores, the modeling application 410 (FIG. 4) determines if
the query meets any of the predetermined threshold levels for an
automated response.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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).
[0048] 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.
[0049] 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.
* * * * *