An electronic assistant which dispatches tasks on the user's behalf and according to his or her preferences is disclosed. The assistant has an enactor for
processing data received from a sensor and for changing its environment via an
actuator. The enactor receives instruction from a predictor / goal generator, which in turn is connected to a general knowledge warehouse. Additionally, the warehouse and the predictor / goal generator are connected to a plurality of specialist knowledge modules, including a scheduler, an information locator, a communicator, a form filler, a trainer, a legal expert, a medical expert and other experts. The electronic assistant provides an interface which frees the user from learning complex search languages and allows some functions to be automatically performed. A variety of
machine learning processes allow the assistant to learn the user's styles, techniques, preferences and interests. After learning about the user's interests in particular types of information, the assistant guides the user through the process of on-line information source selection, utilization, and
interaction management via the information locator. The information locator generates a query conforming to the user characteristics for retrieving data of interest. The information locator next submits the query to one or more information sources. Upon
receipt of results of the submitted query, the information locator communicates the results to the user, and updates the knowledge warehouse with responses from the user to the results. The assistant supports the ability to refine the query and to manage the costs associated with the search. Further, the assistant automatically incorporates data relating to changes in the query interface and other relevant characteristics of the information sources so that search command sequences can be altered without user interaction. The search configuration of each search carried out by the user is saved in a
database. The data maintained in the
database includes keywords and concepts for search, interval between subsequent searches, deadline for the search, the number of documents to acquire from each engine, and domain over which to do the search, including the preferred set of search engines or the preferred set of news groups.