Time: 4pm Tuesday, October 17 Place: 110 South Hall IDENTIFYING INDIVIDUALS AND GROUPS IN COMPLEX ORGANIZATIONS John B. Lowe VP Language Engineering and Chief Linguist Ask Jeeves, Inc. jblowe@ask.com Any large, distributed organization has several intersecting hierarchies and groupings. For example, a company might have an engineering team, a testing team, a marketing team, a management team, and so on. And these would be distributed in offices around the country (or the world). These groups (and their subgroups) are formally identified and their membership is set (and controlled) by the company. Also, most companies need and therefore build cross-functional teams for various purposes, and the tenure of these teams vary: some are permanent and some last only for the duration of a project. Membership in some groups is accidental (or perhaps incidental), though these facts might be useful at some point. Such groups include geographical categories by office or home address (East Bay or City dwellers, Berkeley Office members, etc.), age, gender, education level, etc. In addition, there might be other "self-defined" groups such as Softball Players, Bike Commuters, Java Experts, French Speakers, Bar Flies, and so on (and perhaps sub-groups of these). At a minimum, the, each individual would have a set of fixed and variable attributes defining their role(s), etc. within the organization. Some of these appellations would be immutable (either in fact or by fiat), while some would be changeable by the individual, and some quite transient (e.g. "in the office today", or "in a meeting"). There are of course many instances of similar "communities": USENET, users of a database system, and so on. I have chosen to focus on a particular one, the "corporate model". Of the many fascinating challenges managing such information presents, I'd like to suggest we focus on just one or two: 1. This tangled hierarchy of communities could be viewed in a variety of ways. Suppose you wanted to build a retrieval system based on this information, so that people could find out information like the following: - Are any of the Ultimate Frisbee players in the Berkeley office are driving to the league game tonight (I need a ride)? - Is there anyone available TODAY who speaks Spanish and knows HTML and has a few spare hours (we have a crash project and we're desperate)? - Who is so-and-so's boss (I want to send a complaint/compliment)? Assuming a browser-based user interface, how might this information be best presented and queried? Some specific subquestions: - What does the "display" look like for a specific individual and specific groups? - What is an appropriate vocabulary for describing and cross-referencing groups? - How would you arrange to determine whether particular individuals or groups meet certain criteria (e.g. would there be a text based UI which permitted you to compute set intersections, or would something more graphical be better). 2. What would be the best way to manage the composition of groups? Of course some groups would be closed, with membership authorized by an individual or another group. But other groups might be created by individuals, and the criteria for membership set on the basis of membership in other groups. If the membership privileges are accorded by group members how are their "votes" to be counted? What needs to be decided here is if there is a set of "group-making" procedures that can be applied generally.