Example Retrieval of Learning Functions for

3 downloads 0 Views 361KB Size Report
authors to create learning materials for WBT systems along their educational ... such as displaying text, multiplechoice tests and fill-in-the-blank problems and so ...
Example Retrieval of Learning Functions for Supporting Authoring of a WBT System Hidenobu KUNICHIKA Dept. of Creation Informatics, Kyushu Institute of Technology, Japan [email protected] Toru MOTOGAMI Dept. of Artificial Intelligence, Kyushu Institute of Technology, Japan Tsukasa HIRASHIMA Dept. of Information Engineering, Hiroshima University, Japan [email protected] Akira TAKEUCHI Dept. of Artificial Intelligence, Kyushu Institute of Technology, Japan [email protected] Author index name: KUNICHIKA, Hidenobu, MOTOGAMI, Toru, HIRASHIMA, Tsukasa and TAKEUCHI, Akira Abstract: The purpose of our research is to realize an authoring system that allows authors to create learning materials for WBT systems along their educational intentions easily by combining elementary parts. We have proposed a visual programming environment for this purpose. However, it is difficult for novices to understand functions and usage of elementary parts, to select suitable parts, and to combine them into a learning function as in the case of mastering the use of a class library in object-oriented programming. In order to solve the problem, it is helpful to consult examples that are created in the past and similar to the required one. This paper presents a method of example retrieval of learning functions for supporting authoring. Keywords: authoring system, learning materials, example retrieval, explanation

Introduction Various authoring systems for creating learning materials for WBT systems are proposed up to now. Many of them are mainly focused on methods of structuring learning materials such as defining logical structures and learning sequence between pages. They provide simple methods to create pages; authors select templates (WebCT, 01; Zhum et al., 99) or suitable learning functions from prepared functions such as displaying text, multiplechoice tests and fill-in-the-blank problems and so on (Zhum et al., 99; Nakabayashi et al., 97). However, since prepared functions and templates are limited, authors sometimes can not create leaning materials along their educational intentions. Accordingly, we focused on the method of composing pages for learning. We have realized an authoring system COMPAS (Component base Page Authoring System) (Maji et al., 01) that allows authors to create learning materials along their educational intentions easily by combining elementary parts. However, it is not easy for novices on using COMPAS to grasp functions of all the elementary parts, to select suitable parts, and to combine them into a learning function. In order to solve the problem, it is useful to consult learning functions created in the past and to modify the functions if necessary. This paper presents a method of example retrieval of learning functions for supporting authoring.

The outline of COMPAS COMPAS allows authors to create learning materials by combining elementary parts of learning functions. This chapter first explains the structure of learning materials COMPAS treats, and then we describe the features of COMPAS. The structure of learning materials The structure of learning materials is as follows. • A learning material consists of pages presented to learners and a management part that defines the logical structure between pages and learning sequence. • A page is a learning unit presented to a learner at a time, and consists of a page frame and contents. • A page frame is the framework that defines learning functions and layout of contents. • Contents are data stored in the page frame.

• A learning function is created by combining one or more elementary parts which are primitive components. • Elementary parts are the class objects in the sense of object-oriented programming. Each part has primitive functions, which correspond to methods, and sends and receives information by events. The retrieval function which this paper presents is used for supporting to create learning functions. Features of COMPAS It is desirable to give authors an environment in which they can easily create both expression and functions of a page that they demand and can get high reusability of learning materials. To achieve the goal, COMPAS is equipped with the following features. - Elementary parts as primitive learning functions: In order to give authors an authoring environment in which they can create desired learning functions easily, COMPAS provides authors with a visual programming environment. When authors make a page, they select elementary parts from "Elementary Parts Library". Then, they connect elementary parts by events to make them work cooperately in order to realize desired learning functions. After that, COMPAS transforms the completed learning functions into a Java applet which corresponds to the page used for learning on the Web. - Easy addition of elementary parts: Extensibility is necessary for an authoring system, that is, elementary parts should be added, deleted and modified easily. For this reason, COMPAS is designed with object-oriented techniques. - Separation of the page frame and contents: It is important for authors that learning materials are reusable to reduce their burden. Our system manages page frames and contents separately. As a result, it is possible to reuse pages, page frames and contents independently.

Problems on creating learning functions When authors create desired learning functions, they need to select suitable elementary parts from the Elementary Parts Library and to connect suitable events to suitable methods of elementary parts. There are many elementary parts, and the flexibility of connecting events and methods is high. Thus, it is difficult for especially novices on using COMPAS to select parts and create learning functions. The major problems on creating learning functions for novice authors are as follows. (1) To select suitable elementary parts Functions of each elementary part are characterized by its methods. It is difficult for novices to understand the behavior and features of each method of all elementary parts and to select suitable parts for learning functions which they want to create. (2) To understand the usage of elementary parts Even if authors can find necessary elementary parts, it is difficult for novices to understand the usage; restrictions on connecting parts, the behavior of each elementary part, and so on. (3) To understand how to create desired learning functions We can imagine that authors know some of necessary elementary parts for creating a desired learning function, but they don’t know all the necessary parts and how to completely create the learning function. (4) To understand the behavior of a learning function It is useful to consult existing learning functions for understanding the usage of elementary parts and the methods of creating learning functions. However, it is not easy to understand the behavior of a learning function by looking only the structure of the learning function.

Policy to solve the problems When we learn or create computer programs, we sometimes consult example programs. It is, however, not easy to understand the behavior of a program by looking only its source code statements. In order to solve the problem, consulting both source code statements and an explanation of the behavior is useful. Just as in such case, it is useful for creating learning functions to consult examples of learning functions and the explanation of the behavior of each function. We propose a solution for the problems on creating learning functions mentioned in the previous section by providing capabilities of explaining the behavior of a learning function and retrieving elementary parts or learning functions. In order to realize such functions, preparing the explanation of the behavior of each learning function is necessary. However, it will be a burden for authors to prepare the explanation in detail. Therefore, creators of elementary parts prepare explanations of the behavior of each elementary part. COMPAS generates the explanation of each learning function by combining explanations of elementary parts according to the structure of the composed learning function when authors create the learning function. The generated explanations are used as targets for the retrieval function. If authors can

find the learning function just they want, they will use it as it is. However, there will be little chance that someone has created the exactly desired one. Hence, retrieving similar learning functions to desired one will be useful. Therefore, the retrieval function is equipped with the feature of retrieving similar learning functions.

The retrieval function for creating learning functions In order to solve the problems, we have implemented a retrieval function of learning functions. We first explain the necessary information for realizing the function, and then present its features and the implementation method in this chapter. Necessary information for the retrieval function As mentioned in the previous chapter, the information of each elementary part is necessary for generating the explanation of learning functions as a whole. COMPAS has a database, which includes the following information of each elementary part. noun • Name • Explanation I/O device information role • Description of each method author learner mouse keyboard - name value text picture movie truth - conditions to work … number of times - explanation on behavior false time score true - events the method generates … … Figure 1: A part of the hierarchy of nouns For realizing retrieval of learning functions, it is necessary to store the information of learning functions in the format which can be treated as a target of information processing. The learning function is represented by a network structure, where nodes correspond to methods and links correspond to events. COMPAS automatically generates the network when authors generate a Java applet of a page frame. It is represented by a set of connection information in the form of "['elementary part 1:method 1', event, 'elementary part 2:method 2']", which means that "method 1" in "elementary part 1" invokes "method 2" in "elementary part 2". The explanation of the learning function is generated from both the information of elementary parts and the network structure by combining descriptions of methods according to the network. When authors retrieve learning functions, they specify search keys by words and our search engine searches words appearing in the explanation. Because free use of words decreases the hit rate, we need to control vocabulary. Furthermore, we need to define relationship between words to realize the feature of retrieving similar learning functions. We have defined hierarchies of nouns and verbs, because the behavior of a method can be expressed by using nouns and verbs. We show you outline of the hierarchy of nouns in Figure 1. Elementary part retrieval To solve the problem (1) described in "Problems on creating learning functions", the retrieval function allows authors to retrieve necessary elementary parts by keywords. The retrieval function searches the database of elementary parts for elementary parts which information has the keywords. Usage retrieval of elementary parts In order to solve the problem (2), it is useful to consult examples of the use of particular elementary part in existing learning functions. Thus, the retrieval function allows authors to retrieve learning functions by the names of elementary parts and/or methods. The retrieval function searches learning functions by comparing keywords, which are elementary parts, methods or their combinations, with the elements in connection information mentioned before. Learning function retrieval In order to solve the problem (3), the retrieval function allows authors to retrieve learning functions by an incomplete network structure which consists of some of necessary elementary parts for creating a desired learning function. Authors input such a network structure in the same way as they create learning functions. The retrieval function transforms the search key into connection information mentioned in the previous section and searches learning functions which contain the connection information. For example, we assume that an author wants to consult a learning function to master rapid reading for language learning which has the following feature.

MakeOperation

MakeButton

ReadingMaster

MakeText

ReadingMaster

TimeEvent

showNewSentence

2

1 StartEvent

operationDiff

3 TimeEvent

4

MakeJudge NumberEvent

6

judgeTrue

7

judgeFalse

NumberEvent

TrueEvent

NumberEvent

8

MakeStack

MakeButton

9

FalseEvent

MakeText

stack

mouseClicked

(a) Search key

5 setFirstNumber

10

show

11

hide

(b) Retrieved learning function

Figure 2: Example of learning function retrieval MakeJudge

MakeJudge

MakeAnsNum

judgeTrue

sendAnswer

NumberEvent NumberEvent

judgeTrue judgeFalse

TrueEvent

TrueEvent

FalseEvent

MakePicture

MakeText

show

show

hide

(a) Search key

(b) Retrieved similar learning function Figure 3: An Example of similar learning function retrieval

Displaying one sentence every time a learner clicks a button. If the learner takes a too long interval between clicks, a message is shown. The author may input a network structure in Figure 2 (a) as a search key. The elementary part "ReadingMaster" in the figure is used for learning functions for training rapid reading and displays one sentence every time it receives an event. The retrieval function transforms the key into connection information and retrieves a learning function shown in Figure 2 (b) which contains the elements of the search key. Similar learning function retrieval As mentioned before, the retrieval function is equipped with the feature of retrieving similar learning functions. The retrieval function retrieves similar learning functions by abstracting words in a search key. Abstraction is processed at authors' requests word by word by referring to the hierarchies of nouns and verbs. When authors specify a word which they want to abstract, the retrieval function replaces the word with a word which ancestor is the same as the parent of the specified word and retrieves learning functions. For example, we assume that an author wanted to consult learning functions which displays messages in text if a constraint is satisfied but there are no learning functions which contain the search key shown in Figure 3 (a). When the author selects the noun "text" which is the object of a method's process, the retrieval function abstracts "text" and retrieves learning functions. That is to say, the retrieval function replaces "text" with "picture", "movie", "value" and so on, which ancestor is "information", and retrieves learning functions which contains the revised search keys. As the result, a learning function shown in Figure 3 (b) which displays a picture if a constraint is satisfied, is retrieved for instance. Generating explanations In order to solve the problem (4), the retrieval function has the ability of explaining the behavior of the learning function. The retrieval function generates explanations on the behavior of a learning function by consulting both the connection information and the elementary part database. As mentioned before, a learning function consists of elementary parts and each part is connected to one or more parts by event. Therefore, to explain a learning function, the retrieval function generates explanations on all connections by referring to information in the elementary part database. In order to generate explanations, which are easy to understand, it is necessary to consider the order of explaining connections. The retrieval function uses the following rules. • The elementary part firstly explained is selected from among elementary parts which don't receive any events. • When the retrieval function explains about a elementary part, it firstly explains all input connections, and then output connections. If the explanation about the source elementary part of an input connection is not finished, the retrieval function follows back the connection and completes the

explanation about the source elementary part. If the retrieval function follows back connections and gets back to the elementary part passed before, the function explains about the elementary part. • If an elementary part has plural output connections, the retrieval function first explains all the connections. Then it follows one of the connections and explains about the destination elementary part. Figure 2 (b) shows an example of the order of explanation. Numerals placed by arrows and on some of methods indicate the order of explanation. Even if there are events which are the same nature in a learning function, their uses may vary method by method. For example, we can imagine that an event "NumberEvent" which sends a value in Figure 2 (b) can be used for sending "the result of calculation" or "the maximum value". It is useful to use such meanings of information for explaining the behavior of a learning function. Hence, the retrieval function generates explanation by replacing the names of events with their meanings. The meanings are got from source elementary parts. A part of generated explanation of the learning function in Figure 2 (b) is as follows. Explanation is originally written in Japanese. The words in parentheses are the names of events before they are replaced. The numeral of each sentence corresponds to the numeral in Figure 2 (b). 1. When "MakeButton:mouseClicked" is clicked, the method sends "StartEvent" to "ReadingMaster:showNewSentence". 2. When "ReadingMaster:showNewSentence" receives "StartEvent", the method shows the next sentence and sends "displaying time" (TimeEvent) to "MakeOperation:setFirstNumber". 3. When "ReadingMaster:showNewSentence" receives "StartEvent", the method shows the next sentence and send "displaying time" (TimeEvent) to "MakeStack:stack". 4. When "MakeStack:stack" receives "displaying time" (TimeEvent), the method assigns the value to the variable "Value" and if the variable "Value" is not empty, the method sends "displaying time" (NumberEvent) to "MakeOperation: operationDiff ". 5. When "MakeOperation:setFirstNumber" receives "displaying time" (TimeEvent), the method assigns the value to the variable "Value1". 6. When "MakeOperation:operationDiff" receives "displaying time" (TimeEvent), the method subtracts the variable "Value" from the received value and sends "the result of the calculation" (NumberEvent) to "MakeJudge:judgeTrue". 7. When "MakeOperation:operationDiff" receives "displaying time" (TimeEvent), the method subtracts the variable "Value" from the received value and sends "the result of the calculation" (NumberEvent) to "MakeJudge:judgeFalse".

Conclusions This paper described the example retrieval function of learning functions for supporting authors to retrieve necessary elementary parts and to learn how they can create their own learning functions. At present, authors input keywords on elementary parts or methods to retrieve learning functions. It is, however, useful to use the meaning of delivered information between elementary parts. For example, when authors want to retrieve learning functions in which an elementary part branches conditionally on the score sent by another elementary part, they may input the keyword "conditional branch". However, it will narrow the retrieval and useful to use the delivered information "score" and input the keywords "conditional branch" and "score". Moreover, we think that the feature will be able to extend to retrieval using natural language and it makes the retrieval function more user-friendly. The remaining issues are to realize retrieval using natural language and to evaluate our example retrieval function. References Cristea, A., & Aroyo, L. (2002). Adaptive Authoring of Adaptive Educational Hypermedia. Proc. of Adaptive Hypermedia and Adaptive Web-Based Systems. 122-132. Maji, I., Kunichika, H., Hirashima, T., & Takeuchi, A. (2001). An Architecture of an Object Oriented Authoring System for Web Based Learning Materials. Proc. of ICCE01. 344-347. Nakabayashi, K., Maruyama, M., Koike, Y., et al (1997). Architecture of an Intelligent Tutoring System on the WWW. Proc.of AI-ED 97, 39-46. WebCT (2001).WebCT.com. http://www.webct.com. Zhum, Z., Arata, Y., Wang, O. et al (1999). Construction and Evaluation of a Web-Based Individual Adaptive CAL System Developed by Using the General-purpose Tool WWW-CALIST. Trans. of Japanese Society for Information and Systems in Education, 149-159.