• No results found

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