People use search engines today to find information, but in many cases what people actually want is an application that allows them to access a set of related sources, extract the information they need, and integrate the data in ways that allows them to solve their problems. The future of the Web involves going beyond traditional information-retrieval-based search engines to much more advanced integration frameworks. In this paper we present a framework for building information assistants, which support the construction of domain-specific applications that extract and integrate data to support a specific task. These are not search engines, but rather applications that organize and integrate data to support a particular task.
Consider the problem of travel planning on the Web. There are a huge number of travel sites, each of which provides different types of information. You can go to one site and get hotel and flight information, another site to get the airports that are closest to your destination, a third site to get directions to your hotel, and yet a fourth site to find out the weather in the destination city. It is a tedious process to go to each of these sites, repeatedly entering the same information about dates, addresses, etc. Instead you would like the best of the Internet-related travel sources combined into a single integrated environment that can help you plan a trip.
We have developed the Heracles framework to solve these types of information gathering and management problems. We have applied our general framework for creating information assistants to build an example travel assistant. The resulting system helps a user plan out a business trip from beginning to end. When you start the system, it first looks up the upcoming meetings in your calendar. After you have selected a meeting, it extracts the dates for the meeting, looks up the location, checks the weather, and even makes a recommendation about whether you should fly or drive to the meeting. It goes beyond what is provided in most travel web sites by comparing the costs of various choices, such as the costs of taking a taxi to the airport or parking a car there. It helps select a hotel based on your meeting location. And can even help you plan your trip to help minimize the total cost or the total time you will be away from home. In short, it provides all of the information that you need to plan a trip and links this information together to provide a unified framework to quickly and efficiently work out the details of a trip and make the appropriate reservations.
The Heracles framework for building information assistants consists of three components. First, we have a set of tools for creating what we call wrappers that allow web sources to be queried as if they are databases. This is critical for turning the many human-readable web sources into data sources that can be used and integrated within our system. Second, we have developed an interactive, hierarchical constraint propagation system that provides the reasoning system for integration applications. Third, we have built an interactive graphical user interface that allows an end user to interactively control the entire process. In this paper we describe each of these components and describe our experience in applying the framework to several different applications.