The invention relates to expert systems for providing information to users, such as Virtual Agents.
The traditional approach to providing technical support for users having problems or questions regarding a product (such as a computer or modem) or service (such as banking services) is to provide direct communication between the user and a technical “expert” regarding the product or service. However, automated systems are also available, such as described in U.S. Pat. No. 6,604,141 to Ventura. The Ventura patent describes a product support tool that interacts with a user who needs assistance, and the interaction occurs without requiring an actual person with expertise to control the interaction. Instead, a “Virtual Agent” is used to enable interactions between end users at remote computers and an expert system that utilizes a knowledge base having data relevant to diagnosing operating conditions of a product or service.
Virtual Agents may be used for purposes other than providing technical support to end users. For example, Virtual Agents may be used to automate interactions with human resources or other employee services of a company, in addition to providing a sales and/or marketing advisor for incoming calls to the company. However, in this patent document Virtual Agents will be considered primarily with respect to technical support applications.
As used herein, a “Virtual Agent” is a Web-based application that is designed to interact with the end users and guide them to a solution through a diagnostic process that does not require human intervention. As described in the Ventura et al. patent, the Virtual Agent preferably includes exchanges of information in a conversational format, i.e., a format that simulates dialog. The Virtual Agent is part of a system that includes a stored knowledge base having data relevant to diagnosing operating conditions of at least one product or service. The knowledge base may define a tree arrangement of rules in which each rule includes a solution and at least one related antecedent that represents the operating condition of the product or service and indicating the appropriateness of the solution. Free-form descriptions of operating conditions of the product or service are provided by the end user. The system attempts to accumulate “known facts” that are either directly entered by the user or that are acquired using system induction or system deduction from the communications with the end user.
A limitation with use of a Virtual Agent is identical to the limitation of using real person experts for providing technical support for a product or service. Specifically, the knowledge base of the system and the knowledge of the person are typically limited to the single product or service. If during interaction with the end user, it is determined that a different product is responsible for the difficulty experienced by the user, the individual must terminate the first technical support interaction and start again with a different Virtual Agent or technical support person. For example, if an individual purchases a replacement computer from Acer, Inc., but continues to use the same Linksys wireless router for Internet connectivity, the person is likely to assume that the replacement computer is at fault if Internet connectivity is no longer available. Thus, the individual may use a separate computer to access the Web-based Virtual Agent that is specific to the Acer computer, only to discover that the knowledge base of the Acer Virtual Agent is not designed to aide people with Internet connectivity problems.
While the use of Virtual Agents and similar automated technical support systems operate well for their intended purpose, advancements are sought. Such advancements are also sought in other applications of Virtual. Agents.
The invention is a method of coordinating navigations within two or more knowledge bases that would otherwise be functionally independent. Each of the knowledge bases is a structured arrangement of rules related to specific subject matter, and the navigations within the knowledge base are executed in an automated manner. In one embodiment, each knowledge base is an expert system implemented as a Virtual Agent. While the subject matter of one knowledge base may have some overlap with the subject matter of the other knowledge base, the overlap is not major. For example, the first knowledge base may be designed for providing technical support for a commercially available product of a first business entity and a second knowledge base may be designed for providing technical support for a commercially available product of a second business entity that is independent of the first.
During a session with the first knowledge base (such as the knowledge base of a first Virtual Agent), it may be determined from user inputs that the subject matter of another knowledge base has a greater relevance to the user. As an automated response to such a determination, a transferring occurs from the first knowledge base to the second knowledge base, but the transfer is executed with context-continuity. That is, information acquired prior to the transfer is used to achieve a partial navigation within the structured arrangement of rules of the second knowledge base. For embodiments in which sessions are conducted in a conversational format, the context-continuity includes simulating a continuation of dialog despite the transfer. This simulation of a continuing dialog is particularly relevant to embodiments in which the knowledge bases are components of different Virtual Agents,
The structured arrangement of rules may be a tree-like structure. An end-user at a remote computer may be transferred among Virtual Agents without contextual loss.
The first promising application of the invention is one in which Virtual Agents or other automated knowledge management systems (“expert systems”) are designed for products of companies which are independent business entities. The products may be operationally linked, but the product providers are not. An example would be an Acer laptop computer and a Linksys router. This application of the invention is particularly well suited for situations in which the two Virtual Agents are designed by the same third-party company, such as noHold, Inc., but the invention may be used in other cooperative situations. A second application is one in which a single company provides a number of different products, but the company has decided to utilize independent Virtual Agents which specialize in their respective products. The benefits of such a specialization are that a more thorough knowledge base is likely for each product and that the technical support capability of the company is easily adapted if a particular product is discontinued or upgraded.
Confederated Knowledge links may be used to implement the invention. As used herein, a “Confederated Knowledge link” is a connection that allows in-place activation of a second knowledge base from within a first knowledge base. The first knowledge base may be considered to be the “Host,” while the second knowledge base may be considered to be the “Partner”. As a session takes place with the Host knowledge base, the determination that the Partner has the more relevant knowledge base triggers activation of the Partner but from within the Host. This “in-place activation” is distinguishable from conventional approaches, as is the “context retention” of acquired information when the transfer is made from the Host to the Partner.
There are at least four procedural embodiments for switching between Virtual Agents. For purposes of explanation, the embodiments will be described with respect to the “knowledge trees” and “known facts” set forth in the above-identified Ventura patent. In a first embodiment, the known facts that were acquired during interaction with the first Virtual Agent are used to identify the appropriate position on the knowledge tree of the second Virtual Agent. The potential weakness of this first embodiment is that if the second knowledge tree is not static, the pointer of the first knowledge tree may become obsolete. It should be noted that the pointer does not become obsolete if the target location (e.g., an antecedent node) of the second knowledge tree is merely moved as a result of a modification of the second knowledge tree. A movement of the antecedent node does not render the pointer invalid. It should also be noted that there are possible solutions to the potential weakness. For example, rather than a “static pointer” as the connection between the two knowledge trees, a loose connection may be made “behind the scenes”, such as by posing a user question to the second knowledge tree in a manner transparent to the user but that solicits a response which either automatically establishes the appropriate location of the second knowledge tree or presents a confirming question to the user.
In the second embodiment, the known facts that were accumulated in navigation of the first Virtual Agent's knowledge tree are in effect carried to the base of the second Virtual Agent's knowledge tree and then used to navigate through the knowledge tree until an additional fact is needed at a particular node. This navigation is transparent to the end-user, with the conversational format continuing from this node. The third embodiment is the same as the second embodiment, but the previously acquired known facts are applied to nodes which follow the one at which an additional fact is required, so as to determine whether a reliable deduction can be made as to further navigation without requesting an additional fact from the end-user. Thus, the first embodiment provides context-continuity (since the transfer appears to be “seamless” to the user), while this third embodiment provides both context-continuity and content retention beyond the transfer to the particular node at the second knowledge base. The fourth embodiment is also the same as the second embodiment, but the known facts acquired during navigation of the first knowledge tree continue to be referenced after the additional fact is required at the stopping node, so that subsequent nodes within the second knowledge tree can be skipped when the known facts provide the required information (again, content retention). That is, a known fact that may not have been useful in the original navigation within the second knowledge base remains accessible for possible use following subsequent inputs from the end-user. At what may be considered a fifth, most sophisticated embodiment, the post-transfer use of known facts as described in the third and fourth embodiments are combined.
As described above, the invention allows transfers between expert systems which enable automated navigation through knowledge bases. The transfers will be described primarily with respect to Virtual Agents which are consistent with the teachings of the Ventura patent (U.S. Pat. No. 6,604,141), but other embodiments are available. Each such Virtual Agent includes an expert system that may be formed as a combination of computer hardware and software.
With reference to
Each Virtual Agent 10 and 32 (or other embodiment of an expert system) can be “trained” to be an expert on any product or group of products merely by forming and storing a knowledge base 20 and 34 that is specific to the product or product group. The knowledge base is shown in
A Content Management Tool 22 or 36 is employed to create its respective knowledge base 20 or 34. Using the Content Management Tool 22, a technical support engineer may form a tree-like structure of rules in which each rule preferably includes multiple antecedents. The Virtual Agent 10 then implements a heuristic approach to problem solving. The approach is goal oriented, so that after a user of the product submits a description at one of the remote computers 12, 14, and 16, the Virtual Agent attempts to suggest a solution. If the initial description does not provide sufficient information, confirming question text strings are generated and transmitted to the remote computer of the user. The hunt for a solution is based upon the information originally entered by the user during the description of the problem and upon the information entered by the user in response to the confirming question text strings from the Virtual Agent. Deduction allows the expert system to reach a general truth (solution) from details provided by the user. Induction allows the expert system to provide a solution based upon confirmation of detailed facts. The same approach is implemented in the other of the two Virtual Agents 32. However, the “knowledge base-to-knowledge base transfers” in accordance with the present invention may be executed in embodiments in which the Virtual Agents utilize other approaches to internally process information acquired from a user at one of the remote computers.
Because the Virtual Agents 10 and 32 are accessible via the Internet 18, multiple connections can be conducted simultaneously. Ideally, neither Virtual Agent imposes any limitation on the number of concurrent sessions it can support. Rather, the number of connections is limited by the resources of the WEB server on which the system is running. Another advantage of the connectivity via the Internet is that each Virtual Agent is available on a twenty-four hour a day basis. If a user of a product for which technical support is provided has a browser application that provides access via the WWW, the user is able to contact the Virtual Agent 10 at any time.
Preferably, each expert Virtual Agent 10 and 32 and its knowledge base 20 and 34 are cooperative to enable the generation of confirming question text strings in a number of alternative forms. That is, while the content of a confirming question may be determined by the cooperation of the Virtual Agent and the knowledge base, the phrasing of the content of confirming questions may be determined by a Natural Language Processing (NLP) component 26 and 38, which among other operations may randomize the preambles of the confirming questions. The NLP is shown as a separate component, and is typically carried out in computer software. A knowledge specialist uses the Content management Tool 22 and 36 to define a number of alternative preambles of the confirming question. During sessions, the NLP constructs the confirming question based on the available preambles and the antecedent in the knowledge tree. This enhances the simulation of human conversation when a user at one of the remote computers 12, 14, and 16 engages in a technical support session.
The components of each Virtual Agent 10 and 32 also include a session log component 28 and 40 that maintains logs of each session involving its interactions with users at remote computers. A report generator 30 and 42 is used to derive statistical analysis from the logs. For example, the generator 30 may report statistics about the number of sessions in which the Virtual Agent 10 was able to provide a solution to a problem. This information can then be used as a retrofit to the system, thereby rendering the system “smarter.” Moreover, in some embodiments, the knowledge base 20 and the report generator 30 may be cooperative to create other types of database reports. For example, a system engineer may simply input, “Prepare a sales report for Q2-2010,” triggering the system to proceed with a command sequence to prepare the requested database information.
During a session, free-form description is provided by the user who seeks technical support for a particular product. The NLP 26 determines through keyword matching and similarity algorithms which antecedents are potentially relevant.
Furthermore, the NLP 26 uses the confirming question preambles to randomly form confirming questions thus making the system appear to be more human-like.
Moreover, the meaning of a confirming question string that is transmitted to a user remains the same, regardless of the format. The first time that a question is presented, the question may be phrased as, “Is it correct that the battery has been charged?” and the second occurrence may be phrased as, “Do you mean that the battery has been charged?”.
Each Virtual Agent 10 and 32 may have its own URL, so that a session with the appropriate Virtual Agent is triggered when a user enters the URL into a browser application. Users visiting the WEB site can interact with the Virtual Agent via the Internet 18, as indicated in
The user may enter and transmit a text line that is a free-form description of the problem. By “free-form,” what is meant is that the user is not restricted to any sentence form or any dictated vocabulary. The Virtual Agent then applies NLP processing to identify an appropriate antecedent, i.e., fact that applies to the free-form description of the problem. As will be explained when referring to
Referring now to
The two interfaces are preferably carried out in computer software, and are the two main threads of execution of the Virtual Agent. The user interface 72 is responsible for communication with the users seeking technical support. The knowledge base interface 74 is responsible for implementing the deduction and induction algorithms that link information from the users with rules within the knowledge base.
Within the user interface 72, a transmit string module 76 sends the question strings, solution strings, and any information to the users via the Internet. In a reverse direction, a receive string module 78 accepts transmissions from the users. Both the transmitted strings and the received strings are in a format compatible with transmission over the Internet. For example, HTML (Hyper Text Markup Language) templates or CGI (Common Gateway Interface) scripts may be used. Techniques for implementing the user interface 72 are known in the art.
The knowledge base interface 74 includes an initialization module 80. This module is responsible for opening data files and creating a representation of the knowledge base in memory. While not critical, a dynamic doubly linked list may be used. The module uses the user interface 72 to notify a user that he or she can start describing the problem.
An NPL module 82 interacts with the user via the user interface 72 and allows the user to enter as many facts as desired. The module attempts to match the facts with the antecedents in the knowledge base. If it is successful, the antecedent is verified as a “known fact.” A deduction module 84 is responsible for applying a forward chaining algorithm on the “known facts” that are entered by the user. To accomplish this, the algorithm parses the knowledge base and attempts to confirm any of the rules that include these known facts as antecedents. If a rule is confirmed, the conclusion stored as part of the rule is presented to the user as the solution to the identified problem.
The induction module 86 is utilized if the conclusion is not reached by means of the deduction module 84. The induction module applies a backward chaining algorithm on the “known facts.” In this case, the Virtual Agent attempts to confirm rules that have at least one confirmed antecedent, which means that the rule already contains a known fact. For example, if the Virtual Agent has invoked the NPL module 82 to identify a rule in which two of the three antecedents have already been verified, the Virtual Agent will request that the user confirm the existence of the third antecedent of the rule. If the user provides confirmation in response to a confirming question string, the Virtual Agent tags the rule as having one solution. The Virtual Agent may take advantage of additional information that the user may offer when the user is answering a question string. For example, if the Virtual Agent transmits a question string that asks “Is the battery charged?” but the user answers, “I don't know, but the fuses are OK,” the Virtual Agent enters this new fact in the known facts. The deduction module 84 is then used to reapply the forward chaining algorithm, just in case the new piece of information identifies a new rule.
A Browse module 88 is generally needed when the NPL module 82 of the Virtual Agent cannot associate anything in the knowledge base with anything described by the user. To avoid a session in which the Virtual Agent sends a large number of questions that do not appear to be focused, the Virtual Agent may take advantage of the tree-like structure of the knowledge base and proceed by category. The questions become more specific when the user confirms interest in a certain category of the tree-like structure of the knowledge base.
At step 90, the initialization module 80 of
In decision step 100, it is determined whether the deduction step 98 verified a particular rule of the knowledge base. If so, the solution that is contained within the rule is transmitted in a solution string at step 102. The solution string provides the information that is indicated as being the resolution to the problem faced by the user. In the optional step 104, the process may include determining whether the problem has been resolved. This is typically performed by transmitting continuation options to the user, as indicated at step 120. If the problem is resolved using the solution from the rule, the process ends at step 106. On the other hand, if the suggested solution does not resolve the problem, a question is selected at step 108. Similarly, if no solution was determined to have been reached at step 100, the process proceeds to step 108. A backward chaining algorithm may be used in step 108 to select a one or more antecedent. Each antecedent may be selected based on induction on known facts. Then, in step 112, a question string is transmitted, along with options available to the user.
Alternatively, when at decision step 104, the options that are identified to the user in step 112 include allowing the user to designate the Virtual Agent as the driving force of the conversational flow. This is represented by the “invoke escalation” step 122. Other available options include allowing a user to browse the knowledge base manually and allowing the user to request intervention by a company representative.
While the automated process has been described with respect to the transmission of text files to the users at the remote computers 12, 14, and 16 of
Following execution of the transmission step 112 or 120, the processing returns to step 94. This will repeat until an affirmative response occurs at either the “Problem Resolved?” step 104 or the “Transfer?” step 93. In the embodiment of
A significant difference between the present invention and previous expert systems (such as prior Virtual Agents) is that the “known facts” acquired during interaction with a first Virtual Agent are used to determine a “non-start position” if the end-user is switched to a second Virtual Agent (where the “start position” is defined as the initial exchanges that occur between the user and the system if the second Virtual Agent is originally accessed by the user). This is referred to as “context-continuity.” In the preferred embodiment, Confederated Knowledge links provide “in-place activation.” This is illustrated in the browser application capture of
In
All parties are able to benefit from the use of Confederated Knowledge. Guest is not required to be concerned with which Virtual Agent to contact. Instead, Guest can connect to the Acer technical support capability in order to find the solution, even if the problem is with a different product. The benefit to Acer is that the company is able to increase the scope of its automated determination of solutions without incurring the cost of creating and maintaining content that is not directly significant to its products. Moreover, the newly inherited content reduces out-of-scope escalations. The benefit to Linksys is that there is an opportunity to offer both an enhanced product to its business partners and an enhanced self-service program. Additionally, the Virtual Agent operates as a potential channel for additional revenue. When an Acer customer is considering purchase of a router, the customer is more likely to purchase one that is directly integrated into the support offering provided by Acer.
As previously noted, there are at least four embodiments for providing the seamless transfer between Virtual Agents or other types of expert systems. In the most sophisticated of the embodiments, a transfer (1) is “in-place” (the presence of the original expert system is at least seemingly retained), (2) is implemented with context-continuity, and (3) allows “content retention (the known facts from the first expert system are available for use by the second, even after the initial automated navigation within the second expert system has been completed and interactions between the second expert system and the user have begun). Moreover, although the invention has been described primarily with respect to providing technical support for products or services, other applications exist for linking otherwise independent knowledge bases. For example, databases relating to product sales may be linked, as can knowledge bases relating to HR (Human Resources) for employees of a business entity.
This application claims priority from U.S. Provisional Patent Application Ser. No. 61/262,437, entitled “CONFEDERATED KNOWLEDGE FOR TWO OR MORE INTERNET-ACCESSIBLE KNOWLEDGE MANAGEMENT SYSTEMS”, filed Nov. 18, 2009.
Number | Date | Country | |
---|---|---|---|
61262437 | Nov 2009 | US |