3. A computer-implemented method for facilitating a transaction, comprising: receiving input initiating the transaction; generating one or more queries from the input, each of the queries including one or more variables representing unknown information required for the transaction to proceed, the one or more variables of the one or more queries including a first variable, a second variable, and a third variable; for each variable in each query, determining whether the unknown information represented by the variable can be obtained from a first information source, the first information source comprising a knowledge base including structured data having a format compatible with the one or more queries; for each variable for which the unknown information cannot be obtained from the first information source, determining whether the unknown information represented by the variable can be obtained from one or more of a plurality of alternate information sources, the alternate information sources including a user by whom the input was entered, and a remote information source that is remote from and independent of the knowledge base; transmitting a first request for information to the remote information source; receiving a response to the first request; transmitting a second request for information to the device associated with the user; receiving a response to the second request from the device, the response to the second request including input from the user; determining the unknown information represented by each variable, including determining the unknown information represented by the first variable using the response to the first request, determining the unknown information represented by the second variable using the response to the second request, and determining the unknown information represented by the third variable using the knowledge base; and proceeding with the transaction.
3. A computer-implemented method for facilitating a transaction, comprising: receiving input initiating the transaction; generating one or more queries from the input, each of the queries including one or more variables representing unknown information required for the transaction to proceed, the one or more variables of the one or more queries including a first variable, a second variable, and a third variable; for each variable in each query, determining whether the unknown information represented by the variable can be obtained from a first information source, the first information source comprising a knowledge base including structured data having a format compatible with the one or more queries; for each variable for which the unknown information cannot be obtained from the first information source, determining whether the unknown information represented by the variable can be obtained from one or more of a plurality of alternate information sources, the alternate information sources including a user by whom the input was entered, and a remote information source that is remote from and independent of the knowledge base; transmitting a first request for information to the remote information source; receiving a response to the first request; transmitting a second request for information to the device associated with the user; receiving a response to the second request from the device, the response to the second request including input from the user; determining the unknown information represented by each variable, including determining the unknown information represented by the first variable using the response to the first request, determining the unknown information represented by the second variable using the response to the second request, and determining the unknown information represented by the third variable using the knowledge base; and proceeding with the transaction. 8. The method of claim 3 , wherein the transaction comprises one of the group consisting of filling an information need, purchasing a product, purchasing a service, sending a message, initiating a communication session, initiating playback of a media file, making a reservation, or commanding a control system.