Patent Publication Number: US-2004044585-A1

Title: Customer service management system

Description:
RELATED APPLICATIONS  
     [0001] This application claims the benefit of U.S. Provisional Application No. 60/408,219, filed on Sep. 3, 2002, and this application is a continuation-in-part of U.S. application Ser. No. 09/817,535, filed on Mar. 26, 2001, which claims the benefit of U.S. Provisional Application No. 60/225,393, filed on Aug. 15, 2000, all of which applications are hereby incorporated by reference. 
    
    
     
       FIELD OF THE INVENTION  
       [0002] This invention relates generally to a system and methods for improving the efficiency and reducing the costs associated with customer service. More particularly, the invention relates to an Internet-based Customer Service Management System with a scheduling method that provides efficient and convenient access to customer service. This method includes identifying the problem for which the user needs assistance, displaying for the user the available time-slots during which the user can be provided voice contact with a qualified agent, and obtaining from the user a selection of an available time-slot for such voice session. This invention also includes a method for encouraging users to search a Selection-Oriented Knowledge Base to directly find answers to their inquiries. The encouragement is based upon a reward system whereby users that make an effort to consult the Selection-Oriented Knowledge Base are rewarded with very quick priority access to an agent, through the use of a NEED HELP button, if they experience any difficulty.  
       BACKGROUND OF THE INVENTION  
       [0003] Generally, legacy customer service systems rely upon a toll-free number the user dials to access customer service. However, these systems are plagued with inefficiencies that affect both the user and the organization providing the customer service.  
       [0004] From the user&#39;s perspective, there is an unreasonable waste of valuable time. Typically, before the user is able to talk with a qualified customer service agent, there are several frustrating steps. Step one, consists of a time-consuming list of phone menu options, often inapplicable, that sometimes discourage the user from proceeding further. Some menus are so long that users cannot make a selection because they cannot remember all the options provided by the Interactive Voice Response system.  
       [0005] If the user is persistent and manages to overcome Step one, Step two leaves the user waiting online for periods that may extend from minutes to over one hour. During the wait, music interrupted by patience messages and suggestions is often imposed by the system. Unfortunately, such environment generally precludes the user from concentrating on any productive task while waiting. In addition, the user&#39;s phone line becomes unavailable for other purposes during the entire waiting period. Step three is pre-empted by a phone ring indicating a forthcoming link to the voice of a customer service agent. In some cases, after a brief evaluation by the customer service agent, the user is directed to a Step four. During Step four the call is transferred to a specialized agent capable of addressing the user&#39;s problems. If the transfer is successful, there is a ring, and the user finally has the opportunity to communicate with the specialized agent. If the transfer is not successful, there is a click, and a recording provides the well-known message “if you want to make a call please hang-up and try again.” Eventually, the user is left with two unpleasant choices; namely, give up or start all over again.  
       [0006] From the perspective of the organization that offers the customer service there are numerous inefficiencies: (1) Poor utilization of personnel due to random fluctuations in demand. (2) Wasteful utilization of tool-free lines due to long wait-times. (3) High employee turnover rate due to stress. (4) Poorly qualified agents due to lack of specialization. (5) Inadequate identification of the user&#39;s problem prior to contact with the agent, due to the limited capabilities of Interactive Voice Response systems. (6) No effective means for educating and encouraging users to use online knowledge-bases to address their questions. (7) No cost effective means to enhance customer satisfaction.  
       [0007] U.S. Pat. No. 5,185,782 to Srinivasan discloses a system that prompts the caller to choose between holding or receiving a return call. If the caller chooses a return call, the arrangement prompts the caller for callback time and time-period. The arrangement places an outgoing call to the stored telephone number when the callback time arrives. If the call does not get through, the arrangement repeatedly periodically repeats placing of the outgoing call, until the call gets through or the callback time-period expires. When it places the outgoing call, the arrangement connects the originating end thereof to an ACD agent to handle the call.  
       [0008] U.S. Pat. No. 5,627,884 to Williams also discloses a system that prompts the caller to choose between holding and receiving a return call. If the caller chooses a return call, caller information is automatically taken from the caller on hold, the call disconnected and the call returned at the time when the caller would have been serviced had the caller stayed on hold.  
       [0009] Although Srinivasan and Williams do disclose systems that enable the caller to receive a call-back instead of holding, they do not present the user a selection of available time windows from which the user can choose an opportune time to have a phone session with an agent. As a result such systems do not provide a method for balancing the workload of the agents to operate at maximum efficiency. Furthermore, these systems require a telephone call to be placed by the user. This call generally requires the user to navigate through an elaborate, time consuming, and difficult to use Interactive Voice Response system, which is a very inconvenient method to access a customer service agent.  
       [0010] In summary, legacy customer service operations are well documented to be a source of frustration for users and a major source of unproductive expenditures and concern for those organizations that need to run them (Telephone automation, customer misery—Sarasota Herald-Tribune, Jun. 29, 1999.) The lack of a cost-effective Internet-based system to efficiently schedule customer service phone sessions, limits customer satisfaction, creates a multitude of economic and logistic problems for many institutions, and is becoming a major impediment to improving the relationship between such institutions and their customers.  
       SUMMARY OF THE INVENTION  
       [0011] The present invention addresses the aforementioned problems by providing an Internet-based Customer Service Management System that improves the quality and efficiency of customer service while significantly reducing operational costs.  
       [0012] An Interactive Voice Response (IVR) system offers the user the option to access customer service through the Internet in addition to a regular phone. It guides the user to a web site that displays, on the user&#39;s browser, web pages that can collect from the user relevant information to help identify, with reasonable specificity, the issues the user has in mind which require assistance by a customer service agent. Then a web page displays the time periods for which a qualified agent will be available to address the user&#39;s inquiry. The user is next prompted to select from these time periods a convenient time for a voice session with a qualified agent. Finally the user is given the choice of receiving or initiating a phone call at the selected time. In response to the selections made by the user, the Customer Service Management System schedules a qualified agent to be available at the selected time to initiate or receive the service call.  
       [0013] One aspect of the invention, relates to the Selection-Oriented Knowledge Base which seamlessly integrates the power of expert systems with the interpretive capabilities of human beings to provide an effective high performance knowledge base to address inquiries submitted by people.  
       [0014] Another aspect of the invention, relates to a Selection-On-Vertex (SOV) network, which includes Selection Vertices and Resolution Vertices associated with Classes of Inquiries, and provides the infrastructure to support the operation of the Selection-Oriented Knowledge Base.  
       [0015] Another aspect of the invention, relates to the use of a prominently placed “NEED HELP” button in the web pages of the Selection-Oriented Knowledge Base, which enables users to gain quick access to a customer service agent should the user experience any type of difficulty.  
       [0016] Another aspect of the invention, relates to a process for continuously improving the Selection-Oriented Knowledge Base by recording the frequency of “NEED HELP” requests submitted per vertex. The Selection Vertices that produce the most requests are analyzed to identify the potential deficiencies that triggered the requests. The analysis includes information that voice service agents are instructed to collect describing the reasons why the user encountered difficulties. The respective Classes of Inquiries are then improved off-line to address the deficiencies. The Resolution Vertices that produce the most “NEED HELP” requests are also analyzed to either improve the response to the user&#39;s inquiry or spawn new vertices associated with new Classes of Inquiries that may be necessary to address such inquiries. The creation of new Classes of Inquiries may involve tests the user is asked to perform to further narrow and identify the source that triggered the inquiry.  
       [0017] Another aspect of the invention, relates to a process, based upon historical records, for predicting the frequency of “NEED HELP” requests received per vertex. For every access to the Selection-Oriented Knowledge Base, this process records the path of all the vertices visited by the user, the time spent in each vertex, and if a “NEED HELP” request is generated. Off-line statistical analysis of this data identifies the frequency of requests per vertex, the types of paths that result in a “NEED HELP” request, and the distribution of time-spans from the time the user accesses the Selection-Oriented Knowledge Base to the time the “NEED HELP” request is generated. The information obtained by this analysis is used by the aforementioned process to allocate voice service agents to priority queues to ensure that the response time to “NEED HELP” requests is below a threshold that keeps users satisfied.  
       [0018] Another aspect of the invention, relates to the use of multiple priority queues whereby the number of agents assigned to each queue is adjusted dynamically to ensure that the response time for each queue does not exceed a critical configurable limit associated with that queue, called the Maximum Acceptable Response Time (MART). The MART is typically set to a very short time, such as 15 seconds, for the highest priority queue, and to a long time, such as 30 minutes, for the lowest priority queue.  
       [0019] Another aspect of the invention is a web-based method that enables certain participating customer service agents, called Agents-On-Demand, to sign up at their convenience, for specific time-segments that need to be covered. These time-segments are determined by a customer service scheduler that takes into consideration the predicted volume of user&#39;s requests. The method includes a pay premium algorithm that computes the pay premium necessary to ensure sufficient participation by Agents-On-Demand. For the users that are searching the Selection-Oriented Knowledge Base, the predicted volume of “NEED HELP” requests is estimated by a Help Requests Predictor.  
       [0020] Another aspect of the invention relates to a process for encouraging the users to search the Selection-Oriented Knowledge Base before attempting to schedule a voice session with an agent. If the user encounters some difficulty while searching the Selection-Oriented Knowledge Base, then the user is given priority voice access to a customer service agent just by clicking the “NEED HELP” button. The process rewards the user in accordance with an algorithm whereby the priority for access to an agent increases with the amount of effort made by the user to search for answers.  
       [0021] Another aspect of the invention relates to Distributed Customer Service Centers whereby the agents can operate from any location, including their own home. Such Distributed Customer Service Centers can resort to several neglected sectors of the educated labor force, such as housewives and retires, that may enjoy working from home, to staff Agents-On-Demand positions. The Agents-On-Demand sign up for time segments during which they standby, ready to respond to inquiries when needed.  
       [0022] Another aspect of the invention relates to Collaborative Customer Support Centers. In accordance with this aspect, groups of service agents can be cross-trained, organized, and coordinated to provide customer service and technical support for multiple brands of products of the same type.  
       [0023] Another aspect of the invention, relates to a co-browsing method that allows agents and users to see the same web page during a voice service session. In accordance with this method the voice service agent enters, in a dedicated field, a link to a web page the agent wants the user to see and then tells the user to click on a “SHOW ME” button to display that page on the user&#39;s browser. Such web page is then used to facilitate the verbal communication between the agent and the user.  
       [0024] Another aspect of the invention relates to a web based Directory-of-Subscribers where the user can browse institutions that subscribe to the Customer Service Management System and select the institution of interest. In response to the selection by the user, the Customer Service Management System displays the customer service web page related to that institution.  
       [0025] Further aspects of this invention will become apparent in the Detailed Description and by reference to the attached drawings. The Detailed Description contains the following Sections:  
       [0026] I. Overview and System Components  
       [0027] II. Customer Service Manager  
       [0028] III. Customer Service Scheduler  
       [0029] IV. Scheduling a Customer Service Phone Call  
       [0030] V. Online Scheduling of Customer Service  
       [0031] VI. Selection-Oriented Knowledge Base  
       [0032] VII. Navigational Archive  
       [0033] VIII. User Activity Analyzer  
       [0034] IX. Help Requests Predictor  
       [0035] X. Service Agents Scheduler  
       [0036] XI. Voice Services Archives  
       [0037] XII. Distributed Customer Service Centers  
       [0038] XIII. Collaborative Customer Support Centers  
       [0039] XIV. User-Agent Co-browsing  
       [0040] XV. Directory of Subscriber Institutions  
       [0041] XVI. Conclusion 
     
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
     [0042]FIG. 1 illustrates one embodiment of the present invention including the Customer Service Management System and various components associated with users, customer service agents, and supervisors.  
     [0043]FIG. 2 shows a block diagram of a preferred embodiment of the Customer Service Management System.  
     [0044]FIG. 3 illustrates a preferred process for managing customer service inquiries.  
     [0045]FIG. 4 illustrates a preferred process for scheduling a phone session with a qualified customer service agent.  
     [0046] FIGS.  5 A-D illustrate a preferred process that enables the user to schedule a phone session with a qualified customer service agent.  
     [0047]FIG. 6 illustrates an example of a login page in one embodiment of the web site associated with the Customer Service Management System.  
     [0048] FIGS.  7 A-B illustrate an example of a user registration web page in one embodiment of the web site associated with the Customer Service Management System.  
     [0049] FIGS.  8 A-D depict an example of a web page to identify the subject of the user&#39;s inquiry in one embodiment of the web site associated with the Customer Service Management System.  
     [0050]FIG. 9 depicts an example of a web page for the user to provide product references related the inquiry in one embodiment of the web site associated with the Customer Service Management System.  
     [0051]FIG. 10 depicts an example of a web page to identify the general nature of the problem in one embodiment of the web site associated with the Customer Service Management System.  
     [0052] FIGS.  11 A-D depict an example of a web page that prompts the user to answer questions that isolate the problem in one embodiment of the web site associated with the Customer Service Management System.  
     [0053]FIG. 12 depicts an example of a web page that prompts the user to select between scheduling a voice session or continuing to navigate the knowledge base in one embodiment of the web site associated with the Customer Service Management System.  
     [0054] FIGS.  13 A-B depict an example of a web page where the user can select from a choice of four alternatives for scheduling a phone session with an agent in one embodiment of the web site associated with the Customer Service Management System.  
     [0055] FIGS.  14 A-D depict an example of the first selection in FIG. 13B.  
     [0056] FIGS.  15 A-D depict an example of the second selection in FIG. 13B.  
     [0057] FIGS.  16 A-D depict an example of the third selection in FIG. 13B.  
     [0058]FIG. 17 depicts an example of the fourth selection in FIG. 13B.  
     [0059]FIG. 18 depicts an illustrative diagram of the Rooted-Selection-On-Vertex (RSVO) network that supports the Selection-Oriented Knowledge Base in one embodiment of the present invention.  
     [0060]FIG. 19 depicts the typical configuration of a Selection Vertex and a Resolution Vertex of the Rooted-Selection-On-Vertex (RSVO) network that supports the Selection-Oriented Knowledge Base in one embodiment of the present invention.  
     [0061] FIGS.  20 A-B depict an example of web pages for a Resolution Vertex that show the resolution of the inquiry in one embodiment of the web site associated with the Customer Service Management System.  
     [0062]FIG. 21 shows an outline of the various sections that can be displayed in the web page for a typical Selection Vertex.  
     [0063] FIGS.  22 A-B illustrate a preferred process that improves the search speed of and ease of use of the Selection-Oriented Knowledge Base.  
     [0064]FIG. 23 shows an illustrative graph of Mean Search Time versus a configurable reference parameter, RefP.  
     [0065]FIG. 24 shows a table that maps priority level to the Maximum Acceptable Response Time (MART) of service queues.  
     [0066]FIG. 25 illustrates the mapping of the EP/PP/SV space onto the EP/RT/SV space.  
     [0067]FIG. 26 illustrates the UWEP/RT/SV space and the CUMRT/SV space.  
     [0068]FIG. 27 depicts a table illustrating how activities requiring customer service agents are allocated to priority queues.  
     [0069]FIG. 28 depicts an illustrative graph of the number of Regular Agents and Agents-On-Demand versus time, expressed in Hour Time Units.  
     [0070]FIG. 29 depicts a sign up web page for Agents-On-Demand. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
     [0071] In the following description, reference is made to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific embodiments or processes in which the invention may be practiced. Where possible, the same reference numbers are used throughout the drawings to refer to the same or like components. In some instances, numerous specific details are set forth in order to provide a thorough understanding of the present invention. The present invention, however, may be practiced without the specific details or with certain alternative equivalent devices and methods to those described herein. In other instances, well-known methods and devices have not been described in detail so as not to unnecessarily obscure aspects of the present invention.  
     [0072] I. Overview and System Components  
     [0073]FIG. 1 illustrates one embodiment  100  of the present invention. The Customer Service Management System  102  includes a web server  104 . The web server  104  hosts a web site  106  through which a user  120  can schedule a voice session with a customer service agent  140  and may also access a Selection-Oriented Knowledge Base described with reference to FIG. 2. The Customer Service Management System  102  is preferably operated by each organization (not illustrated) that provides customer service in accordance with this invention. Alternatively the Customer Service Management System  102  may be operated by an independent subcontracting service that operates a Customer Service Management System in accordance with this invention.  
     [0074] The user  120  accesses the web site  106  through a web browser  122  running on a user computer  124  capable of accessing and displaying web pages. The user computer  124  may be, for example, a personal computer, a palmtop device configured with a web browser, or a wireless device that may access web pages using wireless applications protocol (WAP). The user computer  124  is preferably connected to the host system  102  through a computer network  110 , such as the Internet. The computer network  110  can include a combination of networks, such as a wireless network combined with the Internet. The user  120  has also access to a telephone  126  for voice communication with a customer service agent  140 . If the user  120  has access the Internet  110  while using the telephone  126 , the user computer  124  can display, concurrently with the voice connection, pertinent materials to improve and facilitate the communication with the customer service agent  140 .  
     [0075] The agent  140  accesses the web site  106  through a web browser  142  running on an agent computer  144  capable of accessing and displaying web pages. The agent computer  144  is preferably connected to the Customer Service Management System  102  through a computer network  110 , such as the Internet. The agent  140  has also access to a telephone  146  that can be used for voice communication with the user  120 .  
     [0076] A supervisor  160 , who preferably supervises a group of agents  140 , accesses the web site  106  through a web browser  162  running on a supervisor computer  164  capable of accessing and displaying web pages. The supervisor computer  164  is preferably connected to the host system  102  through a computer network  110 , such as the Internet. The supervisor  160  has also access to a telephone  166  for voice communication. Phone conferencing and call transfer are preferably available to enable the supervisor  160  to participate in or take over a voice service session.  
     [0077] The Customer Service Management System  102  provides web pages  128  of the web site  106  to the user  120  through the computer network  110 , the user computer  124 , and the web browser  122 . The user  120  provides user entries  130  to the Customer Service Management System  102  through the web browser  122 , the user computer  124 , and the computer network  110 . The user entries  130  preferably identify user selections and answers to questions presented to the user  120  by the web pages  128 .  
     [0078] The Customer Service Management System  102  also creates servicing instructions  148  which are assigned by a scheduling system to an agent  140 . These instructions are based upon the user entries  130  previously provided by the user  120  to the Customer Service Management System  102  via the web pages  128 . The servicing data  150  generated by the agent  140  during the voice service session with the user  120  includes all the relevant information that caused the user  120  to seek assistance from a customer service agent  140  and a brief report on how the inquiry submitted by the user  120  was addressed and resolved.  
     [0079]FIG. 2 shows a block diagram of a preferred embodiment of the Customer Service Management System  102 . In addition to the web server  104  and the web site  106  previously shown in FIG. 1, it shows the following modules:  
     [0080] (1) Customer Service Manager  202 .  
     [0081] (2) Customer Service Scheduler  204 .  
     [0082] (3) Service Agents Scheduler  206 .  
     [0083] (4) Scheduled Voice Services Archive  208 .  
     [0084] (5) Knowledge Base Manager  210 .  
     [0085] (6) Selection-Oriented Knowledge Base  212 .  
     [0086] (7) Navigational Archive  214 .  
     [0087] (8) User Activity Analyzer  216 .  
     [0088] (9) Help Requests Predictor  218   
     [0089] (10) User Registration &amp; Profile Records  220 .  
     [0090] (11) Unscheduled Voice Services Archive  222 .  
     [0091] The Customer Service Manager  202  is a module that operates as a command and control center to manage and coordinate all the functions performed by the Customer Service Management System. This module supervises the activities of the following modules: Customer Service Scheduler  204 , Service Agents Scheduler  206 , Scheduled Voice Services Archive  208 , Knowledge Base Manager  210 , User Registration &amp; Profile Records  220 , and Unscheduled Voice Services Archive  222 .  
     [0092] The Customer Service Scheduler  204  is a module that operates and maintains the schedules for all customer service voice sessions, including those initiated by “NEED HELP” requests submitted by users searching the Selection-Oriented Knowledge Base  212 .  
     [0093] The Service Agents Scheduler  206  is a module that operates and maintains the schedules for all service agents.  
     [0094] The Scheduled Voice Services Archive  208  is a module that maintains records of all voice service sessions scheduled through an appointment or a “NEED HELP” request. In contrast, the Unscheduled Voice Services Archive  222  is a module that maintains records of all voice service sessions that are not associated with an appointment or a “NEED HELP” request and relate to customers that elect to wait on hold for a customer service agent. Because the data in the Scheduled Voice Services Archive  208  is used for the improvement of the performance of the Customer Service Management System  102  it needs to be separated from the voice sessions with customers that elect to wait on hold.  
     [0095] The Knowledge Base Manager  210  is a module that supervises and coordinates the operation of the four modules: Selection-Oriented Knowledge Base  212 , Navigational Archive  214 , User Activity Analyzer  216 , and Help Requests Predictor  218 .  
     [0096] The Selection-Oriented Knowledge Base  212  is a module that includes a knowledge base to address inquiries. This knowledge base is preferably supported by a Rooted-Selection-On-Vertex (RSVO) network comprising selection vertices and resolution vertices, described later in this specification. The RSOV network serves as a repository of knowledge organized by classes of inquiries which represent areas of expertise associated with vertices. After a user accesses the customer service web site  106  and clicks on the Site Entrance button  604  of FIG. 6, the Customer Service Management System  102 , automatically connects the user to the Selection-Oriented Knowledge Base  212 . Thereafter, every action the user takes is guided by the Selection-Oriented Knowledge Base.  
     [0097] The Navigational Archive  214  is a module that includes a database of all user activities within the Selection-Oriented Knowledge Base  212 .  
     [0098] The User Activity Analyzer  216  is a module that includes an expert system program to analyze the activities of the users that visit the Selection-Oriented Knowledge Base  212 , comprising Navigational Paths, path schedules, and use of “NEED HELP” requests.  
     [0099] The Help Requests Predictor  218  is a module that uses the analysis generated by the User Activity Analyzer  216  to predict, in real-time, the probability that a user will generate a “NEED HELP” request at a given vertex and at given time as the user navigates through the Selection-Oriented Knowledge Base  212 . This probability is used by the Knowledge Base Manager  210 , to anticipate the demand for qualified agents at each vertex and to generate a look-ahead demand matrix of needed agents versus vertices. This matrix can be updated frequently and then transmitted to the Service Agents Scheduler  206  which can alert Agents-On-Demand to be ready to promptly reply to anticipated “NEED HELP” requests.  
     [0100] The User Registration &amp; Profile Records  220  is a module that includes a database of registration records of those users that register to obtain access to the Customer Service Management System  102  via the Internet. In addition to user identification information the registration records comprise any call-back phone numbers the user may want to provide for customer service sessions.  
     [0101] The Unscheduled Voice Services Archive  222  is a module that includes a database of the customer service sessions requested by those users that do not wish to use the scheduling system and decide to wait on hold until a customer service agent is available.  
     [0102] II. Customer Service Manager  
     [0103] The Customer Service Manager  202  is the main module of the Customer Service Management System  102 . It coordinates the operation of all the other modules, including the web server  104 . The operation of the Customer Service Manager  202  is described with reference to processes  300 ,  400 , and  500 , by which an organization can offer customer service to the users of its products or services. Process  300 , depicted in FIG. 3, is described in this section, process  400 , depicted in FIG. 4, is described in Section III, and process  500 , depicted in FIG. 5, is described in Section IV.  
     [0104]FIG. 3 illustrates a preferred process  300  for managing customer service inquiries. At a step  301 , a call addressed to a toll-free customer service phone number is received by an Interactive Voice Response (IVR) system.  
     [0105] At step  302  the IVR system preferably announces two choices. The first choice advises that if the caller has access to the Internet, a faster phone connection to a customer service agent can be obtained through a web site which is announced by the IVR. The second choice advises the user that a scheduling representative will be available momentarily to schedule a voice session with a qualified customer service agent.  
     [0106] At step  303 , the scheduling representative also asks if the user has access to the Internet. An important part of this step is to educate and encourage the user to use the Internet option to the extent possible and overcome the bad personal experiences some users may have had with poorly designed Internet based systems. Preferably, the scheduling representative explains the benefits of the Internet option in terms of efficiency, flexibility, speed, and customer satisfaction. If step  303  is affirmative, at step  304  the scheduling representative suggests using the Internet.  
     [0107] At step  305 , the scheduling representative establishes if the user is willing to use the Internet to personally schedule a voice session with a qualified customer service agent. If step  305  is affirmative, at step  306  the scheduling representative provides the user any assistance that may be necessary to help the user schedule a voice session via the Internet. Preferably the scheduling representative takes advantage of the opportunity to properly train the user so that at the next occurrence the user will not need any assistance to schedule a customer service session on the Internet. If step  305  is not affirmative, the process continues at step  307 . Likewise, if step  303  is not affirmative, the process also continues at step  307 .  
     [0108] At step  307 , the scheduling representative asks if the user whishes to schedule a voice session with a qualified customer service agent and preferably emphasizes the advantages of scheduling versus waiting online. If step  307  is affirmative, at step  308  the scheduling representative schedules, on the behalf of the user, a voice session with a qualified customer service agent in accordance with the user&#39;s instructions. If step  303  is not affirmative, at step  309  the scheduling representative places the user&#39;s call on a queue that services unscheduled inquiries, described later in Section X, to be answered by the first available agent.  
     [0109] The long term goal of this process is to encourage users who have access to the Internet to directly schedule their own customer service voice sessions via the Internet without assistance from a scheduling representative. While the user is on the phone, preferably the scheduling representative also explains many of the other features of the Customer Service Management System  102  described in this invention, including the Selection-Oriented Knowledge Base. Over time, as more and more users realize the advantages and benefits of this system, the reliance on customer service agents should significantly decrease.  
     [0110] III. Customer Service Scheduler  
     [0111]FIG. 4 illustrates a preferred process  400  for scheduling a phone session with a qualified customer service agent. At a step  401 , the user visits the customer service web site. For the purposes of this description it is assumed that the web site has provisions for the user to provide unique identification and contact information. Identification and contact information are necessary for the execution of certain steps associated with this process and other processes described later in Section IV. One embodiment of web pages for the user to provide such information is described in Section V with reference to the example illustrated in FIGS. 6, 7A, and  7 B.  
     [0112] At a step  402 , the user preferably selects from a menu the main subject of the inquiry. At a step  403 , the user provides any applicable product or service references. If the inquiry relates to a product such references can be model, serial number, date of purchase or any other information necessary to fully identify the product. If the inquiry relates to a service such references can be user identification, account number or any other information necessary to uniquely identify, for the purposes of the customer service scheduling system, the recipient of the service.  
     [0113] At a step  404 , if the inquiry relates to a problem, the user preferably selects from an expandable selection menu the general nature of the problem.  
     [0114] At a step  405 , if the inquiry relates to a problem, the user is preferably prompted to answer any applicable questions that may further isolate the problem.  
     [0115] At a step  406 , the user is preferably offered the opportunity to decide whether or not to access the Selection-Oriented Knowledge Base before attempting to schedule a phone session with a customer service agent.  
     [0116] If step  406  is affirmative, at step  407  the user accesses and searches the Selection-Oriented Knowledge Base  216  for the identified product or service. At any time during the search the user can continue with step  408  by clicking a “NEED HELP” button to contact a customer service agent. The “NEED HELP” button is preferably prominently displayed on each web page associated with the Selection-Oriented Knowledge Base  216 . The “NEED HELP” button increases the level of the user&#39;s confidence in the system. It offers the user the comfort that computer intelligence is always supplemented by human intelligence, whenever needed, to efficiently resolve the user&#39;s inquiry.  
     [0117] At a step  409 , the user&#39;s activity while searching the Selection-Oriented Knowledge Base  216 , is analyzed by a User Activity Analyzer  214  to determine if the user has earned sufficient priority to receive a priority call from a customer service agent. The User Activity Analyzer  214  is an expert system program which is described later in Section VIII.  
     [0118] If step  409  is affirmative, at step  410  the user receives a call from a customer service agent after a short wait, the duration of which is preferably displayed on the web page.  
     [0119] If step  409  is not affirmative, at step  411  the user can schedule a voice session with a customer service agent in accordance with the process described in Section IV below.  
     [0120] If step  406  above is not affirmative, the process also continues with step  411 .  
     [0121] The priority system associated with step  409  rewords users for their efforts in trying to resolve their inquiries without assistance from a customer service agent. If the user makes a considerable effort, the “NEED HELP” request is placed on a very high priority queue to be serviced within a very short time in the order of seconds. On the other end, if the user clicks the “NEED HELP” button immediately after accessing the Selection-Oriented Knowledge Base the priority earned is considered insufficient to place the request on even a low priority queue. In this case the user is linked to the scheduler in accordance with step  411 . Preferably the priority system associated with step  409  uses a configurable algorithm described later in Section VIII.  
     [0122] IV. Scheduling a Customer Service Phone Call  
     [0123] FIGS.  5 A-D illustrate a preferred process  500  that enables the user to schedule a phone session with a qualified customer service agent. At a step  501 , a web page displays a default duration for the phone session the user is requesting. This default duration is predicted by statistical analysis of historical records of voice customer service sessions associated with similar inquiries. These records which are preferably stored in the Scheduled Voice Services Archive module  208  are described in Section XI below. The expected duration of the phone session is an important parameter used by the Customer Service Scheduler  204  to efficiently allocate available resources to service voice session requests submitted by users.  
     [0124] At a step  502 , the user is prompted to either accept the default duration or select a different duration. A different duration can be selected from a pull-down menu or entered directly by the user in a duration field.  
     [0125] At a step  503 , the web page preferably displays a time-map of available slots for the selected duration. This time-map can show the ranges of time for which agents are available as well as the ranges of time for which all the agents are already booked. This display provides the user a global view of agent availability from which the user can make the most convenient selection.  
     [0126] At a step  504 , the web page preferably displays a selection of alternative methods for the user to schedule a voice session with a customer service agent. These alternative methods preferably comprise the following:  
     [0127] (a) Select a specific time-slot corresponding to the projected session duration, based upon agent availability, as shown on the time-map.  
     [0128] (b) Select a FROM-TO segment-of-time during which the user clicks on an “I AM READY” button to trigger the voice session process.  
     [0129] (c) Select a FROM-TO segment-of-time during which the user is willing to accept a call-back to address the inquiry.  
     [0130] (d) Fast-Track option for quick questions.  
     [0131] Alternative (a) matches the availability of the user with the availability of qualified agents. The user can select a convenient time-slot; the user does not have to wait on the phone; and the user&#39;s phone line is not tied up. The agents can operate at maximum efficiency because scheduling tends to reduce idle time to insignificant levels  
     [0132] Alternative (b) applies to the case where the user cannot determine in advance an exact time-slot for the voice service session but there is a FROM-TO time range within which the user will be able to recognize an opportune time to have the voice session. Later, when it is convenient within this time range, the user clicks on a button labeled “I AM READY” on the web page. The user&#39;s request is then placed on a high priority queue to be serviced within a very short time. Because these service sessions are expected, the Service Agents Scheduler  206  can adjust the average number of agents needed to maintain the length of the wait below a given limit. However, to simplify the scheduling algorithm and to prevent abuse, the FROM-TO time range can be limited to a specified value which can be configurable. For the benefit of the user the web page can display the expected length of the short wait before voice contact with an agent.  
     [0133] Alternative (c) applies to the case where the user cannot determine in advance an exact time-slot for the voice service session but there is a FROM-TO time range within which it is convenient for the user to receive a call-back from a customer service agent. For example, the user plans to be home between 3:00 PM and 4:30 PM. This alternative is similar to alternative (b) but gives the Customer Service Scheduler  204  more flexibility to set an agent call-back for a time that improves the productivity of the Customer Service Scheduler  204  while complying with the user&#39;s need.  
     [0134] Alternative (d) applies to the case where the user has a question that an agent can quickly resolve. The definition of quick is determined by a configurable parameter that sets an automatic limit to the duration of the session, such as 3 minutes for example. The web page displays a warning informing the user that the phone session is subject to automatic termination after the preset time. A recorded message, providing a configurable grace period to give the parties the opportunity to end the session orderly, can be inserted into the conversation at the expiration of the preset time limit. An additional feature may allow the Customer Service Scheduler  204  to extend the time limit if there are no conflicting inquiries that must be serviced. This feature can display any anticipated time of conflict on the agent&#39;s browser and leave to the agent&#39;s discretion when to end the session prior to the time of conflict.  
     [0135] At a step  505 , if the consumer selects alternative (a) the process continues with step  521  in FIG. 5B.  
     [0136] At a step  506 , if the consumer selects alternative (b) the process continues with step  541  in FIG. 5C.  
     [0137] At a step  507 , if the consumer selects alternative (c) the process continues with step  561  in FIG. 5D.  
     [0138] At a step  508 , if the consumer selects alternative (d) the process continues with step  571  in FIG. 5D.  
     [0139]FIG. 5B illustrates a preferred sub-process associated with alternative (a). At a step  521 , the user clicks on the desired time-slot to select it. At a step  522 , the web page provides the user two options:  
     [0140] (I) To receive a call at the selected time. This option can be set as the default.  
     [0141] (II) To initiate a call to a specified toll-free number at the selected time.  
     [0142] If the user selects option (I), the process continues with step  523  where the web page prompts the user to provide a call-back phone number.  
     [0143] At step  524 , the user provides a call-back phone number. The user can provide the phone number on the web page by selecting from a list of previously supplied contact numbers or by entering the desired number in a designated field.  
     [0144] At a step  525 , an agent calls the user at the scheduled time at the number previously provided by the user. At a step  526 , if the user answers the call, the agent conducts the voice session to resolve the user&#39;s inquiry. At a step  527 , if the user does not answer the call, further attempts are made to reach the user based upon a configurable algorithm. For example, call every 2 minutes until the user answers or the originally scheduled time-slot expires. At a step  528 , if an attempt succeeds, the agent conducts the voice session subject to any time constraints arising out of the delay in establishing contact. At a step  529 , if all attempts fail, the session is cancelled and preferably the user is notified by email of the attempts to establish contact.  
     [0145] If the user selects option (II), the process continues with step  530  where the web page displays a toll-free number for the user to call at the scheduled time and a reference number for the user to enter on the phone keypad. This reference number allows the Customer Service Manager  202  to recognize the user and direct the call to the appropriate agent. At step  531 , the user initiates the customer service call to the toll-free phone number and enters the required reference number on the phone keypad. At step  532  an agent answers the scheduled call and conducts the voice session to resolve the user&#39;s inquiry.  
     [0146] The sub-process of FIG. 5B does not address the possibility that the user fails to initiate the scheduled call to the toll-free phone number. Such possibility has no practical impact upon the operation of the Customer Service Management System  102  and further there are many conceivable ways of addressing such occurrence. For example, the Customer Service Manager  202  could cancel the scheduled session after a configurable wait and free the allocated agent to address other inquiries.  
     [0147]FIG. 5C illustrates a preferred sub-process associated with alternative (b). At a step  541 , the web page displays “FROM” and “TO” fields for the user to specify a segment-of-time. At a step  542 , the user enters the “FROM” and “TO” times to specify the desired segment-of-time. Preferably, at this point the Customer Service Manager  202  suspends the user&#39;s customer service scheduling session and stores all the information necessary for the user to resume the session at a later time. When it is convenient during the specified segment-of-time, the user can logon again and resume the suspended session. At a step  543 , the user clicks the “I AM READY” button. This step communicates to the Customer Service Manager  202  the user&#39;s readiness to initiate the customer service voice session. At a step  544 , the Customer Service Scheduler  204  preferably displays on the web page the projected length of the short wait before an agent will be available.  
     [0148] At a step  545 , the web page provides the user two options:  
     [0149] (I) To receive a call after the short wait. This option can be set as the default.  
     [0150] (II) To initiate a call to a specified toll-free number.  
     [0151] At step  545 , if the user selects option (I), the process continues with step  546  where the user is prompted to provide a call-back phone number.  
     [0152] At step  547  the user provides a call-back phone number. This step may be executed through a selection menu that displays alternative phone numbers that may have been previously stored in the User Registration &amp; Profile Records  218  in connection with the user&#39;s registration.  
     [0153] At step  548  an agent calls the user after the anticipated short wait and conducts the voice service session. This sub process does not anticipate the possibility that at step  548  the user does not answer the call after clicking on the “I AM READY” button. Such possibility has no practical impact upon the operation of the Customer Service Management System  102  and further there are many conceivable ways of addressing such occurrence. For example, the Customer Service Manager  202  could cancel the session, free the allocated agent to address other inquiries, and notify the user by email that the service call was placed, as requested, but not answered.  
     [0154] At step  545 , if the user selects option (II), the process continues with step  549  where the web page displays a toll-free phone number for the user to call and a reference number for the user to enter on the phone keypad when prompted. The reference number is used by the Customer Service Manager  202  to identify the anticipated service session.  
     [0155] At step  550 , if the user&#39;s call is received within a preset time limit, an agent answers the call and conducts the voice service session.  
     [0156] At step  551 , if the user&#39;s call is not received within a preset time limit the scheduled session is cancelled.  
     [0157] In alternative embodiments the user can be given the additional flexibility to choose the order of certain steps. For example, the user may be given various choices with respect to when to make the decision between receiving and originating the service call. Such decision could be made before any service sessions are scheduled, as a default; before step  541 ; after step  542 ; or at any other point in the process provided the decision is made before the service call takes place. This additional flexibility can be convenient if the user is in a position to select between receiving and originating the service call prior to clicking the “I AM READY” button.  
     [0158]FIG. 5D illustrates two preferred sub-processes. The first is associated with alternative (c) and includes steps  561  through  563 . The second is associated with alternative (d) and includes steps  571  through  577 .  
     [0159] With reference to alternative (c), at a step  561  the web page displays “FROM” and “TO” fields for the user to enter a segment-of-time during which it is convenient for the user to receive a call-back from a customer service agent. In addition, the web page prompts the user to provide a call-back phone number. To simplify the user&#39;s task, the web page can display a selection of numbers the user may have previously entered in the User Registration &amp; Profile Records database. The user can either click on the desired number or enter a new number in a designated field.  
     [0160] At step  562  the user enters in the “FROM” and “TO” fields the desired times that defined the convenient segment-of-time and provides the desired call-back phone number.  
     [0161] At step  563  an agent calls the user during the defined segment-of-time at the call-back phone number provided by the user. This sub process does not anticipate the possibility that at step  563  the user does not answer the call placed by the agent during the segment-of-time defined by the user. Such possibility has no practical impact upon the operation of the Customer Service Management System  102  and further there are many conceivable ways of addressing such occurrence. For example, the Customer Service Scheduler  204  can make additional attempts to reach the user whenever an opportunity arises as a result of an agent becoming available during the defined segment-of-time. If an attempt succeeds the service session is conducted. If not the service request is cancelled and the user is notified via email of the failed attempts.  
     [0162] With reference to alternative (d), at a step  571  the web page prompts the user to provide a call-back phone number. This step may be executed through a selection menu that displays alternative phone numbers that may have been previously stored in the User Registration &amp; Profile Records  218  in connection with the user&#39;s registration. At step  572  the user provides the call-back phone number.  
     [0163] At step  573  the web page displays a warning informing the user that the voice session is subject to automatic termination after a specified duration and displays the projected short wait before the user receives a call-back from a customer service agent. The warning operates as a deterrent against abuse of the Fast-Track option for quick questions. In special circumstances, the length of the short wait may be of importance to the user. The wait is generally kept below a configurable limit, due to the coordinated actions of the Customer Service Scheduler  204  and the Service Agents Scheduler  206 .  
     [0164] At step  574 , the user is preferably offered the opportunity to decide whether to continue or make another selection. The user may decide that the allocated time for Fast-Track service is too short for the anticipated inquiry or that the displayed wait is not compatible with the urgency of the inquiry.  
     [0165] If step  574  is affirmative, at step  575  an agent calls the user at the call-back phone number provided within the stated short wait. At step  576 , if the user answers the call, the voice session is conducted and if the user does not answer the call, preferably the service session is cancelled and no further action is taken.  
     [0166] If step  574  is not affirmative, at step  577  the process goes back to step  504  for the user to make another selection.  
     [0167] V. Online Scheduling of Customer Service  
     [0168] This section illustrates with reference to FIGS.  6 - 18 , a set of example web pages that can be provided by the web site  106  to support the operation of the Customer Service Management System  102 .  
     [0169]FIG. 6 illustrates an example of the login page  600  where a user can execute step  401  of process  400 , in one embodiment of the web site  106 . This web page shows a Login Window  602 , for registered users and a Registration Window  606 , for unregistered users. Upon entering the proper identification and authentication information in the Login Window  602 , a registered user can access customer service by clicking the ‘SITE ENTRANCE” button  604 . Unregistered users are directed to the Registration Window  606 , where they can access the user registration web page by clicking on the “REGISTRATION” button  608 .  
     [0170] FIGS.  7 A-B illustrate an example of a user registration scrolling web page  700  where a user can execute step  401  of process  400 , in one embodiment of the web site  106 . FIG. 7A shows the upper part of the page and FIG. 7B shows the lower part. This page provides a section for the user&#39;s name  701 , a section for identification and authentication  702 , and a section for contact information  703 . The only section that is required is the identification and authentication  702 . The user is required to complete these fields before the User Registration &amp; Profile Records module  218  will accept the registration. The Customer Service Management System  102  needs this information to uniquely identify each user. The other sections are not required but help the Customer Service Management System  102  better serve the user when completed. This feature gives users that may be concerned about privacy issues the opportunity to remain anonymous while enjoying most of the benefits provided by the Customer Service Management System  102 . An important part of the contact information  703 , consists of the call-back phone numbers, which the user can enter in section  704 . If the user decides to complete this sub-section, a note  705  asks the user to select one of the phone numbers as the default. Later, when the user schedules a call-back customer service session, the list of the call-back phone numbers, including the pre-selected default, can be displayed on the scheduling web page for the user&#39;s selection by a simple click. A “Site Entrance” button  706  provides automatic access to the site upon completion of the registration. An alternate “Register Me” button permits the user to register without entering the site.  
     [0171] FIGS.  8 A-D depict an example of a scrolling web page  800  where a user can execute step  402  of process  400 , in one embodiment of the web site  106 . This web page shows a set of expandable menus such that when the user makes a selection, that selection expands into a sub-menu. The expandable web-based menus, which can be similar in content to the conventional phone menus, used by IVR (Interactive Voice Response) systems, offer significant advantages over their IVR counterparts. First, they are much faster for the user to capture and operate since the human eye and finger are much faster than the voice. Second they can offer the user much richer descriptive and pictorial content with multimedia technology. Third, they can give the user global multilevel menu perspectives that enhance the user&#39;s ability to make selections.  
     [0172]FIG. 8A shows a first level menu. FIG. 8B shows a second level expansion of the menu after the user clicks on “Technical Support.” FIG. 8C shows a third level expansion of the menu after the user clicks on “Major Appliances.” FIG. 8D shows a third level expansion of the menu after the user clicks on “dishwashers.” 
     [0173]FIG. 9 depicts an example of a web page  900  where a user can execute step  403  of process  400 , in one embodiment of the web site  106 . This page displays a field for the user to enter the model number of the dishwasher  901  and a field for the user to enter the serial number  902 . Other information such as date of purchase, service contracts, and warranty period can also be added if appropriate.  
     [0174]FIG. 10 depicts an example of a web page  1000  to identify the general nature of the user&#39;s problem in one embodiment of the web site  106 . This page displays a single level menu from which the user selected “Water won&#39;t pump out of the tub.” 
     [0175] FIGS.  11 A-D depict an example of a web page  1100  where step  405  of process  400  is executed. This web page prompts the user to answer multiple choice questions that isolate the problem in one embodiment of the web site  106 . FIG. 11A tries to establish where the dishwasher drains. FIG. 11B, after the user selected “Into a kitchen sink air gap,” asks if the user has checked the air gap for clogging. In FIG. 11C, the user clicks on “No” upon which the web page  1100  displays instructions on how to inspect and clean the air gap and then asks the user if the air gap was clogged. After the user clicks on the selection “No,” the web page  1100  displays the conclusion resulting from the user&#39;s answers. FIG. 11D shows the end of the web page  1100  which displays a statement thanking the user for helping localize the nature of the inquiry.  
     [0176] The type of data collected during the steps illustrated in FIGS.  8 - 11  provides the foundation for the development of the Selection-Oriented Knowledge Base  216  which is described in Section VI below.  
     [0177]FIG. 12 depicts an example of a web page  1200  where step  406  of process  400  is executed. This web page prompts the user to select between scheduling a voice session with a customer service agent and continuing to navigate the Selection-Oriented Knowledge Base in one embodiment of the web site  106 .  
     [0178] FIGS.  13 - 18  depict an example of a scrolling web page where process  500  is executed, referred to as the “Scheduling Page.” This process enables the user to schedule a voice session with a customer service agent.  
     [0179] FIGS.  13 A-B illustrate the introductory part  1300  of the Scheduling Page. FIG. 13A illustrates how steps  501 - 503  of process  500  can be executed. It shows the default duration  1301  for the voice session and a time-map window  1302  indicating the times during which an agent can be scheduled to address the user&#39;s inquiry. The user can accept the default duration or select another duration by using the pull-down menu or by directly entering the desired value. As the page is scrolled, FIG. 13B still shows the time-map  1302  and also shows a menu  1303  that offers the user four convenient alternatives to schedule a session with a customer service agent. These alternatives illustrate how step  504  of process  500  can be executed.  
     [0180] FIGS.  14 A-D illustrate the area  1400  of the Scheduling Page which relates to the first selection in FIG. 13B, where the user selects a specific time-slot corresponding to the projected service session duration based upon agent availability as shown on the time-map.  
     [0181]FIGS. 14A and 14B illustrate how step  521  of process  500  can be executed.  
     [0182]FIG. 14A displays the appearance of the page before the user makes any entries. It shows the applicable time-map window  1401 , the selected duration for the phone session  1402 , the current date and time  1403 , and the fields for the user to enter the desired start date and time  1404 . By default, the start date and time can be set, as shown, to the earliest opening associated with the selected session duration. It is important to realize that agents are likely to be available sooner for short sessions than for long sessions.  
     [0183] The time-map window  1401  also shows the time axis zoom  1405 , the “SELECT” button  1406 , the time-map  1407  and the scroll bar  1408 . The time axis zoom can adjust the amount of time that is visible in the time-map  1407 . The time axis scale is shown in blocks of 5 minute resolution. These blocks, which preferably can be adjusted to one minute resolution, provide an alternative method to select the start time by clicking on the corresponding block. The “SELECT” button  1406  is for the user to press after all the selections are completed. In the time-map  1407  the hatched blocks of time  1409  represent the periods during which all agents are booked and the clear blocks of time  1410  represent the periods during which agents are available.  
     [0184]FIG. 14B displays the appearance of the page after the user makes the desired entries. It shows, on the upper part of the time-map, the selected segment-of-time  1411  for the phone session with a customer service agent.  
     [0185]FIGS. 14C and 14D illustrate how steps  522 ,  523 ,  524 , and  530  of process  500  can be executed.  
     [0186]FIG. 14C displays the area  1412  of the Scheduling Page where the user makes the selection between receiving and originating the call for the customer service session. The selection for the user to receive a call  1413  lists all the call-back phone numbers, provided by the user, which are stored in the User Registration and Profile Records  218 . This selection can also include a provision for the user to enter a different phone number. If the user&#39;s profile contains a default number, that number can be pre-checked if the user makes this selection. The selection for the user to originate the call  1414  lists the tool-free number to call  1415  and a reference code  1416  for the user to enter upon a prompt by the answering IVR system. This reference code is used by the Customer Service Scheduler  204  to recognize the scheduled session and direct the call to the agent assigned to that session.  
     [0187]FIG. 14D displays the area  1417  of the Scheduling Page which contains a recap of the user&#39;s selections  1418  and an “ACCEPT” button  1419  for the user to click if the selections are acceptable.  
     [0188] FIGS.  15 A-D illustrate the area  1500  of the Scheduling Page which relates to the second selection in FIG. 13B, where the user selects a FROM-TO segment-of-time during which the user clicks on an “I AM READY” button to trigger the voice session process.  
     [0189]FIGS. 15A and 15B illustrate how steps  541 ,  542 , and  543  of process  500  can be executed.  
     [0190]FIG. 15A displays the appearance of the page before the user makes any entries. It shows the applicable time-map window  1501  and the fields for the user to define the desired segment-of-time by entering the start date and time  1502  and the end date and time  1503 . It also shows the “I AM READY” button  1504 , which when clicked by the user during the selected segment-of-time causes the user&#39;s inquiry to be placed on a high priority queue to be serviced within a very short time.  
     [0191]FIG. 15B displays the appearance of the page after the user makes the desired entries. It shows, on the upper part of the time-map, the selected segment-of-time  1505  during which the phone session with a customer service agent can be initiated on the click of the “I AM READY” button  1504 .  
     [0192]FIGS. 15C and 15D illustrate how steps  544 - 547  and  549  of process  500  can be executed.  
     [0193]FIG. 15C displays the area  1506  of the Scheduling Page where the user makes the selection between receiving and originating the call for the customer service session. This area is similar to the area  1412  of FIG. 14C with the addition of a field that displays a projected short wait for an agent to become available  1507 .  
     [0194]FIG. 15D displays the area  1508  of the Scheduling Page which contains a recap of the user&#39;s selections  1509 , a field that displays an updated value for the projected short wait  1510 , and an “ACCEPT” button  1511  for the user to click if the selections are acceptable.  
     [0195] FIGS.  16 A-D illustrate the area  1600  of the Scheduling Page which relates to the third selection in FIG. 13B, where the user selects a FROM-TO segment-of-time during which an agent can call the user to conduct the voice service session. These FIGS.  16 A-D illustrate how steps  561  and  562  of process  500  can be executed.  
     [0196]FIG. 16A displays the appearance of the page before the user makes any entries. It shows the applicable time-map window  1601  and the fields for the user to define the desired segment-of-time by entering the start date and time  1602  and the end date and time  1603 .  
     [0197]FIG. 16B displays the appearance of the page after the user makes the desired entries. It shows, on the upper part of the time-map, the selected segment-of-time  1604  during which a customer service agent can call the user to conduct the voice service session.  
     [0198]FIG. 16C displays the area  1605  of the Scheduling Page where the user makes the selection of a call-back phone number.  
     [0199]FIG. 16D displays the area  1606  of the Scheduling Page which contains a recap of the user&#39;s selections  1607  and an “ACCEPT” button  1608  for the user to click if the selections are acceptable  
     [0200]FIG. 17 illustrates the area  1700  of the Scheduling Page which relates to the fourth selection in FIG. 13B, when the user selects the “Fast-track” option for a quick question. This Figure illustrates how steps  571 - 574  and  577  of process  500  can be executed. It displays a window  1701  for the user to make the required entries. This window shows the user selections for a call-back phone number  1702 , the current time  1703 , the approximate wait for an agent  1704 , a “SELECT” button  1705 , and an “ACCEPT” button  1706 .  
     [0201] VI. Selection-Oriented Knowledge Base  
     [0202] Human beings tend to experience significant difficulty in expressing thoughts or observations in a uniform manner that is independent of the thinker or observer. If ten people observing exactly the same event were independently asked to describe the event, the most likely outcome would be ten diverse descriptions with little in common. On the other end, human beings possess natural interpretive capabilities that tend to be relatively uniform and extremely powerful, far exceeding the performance of the most advanced expert systems presently available.  
     [0203] The conventional approach used by expert systems to conduct a search of a knowledge base is to use search criteria provided by the user to identify portions of the knowledge base content that match such criteria. The criteria typically consist of key words, groups of keywords, or logical combinations of keywords. However, such criteria are generally inadequate to represent what the user really has in mind. This is because the meaning and the interpretation of a word are highly dependent on the context in which the word is used, and such context is not provided to the expert system by the user. Often the context extends to a significant amount of other knowledge stored in the user&#39;s mind, which may have been cumulated over long time. It would be very impractical, if not impossible, to convey such knowledge to an expert system. For example, an “inside joke” which can only be interpreted by a limited number of people who are privileged to the context within which such joke has meaning, could not possibly be interpreted by an expert system. This is because the context often involves knowledge that even the people privileged to the context may not be able to describe in words.  
     [0204] The Selection-Oriented Knowledge Base  212  interacts with the user in accordance with a two step process. The first step is to clearly identify the mental object the user has in mind. The second step is to find the information the user may be seeking, related to that mental object.  
     [0205] The Selection-Oriented Knowledge Base  212  integrates the power of expert systems with the interpretive capabilities of human beings to provide an effective high performance knowledge base to fully identify the mental object the user has in mind. The Selection-Oriented Knowledge Base  212  does not place upon the user the burden of describing the mental object. Instead, it helps the user&#39;s thinking process by displaying a sequence of intuitively recognizable menu selections that eventually lead to mental object the user has in mind. To take full advantage of the human senses and interpretive capabilities, each of the menu selections can be presented by any available type of multimedia format comprising text, graphics, and sound. After the mental object is clearly identified any related issues can be appropriately addressed either directly by knowledge stored in the Selection-Oriented Knowledge Base or via links to any other knowledge base that may contain the desired knowledge.  
     [0206] The Selection-Oriented Knowledge Base  212  relies on the following two conditions:  
     [0207] (1) The mind of the user has insufficient information to satisfy the user with respect to all the properties associated with the mental object the user has in mind; otherwise there would be no need to consult the knowledge base.  
     [0208] (2) The mind of the user has sufficient information in terms of some properties associated with the mental object the user has in mind to be able to express a significant part of that mental object.  
     [0209] The Selection-Oriented Knowledge Base provides a system to access the interpretive capabilities of human beings which enable them to easily recognize an object presented to their senses when a counterpart of that object is present in their mind as a mental object (you know it when you see it). The Selection-Oriented Knowledge Base combines this system with an iterative selection process to identify the mental object the user has in mind. The Selection-Oriented Knowledge Base starts with a general mental object that contains the mental object the user has in mind. Then it presents to the user a selection of more specific mental objects, each obtained by adding to the general mental object at least one more property to make each selection distinct. Upon each selection by the user it continues to present to the user new selections that are progressively more specific, until the mental object the user has in mind is fully recognized.  
     [0210] The infrastructure to support the Selection-Oriented Knowledge Base  212  can be provided by a special type of Activity On Vertex (AOV) network. An AOV network is a directed graph in which the vertices represent tasks or activities and the edges represent precedence relations between the tasks. A more detailed description of an AOV network can be found in E. Horowitz, S. Sahni, and S. Anderson-Freed,  Fundamentals of Data Structures in C.  New York, N.Y.: Computer Sciences Press, 1993, p 303-309.  
     [0211] In one embodiment of this invention, two special types of AOV networks are used to support the Selection-Oriented Knowledge Base  212 . These networks, called Selection-On-Vertex (SOV) and Rooted-Selection-On-Vertex (RSOV), respectively, are defined below.  
     [0212] While the Selection-Oriented Knowledge Base  212 , the Selection-On-Vertex (SOV) network, and the Rooted-Selection-On-Vertex (RSOV) network will be described within the context of customer service inquiries it is to be understood that such context is merely illustrative of, and not restrictive on, the broad scope of these three aspects of this invention which can apply to other types of knowledge bases or inquiries.  
     [0213] This specification is described with reference to a Rooted-Selection-On-Vertex (RSOV) network because it offers the convenience of a single point of entry. However it is to be understood that an implementation can use the Selection-On-Vertex (SOV) network which provides for multiple points of entry or any other type of data structure by which this invention may be practiced.  
     [0214] To facilitate the description of the Selection-Oriented Knowledge Base  212  and make it clearer for the reader, the following definitions will be used:  
     [0215] Definition: A Property of an object is used in the context herein to refer to a quality, trait, feature, attribute, characteristic, peculiarity, mark, etc., present in the object.  
     [0216] Definition: A Mental Object of an object is a non-empty set of Properties of the object which can be envisioned in a person&#39;s mind.  
     [0217] Definition: Within the context of Mental Objects, the “Universe of Discourse” is the set of all Mental Objects which a human being can envision.  
     [0218] Definition: A Class of Mental Objects is a subset of the Universe of Discourse such that all its elements have at least one Property in common.  
     [0219] Definition: A Proper Sub-Class of Mental Objects of a Class of Mental Objects is the set of those elements of the Class of Mental Objects which have at least one Property in common that is not present in the other elements of the Class of Mental Objects.  
     [0220] Definition: An Inquiry is a request for information expressed as a mental object.  
     [0221] Definition: Within the context of Inquiries, the “Universe of Discourse” is the set of all inquiries that can be made.  
     [0222] Definition: A Class of Inquiries is a subset of the Universe of Discourse such that all its elements have at least one property in common.  
     [0223] Definition: A Proper Sub-Class of a Class of Inquiries is the set of those elements of the Class of Inquiries which have at least one Property in common that is not present in the other elements of the Class of Inquiries.  
     [0224] Definition: A Selection Vertex is a vertex that represents a Class of Mental Objects and in which the activity is the selection of one of a plurality of Proper Sub-Classes of the Class of Mental Objects.  
     [0225] Definition: A Root Vertex is a Selection Vertex that has no predecessor.  
     [0226] Definition: A Resolution Vertex is a vertex that has no successor and in which the activity is the recognition that a Mental Object has been satisfactorily identified.  
     [0227] Definition: A Selection-On-Vertex (SOV) network is an Activity On Vertex (AOV) network with the following properties:  
     [0228] (1) Has at least one Root Vertex.  
     [0229] (2) Each vertex that is not a Root Vertex is either a Selection Vertex or a Resolution Vertex.  
     [0230] (3) Each immediate successor of a Selection Vertex represents the Proper Sub-Class of Mental Objects associated with the corresponding selection in the Selection Vertex.  
     [0231] Definition: A Rooted-Selection-On-Vertex (RSOV) network is a Selection-On-Vertex (SOV) network with exactly one Root Vertex.  
     [0232] Definition: A Path is a sequence of at least two distinct vertices, each adjacent to the next. A Path with exactly two vertices is also called an edge.  
     [0233] Definition: A Proper Sub-Path of a Path is a partial sequence of distinct vertices of the Path, each adjacent to the next, which contains fewer vertices than the Path.  
     [0234] Definition: The Path Length of a Path is the number of vertices in the Path minus one.  
     [0235] Definition: A Navigational Path is a Path that starts at a Root Vertex and ends at a Resolution Vertex.  
     [0236] Definition: A Shortcut of a Path is an edge that connects two non-adjacent vertices of that Path.  
     [0237] Definition: A Shared Shortcut of a Group of Paths is a Shortcut of each Path in the Group.  
     [0238] Definition: An Express Path of a Navigational Path is the Path obtained by applying at least one Shortcut to that Navigational Path.  
     [0239] Definition: The Current Vertex is the vertex currently being visited by the user, along the Navigational Path that the user is following.  
     [0240] Definition: The Current Time is the calendar time, expressed as date and time-of the-day, at which the user arrives at the Current Vertex.  
     [0241] Definition: The Navigational Library of a given Selection-On-Vertex (SOV) network is the set of all the distinct Navigational Paths that can be defined for that network.  
     [0242] Definition: A Path Schedule of a given Path for a given user is a chronological record of the dates and times at which that user visits each succeeding vertex in the Path.  
     [0243] Definition: The Navigational Archive of a given Selection-On-Vertex (SOV) network for a specified time period is the complete record of all the Navigational Paths followed by users over that time period. This record comprises items such as the Navigational Path identification, the user identification, the Path Schedule of each user, etc.  
     [0244] Definition: An Evolving Path is a Proper Sub-Path of a Navigational Path that starts at a Root Vertex and ends at the Current Vertex the user is visiting.  
     [0245] Definition: The Weight of an Evolving Path is the count of the number of active users currently on that Evolving Path.  
     [0246] Definition: A Potential Path of an Evolving Path is a Navigational Path of which the Evolving Path is a Proper Sub-Path.  
     [0247] Definition: A Discernable Path is a Proper Sub-Path of no more than NDiscern Potential Paths, where NDiscern is a configurable integer.  
     [0248] Definition: A Rooted Discernable Path is a Discernable Path that starts at a Root Vertex.  
     [0249] Definition: A Successor Path of an Evolving Path is a Path that starts at the Current Vertex and ends at a Successor Vertex of the Current Vertex.  
     [0250] Definition: The Resolution Probability of a specific Resolution Vertex is equal to the count of the Navigational Paths in the Navigational Archive that end at that Resolution Vertex, divided by the total count of all Navigational Paths in the Navigational Archive.  
     [0251] Definition: The Hit Probability of a Potential Path of an Evolving Path is equal to the count of that Potential Path in the Navigational Archive divided by the total count of all Potential Paths of that Evolving Path, in the Navigational Archive.  
     [0252] Definition: The Combined Hit Probability of a Group of Potential Paths of an Evolving Path is equal to the sum of the Hit Probabilities of the Potential Paths in the Group.  
     [0253] Definition: The Basic Menu of a Selection Vertex is a selection menu that consists of the titles of the each of the vertices that are immediate successors of that Selection Vertex.  
     [0254] Definition: The Supplemental Menu of a Selection Vertex is a selection menu that consists of the titles of one or more vertices that are successors but not immediate successors of that Selection Vertex.  
     [0255] Definition: The symbol RefP denotes a configurable reference parameter to which a multiple of the Hit Probability of a Potential Path can be compared.  
     [0256] Definition: The symbol RefP0 is an initial value selected for RefP.  
     [0257] Definition: A Frequent Path denotes a Potential Path of an Evolving Path with a Hit Probability at least equal to RefP/NFP where “NFP” (Number of Frequent Paths) is a small configurable integer equal to at least 1 and at most MNFP and where MNFP (Maximum Number of Frequent Paths) is a configurable integer equal to at least 1 and typically no more than 4.  
     [0258] Definition: A Frequent Path Set is a set of Potential Paths, each of which is a Frequent Path for a given value of NFP.  
     [0259] Definition: A Preferred Path is a Potential Path of an Evolving Path with a Hit Probability at least equal to RefP/NPP where “NPP” (Number of Preferred Paths) is a small configurable integer equal to at least (1+MNFP) and at most (MNFP+MNPP) and where MNPP (Maximum Number of Preferred Paths) is a small configurable integer equal to at least 1 and typically no more than 5.  
     [0260] Definition: A Preferred Path Set is a set of Potential Paths, each of which is a Preferred Path for a given value of NPP.  
     [0261] Definition: The Current Time at a given Vertex is the calendar time at which the user arrives at that Vertex.  
     [0262] Definition: The Search Time of a Path, for a given user, is the difference between the Current Time at the last Vertex of the Path and the Current Time at the first Vertex of the Path.  
     [0263] Definition: The Mean Search Time (MST) of a Path is the mean of a sample of Search Times of that Path.  
     [0264] Definition: The NEED HELP Generation Time (NHGT) is the time span from the moment a user arrives at a Vertex and the moment the NEED HELP request is generated.  
     [0265] Definition: The Mean NEED HELP Generation Time (MNHGT) is the mean of a sample of NEED HELP Generation Times.  
     [0266] Definition: The Optimum RefP is the value of RefP for which the Mean Search Time is minimum.  
     [0267] Definition: DeltaRefP is a configurable value by which RefP can be decremented or incremented to seek the Optimum RefP.  
     [0268] Definition: A State, in the evolution of an implementation of the Selection-Oriented Knowledge Base  212 , is a complete specification of the Selection-Oriented Knowledge Base that is in effect over a finite period of time called the Life Cycle of the State. The specification comprises the topological configuration of the Selection-On-Vertex network and all the operating parameters that uniquely characterize the Selection-Oriented Knowledge Base during the Life Cycle of that specific State.  
     [0269] Definition: A vertex is designated as Tagged if it is a potential candidate for upgrade.  
     [0270] Definition: The symbol NT is a configurable natural number that denotes the maximum number of vertices that can be designated as Tagged during the Life Cycle of a particular State.  
     [0271] Definition: The Search Effort is a real number that quantifies, in accordance with a given criterion, the amount of effort made by a user to reach the Current Vertex, while navigating the Selection-Oriented Knowledge Base.  
     [0272] Definition: The variable RT is used to express future time relative to the Current Time at the Current Vertex.  
     [0273] Definition: A Relative Time Unit (RTU) is a configurable unit associated with the variable RT. Examples of Relative Time Units are 10 seconds, 20 seconds, 1 minute, etc.  
     [0274] Definition: A Selection-Oriented Knowledge Base is a knowledge base preferably configured as a Selection-On-Vertex (SOV) network, whereby a user can convey to the Selection-Oriented Knowledge Base the Mental Object the user has in mind by following a Path along the Selection-On-Vertex (SOV) network and making the desired selections at each Selection Vertex visited until a Resolution Vertex is reached. If the Mental Object the user has in mind represents an Inquiry, the Resolution Vertex can further point the user to the resolution of the Inquiry.  
     [0275]FIG. 18 provides an illustration of a Rooted-Selection-On-Vertex network  1800 . It shows a plurality of Resolution Vertices, such as Resolution Vertex  1801 , which are all labeled with the letter “R”, and have no successors. It shows a plurality of Selection Vertices, such as Selection Vertices  1802  through  1806 , with 2 through 6 successors, respectively. The Root Vertex  1806  is a Selection Vertex which has no predecessor. In accordance with the definition of the Rooted-Selection-On-Vertex network, any vertex, other than the Root Vertex or one of its immediate successors, may have more than one immediate predecessor. Examples of vertices with multiple immediate predecessors are Selection Vertex  1807 , Selection Vertex  1808 , Resolution Vertex  1809  and Resolution Vertex  1810 . This topology provides alternative paths that lead to the same vertex, a feature that significantly increases the flexibility of the Selection-Oriented Knowledge Base  212 . If a user makes a poor selection at any vertex the desired destination can still be reached, in most cases, through an alternate path. Although the alternate path may be longer than the optimal path, it is likely to be much shorter than a path that involves retracing some steps back to the point where the poor selection was made. From the user&#39;s perspective, an alternate path tends to be more appealing than the sense of waste of time associated with retracing steps.  
     [0276]FIG. 19 illustrates a block diagram of one embodiment of a Selection Vertex  1900  and a Resolution Vertex  1910 . The Selection Vertex  1900 , preferably includes a descriptive title of the subject vertex  1901 , a reference to a table of properties that characterize the Class of Mental Objects with which the subject vertex is associated  1902 , a reference to each immediate successor of the subject vertex  1903 , a reference to a help-file to help the user find the best applicable selection available in the subject vertex  1904 , a reference to the most recent Navigational Archive  1905 , and a reference to the Hit Probability of each Potential Path that includes the subject vertex, whereby the Hit Probability can be evaluated at the subject vertex.  
     [0277] The Resolution Vertex  1910 , preferably includes a descriptive title of the subject vertex  1911 , a reference to a table of properties that characterize the Class of Mental Objects with which the subject vertex is associated  1912 , a reference to a statement that completely describes the Mental Object associated with the subject vertex  1913 , a reference to a table of tests that may help to fully identify the Mental Object  1914 , and, if the Mental Object is an Inquiry, a reference to a complete statement of resolution of the Inquiry associated with the subject vertex  1915 .  
     [0278] The descriptive titles  1901  and  1911  can be used to identify the Current Vertex. These descriptive titles can be displayed on the web page associated with the Current Vertex while the user is navigating the Selection-Oriented Knowledge Base  212 . They can also be used to generate and display the selection menu on the web page associated with each specific Selection Vertex  1900 . This can be done by scanning the immediate successors of the Current Vertex to extract their respective titles. Further, it provides the flexibility to dynamically manipulate the order of the selections of the Basic Menu.  
     [0279] The references to tables of properties  1902  and  19012  are used to appropriately narrow the scope of each Mental Object. As the user proceeds through a path starting at the Root Vertex  1806 , for each new vertex visited, the scope of the Class of Mental Objects associated with that vertex is more specific than that of the previous vertex. Eventually the user reaches a Resolution Vertex where the associated class has exactly one element and relates to one specific Mental Object. At the Resolution Vertex all the properties that uniquely identify the Mental Object have been established enabling the user to fully recognize the Mental Object. If the Mental Object is an Inquiry, then the appropriate resolution of the inquiry can be provided.  
     [0280] The references to the immediate successors of the subject Current Vertex  1903  are associated with the edges that start at the subject Current Vertex and end at each of its immediate successors. These references can be used as an adjacency list that facilitates the movement from one vertex to the next.  
     [0281] The reference to a help-file to help the user find the best applicable selection available in the Current Vertex  1904  can be called from the web page where the user makes the selection. Typically this is done through a button labeled “Details” that the user can click. This help-file can provide additional details about each menu selection. In addition, it can provide suggestions in the form of “if then” statements where the “if” is associated with a guess of what the user may have in mind and the “then” is associated with the suggested menu selection.  
     [0282] The reference to the most recent Navigational Archive  1905  can be used by the User Activity Analyzer  216 , to generate suggestions that can be included in the help-file  1904 .  
     [0283] The reference to the Hit Probability of each Potential Path that includes the Current Vertex provides access to the statistical data necessary to anticipate the Mental Object the user has in mind. For each Potential Path that includes the Current Vertex the Hit Probability is preferably stored in a table that can be periodically updated to maintain the Selection-Oriented Knowledge Base  212  current.  
     [0284] The reference to a statement that completely describes the Mental Object associated with the subject Resolution Vertex  1913  can be used to display, on the web page associated with that Resolution Vertex, a confirmation of the Mental Object for the benefit of the user. If the Mental Object is an Inquiry, it can display a confirmation of the Inquiry before a resolution of the Inquiry is displayed. Such confirmation can clarify any potential misunderstanding that may have occurred between the user and the Selection-Oriented Knowledge Base  212 .  
     [0285] The reference to a table of tests that may help to fully identify the Mental Object  1914  can be used, in the case of an Inquiry, to identify what prompted the user to submit the Inquiry. This information can also be used by the User Activity Analyzer  214  to predict user behavior. In addition it can be used to determine if a deficiency in a product or service is responsible for the Inquiry, in which case the information collected can be extremely valuable in any effort to correct such deficiency.  
     [0286] The reference to a complete statement of resolution of the Inquiry associated with the subject Resolution Vertex  1915  can be used to facilitate the display of the resolution on the web page associated with that Resolution Vertex, for the benefit of the user.  
     [0287] FIGS.  20 A-B show two example web pages that are used to illustrate some aspects of the Selection-Oriented Knowledge Base  212  in the following set of hypothetical circumstances. A user accesses the customer service web site of a company that supplies telephone headsets to inquire about a headset malfunction. After visiting several vertices, the user eventually arrives at a vertex where one of the selections clearly expresses the symptoms the user is observing.  
     [0288]FIG. 20A illustrates a web page  2000  from one embodiment of the Selection-Oriented Knowledge Base  212 . To obtain general instructions the user can, at any time, click a button  2001 . The page has a title  2002  that describes, for the benefit of the user, the vertex currently being visited. A menu box  2003  contains several menu selections among which the user may find the one that exactly expresses the malfunction the user is observing  2004 . For each menu selection, there is a “Details” button  2005  which, when clicked, provides the user additional details about that selection.  
     [0289] Another special box  2006 , addresses the case where none of the menu selections in the menu box  2003  correctly describes what the user is observing. It contains a statement  2007  explaining such case and instructing the user to click on “Other”  2008  as the alternative. The selection “Other” provides a natural language text box  2009  for the user to enter any helpful keywords that may help the Selection-Oriented Knowledge Base  212  better identify what the user has in mind. After the user makes the desired selections a statement  2010  instruct the user to click on the “SELECT” button  2011  to complete the selection process.  
     [0290] Preferably, all the menus contain the special selection “Other” to ensure that the user never encounters a dead-end. In the Selection-Oriented Knowledge Base  212 , the user&#39;s inquiry is either correctly represented by one of the specific menu choices listed or falls in the general category labeled “Other” which includes all the other possibilities.  
     [0291] This feature addresses one of the most important aspects of this invention which is the integration of machine power and human interpretation capability to cost effectively address users inquiries. In accordance with this aspect, the resolution of an inquiry is addressed by the Selection-Oriented Knowledge Base  212 , up to the point where the Selection-Oriented Knowledge Base  212  can guide the user to an appropriate resolution of the inquiry. After that point the resolution of the inquiry is transferred to a qualified agent that seamlessly extends the Selection-Oriented Knowledge Base  212  and provides the user the needed help.  
     [0292] The seamless transfer of the resolution is supported by the Help Requests Predictor module  218  described in Section IX below. Using anticipated “NEED HELP” forecasts, the Customer Service Scheduler  204  is able to schedule an agent to call a user within seconds after a “NEED HELP” request is generated. From the user&#39;s perspective, this feature can make the response to customer service inquiries appear seamless.  
     [0293]FIG. 20B illustrates another web page  2020  from one embodiment of the Selection-Oriented Knowledge Base  212  which is displayed after the user clicks the SELECT button  2011  of FIG. 20A. A statement  2021  restates the observed symptoms and asks the user to eliminate various potential causes that could explain the observed symptoms. A box  2022  lists several potential causes that could explain the observed symptoms, such as (2) Microphone adjusted too low  2023 . In this example, since the user eliminated all the potential causes listed, the web page displays a statement  2024  suggesting a likely explanation for the observed symptoms and recommending that the user clicks the NEED HELP button  2025 . In this case the resolution of the inquiry is seamlessly transferred to an agent that will contact the user within the approximate time shown on the display window  2026 . The circumstances just described provide an example of the seamless resolution of user&#39;s inquiries  
     [0294] Another significant aspect of the Selection-Oriented Knowledge Base  212  is that its acquisition of knowledge can take place by an evolutionary process in which the user plays a very important role. The Selection-Oriented Knowledge Base  212  starts with a Setup Phase during which the Root Vertex, all of its immediate successors, and any number of additional vertices can be created from previously available knowledge.  
     [0295] The Setup Phase is followed by a Learning Phase during which a significant amount of knowledge is added. Part of this knowledge is automatically collected during the process by which users navigate through the vertices of the Selection-Oriented Knowledge Base. Another part is collected by agents that respond to scheduled voice customer service sessions and “NEED HELP” requests. Additional details regarding the collection of such knowledge are provided later in Sections VII and XI.  
     [0296] At the completion of the Learning Phase, the Selection-Oriented Knowledge Base reaches a stage of maturity whereby no further knowledge can be cost effectively added. This happens when the residual inquiries that require agent assistance are practically limited to those few that rarely occur. There is a crossover point where the investment to develop the appropriate knowledge to address residual inquiries has no payback when equated to the cost of the customer service agents necessary to address such residual inquiries. Such crossover point establishes the completion of the Learning Phase. The Selection-Oriented Knowledge Base  212  can be provided with appropriate algorithms that compute and compare the costs and automatically establish this crossover point for the benefit of system managers responsible for the operation of the Selection-Oriented Knowledge Base.  
     [0297] Once the Learning Phase is declared complete, the Selection-Oriented Knowledge Base enters the Maintenance Phase during which no significant effort is applied to knowledge development. The maintenance work is essentially limited to edits and updates to reflect any changes in the environment in which the knowledge base operates including changes in user behavior.  
     [0298] One significant aspect of the Learning Phase is that it consists of a discrete sequence of States of the Selection-Oriented Knowledge Base whereby each State in the sequence reflects an improved level of knowledge and performance over the previous State. For each State, a separate State Navigational Archive is generated over the Life Cycle of that State. The information collected in a State Navigational Archive provides the foundation to generate upgrades for the next State. Preferably, the minimum length of the Life Cycle of a State is determined by the amount of information that needs to be archived to satisfy sample size requirements for statistical analysis. The maximum length of the Life Cycle of a State can be determined by cost versus benefit analysis of potential upgrades waiting to be deployed.  
     [0299] The upgrades from one State to the next involve any changes that may be deemed appropriate to improve the operation of the Selection-Oriented Knowledge Base  212 , and can comprise the following:  
     [0300] (1) Topological changes of the Selection-On-Vertex network such as addition and deletion of vertices, addition of new edges to create Shortcuts and Express Paths, etc.  
     [0301] (2) Upgrades of the descriptive titles of certain vertices to resolve misunderstandings uncovered from the analysis of NEED HELP requests and user suggestions.  
     [0302] (3) Upgrades of the properties that characterize certain Classes of inquiries to resolve misunderstandings uncovered from the analysis of NEED HELP requests and user suggestions.  
     [0303] (4) Upgrades of the help files of certain Selection Vertices.  
     [0304] (5) Upgrades of the inquiry descriptions and resolutions associated with certain Resolution Vertices.  
     [0305] (6) Adjustments of the various configurable parameters of the Selection-Oriented Knowledge Base.  
     [0306] With respect to topological changes, the addition of Shortcuts and Express Paths is justified when the Navigational Archive of the current State indicates that a Proper Sub-Path of a Navigational Path Experiences very heavy traffic. In this case a Shortcut can be created by the addition of a new edge that directly links the first and last vertices of the Proper Sub-Path. This addition creates an Express Path which has two beneficial effects. First, the Selection-Oriented Knowledge Base operates faster. This is because the web pages associated with the intermediate vertices need not be displayed for all the users that follow the Express Path. Second, the frequently selected menu items that, without the Express Path, were presented to the user at a later vertex are now presented to the user in an earlier vertex. This option tends to make the user&#39;s search faster and easier.  
     [0307] Another significant aspect of the Learning Phase is that all vertices are continuously monitored for the number of NEED HELP requests they generate. At the end of the Life Cycle of each State, a total of NT vertices with the highest incidence of NEED HELP requests can be designated as Tagged. The natural number NT is preferably configured to reflect the developmental resources that can be dedicated to upgrade Tagged vertices. This approach establishes a priority system for the upgrade of vertices that optimizes the rate of improvement of the Selection-Oriented Knowledge Base, over time, for a given set of resources. When the upgrade work is declared complete a date and time can be selected for the transfer of the Selection-Oriented Knowledge Base from the current State to a new State. Once the new State is in effect a new State Navigational Archive is preferably started for the new Sate. In addition a copy of the previous State Navigational Archive can be created and adjusted to reflect, to the extent possible, the data it would have contained had the upgrades introduced by the new State been in effect during the previous State. These adjusted State Navigational Archives can provide valuable data for the initial operation of the new State while the new State Navigational Archive has insufficient data to perform meaningful statistical analysis.  
     [0308] The upgrade of Tagged vertices relies on the analysis of data associated with NEED HELP requests which includes information stored in the Scheduled Voice Services Archive  208 . Preferably, voice service agents are instructed to collect information describing the reasons why the user encountered difficulties. The analysis tries to identify the potential deficiencies that triggered the requests. For Selection Vertices, the analysis focuses on the respective Classes of Inquiries that need to be improved off-line to address the deficiencies. For Resolution Vertices the analysis focuses on either improving the identification of the Mental Object or Inquiry the user has in mind or spawning new vertices associated with new Classes of Mental Objects or Inquiries that may have to be created to properly address such Mental Objects or Inquiries. The creation of new Mental Objects or Inquiries may involve tests the user is asked to perform to further narrow and identify the issue that confused the user.  
     [0309] Another significant aspect of the Selection-Oriented Knowledge Base  212  relates to a method and process to improve performance in terms of search speed and ease of use. The method relies upon knowledge acquired in past States, the current State, and the Evolving Path the user is following, to make predictions about the potential Mental Object or Inquiry the user has in mind. FIGS. 21 and 22A-B help explain this method. FIG. 21 shows an outline  2100  of various sections  2101 - 2105  that can be displayed in the web page of a Selection Vertex. Two of these sections illustrate the following basic actions by which the search speed and ease of use can be improved:  
     [0310] (1) Displaying in the Guess Section  2103  of the Current Selection Vertex, one or more guesses with a very high Hit Probability of representing the Mental Object or Inquiry the user has in mind, and then letting the user accept one of the guesses or reject all guesses. These guesses are associated with Frequent Paths that may have been detected.  
     [0311] (2) Displaying in the Supplemental Menu Section  2105  of the Current Selection Vertex, one or more entries from the menus associated with potential successor vertices that are not immediate successors but belong to a Preferred Path that may have been detected.  
     [0312] FIGS.  22 A-B illustrate a process  2200  to provide the aforementioned improvements in accordance with one embodiment of this invention. Starting with FIG. 22A, at step  2201  the user accesses the Root Vertex to search the Selection-Oriented Knowledge Base  212 . At step  2202 , the user visits the next vertex. At step  2203  the User Activity Analyzer  216  analyzes the Evolving Path. At step  2204 , the User Activity Analyzer  216  determines if the Evolving Path is a Discernable Path. If step  2204  is affirmative, the process continues with step  2205 , otherwise the process goes back to step  2202 .  
     [0313] At step  2205 , the User Activity Analyzer  216  computes the Hit Probability for each Potential Path of the Evolving Path. At step  2206  the User Activity Analyzer  216  determines if at least one Frequent Path Set has been detected. If step  2206  is not affirmative, the process continues with step  2210 . If step  2206  is affirmative, the process continues with step  2207 .  
     [0314] At step  2207  the Selection-Oriented Knowledge Base  212  displays, in the Guess Section  2103  of the web page for the Current Selection Vertex, a menu of the Mental Objects or Inquiries associated with each of the identified Frequent Paths. The Guess Section also displays a selection indicating that none of the displayed Mental Objects or Inquiries are applicable. In addition, the Guess Section can provide a conditional statement advising that if one of the inquiries displayed exactly reflects what the user has in mind, select that inquiry by clicking on the corresponding box. If not, click on the box corresponding to the not applicable case.  
     [0315] At step  2208 , the User Activity Analyzer  216  analyzes the user&#39;s response to determine if the user selected one of the Mental Objects or Inquiries displayed. If step  2208  is affirmative the process continues with step  2209 . At step  2209  the Selection-Oriented Knowledge Base  212  takes the user directly to Resolution Vertex associated with the selected Mental Object or Inquiry. If step  2208  is not affirmative the process continues with step  2210 .  
     [0316] At step  2210 , the User Activity Analyzer  216  determines if a Preferred Path Set has been detected. If step  2210  is not affirmative, the process continues with step  2214 , where the user visits the next vertex. If step  2210  is affirmative, the process continues with step  2211 .  
     [0317] At step  2211  the Selection-Oriented Knowledge Base  212 , displays, in the Supplemental Menu Section  2105  of the web page for the Current Selection Vertex  2100 , the menu items that are associated with each of the identified Preferred Paths. This Supplemental Menu Section  2105  contains a statement suggesting to the user that one of the selections in this section may represent what the user has in mind more closely than the selections in the Basic Menu Section  2104 . The user can select from the Supplemental Menu Section  2105  or from the Basic Menu Section  2104 .  
     [0318] At step  2212  the User Activity Analyzer  216 , analyzes the user selection to determine if the user made a selection from the Supplemental Menu Section. If step  2212  is not affirmative, the process continues with step  2214 , where the user visits the next vertex. If step  2212  is affirmative, the process continues with step  2213 . At step  2213  the Selection-Oriented Knowledge Base  212  takes the user directly to the corresponding Selection Vertex. From step  2214 , the process goes back to step  2205 .  
     [0319] Another significant aspect of the Selection-Oriented Knowledge Base  212 , is a method by which the configurable parameter RefP can be automatically adjusted to the value Optimum RefP for which the Mean Search Time is reduced to a minimum. FIG. 23 shows an illustrative graph  2300  of Mean Search Time (MST)  2301  versus RefP  2302  which helps describe such method in one embodiment of this invention.  
     [0320] Initially RefP is set to a very high value, close to 100%, denoted as RefP0. For example, the value selected for RefP0  2303  can be 90% as shown in FIG. 23. After a suitable statistical sample is collected, the corresponding Mean Search Time (MST) is computed. The corresponding data point  2304  is illustrated in graph  2300  for Ref0 equal to 90%  2303  and MST equal to 240 seconds  2305 . In view of the fact that RefP0 is very high, only a small number of users will experience the benefits of process  2100  to improve Search Time. However, the few users that benefit will experience very significant reductions in Search Time, because the guesses presented to these few users have a very high probability of being correct.  
     [0321] Next the value of RefP is decremented by a configurable value, DeltaRefP, and again a statistical sample is collected, from which a new MST is computed. Because more users are now exposed to the benefits of process  2100 , it is expected that the MST will decrease. This cycle of decrementing RefP, collecting a statistical sample of Search Times, and computing MST is then repeated for as long as the value of MST continues to decrease.  
     [0322] Eventually, after a number of repetitions of the cycle the value of MST starts to increase. This is because users waste more time reviewing unlikely guesses than the time gained by selecting the few likely ones. This difficulty could be partially circumvented by displaying on the web page, next to each guess, the corresponding Hit Probability. Further the guesses could be sorted in descending order of Hit Probability. However such approach lacks simplicity and demands from the user a higher level of judgment, which is impractical.  
     [0323] The minimum Mean Search Time (MST) is represented in FIG. 23 by data point  2308 . For this data point, the value of RefP  2307 , called the Optimum RefP, is equal to 30% and the corresponding value of MST is equal to 60 seconds. The Selection-Oriented Knowledge Base can automatically seek this minimum by measuring MST for values of RefP above and below the suspected minimum data point  2308 .  
     [0324] Since the value of Optimum RefP can be affected by numerous external factors, including fluctuations or changes in user behavior, the automatic seek for the minimum MST can be repeated at regular intervals to ensure that the Selection-Oriented Knowledge Base is continually operating at the highest level of search efficiency. Another efficiency monitor that can be used is a moving average of the Mean Search Time for every Path in the Navigational Library.  
     [0325] VII. Navigational Archive  
     [0326] The Navigational Archive module  214  is the repository for the navigation records of all the users that search the Selection-Oriented Knowledge Base  212 . These records, which contain extremely valuable data, preferably comprise the following items:  
     [0327] (1) The sequence of vertices visited by the user upon each access to the Selection-Oriented Knowledge Base  212 . This sequence, called a Path, starts at the Root vertex  1806  and can end on any vertex.  
     [0328] (2) The date and time of each access to the Selection-Oriented Knowledge Base  212 .  
     [0329] (3) The Path Schedule expressed in terms of the arrival time at each visited vertex in the path, including the Root Vertex.  
     [0330] (4) The user identification provided by the user during the registration process. This is not the user&#39;s name. Users that wish to remain anonymous do not need to provide personal information during the registration process.  
     [0331] (5) If a “NEED HELP” request is generated by the user at a vertex, the identification of the subject vertex and the date and time of the “NEED HELP” request.  
     [0332] The Navigational Archive records are preferably stored in a database where they can be easily accessed for off-line and real-time analysis. The User Activity Analyzer  216 , the Help Requests Predictor  218 , and the people responsible for the upgrades of the Selection-Oriented Knowledge Base  212  are some of the more frequent users of the Navigational Archive  214 . The Navigational Archive also provides, in combination with the Scheduled Voice Services Archive  208 , very valuable information for research and analysis of customers.  
     [0333] As described in the previous Section, during the Learning Phase a separate State Navigational Archive is created for each State of the Learning Phase. In one embodiment of this invention, these State Navigational Archives and the adjusted copies thereof discussed in the previous Section are all part of the Navigational Archive module  214 .  
     [0334] VIII. User Activity Analyzer  
     [0335] While the main purpose of the Selection-Oriented Knowledge Base  212  is to store knowledge, the main purpose of the User Activity Analyzer  216  is to analyze user activities to develop knowledge. The knowledge is developed by first capturing and identifying certain user behavioral patterns and then translating the information obtained into useful knowledge.  
     [0336] The data stored in the Navigational Archive module  214  and the Scheduled Voice Services Archive module  208  is analyzed by the User Activity Analyzer  216  to produce information that can be used by the Knowledge Base Manager  210  to improve the performance of the Customer Service Management System  102 . The analysis can be classified into two basic categories: off-line and real-time. The analysis can be tailored for each organization operating a Customer Service Management System  102 , although it should be similar for organizations in the same type of business.  
     [0337] The information produced by off-line analysis can encompass a large number of items, some of which are:  
     [0338] (1) Distributions of the number of Selection-Oriented Knowledge Base accesses in the calendar time domain. Examples are: the number of accesses for each hour of the day, day of the week, and week of the year, all expressed versus time. This item serves as a monitor of the customer service activity processed by the Customer Service Management System.  
     [0339] (2) Distributions of the number of “NEED HELP” requests for the entire Selection-Oriented Knowledge Base in the calendar time domain. Examples are: the number of “NEED HELP” requests for each hour of the day, day of the week, and week of the year. This item serves as a monitor of the performance of the Customer Service Management System. As the Selection-Oriented Knowledge Base evolves from State to State, the number of “NEED HELP” requests should decrease significantly.  
     [0340] (3) Distributions of the frequency of “NEED HELP” requests in the time and vertex domains. Examples are: the frequency of “NEED HELP” requests for each individual vertex, expressed in requests per minute, hour, or day. This item can be used for a variety of purposes; in particular it can be used to select vertices to be Tagged for upgrade as described in Section VI.  
     [0341] (4) Distributions of the length of the voice service session associated with each “NEED HELP” request in the vertex domain. Examples are: the length of the voice service session associated with a “NEED HELP” request for each individual vertex. This item can be used by the Customer Service Scheduler  204  to estimate the number of agents required to maintain the response to “NEED HELP” requests below the Maximum Acceptable Response Time (MART).  
     [0342] (5) Distribution of outcomes for each search of the Selection-Oriented Knowledge Base in the calendar time domain. These outcomes can be expressed as a successful search without the use of a “NEED HELP” request, a successful search with the use of a “NEED HELP” request, an unsuccessful search, and an abandoned search.  
     [0343] (6) Distributions of Navigational Path usage in the Navigational Path domain.  
     [0344] (7) Distributions of Path Schedules in the Navigational Path domain.  
     [0345] (8) Distributions of NEED HELP requests in the Vertex domain.  
     [0346] The information produced by real-time analysis can also encompass a large number of items, some of which are:  
     [0347] (9) Potential Path identification whereby the Evolving path is compared with Navigational Paths from the Navigational Library to identify those for which the Evolving Path is a Proper Sub-Path.  
     [0348] (10) Discernable Path recognition, whereby the Evolving path is analyzed to determine if it is a Discernable Path. p 1  (11) Frequent Path detection whereby each Potential Path of the Evolving Path is tested to determine if it is a Frequent Path.  
     [0349] (12) Preferred Path detection whereby each Potential Path of the Evolving Path is tested to determine if it is a Preferred Path.  
     [0350] (13) Prediction of the Path Schedule of a Potential Path whereby the Path Schedule associated with the Evolving Path is compared with the distribution of the Path Schedules of that Potential Path to identify the most likely Path Schedule the user is following.  
     [0351] (14) Computation of priority for a NEED HELP request. As described in Section III with reference to step  409  of process  400 , this computation is used to determine if a user has earned sufficient priority to qualify for a priority call from a customer service agent.  
     [0352] As discussed in Section VI, a significant aspect of this invention is the seamless integration of the Selection-Oriented Knowledge Base and the customer service agent to resolve user&#39;s Mental Objects or Inquiries. This is accomplished by the NEED HELP request which allows the customer service agent to take over, almost instantly, after the Selection-Oriented Knowledge Base runs out of resources to address the user&#39;s Mental Object or Inquiry. More precisely, it is the Selection-Oriented Knowledge Base that NEEDS HELP to resolve the Mental Object or Inquiry. The NEED HELP button is also used as an incentive for users to resolve their Mental Objects or Inquiries by making an honest effort to search the Selection-Oriented Knowledge Base. The incentive algorithm rewards the users that make the biggest effort by responding faster to their NEED HELP requests. At the same time, the algorithm must protect the Selection-Oriented Knowledge Base from abuse by unscrupulous users. For example, a user could access the Selection-Oriented Knowledge Base, visit one vertex and immediately click the NEED HELP button without trying to resolve the Mental Object or Inquiry.  
     [0353] The algorithm requires a quantifiable measure of the amount of effort made by the user to search the Selection-Oriented Knowledge Base. This quantifiable measure, called the Search Effort, is first translated by the algorithm into a priority level, which is then used by process  400  to make the decision associated with step  409 .  
     [0354] In one embodiment of this invention, the Search Effort is measured in terms of the number of vertices visited and the total time spent to reach the Current Vertex, in accordance with the formula:  
     [0355] Search Effort=[Evolving Path Length]*(1+[Current Search Time]/[Mean Search Time])  
     [0356] The range of anticipated values for the Search Effort is divided into contiguous sub-ranges which can be mapped one-to-one to a finite set of priority levels. These priority levels can then be mapped one-to-one to priority service queues managed by the Service Agents Scheduler  206 . Table  2400  of FIG. 24 provides an illustration of such mapping. This table assumes a typical search time of 15 seconds per vertex and is based on the case where the Current Search Time is equal to the Mean Search Time. Under these conditions, the Search Effort becomes equal to twice the number of vertices visited.  
     [0357] Row  2401 , shows the Search Effort sub-ranges, from less than 10 to over 80. Row  2402  shows the typical number of vertices visited by the user at the time the NEED HELP button is clicked. Row  2403  shows the typical search times ranging from less than 1 minute and 15 seconds to over 10 minutes. Row  2404  shows the priority levels ranging from L1 to L6. The Search Efforts of row  2401  are mapped to these priority levels. Finally, row  2405  shows the priority service queues that are mapped to the various priority levels. Each of these queues is characterized by a Maximum Acceptable Response Time (MART) to a NEED HELP request. As explained in Section IX, these queues are adequately staffed to ensure that the MART specification is respected.  
     [0358] When the priority level is equal to L1, the user does not qualify for service under one of the priority queues as indicated by the “Not Applicable” label on row  2405  of table  2400 . This is to preclude abuse of the NEED HELP button to circumvent scheduling a voice service session in accordance with process  400  of FIG. 4. As shown in step  409 , the Service Agents Scheduler  206  needs a priority value to determine if the user qualifies for the NEED HELP request. If affirmative the user is assigned to the priority queue corresponding to the priority level earned. If not affirmative, the user is directed to Customer Service Scheduler  204  to schedule a voice session with a customer service agent.  
     [0359] As the Selection-Oriented Knowledge Base evolves over time, it is expected that the User Activity Analyzer  216  will also evolve with new types of analysis that may be needed to address new situations that may be encountered in the many potential deployments of the Customer Service Management System.  
     [0360] IX. Help Requests Predictor  
     [0361] The Help Requests Predictor  218  is a module that predicts forthcoming NEED HELP requests. As mentioned previously, this module uses the analysis generated by the User Activity Analyzer  216  to predict, in real-time, the probability that a user will generate a “NEED HELP” request at a given vertex as the user navigates through the Selection-Oriented Knowledge Base  212 . This probability is used by the Help Requests Predictor  218 , to generate a look-ahead demand matrix of the anticipated agents needed versus Vertex and time. This matrix can be updated frequently and then transmitted to the Service Agents Scheduler  206  which can alert Agents-On-Demand to be ready to promptly reply to anticipated “NEED HELP” requests.  
     [0362] One significant aspect of the Help Requests Predictor is a NEED HELP Probability Database (NHPD). For each Successor Vertex of each Potential Path of each possible Evolving Path, the NEED HELP Probability Database stores a pair of values (P, RT) for the variables P and RT. The variable P represents the probability that a NEED HELP request will occur at that Successor Vertex. The variable RT represents the relative time expressed in Relative Time Units (RTU) during which the potential NEED HELP request is expected to occur relative to the Current Time at the Current Vertex.  
     [0363] The three parameters, Evolving Path, Potential Path, and Successor Vertex, constitute a three dimensional matrix, designated as the EP/PP/SV space for the convenience of this description. Each point of this space can be derived from the topology of the Selection-On-Vertex network, once that topology is established.  
     [0364] The probability P associated with each point of the EP/PP/SV space can be derived from statistical analysis of the data stored in the Navigational Archive. The time RT can be estimated by two simple operations. The first operation is adding the following two values:  
     [0365] (1) The Mean Search Time (MST) of the Successor Path associated with the subject point of the EP/PP/SV space.  
     [0366] (2) The Mean NEED HELP Generation Time (MNHGT) associated with the subject point of the EP/PP/SV space.  
     [0367] The second operation is to convert the above sum into Relative Time Units (RTU) to obtain the value of RT.  
     [0368] To illustrate, assume the Evolving Path is EP1355, the Potential Path is PP93, and the Successor Vertex is V36. Assume further that RT is measured in Time Units of 10 seconds, such that (RT=1) represents the segment from 1 to 10 seconds, (RT=2) represents the segment from 11 to 20 seconds, (RT=3) represents the segment from 21 to 30 seconds, etc. An example of the pair of variables stored in the NEED HELP Probability Database for the point (EP1355, PP93, V36) is (0.00137, 3), indicating that during Time Unit (RT=3) (from 21 to 30 seconds) there is a 0.137% probability that a NEED HELP request will be generated at Vertex V36. If the Mean Search Time (MST) is 17 seconds and the Mean NEED HELP Generation Time (MNHGT) 9 seconds, the sum of these two times is 26 seconds, which falls between 21 and 30 seconds and equates to a value of 3 for the variable RT.  
     [0369] For speed of execution, the EP/PP/SV space can be mapped onto another three dimensional space, called the EP/RT/SV space, in which the parameter Potential Path is replaced by the relative time RT. This mapping can be performed by executing the following process for each (Evolving Path, Successor Vertex) pair:  
     [0370] (1) In the EP/PP/SV space, identify the set of all the points for a given (Evolving Path, Successor Vertex) pair. Each of these points corresponds to a different Potential Path and is associated with a pair of values (P, RT).  
     [0371] (2) Partition the identified set of points into disjoint subsets such that each subset contains all the points with the same value of RT.  
     [0372] (3) For each subset calculate the sum SP of all the values of P in the subset.  
     [0373] (4) In the EP/RT/SV space, associate with the point defined by the given Evolving Path, Successor Vertex, and the value of RT corresponding to the subject subset, the sum SP calculated above.  
     [0374]FIG. 25 shows an illustration of the above mapping. On the left, the EP/PP/SV space  2500  is defined by the parameters Evolving Path  2501 , Potential Path  2502 , and Successor Vertex  2503 . On the right, the EP/RT/SV space  2510  is defined by the parameters Evolving Path  2511 , Relative Time (RT)  2512 , and Successor Vertex  2513 . FIG. 25 also shows on the left several (Potential Path/Successor Vertex) planes  2504  and on the right several (Relative Time (RT)/Successor Vertex) planes  2514 , which represent two dimensional matrices. The mapping  2515  uses the mapping function defined above to map the EP/PP/SV space  2500  onto the EP/RT/SV space  2510 .  
     [0375] The EP/RT/SV space  2510  includes all the possible combinations of the parameters Evolving Path, Successor Vertex, and RT, and for each combination provides the sum RP of the probabilities that a NEED HELP request will be generated. The EP/RT/SV space  2510  is a quasi-static space which remains constant between periodic updates of the EP/RT/SV space. Such periodic updates depend upon the rate of change of the data in the Navigational Archive. If the new data cumulated since the last update is comparable to the previous data, monthly updates may be adequate. Otherwise, weekly, daily, or more frequent updates may be necessary.  
     [0376] The prediction of NEED HELP requests for all active users searching the Selection-Oriented Knowledge Base in real-time, can be performed by a User-Weighted dynamic version of the EP/RT/SV space. FIG. 26 illustrates this space called UWEP/RT/SV space  2600 , which is also a three dimensional matrix. Each User-Weighted Evolving Path on this space is associated with two items. The first is a list containing the identification of every active user currently on that User-Weighted Evolving Path. The second is the count of the number of users on the list, called the Weight of that User Weighted Evolving Path.  
     [0377] As each user moves from one Vertex to the next, the identification of that user is transferred from the list associated with the previous User Weighted Evolving Path to the list associated with the new User Weighted Evolving Path. In addition, the Weight of the previous User Weighted Evolving Path is decremented by one and the Weight of the new User Weighted Evolving Path is incremented by one.  
     [0378]FIG. 26 shows the UWEP/RT/SV space  2600 , the User Weighted Evolving Path  2601 , the Relative Time (RT)  2602 , the Successor Vertex  2603 , and several (Relative Time/Successor Vertex) planes  2604 . The complete set of all the (Relative Time/Successor Vertex) planes constitutes a three dimensional matrix. A vertical column in this matrix contains, in each plane, the sum SP associated with the respective pair of values (Relative Time, Successor Vertex) for all the possible User Weighted Evolving Paths.  
     [0379]FIG. 26 also shows a two dimensional space designated as CUMRT/SV space  2610 , the associated Relative Time (RT)  2612  dimension, and the associated Successor Vertex  2613  dimension. This space constitutes a two dimensional matrix in which each element is the weighted sum of the corresponding column in the UWEP/RT/SV space  2600 . Such weighted sum is computed by summing, over the column, the values of SP multiplied by the Weight of the respective User Weighted Evolving Path.  
     [0380] The CUMRT/SV space is a complete representation of the sum of probabilities for NEED HELP requests in the (Relative Time/Successor Vertex) domain. The elements of the associated two dimensional matrix are sums of probabilities which represent the expected demand, called Demand Factor, for customer service agents at that Relative Time and Successor Vertex.  
     [0381] To illustrate, assume that for a RT=6 RTU and Successor Vertex=SV237, the entry is Demand Factor=4.38. This Demand Factor can be expressed by the sum (1+1+1+1+0.38). In this sum each value 1 can be interpreted as representing a sum of probabilities that is equal to 1, indicating that one agent is expected to be needed to service the users associated with the probabilities in that sum. With respect to the value 0.38 it can be interpreted as indicating that 0.38 agents are necessary to satisfy this portion of the Demand Factor. Depending upon the circumstances, the Service Agents Scheduler  206  may determine that an addition agent is required to satisfy this portion of the Demand Factor. Alternatively, the Service Agents Scheduler  206  may combine this portion of the Demand Factor with portions of Demand Factors associated with other elements of the matrix with the same Relative Time, to allocate an additional agent.  
     [0382] As users navigate through the Selection-Oriented Knowledge Base they progress from one User Weighted Evolving Path to another in the UWEP/RT/SV space  2600 . In this space, each (Relative Time/Successor Vertex) plane  2604  provides a complete matrix of the probabilities that a user currently listed on the corresponding User Weighted Evolving Path will generate a NEED HELP request at a possible Successor Vertex during some future Relative Time Unit (RTU).  
     [0383] The transfers of user identifications from one User Weighted Evolving Path to another and the updates of the respective Weight of each User Weighted Evolving Path are executed at regular intervals. The interval, called Update Interval, is used to synchronize the computation, as explained below with reference to FIG. 26.  
     [0384] The CUMRT/SV space  2610  needs to be frequently updated to reflect asynchronous movements of active users from one Vertex to another. In one embodiment of this invention, the update is performed at the end of each consecutive Update Interval using two buffers denoted “Update Buffer A” and “Update Buffer B” to facilitate this description. During one Update Interval, all the user movements received by the Web Server  104  are stored by the Help Requests Predictor  218  in “Update Buffer A” to be executed at the end of that Update Interval. During the next Update Interval, all the user movements received by the Web Server  104  are stored by the Help Requests Predictor  218  in “Update Buffer B” to be executed at the end of that Update Interval.  
     [0385] While “Update Buffer A” is receiving data, the user movements in “Update Buffer B” are processed to update the CUMRT/SV space  2610 . This processing involves the following four steps:  
     [0386] (1) Reflect each user movement in the UWEP/RT/SV space  2600  by adding that user&#39;s identification to the new User Weighted Evolving Path and deleting it from the old one.  
     [0387] (2) Compute the revised Weight of each User Weighted Evolving Path.  
     [0388] (3) Perform the calculation of the weighted sum of each column in the matrix of UWEP/RT/SV space  2600 .  
     [0389] (4) Empty the corresponding Update Buffer.  
     [0390] At the end of the Update Interval, “Update Buffer B” starts receiving data while the data stored in “Update Buffer A” is processed. The Update Interval between consecutive updates of the CUMRT/SV space  2610  needs to be longer than the time required for the execution of the four steps listed above. As a practical matter, the Update Interval can be at least 10 seconds because the Service Agents Scheduler  206  does not need more accurate forecasts to operate efficiently. The Update Interval can be a configurable parameter which can be optimized for each specific implementation.  
     [0391] X. Service Agents Scheduler  
     [0392] The Service Agents Scheduler  206  is the module that coordinates and manages customer service agents and schedules their activities. As mentioned previously, one aspect of this invention, relates to the use of multiple Priority Queues whereby the number of agents assigned to each Priority Queue is adjusted dynamically to ensure that the response time for each Priority Queue does not exceed a critical configurable limit associated with that Priority Queue, called the Maximum Acceptable Response Time (MART).  
     [0393]FIG. 27 shows a table  2700  that exemplifies how the Priority Queues are coordinated with the various activities requiring the support of customer service agents. The first two rows are title rows that identify and characterize the six Queues used in this example. Row  2701  shows the Queues identified by level, from L1 to L6. Level L1 is considered a low priority queue and Level L2 through Level L6 are all considered high priority queues. Row  2702  shows the Maximum Acceptable Response Time (MART) for each Priority Queue. In this example the MART for the low priority queue, L1, is intentionally set to a long period, 30 minutes in this example, whereas the MARTs for the high priority queues L2 through L6 range from 90 seconds to 15 seconds respectively. The idea behind this strategy is to provide the flexibility necessary to adjust to large fluctuations in demand by occasionally sacrificing the response time of the low priority queue, while maintaining the fast response of the high priority queues. In practice this strategy can work well because a very large percentage of the users will take advantage of the automated features of the Customer Service Management System and qualify for the high priority queues. The small remaining percentage of the users that do not take advantage of the automated features of the Customer Service Management System are not concerned about fast responses and are not likely to object to a longer wait on the phone, on hold. So long as the response time of queue L1 is below 30 minutes, the Service Agents Scheduler  206  is allowed to allocate agents from queue L1 to other queues, as needed, to comply with the MART specifications of the high priority queues. This allocation process is general and encompasses all queues, whereby agents can be dynamically moved from one queue to another as necessary to ensure that all queues are within the respective MART specification. The allocation is dynamically performed by the Service Agents Scheduler  206  in real-time.  
     [0394] Row  2703 , relates to those customer service voice sessions that have been scheduled by users through the web site  106  in accordance with steps  521 - 528  (see FIG. 5B) of process  500 . These sessions are scheduled to start at a specific time and need to be serviced promptly as scheduled. To comply with this requirement they are allocated to the highest Priority Queue, L6, with a MART of 15 seconds.  
     [0395] Row  2704  relates to those customer service voice sessions that have been scheduled by users through the web site  106  in accordance with steps  541 - 551  (see FIG. 5C) of process  500 . These sessions are scheduled to start shortly after the user clicks the “I AM READY” button. To comply with this requirement they can be allocated to Priority Queues L3 through L5 which have MART values ranging from 60 to 30 seconds.  
     [0396] Row  2705  relates to those customer service voice sessions that have been scheduled by users through the web site  106  in accordance with steps  561 - 563  (see FIG. 5D) of process  500 . These sessions have a relatively long time segment during which they may be addressed by a callback and can be allocated to any of the Priority Queues L1 through L6 at the convenience of the Customer Service Scheduler  204 . When the selected time segment for a particular session is reached, in real-time, the Customer Service Scheduler  204  may upgrade that session to higher priorities to ensure that it is addressed before the end of the specified time segment.  
     [0397] Row  2706  relates to those customer service voice sessions that have been scheduled by users through the web site  106  in accordance with steps  571 - 577  (see FIG. 5D) of process  500 . These are FAST TRACK sessions that require a callback shortly after they are scheduled. To comply with this requirement they can be allocated to Priority Queues L3 through L5 which have MART values ranging from 60 to 30 seconds.  
     [0398] Row  2707  relates to NEED HELP requests generated by users searching the Selection-Oriented Knowledge Base. As described in Section VIII, these requests are allocated to one of the Priority Queues L2 through L6, in accordance with the Search Effort made by the user.  
     [0399] Row  2708  relates to unscheduled customer service voice sessions requested by users that do not wish to use the scheduling system and decide to wait on the phone until a customer service agent is available. These sessions are preferably allocated to Priority Queue L1 with a MART of 30 minutes. As mentioned previously, these users are not likely to object to the wait since that is what they elected to do. During periods of average demand the wait will tend to be shorter than that associated with conventional call centers because the Customer Service Management System processes the workload much faster. However during periods of peak demand the wait may be longer because fewer agents are allocated to the low priority queue to ensure that the high priority queues all operate within specifications.  
     [0400] Based upon statistical analysis of the data stored in the Navigational Archive  214 , the Scheduled Voice Services Archive  208 , and the Unscheduled Voice Services Archive  222 , the Customer Service Manager  202  can develop reasonable projections of the total number of agents needed to meet the allocations of table  2700 . These projections can be detailed to include the agents required by each Priority Queue for each hour of the day, day of the week, and week of the year. If applicable, such projections can also detail the type of agent in terms of topic of expertise. The topic of expertise can be expressed by the Vertices of the Selection-On-Vertex network for which the agent is certified to provide assistance to users. Preferably, most implementations maintain a matrix of agents versus the vertices for which each agent is certified. This matrix is used by the Service Agents Scheduler  206  to ensure that a qualified agent is allocated to each case.  
     [0401] One aspect of this invention relates to the use of two types of agents to minimize the labor costs associated with customer service agents and adjust to demand fluctuations in real-time. The first type, called Regular Agent, is the agent that works a regular schedule and is paid for the scheduled time. The second type, called Agent-On-Demand, is the agent that signs up, on short notice, for time segments that need to be covered and is paid for the time-segments worked. Agents-On-Demand need to be registered with the Service Agents Scheduler  206 , and be certified in at least one vertex.  
     [0402] In one embodiment of this invention, the scheduling of the two types of agents is coordinated in accordance with a method described with reference to FIG. 28. This figure shows an illustrative plot  2800  of Agents Required  2801 , during each time segment of one hour, versus time expressed in Hour Time Units  2802 .  
     [0403] To ensure that a sufficient number of agents will be available for a particular time segment, the total number of Agents Required per vertex can be set to the expected value derived from statistical analysis of historical data plus the margin of error of that expected value. Of the total number of Agents Required per vertex, a number equal to the expected value minus the margin of error can consist of Regular Agents and a number equal to twice the margin of error can consist of Agents-On-Demand. In these computations, the numbers for both types of agents are rounded to the ceiling of the computed value.  
     [0404] Using this method, the Regular Agents have nearly 100% probability of being continuously busy despite the finite margin of error. The Agents-On-Demand, which are not expected to work continuously, cover the margin of error. In the example of FIG. 28, the time segment for Hour Time Unit  8 , which covers the time segment from 7 to 8, requires a total of 23 agents  2803  consisting of 17 Regular Agents  2804  and 6 Agents-On-Demand  2805 .  
     [0405] The Agents-On-Demand can sign up for specific time-segments that need to be covered. FIG. 29 shows an example of a web page  2900  that can be used for Agents-On-Demand to sign up for these time segments. It displays the title of the web page  2901 , a statement explaining the purpose of the web page  2902 , an explanation of the compensation schedule  2903 , a statement explaining how to sign up  2904 , and a window with a real-time map of time slots that need to be covered  2905 .  
     [0406] The window  2905  contains a field for the current date and time  2906 , buttons for time axis zoom  2907 , a time axis  2908 , a scroll bar  2909 , and displays the time map with a row of cross hatched time segments that need to be covered by Agents-On-Demand  2910 . In this example the time segments are 15 minutes in duration. However, the duration of the time segments is preferably a configurable parameter that is adjusted for each specific set of circumstances. In addition, the window  2905  shows three rows labeled “B”  2911 , “C”  2912 , and “D”  2913  that display the applicable components of the compensation schedule for each time segment.  
     [0407] The Agents-On-Demand that wish to sign up for time segments to be serviced after receiving an alert from the Service Agents Scheduler  206 , need to logon to the Customer Service Management System Web Site  106 , click on the desired time slots to select them, and click on the SIGN UP button  2914  to confirm their selections.  
     [0408] Preferably, the compensation of the Agents-On-Demand is based upon an algorithm that provides the needed incentive to ensure best performance at minimum cost. In this example the web page displays for each of the time segments shown, the base compensation, the premium for each call serviced, and the premium for each minute of calls serviced. This algorithm has the flexibility to automatically adjust the three components of the compensation such as to optimize the incentive. Based upon this algorithm, agents are motivated not to extend the service calls beyond a reasonable limit as it could be the case if the compensation was based strictly on call duration. Agents are also motivated to spend sufficient time with the customer which might not be the case if the compensation was based strictly on the number of service calls. The Service Agents Scheduler  206  can maintain a data base of the number of agents who sign up for time slots versus the three components of the compensation, the time of the day, and the day of the week. From this data base, the Service Agents Scheduler  206  can develop the required function expressing the number of agents that sign up for time slots versus each the three components of compensation for the various times of the day and days of the week. This function can then be used to automatically adjust the compensation components.  
     [0409] The Agents-On-Demand can pre-register for periods of time during which they may be interested in signing up for potential time segments to be serviced. The Agents-On-Demand can also be equipped with a paging device through which the Service Agents Scheduler  206  can alert these agents that certain time segments in the forthcoming hours need to be filled. The Service Agents Scheduler can display updates of the Agents-On-Demand sign up web page at regular pre-specified times such as every hour on the hour.  
     [0410] The service agreement for Agents-On-Demand can provide for these agents to have their computer continuously logged on to the Customer Service Management System Web Site  106  during the time segments for which they signed up. Further the agents must be available to receive and acknowledge instructions that may be provided to them via their Web Browser  142 . Such instructions can include all the pertinent information about the customer to be serviced and the precise time of the call.  
     [0411] After the agent acknowledges receipt of the instructions, the Customer Service Scheduler  204  can automatically place the call on the behalf of the agent. If the call is answered by the customer, the agent conducts the service session and enters the required information on the web browser. If the customer does not answer the call, the agent reports on the web browser the unsuccessful attempt to reach the customer and waits for further instructions.  
     [0412] XI. Voice Services Archives  
     [0413] In one embodiment of this invention, the Customer Service Management System  102  maintains two archives to store relevant information pertaining to customer service voice sessions.  
     [0414] The first is the Scheduled Voice Services Archive  208  which stores information related to customer service voice sessions associated with the intelligent coordination of the Customer Service Management System. These voice sessions include those scheduled in accordance with process  500  of FIG. 5A and those predicted by the Help Requests Predictor  218 , as shown in the following list:  
     [0415] (1) Sessions with a specific start time.  
     [0416] (2) Sessions set for an “I Am Ready” callback within a specified time segment.  
     [0417] (3) Sessions set for a callback any time within a specified time segment.  
     [0418] (4) Sessions associated with Fast-Track callbacks.  
     [0419] (5) Sessions associated with NEED HELP requests.  
     [0420] The second is the Unscheduled Voice Services Archive  222  which stores information related to traditional calls received by a toll free number from customers that decide to wait on the phone until a customer service agent is available.  
     [0421] The two archives are intentionally kept separate to preserve the integrity of statistical analysis of the data stored in the Scheduled Voice Services Archive  208 , in which the customer service voice sessions are associated with the intelligent coordination of the Customer Service Management System.  
     [0422] XII. Distributed Customer Service Centers  
     [0423] Another aspect of this invention relates to Distributed Customer Service Centers whereby the agents can operate from any location, including agents operating from their own home. The Distributed Customer Service Centers can include any number of distinct Customer Service Centers and any number of agents working from home.  
     [0424] Preferably each agent is equipped with a computer and a Voice Over IT type phone to facilitate communication with the Customer Service Management System through the web server  104 . This configuration also improves the integration of the customer service agents with the various modules of the Customer Service Management System with which the agents need to interact.  
     [0425] The Distributed Customer Service Centers can resort to several neglected sectors of the educated labor force, such as housewives and retires, that may enjoy working from home, to staff agent positions.  
     [0426] XIII. Collaborative Customer Support Centers  
     [0427] Another aspect of the invention relates to Collaborative Customer Support Centers. In accordance with this aspect, groups of service agents can be cross-trained, organized, and coordinated to provide customer service and technical support for multiple brands of products of the same type.  
     [0428] Preferably, service agents that provide technical support are organized in teams of experts whereby each team specializes in at least one category of products or equipment. Since different brands of a given category of products or equipment tend to share many similarities, it is cost-effective to cross train support technicians to support a variety of brands. The Customer Service Management System  102  can provide a special applications program to coordinate the operation of Collaborative Customer Support Centers, whereby a plurality of participating providers of a given type of product or equipment share a pool of technical support technicians. The larger the number of participants the more efficient and cost-effective the system can be. The technicians need not be all at one central location. Instead, through the use of the Distributed Customer Service Centers described above, Collaborative Customer Support Centers can be deployed whereby the technicians can be physically distributed over a plurality of geographic locations. The coordination of the operation of such Collaborative Customer Support Centers can be performed by the Customer Service Management System  102  as described in this specification.  
     [0429] XIV. User-Agent Co-Browsing  
     [0430] Another aspect of the invention, relates to a co-browsing method that allows agents and users to see the same web page during a voice service session. In accordance with this method the voice service agent enters, in a dedicated field, a link to a web page the agent wants the user to see and then tells the user to click on a “SHOW ME” button to display that page on the user&#39;s browser. Such web page is then used to facilitate the verbal communication between the agent and the user.  
     [0431] XV. Directory of Subscriber Institutions  
     [0432] Another aspect of the invention relates to a web based Directory-of-Subscribers where the user can browse institutions that subscribe to the Customer Service Management System and select the institution of interest. In response to the selection by the user, the Customer Service Management System displays the customer service web page related to that institution.  
     [0433] XVI. Conclusion  
     [0434] While certain preferred embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of, and not restrictive on, the broad invention. Other embodiments that are apparent to those of ordinary skill in the art, including embodiments that do not provide all of the features and advantages set forth herein, are also within the scope of this invention. Further, it is to be understood that this invention is not limited to the specific construction and arrangements shown and described since various modifications or changes may occur to those of ordinary skill in the art without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is defined by the claims that follow. In the claims, a portion shall include greater than none and up to the whole of a thing. In the method claims, reference characters are used for convenience of description only, and do not indicate a particular order for performing the method.