Download A hybrid case-based reasoning and neural network approach to

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Affective computing wikipedia , lookup

Wizard of Oz experiment wikipedia , lookup

AI winter wikipedia , lookup

Ecological interface design wikipedia , lookup

Hierarchical temporal memory wikipedia , lookup

Speech-generating device wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

Human–computer interaction wikipedia , lookup

Pattern recognition wikipedia , lookup

Personal knowledge base wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Catastrophic interference wikipedia , lookup

Convolutional neural network wikipedia , lookup

Transcript
A hybrid case-based reasoning and neural network approach to online fault diagnosis
Jha, G., Hui, S.C., & Foo, S . (1999). Proc. 3rd International ICSC Symposia on Intelligent Industrial
Automation (IIA’99) and Soft Computing (SOCO’99), Genoa, Italy, 376-381.
A hybrid case-based reasoning and neural network approach to online
intelligent fault diagnosis
G. Jha, S.C. Hui and S. Foo
School of Applied Science, Nanyang Technological University
[email protected], {asschui, assfoo}@ntu.edu.sg
Abstract
In traditional help desk service centres of manufacturing companies, diagnosis of machine faults relies
heavily on the service engineers’ knowledge and experience. This method poses a problem of training and
maintaining a pool of expert service engineers. With the advancement of Internet technology and artificial
intelligence techniques, it is possible to deliver online customer service support over the World Wide Web.
This paper describes a hybrid case-based reasoning (CBR) and artificial neural network (ANN) approach
for intelligent fault diagnosis. Instead of using traditional CBR technique for indexing, retrieval and
adaptation, the hybrid CBR-ANN approach integrates ANN with the CBR cycle to extract knowledge from
service records of the customer service database and subsequently recall the appropriate service records
using this knowledge during the retrieval phase. The system learns with user feedback to improve its
performance.
Keywords:
Intelligent fault diagnosis, hybrid approach, case based reasoning, neural network, Web-based help
desk
1. Introduction
A multinational corporation in Singapore manufactures and supplies insertion and surface mount
machines for use in the electronics industry. A hot-line service centre (or help desk) was set up by the
Customer Support Department to service its worldwide customer -base and provide installation, inspection
and maintenance support for its customers. Service engineers are responsible for answering inquiries from
their customers via telephone calls and car rying out an onsite repair if necessary. At the end of each service,
a customer service report is used to record the reported problem and the proposed remedies or suggestions
taken to rectify the problem.
This traditional customer support process suffers from a number of disadvantages. The identification of
machine faults relies heavily on the service support engineers’ past experience or the information drawn
from the customer service database that contains all the service reports. This method has a problem of
training and maintaining a pool of expert service engineers. Therefore, instead of relying on the knowledge
of service engineers, an intelligent fault diagnosis engine that captures the expert knowledge of machine
1
diagnosis to assist customers identify machine faults becomes extremely useful. This engine should be able
to generate suggested remedial actions automatically or through user-interaction based on the observed faultconditions. In addition, with the advance of Internet technology, it is possible to deliver customer service
support over the World Wide Web (or Web).
As a collaborative project between the multinational corporation and the School of Applied Science,
Nanyang Technological University, Singapore, a Web-based intelligent fault diagnosis system, known as
WebService, has been developed in order to support customer services over the Web.
2. Intelligent Fault Diagnosis
For the past few decades, there have been a proliferation of intelligent systems for fault diagnosis and
related applications [1]. Traditionally, case-based reasoning (CBR) [2-9] has been successfully applied to
fault diagnosis for customer service support or help desk. CBR systems rely on building a large repository of
diagnostic cases (or past service reports) in order to circumvent the difficult task of extracting and encoding
expert domain knowledge [10]. Therefore, CBR is one of the most appropriate techniques for customer
service support as it learns with experience in solving problems and hence emulates human-like intelligence.
However, the performance of CBR systems critically depends on the adequacy as well as the organization of
cases and the algorithms used for retrieval from a large case database. Most CBR systems [11,12] use the
nearest neighbor algorithm for retriev al from the flat-indexed case-base, which are inefficient especially for
large case database. Other CBR systems use hierarchical indexing such as CART [13], decision trees [14]
and C4.5 [15]. Although this performs efficient retrieval, building a hierarchical index needs the supervision
of an expert during the case-authoring phase.
The artificial neural network (ANN) approach provides an efficient learning capability from detailed
examples. Supervised neural networks such as LVQ3 [16] are used when the training data consists of
examples with known classes. LVQ3 performs retrieval based on nearest neighbor matching, since it stores
the weight vectors as the code-book or exemplar vector for the input patterns. The matching is based on a
competitive process that determines the output unit that is the best match for the input vector, similar to the
nearest neighbor rule. However, in LVQ3, the search space is greatly reduced because of the generalization
of knowledge through training. In contrast, the CBR systems need to store all the cases in the case database
in order to perform accurate retrieval that greatly increases the search space. The CBR systems that store
only relevant cases for an efficient retrieval lack the accuracy as well as the learning feature of the neural
networks. Hence, supervised neural networks are very suitable to be used for case retrieval.
Therefore, a hybrid CBR and ANN system [17,18] that operates under the framework of CBR cycle is
deemed to be one of the most effective and intelligent techniques for fault diagnosis for customer service
support. Such a system behaves most similar to the human beings in problem solving through recalling prior
experience or cases and subsequently learning through experience in solving the problems. In this research,
the hybrid CBR -ANN approach is operated as follows. Instead of using traditional CBR techniques for
indexing, retrieval and adaptation, LVQ3 is incorporated into the CBR cycle to extract knowledge from
service reports of the customer service database and subsequently recall the appropriate service reports using
this knowledge during the retrieval phase.
3. System Architecture
In this research, a Web-based system has been developed to support online fault diagnosis for customer
service support. Figure 1 shows the system architecture of the WebService system. The system is developed
on the Windows NT environment. The Netscape Enterprise Server 3.0 is used as the Hypertext Transfer
Protocol (HTTP) server. The Fault Diagnosis Engine has been implemented in Visual C++ as Common
Gateway Interface (CGI) programs that are linked to the Web server. The Microsoft Access database
management system is used for storing the Customer Service Database. The CGI programs communicate
2
with the database system through Open Database Connectivity (ODBC) to insert, delete or update
information in the database. Hypertext Mark-up Language (HTML) is used to create the user interface as
Web pages to accept user queries. The customers can access WebService via any Web browsers such as
Netscape Navigator or Microsoft Internet Explorer.
Customer
Service
Database
Fault Diagnosis
Engine
HTTPD server
Web Service
Internet
Customer
Web Browser
Web Browser
Web Browser
Web Browser
Customer
Figure 1 – Architecture of the WebService System
4. Customer Service Database
To develop the online intelligent fault diagnosis system, it is necessary to look into the structure of the
customer service database. Service records (or reports) are currently defined and stored in the customer
service database to keep track of all reported problems and remedial actions. Each service record contains the
customer account information and service details. Service details are stored in two fields: fault-condition and
checkpoint. The fault-condition field contains customer's description about their faulty machines. The
checkpoint field indicates the suggested actions or services to be carried out to repair the machine into
normal condition based on the occurred fault-conditions given by the customer. An example of a faultcondition and its associated checkpoints is given in Figure 2.
Fault-Condition:
CASSETTE DETECTION ERROR.
Checkpoints: (1) IS THE CASSETTE 'SITTING' PROPERLY .
(2) ENSURE THAT THE TAPE GUIDE IS PROPERLY SET.
(3) CONFIRM THE OPTICAL MODULE. (T.G. PG. 10)
(4) CONFIRM IF THERE IS ANY CASSETTE AT DETECTION POINT.
(5) CONFIRM THAT THERE ARE NO OIL/GREASE ON SENSOR PICKUP AREA(LENS).
(6) ENSURE THAT 26/52 MM CASSETTE DETECTION SENSORS ARE PROPERLY SET.
(7) CONFIRM SENSOR OPTICAL WIRE CONDITION.
Figure 2 - An Example of a Fault-Condition and its Checkpoints
3
Currently, two sets of service records are maintained. The first set contains all the service reports the
service engineers have reported during their on-site repair for the past few years. As the same fault
conditions and its corresponding remedial actions can appear repeatedly in this set of service records, the
second set is then created as a subset of the first set which contains service reports with unique fault
conditions, thereby no repetition of service reports are stored. As will be discussed later, the first set of the
customer service database (or training set) will be used for training purposes, while the second set (or unique
set) will be used for the initialization process of the neural network. Currently, the unique set of customer
service database is used and searched by the service engineer of the hot-line service centre to provide or
suggest remedial actions for a reported fault-condition by the customer.
5. Fault Diagnosis Engine
Reuse of
Service Records
Customer
previous
solution
User
input
Neural
Network
Retrieval
Input PreProcessing
LVQ3
Neural Network
Neural
Network
Training
Retain
the solution
Customer
Service
Database
faultconditions
Revise with
user-feedback
confirmed
solution
Preprocessing
Faultconditions
Figure 3 – Fault Diagnosis Engine
Figure 3 shows the Fault Diagnosis Engine. The Preprocessing Fault Conditions preprocesses fault
conditions of service records from the customer service database in order to extract keywords and key
phrases. This involves the preprocessing of sentence(s) representing a fault condition. When parsing each
fault condition, the redundant non-alphanumeric and punctuation characters are first eliminated so that the
sentence is converted into a sequence of words separated by blanks. Then, technical abbreviations from the
machine domain are extracted as keywords using a list of abbreviations. For examples, NC, PTR and N.G.
are used as abbreviations in the fault conditions. Subsequently, all the words in inflectional forms are
morphed to their stem form. For examples, “insertion”, “insertions” and “inserted” are various inflectional
form of the stem word “insert”. Antonym form of words, that should not be matched to the original word, are
identified and converted to the form of “not + verb” using a logical-not list. For examples, “not insert” and
“cannot insert” are converted to “not + insert”. In addition, there are several verb phrases in the English
language having special meanings. Examples of such phrases are “flip flop”, “turn on” and “shut up”. These
phrases are extracted using a verb-list. Finally, the redundant or stop words, such as “to”, “the” and “after”,
are eliminated using a stop-list. The preprocessing process is implemented using verb-list, stop-list and
algorithms from Wordnet [19].
4
Fault Condition
CUTTER & ANVIL CANNOT ENGAGE IN AFTER 1ST PCB.
Preprocessing
Keywords Extracted
Index
CUTTER
ANVIL
NOT ENGAGE
PCB
Index of
keywords
3
1
8
9
Index
Keyword
1
2
3
4
5
6
7
8
9
10
ANVIL
BREAK
CUTTER
CAMERA
FAULTY
GUIDE
NC
NOT ENGAGE
PCB
SHAKY
Weight Vector
.75
0
.75
0
0
0
0
.75
.75
0
List of Keywords
Figure 4 – An Example of the Formation of a Weight Vector
The Neural Network Training process is needed to initialize and train the neural network before it can be
used for retrieval. During the initialization phase, input nodes are connected to the output nodes through
links. The weights of these links are assigned by considering one output node at a time and updating the
weight vector corresponding to the links associated with it. During the Preprocessing Fault Conditions
phase, each fault-condition from the customer service database (the unique set) is preprocessed and its
keywords are extracted to generate a list of keywords. The indices of keywords from a fault-condition in the
keyword list are used to form the weight vector as shown in Figure 4. The process is repeated for all the
fault-conditions in order to initialize the weight matrix. The initial weight matrix is a sparse matrix of order
equal to the number of keywords times the number of unique fault-conditions and consists of the values ‘0’
and ‘0.75’ only. The value ‘0.75’ has been chosen instead of ‘1’ to provide the learning capability of the
network. After the neural network has been initialized, the network will undergo a training process. The
training set of the customer service database will be used for training. The weights are updated using the
LVQ3 supervised learning algorithm. The learning rate is set to 0.4. For each fault-condition, the less
frequent keywords will have lower weights whereas more frequent keywords will have higher weights. The
training algorithm is presented in F igure 5, which is based on the LVQ3 network [16].
5
Neural Network Training Algorithm
For each training record from the customer service database, do steps 1-7.
1. Identify the target fault-condition of the training record from the unique set of fault-conditions.
2. Preprocess the fault-condition of the training record to form a numerical vector.
3. Match the input vector with weight vectors of the output nodes and compute the winner output node
as the one with minimum Euclidean distance.
4. If the winner output node corresponds correctly to the target fault-condition, update weight vector
corresponding to the winner node, wc , as
wc (t + 1) = wc (t) + α [ x − wc (t )]
where w c is the weight vector closest to the input vector, t refers to the time instance, α is the
learning rate and x is the input vector. Go to step 1.
5. Otherwise, update weight vector, wc1 , of the winner node as
wc1 (t + 1) = wc1 (t ) − α [ x − wc 1( t )]
nd
6. Compute the 2 winner output node with the corresponding weight vector wc 2 . If the 2nd winner
node is the same as the target fault-condition, adapt wc 2 positively to the input vector as
wc 2(t + 1) = w c2 (t ) + α [ x − wc 2(t )]
provided
 dc1 dc2 
min 
'
 > (1 − ε )(1 + ε )
 dc 2 dc1 
where dc1 and d c2 denote the distances of the two weight vectors with the input vector and ε is a
constant typically set to 0.2.
7. If new keywords (i.e. keywords not in the existing keyword list) have been identified in the
preprocessing process, add new input layer nodes corresponding to the new keywords and update the
weight matrix.
Figure 5 – Training the Neural Network
In the Input Preprocessing process, The user input to the fault diagnosis engine is in the form of fault
description. In the WebService system, the user fault description is accepted in the form of natural language.
However, for the convenience of some users, the system also accepts other forms of inputs such as the error
code and error title, and the name of fault components and their states. The user may choose the input mode
or a combination of them. Figure 6 shows the Web-based interface for accepting the user input of the fault
description. Firstly, the user selects the machine model in which the fault occurs. The list of machine models
displayed are those that have been purchased by the user. Then, the error code and error title can be entered
if any. These information appear on the monitor of the NC (numerically controlled) machine when the
problem occurs. Error code uniquely represents the corresponding fault condition. A list of error codes and
its corresponding fault conditions is maintained for efficient retrieval. If the error code is known, then no
other information is required from the user for further processing, the corresponding fault condition can be
identified and its checkpoints can be retrieved. Otherwise, the fault description can be entered in natural
language or as a set of keywords. User can also provide the names of machine components and their states as
input. If the user input contains keywords that are not in the keyword list, synonyms of these keywords will
be retrieved for user confirmation as input keyword. User fault input is then preprocessed to form the input
vector for retrieval.
6
Figure 6 – User Interface for User Fault Description
Figure 7 - Retrieved Fault-Conditions and Prioritized Checkpoints for the Specified Fault-Condition
The Neural Network Retrieval process consists of case-recall with virtue of its learnt knowledge and
ranking the cas es recalled based on certain score that signifies the closeness of retrieved case to the input
pattern. The retrieval algorithm is based on the matching process discussed in the training algorithm. The
process of computing winners can be extended to compute successive winners for the input provided by the
user. Each of the winners should have a matching score above certain threshold. The number of matches to
be retrieved is based on this threshold. Then, the fault conditions corresponding to the winner nodes are
presented to the user for feedback. Figure 7 shows the fault-conditions retrieved by the neural network when
7
the user enters the fault description as shown in Figure 6. It can be observed that the fault-condition
displayed at the top of the screen is the one closest to the fault description provided by the user.
This Reuse of Service Records process reuses the checkpoint solutions of the fault conditions retrieved
during the retrieval process. In the LVQ neural network retrieval process, the displayed fault conditions that
match most closely to the input fault description provided by the user are ranked according to their matching
scores. When the user selects a fault -condition displayed, the corresponding checkpoints are then retrieved
and displayed in the order of their priority in terms of its capacity in solving the fault-condition. The user can
view checkpoints of any displayed fault-conditions as shown in Figure 7. In addition, help can be obtained
for exercising these checkpoints by clicking the “Help” option. This will cause the system to load the
corresponding help file, as shown in Figure 8, to help the user to carry out the remedial task.
In the Revise with User Feedback process, the user can try out each checkpoint corresponding to the
winner fault conditions in the order of their priorities. The process stops once the problem is solved after
exercising one of the displayed checkpoints. The checkpoint solution that solves the problem can then be
marked. A higher priority will be given to this checkpoint, so that this checkpoint solution will be of higher
priority for the user to try for the same fault condition in the future.
Figure 8 - Help Information to Assist User Carry out the Remedial Task
In the Retain the Solution process, the confirmed fault-condition and the checkpoints are retained within
the system. The system learns from the current problem experienced by updating the weights of the neural
network. The weight update is based on the LVQ3 training process. The input vector is then linked to the
class of the confirmed fault-condition. If the user has identified additional keywords that he has missed in the
input during the feedback process, the input vector will be updated and the values corresponding to the
keyword index location is altered from ‘0’ to ‘1’. The input vector is modified before the weight update.
8
Figure 9 - Case Maintenance
If the problem persists after trying all the checkpoints for all the retrieved fault-conditions, the
WebService system provides the user with an option to report the failure by filling in a service request form.
In this case, a service engineer will contact the user as soon as possible. If the problem is too complicated, a
service engineer will then be dispatched for an onsite repair. The service report generated subsequently will
be taken into account for updating the customer service database and the neural network using the
maintenance module as shown in Figure 9.
6. Conclusion
This paper has presented a hybrid CBR and neural network approach to intelligent fault diagnosis. The
performance of the approach has been evaluated and compared with traditional CBR approach using nearest
neighbor algorithm in terms of efficiency and accuracy. This approach has performed better than the
traditional CBR approach. Currently, the approach has been integrated into the Web-based intelligent fault
diagnosis system, WebService, to provide online customer service support.
References
[1] K. Balakrishnan and V. Honavar, “Intelligent Diagnosis Systems”, to appear in the Journal of
Intelligent Systems, also available at <URL: http://www.cs.iastate.edu/~honavar/publist.html>, 1998.
[2] W.C. House, “Automating Help Desk Operations Using Case-Based Reasoning: A Practical
Application of Expert Systems Technology”, Proceedings of The Annual Conference of the
International Association for Computer Information Systems, Washington, DC, USA, Oct. 6-8, 1994,
pp. 100-6.
[3] Z.Q. Liu and F. Yan, “Fuzzy Neural Network in Case-Based Diagnostic System”, IEEE Transactions on
Fuzzy Systems, Vol. 5, No. 2, 1997.
[4] Y.F.D. Law, S.W. Foong and S.E.J. Kwan, “An Integrated Case-Based Reasoning Approach for
Intelligent Help Desk Fault Management”, Expert Systems with Applications,13(4), 1997, pp. 265-274.
[5] D. McCarthy, “Automation of help desks using case-based reasoning”, IEEE Colloquium on Case
Based Reasoning: Prospects for Applications, London, UK, 1994.
[6] D.W.R. Patterson and J.G. Hughes. “Case-Based Reasoning for Fault Diagnosis”, The New Review of
Applied Expert Systems, 1997, Vol. 3, pp. 15-26.
[7] H. Shimazu, A. Shibata and K. Nihei, “Case-Based Retrieval Interface Adapted to Customer -Initiated
Dialogues in Help Desk Operations”, Proceedings of the Twelfth National Conference on Artificial
Intelligence, Seattle, WA, USA, July 31-Aug. 4, 1994, Vol. 1, pp. 513-18.
9
[8] E. Simoudis, "Using Cased-Based Retrieval for Customer Technical Support", IEEE Expert, Vol. 7, No.
5, October 1992, pp. 7-11.
[9] A.R. Montazemi and K.M. Gupta, “An Adaptive Agent for Case Description in Diagnostic CBR
Systems”, Computers in Industry, Vol. 29, 1996, pp. 209-24.
[10] C.K. Riesbeck and R.C. Schank, “Inside Case-Based Reasoning”, Lawrence Erlbaum Associates, Inc.,
1989.
[11] I.D. Watson, “Applying Case-Based Reasoning: Techniques for Enterprise Systems”, Morgan Kaufman
Publishers, July 1997.
[12] K.D. Althoff, E. Auriol, R. Barletta and M. Manago, “A review of Industrial Case-Based reasoning
Tools”, AI Intelligence, Oxford, U.K., 1995.
[13] L. Breiman, J. Friedman, R. Olshen and C. Stone, “Classification of Regression Trees”, Wadsworth,
1984.
[14] J.R. Quinlan, “Induction of Decision Trees”, Machine Learning, 1:81-106, 1986.
[15] J.R. Quinlan, “C4.5: Programs for Machine Learning”, Morgan Kaufmann, 1993.
[16] T. Kohonen, “The Self-Organizing Map”, Proceedings of the IEEE, 78(9), part I, 1990, pp. 464-480.
[17] B. Lees and J. Corchado, “Case Based Reasoning in a Hybrid Agent-Oriented System”, 5th German
Workshop on Case-Based Reasoning, March 1997, pp. 139-144.
[18] M. Papagni, V. Cirillo and A. Micarelli, “A Hybrid Architecture for a User -Adapted Training System”,
5th German Workshop on Case-Based Reasoning, March 1997, pp. 181-188.
[19] R. Beckwith, G.A. Miller, R. Tengi, “Design and Implementation of the WordNet Lexical Database and
Searching Software”, Cognitive Science Laboratory, Princeton University, 1993.
10