File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/intro/83/p83-1024_intro.xml
Size: 4,635 bytes
Last Modified: 2025-10-06 14:04:21
<?xml version="1.0" standalone="yes"?> <Paper uid="P83-1024"> <Title>Knowledge Structures in UC, the UNIX* Consultantt</Title> <Section position="2" start_page="0" end_page="159" type="intro"> <SectionTitle> 1. Introduction </SectionTitle> <Paragraph position="0"> UC is a natural language program that converses in English with users in the domain of the UNIX operating system. UC provides information on usage of system utilities, UNIX terminology, and plans for accomplishing specific tasks in the UNIX environment, all upon direct query by the user. In order to accomplish these tasks, UC must perforce have a considerable knowledge base, a large part of which is particular to the UNIX domain.</Paragraph> <Paragraph position="1"> The specific representations used in this knowledge base are essential to the successful operation of UC. Not only are the knowledge structures used in parsing, inference, planning, goal detection, and generation, but also the format of representation must permit the high efficiency in access and processing of the knowledge that is required in an interactive system like UC. This paper describes the details of this representation scheme and how it manages to satisfy these goals of usability and efficiency. Other aspects of the UC system are described in Arens (1982}, Faletti (1982}, Jacobs (1983}, Rau {1983), and Wilensky and Arens (1980a and b). An overview of the UC system can be found in Wilensky (1982).</Paragraph> <Paragraph position="2"> The first step in the design of knowledge structures involves determining what forms of knowledge will be needed. In this case, the domain of conversation for a UNIX consultant is specific enough that it reduces the range of knowledge structures necessary for the task.</Paragraph> <Paragraph position="3"> Some insight into the kinds of knowledge structures that are needed can be gleaned from looking at the variety of questions which users actually ask. Since UC is aimed at the naive user of UNIX, a majority of the queries UC receives are of the following forms (taken from actual UC sessions}: User: How can \[ change the write protection on my terminal? null UC: To turn on write permission on your terminal, type 'mesg y'.</Paragraph> <Paragraph position="4"> To turn off write permission on your terminal, type 'mesg n'.</Paragraph> <Paragraph position="5"> User: What is a search path? UC: A search path in UNIX is a list of directories in which the operating system searches for programs to execute.</Paragraph> <Paragraph position="6"> User: Why can't I remove the directory Trap? UC: The directory Trap must he empty before the directory can be deleted.</Paragraph> <Paragraph position="7"> Questions of the first form, asking how to do something, are usually requests for the names and/or usage of UNIX utilities. The user generally states the goals or results that are desired, or the actions to be performed and then asks for a specific plan for achieving these wishes. So to respond to how questions, UC must encode in its data-base a large number of plans for accomplishing desired results or equivalently, the knowledge necessary to generate those plans as needed.</Paragraph> <Paragraph position="8"> The second question type is a request for the definition of certain UNL~ or general operating systems terminology. Such definitions can be provided easily by canned textual responses. However UC generates all of its output. The expression of knowledge in a format that is also useful for generation is a much more difficult problem than simply storing canned answers.</Paragraph> <Paragraph position="9"> In the third type of query, the user describes a situation where his expectations have failed to be substantiated and asks UC to explain why. Many such queries involve plans where preconditions of those plans have been violated or steps omitted from the plans. The job that UC has is to determine what the user was attempting to do and then to determine whether or not preconditions may have been violated or steps left out by the user in the execution of the plans.</Paragraph> <Paragraph position="10"> Besides the ability to represent all the different forms of knowledge that might be encountered, knowledge structures should be appropriate to the tasks for which they will be used. This means that it should be easy to represent knowledge, manipulate the knowledge structures, use them in processing, and do all that efficiently in both time and space. In UC, these requirements are particularly hard to meet since the knowledge structures are used for so many diverse purposes.</Paragraph> </Section> class="xml-element"></Paper>