7.4 Hendrix 1.0 architecture and core components
7.4.2 Domain
The Hendrix 1.0 domain model implements expert knowledge as a graph of interconnected entities. Table 7.1 defines the types of knowledge entities in the graph. A full specification of Hendrix 1.0 pilot knowledge domain can be found in A.
A graph-based approach allows for novel use ofshortest-path queries (Neo4J,
b) to dynamically structure tutorial plans based on directional relationships between concepts. The directional relations between knowledge entities (figure 7.3) let Hendrix 1.0 know which concepts develop upon which, which definitions relate to which concepts and where a code snippet can demonstrate an idea or
7.4 Hendrix 1.0 architecture and core components 129
can be used to examine a learner’s understanding. Encoding knowledge in this way improves upon static Chatbot scripting, such as AIML and PatternScript, as it allows Hendrix 1.0 to plan ahead in the conversation based on the current context of the conversation without explicit instruction needing to be encoded.
Table 7.1 Domain entities in Hendrix 1.0 knowledge graph
Entity Description
Concept A Concept node defines a single concept or topic within the
knowledge domain and contains a title, a canned introduction and a set of synonym words for search optimisation.
Introduction text is displayed in conversational dialogue when a new concept is introduced
Hand-out The Hand-out node contains canned information for the learner
to read. The handout is displayed in the secondary content window
Example The Example node contains canned examples of a concept. The
example is displayed in the secondary content window
Definition The Definition node contains a canned definition of a concept.
The definition text is displayed in conversational dialogue Question The Question node contains question text, a set of required
answer patterns, and an explanation of the solution. Questions have related Guidance nodes. The question and solution texts are displayed in conversational dialogue as part of the
assessment and feedback interactions
Code The Code node contains a link to a code excerpt for a question
or guidance step. The code excerpt is displayed in the secondary content window
Guidance The Guidance node contains a simplified sub-question text, a
set of required answer patterns, and an explanation of how the sub-question relates to the Question. The sub-question and
explanatory texts are displayed in conversational dialogue as part of the guidance interactions
The graph (figure 7.3) is populated with tutorial content, with emphasis placed on the relationships between concepts, examples, definitions, questions and applied programming problems (see section 7.4.2).
In addition to graph database, Lucene indexes are automatically populated from the graph. While the graph provides a structure for Hendrix 1.0 to follow, a framework for deploying content into the tutorial, full-text Lucene indexes allow for efficient full-text searching of content. The Lucene full-text
130 Hendrix 1.0: A conversational intelligent tutoring system for programming
Figure 7.3 Knowledge graph structure
indexes allow for advanced searching and ranking of content by keywords using ‘term-frequency - inverse document frequency’ (TF-IDF) (Lucene) as a content
relevance ranking metric.
The structure of a tutorial
The graph is structured such that any given concept is a part of one or many
parent concepts and acts as a hub for content entities including definitions, examples, questions and feedback guidance. The ‘part of’ relationship in the
graph structure shown in Figure 7.3 is used for structuring a conversational tutorial. The part of relationship gives a hierarchical structure to the concepts
within the knowledge domain, allowing for reasoning of questions such as ‘which concepts are part of X?’ (figure 7.4a) or a predicate assertion such as ‘to understand X a learner must pass assessments on all part-of relations, the set of entities Y, for X’.
Modelling the tutorial knowledge domain in this way represents the nature of knowledge sharing between a tutor and a student. The student has some learning objective within the knowledge domain they wish to master and Hendrix 1.0 has the entire knowledge domain with which it can reason, direct and support learning. However, if the ontology is truly to represent a human tutor’s knowledge domain it must encode not just conceptual information but materials to support learning.
7.4 Hendrix 1.0 architecture and core components 131
(a) Concept path
(b) Implementation of concept path in Neo4J
Figure 7.4 Hendrix 1.0 wireframe diagrams
The proposed graph structure (section 7.4.2) has many of the desired characteristics of a cognitivist learning environment (section 2.5), such as a hierarchy of concepts with associations and relationships. Further, the graph contains nodes for definitions, demonstrations, questions, guidance and examples of applied concepts.
Figure 7.5 shows the process of deploying knowledge in a tutorial. The cognitivist philosophy (section 2.2.1) requires that assessment is followed by corrective feedback. The Hendrix 1.0 knowledge graph contains pre-canned text for a correct answer, incorrect answer and partially correct answer. In addition, the knowledge graph containsguidancesteps associated with questions.
Guidance steps are follow-up questions that can be deployed into conversation to support the development of understanding when a learner does not provide a complete or fully correct answer to the question. Guidance steps allow the learner to explore the concept in a structured way with additional prompts from the tutor.
Figure 7.6 shows a question with two guidance entities associated. Relation- ships within the graph can be assigned attributes. The directional relationship between Guidance and Question entities are assigned a numeric attribute to
indicate precedence. Precedence is important in relation to guidance entities as these can be seen as steps towards a complete solution.
132 Hendrix 1.0: A conversational intelligent tutoring system for programming
Figure 7.5 Hendrix 1.0 tutorial process
Figure 7.6 Hendrix 1.0 ontology of relationship between concept, question and guidance steps with order attributes
The design of the knowledge domain requires that relationships have prop- erties on which to predicate the most accurate entity selection. As a basic example, adding an integer attribute to the connecting relationship would allow the graph structure to represent the correct order of guidance steps, in a linear feedback construction process, expressing that one guidance step must come before another.
7.4 Hendrix 1.0 architecture and core components 133