Cobot in LambdaMOO : A Social Statistics Agent

We describe our development of Cobot, a software agent who lives in LambdaMOO, a popular virtual world frequented by hundreds of users. We present a detailed discussion of the functionality that has made him one of the objects most frequently interacted with in LambdaMOO, human or artificial. Introduction The internet is a medium where large groups of people build social communities. This presents both a challenge and an opportunity for artificial intelligence and software agent researchers. In such communities, agents may do more than filter mail, and retrieve price quotes for consumer items; they may be legitimate, if still limited, participants in close-knit social environments. This paper presents Cobot, a software agent that lives in an active online community frequented by several hundred users (LambdaMOO, which we describe in requisite detail in the next section). His goal is to interact with other members of the community and to become a vital, useful and accepted part of his social fabric. Toward this end, C obot tracks actions taken by users, building statistics on who performs what actions, and on whom they use them. For example, Cobot tracks which users converse with each other most frequently. Using his chatting interf ace, Cobot can answer queries about these and other usage statistics, and describe the statistical similarities and differences between users. This information also provides Cobot with a user model that may be used for learning, imitation and conversation. Cobot’s chat abilities include a simple and novel method inspired by information retrieval that allows him to choose appropriate utterances from very large documents. During Cobot’s months in LambdaMOO, he has become a member of the community. As we will see in subsequent sections, users interact with Cobot more than with any other user (human or artificial), take advantage of social statistics he provides, converse with him, and discuss him. Following the pioneering studies of (Foner, 1993; Foner, 1997), we present transcripts establishing the sociological impact of Cobot. We compare the techniques that we have used to implement Cobot’s set of social skills to those of Copyright c 2000, American Association for Artificial Inte lligence (www.aaai.org). All rights reserved. previous MUD agents, such as Julia (Foner, 1997), and discuss how these techniques affect user expectations. In addition to the more anecdotal evidence provided by transcripts, we provide quantitative statistical support for our belief that Cobot has not only become part of the social environment in which he resides, but has significantly altered it as well. The paper begins with a brief history of LambdaMOO. We then detail the two major components of Cobot’s functionality—his ability to provide social statistics, and his conversational abilities—and quantify and discuss their impact. After an examination of privacy issues and our approach to them, we discuss future plans for Cobot. LambdaMOO LambdaMOO, founded in 1990 by Pavel Curtis at Xerox PARC, is one of the oldest continuously-operating MUDs, a class of online worlds with roots in text-based multiplayer role-playing games. MUDs (multi-user dungeons) differ from most chat and gaming systems in their use of a persistent representation of a virtual world, often created by the participants, who are represented as characters of their own choosing. The mechanisms of social interaction in MUDs are designed to reinforce the illusion that the user is present in the virtual space. LambdaMOO is a MOO: a MUD that uses an object-oriented programming language to manipulate objects in the virtual world. LambdaMOO appears as a series of interconnected rooms (modeled as a mansion), populated by users and objects who may move from room to room. Each room provides a chat channel shared by just those users in the room (users can also communicate privately), and typically has an elaborate text description that imbues it with its own “look and feel.” In addition to speech, users express themselves via a large collection ofemotes, allowing a rich set of simulated actions, and the expression of emotional states: (1) Buster is overwhelmed by all these paper deadlines. (2) Buster begins to slowly tear his hair out, one strand at a time. (3) HFh comforts Buster. (4) HFh [to Buster]: Remember, the mighty oak was once a nut like you. (5) Buster [to HFh]: Right, but his personal growth was assured. Thanks anyway, though. (6) Buster feels better now. Lines (1) and (2) are initiated by emote commands by user Buster, expressing his emotional state, while (3) and (4) are examples of emote and speech acts, respectively, by HFh. Lines (5) and (6) are speech and emote by Buster. (In our transcripts the name of the user initiating an action always begins the description of that action or utterance.) Though there are many standard emotes, such as the use of “comfort” in line (3) above, the variety is essentially unlimited, as players have the ability to create their own emotes. The rooms and objects in LambdaMOO are created by users themselves, who devise descriptions, and control access by other users. Users can also create objects with methods (orverbs) that can be invoked by other players. 1 LambdaMOO is thus a long-standing, ongoing experiment in collective programming and creation, with often stunning results that can only be fully appreciated firsthand. Inventions include technical objects, such as the lag meter , which provides recent statistics on server load; objects serving a mix of practical and metaphorical purposes, such as elevators that move users between floors; objects with social uses, such as the birthday meter , where users register their birthdays publicly; and objects that just entertain or annoy, such as theCockatoo, a virtual bird who occasionally repeats an utterance recently overheard (often to amusing effect). There is also a long history of objects that can be viewed as experiments in AI, as we will discuss below. LambdaMOO’s long existence, and the user-created nature of the environment, combine to give it with one of the strongest senses of virtual community in the on-line world. Many users have interacted extensively with each other over a period of years, and many are widely acknowledged for their contribution of interesting objects. LambdaMOO has been the subject of articles and books in many different literatures, including the popular press (Dibbell, 1999), linguistics and sociology (Cherny, 1999), computer science, and law. The complex nature of the LambdaMOO community goes a long way towards explaining why it is difficult to simply characterize what users “do” on LambdaMOO. As in real life, users engage in a wide variety of activities, including social activity, programming, and exploring. LambdaMOO is an attractive environment for experiments in AI. The population is generally curious and technically savvy, and users are interested in automated objects meant to display some form of intelligence (called “puppets”). There is a rich history of automated agents and constructions: Markov chainer, an object that builds a Markov model from the conversations in a room; Dudley, a wellknown agent with simple chatting abilities; an automated bartender who provides virtual drinks and small-talk; and many others. There are also object classes allowing users to specialize and create their own AI agents. The agent Julia, a descendant of Colin (created by Fuzzy Mauldin (Mauldin, 1994)), who once resided in a different MUD, is perhaps the closest ancestor of Cobot. We will discuss both Julia and her analysis by Foner (Foner, 1997), which has strongly influ1Everything in LambdaMOO is an object, and every event is the invocation of a verb on some object, including speech (usually invocations of thetell verb). The LambdaMOO server maintains the database of objects, and executes verbs. As of this writing, the database contains 118,154 objects (not all are valid), including 5158 active user accounts. 2LambdaMOO has its own rather intricate legal system. enced our thinking, throughout the paper where appropriate. Cobot Most of Cobot’s computation and storage occurs off-server. He is built usingthe Cobot platform, an agent architecture that uses a directed graph-based metaphor to define a standard for describing a wide-range of virtual environments, including MUDs. A complete discussion of the platform is beyond the scope of this paper. Cobot appears to be just another user. Once connected, he usually wanders into the LambdaMOO Living Room, where he spends most of his time. 3 The Living Room is a central public place, frequented by many regulars. It is also located next to the Linen Closet, where guests tend to appear, so it is also frequented by users new to LambdaMOO. There are several permanent objects in the Living Room, including a couch with various features, a cuckoo clock, and the aforementioned Cockatoo. The Living Room usually has between five and twenty users, and is constantly busy. Over a three month period there, Cobot has counted over 550,000 separate events (roughly one event every eleven seconds). As a regular of the Living Room over several months, Cobot has sought to engage other users. His social development can be divided into three distinct stages: inanimate object, social statistics engine, and conversationalist. In the beginning, Cobot was socially inept: he sat in the Living Room and did nothing but answer one or two basic questions about why he was there. When spoken to in an unanticipated way, he did not respond. In other words, he was little more than a new piece of furniture. Not surprisingly, Cobot generated only a small amount of interaction. In the next sections we explore the next two stages of Cobot’s development and see how these changes impacted both Cobot’s popularity and his environment. Social Statistics Previous work on agents in MUDs (Foner, 1993; Foner, 1997) has argued that being able to