SlideShare a Scribd company logo
1 of 22
Download to read offline
✐
✐
✐
✐
An Introspective Component-Based Approach for Meta-Level
Reasoning in Clinical Decision Support Systems∗
Tor Gunnar Houeland, Agnar Aamodt
Department of Computer and Information Science,
Norwegian University of Science and Technology,
NO-7491 Trondheim, Norway
{houeland, agnar}@idi.ntnu.no
Abstract
The paper presents core elements of a meta-level architecture for clinical
decision support, in the domain of palliative care. The goal of the reported
research is to develop an architecture and an integrated set of methods for
an introspective meta-level reasoner. Within the architecture a system is
under development that addresses the identification and utilization of clinical
guidelines for the assessment and treatment of cancer pain. Case-based
reasoning is a core component of the architecture, which also incorporates
rule-based and probabilistic model-based methods. The paper presents the
overall architectural constraints and exemplifies parts of it through structured
component descriptions.
1 Introduction
A clinical decision support system that covers several clinical tasks, such as patient
examination, disease hypotetization, diagnosis determination, treatment planning, and
drug administration, would typically need to combine several types of knowledge and
several reasoning methods to provide good advisory support. There has recently been
a renewed interest in meta-level reasoning in which a computer reasons about its own
reasoning processes as well as the problem at hand [1].
The idea is that this allows the system to improve its own reasoning processes, for
example by determining why a problem was solved incorrectly. By identifying where the
error occurred in the reasoning process, the faulty part can be amended which would let
the system solve such problems correctly in the future. In order to enable the meta-level
reasoner to improve its own performance, learning within the meta-level reasoner itself,
i.e. introspective learning, is also called for.
The focus of the research presented here is on meta-level reasoning for clinical
decision support. A component-based architecture and an integrated set of methods for
a meta-level reasoner to improve its reasoning and learning abilities are currently being
∗An earlier version of this paper was presented at the Seventh Workshop on Case-Based Reasoning in the
Health Sciences, July 21, 2009. We’d like to thank the other participants for their helpful and encouraging
feedback.
This paper was presented at the NIK-2009 conference; see http://www.nik.no/.
121
✐
✐
✐ ✐
developed. The architecture allows for the integration of all three reasoning paradigms in
symbolic AI, i.e. rule-based, case-based, and (deeper) model-based reasoning.
We are addressing this problem in the domain of clinical decision support for palliative
care. In a cooperation with the Palliative Medicine Unit, Cancer Department, St. Olavs
University Hospital in Trondheim, we are studying the potential for proactive, advice-
giving systems for the improved treatment of pain in cancer patients. In our current
project, short-named TLCPC, which has national funding, the focus is on lung cancer.
However, this research is tightly linked to a larger EU project called EPCRC [2], which
covers all forms of cancer pain as well as other problems related to palliative care for
long-term cancer patients.
A motivation for that project is also to standardize procedures and to unify clinical
practice in palliative care [3], a goal for which computerized decision support systems
have a strong potential. The system under development will in particular address the
identification and utilization of clinical guidelines [4].
In the next section we review some of the related research in metareasoning with
case-based components, and CBR used for guideline supported clinical decision-making.
In section 3 our metareasoning approach and introspective architecture are introduced.
Section 4 illustrates important semantic types used to describe components in the
architecture, which is discussed in section 5. The status of the clinical guideline
application is presented in section 6. Concluding remarks end the paper.
2 Related Research
There is a significant amount of research that has addressed metareasoning in relation to
case-based reasoning systems. In Meta-AQUA [5, 6] introspection is used in the retain
phase to learn from mistakes. What is referred to as introspective meta-XPs are used to
represent failures encountered while the system operates. The system constructs learning
plans that consist of calling various learning algorithms.
Early accounts of meta-level architectures involving CBR also include BOLERO
[7] and ANALOG [8]. In BOLERO, a case-based meta-level planner controls the
execution of a rule-based reasoner designed to accomplish different medical diagnosis
tasks. New plans are constructed during the problem solving process when needed,
and captured as new cases by the meta-level learner. ANALOG provides a knowledge
modeling framework and a system architecture that links various types of tasks, methods,
and domain knowledge types. A selected method runs until an impasse situation is
encountered, at which time a new method selection process is run. The meta-level learner
remembers failed and successful instantiations of methods.
Christodoulou and Keravnou describe a meta-level architecture [9] in the domain of
breast cancer histopathology. Each problem solver is associated with a task, an inference
mechanism, and domain knowledge constraints. A set of meta-parameters is used by
the metareasoner to characterize knowledge types (e.g. experience-based, causal), and
desired solution properties (e.g. level of detail, accuracy, efficiency). The metareasoner
is a case-based reasoner that captures and stores problem-solving paths as strategy cases
incrementally.
In the ADAPtER system [10], an architecture that combines model-based and case-
based reasoning for medical diagnosis, the CBR component is the primary object level
reasoner. The model-based method is triggered either when the retrieval method fails
to find a matching case, or the case adaptation module fails. Cases are captured as a
compilation of the model-based process.
122 T. G. Houeland, A. Aamodt
✐
✐
✐
✐
ROBBIE [11] is a case-based planning system in which an introspective model-
based reasoner provides learning goals for the system when it fails to meet reasoning
performance expectations. This way of generating learning objectives based on reasoning
failures is similar to Meta-AQUA, although it is performed in different ways.
jCOLIBRI [12] is a Java framework for building CBR systems with metareasoning
capabilities. It uses a two-layer architecture that separates the user interface and
core classes, and uses advanced feature of the Java language and libraries to simplify
development. jCOLIBRI uses a task structure with semantics defined in CBROnto, an
ontology created for representing the terms and concepts that are important for CBR
development.
The principles of evidence-based medicine, in which systematic research evaluation
regimes are used to assess and justify results from medical research, form a well-
established basis for medical practice [13]. One manifestation of this is the specification
of clinical guidelines, i.e. operational procedures for how to conduct a particular type of
patient examination, make a diagnosis, administer a type of drug, or perform other types
of treatment.
Another source of information used by clinicians in their daily practice is, of course,
the set of experiences a clinician has from earlier patients. While guidelines are important
in unifying high-quality practice at a general level, past patient cases provide another
level of specificity, closer to concrete actions. Hence, a combination of general guidelines
with past experience cases is potentially a strong combination. Identifying the strengths
and weaknesses of a case-based method vs. a generalization-based one can be done
analytically or experimentally.
Marling et. al. [14] reports on an experiment in the domain of nutritional menu
planning, in which a hybrid system was developed by combing the strengths of separate
rule-based and case-based reasoners. The hybrid system outperformed both separate
systems.
In the CARE-PARTNER system [15] medical guidelines are realized in the form
of problem solving pathways, implemented as a rule-based system combined with
information retrieval, and with CBR as the main problem solving method. GLARE [16]
is a general decision-support system for managing and utilizing clinical guidelines, in
which guidelines are represented as a hierarchical structure of decision paths. Based on
that system a CBR system was incorporated as additional knowledge to handle situations
that are not covered by the guidelines, so-called non-compliances [17].
Even if several medical guideline systems combine different reasoning paradigms,
there has been very little work on moving the combined reasoning up to the metareasoning
level.
An Introspective Component-Based Approach 123
✐
✐
✐ ✐
Figure 1: Duality in reasoning and acting (from Cox and Raja 2008 [1])
3 Metareasoning Approach
Recently, Cox and Raja [1] presented a general high-level framework of metareasoning,
shown in figure 1. It relates three levels, i.e the ground level (physical perception and
action), the object level (reasoning about action), and the meta-level (reasoning about
reasoning).
Within this high-level perspective, Leake and Wilson [18] address the learning part
of metareasoning, and present a set of challenging issues, such as learning for self-
understanding and self-explanation. Many meta-level reasoning systems start by building
a partial solution and then invoking meta-level reasoning functionality to determine
whether the object-level reasoning processes are working satisfactorily or not. Such
systems then either proceed as normal, or classify the reasoning process as a failure and
create a new metareasoning goal to learn from this failure.
This is in contrast to the meta-level control agent in our approach, which operates
on the object-level reasoning components directly without a specific reasoning failure to
address. This allows the system to have a clearer broad focus on performing changes that
affect the entire reasoning system instead of correcting single failures, and this broadening
is also identified by Leake and Wilson [18] as an important opportunity for a more flexible
learning focus.
Future planned meta-level components in our approach such as a competence-
evaluator for problem-solving methods can also assist in providing the system with a level
of self-understanding, which is another identified opportunity for introspective learning
systems.
A system using our introspective architecture with CBR reasoning methods which
follows this general framework is shown in figure 2. The ground level is represented as
I/O for the system, which is not covered in our architecture but must necessarily exist
in some form for a complete CBR system. In the shown system reasoning tasks are
explicitly represented, with a “CBR-based problem solving task” at the object level and
several metareasoning tasks.
In our architecture there is no fundamental difference in how reasoning tasks for the
two levels must be represented, but they are shown as seperate boxes in the figure to ease
understanding and fit the metareasoning framework of Cox and Raja. The importance of
our introspective architecture lies in the components, each of which implements a specific
functionality, and is modified and assigned to a particular reasoning task by meta-level
reasoning components.
Richter [19] introduced the knowledge container model, where pieces of knowledge
can be categorized into four categories: case vocabulary, cases, similarity assessment and
adaptation knowledge. Given that a set of precise and consistent terms is important for
reasoning at the meta-level, we explicitly include the CBR system vocabulary as part of
124 T. G. Houeland, A. Aamodt
✐
✐
✐
✐
I/O, GUI, etc.
(not modeled)
Problem solving tasks
(object level)
CBR
Re Re Re Re
Meta-reasoning tasks (meta-level)
Assign
components
Modify
parameters
Combine
components
Introspective components
Similarity-
based
retrieval
Similarity
measure
Figure 2: A CBR system based on the introspective architecture
the case vocabulary category.
To make sure that the vocabulary contains semantics that are useful for human
designers, we suggest that the vocabulary should be created and updated manually, unlike
the other knowledge sources which will be changed and influenced by the meta-level
reasoner.
In our architecture the case knowledge is stored in cases, similarity assessment as
part of the components providing methods for object-level retrieval and the adaptation
knowledge is shared between object level reuse components and a more profound system-
level adaptation in meta-level components.
For the meta-level control agent to be able to examine and calibrate the system’s
components, it’s important that the settings available can be interpreted by the control
program, and that the components expose interfaces at an appropriate level of abstraction.
To facilitate this, we are developing a vocabulary of CBR-related terms and the intended
semantics as part of our approach.
An important aspect of the vocabulary is that it describes what the terms mean at a
semantic level without relying on the specific realizations in any particular CBR system
implementation. An example of this is a case base, which is simply defined as a set of
cases. While in practice many CBR systems store the cases as a form of ordered lists,
their reasoning processes typically do not rely on the particular order the cases are listed
in within computer memory or on disk.
The purpose of the vocabulary is to abstract away the particular specifics in
implementations and generalize the terms to a semantic level where it describes the actual
requirements for a term without imposing a needlessly specific design.
Our vocabulary is being developed to be conceptually compatible with CBROnto [20],
a modeling framework that has already examined the meanings and relations between
terms from an ontological perspective. As an added benefit the CBROnto ontology is
compatible with the “4 REs” CBR process cycle [21] which is widely quoted and referred
to in the CBR literature.
4 Vocabulary Examples
Of particular importance for our semantic task description is the type system for
inputs and outputs. These types are meant to represent at the knowledge level the
essential meaningful content that is to be processed. For system implementations the
exact structures used to realize these knowledge types may differ, and often the same
programming language structures may be used for several different knowledge types. E.g.
An Introspective Component-Based Approach 125
✐
✐
✐ ✐
for a case-based reasoning system based on feature vectors, the stored cases, problem
specifications, retrieval queries and produced solutions will typically all be implemented
using the same type of programming language data structure, but they are still different
on a semantic level.
Important semantic input and output base types.
Case A record of a problem solving experience, consisting of the encountered problem
and the solution details
AttributeCase A subtype of Case where the problem descriptions are represented as a
set of features
Feature A particular aspect of an AttributeCase, where each separate case can either lack
the feature or have a corresponding value selected from the feature’s set of possible
values
ProblemInput A problem specification for a problem-solving method
ProblemSolution A solution to a problem
SolutionMethod A method used to create a problem solution
SolutionEvaluation An evaluation of a solution applied to a problem
Similarity A floating point number used specifically to represent similarity
Derived semantic types.
Set< T > A collection of objects of type T
List< T > An ordered collection of objects of type T
(a, b, c, ...) An n-tuple such as (Case, Similarity) consisting of n values where the first
is of types a, the second of type b, etc.
A → B A function such as Case → Similarity mapping inputs of type A to output of type
B
Other terms used in the example figures.
SizeOf The number of objects in a Set or List collection
PC An identifier used in the examples to specify an unrestricted type for problem
characterizations
CB An identifier used in the examples to specify a type adhering to the Case semantics
for cases in a case base
126 T. G. Houeland, A. Aamodt
✐
✐
✐
✐
Task Input Output
Case-based reasoning ProblemInput ProblemSolution
- Retrieve ProblemInput Set<CB>
– Problem characterization ProblemInput PC
– Case retrieval PC Set<CB>
– Focus Set<CB> Set<CB>
- Reuse (PC, Set<CB>) ProblemSolution
– Adapt solution method (PC, Set<CB>) SolutionMethod
– Adapt solution (PC, SolutionMethod, Set<CB>) ProblemSolution
- Revise ProblemSolution (PS, SE)
– Evaluate solution ProblemSolution SolutionEvaluation
– Repair solution (PS, SE) ProblemSolution
- Retain (PS, SE)
– Update general knowledge (PS, SE)
– Add to case base (PS, SE)
(PS, SE) is an abbreviation for (ProblemSolution, SolutionEvaluation) due to
space concerns.
Figure 3: Inputs and output for the CBR tasks
5 Introspective Architecture
In our conceptual framework we consider the traditional core case-based reasoning
process as one possible problem solving method at the object level. We consider this
to be one limited part of the combined reasoning system, with specific responsibilities,
and there can be potentially many other problem solving methods implemented in the
same architecture.
A high-level task decomposition of the CBR process for our architecture is shown in
figure 3, where the task “Case-based reasoning” is split into the 4 RE subtasks, and each
of these are further split into smaller subtasks. Any components that are assigned to parts
of this process must match the semantic input and output types for the corresponding
tasks, which are also included in the figure.
To elaborate on the case-based retrieval task, it starts from a ProblemInput and
retrieves a set of cases Set<CB> where CB is a type adhering to the Case semantics,
and is further subdivided into subtasks that further specify how this is performed. It starts
with a subtask identifying the important aspects of the problem and characterizing it as a
query, transforming the ProblemInput into an intermediate form PC.
This intermediate form is not restricted by the architecture, and the only requirement is
that the methods performing the subsequent CBR subtasks can accept the characterization
form PC as input. This characterization is used to retrieve a number of previous cases
from the case base, and then this is further narrowed to just focus on the most relevant
information by e.g. filtering out a subset of cases or generalizing cases. The other subtasks
are formalized in a similar way and correspond to the well-known steps that are often used
to describe CBR systems.
In our approach, the metareasoning components exist separately from the object-level
CBR reasoning components, and in fact influence and controls how the CBR problem
solving method is performed, which corresponds to the aforementioned metareasoning
cycle [1]. By evaluating how the CBR method performs while solving actual new problem
An Introspective Component-Based Approach 127
✐
✐
✐ ✐
instances, the meta-level control agent can identify the strengths and weaknesses of
the current system and attempt to use this to improve the system’s competence or use
alternative reasoning methods. For our meta-level component-combiner this is achieved
by attempting to re-solve problems using different assignments of methods for each of
the tasks and subtasks in the architecture. Whether the the newly combined reasoning
process is an improvement is then evaluated based on whether the solutions produced for
individual problem queries are correct for more problem instances than before.
Architectural components
One of the most important features of this architecture is that each component contains
extra structures that semantically describe the component semantically using our CBR
vocabulary. It is on the basis of this added information that the meta-level control
component can automatically assign components to perform the system’s reasoning tasks.
Figure 4 shows such a self-describing semantic structure for an example object-level
retrieval component.
Each component contains a list of types that apply for the component, which is listed
first in the figures. This can either just be a single name to indicate that any type is
supported, or a statement of the form “name isa supertype”, which indicates that the name
type must support the same operations as supertype. This is useful when a component
performs a generic operation that can apply to many different types of input, and e.g. only
requires that the input and output types are the same or that two inputs are comparable.
This section is empty for simpler components that only refer directly to specific types in
the vocabulary, such as the illustrated example retrieval component.
After that the input and output variables are listed. Each variable consists of a line of
the format “name: type”, where name is an identifier that is used to refer to the input or
output throughout the component specification and type is the semantic type, which can
either be a specific from the vocabulary or one of the types specified in the component’s
Types section. An example of this is the line “query: AttributeCase” from the example
component, which means that the component receives an input of type AttributeCase
which is referred to as query in the component description.
The following section lists Conditions that have to be fulfilled for the component to
produce the expected results. As long as the input variables conform to the specified
conditions, the output variables are guaranteed to follow the specifications in the
Guarantees section. While the type specifications are semantic restrictions on what kind
of operation the component can perform, the conditions specify for which values of inputs
the component will actually behave as intended, and these conditions are not necessarily
checked by the component.
Because of this the component’s operation can usually be performed for non-
conforming inputs, but this can produce undefined results and should be avoided. By
listing the conditions in the self-describing structure, the metareasoning component can
make sure that only compatible components are combined, or that the conditions are
checked on-demand before the operation is performed where this cannot be guaranteed.
The final section is a short semantic description of the core functionality performed
by the component. This has the format “x based on y”, where x and y are statements
composed using the input and output variables as well as a set of pre-specified terms
representing important concepts related to the reasoning system and the application
domain.
Based on these two examples, the meta-level control agent can create a new
128 T. G. Houeland, A. Aamodt
✐
✐
✐
✐
Types:
Input: query: AttributeCase
casebase: Set<AttributeCase>
similarity function:
(AttributeCase source, AttributeCase target) → Similarity
Output: ordered: List<AttributeCase>
Conditions: 5 ≤ SizeOf(casebase) < 100000
0 ≤ similarity function(x, y) ≤ 1
Guarantees: SizeOf(ordered) = 5
Approach: order(casebase) based on query
A component that assigns an order to the casebase based on similarity to the query using
the specified similarity function.
Types: cCase isa AttributeCase
Input: source: cCase
target: cCase
Output: similarity: Similarity
Conditions:
Guarantee: 0 < similarity ≤ 1
Approach: compute similarity similarity based on
source features, target features
A component for computing similarity based on local feature similarities between source
and target.
Types:
Input: query: AttributeCase
casebase: Set< AttributeCase >
Output: ordered: List< AttributeCase >
Conditions: 5 ≤ SizeOf(casebase) < 100000
Guarantee: SizeOf(ordered) = 5
Approach: order casebase based on query similarity
A combined component that assigns an order to the casebase based on feature weighted
similarity to the query.
Figure 4: Example components for object-level reasoning tasks.
An Introspective Component-Based Approach 129
✐
✐
✐ ✐
component that accepts a query and case casebase of type AttributeCases and a feature
weight map and returns a ranked list of matching cases. This is done by substituting
AttributeCase for cbType and cCase (which fulfills the listed type requirements) and
using the feature similarity measure as the similarity function (by identifying that the
output guarantee 0 < similarity ≤ 1 fulfills the 0 ≤ similarity function(x, y) ≤ 1
condition).
The meta-level learning component can also further refine this into a component that
learns the feature weight map automatically while it is being used. This can be done
by matching it with an appropriate learning method that e.g. takes a casebase (Set<
AttributeCase >) as input and produces a similarity importance value for each feature
among cases in the casebase.
6 Palliative Care Application
Although there has been a lot of focus on developing clinical guidelines within the medical
community, and several guideline systems have been developed by medical professional
organizations, there is not a consensus as to what is a good guideline system. Further,
the active use of guidelines in a clinical setting is far from the level desired, both from
the perspective of quality of treatment and the perspective of unified treatment across
hospitals and countries.
In our partner project EPCRC, being a collaboration involving many highly influential
medical groups across Europe, the aim is to reach a consensus on a set of high-quality
and operational guidelines that will be used in practice. While awaiting the results from
EPCRC, we currently work with an existing set of guidelines defined by NCCN (National
Comprehensive Cancer Network) in the US. An ontology is currently being built based
on a combination of generic UMLS terms combined with terms from the SNOMED and
NCI (National Cancer Institute in the US) ontologies.
The top-down design process is combined with bottom-up experimental system
building, starting from simple system components that will be combined. Currently a
simple a rule-based reasoner is being implemented at the object level. Example guidelines
link patient data related to pain level, pain history, and history of treatment, to the
next treatment. Type of treatment considered is the administration of different types of
analgesics, with opioids as the largest subclass. Based on the results from the initial
model, the system will be extended with case-based and model-based components. The
model-based component will a be Bayesian network for reasoning about causality under
uncertainty.
Acquiring the necessary medical knowledge needed for our experiments is a
continuing process. To advance the method development we are developing a toy example
system in the domain of advice-giving for film selection, in parallel to the more complex
clinical guidelines system. In that system CBR methods are currently focused on both
the meta and object levels. Cases, problems and solutions are currently represented
as feature vectors, and there are no explicitly represented general knowledge structures
outside of the CBR reasoning components. To predict a movie rating for a user, a retrieval
component retrieves a number of similar other users that have seen the movie, where
similarity is determined as the average difference in ratings for movies both users have
rated. A simple reuse component then copies the majority rating among the retrieved
cases. The system has a meta-level control agent that adheres to the principles of the
metareasoning approach described earlier. Component combinations are tried out based
on matching the input and output type descriptions. Although simple and different
130 T. G. Houeland, A. Aamodt
✐
✐
✐
✐
from the clinical application, the system assists in the bottom-up specification of the
introspective architecture by providing a test-bed for experiments.
In a clinical guideline support system past cases may be utilized in several ways. The
role we have intended for the cases in our guideline system is two-fold. Having arrived
at a leaf node in the guideline structure, CBR will be used to continue from there by
providing a more specific and detailed advice, based on adapting a past result. On the
other hand, if the guideline system cannot provide reasonable advice, CBR is triggered as
a complementary method. The latter approach is similar to the non-compliance method
[17] referred to earlier.
7 Conclusions
In this paper we have presented an introspective approach to meta-level learning and
outlined a component-based architecture for designing reasoning systems which supports
our introspective methods. The main contribution of our approach is the way our
architecture allows for gradual additions of metareasoning methods that focus on broad,
system-wide improvements.
We are working on further developing this architecture, and adding new components
directed towards both object-level and meta-level reasoning methods for a clinical
decision support system based on medical treatment guidelines.
Acknowledgements
This research is supported by Norwegian Research Council (NFR) grant, Contract no
183362, Translational Research in Lung Cancer and Palliative Care (TLCPC), together
with funds from the Norwegian University of Science and Technology (NTNU). Thanks
to Tore Bruland and Helge Langseth who contributed on the AI method side through a
series of discussions, Sunil Raja who is our main contact on the medical side and has
provided insight into clinical pain assessment and treatment, and Stein Kaasa who is the
initiator and project leader of both the TLCPC and EPCRC projects.
References
[1] Cox, M.T., Raja, A.: Metareasoning: A manifesto. Technical report, BBN TM-
2028, BBN Technologies (2007)
[2] Haugen, D.F., Kaasa, S.: The EPCRC. Eur J Palliat Care (2007; 14(3):130)
[3] Kaasa, S.: Palliative care research – time to intensify international collaboration.
Palliat Med (2008; 22:301-2.)
[4] Quaseem, A.e.: Evidence-Based Interventions to Improve the Palliative Care of
Pain, Dyspnea, and Depression at the End of Life: A Clinical Practice Guideline
from the American College of Physicians. Annals of. Internal Medicine, vol. 148,
no. 2 (2008:141-146)
[5] Cox, M.T., Eiselt, K., Kolodner, J., Nersessian, N., Recker, M., Simon, T.:
Introspective multistrategy learning: On the construction of learning strategies.
Artificial Intelligence 112 (1999) 1–55
An Introspective Component-Based Approach 131
✐
✐
✐ ✐
[6] Cox, M.T.: Multistrategy learning with introspective meta-explanations. In:
Machine Learning: Proceedings of the Ninth International Conference, Morgan
Kaufmann (1992) 123–128
[7] Lopez, B., Plaza, E.: Case-based planning for medical diagnosis. In Ras., Z. (ed.),
Proceedings of ISMIS-93. LNAI 837, Springer, 1993: 96-105
[8] Arcos, J., Plaza, E.: A reflective architecture for integrated memory-based learning
and reasoning. In Weiss, S. et. al. (eds.): LNAI 873 , Springer, 1994: 289-300
[9] Christodoulou, E., Keravnou, E.: Metareasoning and meta-level learning in a hybrid
knowledge-based architecture. Artificial Intelligence in Medicine 14 (1998): 53-81
[10] Torasso, P.: Multiple representations and multi-modal reasoning in medical
diagnostic systems. Artificial Intelligence in Medicine, 23 (2001): 49-69.
[11] Fox, S., Leake, D.B.: Combining case-based planning and introspective reasoning.
In: Proc. of the 6th Midwest Artificial Intelligence and Cognitive Science Society
Conference. (1995) 95–03
[12] Recio-GarcĹ́a, J.A.e.a.: Ontology based CBR with jCOLIBRI. In Ellis, R., Allen,
T., Tuson, A., eds.: Applications and Innovations in Intelligent Systems XIV.
Proceedings of AI-2006, Springer (December 2006) 149–162
[13] Friedland, D.: Evidence-based medicine: A framework for clinical practice. (1998)
[14] Marling, C., Petot, G., Sterling, L.: Integrating case-based and rule-based reasoning
to meet multiple design constraints. Comp. Intell., 15 (3), 1999, 308-332
[15] Bichindaritz, I., Kansu, E., Sullivan, K.M.: Case-Based Reasoning in CARE-
PARTNER: Gathering Evidence for Evidence-Based Medical Practice. EWCBR’98,
LNAI 1488, pp. 334-345 (1998)
[16] Terenziani, P., Molino, G., Torchio, M.: A modular approach for representing and
executing clinical guidelines. Artificial Intelligence in Medicine, 23(3):249–276
(2001)
[17] S. Montani, S.: Case-based reasoning for managing non-compliance with clinical
guidelines. ICCBR 2007, 5th Workshop on CBR in the Health Sciences (2007)
[18] Leake, D., Wilson, M.: Extending introspective learning from self-models.
Proceedings of the AAAI 2008 Workshop on Metareasoning: Thinking About
Thinking (2008)
[19] Richter, M.M.: The knowledge contained in similarity measures. Invited Talk at
ICCBR-95 (1995)
[20] DĹ́az-Agudo, B., González-Calero, P.A.: CBROnto: A Task/Method Ontology for
CBR. In: Procs. of the 15th International FLAIRS’02 Conference, AAAI Press
(2002) 101–105
[21] Aamodt, A., Plaza, E.: Case-based reasoning: Foundational issues, methodological
variations, and system approaches. AI Communications 7(1) (March 1994) 39–59
132 T. G. Houeland, A. Aamodt
✐
✐
✐
✐
This paper was presented at NAIS 2009; see http://http://events.idi.ntnu.no/nais2009/
Case-based Reasoning on Streaming Data
Odd Erik Gundersen and Frode Sørmo
Verdande Technology
Stiklestadveien 1
N-7041 Trondheim
Abstract
In this paper we present DrillEdge –a commercial and production ready software system
that monitors oilwell drilling operations in order to reduce non-productive time. DrillEdge
utilizes Case-based Reasoning with temporal representations on streaming real-time data.
1. Introduction
Reusing past experience—that is, being reminded of similar situations and making
use of decision steps made earlier—has turned out to be an efficient way for human
beings to handle new situations. Case-based reasoning (CBR) is a computational
method that is based on this principle by comparing the current problem with a set of
concrete, past episodes called cases. The most similar cases are retrieved and used to
solve the current problem. Verdande Technology has developed DrillEdge based on this
principle to reduce the cost and decrease the probability of failures in oil well drilling.
The cost of drilling wells is high – an offshore rig can cost $200 000 a day, and
depending on the depth and complexity of the well, a single well can take weeks or
months to drill. Any loss of drilling time caused by unwanted events is thus undesirable.
However, there is incomplete knowledge of the geology both before and during the
drilling, and it is thus relatively common for unplanned complications to occur during
the operation, which must be handled by the driller and drilling engineer. DrillEdge
assists them in recognizing potential problems before they become acute, and use case-
based reasoning to find solutions to similar problems from other drilling operations in
the past. This monitoring is done by monitoring the real-time stream of data from
sensors on the rig, which means that the application does not need active user input in
order to monitor the operation.
The use of a real-time stream of sensor data as opposed to direct user input to
characterize the current situation is very rare among commercial case-based reasoning
systems. However, several methods for doing this have been developed and tested in
research systems and prototypes. In this paper, we will present DrillEdge and compare
how real-time data is used in this system to other research systems.
In section 2, we will begin by introducing the domain of oilwell drilling before
providing a short introduction to case-based reasoning in section 3. Section 4 contains
an overview of the DrillEdge application, and how case-based reasoning is used here,
while section 5 compares the DrillEdge approach to real-time data compares to other
approaches. Finally, we conclude in section 6.
2. Oilwell Drilling
As the world’s reserves of fossil fuel diminish, wells are becoming increasingly
difficult and correspondingly expensive to drill, and operational mistakes have
potentially more serious, not to mention extremely expensive, effects. The cost of a
single well is numbered in tens of millions of dollars, and in mature fields such as the
Ekofisk field on the Norwegian shelf, several hundred wells have been drilled to
maximize the production from the reservoirs. As these wells originate from a small
number of fixed offshore installations, but end up in points distributed through the
133
✐
✐
✐ ✐
reservoir, they can have quite complex trajectories with long horizontal stretches to
reach their targets.
The drill bit is connected to the rig through a series of screwed together steel pipes.
The top of this string of pipe is rotated from the rig, which again drives the bit at the
bottom.
When drilling, the bit will cut pieces of rock from the formation, which will need to
be transported to the surface. To do this, a mud-like drilling fluid is pumped through the
pipes, passing through holes near the bit before returning to the surface through the
annulus (the room between the outside wall of the pipe and the drilled hole), carrying
the cuttings to the surface. Here, the cuttings are removed from the drilling fluid before
it is again pumped down. The drilling fluid is also used to regulate the pressure in the
drilled hole by weighting it so that the pressure column of the fluid closely matches the
pressure in the rock formation, which keeps the hole from collapsing.
Many types of complications can occur during drilling. The pressure gradient in the
formation may be different from what is expected, leading to an imbalance between the
pressure maintained by the drilling fluid. This can lead to fracturing of the formation if
the pressure in the annulus is too high, or a collapse of the well if it is too low. In wells
with long horizontal sections, it is also often a problem to transport all the cuttings out
of the hole, as gravity will tend to pull it down to form beds, which can build up to
serious restrictions of the flow of drilling fluid, and eventually pack off around the
drilling string to the point where it is stuck. In the worst case, this means that the well
must be partly or completely abandoned and re-drilled at great cost.
As part of their normal work, oil well drilling engineers and other operational
personnel both offshore and in support centers onshore have at their disposal a large set
of sophisticated sensor measurements and other drilling parameters. The bulk of this
data are continuous (real time) data streams from the drilling operation. Software tools
for keeping track of data from these drilling logs help the personnel to perform
graphical comparisons through time-indexed or depth-indexed graphs. However, as
powerful as these visualization tools are, the drilling operation is fundamentally reliant
on the experience and training of the individual drilling engineer to interpret the data
and take appropriate action. Many operating companies have built up knowledge
databases of ―lessons learned‖ and ―best practice‖ for dealing with various kinds of
issues, but it is often hard to navigate and find the advice you need when you need it,
and the general consensus is that these systems are underused.
3. Case-based Reasoning
Case-based reasoning (CBR) relies on reusing and adapting solutions from
previous, similar situations to solve new problems. Both new, unsolved problems and
previous, solved problems are described in a formalized structure called a case. The
case representing the new problem (the input case) is then compared to the previously
solved cases. The solutions of the most similar solved cases are then used to suggest a
solution to the input case. Once the solution is verified, the input case can be designated
as solved and stored in the case base and used to solve new cases in the future.
The case-based reasoning process is usually described as a cycle consisting of four
steps [1]:
Retrieve the most similar case or cases from the case base. This is usually done
using a similarity measure [9] that is able to produce a numerical value representing the
similarity of two cases. Using this, the input case is compared to each case in the case-
base in turn. These are then ranked according to similarity, and the N number of most
similar cases are returned.
134 O. E. Gundesen, F. Sørmo
✐
✐
✐
✐
Reuse the information of the retrieved cases to solve the input case. In the most
basic classification task, this means that the class of the input case is considered to be
the majority class of the N most similar cases. More complex reuse strategies are also
common, and may include automatic adaptation to circumstances that are different in
the input case as compared to the retrieved cases.
Revise the proposed solution, after it has been evaluated by applying it to the
problem at hand, evaluation by an expert or teacher or through other methods.
Retain the case in the case base as a solved case, so that it can be retrieved and
assist in solving new problems in the future.
Case-based reasoning systems classified as knowledge light and knowledge rich.
Knowledge light approaches tend to focus on the cases as the major or only source of
knowledge, while knowledge rich systems tend to combine this with models that
provide some semantics to the contents of the case. This often allows knowledge rich
systems to do more semantically meaningful comparisons of similarity, or provide
methods for adapting the solution if the proposed solution is not a good fit for the new
case. Knowledge light approaches tend to rely on a larger case base. With a large case
base, new problems are more likely to have a fairly similar case already stored, which
means that complex similarity measures or adaptations methods is not necessary. Often,
the domain dictates which approach should be taken, based on relative availability of
cases and general models.
4. DrillEdge
DrillEdge is CBR application that bridges the data and experience from oil well
drilling operations. It does this by using the real-time sensor data to index and recall
documented experience, such as lessons learned and best practice.
4.1 Overview
The application has been developed by Verdande Technology since 2006, but has
roots further back in the work of Aamodt and Skalle in using the Creek CBR [2] system
for tasks in petroleum engineering [3, 4]. DrillEdge is similar to Creek in that it uses a
semantic net based ontology, and that it is in a knowledge rich tradition of CBR
systems, but it differs in that is based on creating the input case based on real-time
sensor data.
As DrillEdge can form the input case description without any user input, it can
monitor the situation by continuously forming new input cases and searching the case
base for similar cases. If a case representing a problematic situation is found to be
sufficiently similar to the current situation, an alarm can be raised to notify the drilling
engineer that there may be trouble. He or she can then use the information and
experience in the retrieved case or cases to address the problem.
4.2 User Interface
It is an important principle in DrillEdge that the user should be provided
transparency to the data so that he or she can verify that the events recognizes are
correct, and the cases retrieved are relevant. In the Time View (figure 2), the drilling
engineer may look at the unprocessed sensor data directly. Events recognized by the
system (such as the Tight Spot in the figure) are clearly marked out and can be verified.
Case-based Reasoning on Streaming Data 135
✐
✐
✐ ✐
Figure 1: Time View. Here, six real-time parameters (HKL, BPOS, SPP, MFI, RPM and TRQ) are shown
as graphs in the central window. Further parameters are in the list on the right-hand side, and may be
dragged and dropped into the main view. By tradition, time is displayed along the vertical axis. At just
before midnight, a Tight Spot was identified by DrillEdge, as shown in the ―Events‖ column.
The events shown in the time view is a central part of the data interpretation step.
These events are also shown on a depth scale in the Overview (figure 3). When a
drilling event occurs, it typically occurs at the current position of the drilling bit, and
this is the depth used on the depth scale. By using a combination of the events found,
some numerical data from the operation and static context information, the input case is
formed, and the search for similar cases are performed. The results of this search are
displayed on the case radar, which is the central user component in the Overview. In
order to show up on the radar, a case must be over some threshold similarity. Once it is
over this threshold, it will show on the radar as a small, colored circle. The more similar
it is, the closer to the center of the radar. The color of the case circle is white, yellow
and red, and relates to the seriousness of the problem that occurred in this the situation.
The cases are also divided into types of problems, where each type of problem have its
own sector in the radar, so that a case with a problem due to ―Wellbore mechanical
damage‖ will show up in the sector with that name.
Once a case shows up on the radar, the user may then click on the case circle, which
will bring more information about the case up in the pane to the right.
Because DrillEdge continuously forms new input cases and does new searches in
the case base, the result on the case radar is also continuously updated. Usually the
situation from one search will not change very much to the next, so that changes on the
radar will seem to be gradual, with cases moving in and out of the radar. However, if a
serious event should suddenly occur, this may also very suddenly change the picture on
the radar. For this reason, the radar serves as a form of warning system that allows the
drilling engineer to see the state of the drilling operation at a glance.
136 O. E. Gundesen, F. Sørmo
✐
✐
✐
✐
Figure 2: DrillEdge Overview. To the left, the drill string with the current position of the bit is shown on a
depth scale measured along the length of the hole. Next to this, the events recognized by DrillEdge is
displayed. In the central pane, the Case Radar is shown with the results of the case retrival. By clicking on
a case (here, the yellow dot), the user can get more information about the case displayed in the pane on
the right.
5. Real-time Case-based Reasoning on Streaming Data
DrillEdge applies CBR to monitoring and reasoning with real-time data collected
during drilling of oilwells. The collected data consist of twenty to fifty parameters and
can broadly be divided into two different types, which are sensor data and observed
data. Sensor data are continuously and automatically collected both from surface and
subsurface sensors while observed data is data registered manually by experts located
on the rig. Typically, sensor data are collected at intervals ranging from one to twenty
seconds while observed data are collected about once or twice each day.
The main task of DrillEdge is to monitor the current situation of the oil well drilling
process, as indicated by the collected parameters, through comparing the current
situation to descriptions of past situations stored in the case-base in order to predict
unwanted situations like, for instance, a stuck pipe.
Real-time is a relative term, which differs from context to context. Our definition is
related to the scenario in which DrillEdge is used and the tasks it is designed to perform.
DrillEdge is designed to assist drilling engineers monitoring real-time drilling
operations from on-shore real-time data centers. Supervising drilling engineers in this
setting have a reaction time measured in a couple of minutes. Even though DrillEdge
might use approximately ten seconds to compare a mid-sized case-base of one hundred
past cases to the current, this is well inside the limits of the drilling engineer’s reaction
time. Hence, a case comparison is done for each second data point, as five second data
is most common.
Case-based Reasoning on Streaming Data 137
✐
✐
✐ ✐
5.1 Representing cases
A major challenge in creating the DrillEdge system was how the input case could be
formed from the real-time input data. Experienced drilling specialists are often able to
see symptoms of serious in the data well before they develop into problems. However,
these symptoms are often a complex combination of several parameters and how they
change over time. Further, a single such symptom is not enough to form a robust
diagnosis. Like a cough or a fever in medicine, the symptoms must be combined with
other observations. These symptoms may also occur over hours and days, which means
that data that was recorded several days ago may be relevant in characterizing the
current situation.
Hence, a case cannot just use a small snapshot of the recent real-time data to form a
description of the current situation. This naĂŻve approach to solving such a task is to
represent the description part of the case as one set of values from the real-time
parameters at a given point in time and attach a solution to the problem situation as
another part of the case. The solutions to cases that are compared and found similar to
the current case are presented as possible solutions to the current case. However, this
approach will result in utter failure, as some parameters, like pressure, will increase with
depth. Thus, a normal value for pressure at one depth will be catastrophic at another
depth. Another problem with the naĂŻve approach is that it is impossible to monitor
trends and deviation from trends for a parameter.
In theory, the full real-time data set could be used as the input case, but this can
become quite large (several hundred MB). Apart from the computational problems of
continuously comparing this real-time data to a case base of equally large cases in a
real-time setting, such a large input case would also require a very large case base to
populate the problem space, which is infeasible in this domain.
The solution in DrillEdge has been to perform an abstraction, where the real-time
data is interpreted to recognize patterns in the data that represent particularly interesting
drilling events. With a few exceptions, raw point-measures of parameters are excluded
from the case representation, as they contain too little information. Instead of using raw
parameters in the case, parameters or set of parameters are seen in relation to
themselves and each others. Parameters or set of parameters deviating from trends or
following a given pattern produce events. The events are abstractions of the recognized
abnormalities of the parameters and they indicate symptoms of failures. Some of these
symptoms can indicate failures alone while other failures can only be diagnosed if
several symptoms are present. Examples of events are Increased Torque, which
indicates an increase in the torque measurement when seen in relation to previous
measurements, and Took Weight, which is a decrease of the weight on bit (WOB)
parameter while tripping in. Thus, situations related to an increase in the measured
torque that happen at one depth can be compared to other similar past situations that
occurred at other depths.
All events are indicated both on a time scale and a depth scale. Representing events
both on a depth and a time scale enables reasoning about how the state of the well has
evolved over time. Although all events are stored in a case, only a subset of the events
are important when comparing one case to another, and these are the events that appear
near the current point in time and near the current depth. This enables the reasoning
process to focus on what is important for the current situation and refocus if something
important occurs. Another advantage of not including all events in the reasoning process
is the reduction in computational cost, as comparing sequential data are computationally
very demanding.
138 O. E. Gundesen, F. Sørmo
✐
✐
✐
✐
Case descriptions are not only comprised of event sequences. Additional
information stored in cases include sequences containing averaged depth data collected
over a short span near the current depth, symbolic representations of static parameters
like drill bit type, drilling fluid type, properties of the geological formation and so on,
and single parameter values averaged over different ranges of both time and depth, as
well as some derived parameters to form an abstracted representation. The case
description is a rich and data intensive representation mainly targeted for use by the
CBR-algorithm.
5.2 Case-based Reasoning in DrillEdge
Figure 3: The Case-based Reasoning Cycle as implemented by DrillEdge
The generalized Case-based Reasoning process is described as a cycle comprised of
four steps, which are retrieve, reuse, revise and retain. These steps in the CBR cycle
also describe the reasoning process in DrillEdge with minor differences. The CBR cycle
as implemented by DrillEdge is illustrated in figure 3.
As illustrated in the figure, cases are comprised of two parts, which are the
situational description and the experience and advice. A current case (3) only contains a
situational description that is formed partly by important events (2). The events are
interpretations of real-time values (1) of the monitored parameters.
After the current case is formed, the past cases (4) that are most similar to the
current case are searched for and retrieved. All the retrieved cases are displayed on the
case radar so that the drilling engineer (5) can evaluate and reuse the experience and
Case-based Reasoning on Streaming Data 139
✐
✐
✐ ✐
advice part of the similar past cases. If the drilling engineer encounters a current
situation that has no past case that provides an adequate experience and advice, the
current situation description is captured to form a new case (6). The experience and
advice is revised to contain information applicable for the current situation and is stored
as part of the new case. The case is retained with an adjusted set of weights for the
features in order to guide the CBR-algorithm to remember the case at the most
appropriate future situation.
Case-based Reasoning in DrillEdge differs from traditional CBR-systems in that it
continuously monitors streaming real-time data. Abstractions are made from the real-
time data and these form the basis of the case representation. A common form for
retrieval is to use k-Nearest Neighbor to find the k most similar cases. The solution of
the current case is found by copying the solution provided by the majority of the nearest
neighbors. In DrillEdge, all the most relevant cases are shown to the drilling engineer
and the experience and advice from these situations assist him or her in dealing with the
current situation.
5.3 DrillEdge Compared to Other Temporal Case-based Reasoning
Systems
Only a few case-based reasoning systems that reason with temporal data are presented
in the literature. We will present some of them here.
Ram and Santamaria [6] present a system for autonomous navigation that utilizes
Continuous CBR to control the behavior of a robot. The CBR system received discrete
real-time sensory input that is processed in order to produce an online real-time
response for the robot. Sensory input data are stored as four vectors of point based data,
and these are compared for similarity at each retrieve step. The approach combines a
continuous case representation with continuous performance and continuous learning.
As DrillEdge, the Continuous CBR approach receives equally spaced real-time data, but
the methods differ in how they utilize the data. While the Continuous CBR approach
compare vectors of sensory input values, DrillEdge has to interpret and perform
abstraction on the sensory input in order to be able to use the information in the data.
The events, which are the result of the abstraction, are put into temporal sequences that
specify temporality as intervals in contrast to points in time. Both methods have a
continuous case representation that develops with time. The real-time constraint on
Continuous CBR is much stronger than for DrillEdge.
JĂŚre et al. [7] presents a method for representing and reasoning with time-dependent
situations within the knowledge intensive CBR system Creek. Allens [8] framework for
interval-based time relations is introduced used for reasoning with temporal relations in
CBR. They foresee problems with running the system in a real operational setting
because the problem of transforming into the qualitative changes used by the method. In
contrast to JĂŚre et al., DrillEdge does not represent temporal relations explicit as
relations between concepts in an ontology, but compares start and end times of events
stored in sequences.
Martin and Plaza [5] present an Intrusion detection system implemented as an agent
system that provides the CBR module with data from difference sources. They
identified three assumptions that generally applies for traditional CBR systems, which
are (i) non-coincidental sources: Problems occur one at time, (ii) full-fledged problem
descriptions: Cases have well-defined and clear limits and cases are described at one
140 O. E. Gundesen, F. Sørmo
✐
✐
✐
✐
shot, (iii) individual case independency: cases are manipulated independently, not
taking previous cases into account. Hence, they argue that traditional CBR systems
cannot support analysis of unsegmented sequences of observational data stemming from
multiple sources.
They represent cases that grow with time without fixed boundaries and are mixed
with other case pieces. This enables the case retrieval to compare a current case to
similar cases representing solutions to different types of problems evolving over time.
Also, alerts that are mapped directly to case types are put into sequences, which also
grow. Crown cases are decomposed into smaller trunk cases until they cannot be
decomposed any further. These indivisible cases are called root cases. Such a
hierarchical decomposition of cases is called an action actionable tree. The predictive
strengths of all trunk and root cases are predefined so that the possibility that any Crown
cases will occur can be computed. Thus, parts of a current case can predict the
possibility of all Crown cases that have a subcase part of the current case.
DrillEdge is a combination of Ceaseless CBR and traditional CBR systems. As
Ceaseless CBR, DrillEdge supports non-coincidental sources by the fact that sequences
of alerts/events are compared to sequences of alerts/events of all other cases and the
most similar cases are shown on the case radar without regard to the problem source or
type. However, while the alert sequence in Ceaseless CBR continues to grow for each
time step, not all events are considered relevant when matching cases in DrillEdge; only
the events that have appeared most recently and the older events that have happened at
the same depth as the drill bit is located currently are considered when matching the
current case against past similar cases. Hence, only the relevant events are matched
during case retrieval.
A case in DrillEdge cannot be composed of other cases, so a current case matches
only against complete past situation descriptions. Cases have well-defined boundaries
and are snapshots reflecting the state of the well at a given point in time. However, as
new current cases are captured and matched against the case-base continuously the
development of the well-state can be monitored on the case-radar, and it will change
gradually if not very important events appear. Without a complex case representation,
the CBR mechanism is able to focus and refocus the most similar cases even though
they may describe different problem types.
Conclusion
We have presented DrillEdge, which is a production ready CBR system utilizing
temporal reasoning on streaming real-time data to monitor oilwell drilling in order to
prevent unwanted situations. DrillEdge has been developed together with Statoil and is
currently tested by several major oil service companies.
References
[1] Agnar Aamodt, Enric Plaza: Case-based reasoning; Foundational issues,
methodological variations, and system approachesAI Communications, Vol.7,
No.1,March 1994, pp. 39-59.(pdf-version)
[2] Agnar Aamodt: Knowledge-intensive case-based reasoning in Creek. Peter Funk,
Pedro A. Gonzalez Calero (eds.), Advances in case-based reasoning, 7th European
Conference, ECCBR 2004, Proceedings. Madrid, Spain, August/September 2004.
Lecture Notes in Artificial Intelligence, LNAI 3155, Spinger, 2004. pgs. 1-15.
ISBN0302-9743.
Case-based Reasoning on Streaming Data 141
✐
✐
✐ ✐
[3] PĂĽl Skalle, Agnar Aamodt, Jostein Sveen: Case-based reasoning a method for
gaining experience and giving advice on how to avoid and how to free stuck drill
strings. Proceedings of IADC Middle EastDrilling Conference, Dubai, Nov. 1998.
[4] Paal Skalle, Jostein Sveen, Agnar Aamodt: Improved efficiency of oil well drilling
through case-based reasoning. Proceedingsof PRICAI 2000, The Sixth Pacific Rim
InternationalConference on Artificial Intellignece, Melbourne August-September 2000.
LectureNotes in Artificial Intelligence, Springer Verlag, 2000. pp 713-723.
[5] Francisco J. Martin and Enric Plaza: Ceaseless Case-Based Reasoning. Proceedings
of ECCBR 2004, LNAI 3155, pp. 287–301, Springer-Verlag Berlin Heidelberg
[6] A. Ram and J.C. SantamarĂ­a: Continuous Case-Based Reasoning, Artificial
Intelligence, volume 90, issue 1-2 (February 1997), ISSN:0004-3702
[7] Martha Dørum JÌre, Agnar Aamodt and Pül Skalle: Representing Temporal
Knowledge for Case-Based Prediction, in the proceedings of ECCBR 2002, LNAI
2416, pp. 174–188 Springer-Verlag Berlin Heidelberg
[8] James F. Allen: Maintaining knowledge about temporal intervals,
Communications of the ACM, volume 26, issue 11 (November 1983), ISSN:0001-0782
[9] PĂĄdraig Cunningham: A Taxonomy of Similarity Mechanisms for Case-Based
Reasoning, IEEE Transactions on Knowledge and Data Engineering, vol. 21, no. 11, pp.
1532-1543, November, 2009. ISSN: 1041-4347
142 O. E. Gundesen, F. Sørmo

More Related Content

Similar to An Introspective Component-Based Approach For Meta-Level

INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMS
INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMSINTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMS
INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMShiij
 
INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMS
INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMSINTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMS
INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMShiij
 
Course Project Part 3—Translating Evidence Into Pra.docx
Course Project Part 3—Translating Evidence Into Pra.docxCourse Project Part 3—Translating Evidence Into Pra.docx
Course Project Part 3—Translating Evidence Into Pra.docxlanagore871
 
ATTENTION-BASED DEEP LEARNING SYSTEM FOR NEGATION AND ASSERTION DETECTION IN ...
ATTENTION-BASED DEEP LEARNING SYSTEM FOR NEGATION AND ASSERTION DETECTION IN ...ATTENTION-BASED DEEP LEARNING SYSTEM FOR NEGATION AND ASSERTION DETECTION IN ...
ATTENTION-BASED DEEP LEARNING SYSTEM FOR NEGATION AND ASSERTION DETECTION IN ...ijaia
 
Application of Expert System in medical systems
Application of Expert System in medical systemsApplication of Expert System in medical systems
Application of Expert System in medical systemsShashwat Shankar
 
Integrating Quantitative and Qualitative.pdf
Integrating Quantitative and Qualitative.pdfIntegrating Quantitative and Qualitative.pdf
Integrating Quantitative and Qualitative.pdfQeerrooGanamaa
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
MULTI-CRITERIA DECISION SUPPORT GUIDED BY CASE-BASED REASONING
MULTI-CRITERIA DECISION SUPPORT GUIDED BY CASE-BASED REASONINGMULTI-CRITERIA DECISION SUPPORT GUIDED BY CASE-BASED REASONING
MULTI-CRITERIA DECISION SUPPORT GUIDED BY CASE-BASED REASONINGcscpconf
 
A practical guide to do primary research on meta analysis methodology - Pubrica
A practical guide to do primary research on meta analysis methodology - PubricaA practical guide to do primary research on meta analysis methodology - Pubrica
A practical guide to do primary research on meta analysis methodology - PubricaPubrica
 
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUE
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUECLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUE
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUEijcsit
 
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUE
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUECLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUE
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUEAIRCC Publishing Corporation
 
Automatic Rubric-Based Content Grading For Clinical Notes
Automatic Rubric-Based Content Grading For Clinical NotesAutomatic Rubric-Based Content Grading For Clinical Notes
Automatic Rubric-Based Content Grading For Clinical NotesEmma Burke
 
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERS
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERSDEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERS
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERSIJCSEA Journal
 
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERS
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERSDEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERS
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERSIJCSEA Journal
 
Combining decision trees and k nn
Combining decision trees and k nnCombining decision trees and k nn
Combining decision trees and k nncsandit
 
Case-Based Reasoning for Explaining Probabilistic Machine Learning
Case-Based Reasoning for Explaining Probabilistic Machine LearningCase-Based Reasoning for Explaining Probabilistic Machine Learning
Case-Based Reasoning for Explaining Probabilistic Machine Learningijcsit
 
MULTI MODEL DATA MINING APPROACH FOR HEART FAILURE PREDICTION
MULTI MODEL DATA MINING APPROACH FOR HEART FAILURE PREDICTIONMULTI MODEL DATA MINING APPROACH FOR HEART FAILURE PREDICTION
MULTI MODEL DATA MINING APPROACH FOR HEART FAILURE PREDICTIONIJDKP
 
Week 6 - Final Project Psychological Treatment Plan It is reco.docx
Week 6 - Final Project Psychological Treatment Plan It is reco.docxWeek 6 - Final Project Psychological Treatment Plan It is reco.docx
Week 6 - Final Project Psychological Treatment Plan It is reco.docxcockekeshia
 

Similar to An Introspective Component-Based Approach For Meta-Level (20)

INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMS
INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMSINTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMS
INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMS
 
INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMS
INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMSINTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMS
INTEGRATING MACHINE LEARNING IN CLINICAL DECISION SUPPORT SYSTEMS
 
U0 vqmtq2otq=
U0 vqmtq2otq=U0 vqmtq2otq=
U0 vqmtq2otq=
 
Course Project Part 3—Translating Evidence Into Pra.docx
Course Project Part 3—Translating Evidence Into Pra.docxCourse Project Part 3—Translating Evidence Into Pra.docx
Course Project Part 3—Translating Evidence Into Pra.docx
 
ATTENTION-BASED DEEP LEARNING SYSTEM FOR NEGATION AND ASSERTION DETECTION IN ...
ATTENTION-BASED DEEP LEARNING SYSTEM FOR NEGATION AND ASSERTION DETECTION IN ...ATTENTION-BASED DEEP LEARNING SYSTEM FOR NEGATION AND ASSERTION DETECTION IN ...
ATTENTION-BASED DEEP LEARNING SYSTEM FOR NEGATION AND ASSERTION DETECTION IN ...
 
Application of Expert System in medical systems
Application of Expert System in medical systemsApplication of Expert System in medical systems
Application of Expert System in medical systems
 
Integrating Quantitative and Qualitative.pdf
Integrating Quantitative and Qualitative.pdfIntegrating Quantitative and Qualitative.pdf
Integrating Quantitative and Qualitative.pdf
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
MULTI-CRITERIA DECISION SUPPORT GUIDED BY CASE-BASED REASONING
MULTI-CRITERIA DECISION SUPPORT GUIDED BY CASE-BASED REASONINGMULTI-CRITERIA DECISION SUPPORT GUIDED BY CASE-BASED REASONING
MULTI-CRITERIA DECISION SUPPORT GUIDED BY CASE-BASED REASONING
 
A practical guide to do primary research on meta analysis methodology - Pubrica
A practical guide to do primary research on meta analysis methodology - PubricaA practical guide to do primary research on meta analysis methodology - Pubrica
A practical guide to do primary research on meta analysis methodology - Pubrica
 
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUE
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUECLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUE
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUE
 
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUE
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUECLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUE
CLUSTERING ALGORITHM FOR A HEALTHCARE DATASET USING SILHOUETTE SCORE VALUE
 
Automatic Rubric-Based Content Grading For Clinical Notes
Automatic Rubric-Based Content Grading For Clinical NotesAutomatic Rubric-Based Content Grading For Clinical Notes
Automatic Rubric-Based Content Grading For Clinical Notes
 
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERS
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERSDEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERS
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERS
 
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERS
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERSDEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERS
DEVELOPING A CASE-BASED RETRIEVAL SYSTEM FOR SUPPORTING IT CUSTOMERS
 
Combining decision trees and k nn
Combining decision trees and k nnCombining decision trees and k nn
Combining decision trees and k nn
 
Case-Based Reasoning for Explaining Probabilistic Machine Learning
Case-Based Reasoning for Explaining Probabilistic Machine LearningCase-Based Reasoning for Explaining Probabilistic Machine Learning
Case-Based Reasoning for Explaining Probabilistic Machine Learning
 
I217076
I217076I217076
I217076
 
MULTI MODEL DATA MINING APPROACH FOR HEART FAILURE PREDICTION
MULTI MODEL DATA MINING APPROACH FOR HEART FAILURE PREDICTIONMULTI MODEL DATA MINING APPROACH FOR HEART FAILURE PREDICTION
MULTI MODEL DATA MINING APPROACH FOR HEART FAILURE PREDICTION
 
Week 6 - Final Project Psychological Treatment Plan It is reco.docx
Week 6 - Final Project Psychological Treatment Plan It is reco.docxWeek 6 - Final Project Psychological Treatment Plan It is reco.docx
Week 6 - Final Project Psychological Treatment Plan It is reco.docx
 

More from Laurie Smith

The Writing Process For An Argument Is Shown In Blue
The Writing Process For An Argument Is Shown In BlueThe Writing Process For An Argument Is Shown In Blue
The Writing Process For An Argument Is Shown In BlueLaurie Smith
 
Writing The Gre Argument Essay Step By Step Guid
Writing The Gre Argument Essay Step By Step GuidWriting The Gre Argument Essay Step By Step Guid
Writing The Gre Argument Essay Step By Step GuidLaurie Smith
 
Law Essays - Writing Center 247.
Law Essays - Writing Center 247.Law Essays - Writing Center 247.
Law Essays - Writing Center 247.Laurie Smith
 
Reflective Writing
Reflective WritingReflective Writing
Reflective WritingLaurie Smith
 
Analysis Of Flying Over Waters Telegraph
Analysis Of Flying Over Waters TelegraphAnalysis Of Flying Over Waters Telegraph
Analysis Of Flying Over Waters TelegraphLaurie Smith
 
Case Study Format For Nursing Students Admissi
Case Study Format For Nursing Students AdmissiCase Study Format For Nursing Students Admissi
Case Study Format For Nursing Students AdmissiLaurie Smith
 
4 Perfect Essay Starter Tips - Essays Writing Service - O
4 Perfect Essay Starter Tips - Essays Writing Service - O4 Perfect Essay Starter Tips - Essays Writing Service - O
4 Perfect Essay Starter Tips - Essays Writing Service - OLaurie Smith
 
8 MLA Annotated Bibliography Templates
8 MLA Annotated Bibliography Templates8 MLA Annotated Bibliography Templates
8 MLA Annotated Bibliography TemplatesLaurie Smith
 
Essay On Importance Of Education In English Imp
Essay On Importance Of Education In English ImpEssay On Importance Of Education In English Imp
Essay On Importance Of Education In English ImpLaurie Smith
 
Examples Of Science Paper Abstract Writing A Scienti
Examples Of Science Paper Abstract Writing A ScientiExamples Of Science Paper Abstract Writing A Scienti
Examples Of Science Paper Abstract Writing A ScientiLaurie Smith
 
Maduro Ms Estn Deprimidos Technical Englis
Maduro Ms Estn Deprimidos Technical EnglisMaduro Ms Estn Deprimidos Technical Englis
Maduro Ms Estn Deprimidos Technical EnglisLaurie Smith
 
Narrative Essay Peer Review Worksheet - Worksheet Fun
Narrative Essay Peer Review Worksheet - Worksheet FunNarrative Essay Peer Review Worksheet - Worksheet Fun
Narrative Essay Peer Review Worksheet - Worksheet FunLaurie Smith
 
Fire Safety Writing Prompts And Themed Papers Writi
Fire Safety Writing Prompts And Themed Papers WritiFire Safety Writing Prompts And Themed Papers Writi
Fire Safety Writing Prompts And Themed Papers WritiLaurie Smith
 
Master Paper Writers. Custom Essay Writing Services From Best Essays ...
Master Paper Writers. Custom Essay Writing Services From Best Essays ...Master Paper Writers. Custom Essay Writing Services From Best Essays ...
Master Paper Writers. Custom Essay Writing Services From Best Essays ...Laurie Smith
 
HOW TO WRITE THE NYU SUPPLEMENTAL
HOW TO WRITE THE NYU SUPPLEMENTALHOW TO WRITE THE NYU SUPPLEMENTAL
HOW TO WRITE THE NYU SUPPLEMENTALLaurie Smith
 
Business Paper How To Write Commentary In An Essay
Business Paper How To Write Commentary In An EssayBusiness Paper How To Write Commentary In An Essay
Business Paper How To Write Commentary In An EssayLaurie Smith
 
Chinese Dragon Writing Paper Teaching Resources
Chinese Dragon Writing Paper Teaching ResourcesChinese Dragon Writing Paper Teaching Resources
Chinese Dragon Writing Paper Teaching ResourcesLaurie Smith
 
Chemistry Lab Report Format
Chemistry Lab Report FormatChemistry Lab Report Format
Chemistry Lab Report FormatLaurie Smith
 
Kawaii Writing Paper Sets By Asking For Trouble Notonthehi
Kawaii Writing Paper Sets By Asking For Trouble NotonthehiKawaii Writing Paper Sets By Asking For Trouble Notonthehi
Kawaii Writing Paper Sets By Asking For Trouble NotonthehiLaurie Smith
 
How To Write Conclusions Of A Research Paper
How To Write Conclusions Of A Research PaperHow To Write Conclusions Of A Research Paper
How To Write Conclusions Of A Research PaperLaurie Smith
 

More from Laurie Smith (20)

The Writing Process For An Argument Is Shown In Blue
The Writing Process For An Argument Is Shown In BlueThe Writing Process For An Argument Is Shown In Blue
The Writing Process For An Argument Is Shown In Blue
 
Writing The Gre Argument Essay Step By Step Guid
Writing The Gre Argument Essay Step By Step GuidWriting The Gre Argument Essay Step By Step Guid
Writing The Gre Argument Essay Step By Step Guid
 
Law Essays - Writing Center 247.
Law Essays - Writing Center 247.Law Essays - Writing Center 247.
Law Essays - Writing Center 247.
 
Reflective Writing
Reflective WritingReflective Writing
Reflective Writing
 
Analysis Of Flying Over Waters Telegraph
Analysis Of Flying Over Waters TelegraphAnalysis Of Flying Over Waters Telegraph
Analysis Of Flying Over Waters Telegraph
 
Case Study Format For Nursing Students Admissi
Case Study Format For Nursing Students AdmissiCase Study Format For Nursing Students Admissi
Case Study Format For Nursing Students Admissi
 
4 Perfect Essay Starter Tips - Essays Writing Service - O
4 Perfect Essay Starter Tips - Essays Writing Service - O4 Perfect Essay Starter Tips - Essays Writing Service - O
4 Perfect Essay Starter Tips - Essays Writing Service - O
 
8 MLA Annotated Bibliography Templates
8 MLA Annotated Bibliography Templates8 MLA Annotated Bibliography Templates
8 MLA Annotated Bibliography Templates
 
Essay On Importance Of Education In English Imp
Essay On Importance Of Education In English ImpEssay On Importance Of Education In English Imp
Essay On Importance Of Education In English Imp
 
Examples Of Science Paper Abstract Writing A Scienti
Examples Of Science Paper Abstract Writing A ScientiExamples Of Science Paper Abstract Writing A Scienti
Examples Of Science Paper Abstract Writing A Scienti
 
Maduro Ms Estn Deprimidos Technical Englis
Maduro Ms Estn Deprimidos Technical EnglisMaduro Ms Estn Deprimidos Technical Englis
Maduro Ms Estn Deprimidos Technical Englis
 
Narrative Essay Peer Review Worksheet - Worksheet Fun
Narrative Essay Peer Review Worksheet - Worksheet FunNarrative Essay Peer Review Worksheet - Worksheet Fun
Narrative Essay Peer Review Worksheet - Worksheet Fun
 
Fire Safety Writing Prompts And Themed Papers Writi
Fire Safety Writing Prompts And Themed Papers WritiFire Safety Writing Prompts And Themed Papers Writi
Fire Safety Writing Prompts And Themed Papers Writi
 
Master Paper Writers. Custom Essay Writing Services From Best Essays ...
Master Paper Writers. Custom Essay Writing Services From Best Essays ...Master Paper Writers. Custom Essay Writing Services From Best Essays ...
Master Paper Writers. Custom Essay Writing Services From Best Essays ...
 
HOW TO WRITE THE NYU SUPPLEMENTAL
HOW TO WRITE THE NYU SUPPLEMENTALHOW TO WRITE THE NYU SUPPLEMENTAL
HOW TO WRITE THE NYU SUPPLEMENTAL
 
Business Paper How To Write Commentary In An Essay
Business Paper How To Write Commentary In An EssayBusiness Paper How To Write Commentary In An Essay
Business Paper How To Write Commentary In An Essay
 
Chinese Dragon Writing Paper Teaching Resources
Chinese Dragon Writing Paper Teaching ResourcesChinese Dragon Writing Paper Teaching Resources
Chinese Dragon Writing Paper Teaching Resources
 
Chemistry Lab Report Format
Chemistry Lab Report FormatChemistry Lab Report Format
Chemistry Lab Report Format
 
Kawaii Writing Paper Sets By Asking For Trouble Notonthehi
Kawaii Writing Paper Sets By Asking For Trouble NotonthehiKawaii Writing Paper Sets By Asking For Trouble Notonthehi
Kawaii Writing Paper Sets By Asking For Trouble Notonthehi
 
How To Write Conclusions Of A Research Paper
How To Write Conclusions Of A Research PaperHow To Write Conclusions Of A Research Paper
How To Write Conclusions Of A Research Paper
 

Recently uploaded

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 

Recently uploaded (20)

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 

An Introspective Component-Based Approach For Meta-Level

  • 1. ✐ ✐ ✐ ✐ An Introspective Component-Based Approach for Meta-Level Reasoning in Clinical Decision Support Systems∗ Tor Gunnar Houeland, Agnar Aamodt Department of Computer and Information Science, Norwegian University of Science and Technology, NO-7491 Trondheim, Norway {houeland, agnar}@idi.ntnu.no Abstract The paper presents core elements of a meta-level architecture for clinical decision support, in the domain of palliative care. The goal of the reported research is to develop an architecture and an integrated set of methods for an introspective meta-level reasoner. Within the architecture a system is under development that addresses the identification and utilization of clinical guidelines for the assessment and treatment of cancer pain. Case-based reasoning is a core component of the architecture, which also incorporates rule-based and probabilistic model-based methods. The paper presents the overall architectural constraints and exemplifies parts of it through structured component descriptions. 1 Introduction A clinical decision support system that covers several clinical tasks, such as patient examination, disease hypotetization, diagnosis determination, treatment planning, and drug administration, would typically need to combine several types of knowledge and several reasoning methods to provide good advisory support. There has recently been a renewed interest in meta-level reasoning in which a computer reasons about its own reasoning processes as well as the problem at hand [1]. The idea is that this allows the system to improve its own reasoning processes, for example by determining why a problem was solved incorrectly. By identifying where the error occurred in the reasoning process, the faulty part can be amended which would let the system solve such problems correctly in the future. In order to enable the meta-level reasoner to improve its own performance, learning within the meta-level reasoner itself, i.e. introspective learning, is also called for. The focus of the research presented here is on meta-level reasoning for clinical decision support. A component-based architecture and an integrated set of methods for a meta-level reasoner to improve its reasoning and learning abilities are currently being ∗An earlier version of this paper was presented at the Seventh Workshop on Case-Based Reasoning in the Health Sciences, July 21, 2009. We’d like to thank the other participants for their helpful and encouraging feedback. This paper was presented at the NIK-2009 conference; see http://www.nik.no/. 121
  • 2. ✐ ✐ ✐ ✐ developed. The architecture allows for the integration of all three reasoning paradigms in symbolic AI, i.e. rule-based, case-based, and (deeper) model-based reasoning. We are addressing this problem in the domain of clinical decision support for palliative care. In a cooperation with the Palliative Medicine Unit, Cancer Department, St. Olavs University Hospital in Trondheim, we are studying the potential for proactive, advice- giving systems for the improved treatment of pain in cancer patients. In our current project, short-named TLCPC, which has national funding, the focus is on lung cancer. However, this research is tightly linked to a larger EU project called EPCRC [2], which covers all forms of cancer pain as well as other problems related to palliative care for long-term cancer patients. A motivation for that project is also to standardize procedures and to unify clinical practice in palliative care [3], a goal for which computerized decision support systems have a strong potential. The system under development will in particular address the identification and utilization of clinical guidelines [4]. In the next section we review some of the related research in metareasoning with case-based components, and CBR used for guideline supported clinical decision-making. In section 3 our metareasoning approach and introspective architecture are introduced. Section 4 illustrates important semantic types used to describe components in the architecture, which is discussed in section 5. The status of the clinical guideline application is presented in section 6. Concluding remarks end the paper. 2 Related Research There is a significant amount of research that has addressed metareasoning in relation to case-based reasoning systems. In Meta-AQUA [5, 6] introspection is used in the retain phase to learn from mistakes. What is referred to as introspective meta-XPs are used to represent failures encountered while the system operates. The system constructs learning plans that consist of calling various learning algorithms. Early accounts of meta-level architectures involving CBR also include BOLERO [7] and ANALOG [8]. In BOLERO, a case-based meta-level planner controls the execution of a rule-based reasoner designed to accomplish different medical diagnosis tasks. New plans are constructed during the problem solving process when needed, and captured as new cases by the meta-level learner. ANALOG provides a knowledge modeling framework and a system architecture that links various types of tasks, methods, and domain knowledge types. A selected method runs until an impasse situation is encountered, at which time a new method selection process is run. The meta-level learner remembers failed and successful instantiations of methods. Christodoulou and Keravnou describe a meta-level architecture [9] in the domain of breast cancer histopathology. Each problem solver is associated with a task, an inference mechanism, and domain knowledge constraints. A set of meta-parameters is used by the metareasoner to characterize knowledge types (e.g. experience-based, causal), and desired solution properties (e.g. level of detail, accuracy, efficiency). The metareasoner is a case-based reasoner that captures and stores problem-solving paths as strategy cases incrementally. In the ADAPtER system [10], an architecture that combines model-based and case- based reasoning for medical diagnosis, the CBR component is the primary object level reasoner. The model-based method is triggered either when the retrieval method fails to find a matching case, or the case adaptation module fails. Cases are captured as a compilation of the model-based process. 122 T. G. Houeland, A. Aamodt
  • 3. ✐ ✐ ✐ ✐ ROBBIE [11] is a case-based planning system in which an introspective model- based reasoner provides learning goals for the system when it fails to meet reasoning performance expectations. This way of generating learning objectives based on reasoning failures is similar to Meta-AQUA, although it is performed in different ways. jCOLIBRI [12] is a Java framework for building CBR systems with metareasoning capabilities. It uses a two-layer architecture that separates the user interface and core classes, and uses advanced feature of the Java language and libraries to simplify development. jCOLIBRI uses a task structure with semantics defined in CBROnto, an ontology created for representing the terms and concepts that are important for CBR development. The principles of evidence-based medicine, in which systematic research evaluation regimes are used to assess and justify results from medical research, form a well- established basis for medical practice [13]. One manifestation of this is the specification of clinical guidelines, i.e. operational procedures for how to conduct a particular type of patient examination, make a diagnosis, administer a type of drug, or perform other types of treatment. Another source of information used by clinicians in their daily practice is, of course, the set of experiences a clinician has from earlier patients. While guidelines are important in unifying high-quality practice at a general level, past patient cases provide another level of specificity, closer to concrete actions. Hence, a combination of general guidelines with past experience cases is potentially a strong combination. Identifying the strengths and weaknesses of a case-based method vs. a generalization-based one can be done analytically or experimentally. Marling et. al. [14] reports on an experiment in the domain of nutritional menu planning, in which a hybrid system was developed by combing the strengths of separate rule-based and case-based reasoners. The hybrid system outperformed both separate systems. In the CARE-PARTNER system [15] medical guidelines are realized in the form of problem solving pathways, implemented as a rule-based system combined with information retrieval, and with CBR as the main problem solving method. GLARE [16] is a general decision-support system for managing and utilizing clinical guidelines, in which guidelines are represented as a hierarchical structure of decision paths. Based on that system a CBR system was incorporated as additional knowledge to handle situations that are not covered by the guidelines, so-called non-compliances [17]. Even if several medical guideline systems combine different reasoning paradigms, there has been very little work on moving the combined reasoning up to the metareasoning level. An Introspective Component-Based Approach 123
  • 4. ✐ ✐ ✐ ✐ Figure 1: Duality in reasoning and acting (from Cox and Raja 2008 [1]) 3 Metareasoning Approach Recently, Cox and Raja [1] presented a general high-level framework of metareasoning, shown in figure 1. It relates three levels, i.e the ground level (physical perception and action), the object level (reasoning about action), and the meta-level (reasoning about reasoning). Within this high-level perspective, Leake and Wilson [18] address the learning part of metareasoning, and present a set of challenging issues, such as learning for self- understanding and self-explanation. Many meta-level reasoning systems start by building a partial solution and then invoking meta-level reasoning functionality to determine whether the object-level reasoning processes are working satisfactorily or not. Such systems then either proceed as normal, or classify the reasoning process as a failure and create a new metareasoning goal to learn from this failure. This is in contrast to the meta-level control agent in our approach, which operates on the object-level reasoning components directly without a specific reasoning failure to address. This allows the system to have a clearer broad focus on performing changes that affect the entire reasoning system instead of correcting single failures, and this broadening is also identified by Leake and Wilson [18] as an important opportunity for a more flexible learning focus. Future planned meta-level components in our approach such as a competence- evaluator for problem-solving methods can also assist in providing the system with a level of self-understanding, which is another identified opportunity for introspective learning systems. A system using our introspective architecture with CBR reasoning methods which follows this general framework is shown in figure 2. The ground level is represented as I/O for the system, which is not covered in our architecture but must necessarily exist in some form for a complete CBR system. In the shown system reasoning tasks are explicitly represented, with a “CBR-based problem solving task” at the object level and several metareasoning tasks. In our architecture there is no fundamental difference in how reasoning tasks for the two levels must be represented, but they are shown as seperate boxes in the figure to ease understanding and fit the metareasoning framework of Cox and Raja. The importance of our introspective architecture lies in the components, each of which implements a specific functionality, and is modified and assigned to a particular reasoning task by meta-level reasoning components. Richter [19] introduced the knowledge container model, where pieces of knowledge can be categorized into four categories: case vocabulary, cases, similarity assessment and adaptation knowledge. Given that a set of precise and consistent terms is important for reasoning at the meta-level, we explicitly include the CBR system vocabulary as part of 124 T. G. Houeland, A. Aamodt
  • 5. ✐ ✐ ✐ ✐ I/O, GUI, etc. (not modeled) Problem solving tasks (object level) CBR Re Re Re Re Meta-reasoning tasks (meta-level) Assign components Modify parameters Combine components Introspective components Similarity- based retrieval Similarity measure Figure 2: A CBR system based on the introspective architecture the case vocabulary category. To make sure that the vocabulary contains semantics that are useful for human designers, we suggest that the vocabulary should be created and updated manually, unlike the other knowledge sources which will be changed and influenced by the meta-level reasoner. In our architecture the case knowledge is stored in cases, similarity assessment as part of the components providing methods for object-level retrieval and the adaptation knowledge is shared between object level reuse components and a more profound system- level adaptation in meta-level components. For the meta-level control agent to be able to examine and calibrate the system’s components, it’s important that the settings available can be interpreted by the control program, and that the components expose interfaces at an appropriate level of abstraction. To facilitate this, we are developing a vocabulary of CBR-related terms and the intended semantics as part of our approach. An important aspect of the vocabulary is that it describes what the terms mean at a semantic level without relying on the specific realizations in any particular CBR system implementation. An example of this is a case base, which is simply defined as a set of cases. While in practice many CBR systems store the cases as a form of ordered lists, their reasoning processes typically do not rely on the particular order the cases are listed in within computer memory or on disk. The purpose of the vocabulary is to abstract away the particular specifics in implementations and generalize the terms to a semantic level where it describes the actual requirements for a term without imposing a needlessly specific design. Our vocabulary is being developed to be conceptually compatible with CBROnto [20], a modeling framework that has already examined the meanings and relations between terms from an ontological perspective. As an added benefit the CBROnto ontology is compatible with the “4 REs” CBR process cycle [21] which is widely quoted and referred to in the CBR literature. 4 Vocabulary Examples Of particular importance for our semantic task description is the type system for inputs and outputs. These types are meant to represent at the knowledge level the essential meaningful content that is to be processed. For system implementations the exact structures used to realize these knowledge types may differ, and often the same programming language structures may be used for several different knowledge types. E.g. An Introspective Component-Based Approach 125
  • 6. ✐ ✐ ✐ ✐ for a case-based reasoning system based on feature vectors, the stored cases, problem specifications, retrieval queries and produced solutions will typically all be implemented using the same type of programming language data structure, but they are still different on a semantic level. Important semantic input and output base types. Case A record of a problem solving experience, consisting of the encountered problem and the solution details AttributeCase A subtype of Case where the problem descriptions are represented as a set of features Feature A particular aspect of an AttributeCase, where each separate case can either lack the feature or have a corresponding value selected from the feature’s set of possible values ProblemInput A problem specification for a problem-solving method ProblemSolution A solution to a problem SolutionMethod A method used to create a problem solution SolutionEvaluation An evaluation of a solution applied to a problem Similarity A floating point number used specifically to represent similarity Derived semantic types. Set< T > A collection of objects of type T List< T > An ordered collection of objects of type T (a, b, c, ...) An n-tuple such as (Case, Similarity) consisting of n values where the first is of types a, the second of type b, etc. A → B A function such as Case → Similarity mapping inputs of type A to output of type B Other terms used in the example figures. SizeOf The number of objects in a Set or List collection PC An identifier used in the examples to specify an unrestricted type for problem characterizations CB An identifier used in the examples to specify a type adhering to the Case semantics for cases in a case base 126 T. G. Houeland, A. Aamodt
  • 7. ✐ ✐ ✐ ✐ Task Input Output Case-based reasoning ProblemInput ProblemSolution - Retrieve ProblemInput Set<CB> – Problem characterization ProblemInput PC – Case retrieval PC Set<CB> – Focus Set<CB> Set<CB> - Reuse (PC, Set<CB>) ProblemSolution – Adapt solution method (PC, Set<CB>) SolutionMethod – Adapt solution (PC, SolutionMethod, Set<CB>) ProblemSolution - Revise ProblemSolution (PS, SE) – Evaluate solution ProblemSolution SolutionEvaluation – Repair solution (PS, SE) ProblemSolution - Retain (PS, SE) – Update general knowledge (PS, SE) – Add to case base (PS, SE) (PS, SE) is an abbreviation for (ProblemSolution, SolutionEvaluation) due to space concerns. Figure 3: Inputs and output for the CBR tasks 5 Introspective Architecture In our conceptual framework we consider the traditional core case-based reasoning process as one possible problem solving method at the object level. We consider this to be one limited part of the combined reasoning system, with specific responsibilities, and there can be potentially many other problem solving methods implemented in the same architecture. A high-level task decomposition of the CBR process for our architecture is shown in figure 3, where the task “Case-based reasoning” is split into the 4 RE subtasks, and each of these are further split into smaller subtasks. Any components that are assigned to parts of this process must match the semantic input and output types for the corresponding tasks, which are also included in the figure. To elaborate on the case-based retrieval task, it starts from a ProblemInput and retrieves a set of cases Set<CB> where CB is a type adhering to the Case semantics, and is further subdivided into subtasks that further specify how this is performed. It starts with a subtask identifying the important aspects of the problem and characterizing it as a query, transforming the ProblemInput into an intermediate form PC. This intermediate form is not restricted by the architecture, and the only requirement is that the methods performing the subsequent CBR subtasks can accept the characterization form PC as input. This characterization is used to retrieve a number of previous cases from the case base, and then this is further narrowed to just focus on the most relevant information by e.g. filtering out a subset of cases or generalizing cases. The other subtasks are formalized in a similar way and correspond to the well-known steps that are often used to describe CBR systems. In our approach, the metareasoning components exist separately from the object-level CBR reasoning components, and in fact influence and controls how the CBR problem solving method is performed, which corresponds to the aforementioned metareasoning cycle [1]. By evaluating how the CBR method performs while solving actual new problem An Introspective Component-Based Approach 127
  • 8. ✐ ✐ ✐ ✐ instances, the meta-level control agent can identify the strengths and weaknesses of the current system and attempt to use this to improve the system’s competence or use alternative reasoning methods. For our meta-level component-combiner this is achieved by attempting to re-solve problems using different assignments of methods for each of the tasks and subtasks in the architecture. Whether the the newly combined reasoning process is an improvement is then evaluated based on whether the solutions produced for individual problem queries are correct for more problem instances than before. Architectural components One of the most important features of this architecture is that each component contains extra structures that semantically describe the component semantically using our CBR vocabulary. It is on the basis of this added information that the meta-level control component can automatically assign components to perform the system’s reasoning tasks. Figure 4 shows such a self-describing semantic structure for an example object-level retrieval component. Each component contains a list of types that apply for the component, which is listed first in the figures. This can either just be a single name to indicate that any type is supported, or a statement of the form “name isa supertype”, which indicates that the name type must support the same operations as supertype. This is useful when a component performs a generic operation that can apply to many different types of input, and e.g. only requires that the input and output types are the same or that two inputs are comparable. This section is empty for simpler components that only refer directly to specific types in the vocabulary, such as the illustrated example retrieval component. After that the input and output variables are listed. Each variable consists of a line of the format “name: type”, where name is an identifier that is used to refer to the input or output throughout the component specification and type is the semantic type, which can either be a specific from the vocabulary or one of the types specified in the component’s Types section. An example of this is the line “query: AttributeCase” from the example component, which means that the component receives an input of type AttributeCase which is referred to as query in the component description. The following section lists Conditions that have to be fulfilled for the component to produce the expected results. As long as the input variables conform to the specified conditions, the output variables are guaranteed to follow the specifications in the Guarantees section. While the type specifications are semantic restrictions on what kind of operation the component can perform, the conditions specify for which values of inputs the component will actually behave as intended, and these conditions are not necessarily checked by the component. Because of this the component’s operation can usually be performed for non- conforming inputs, but this can produce undefined results and should be avoided. By listing the conditions in the self-describing structure, the metareasoning component can make sure that only compatible components are combined, or that the conditions are checked on-demand before the operation is performed where this cannot be guaranteed. The final section is a short semantic description of the core functionality performed by the component. This has the format “x based on y”, where x and y are statements composed using the input and output variables as well as a set of pre-specified terms representing important concepts related to the reasoning system and the application domain. Based on these two examples, the meta-level control agent can create a new 128 T. G. Houeland, A. Aamodt
  • 9. ✐ ✐ ✐ ✐ Types: Input: query: AttributeCase casebase: Set<AttributeCase> similarity function: (AttributeCase source, AttributeCase target) → Similarity Output: ordered: List<AttributeCase> Conditions: 5 ≤ SizeOf(casebase) < 100000 0 ≤ similarity function(x, y) ≤ 1 Guarantees: SizeOf(ordered) = 5 Approach: order(casebase) based on query A component that assigns an order to the casebase based on similarity to the query using the specified similarity function. Types: cCase isa AttributeCase Input: source: cCase target: cCase Output: similarity: Similarity Conditions: Guarantee: 0 < similarity ≤ 1 Approach: compute similarity similarity based on source features, target features A component for computing similarity based on local feature similarities between source and target. Types: Input: query: AttributeCase casebase: Set< AttributeCase > Output: ordered: List< AttributeCase > Conditions: 5 ≤ SizeOf(casebase) < 100000 Guarantee: SizeOf(ordered) = 5 Approach: order casebase based on query similarity A combined component that assigns an order to the casebase based on feature weighted similarity to the query. Figure 4: Example components for object-level reasoning tasks. An Introspective Component-Based Approach 129
  • 10. ✐ ✐ ✐ ✐ component that accepts a query and case casebase of type AttributeCases and a feature weight map and returns a ranked list of matching cases. This is done by substituting AttributeCase for cbType and cCase (which fulfills the listed type requirements) and using the feature similarity measure as the similarity function (by identifying that the output guarantee 0 < similarity ≤ 1 fulfills the 0 ≤ similarity function(x, y) ≤ 1 condition). The meta-level learning component can also further refine this into a component that learns the feature weight map automatically while it is being used. This can be done by matching it with an appropriate learning method that e.g. takes a casebase (Set< AttributeCase >) as input and produces a similarity importance value for each feature among cases in the casebase. 6 Palliative Care Application Although there has been a lot of focus on developing clinical guidelines within the medical community, and several guideline systems have been developed by medical professional organizations, there is not a consensus as to what is a good guideline system. Further, the active use of guidelines in a clinical setting is far from the level desired, both from the perspective of quality of treatment and the perspective of unified treatment across hospitals and countries. In our partner project EPCRC, being a collaboration involving many highly influential medical groups across Europe, the aim is to reach a consensus on a set of high-quality and operational guidelines that will be used in practice. While awaiting the results from EPCRC, we currently work with an existing set of guidelines defined by NCCN (National Comprehensive Cancer Network) in the US. An ontology is currently being built based on a combination of generic UMLS terms combined with terms from the SNOMED and NCI (National Cancer Institute in the US) ontologies. The top-down design process is combined with bottom-up experimental system building, starting from simple system components that will be combined. Currently a simple a rule-based reasoner is being implemented at the object level. Example guidelines link patient data related to pain level, pain history, and history of treatment, to the next treatment. Type of treatment considered is the administration of different types of analgesics, with opioids as the largest subclass. Based on the results from the initial model, the system will be extended with case-based and model-based components. The model-based component will a be Bayesian network for reasoning about causality under uncertainty. Acquiring the necessary medical knowledge needed for our experiments is a continuing process. To advance the method development we are developing a toy example system in the domain of advice-giving for film selection, in parallel to the more complex clinical guidelines system. In that system CBR methods are currently focused on both the meta and object levels. Cases, problems and solutions are currently represented as feature vectors, and there are no explicitly represented general knowledge structures outside of the CBR reasoning components. To predict a movie rating for a user, a retrieval component retrieves a number of similar other users that have seen the movie, where similarity is determined as the average difference in ratings for movies both users have rated. A simple reuse component then copies the majority rating among the retrieved cases. The system has a meta-level control agent that adheres to the principles of the metareasoning approach described earlier. Component combinations are tried out based on matching the input and output type descriptions. Although simple and different 130 T. G. Houeland, A. Aamodt
  • 11. ✐ ✐ ✐ ✐ from the clinical application, the system assists in the bottom-up specification of the introspective architecture by providing a test-bed for experiments. In a clinical guideline support system past cases may be utilized in several ways. The role we have intended for the cases in our guideline system is two-fold. Having arrived at a leaf node in the guideline structure, CBR will be used to continue from there by providing a more specific and detailed advice, based on adapting a past result. On the other hand, if the guideline system cannot provide reasonable advice, CBR is triggered as a complementary method. The latter approach is similar to the non-compliance method [17] referred to earlier. 7 Conclusions In this paper we have presented an introspective approach to meta-level learning and outlined a component-based architecture for designing reasoning systems which supports our introspective methods. The main contribution of our approach is the way our architecture allows for gradual additions of metareasoning methods that focus on broad, system-wide improvements. We are working on further developing this architecture, and adding new components directed towards both object-level and meta-level reasoning methods for a clinical decision support system based on medical treatment guidelines. Acknowledgements This research is supported by Norwegian Research Council (NFR) grant, Contract no 183362, Translational Research in Lung Cancer and Palliative Care (TLCPC), together with funds from the Norwegian University of Science and Technology (NTNU). Thanks to Tore Bruland and Helge Langseth who contributed on the AI method side through a series of discussions, Sunil Raja who is our main contact on the medical side and has provided insight into clinical pain assessment and treatment, and Stein Kaasa who is the initiator and project leader of both the TLCPC and EPCRC projects. References [1] Cox, M.T., Raja, A.: Metareasoning: A manifesto. Technical report, BBN TM- 2028, BBN Technologies (2007) [2] Haugen, D.F., Kaasa, S.: The EPCRC. Eur J Palliat Care (2007; 14(3):130) [3] Kaasa, S.: Palliative care research – time to intensify international collaboration. Palliat Med (2008; 22:301-2.) [4] Quaseem, A.e.: Evidence-Based Interventions to Improve the Palliative Care of Pain, Dyspnea, and Depression at the End of Life: A Clinical Practice Guideline from the American College of Physicians. Annals of. Internal Medicine, vol. 148, no. 2 (2008:141-146) [5] Cox, M.T., Eiselt, K., Kolodner, J., Nersessian, N., Recker, M., Simon, T.: Introspective multistrategy learning: On the construction of learning strategies. Artificial Intelligence 112 (1999) 1–55 An Introspective Component-Based Approach 131
  • 12. ✐ ✐ ✐ ✐ [6] Cox, M.T.: Multistrategy learning with introspective meta-explanations. In: Machine Learning: Proceedings of the Ninth International Conference, Morgan Kaufmann (1992) 123–128 [7] Lopez, B., Plaza, E.: Case-based planning for medical diagnosis. In Ras., Z. (ed.), Proceedings of ISMIS-93. LNAI 837, Springer, 1993: 96-105 [8] Arcos, J., Plaza, E.: A reflective architecture for integrated memory-based learning and reasoning. In Weiss, S. et. al. (eds.): LNAI 873 , Springer, 1994: 289-300 [9] Christodoulou, E., Keravnou, E.: Metareasoning and meta-level learning in a hybrid knowledge-based architecture. Artificial Intelligence in Medicine 14 (1998): 53-81 [10] Torasso, P.: Multiple representations and multi-modal reasoning in medical diagnostic systems. Artificial Intelligence in Medicine, 23 (2001): 49-69. [11] Fox, S., Leake, D.B.: Combining case-based planning and introspective reasoning. In: Proc. of the 6th Midwest Artificial Intelligence and Cognitive Science Society Conference. (1995) 95–03 [12] Recio-GarcĹ́a, J.A.e.a.: Ontology based CBR with jCOLIBRI. In Ellis, R., Allen, T., Tuson, A., eds.: Applications and Innovations in Intelligent Systems XIV. Proceedings of AI-2006, Springer (December 2006) 149–162 [13] Friedland, D.: Evidence-based medicine: A framework for clinical practice. (1998) [14] Marling, C., Petot, G., Sterling, L.: Integrating case-based and rule-based reasoning to meet multiple design constraints. Comp. Intell., 15 (3), 1999, 308-332 [15] Bichindaritz, I., Kansu, E., Sullivan, K.M.: Case-Based Reasoning in CARE- PARTNER: Gathering Evidence for Evidence-Based Medical Practice. EWCBR’98, LNAI 1488, pp. 334-345 (1998) [16] Terenziani, P., Molino, G., Torchio, M.: A modular approach for representing and executing clinical guidelines. Artificial Intelligence in Medicine, 23(3):249–276 (2001) [17] S. Montani, S.: Case-based reasoning for managing non-compliance with clinical guidelines. ICCBR 2007, 5th Workshop on CBR in the Health Sciences (2007) [18] Leake, D., Wilson, M.: Extending introspective learning from self-models. Proceedings of the AAAI 2008 Workshop on Metareasoning: Thinking About Thinking (2008) [19] Richter, M.M.: The knowledge contained in similarity measures. Invited Talk at ICCBR-95 (1995) [20] DĹ́az-Agudo, B., González-Calero, P.A.: CBROnto: A Task/Method Ontology for CBR. In: Procs. of the 15th International FLAIRS’02 Conference, AAAI Press (2002) 101–105 [21] Aamodt, A., Plaza, E.: Case-based reasoning: Foundational issues, methodological variations, and system approaches. AI Communications 7(1) (March 1994) 39–59 132 T. G. Houeland, A. Aamodt
  • 13. ✐ ✐ ✐ ✐ This paper was presented at NAIS 2009; see http://http://events.idi.ntnu.no/nais2009/ Case-based Reasoning on Streaming Data Odd Erik Gundersen and Frode Sørmo Verdande Technology Stiklestadveien 1 N-7041 Trondheim Abstract In this paper we present DrillEdge –a commercial and production ready software system that monitors oilwell drilling operations in order to reduce non-productive time. DrillEdge utilizes Case-based Reasoning with temporal representations on streaming real-time data. 1. Introduction Reusing past experience—that is, being reminded of similar situations and making use of decision steps made earlier—has turned out to be an efficient way for human beings to handle new situations. Case-based reasoning (CBR) is a computational method that is based on this principle by comparing the current problem with a set of concrete, past episodes called cases. The most similar cases are retrieved and used to solve the current problem. Verdande Technology has developed DrillEdge based on this principle to reduce the cost and decrease the probability of failures in oil well drilling. The cost of drilling wells is high – an offshore rig can cost $200 000 a day, and depending on the depth and complexity of the well, a single well can take weeks or months to drill. Any loss of drilling time caused by unwanted events is thus undesirable. However, there is incomplete knowledge of the geology both before and during the drilling, and it is thus relatively common for unplanned complications to occur during the operation, which must be handled by the driller and drilling engineer. DrillEdge assists them in recognizing potential problems before they become acute, and use case- based reasoning to find solutions to similar problems from other drilling operations in the past. This monitoring is done by monitoring the real-time stream of data from sensors on the rig, which means that the application does not need active user input in order to monitor the operation. The use of a real-time stream of sensor data as opposed to direct user input to characterize the current situation is very rare among commercial case-based reasoning systems. However, several methods for doing this have been developed and tested in research systems and prototypes. In this paper, we will present DrillEdge and compare how real-time data is used in this system to other research systems. In section 2, we will begin by introducing the domain of oilwell drilling before providing a short introduction to case-based reasoning in section 3. Section 4 contains an overview of the DrillEdge application, and how case-based reasoning is used here, while section 5 compares the DrillEdge approach to real-time data compares to other approaches. Finally, we conclude in section 6. 2. Oilwell Drilling As the world’s reserves of fossil fuel diminish, wells are becoming increasingly difficult and correspondingly expensive to drill, and operational mistakes have potentially more serious, not to mention extremely expensive, effects. The cost of a single well is numbered in tens of millions of dollars, and in mature fields such as the Ekofisk field on the Norwegian shelf, several hundred wells have been drilled to maximize the production from the reservoirs. As these wells originate from a small number of fixed offshore installations, but end up in points distributed through the 133
  • 14. ✐ ✐ ✐ ✐ reservoir, they can have quite complex trajectories with long horizontal stretches to reach their targets. The drill bit is connected to the rig through a series of screwed together steel pipes. The top of this string of pipe is rotated from the rig, which again drives the bit at the bottom. When drilling, the bit will cut pieces of rock from the formation, which will need to be transported to the surface. To do this, a mud-like drilling fluid is pumped through the pipes, passing through holes near the bit before returning to the surface through the annulus (the room between the outside wall of the pipe and the drilled hole), carrying the cuttings to the surface. Here, the cuttings are removed from the drilling fluid before it is again pumped down. The drilling fluid is also used to regulate the pressure in the drilled hole by weighting it so that the pressure column of the fluid closely matches the pressure in the rock formation, which keeps the hole from collapsing. Many types of complications can occur during drilling. The pressure gradient in the formation may be different from what is expected, leading to an imbalance between the pressure maintained by the drilling fluid. This can lead to fracturing of the formation if the pressure in the annulus is too high, or a collapse of the well if it is too low. In wells with long horizontal sections, it is also often a problem to transport all the cuttings out of the hole, as gravity will tend to pull it down to form beds, which can build up to serious restrictions of the flow of drilling fluid, and eventually pack off around the drilling string to the point where it is stuck. In the worst case, this means that the well must be partly or completely abandoned and re-drilled at great cost. As part of their normal work, oil well drilling engineers and other operational personnel both offshore and in support centers onshore have at their disposal a large set of sophisticated sensor measurements and other drilling parameters. The bulk of this data are continuous (real time) data streams from the drilling operation. Software tools for keeping track of data from these drilling logs help the personnel to perform graphical comparisons through time-indexed or depth-indexed graphs. However, as powerful as these visualization tools are, the drilling operation is fundamentally reliant on the experience and training of the individual drilling engineer to interpret the data and take appropriate action. Many operating companies have built up knowledge databases of ―lessons learned‖ and ―best practice‖ for dealing with various kinds of issues, but it is often hard to navigate and find the advice you need when you need it, and the general consensus is that these systems are underused. 3. Case-based Reasoning Case-based reasoning (CBR) relies on reusing and adapting solutions from previous, similar situations to solve new problems. Both new, unsolved problems and previous, solved problems are described in a formalized structure called a case. The case representing the new problem (the input case) is then compared to the previously solved cases. The solutions of the most similar solved cases are then used to suggest a solution to the input case. Once the solution is verified, the input case can be designated as solved and stored in the case base and used to solve new cases in the future. The case-based reasoning process is usually described as a cycle consisting of four steps [1]: Retrieve the most similar case or cases from the case base. This is usually done using a similarity measure [9] that is able to produce a numerical value representing the similarity of two cases. Using this, the input case is compared to each case in the case- base in turn. These are then ranked according to similarity, and the N number of most similar cases are returned. 134 O. E. Gundesen, F. Sørmo
  • 15. ✐ ✐ ✐ ✐ Reuse the information of the retrieved cases to solve the input case. In the most basic classification task, this means that the class of the input case is considered to be the majority class of the N most similar cases. More complex reuse strategies are also common, and may include automatic adaptation to circumstances that are different in the input case as compared to the retrieved cases. Revise the proposed solution, after it has been evaluated by applying it to the problem at hand, evaluation by an expert or teacher or through other methods. Retain the case in the case base as a solved case, so that it can be retrieved and assist in solving new problems in the future. Case-based reasoning systems classified as knowledge light and knowledge rich. Knowledge light approaches tend to focus on the cases as the major or only source of knowledge, while knowledge rich systems tend to combine this with models that provide some semantics to the contents of the case. This often allows knowledge rich systems to do more semantically meaningful comparisons of similarity, or provide methods for adapting the solution if the proposed solution is not a good fit for the new case. Knowledge light approaches tend to rely on a larger case base. With a large case base, new problems are more likely to have a fairly similar case already stored, which means that complex similarity measures or adaptations methods is not necessary. Often, the domain dictates which approach should be taken, based on relative availability of cases and general models. 4. DrillEdge DrillEdge is CBR application that bridges the data and experience from oil well drilling operations. It does this by using the real-time sensor data to index and recall documented experience, such as lessons learned and best practice. 4.1 Overview The application has been developed by Verdande Technology since 2006, but has roots further back in the work of Aamodt and Skalle in using the Creek CBR [2] system for tasks in petroleum engineering [3, 4]. DrillEdge is similar to Creek in that it uses a semantic net based ontology, and that it is in a knowledge rich tradition of CBR systems, but it differs in that is based on creating the input case based on real-time sensor data. As DrillEdge can form the input case description without any user input, it can monitor the situation by continuously forming new input cases and searching the case base for similar cases. If a case representing a problematic situation is found to be sufficiently similar to the current situation, an alarm can be raised to notify the drilling engineer that there may be trouble. He or she can then use the information and experience in the retrieved case or cases to address the problem. 4.2 User Interface It is an important principle in DrillEdge that the user should be provided transparency to the data so that he or she can verify that the events recognizes are correct, and the cases retrieved are relevant. In the Time View (figure 2), the drilling engineer may look at the unprocessed sensor data directly. Events recognized by the system (such as the Tight Spot in the figure) are clearly marked out and can be verified. Case-based Reasoning on Streaming Data 135
  • 16. ✐ ✐ ✐ ✐ Figure 1: Time View. Here, six real-time parameters (HKL, BPOS, SPP, MFI, RPM and TRQ) are shown as graphs in the central window. Further parameters are in the list on the right-hand side, and may be dragged and dropped into the main view. By tradition, time is displayed along the vertical axis. At just before midnight, a Tight Spot was identified by DrillEdge, as shown in the ―Events‖ column. The events shown in the time view is a central part of the data interpretation step. These events are also shown on a depth scale in the Overview (figure 3). When a drilling event occurs, it typically occurs at the current position of the drilling bit, and this is the depth used on the depth scale. By using a combination of the events found, some numerical data from the operation and static context information, the input case is formed, and the search for similar cases are performed. The results of this search are displayed on the case radar, which is the central user component in the Overview. In order to show up on the radar, a case must be over some threshold similarity. Once it is over this threshold, it will show on the radar as a small, colored circle. The more similar it is, the closer to the center of the radar. The color of the case circle is white, yellow and red, and relates to the seriousness of the problem that occurred in this the situation. The cases are also divided into types of problems, where each type of problem have its own sector in the radar, so that a case with a problem due to ―Wellbore mechanical damage‖ will show up in the sector with that name. Once a case shows up on the radar, the user may then click on the case circle, which will bring more information about the case up in the pane to the right. Because DrillEdge continuously forms new input cases and does new searches in the case base, the result on the case radar is also continuously updated. Usually the situation from one search will not change very much to the next, so that changes on the radar will seem to be gradual, with cases moving in and out of the radar. However, if a serious event should suddenly occur, this may also very suddenly change the picture on the radar. For this reason, the radar serves as a form of warning system that allows the drilling engineer to see the state of the drilling operation at a glance. 136 O. E. Gundesen, F. Sørmo
  • 17. ✐ ✐ ✐ ✐ Figure 2: DrillEdge Overview. To the left, the drill string with the current position of the bit is shown on a depth scale measured along the length of the hole. Next to this, the events recognized by DrillEdge is displayed. In the central pane, the Case Radar is shown with the results of the case retrival. By clicking on a case (here, the yellow dot), the user can get more information about the case displayed in the pane on the right. 5. Real-time Case-based Reasoning on Streaming Data DrillEdge applies CBR to monitoring and reasoning with real-time data collected during drilling of oilwells. The collected data consist of twenty to fifty parameters and can broadly be divided into two different types, which are sensor data and observed data. Sensor data are continuously and automatically collected both from surface and subsurface sensors while observed data is data registered manually by experts located on the rig. Typically, sensor data are collected at intervals ranging from one to twenty seconds while observed data are collected about once or twice each day. The main task of DrillEdge is to monitor the current situation of the oil well drilling process, as indicated by the collected parameters, through comparing the current situation to descriptions of past situations stored in the case-base in order to predict unwanted situations like, for instance, a stuck pipe. Real-time is a relative term, which differs from context to context. Our definition is related to the scenario in which DrillEdge is used and the tasks it is designed to perform. DrillEdge is designed to assist drilling engineers monitoring real-time drilling operations from on-shore real-time data centers. Supervising drilling engineers in this setting have a reaction time measured in a couple of minutes. Even though DrillEdge might use approximately ten seconds to compare a mid-sized case-base of one hundred past cases to the current, this is well inside the limits of the drilling engineer’s reaction time. Hence, a case comparison is done for each second data point, as five second data is most common. Case-based Reasoning on Streaming Data 137
  • 18. ✐ ✐ ✐ ✐ 5.1 Representing cases A major challenge in creating the DrillEdge system was how the input case could be formed from the real-time input data. Experienced drilling specialists are often able to see symptoms of serious in the data well before they develop into problems. However, these symptoms are often a complex combination of several parameters and how they change over time. Further, a single such symptom is not enough to form a robust diagnosis. Like a cough or a fever in medicine, the symptoms must be combined with other observations. These symptoms may also occur over hours and days, which means that data that was recorded several days ago may be relevant in characterizing the current situation. Hence, a case cannot just use a small snapshot of the recent real-time data to form a description of the current situation. This naĂŻve approach to solving such a task is to represent the description part of the case as one set of values from the real-time parameters at a given point in time and attach a solution to the problem situation as another part of the case. The solutions to cases that are compared and found similar to the current case are presented as possible solutions to the current case. However, this approach will result in utter failure, as some parameters, like pressure, will increase with depth. Thus, a normal value for pressure at one depth will be catastrophic at another depth. Another problem with the naĂŻve approach is that it is impossible to monitor trends and deviation from trends for a parameter. In theory, the full real-time data set could be used as the input case, but this can become quite large (several hundred MB). Apart from the computational problems of continuously comparing this real-time data to a case base of equally large cases in a real-time setting, such a large input case would also require a very large case base to populate the problem space, which is infeasible in this domain. The solution in DrillEdge has been to perform an abstraction, where the real-time data is interpreted to recognize patterns in the data that represent particularly interesting drilling events. With a few exceptions, raw point-measures of parameters are excluded from the case representation, as they contain too little information. Instead of using raw parameters in the case, parameters or set of parameters are seen in relation to themselves and each others. Parameters or set of parameters deviating from trends or following a given pattern produce events. The events are abstractions of the recognized abnormalities of the parameters and they indicate symptoms of failures. Some of these symptoms can indicate failures alone while other failures can only be diagnosed if several symptoms are present. Examples of events are Increased Torque, which indicates an increase in the torque measurement when seen in relation to previous measurements, and Took Weight, which is a decrease of the weight on bit (WOB) parameter while tripping in. Thus, situations related to an increase in the measured torque that happen at one depth can be compared to other similar past situations that occurred at other depths. All events are indicated both on a time scale and a depth scale. Representing events both on a depth and a time scale enables reasoning about how the state of the well has evolved over time. Although all events are stored in a case, only a subset of the events are important when comparing one case to another, and these are the events that appear near the current point in time and near the current depth. This enables the reasoning process to focus on what is important for the current situation and refocus if something important occurs. Another advantage of not including all events in the reasoning process is the reduction in computational cost, as comparing sequential data are computationally very demanding. 138 O. E. Gundesen, F. Sørmo
  • 19. ✐ ✐ ✐ ✐ Case descriptions are not only comprised of event sequences. Additional information stored in cases include sequences containing averaged depth data collected over a short span near the current depth, symbolic representations of static parameters like drill bit type, drilling fluid type, properties of the geological formation and so on, and single parameter values averaged over different ranges of both time and depth, as well as some derived parameters to form an abstracted representation. The case description is a rich and data intensive representation mainly targeted for use by the CBR-algorithm. 5.2 Case-based Reasoning in DrillEdge Figure 3: The Case-based Reasoning Cycle as implemented by DrillEdge The generalized Case-based Reasoning process is described as a cycle comprised of four steps, which are retrieve, reuse, revise and retain. These steps in the CBR cycle also describe the reasoning process in DrillEdge with minor differences. The CBR cycle as implemented by DrillEdge is illustrated in figure 3. As illustrated in the figure, cases are comprised of two parts, which are the situational description and the experience and advice. A current case (3) only contains a situational description that is formed partly by important events (2). The events are interpretations of real-time values (1) of the monitored parameters. After the current case is formed, the past cases (4) that are most similar to the current case are searched for and retrieved. All the retrieved cases are displayed on the case radar so that the drilling engineer (5) can evaluate and reuse the experience and Case-based Reasoning on Streaming Data 139
  • 20. ✐ ✐ ✐ ✐ advice part of the similar past cases. If the drilling engineer encounters a current situation that has no past case that provides an adequate experience and advice, the current situation description is captured to form a new case (6). The experience and advice is revised to contain information applicable for the current situation and is stored as part of the new case. The case is retained with an adjusted set of weights for the features in order to guide the CBR-algorithm to remember the case at the most appropriate future situation. Case-based Reasoning in DrillEdge differs from traditional CBR-systems in that it continuously monitors streaming real-time data. Abstractions are made from the real- time data and these form the basis of the case representation. A common form for retrieval is to use k-Nearest Neighbor to find the k most similar cases. The solution of the current case is found by copying the solution provided by the majority of the nearest neighbors. In DrillEdge, all the most relevant cases are shown to the drilling engineer and the experience and advice from these situations assist him or her in dealing with the current situation. 5.3 DrillEdge Compared to Other Temporal Case-based Reasoning Systems Only a few case-based reasoning systems that reason with temporal data are presented in the literature. We will present some of them here. Ram and Santamaria [6] present a system for autonomous navigation that utilizes Continuous CBR to control the behavior of a robot. The CBR system received discrete real-time sensory input that is processed in order to produce an online real-time response for the robot. Sensory input data are stored as four vectors of point based data, and these are compared for similarity at each retrieve step. The approach combines a continuous case representation with continuous performance and continuous learning. As DrillEdge, the Continuous CBR approach receives equally spaced real-time data, but the methods differ in how they utilize the data. While the Continuous CBR approach compare vectors of sensory input values, DrillEdge has to interpret and perform abstraction on the sensory input in order to be able to use the information in the data. The events, which are the result of the abstraction, are put into temporal sequences that specify temporality as intervals in contrast to points in time. Both methods have a continuous case representation that develops with time. The real-time constraint on Continuous CBR is much stronger than for DrillEdge. JĂŚre et al. [7] presents a method for representing and reasoning with time-dependent situations within the knowledge intensive CBR system Creek. Allens [8] framework for interval-based time relations is introduced used for reasoning with temporal relations in CBR. They foresee problems with running the system in a real operational setting because the problem of transforming into the qualitative changes used by the method. In contrast to JĂŚre et al., DrillEdge does not represent temporal relations explicit as relations between concepts in an ontology, but compares start and end times of events stored in sequences. Martin and Plaza [5] present an Intrusion detection system implemented as an agent system that provides the CBR module with data from difference sources. They identified three assumptions that generally applies for traditional CBR systems, which are (i) non-coincidental sources: Problems occur one at time, (ii) full-fledged problem descriptions: Cases have well-defined and clear limits and cases are described at one 140 O. E. Gundesen, F. Sørmo
  • 21. ✐ ✐ ✐ ✐ shot, (iii) individual case independency: cases are manipulated independently, not taking previous cases into account. Hence, they argue that traditional CBR systems cannot support analysis of unsegmented sequences of observational data stemming from multiple sources. They represent cases that grow with time without fixed boundaries and are mixed with other case pieces. This enables the case retrieval to compare a current case to similar cases representing solutions to different types of problems evolving over time. Also, alerts that are mapped directly to case types are put into sequences, which also grow. Crown cases are decomposed into smaller trunk cases until they cannot be decomposed any further. These indivisible cases are called root cases. Such a hierarchical decomposition of cases is called an action actionable tree. The predictive strengths of all trunk and root cases are predefined so that the possibility that any Crown cases will occur can be computed. Thus, parts of a current case can predict the possibility of all Crown cases that have a subcase part of the current case. DrillEdge is a combination of Ceaseless CBR and traditional CBR systems. As Ceaseless CBR, DrillEdge supports non-coincidental sources by the fact that sequences of alerts/events are compared to sequences of alerts/events of all other cases and the most similar cases are shown on the case radar without regard to the problem source or type. However, while the alert sequence in Ceaseless CBR continues to grow for each time step, not all events are considered relevant when matching cases in DrillEdge; only the events that have appeared most recently and the older events that have happened at the same depth as the drill bit is located currently are considered when matching the current case against past similar cases. Hence, only the relevant events are matched during case retrieval. A case in DrillEdge cannot be composed of other cases, so a current case matches only against complete past situation descriptions. Cases have well-defined boundaries and are snapshots reflecting the state of the well at a given point in time. However, as new current cases are captured and matched against the case-base continuously the development of the well-state can be monitored on the case-radar, and it will change gradually if not very important events appear. Without a complex case representation, the CBR mechanism is able to focus and refocus the most similar cases even though they may describe different problem types. Conclusion We have presented DrillEdge, which is a production ready CBR system utilizing temporal reasoning on streaming real-time data to monitor oilwell drilling in order to prevent unwanted situations. DrillEdge has been developed together with Statoil and is currently tested by several major oil service companies. References [1] Agnar Aamodt, Enric Plaza: Case-based reasoning; Foundational issues, methodological variations, and system approachesAI Communications, Vol.7, No.1,March 1994, pp. 39-59.(pdf-version) [2] Agnar Aamodt: Knowledge-intensive case-based reasoning in Creek. Peter Funk, Pedro A. Gonzalez Calero (eds.), Advances in case-based reasoning, 7th European Conference, ECCBR 2004, Proceedings. Madrid, Spain, August/September 2004. Lecture Notes in Artificial Intelligence, LNAI 3155, Spinger, 2004. pgs. 1-15. ISBN0302-9743. Case-based Reasoning on Streaming Data 141
  • 22. ✐ ✐ ✐ ✐ [3] PĂĽl Skalle, Agnar Aamodt, Jostein Sveen: Case-based reasoning a method for gaining experience and giving advice on how to avoid and how to free stuck drill strings. Proceedings of IADC Middle EastDrilling Conference, Dubai, Nov. 1998. [4] Paal Skalle, Jostein Sveen, Agnar Aamodt: Improved efficiency of oil well drilling through case-based reasoning. Proceedingsof PRICAI 2000, The Sixth Pacific Rim InternationalConference on Artificial Intellignece, Melbourne August-September 2000. LectureNotes in Artificial Intelligence, Springer Verlag, 2000. pp 713-723. [5] Francisco J. Martin and Enric Plaza: Ceaseless Case-Based Reasoning. Proceedings of ECCBR 2004, LNAI 3155, pp. 287–301, Springer-Verlag Berlin Heidelberg [6] A. Ram and J.C. SantamarĂ­a: Continuous Case-Based Reasoning, Artificial Intelligence, volume 90, issue 1-2 (February 1997), ISSN:0004-3702 [7] Martha Dørum JĂŚre, Agnar Aamodt and PĂĽl Skalle: Representing Temporal Knowledge for Case-Based Prediction, in the proceedings of ECCBR 2002, LNAI 2416, pp. 174–188 Springer-Verlag Berlin Heidelberg [8] James F. Allen: Maintaining knowledge about temporal intervals, Communications of the ACM, volume 26, issue 11 (November 1983), ISSN:0001-0782 [9] PĂĄdraig Cunningham: A Taxonomy of Similarity Mechanisms for Case-Based Reasoning, IEEE Transactions on Knowledge and Data Engineering, vol. 21, no. 11, pp. 1532-1543, November, 2009. ISSN: 1041-4347 142 O. E. Gundesen, F. Sørmo