Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
111
CHAPTER VII
Chapter 7. TOWARDS ONTOLOGY DEVELOPMENT FOR
LEARNING PROGRAMMING LANGUAGE
7.1. Introduction
Knowledge representation and reasoning is an area of artificial intelligence whose
fundamental goal is to represent knowledge in a manner that facilitates inference (i.e.
drawing conclusions) from knowledge. It analyses how to formally think and how to use a
symbol system to represent a domain of discourse (that which can be talked about), along
with functions that allow inference (formalized reasoning) about the objects. Generally
speaking, some kind of logic is used both to supply formal semantics of how reasoning
functions apply to symbols in the domain of discourse, as well as to supply operators such
as quantifiers, model operators, etc. that, along with an interpretation theory, give meaning
to the sentences in the logic.
Teachers as knowledge engineers are used to work with concept maps, mind maps, brain
maps, semantic networks, frames [145-147] and other conceptual structures. The visual
representation of the general domain concepts facilitates and supports students
understanding of both semantic and syntactic knowledge. A teacher operates as a
knowledge analyst by making the skeleton of the studied discipline visible and showing the
domain’s conceptual structure. Ontology can be used to represent the domain’s conceptual
structure. However, Ontology-based approaches to teaching are relatively new fertile
research areas. They originated in the area of knowledge engineering [148-150], which
were then transferred to ontology engineering [151-153].
Knowledge Engineering traditionally emphasized and rapidly developed a range of
techniques and tools including knowledge acquisition, conceptual structuring and
representation models [154, 155].
Several practical approaches for developing teaching ontologies are proposed. The
research framework prepared by Tatiana Gavrilova pursues a methodology that will
scaffold the process of Knowledge Structure and ontology design. Moreover, special stress
is placed on visual design as a powerful mind tool. The process of developing a practical
112
ontology from the domain of introductory C Programming is described [156]. The
automatic mapping of ontology into java proposed by Aditya Kalyanpur [157] creates a set
of java classes using Web Ontology Language ontology. The Web Ontology Language
ontology files created represents an instance of a single ontology class with its properties,
class relationships and maintains restriction-definitions
An approach to design and develop teaching ontologies is discussed by Tatiana Gavrilova.
The teaching ontologies are used for teaching and learning C programming concepts [158].
JLOO (Java Learning Object Ontology) [159] is a frame work, for organizing learning
objects of Java course in an adaptive e-learning environment. The classification in JLOO is
based on the Computing Curricula CC2001 of the ACM and IEEE/CS. Using the
curriculum as a guideline; the ontology defines the atomic knowledge units (i.e. learning
objects) for an introductory course of Java Programming. The most significant
contributions of JLOO are:
(i) defining the atomic knowledge units of introductory courses of Java language, and
the relationships among them,
(ii) making the knowledge units of JLOO sharable and reusable,
(iii) allowing different learning strategies of an e-learning environment to choose
dynamically, using JLOO as a guideline, different learning paths, and
(iv) making the realization of adaptive learning easy.
Tatiana Gavrilova, [160] has proposed a 5-steps recipe for developing ontology namely:
(i) Glossary development,
(ii) Laddering,
(iii) Disintegration,
(iv) Categorization,
(v) Refinement
113
Glossary development: The first step is devoted for gathering all the information relevant
to the described domain. The main goal of this step is to select and verbalize all the
essential objects and concepts in the domain.
Laddering: Having all the essential objects and concepts of the domain in hand, the next
step is to define the main levels of abstraction. It is also important to elucidate the type of
ontology classification, such as taxonomy, partonomy, and genealogy. This is being
done at this step since it affects the next stages of the design. Consequently, the high
level hierarchies among the concepts should be revealed and the hierarchy should be
represented visually on the defined levels.
Disintegration: The main goal of this step is to break high level concepts, built in the
previous step, into a set of detailed ones where it is needed. This could be done via a top-
down strategy trying to break the high level concept from the root of the previously built
hierarchy.
Categorization: At this stage, detailed concepts are revealed in a structured
hierarchy. A generalization is performed via bottom-up structuring strategy. This could be
carried out by associating similar concepts to create meta-concepts from leaves of the
aforementioned hierarchy.
Refinement: The final step is devoted to update the visual structure by excluding the
excessiveness, synonymy, and contradictions.
7.2. Developing Practical Ontology for Java Programming
In this section an attempt to develop ontology for Java Programming language following
the five step algorithm as discussed in [156] is defended. The five phases of the method
used for developing practical ontology for Java Programming is presented in Figure 7.1.
7.2.1. Glossary Development
The first step in building ontology is collecting information in the domain and building a
glossary of the terms of the domain. To build a glossary for teaching introductory Java
programming course, the terms are generated from two different types of resources:
closed-corpus material and open-corpus material.
114
Figure 7.1. Phases of Developing Ontology for Learning a Programming Language
115
The closed corpus materials are in the form of lecture notes that are precisely
designed for the course. The open corpus materials include several online tutorials in
Java programming. The terms were extracted from the lecture notes manually by reviewing
the lecture handouts. The terms extracted from open-corpus material automatically.
Consequently, the automatic and manual extracted terms are combined to build a single
glossary. The glossary for Java programming language is developed. A part of the glossary
is provided in Appendix A.
7.2.2. Laddering: Building an Initial Mind Map Structure
The second step is to build an initial visual structure of the glossary terms. The main goal
of this step is to create a set of preliminary concepts and the categorization of those terms
into concepts. A mind map can be a useful visual structure. The mind map developed to
design java ontology is presented in Figure 7.2.
Since the categorization is preliminary, some of the terms might not fit into any of this
initial categorization. The categorization is done manually in this step. However the lecture
notes employed were used to build glossary, and to build the initial categorization as well.
When designing the ontology the lecture notes are equally compared with experts help.
7.2.3. Disintegration and Categorization: Building a Concept map with more
Precise Hierarchy
The next step is to build a visual structure by analyzing the glossary. At first the top-down
design strategy is employed to create meta-concepts such as “Class”, “Object”, and “IO”.
Then using the bottom-up strategy the terms and concepts are into the meta-concept. Hence
the relationships between the concepts are created. A portion of the concept map developed
to design java ontology is presented in Figure 7.3. Concept maps developed to define java
ontology are presented in Appendix B.
A concept map is the most useful visual structure for representation of the results of this
stage, since it has the ability of defining the relationship in addition to building the
hierarchy. The output of this step is a large and detailed map, which covers the course
in a hierarchical way. However, since this ontology is designed for teaching purposes it
is important to offer the overall picture and a general hierarchy as well.
116
7.2.4. Refinement
The general ontology is compared with a refined ontology to update and to get the next
version of ontology (Figures 7.4 and 7.5). Hence it is an incremental approach. It’s not
easy to build all relationship in depth of knowledge. To get the clarity on the ontology
developed, the unnecessary nodes are to be removed and the standard relationships that are
easy to understand are to be used.
The java ontology developed using the above proposed approach can be integrated with
any e-learning platform for class room teaching purposes. The developed java ontology
can be further enhanced by adding SWRL (Semantic Web Rule Language), to infer more
knowledge
7.3. Implementation
The java ontology developed is introduced to the under graduate students at Sacred Heart
College, Tirupattur for the course titled Java Programming in the fourth semester of the
B.Sc Programme. As a part of the CA (Continuous Assessment), students have to write
two Continuous Assessment tests to complete the course. The java ontology developed in
this research work is distributed to the students through intranet of the Sacred Heart
College campus network after the first Continuous Assessment.
The Jambalaya tool is used by the students to graphically view the java ontology. The
visualization of the partial java ontology through the Jambalaya is shown in Figure 7.6.
Jambalaya is a tool developed by the University of Victoria's Computer Human Interaction
and Software Engineering Lab, which merges the Shrimp information browser into Protégé
as a tab widget. Using Jambalaya, the students can call up a comprehensive hierarchical
ontology browser that allows for interactive editing of existing data. Jambalaya combines
an advanced implementation of a hypertext navigation metaphor with animated panning
and zooming motions over the nested graph to provide continuous orientation and
contextual cues for the students. The observed results for the Continuous Assessment tests
are tabulated in Table 7.1. The Visualisation diagrams of java ontology using Jambalaya
are provided in Appendix C.
117
Sign Test
The combinations of hypothesis are:
H0: µx = µy or P = ½; There is no significant difference between the performance of the
students in I Continuous Assessment Test and II Continuous Assessment Test,
H1: µx < µy or P < ½; The mean score of the performance of the students in I Continuous
Assessment Test is less than the mean score of the performance of the students in II
Continuous Assessment test,
Where µx is the mean of the first Continuous Assessment Test Scores of the students and
µy is the mean of the second Continuous Assessment Test Scores of the students.
As per the statement of the problem, the significance level (α) 0.05 is to be placed at the
left tail of the distribution. On classifying each observation into ‘+’ sign, if the observation
of the first sample is more than that of the second sample, ‘-’ sign, if the observation of the
first sample is less than that of the second sample and ‘0’ sign, if the observations are
equal.
The signs are:
-, -, -, +, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -,
-, -, -, +, +,-, -, -, -, -,-, -, -, +, -,-, -, +, -, -,
-, -, -, -, -, -, -, -, +, -
Number of samples, n =50
Number of + signs, = 6
Number of - signs, = 44
Number of zero = 0
Significance level (α) = 0.05
np = n(1-p) = 50 Χ 0.5 = 25, which is more than 4.
118
Table 7.1. Students CA Test Scores
Register No. First CA Test Second CA Test U09501 21 38 U09502 60 71 U09504 47 64 U09505 13 09 U09506 15 43 U09507 42 68 U09508 32 47 U09509 03 29 U09510 44 61 U09511 24 44 U09512 11 24 U09513 24 45 U09514 19 44 U09515 29 57 U09516 55 60 U09517 22 44 U09518 14 23 U09519 57 65 U09520 63 75 U09521 04 05 U09522 16 26 U09523 01 02 U09524 25 55 U09525 57 46 U09526 53 39
Register No. First CA Test Second CA Test U09527 27 48 U09528 10 33 U09530 40 54 U09531 32 34 U09534 33 63 U09535 00 12 U09536 36 59 U09537 48 71 U09538 28 26 U09540 43 73 U09541 25 58 U09542 02 27 U09543 09 08 U09544 39 52 U09545 16 18 U09546 09 47 U09547 13 43 U09548 43 50 U09549 18 65 U09550 19 40 U09551 19 20 U09552 00 08 U09554 22 26 U09555 01 00 U09556 27 54
119
So the normal distribution can be used as an approximation to the binomial distribution
with np and np(1-p) as its mean and variance, respectively. Let Q be the random variable
representing the number of plus signs. Then,
Q ~ N [np, np(1-p)]
µQ = np = 50 Χ 0.5 = 25
σQ = 3.536
The formula for Standard normal statistics is:
The value of Z0.05 =1.64.
The calculated |Z| is 5.373 which is greater than Zα =1.64. Hence the H0 is rejected. This
test leads to the conclusion that the student’s performance is improved from I Continuous
Assessment test to II Continuous Assessment test.
Figure 7.2. Mind Map
120
Figure 7.3. Concept Map
121
Figure 7.4. General Ontology
122
Figure 7.5. Refined Ontology
123
Figure 7.6. Visual form of Java Ontology
124
7.4. Summary
The research focuses on the role of knowledge structuring for developing ontology rapidly,
professionally and successfully. The visual paradigm which is used to represent and
support the teaching process not only helps a professional trainer to concentrate on
problem rather than on details, but also enables a trainee to process and understand great
volume of information.
At a basic level of knowledge representation, within the context of everyday heuristics, it is
easier for educationalists simply to draw the ontology using conventional “pen and pencil”
techniques. However, for more complicated knowledge representations, it is necessary to
master appropriate programming and the involved language, or to use well-known
ontology editors.
The described approach in this thesis can be applied for developing those teaching
systems where general understanding is more important than factual details.
Furthermore, ontology design may be used as an assessment procedure for
significant as opposed to exploratory learning. For both formative and summarizing
assessment purposes, students can clearly indicate the extent as well as the nature of
their knowledge and understanding through creating ontology and explaining the
involved processes.