Planner-based Softbots

A softbot is a software robot, aka a software agent, that acts on behalf of user. A planner-based softbot is a softbot that recieves user goals and uses an AI planner to figure out how to achieve those goals given the tools and resources available to it. Such tools can include any programs or online resources that would be available to a user. Since these tools were designed for humans to use and not for softbots, "teaching" softbots how to cope with user interfaces designed for humans has become a significant research topic in its own right. For example, there has been substantial work in learning programs (or "wrappers") to extract information from HTML documents, a problem known as wrapper induction.

Typical softbot tasks are finding information, such as phone numbers or movie listings, managing appointments, online shopping and making airline reservations. Most of the work has been in the area of finding information on the Web. Since almost all of the web sites of interest are really just front-ends to databases, This problem can be solved by a combination of wrapper induction and database query planning (look here for more information). In such tasks, the source data (HTML documents) are not themselves of interest. All of the relevant information can be represented using SQL or datalog and subsequent processing of the data consists of standard database operations.

However, there are many tasks, such as image processing, where neither the source data nor the desired data products are conveniently represented as tables. Rather than posing a query such as "tell me the temperature of every city in the US," it is much more natural to ask for a map, in which different temperatures are represented as different colors. The source data may be a grid representing the temperature at each grid point as a floating point value. Achieving the goal may involve changing the file format of the input (converting the floating point values into pixel values), combining files (from multiple small "tiles" into a "mosaic" representing a larger region), changing the resolution, thresholding the result to map temperature ranges into discrete color bands and superimposing the color bands on a line map of the states.

IMAGEbot

IMAGEbot is softbot designed for data processing tasks, such as image processing, text processing and document conversion. These tasks require the softbot to reason about the structure and information content of data files and to construct dataflow programs that pipe multiple data-processing commands together. IMAGEbot uses an expressive language, called the Data Processing Action Description Language (DPADL), to represent data and the commands that act on data. DPADL descriptions of data goals and source data specify both the information content of the data and how the information is encoded in the structure of the data. These descriptions are sufficiently detailed to allow IMAGEbot to extract the information from the data (that is, they provide the same level of detail as a wrapper), but their primary purpose is to allow IMAGEbot to reason about the consequences of chaining together arbitrary data-processing actions. IMAGEbot will generate descriptions of every data file it produces, and can even generate descriptions of files produced by other applications or users, provided it knows what command sequence was used to produce the files and it has descriptions of the commands and the input data. These semantic and syntactic descriptions of secondary data products can be stored in a database to facilitate later searches or data mining.

The IMAGEbot planner is a heuristic-search constraint-based planner specialized for planning in the presence of incomplete information and very large universes (i.e., a lot of files). The constraint network is taken from the EUROPA planner, also developed at Ames. The softbot's knowledge about the world -- what files exist and what information they contain -- is stored in a PostgreSQL database.

We are working to apply IMAGEbot the problem of processing Earth Science data, in support of the TOPS project.


Project participants

Collaborators

Past Participants


Softbot publications