Monday, December 22, 2008

Another mini-wave of intelligent assistants

There was an article in The New York Times on December 13, 2008 by John Markoff entitled "A Software Secretary That Takes Charge" which mentions a few of the latest attempts at creating commercial-scale intelligent user assistants. I am skeptical that these latest attempts are what they hope to be, but it is nice to see that people are still trying. As Markoff puts it:

Shouldn't your computer know a reasonable amount about your likes and dislikes? Wouldn't it be great if it could anticipate your needs and take action without you pressing a key?

Booking travel and restaurant reservations, rearranging meeting schedules or even taking a first cut at reading e-mail are among the mundane tasks that have remained beyond the reach of our PCs for decades.

But now a new generation of Internet technologies, coupled with the investment of more than a third of a billion dollars, may be making meaningful progress.

The concept of a software personal assistant has long captured the imagination of a generation of science fiction writers and computer scientists. Oliver G. Selfridge, the artificial-intelligence pioneer who died this month, is credited with coining the term "intelligent agent," as well as the idea of a computer software "demon" -- a simple software program that could monitor its environment and make appropriate responses when changes occur.

With the arrival of personal computing in the 1980s, the idea took the form of highly choreographed "vision" statements from many Silicon Valley companies. The most memorable was the Knowledge Navigator video, by John Sculley, then chief executive of Apple, in which an interactive assistant on a video display, clad in a bow tie, does research for a college professor and nags him to return his mother's phone call.

But efforts to build useful computerized assistants have consistently ended in failure, including some of the Valley's largest "craters" -- ambitious undertakings ending as spectacular flameouts. The failures include General Magic, originally backed by Mr. Sculley, E-speak by Hewlett-Packard and Hailstorm by Microsoft.

A Pentagon research project and two Silicon Valley start-up companies are about to try again.

His phrasing may be right on the mark, "may be making meaningful progress", with the emphasis on "may."

The simple truth is that if a quick glance does not completely dazzle you with its blind simplicity and all-knowing competence, then you probably are not looking at an intelligent agent. It should be so obvious that the "may" caveat is not needed.

Nonetheless, there may be some industrial-scale developments progressing even if consumer-scale is not yet here. Markoff mentions the SRI International CALO project. From the CALO Web site:

CALO: Cognitive Assistant that Learns and Organizes

SRI International is leading the development of new software that could revolutionize how computers support decision-makers.

The Defense Advanced Research Projects Agency (DARPA), under its Personalized Assistant that Learns (PAL - download brochure) program, has awarded SRI three phases of a five-year contract to develop an enduring personalized cognitive assistant. DARPA expects the PAL program to generate innovative ideas that result in new science, new approaches to current problems, new algorithms and tools, as well as new technology of significant value to the military.

The team dubbed its new project CALO, for Cognitive Assistant that Learns and Organizes. The name was inspired by the Latin word "calonis," which means "soldier's servant." The goal of the project is to create cognitive software systems, that is, systems that can reason, learn from experience, be told what to do, explain what they are doing, reflect on their experience, and respond robustly to surprise.

The software, which learns by interacting with and being advised by its users, will handle a broad range of interrelated decision-making tasks that have in the past been resistant to automation. A CALO will have the capability to engage in and lead routine tasks, and to assist when the unexpected happens. To focus the research on real problems and ensure the software meets requirements such as privacy, security, and trust, the CALO project researchers themselves are using the technology during its development.

SRI is leading the multi-disciplinary CALO project team and, beyond participating in the research program, is also responsible for overall project direction, management, and development of prototypes. The project is bringing together leading computer scientists and researchers in artificial intelligence, machine learning, natural language processing, knowledge representation, human-computer interaction, flexible planning, and behavioral studies.

That's a term I was not aware of, "enduring personalized cognitive assistant", or EPCA. CALO was funded by DARPA back in 2003. DARPA has also used the term "enduring, personalized, office assistant." I was also not aware of the term "Personalized Assistant that Learns (PAL)." I should probably spend more time reading DARPA solicitations and announcements.

-- Jack Krupansky

Software agent technology questions

I still consider software agents to be a deep research field that is still not ripe for wide-scale commercialization with ease and at low cost. Many research questions remain wholly or at least partially unanswered. I have published a Web page with a preliminary list of software agent technology questions. At this stage, I am less interested in the actual answers than in refining the questions themselves. Hopefully the questions will suggest areas of inquiry to others.

I will update the list of software agent technology questions on occasion, but updates will appear in this blog as well.

Here is the current list of questions:

  1. How intelligent do agents need to be?
  2. How do we measure agent intelligence?
  3. How dumb can an agent be and still be considered an agent?
  4. How autonomous do agents need to be?
  5. How do we measure agent autonomy?
  6. How can we detect the existence of an agent?
  7. Can we determine the intentions of an agent?
  8. Can we determine the beliefs of an agent?
  9. Can we detect the desires of an agent?
  10. What is the identity of an agent?
  11. How can we determine the identity of an agent?
  12. Can an agent really distinguish the real and cyber worlds?
  13. How can we trust an agent with money?
  14. What does it mean to clone an agent and what are its effects?
  15. What is a rogue agent?
  16. How can we detect rogue agents?
  17. What states can an agent be in?
  18. What responsibilities can an agent have?
  19. Can an agent really be trusted?
  20. How can we tell what ways an agent can be trusted?
  21. Who owns agents?
  22. Does every agent need to have an owner?
  23. Are agents owned in a legal sense?
  24. What laws and regulations govern the behavior of agents?
  25. In what ways can agents be controlled?
  26. Who can control agents?
  27. What infrastructure is needed to support agents?
  28. Can agents store state?
  29. How can agents store and restore state?
  30. Can agents spend money?
  31. Can agents earn money?
  32. Can agents transfer money?
  33. Can agents engage in business transactions?
  34. Can an agent have power of attorney?
  35. Can an agent be a legal entity?
  36. Can an agent represent a legal entity?
  37. Does an agent have any rights?
  38. Aren't all computer programs agents?
  39. Isn't an agent still a computer program?
  40. Can a software entity be an agent and not be a computer program?
  41. In what ways can agents interact with each other?
  42. Can any entity tell if the entity it is interacting with is an agent?
  43. What is the role of strategy in agent behavior?
  44. Can we tell if an entity is an agent from its behavior?
  45. How can we tell what an agent is doing?
  46. How can we tell if an agent is doing what we expect it to do?
  47. How can we express our expectations so that a monitor can detect when expectations are or are not being met or in the process of being met?
  48. What level of Semantic Web structure is best for agents?
  49. What level of network connectivity is best for agents?
  50. What level of server architecture is best for agents?
  51. What level of cloud computing is best for agents?
  52. How can agents best discover resources, services, and other agents?
  53. What programming language constructs are best for agents?
  54. How can agents be re-programmed or re-targeted or re-missioned on the fly, dynamically?
  55. How can agents work in a swarm to meet large-scale goals?
  56. How can large-scale goals be specified?

-- Jack Krupansky