Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Advances in Computational Sciences and Technology
ISSN 0973-6107 Volume 8, Number 1 (2015) pp. 53-65
© Research India Publications
http://www.ripublication.com
An Ontology-Based Expert System for General
Practitioners to Diagnose Cardiovascular Diseases
Baydaa Taha Al-Hamadani1, Raad Fadhil Alwan
2
1 Assistant Professor, Department of Computer Science, Zarqa University,
Zarqa 13132, Jordan. Tel: +962-77-5663578. E-mail: [email protected] 2 Associate Professor, Department of Computer Science, Philadelphia University,
Aman 19392, Jordan. Tel: +962-77-7426528. E-mail: [email protected]
Abstract
According to World Health Organization, Cardiovascular diseases are the number one
cause of death worldwide. Diagnosing the disease in the right time could lower the
danger that it may cause. This paper presents an expert system to assist the General
Practitioners (GP) to diagnose any kind of coronary artery diseases. The system
supplies the experts with the diagnosing strategies that could be used and suggests the
drugs and/or other required operations to be taken alongside with the explanation
about the given decision. The design of the system depends on ontology knowledge
about the patient’s symptoms to build the knowledge base and then it utilizes
Semantic Web Rule Language (SWRL) to deduce the suitable medicine and the
required operation for the patient. The system was tested by several GPs using 16
instances to test the validation and the evaluation of the system. Recall and precision
factors were calculated 0.83 and 0.87 respectively which considered being reasonable
values.
1. Introduction
Although medical expert systems are challenging due to huge amount of knowledge
and its complexity, the use of these systems witnesses a fast growing in recent years.
This is because these systems reduce the time required to diagnose a specific disease.
They also reduce the expected errors that a physician can made and minimize the
amount of unnecessary laboratory tests. With all these advantages of such systems,
these systems become familiar and vary from desktop programs to web services sites
to mobile applications.
In 1950s the first idea of developing an expert system has been proposed [1] and this
idea is still in development thought the last decades. In early 2000s the idea of using
54 Baydaa Taha Al-Hamadani, Raad Fadhil Alwan
ontologies in the field of computer science discovered and emerged with different
topics.
Ontology is a way to represent the objects and the relations between these objects in a
specific domain. Using ontology in medical domain is a hot issue. It is used to get the
benefit from the existence of complex information that is involves in many health care
activities. They are useful particularly in many computer applications such as
information retrieval and natural language processing. It has an important role in
building Decision Support Systems (DSS) since these systems depends on a large
volume of knowledge which is difficult to capture and formalize [2]. Several works
appear that use ontology to build expert systems in the field of biomedical, especially
in diagnosing heart diseases.
Heart diseases can be classified into Coronary artery, diseases of heart valves,
cardiomyopathy, or birth heart defect. The Ontology-based expert systems focus on
diagnosing some of these types of heart diseases. [3, 4] suggested two different
systems to diagnose unstable angina and acute cardiac disorder respectively. Theses
two disorders are considered as part of coronary artery diseases. [5], on the other side,
implements their ontology system on diagnosing valve diseases. This paper presents a
new ontology-based expert system which focuses on diagnosing all types of coronary
artery diseases.
Several ontology languages have been proposed to encode the knowledge about a
specific domain. Ontology Inference Layer (OIL), Web Ontology Language (OWL),
and Resource Description Framework (RDF) are examples of markup ontology
languages. This work used OWL2, which is a W3C recommendation language at
2009, with its OWL-DL sublanguage and its Pallet reasoner. since it is more
expressive than OWL-Lite and it has the abilities of automated reasoning, automatic
computation and classification hierarchy, and check for inconsistencies for the
designed ontology.[6]
The main building block of any expert system is the knowledge base. In Ontology-
based expert systems Semantic Web Rule Language (SWRL), another W3C
recommendation, is a rule and logic expressive language that combines both OWL-
DL and OWL-Lite with the rules markup language [7].
2. State of Art
2.1 Expert System
Since the beginning of the using computers, scientist and physicians started to thing of
ways to utilize computers in assisting them to do their work. The first article appeared
in the field of diagnosing process was in 1959 [8] that suggested a technique that
helps physicians in diagnosing diseases and focused on pointing the light on the
benefits of using computers in medical fields. Moreover, several early systems
appeared. The most well known system was developed in Leeds University in 1972
[9] to diagnose abdomen pain using Bayesian probability theory. Later in 1976,
another well known medical diagnosing system appeared, MYCIN [10]. MYCIN
embedded the field of Artificial Intelligent (AI), which uses abstract symbols rather
than numerical calculations, to build the production rules and to strength the
An Ontology-Based Expert System for General Practitioners 55
reasoning process to identify bacteria causing severe infections. In 1991, A Dynamic
Hospital Information System (HELP) appeared [11] that has the ability to generate
alerts when abnormal signs in the patient record are noted.
There are five main components in any rule-based expert system [12-14]. The
knowledge base which has the rules and any other form of information collected from
the human experts in the field. Knowledge can be either abstract or concrete. While
abstract knowledge can be represented by rule and probability distribution, concrete
knowledge refers to the information related to a specific abstract knowledge (facts).
The heart of every expert system is the Inference Engine which draws conclusions by
applying abstract knowledge to concrete knowledge. These conclusions can be based
on either deterministic knowledge (knowledge about certain facts), probabilistic
knowledge (knowledge about uncertain facts), or nondeterministic knowledge (fuzzy
knowledge) [13]. Another component in the building blocks of an expert system is the
Explanation Mechanism which provides the user with the necessary explanation
about the way a specific conclusion drawn and the reasons behind using specific facts.
When the expert system deals with users, it should be accompanied with a User
Interface component which should be user friendly and easy to use.
2.2 Ontology
In the field of computer science and information technology, Ontology is the process
of representing knowledge in a specific domain [15]. Ontology is used to represent the
sharable knowledge in terms of concepts which represented by classes, relations
which represent the relations between the concepts, instances which are the objects
represented by the concepts, and axioms which represent the rules that tie the
concepts to the instances [16].
Fonseca [17] defines ontology as “an ontology refers to an engineering artefact,
constituted by a specific vocabulary used to describe a certain reality”. He identified
the difference between ontology and information systems in modelling and reasoning
about information, as ontology deals with the information in conceptual level, while
information systems do this task in implementation time.
Rousey et.al. [18] gave different perspectives of the word “Ontology” in the field of
Compute Science. “For example, ontology can be: a thesaurus in the field of
information retrieval, a model represented in OWL in the field of linked-data, or a
XML schema in the context of databases”.
2.3 Web Ontology Language (OWL)
Among several ontology languages, OWL is the most used one. It is a W3C
recommendation in 2004 to be “used by applications that need to process the content
of information instead of just presenting information to humans” [19]. It has several
features over XML and RDF by providing additional vocabulary along maintain their
properties. It is then used to define instances (individuals) and maintain their
properties, and then it is used to reason about these classes and individuals [18]. OWL
has three sub-languages:
56 Baydaa Taha Al-Hamadani, Raad Fadhil Alwan
1. OWL-Lite: This sub-language intended for users who need simple modelling
and constraints. Although it provides quick path to thesauri and other
taxonomy, its cardinality is limited to either 0 or 1.
2. OWL-DL: To fill the shortage of OWL-Lite, this sub-language comes with
features that enrich the use of OWL. Class Boolean combinations and class
property restrictions are some of the added features. Other properties in
describing a class in term of other disjoint classes are another new feature.
With all these features, OWL-DL becomes the most used language since it
provides the user with full expressiveness [19].
3. OWL-Full: this sub-language offers to its users maximum expressiveness and
syntactic freedom of RDF[18]. As instance, OWL-Full treats a class as a set of
individuals and as an individual at the same time. Its data type property
generalizes to include inverse functional property.
2.4 Semantic Web Rule Language (SWRL)
Based on the combination between OWL-DL and OWL-Lite sublanguages, SWRL
was developed to be the rule language of the semantic web. It allows the users to
write the first-order logic rules required to reason about the specified OWL
individuals. The semantic rules of SWRL are the same as the description logic of Owl
to make the reasoning process easier and stronger.
Each SWRL rule has an antecedent and a consequent, each of which could be a
disjunction of several atoms. There are several atom types that are supported y
SWRL, such as class atoms, individual property atoms, data value property atoms,
and data range atoms. The most powerful atoms are built-in atoms, where SWRL
provides several types of existing built-in and allow the user to design and use his
own built-ins [20].
2.5 Protégé
Written in Java and using Swing packages, the Stanford Centre for Biomedical
Informatics Research (BMIR) in Stanford University has developed Protégé as a
platform for knowledge acquisition. Protégé is a flexible, user friendly environment
used to create and modify Ontology systems in different fields. It allows its users to
add plug-ins as they needed. It is supported with reasoners to check the consistency of
the designed ontology and to infer new information base on the design of the existing
system [21]. One of Protégé’s most important features is its extensibility to be
integrated with other applications.
3. Building Ontology-Based Expert System
3.1 System Architecture
The architecture of the proposed system consists of several modules. Figure 1
illustrates these modules and the interactions between them. As any other expert
system, the core of our system is the knowledge base module which consists of the
fact base and the rule base. The facts are extracted, using the user interface, from the
user as the patient’s symptoms in addition to the laboratory and clinical test results.
An Ontology-Based Expert System for General Practitioners 57
The rules base consists of SWR decision rules and the ontology structured classes
along with the relationships between these classes. The decision rules were inferred
from technical guidelines published by the National Institute of Health and Care
Excellence in the UK [22, 23]. While the ontology classes were formed using Protégé
Ontology editor.
The inference engine is the core of any expert system which depends on the facts and
the rules to reason the required decision. In our work we use Pellet [24], which
considered to be one of the best OWL-DL reasoner with several features such as data-
type reasoning and debugging, rules integration, and reasoning conjunctive queries. In
this stage more decision rules could be inferred and added to the list of available rule
base. The final decision results will be introduced to the user through the user
interface alongside with the explanation about this decision inferred from the
explanation module.
3.2 System Methodology
Several methodologies have been proposed to be used in building and developing
ontology-based expert systems. One of these methodologies is METHONOLOGY,
which is considered to be the most comprehensive ontology engineering methodology
[25-27].
As illustrated in Figure 2 (developed from [4, 26]), METHONOLOGY does not
specify only the stages that the development process should pass, but it also depicted
the depth of some of these stages. Although the methodology seems to have several
independent stages, most of these stages are interfere with each other and can be
operate simultaneously. CardioOWL depends on this methodology and the stages of
the development process are as follows:
Expert System
Inference Engine
(Pellet Reasoner)
Explanation
Subsystem
Knowledge Base
Fact base
Patient Symptoms
Rule base
SWRL
Rules
Ontology
Classes
User Interface
Figure 1: The System Framework
58 Baydaa Taha Al-Hamadani, Raad Fadhil Alwan
1. Define the purpose and specify the scope stage: This stage should determine
the purpose of building the ontology, its formality, and its scope. The purpose
of CardioOWL is to be a knowledge representation of cardio vascular diseases
domain embedded in an easy to use GUI. According to [28] the degree of
formality of the ontology depends on the amount of formal knowledge against
the natural language knowledge present in that ontology. Since CardioOWL
was expressed in a formally defined language (OWL), its degree of formality
is “semi-formal”. The proposed system can be used by the specialist in the
field in order to get an accurate diagnosis based on the reasoning process
embedded in the ontology.
2. Capturing knowledge stage: The depth of this stage start to be high in the
beginning of the design process and it decreases as the process goes farther.
Several techniques were used in capturing the knowledge required to build
CardioOWL. Non-structured interviews with the experts in the field were
useful to specify the requirement of theses experts, while structured interview
were used to get the detailed knowledge and to specify the concepts, object
properties, data properties and the relations between them. On the other hand,
formal and informal text analyses were used in this stage to identify the main
structure of the ontology and to fill the concepts in this structure respectively.
3. Knowledge conceptualization stage: This stage depends on the output of the
previous stages by constructing the Glossary of Terms (GT) [26] which
include the concepts and the properties used in designing the ontology. These
terms are useful to construct the class hierarchy and to determine the
Figure 2: Ontology development life-cycle.
Documentation
Maintenance
Evaluation
Ontology
Building
Define the purpose &
Specify the scope
Capturing Knowledge
Knowledge Conceptualizing
Ontology Integration
Implementation
An Ontology-Based Expert System for General Practitioners 59
properties and the relations between these classes. First the conceptualization
table should be formed as shown in Table 1. Next, this table should be
transferred into a conceptualization tree. For this purpose we use the rich
semantic tree (RST) suggested by [29]. Figure 3 shows the CardioOWL RST
tree and the key shapes used in it.
4. Integration stage: This stage specifies if the developed ontology can have
benefit from other existing ontologies. This process exemplifies the feature of
ontology reusability, when the existing ones can be integrated in to a new
developing one. CardioOWL integrate part of the ontology used in [30]. This
part is the (Patient-Info) class (see Table 1) and some of its instances.
5. Implementation Stage: This stage is responsible on implementing the ontology
in one of the available ontology editors. CardioOWL used Protégé 4.0 as an
editor which has the ability to check the lexical and syntax errors. Protégé is
integrated with several types of reasoners which guarantee the completeness,
consistency, and non redundancy in the defined ontology. The reasoner used
by the developed ontology is Pellet [31]. Figure 4 shows the tree structure
Figure 3: CardioOWL RST
diagnosedBy hasSymptom
treatedBy hasDisease
Disease
Symptoms
Patient
Treatment
Diagnosing
Symptoms List Diagnosing Techniques
Treatment Choices
Is sub-class of
Is part of
Optional participation
Expressed object
Non-expressed object
Relationship set
60 Baydaa Taha Al-Hamadani, Raad Fadhil Alwan
built by using OWL-Viz plug-in embedded with Protégé for CardioOWL
ontology.
Table 1: CadioOWL conceptualization table
Concept Name
instances Value
Diseases CoronaryArtery CoronaryArter:AcuteCoronary CoronaryArtery:StableAngina CoronaryArtery:HeartFailure
Symptoms ArmPain Breathlessness ArmPain ExtremeTiredness ChestPain
ChestPain:Onrelax ChestPain:Preasure ChestPain:Severe ChestPain:UnderStress
FeelFaint FeelSick Headache LegSwelling Sweating
Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No
Diagnosing ECG EchoCG StressTesting Angiography CardioMarkers
Pos/Neg Pos/Neg Pos/Neg Pos/Neg Pos/Neg
Treatment AngioPlastyWithStent CABG Drugs
Drugs:Nitroglycerin Drugs:CholesterolLowering Drugs:BloodClotBreaking Drugs:BetaBlockers
Patient-Info GeneralInfo GeneralInfo:PatientAge GeneralInfo:BloodType GeneralInfo:Sex
Smoker FamilyHistory DoExcercise HealthyDiet
NonNegateiveInrtrger A, B, AB, O M/F Yes/No Yes/No Yes/No Yes/No
An Ontology-Based Expert System for General Practitioners 61
Protégé provides the abilities to create the concepts and their data properties
and object properties in expressive description logic [32]. Protégé 3.x provides
a nice environment to write Semantic Web Rule Language (SWRL), while the
later versions (Figure 5) provide a very simple SWRL editor.
6. Evaluation: It is not a stand alone stage but it is the one that interfere with all
the previous stages. As seen in the evaluation stage depth starts to be high at
the first stages of the development process and then it decreases as the process
goes farther. In the first stages the important thing is to guarantee the
verification of the developed ontology which is done by checking the
correctness of the captured knowledge and the conceptualizing table and its
tree using interviews with the experts in the domain. While in the later stages,
the validation of CardioOWL has been checked by the experts to make sure
that the designed system meets their requirement.
7. Documentation: this stage is going in parallel with all other stages since the
output of each stage is a document which is important to available as an input
for the next stage. Moreover, publishing papers in journals or conferences in
considered being a kind of documentation.
Figure 4: CardioOWL Tree structure produced by Protégé
62 Baydaa Taha Al-Hamadani, Raad Fadhil Alwan
Figure 5: A screenshot of Protégé 4.3
4. Evaluation and Discussion
The process of evaluating an expert system has two stages, technical evaluation and
user evaluation. As mentioned in the previous sections, technical evaluation should
pass through verification and validation. During the verification stage all the collected
knowledge should be guaranteed to be correct, while during the verification stage the
designed system should be guaranteed to work right. Several techniques were used to
check the validation of an expert system and one of the most dominant ones is
validation based on case studies [33].
Determining test instances is crucial to test the validation of the system. These
instances should cover all the possible diagnosis at the moment of a given
instance[25], and the test set used are taking from [34]. To test CardioOWL, 16
instances were defined and the system runs by four different general practitioners
(GP) to ensure the generality of the designed system. Each one of the 16 test cases has
input parameters which include the patient general-info, symptoms, and diagnosing
techniques test results. The correct results obtained by the system after implementing
all the instances were 100% correct. Calculating the precision and the recall, the
factors used in the field of information retrieval, were used to check the validation of
CardioOWL.
resultstotal
resultsretrievedecisionPr
An Ontology-Based Expert System for General Practitioners 63
resultscorrect
resultsretrievedcallRe
CardioOWL average precision is 0.872, while the recall is 0.831. The reason behind
low recall is that the system inferred some extra results that are not needed as a result.
5. Conclusion and Future work
The appearance of ontologies in the field of computer science affects the development
of several types of systems and expert systems are one of them. This paper presents
CardioOWL, an ontology-based expert system to help GPs and medical students to
detect all types of coronary artery diseases. The system was tested by some GPs and
their comments were taken into consideration to develop the system and guarantee its
validation. The performance of the system was 100% correct and the precision and
recall factors reflect the quality of the design.
Considering fuzzy logic is one of the required developments on the system. Moreover,
embedding a machine learning technique could enrich the system by making it learn
from the result of the system and then use these results for further diagnosing.
Upgrading the system to be a Web application is another development required.
Acknowledgment
This research is funded by the Deanship of Research in Zarqa University /Jordan.
References
[1] Shaw, J.C.N. and H.A. Simon. "Emperical Explorations of the Logic Theory Machine: a case study in heuristic". in Proceeding of the AFIPS Joint Computer Conferenes. pp 218-230. 1957
[2] Shortliffe, E.H., J.J. Cimino, M. Musen, B. Middleton, and R. Greenes, Clinical Decision-Support Systems, in Biomedical Informatics. Springer London. pp. 698-736.2006
[3] Vila-FrancÃs, J., J. SanchÃs, E. Soria-Olivas, A.J. Serrano, M. MartÃnez-Sober, C. Bonanad, and S. Ventura," Expert system for predicting unstable angina based on Bayesian networks". Expert Systems with Applications, vol. 40 no 12: pp. 5004-5010.2013
[4] Martínez-Romero, M., J. Vázquez-Naya, J. Pereira, M. Pereira, A. Pazos, and G. Baños3," The iOSC3 System: Using Ontologies and SWRL Rules for Intelligent Supervision and Care of Patients with Acute Cardiac Disorders". Computational and Mathematical Methods in Medicine, vol. 2013 no 1: pp. 13.2013
[5] Mork, P. and P.A. Bernstein. "Adapting a generic match algorithm to align ontologies of human anatomy". in Proceeding of the 20th International Conference on Data Engineering. pp. 2004
64 Baydaa Taha Al-Hamadani, Raad Fadhil Alwan
[6] Horridge, M., S. Jupp, G. Moulton, A. Rector, R. Stevens, and C. Wroe, A Practical Guide To Building OWL Ontologies Using Prot´eg´e 4 and CO-ODE Tools Edition 1.1. 2007, The University Of Manchester.
[7] http://www.w3.org/Submission/SWRL/. [8] Ledley, R.S. and L.B. Lusted," The Use of Electronic Computers to Aid in
Medical Diagnosis". Proceedings of the IRE, vol. 47 no 11: pp. 1970-1977.1959
[9] Dombal, F.T.d., D.J. Leaper, J.R. Staniland, A.P. McCann, and J.C. Horrocks," Computer-aided Diagnosis of Acute Abdominal Pain". Br Med J., vol. 2 no 5804: pp. Pages: 9-13.1972
[10] Shortliffe, E., Computer-Based Medical Consultations: MYCIN: Elsevier. 264 pages. 1976,
[11] Gilad, J.K., M.G. Reed, and T.A. Pryor, HELP: A Dynamic Hospital Information System: Springer Publishing Company, Incorporated. 357. 2012,
[12] Leondes, C.T., Expert systems: the technology of knowledge management and decision making for the 21st century. Vol. Volume 6: Academic Press- Expert systems (Computer science). 1947 pages. 2002,
[13] Castillo, E., Expert Systems and Probabilistic Network Models: Springer Science & Business Media. 1997,
[14] Jackson, P., Introduction to Expert Systems. third edition ed: Addison- Wesley. 1999,
[15] Gruber, T.R.," A Translation Approach to Portable Ontology Specifications". Knowledge Acquisition, vol. 5 no 2: pp. Pages 199-220.1993
[16] Davies, J., Lightweight Ontologies, in Theory and Applications of Ontology: Computer Applications, M. Healy, R. Poli, and A. Kameas, Editors., Springer Science & Business Media.2010
[17] Fonseca, F.," The Double Role of Ontologies in Information Science Research". Journal of the American Society for Information Science and Technology, vol. 58 no 6: pp. Pages 786-793.2007
[18] Roussey, C., F. Pinet, M.A. Kang, and O. Corcho, An Introduction to Ontologies and Ontology Engineering, in Ontologies in Urban Development Projects (Advanced Information and Knowledge Processing), G. Falquet, C. Métral, and J. Teller, Editors., Springer-Verlag London Limited.2011
[19] http://www.w3.org/TR/owl-features/. [20] Gil, Y., E. Motta, V.R. Benjamins, M. Musen, M. O'Connor, H. Knublauch, S.
Tu, B. Grosof, M. Dean, W. Grosso, and M. Musen, Supporting Rule System Interoperability on the Semantic Web with SWRL, in The Semantic Web - ISWC 2005. Springer Berlin Heidelberg. pp. 974-986.2005
[21] http://protege.stanford.edu/products.php. [22] Guidline, N.C., Management of chronic heart failure in adults in primary and
secondary care. 2010, National Institute for Health and Care Excellence UK.
An Ontology-Based Expert System for General Practitioners 65
[23] Guidline, N.C., Management of Stable Angina. 2012, National Institute for Health and Care Excellence: UK.
[24] Sirin, E., B. Parsia, B.C. Grau, A. Kalyanpur, and Y. Katz," Pellet: A practical OWL-DL reasoner". Web Semantics: Science, Services and Agents on the World Wide Web, vol. 5 no 2: pp. 51-53.2007
[25] Garcia-Crespo, Ã.n., A. RodrÃguez, M. Mencke, J.M. Gómez-BerbÃs, and R. Colomo-Palacios," ODDIN: Ontology-driven differential diagnosis based on logical inference and probabilistic refinements". Expert Systems with Applications, vol. 37 no 3: pp. 2621-2628.2010
[26] Ferndndez, M., A. Gomez-Perez, and N. Juristo, METHONTOLOGY: From Ontological Art Towards Ontological Engineering, A.T.R. SS-97-06, Editor. 1997.
[27] Heijst, G.v., A.T. Schreiber, and B.J. Wielinga," Using explicit ontologies in KBS development". Int. J. Hum.-Comput. Stud., vol. 46 no 2-3: pp. 183-292.1997
[28] Uschold, M. and M. Gruninger," Ontologies: principles, methods and applications". The Knowledge Engineering Review, vol. 11 no 02: pp. 93-136.1996
[29] Domingue, J., C. Anutariya, S. Lynn, and D. Embley, Semantically Conceptualizing and Annotating Tables, in The Semantic Web. Springer Berlin Heidelberg. pp. 345-359.2008
[30] Arsene, O., I. Dumitrache, and I. Mihu," Medicine expert system dynamic Bayesian Network and ontology based". Expert Systems with Applications, vol. 38 no 12: pp. 15253-15261.2011
[31] http://clarkparsia.com/pellet/features#rules. [32] Jovic, A., M. Prcela, and D. Gamberger. "Ontologies in Medical Knowledge
Representation". in Proceeding of the ITI 2007. 29th International Conference on Information Technology Interfaces. pp 535-540. 2007
[33] O'Keefe, R.M. and D.E. O'Leary," Parforming and Managing Expert System Validation". Advanced in Expert Systems Management, vol. 1 no: pp. 141.1993
[34] Ghosh, J.K. and M. Valtorta, Building a Bayesian network model of heart disease, in Proceedings of the 38th annual on Southeast regional conference. 2000, ACM: Clemson, South Carolina.