Spectral diagnostic engine for customer support call center
09813555 · 2017-11-07
Assignee
Inventors
Cpc classification
G06F11/0748
PHYSICS
G06F17/16
PHYSICS
International classification
H04M3/51
ELECTRICITY
G06F11/07
PHYSICS
Abstract
A collective matrix is constructed, having a diagnostic sessions dimension and a diagnostic state descriptors dimension. The diagnostic state descriptors dimension includes a plurality of symptom fields, a plurality of root cause fields, and a plurality of solution fields. Collective matrix factorization of the collective matrix is performed to generate a factored collective matrix comprising a sessions factor matrix embedding diagnostic sessions and a descriptors factor matrix embedding diagnostic state descriptors. An in-progress diagnostic session is embedded in the factored collective matrix. A symptom or solution is recommended for evaluation in the in-progress diagnostic session based on the embedding. The diagnostic state descriptors dimension may further include at least one information field storing a representation (for example, a bag-of-words representation) of a semantic description of a problem being diagnosed by the in-progress diagnostic session.
Claims
1. A diagnostic call center comprising: a call session log comprising a data storage medium storing diagnostic sessions represented as at least symptoms belonging to a symptoms set and solutions belonging to a solutions set; a diagnostic engine comprising an electronic data processing device programmed to perform a diagnostic support method including the operations of: formulating the diagnostic sessions stored in the call session log as a collective matrix having a diagnostic sessions dimension and a diagnostic state descriptors dimension wherein the diagnostic state descriptors dimension includes at least a plurality of symptom fields corresponding to the symptoms of the symptoms set and a plurality of solution fields corresponding to the solutions of the solutions set; performing collective matrix factorization of the collective matrix to generate a factored collective matrix comprising a sessions factor matrix embedding diagnostic sessions and a descriptors factor matrix embedding diagnostic state descriptors; embedding an in-progress diagnostic session in the factored collective matrix; determining one of a predicted solution for the in-progress diagnostic session and a not-yet-acquired probative symptom for the in-progress diagnostic session based on the embedding; and in response to determining a not-yet-acquired probative symptom, displaying a recommendation to acquire the value of the probative symptom for the in-progress diagnostic session on a display device; and a call center device providing two-way communication between a customer and a call center agent to conduct the in-progress diagnostic session, the call center device further providing a user interface configured to display to the call center agent the predicted solution or not-yet-acquired probative symptom determined by the diagnostic engine for the in-progress diagnostic session being conducted via the call center device.
2. The diagnostic call center of claim 1 wherein the diagnostic sessions are further represented as root causes belonging to a root causes set and wherein the diagnostic state descriptors dimension of the collective matrix further includes a plurality of root cause fields corresponding to the root causes of the root causes set.
3. The diagnostic call center of claim 1 wherein the diagnostic state descriptors dimension further includes at least one information field storing information about a problem being diagnosed by the in-progress diagnostic session.
4. The diagnostic call center of claim 3 wherein the at least one diagnostic session information field includes one or more fields storing a bag-of-words representation of a semantic description of the problem being diagnosed by the in-progress diagnostic session.
5. The diagnostic call center of claim 1 wherein the diagnostic support method includes the further operation of: in response to determining a predicted solution for the in-progress diagnostic session, displaying the predicted solution for the in-progress diagnostic session on a display device.
6. A diagnostic call center comprising: a call session log comprising a data storage medium storing diagnostic sessions represented as at least symptoms belonging to a symptoms set and solutions belonging to a solutions set; a diagnostic engine comprising an electronic data processing device programmed to perform a diagnostic support method including the operations of: formulating the diagnostic sessions stored in the call session log as a collective matrix Y having a diagnostic sessions dimension and a diagnostic state descriptors dimension wherein the diagnostic state descriptors dimension includes at least a plurality of symptom fields corresponding to the symptoms of the symptoms set and a plurality of solution fields corresponding to the solutions of the solutions set; performing collective matrix factorization of the collective matrix to generate a factored collective matrix comprising a sessions factor matrix A embedding diagnostic sessions and a descriptors factor matrix B embedding diagnostic state descriptors, wherein the operation of performing collective matrix factorization comprises evaluating
7. The diagnostic call center of claim 6 wherein the evaluating comprises: performing an alternating least squares optimization in which the following are computed alternately:
8. The diagnostic call center of claim 1 wherein the determining operation comprises determining a predicted solution for the in-progress diagnostic session by: determining the solution of the solutions set that maximizes information gain for the embedding.
9. A diagnostic call center comprising: a call session log comprising a data storage medium storing diagnostic sessions represented as at least symptoms belonging to a symptoms set and solutions belonging to a solutions set; a diagnostic engine comprising an electronic data processing device programmed to perform a diagnostic support method including the operations of: formulating the diagnostic sessions stored in the call session log as a collective matrix having a diagnostic sessions dimension and a diagnostic state descriptors dimension wherein the diagnostic state descriptors dimension includes at least a plurality of symptom fields corresponding to the symptoms of the symptoms set and a plurality of solution fields corresponding to the solutions of the solutions set; performing collective matrix factorization of the collective matrix to generate a factored collective matrix comprising a sessions factor matrix embedding diagnostic sessions and a descriptors factor matrix embedding diagnostic state descriptors; embedding an in-progress diagnostic session in the factored collective matrix; and determining a not-yet-acquired probative symptom for the in-progress diagnostic session by determining the not-yet-acquired symptom of the symptoms set that maximizes information gain for the embedding; and a call center device providing two-way communication between a customer and a call center agent to conduct the in-progress diagnostic session, the call center device further providing a user interface configured to display to the call center agent the predicted solution or not-yet-acquired probative symptom determined by the diagnostic engine for the in-progress diagnostic session being conducted via the call center device.
10. A diagnostic method comprising: storing diagnostic sessions represented as at least symptoms belonging to a symptoms set and solutions belonging to a solutions set
in a call session log comprising a data storage medium; formulating the diagnostic sessions stored in the call session log as a collective matrix Y having a diagnostic sessions dimension and a diagnostic state descriptors dimension wherein the diagnostic state descriptors dimension includes at least a plurality of symptom fields corresponding to the symptoms of the symptoms set
and a plurality of solution fields corresponding to the solutions of the solutions set
; performing collective matrix factorization of the collective matrix to generate a factored collective matrix comprising a sessions factor matrix A embedding diagnostic sessions and a descriptors factor matrix B embedding diagnostic state descriptors wherein the operation of performing collective matrix factorization comprises evaluating
11. The diagnostic method of claim 10 wherein the diagnostic sessions are further represented as root causes belonging to a root causes set and wherein the diagnostic state descriptors dimension of the collective matrix Y further includes a plurality of root cause fields corresponding to the root causes of the root causes set
.
12. The diagnostic method of claim 10 wherein the diagnostic state descriptors dimension further includes at least one information field storing a representation of a semantic description of a problem being diagnosed by the in-progress diagnostic session.
13. The diagnostic method of claim 10 wherein the evaluating comprises: performing an alternating least squares optimization in which the following are computed alternately:
14. The diagnostic method of claim 10 further wherein: the two-way communication includes communicating the recommended symptom or solution from the call center staffer to the customer.
15. The diagnostic method of claim 10 wherein the generating comprises: generating a recommended symptom as the symptom of the set of symptoms that maximizes information gain of the embedding.
16. The diagnostic method of claim 10 wherein the generating comprises: generating a recommended solution as the solution of the set of solutions that maximizes information gain of the embedding.
17. The diagnostic call center of claim 1 wherein the call center device includes at least one of a telephone, a computer running a voice-over-Internet protocol (VOIP) telephone session; or a two-way video conferencing station comprising a computer with a microphone, a speaker, and a display screen.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
DETAILED DESCRIPTION
(3) Rules-based diagnostic engines are typically built upon large set of usually hand-crafted rules aiming at summarizing the overall possible situations the diagnostic system is intended to handle. Other diagnostic engine methodologies employ a stepwise machine learning approach including three steps: (1) Symptom identification; (2) Root Cause detection; and (3) Solution finding. Such diagnostic engines typically link these three steps through separate learning systems employing naïve Bayes classifiers or SVMs. In general, rules-based diagnostic engines suffer from a tendency for low recall and high precision behavior, are difficult to set up and maintain, and are generally unable to autonomously adapt to new context (for example, if the vendor comes out with a new or improved product, the corresponding rules need to be manually updated).
(4) On the other hand, stepwise diagnostic systems employing Bayes inference or heuristic algorithms are typically unable to leverage interdependencies between the steps to expedite reaching a solution in a given diagnostic session. For example, in solving a customer problem, a solution may sometimes be identifiable based solely on confirmation of a sufficiently unique and probative symptom or set of symptoms, without having to perform the Root Causes detection step. As another example, a stepwise machine learning approach may present the customer with numerous symptom questions, many of which may be irrelevant to the ultimately proposed solution—but until the final solution step of the three-step process is reached, the solution is not delimited. On the other hand, the three steps diagnostic process is necessary in numerous cases in which ambiguities can appear between a set of symptoms and a set of different possible solutions—in these cases, the Root Cause detection step must be run to disambiguate the possible solutions.
(5) The disclosed approaches implement the stepwise process of (1) symptom detection (2) root cause identification (3) solution discovery, but do so using a latent space representation in a space including at least a symptoms dimension, a root causes dimension, and a solutions dimension. The latent space may include additional dimensions, for example a dimension characterizing the customer problem description, and/or a dimension characterizing the device via which the customer care session is conducted. The space is populated by past care center sessions which serve as training data for learning a probabilistic model of (symptom, root cause, solution) triples. The elements of the triples belong to respective (typically large) sets of admissible symptoms , root causes
and solutions
. Advantageously, the customer care agent (which may in general be a human care center staffer or an automated artificial intelligence expert system) is not required to go through the three identification steps in order to find the best solution to present to the customer—rather, the model trained in the latent space embodies interdependencies between symptoms, root causes, and solutions so that the care session is diagnosed holistically rather than sequentially.
(6) With reference to
(7) In embodiments disclosed herein, the call center support system 14 implements a diagnostic engine that formulates relevant call session information for logged calls as a collective matrix data structure 20 (an illustrative example of which is diagrammatically shown in
(8) In the case of a human staffer serving as the call center agent, the pathway 32 may, for example, suitably comprise displaying the proposed solution or question on a display device of the telephone, computer, or other user interface component of the call center device 10 wherein the display is viewable by the call center staffer but (typically) not by the customer.
(9) On the other hand, in the case of an AI expert system 34 serving as the call center agent, the pathway 32 may suitably be a data transmission path via which the proposed solution or question is communicated to the AI expert system 34. By way of illustration, if the set of solutions is stored in a column matrix (i.e. a vector), then the pathway 32 to the AI expert system may suitably comprise a transmission path via which an integer value which is the index of the proposed solution in the solutions matrix
. The intervening AI expert system 34 is diagrammatically shown in
(10) The call center support system 14 is embodied by a computer 40 or other electronic data processing device suitably programmed to implement the processing modules 22, 30 and suitable data storage medium or media for storing the log 16 and collective matrix data structure 20 and factor matrices 24, 26 (the data storage medium or media may be on-board the computer 40 as shown, or external to the computer but accessible by the computer, or some combination thereof such as having the collective matrix 20 and factor matrices 24, 26 stored on an internal hard drive or solid state drive, SSD, and the call session log 16 stored on a network RAID or other network-based storage). The AI expert system 34, if included, may be implemented on a computer separate from the computer 40 implementing the diagnostic engine 14 (as shown in
(11) It will be further appreciated that the disclosed diagnostic engine embodiments may be implemented as a non-transitory storage medium storing instructions readable and executable by the computer 40 to implement functionality of the processing modules 22, 30 and associated functions (e.g. reading the call session log 16, implementing the pathway 32 and optionally the expert system 34, or so forth). The non-transitory storage medium may, by way of illustrative example, include one or more of: a hard disk drive or other magnetic storage medium; an optical disk or other optical storage medium; a flash memory or other non-transitory electronic storage medium; or so forth.
(12) Having provided an overview of the illustrative diagnostic engine as depicted in
(13) Formally, a diagnostic session d.sub.i={s.sub.i,c.sub.i,l.sub.i} ε is composed with a set of features which are the symptoms s.sub.i ⊂
, the root causes c.sub.i ⊂
and solutions l.sub.i ⊂
. The formal objective of a diagnostic system is to estimate the probability of each solution l.sub.i given s.sub.i and c.sub.i. This probability can be written as:
(14)
Following this approach, the marginal probability of a diagnostic session d.sub.i is estimated as a joint probability of it constituants {s.sub.i, c.sub.i, l.sub.i}. This estimation is used to compute the information gain of new information φ, that is, a given symptom or a given root cause, associated to a diagnostic session in order to choose the next best action to perform by the dialog manager, i.e which question to ask or information to confirm.
(15) With continuing reference to
(16) The symptoms fields (Sy) store the symptom evaluation for each evaluated symptom. In some embodiments, a symptom field for a particular symptom stores a binary value, e.g. “0” indicates the symptom is not present while “1” indicates the symptom is not present. More complex symptom values are also contemplated, e.g. continuous values or so forth. Root cause (Rc) fields typically store binary values (the problem is due to a given root cause, or it is not). Solution (Sl) fields also typically store binary values (the problem is solved by a given solution, or it is not).
(17) The diagnostic engine employs the model 24, 26 to estimate the distribution of probability of solutions of the set of solutions with respect to a bag of words of a summary of the client issue, a set of confirmed symptoms and root causes. The dialog manager module 30 exploits such modelization in order to estimate the information gain I(φ) of a new information φ by computing the probability distribution of the solutions composing
given a set of symptoms and root causes {s, r} as follows:
I(φ)=H(d∪φ)−H(d) (2)
where φ⊂{,
,
} and
(18)
(19) The collective matrix factorization module 22 models the joint probability p(s, c, l) by collective factorization of the collective matrix 20. With illustrative reference again to
(20)
where {λ.sub.a,λ.sub.b}ε.sup.2 are regularization parameters and W is a diagonal matrix that adjusts the weights of the solution variables in order bias the results toward better predictive accuracy on these specific variables. In some embodiments the weights W are used to incorporate or remove a particular parameter (symptom, root cause, or solution) from the analysis. For example, during training any symptom that has not been evaluated (i.e. whose value is not acquired) is assigned weight zero, so that it does not contribute to the collective matrix factorization. This approach can also be used to remove information if it is later determined to be invalid—for example, if the customer indicates a symptom is present so that its field is set to “1”, but later determines the symptom evaluation was not reliable, it can be removed by setting the corresponding element of W to zero. It is also noted that, while the illustrative Expression (4) example employs a ∥ . . . ∥.sub.2.sup.2 matrix norm, more generally other matrix norms are contemplated, yielding the generalization
(21)
where ∥ . . . ∥ denotes a generic matrix norm. A suitable learning algorithm for evaluating Expression (4) is the alternating least squares algorithm which alternates between two convex optimization problems. First, for known factor matrix B (a descriptors factor matrix embedding diagnostic state descriptors), the factor matrix A is optimized as follows:
(22)
Then, for a known matrix A, the factor matrix B is optimized as follows:
(23)
By iteratively solving the two optimization problems of Expressions (5) and (6), the following fixed-point regularized and weighted alternating least square algorithms are obtained:
A←(B.sup.TWB+λ.sub.aII).sup.−1B.sup.TWT (7)
and
B←(A.sup.TA+λ.sub.bII).sup.−1A.sup.TY (8)
The weighting W matrix is only applied in Expression (7) for the updating of A, but not in Expression (8) for updating B, because only the columns of B, representing the features of each call session, have feature-specific weights. By contrast, for the optimization of the embeddings of factor matrix B, as per Expression (8), each call session embedding stored in the factor matrix A has the same weight, so in this second step of the algorithm, W is actually an identity matrix and so does not appear. (Diagnostic session-specific weights are also contemplated, however—for example, a session may be assigned a weight based on a customer satisfaction survey result for the session).
(24) The prediction operation performed by the dialog manager module 30 performs the following operations: (1) finding the embedding of an in-progress call center session (i.e., in-progress diagnostic session) by solving the corresponding least square problem; and (2) estimating the missing values of interest, such as the probability of each solution of the solutions set for the in-progress diagnostic session, by computing the cross-product between the embedding representing the in-progress diagnostic session computed in operation (1) and the corresponding column embeddings of the descriptors factor matrix B, of each solution. In a further operation (3), to find the most useful solution to recommend for evaluation, the information gain I(φ), in terms of solution distribution, is computed by adding a candidate symptom or root cause φ to the in-progress diagnostic session d. See Expressions (2) and (3) and related discussion. In similar fashion, a not-yet-acquired symptom may be recommended for evaluation based on which not-yet-acquired symptom of the symptoms set
provides the highest information gain. To perform the operation (2), Expression (5) can be decomposed into an expression for each row (that is, each session), and this decomposition for the added in-progress diagnostic session d is then evaluated, which reduces to computing a dot product. As modern GPU processing units are commonly designed to implement efficient dot product evaluation, the prediction process is readily performed in near-real time so that the call center agent (human staffer or AI expert system 34) receives the solution or symptom recommended for evaluation sufficiently quickly to relay to the customer via the two-way communication supported by the call center device 10 as part of the real-time dialog between the customer and call center agent.
(25) If the customer performs the evaluation (that is, determines whether the symptom is present, or attempts the solution to see if it works), then the resulting information (the symptom value or the assessment of whether the solution solves the problem) is added to the in-progress call session embedding. If the call session ultimately results in identifying a successful solution, then the in-progress call session turns into a successful completed call session, and the corresponding embedding including the identification of the correct solution is stored as another row of the factored collective matrix Y 20, 24, 26. Occasionally, the factorization module 20 may be invoked to apply the optimization of Expression (4) to update the factor matrices 24, 26 to reflect the accumulated additional data embodied by these further successful call sessions. This update may optionally include culling out rows (i.e. call sessions) that are no longer of value for some reason (for example, because they pertain to products no longer being serviced) prior to the update optimization. Accordingly, the disclosed call center support system is adaptive and readily kept up-to-date so as to reflect the current product line and most up-to-date problem resolution pathways. (By comparison, updating a rules-based diagnostic engine requires tedious review/revision of the constituent rules).
(26) While the illustrative embodiments described herein pertain to call center support, diagnostic engines disclosed herein will find more general application in diagnostic problems that conventionally follow a symptoms identification/root cause evaluation/solution recommendation approach. For example, many medical diagnoses follow this symptoms/root cause/solution processing sequence. In this application, the diagnostic engine may suitably execute on a physician's personal computer, or on a hospital network server accessed via the hospital data network.
(27) In the following, some experimental results are reported in the field of customer care. More particularly, experimental diagnostic results are presented which were obtained on two real feedback datasets produced for two corporate customer care call centers. The results depicted are threefold. First, we present the capability of the model in terms of solution prediction. Second, we show how the model can be used in order to select the most discriminative next question to ask at a given step of a diagnostic process. Third, the overall diagnostic state elements are predicted with respect to W.sub.d.
(28) In the two customer care data set cases, the dataset was composed with a set of symptoms, root causes and solutions. The overall admissible set of symptom, root causes and solution is formally defined by a team of engineers knowledgeable in the area. A call center session comprises a subset of information identified through dialog, and each session has been identified as successful, i.e the chosen solution actually solved the customer problem that was the topic of the call center session. One dataset constituted a set of 12000 feedbacks, composed with 704 possible symptoms, 813 possible root-causes and 723 possible solutions. The other dataset constituted a set of 6850 feedbacks describes by 187 possibles symptoms, 249 root causes and 221 solutions.
(29) Table 1 presents the 10-fold cross-validated results of the solution detection based on a collective matrix containing a bag-of-words of the call session, the symptoms, and the root causes. Because the model estimates the posterior probability of the solution with respect to the information of a session, it allows to detect the presence of the true solution in the n-most probable solutions estimated by the model. For this experiment, a Naive Bayes classifier was used as a baseline algorithm for comparison. In the tables of experimental results presented herein, the notation “CMF-N” denotes “collective matrix factorization” with N indicating the size of the embedding (that is, the rank of the factor matrix A), while the notation “P@M” denotes the fraction of sessions for which the correct solution was in the top-M solutions output by the algorithm.
(30) TABLE-US-00001 TABLE 1 10-fold cross-validated error of solution prediction Dataset Method P@5 P@10 P@20 #1 CMF-100 0.71 ± 0.74 ± 0.78 ± 0.01 0.01 0.01 CMF-200 0.76 ± 0.79 ± 0.82 ± 0.02 0.01 0.01 CMF-500 0.85 ± 0.87 ± 0.89 ± 0.01 0.01 0.01 CMF-1000 0.89 ± 0.91 ± 0.92 ± 0.001 0.01 0.01 Naive Bayes 0.586 ± 0.584 ± 0.642 ± 0.069 0.112 0.126 #2 CMF-100 0.855 ± 0.869 ± 0.902 ± 0.008 0.009 0.009 CMF-200 0.886 ± 0.905 ± 0.919 ± 0.010 0.006 0.009 CMF-500 0.779 ± 0.906 ± 0.928 ± 0.058 0.012 0.005 CMF-1000 0.592 ± 0.826 ± 0.885 ± 0.110 0.016 0.012 Naive Bayes 0.699 ± 0.708 ± 0.802 ± 0.161 0.234 0.109
(31) Next, two diagnostic capabilities are illustrated: (1) the ability of predicting the correct symptoms with respect to the bag of words of the client utterances; and (2) the ability to find the most relevant root causes with respect to the vectorial representation of the client uterrances and the confirmed symptoms. A Naive Bayes classifier was again used as the baseline method. The symptoms detection capability is illustrated in Table 2 and the root cause detection capability is illustrated in Table 3.
(32) TABLE-US-00002 TABLE 2 10-fold cross-validated error of symptom prediction Dataset Method P@5 P@10 P@20 #1 CMF-100 0.687 ± 0.713 ± 0.762 ± 0.013 0.018 0.017 CMF-200 0.744 ± 0.779 ± 0.800 ± 0.007 0.008 0.011 CMF-500 0.773 ± 0.811 ± 0.827 ± 0.015 0.008 0.01 CMF-1000 0.679 ± 0.752 ± 0.789 ± 0.001 0.012 0.013 Naive Bayes 0.577 ± 0.583 ± 0.620 ± 0.105 0.118 0.096 #2 CMF-100 0.750 ± 0.803 ± 0.815 ± 0.015 0.019 0.012 CMF-200 0.791 ± 0.819 ± 0.858 ± 0.018 0.009 0.016 CMF-500 0.852 ± 0.891 ± 0.912 ± 0.016 0.017 0.015 CMF-1000 0.736 ± 0.799 ± 0.837 ± 0.020 0.013 0.014 Naive Bayes 0.866 ± 0.902 ± 0.916 ± 0.025 0.019 0.033
(33) TABLE-US-00003 TABLE 3 10-fold cross-validated error of root cause prediction Dataset Method P@5 P@10 P@20 #1 CMF-100 0.655 ± 0.684 ± 0.728 ± 0.020 0.005 0.012 CMF-200 0.707 ± 0.739 ± 0.789 ± 0.011 0.011 0.006 CMF-500 0.788 ± 0.814 ± 0.835 ± 0.01 0.01 0.01 CMF-1000 0.776 ± 0.831 ± 0.867 ± 0.012 0.010 0.010 Naive Bayes 0.514 ± 0.576 ± 0.614 ± 0.112 0.155 0.093 #2 CMF-100 0.725 ± 0.776 ± 0.811 ± 0.013 0.019 0.015 CMF-200 0.751 ± 0.796 ± 0.825 ± 0.021 0.013 0.012 CMF-500 0.675 ± 0.799 ± 0.849 ± 0.014 0.012 0.010 CMF-1000 0.547 ± 0.627 ± 0.734 ± 0.03 0.035 0.026 Naive Bayes 0.712 ± 0.729 ± 0.786 ± 0.193 0.250 0.143
(34) In a further experiment, the overall diagnostic steps were estimated using the bag-of-words representation of the semantic description of the problem being diagnosed. Here, the model estimates the probability distribution of: (1) the device model involved; (2) the symptom; (3) the root cause; and (4) the solution with respect to W.sub.d. The experiment was performed on the dataset #1, and the cross-validated results are presented in Table 4.
(35) TABLE-US-00004 TABLE 4 10-fold cross-validated error of the component-wise state prediction based on the bag-of-words semantic description representation Method Variable P@5 P@10 P@20 CMF-100 Phone 0.773 ± 0.775 ± 0.778 ± 0.005 0.008 0.008 Symptom 0.635 ± 0.707 ± 0.769 ± 0.012 0.011 0.018 Root cause 0.541 ± 0.598 ± 0.639 ± 0.012 0.014 0.051 Solution 0.438 ± 0.535 ± 0.592 ± 0.010 0.049 0.050 CMF-200 Phone 0.800 ± 0.803 ± 0.803 ± 0.006 0.008 0.008 Symptom 0.733 ± 0.820 ± 0.850 ± 0.007 0.011 0.011 Root cause 0.662 ± 0.704 ± 0.790 ± 0.092 0.079 0.092 Solution 0.704 ± 0.731 ± 0.765 ± 0.075 0.082 0.082 CMF-500 Phone 0.691 ± 0.771 ± 0.778 ± 0.002 0.003 0.003 Symptom 0.650 ± 0.742 ± 0.779 ± 0.002 0.013 0.012 Root cause 0.538 ± 0.594 ± 0.616 ± 0.010 0.003 0.012 Solution 0.470 ± 0.584 ± 0.628 ± 0.014 0.088 0.008
(36) In general, the disclosed diagnostic engines can forecast any element of the diagnostic process at any point during the in-progress customer care call dialog, including forcasting: (1) Device identity (2) Symptom (3) Problem root cause and (4) Solution. Furthermore, the call center agent (human or AI) enhanced with such diagnostic engine is able to efficiently handle the diagnostic part of the customer care inbound call by efficiently selecting the best next question, or action, to present to the customer. In consequence, the time spent until solution detection can be dramatically reduced by directly presenting the most probable solution at any point during a session instead of sequentially determining the different elements of the symptoms/root cause/solution diagnostic process. A further advantageous aspect of the disclosed diagnostic engines is the ability to easily backtrack the state by suppressing any evidence previously validated during a session, for example by setting the corresponding weights of the weighting matrix W to zero. Both positive and negative confirmed facts expressed during the diagnostic process can be incorporated into the factored collective matrix model.
(37) It will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.