A Flexible Approach to Natural Language Generation for Disabled Children Pradipta Biswas School of Information Technology Indian Institute of Technology, Kharagpur 721302 INDIA pbiswas@sit.iitkgp.ernet.in a tree structured template organization that resembles Tag Adjoining Grammar (TAG) structure. The template-based approach that has been taken in the system, enables the basic language generation algorithms application independent and language independent. At the final stage of language generation it checks the compatibility of the sentence structure with the current context and validates the result with Chomsky's binding theory. For this reason it is claimed to be as well founded as any plan-based approach. As another practical example of NLG technique, we can consider the IBM MASTOR system (Liu et. al., 2003). It is used as speech-to-speech translator between English and Mandarin Chinese. The NLG part of this system uses trigram language model for selecting appropriate inflectional form for target language generation. When NLG (or NLP) technology is applied in assistive technology, the focus is shifted to increase communication rate rather than increasing the efficiency of input representation. As for example, CHAT (Alm, 1992) software is an attempt to develop a predictive conversation model to achieve higher communication rate during conversation. This software predicts different sentences depending on situation and mood of the user. The user is free to change the situation or mood with a few keystrokes. In "Compansion" project (McCoy, 1997), a novel approach was taken to enhance the communication rate. The system takes telegraphic message as input and automatically produces grammatically correct sentences as output based on NLP techniques. The KOMBE Project (Pasero, 1994) tries to enhance the communication rate in a different way. It predicts a sentence or a set of sentence by taking sequence of words from users. The Sanyog project (Sanyog, 2006)(Banerjee, 2005) initiates a dialog with the users to take different portions (eg. Subject, verb, predicate etc.) of a sentence and automatically constructs a grammatically correct sentence based on NLG techniques. Abstract Natural Language Generation (NLG) is a way to automatically realize a correct expression in response to a communicative goal. This technology is mainly explored in the fields of machine translation, report generation, dialog system etc. In this paper we have explored the NLG technique for another novel applicationassisting disabled children to take part in conversation. The limited physical ability and mental maturity of our intended users made the NLG approach different from others. We have taken a flexible approach where main emphasis is given on flexibility and usability of the system. The evaluation results show this technique can increase the communication rate of users during a conversation. 1 Introduction `Natural Language Generation' also known as `Automated Discourse Generation' or simply `Text Generation', is a branch of computational linguistics, which deals with automatic generation of text in natural human language by the machine. It can be conceptualized as a process leading from a high level communicative goal to a sequence of communicative acts that accomplish this communicative goal (Rambow et. al., 2001). Based on input representation, any NLG technique can be broadly classified into two paradigms viz. Template based Approach and Plan based approach. The template-based approach does not need large linguistic knowledge resource but it cannot provide the expressiveness or flexibility needed for many real domains (Langkilde and Knight, 1998). In (Deemter et. al., 1999), it has been tried to prove with the example of a system (D2S: Direct to Speech) that both of the approaches are equally powerful and theoretically well founded. The D2S system uses 1 Proceedings of the COLING/ACL 2006 Student Research Workshop, pages 1­6, Sydney, July 2006. c 2006 Association for Computational Linguistics 2 The Proposed Approach 2.1 Templates fill up The present system is intended to be used by children with severe speech and motorimpairment. It will cater those children who can understand different parts of a sentence (like subject, object, verb etc.) but do not have the competence to construct a grammatically correct sentence by properly arranging words. The intended audience offers both advantages and challenges to our NLG technique. The advantage is we can limit the extent of sentence types that have to be generated. But the challenges overwhelm this advantage. The main challenges identified so far can be summarized as follows. Simplicity in interacting with user due to limited mental maturity level of users Flexibility in taking input Generating sentences with minimum number of keystrokes due to the limited physical ability of the users Generating the most appropriate sentence in the first chance since we do not have any scope to provide users a set of sentences and ask them to choose one from the set. In the next few sections the NLG technique adopted in our system will be discussed in details. Due to limited vocabulary and education level of our intended users, our NLG technique will generate only simple active voice sentences. The challenges are also tried to be addressed in developing the NLG technique. Generally an NLG system can be divided into three modules viz. Text Planning, MicroPlanning and Realization. In (Callaway and Lester, 1995), the first two modules are squeezed into a planning module and results only two subtasks in an NLG system. Generally in all the approaches of NLG, the process starts with different parts of a sentence and each of these parts can be designated as a template. After getting values for these templates the templates are arranged in a specified order to form an intermediate representation of a sentence. Finally the intermediate representation undergoes through a process viz. Surface realization to form a grammatically correct and fluent sentence. Thus any NLG technique can be broadly divided into two parts Templates fill up Surface realization Now each of these two steps for our system will be discussed in details. We defined templates for our system based on thematic roles and Parts of Speech of words. We tagged each sentence of our corpus (the corpus is discussed in section 4.1) and based on this tagged corpus, we have classified the templates in two classes. One class contains the high frequency templates i.e. templates that are contained in most of the sentences. Examples of this class of templates include subject, verb, object etc. The other class contains rest of the templates. Let us consider the first class of templates are designated by set A={a1,a2,a3,a4....} and other class is set B={b1,b2,b3,b4,..............}. Our intention is to offer simplicity and flexibility to user during filling up the templates. So each template is associated with an easy to understand phrase like Subject=> Who Verb=> Action Object=> What Destination=>To Where Source=>From Where...........etc. To achieve the flexibility, we show all the templates in set A to user in the first screen (the screenshot is given in fig. 1, however the screen will not look as clumsy as it is shown because some of the options remain hidden by default and appear only on users' request). The user is free to choose any template from set A to start sentence construction and is also free to choose any sequence during filling up values for set A. The system will be a free order natural language generator i.e. user can give input to the system using any order; the system will not impose any particular order on the user (as imposed by the Sanyog Project). Now if the user is to search for all the templates needed for his/her sentence, then both the number of keystrokes and cognitive load on user will increase. So with each template of set A we defined a sequence of templates taking templates from both set A and set B. Let user chooses template ak. Now after filling up template ak, user will be prompted with a sequence of templates like ak1, ak2, ak3, bk1, bk2, bk3, etc. to fill up. Again the actual sequence that will be prompted to user will depend on the input that is already given by user. So the final sequence shown to the user will be a subset of the predefined sequence. Let us clear the concept with an example. Say a user fills up the template . Now s/he will be requested to give values for template like , ,