{'fraction_non_alphanumeric': 0.027887238557138528, 'fraction_numerical': 0.010912397696271597, 'mean_word_length': 4.709342560553633, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Case Grammar: A Linguistic Tool for Engineering Agent-Based Systems

Case grammar is a model widely used by field linguists for studying actual human languages. It is an extension to the semantic domain of the syntactic “case endings” used by many languages, such as German and ancient Greek and Latin, to mark the role of nouns in sentences (for example, as subject or object). Studies of a wide range of human languages suggest that all human languages share a common set of such semantic cases, though they may mark them in different ways. Thus cases represent a fundamental characteristic of human cognition that can be of great value in engineering systems that must interact with humans. This paper surveys three agent-based systems in which ITI has used case grammar as an engineering tool at three different levels. It is drawn largely from the full papers referenced in the introduction below. These examples show that case grammar provides an integrating framework for constructing the internal knowledge representation system of a single agent, for identifying the agents that are active in a domain, and for defining an abstract space within which the behaviors of agents can be described. Section 1 provides a simple introduction to case theory, and explains why it is relevant to engineering. Sections 2, 3, and 4 describe three systems in whose design case grammar has been an important tool. 1. Overview of Case Grammar Case relations [Cook 1979; Bruce 1975] describe the relation between a verb and the other components (typically nouns) of a single proposition. In this section we outline the big ideas of case theory, then present a typical list of cases, and explain why a linguistic theory such as case grammar is important for engineering. 1.1. The Big Ideas of Case Grammar The basic idea of case theory is that each verb has a set of named slots that can be filled by other items, typically nouns. Each slot describes the semantic role of its filler with respect to the verb. Verbs can be characterized largely by the slots that they support and selection restrictions on what can fill them. The strong similarity between case frames as a general KR device in AI is not coincidental. Historically, Minsky’s original idea of frames was inspired by case theory [Minsky 1981]. [Parunak 1989] develops a general-purpose frame language that makes full use of case theory. The cases of case theory are deep or semantic cases. Unlike surface level, syntactic cases such as “subject” or “direct object,” they do not change under grammatical transformation of the verb (for example, from active to passive), as illustrated in Table 1. “Boy” and “ball” change surface-level roles when the verb changes from active to passive voice, but their deeplevel roles remain unchanged. 1.2. A Sample List of Cases The following list of cases, strongly influenced by [Cook 1979], is illustrative. As demonstrated in Section 3, the set of cases adopted for a system will depend on the domain in which the system operates [Fillmore 1977], and constitutes a major design parameter for any real application. Object.--Object is the most semantically neutral slot, identifying the entity whose position, existence, or state is under discussion. Every verb, even statives Table 1: Surface vs. Deep Cases