Thursday, June 29, 2006

Almost six weeks at Microsoft

I'm finishing up my sixth week as a full-time employee at Microsoft this week as a Software Design Engineer in Test (or SDE/T or SDET) and still having a lot of fun at it. The work is interesting and challenging and gives me access to a lot of interesting people, technology, and toys, not to mention an interesting amount of money. It's not the same as working on your own or at a startup, but the energy level is still definitely "there".

-- Jack Krupansky

Tuesday, June 27, 2006

Finally moved into my new apartment in Bellevue, Washington

Sunday I finally took possesion of my new apartment in a brand new high-rise apartment building in Bellevue, Washington, which is the next town southwest of Redmond. Actually, it's more of a city. My building is 23 stories tall and isn't even close to being the tallest building in downtown Bellevue. The Westin hotel occupies the first 19 floors of a 42-story building and there are a bunch more tall building as well.

I'm only on the fourth floor, but the building is on a slight hill and gives me a nice view of Mt. Rainier. There are plenty of restaurants and lots of shopping here in downtown Bellevue. It definitely has more of an urban feel, which I miss since I moved out of New York City. Downtown Redmond has more of a "sleepier", suburban feel.

My apartment is so new that there are half a dozen unfinished work items including shelves and installation of a microwave oven.

The rent isn't too bad. I only have a studio, but it is a decent size. It has built-in washer and dryer and air conditioning. There weren't many places that had studios when I was looking around, so I would have had to get a one-bedroom apartment and pay more than the brand new studio I got.

I'm going to stick with dial-up Internet access until I pay off a big chunk of my back taxes. That may be another year, but I'm not into all the video and music stuff that forces many people to be dependent on broadband.

-- Jack Krupansky

Saturday, June 24, 2006

Communication between Human and Artificial Agents(CHAA'06) versus communicating with teams of software agents

I saw an announcement for a workshop entitled Communication between Human and Artificial Agents(CHAA'06)  at the 2006 IEEE/WIC/ACM International Conference on
Intelligent Agent Technology (IAT-06)
:

The ability to communicate in a complex manner with others, to exchange ideas and thoughts, to convey factual information as well as wishes, goals, and plans, to issue commands, instructions and questions, and to express emotions and interact on a social level, is one of the most important and distinguishing aspects of humankind. If artificial agents want to progress to the next level, and truly and deeply interact with human users, they must possess expanded
communicative abilities.

This workshop focuses on methods and models to describe and implement communication between human and artificial agents, in all forms and on all levels.

The ultimate goal of this endeavour is to bridge the gap between the richness, complexity and expressiveness of human communication, and the (in)ability of artificial agents to (inter)act adequately in cooperations with humans.

The topic areas include:

  •  models of communicative behaviour, communication languages
  • natural language processing, interpretation by agents
  • dialogue structures
  • action representation, action theory, action ontology
  • knowledge representation, ontologies
  • physical, spatial, temporal and semantic contexts
  • gestures and facial expressions
  • multi-modal communication
  • speech and speech characteristics in communication
  • cooperative behaviour, negotiation, judgement
  • social norms and roles, social behaviours, social interaction
  • learning of interactive behaviours
  • learning in interactions, imitation learning
  • distant communication, wireless communication

My personal belief is that existing work has been more than a little misguided by focusing on interaction between a single human and a single software agent. The goal should not be communication directly between a human and "an" agent, but recognize that communities of humans need to communicate with communities of agents with a deemphasis on one-on-one communication. In general, many agents will need to have a comprehension of the beliefs, desires, and intentions (BDI) or a human as a community of interacting agents, not as a micro-managed one-on-one relationship. We should focus on intermediate data formats which can encapsulate human BDI expressions and that any number of agents can singly or jointed work towards the goals expressed in the BDI expression. Similarly, computational agents need to be able to express theselves in a BDI intermediate format that can then be "viewed" by any number of humans in their own terms. Clusters of agents may evolve towards focusing on narrower groups of humans or even a single human, but that is an evolutionary or emergent behavior, not a constrained communication channel that should be planned from the start. A one-on-one between "a" human and "a" software agent should be the exception, not the norm. Sure, there will be times when a single human "spokesperson" and a single computational "spokesagent" may be optimal, but again that should be a long-tail exception rather than the norm. We should focus on encouraging community communication, not social isolation.

The existing concept of a human communicating with "an" agent is merely derivative of classic interprocess communication in computer science, and not a concept that was derived from analyzing the potential of agents and human-agent communication.

-- Jack Krupansky

Wednesday, June 21, 2006

W3C RDF/OWL Representation of Princeton WordNet

The W3C now hosts the RDF/OWL Representation of WordNet which is a standard conversion the Princeton WordNet to RDF/OWL:

WordNet [Fellbaum, 1998] is a heavily-used lexical resource in natural-language processing and information retrieval. More recently, it has also been adopted in Semantic Web research community. It is used mainly for annotation and retrieval in different domains such as cultural heritage [Hollink et al., 2003], product catalogs [Guarino et al., 1999] and photo metadata [Brickley, 2002]. It is also used to ground other vocabularies such as the FOAF schema [Brickley and Miller, 2005], as background knowledge in ontology alignment tools and other applications (see http://esw.w3.org/mt/esw/archives/cat_applications_and_demos.html for a list). Currently there exist several conversions of WordNet to RDF(S) or OWL.

I haven't looked at it myself, but this could be a major milestone in providing a starting point for shared vocabularies.

-- Jack Krupansky

Sunday, June 18, 2006

Dis-optimization and late optimization

One of the things that we traditionally do to make "better" computer software is to perform optimization, either to enhance performance or tailor code to specific domains or sub-domains. Unfortunately, optimization grossly interferes with the goal of software agent technology, which is to be far more flexible and easier to adapt to new situations. Optimization by its nature involves making assumptions and hard-wiring them into the "code". The answer is dis-optimization, or figuring out how to relax the coding of computer software so that it can adapted automatically on the fly as the situation changes dynamically over time. We can also call this late optimization, since it cannot be done in advance or even fixed at any point in time since it will continually need to be changed to reflect evolving and emerging situations and late-breaking circumstances.

How to effect dis-optimization and late optimization is an open issue and in dire need of deep research.

-- Jack Krupansky