The design of HESAS used template-based approach for natural language understanding (NLU) and response generation (RG). The template-based approach has chosen, due to, the simplest and the most common, we only need to preassemble a sentences or prompts. The dialogue management used information state update approach. The information state update approach contains many features for designing a dialogue agent such as asking clarification questions, making a proposal, rejecting misunderstood questions and suggests plans.
Generally, most of the design of dialogue systems has similar components or modules. These components can be summarized as language understanding, dialogue manager, and response generation. Even though, the general basic architectures of dialogue systems are nearly similar, they substantially differ in their internal functionalities depending on the algorithm employed and the aims of the dialogue systems were designed. As many of the dialogue systems design, HESAS also share common components such as dialogue manager, response generator and knowledge base. As a result, it consists of spelling corrector, dictionary, natural language understanding subcomponents and advisement service. The natural language understanding component performs three types of analysis of user’s statement: syntactic, discourse, and semantic analysis as shown in Fig. 1.
3.1. Spelling Correction
The user interface is responsible for accepting the user’s input and provide an output. It converts an internal representation (which user may not understand) to the user understandable form. The job of spelling corrector component is concerned with detecting misspelled words in the user’s input and possibly assisting users in correcting them with the use of dictionary. HESAS is a text-based system, thus spelling errors are very common, yet the users expect the system to handle them effectively.
The spelling corrector uses dictionary lookup techniques for detecting non-word errors. Because it is simple and quick task, it just simply lookup each word in a dictionary; any unfound words are considered as misspellings, So that, the dictionary contains list of English words. The author used an existing dictionary and on top of that, added list of technical terms. These technical terms were continuously updated throughout the experimental phases. Totally, the dictionary consists of 15,827words. Algorithm 1 shows how the spelling corrector detects the spelling error and fixes it. Algorithm 2 shows tokenization.
Algorithm 1: Spelling Corrector
Algorithm 2 Tokenization
3.2. Natural Language Understanding
The job of natural language understanding component is concerned with the analysis of the utterances a user makes in a dialogue. In order to perform analysis on the user’s utterances, the NLU component should consist of three subcomponents. These are syntactic, discourse, and semantic analysis.
3.2.1. Syntactic Analysis
The syntactic analysis consists of determining the grammatical relationships among the words in the user’s utterance. It is the first stage in the analysis of a user’s statement, the syntactic analysis, starts with tokenization of the user’s statement, that is, division of the input in a series of distinct lexical entities. There are two distinct steps in the implementations of syntactic analysis: part-of-speech tagging and parsing. The Algorithm 3 illustrates POS (part of speech) tagging.
Algorithm 3 A Part of Speech Tagging
3.2.2. Discourse Analysis
Discourse analysis consists of determining the relationships among multiple sentences. An important component of discourse analysis is reference resolution, the task of determining the entity denoted by a referring expression.
3.2.3. Semantic Analysis
Finally, the natural language understanding component performs semantic analysis, which is determining the meaning of the sentences. Typically, this consists of representing the statement in canonical formalism that maps statements with similar meaning to a single representation and that facilitates the inferences that can be drawn from the representation. WordNet, a lexical database has been used to provide lexical semantics for the words occurring in parsed sentences [10]. This system employs ChatScript (CS) which includes WordNet along with many predefined concepts, which allows easily handling synonymous expressions. Conversely, the definitions for the technical terminologies the users must be used hand-coded (a written program).
3.3. Dialogue Management
The dialogue manager is the heart of HESAS because it coordinates the activity of all components, controlling the dialogue flow, and communicates with the knowledge base. The dialogue manager controls the communication between modules/components. Modules/components are not able to pass messages directly to each other, for design as well as technical reasons. The design of the system is such that the dialogue manager is the mediator of all communication between system modules, and in this way is able to control all messages passing and thus the order of module execution. Algorithm 4 shows how the HESAS dialogue manager works. The algorithm keeps a queue of conversation acts it needs to generate. Acts are added to the queue based on grounding and obligations of the system.
Algorithm 4: A Dialogue Management Algorithm
The DM requires extracting the required information from the knowledge base (KB), that is, database (DB). The knowledge base is a database that stores advising information. Generally, the KB has information related to curricula and extra-circular issues. It consists of information related to curriculum for department of computer science, legislations of Ethiopian public universities, higher education glossary, introduction, default answers (no response matched) and information about HESAS.
3.4. Response Generation
The Response Generator (RG) is the final component of HESAS, which constructs the message or output to be given to the user. The output or response to be given by the user is given by the dialogue manager. The dialogue manager in turn extracts the response from the knowledge base of HESAS and sends it to RG. The job of RG is responding answers to the user.
3.5. Advisement Service
The Advisement Service component is concerned with registration, retrieving and organizing of the students’ information. Basically, Advisement Service delivers two services. These are student transcript and registration information and course enrollment service. With this advisement service as the main feature, the author referred to this system as the Advisement Service (AS) system.