1. A method of providing information assistance services comprising: receiving a single client request with a processor; generating a plurality of request elements with reference to the single client request and at least one ontology stored in a memory operatively connected to the processor; generating a plurality of service requests with the processor, the plurality of service requests corresponding to the plurality of request elements; sending at least one generated service request in the plurality of service requests to at least one data service provider in a first plurality of data service providers that are software programs executed by the processor; sending at least one other generated service request in the plurality of service requests to at least one data service provider in a second plurality of data service providers that are external data service providers communicatively coupled to the processor through a data network; receiving a plurality of service responses including a service response from each data service provider in the first plurality of data service providers and the second plurality of data service providers that received a generated service request; generating at least one output message element corresponding to the service responses received from the service providers; generating output message data with reference to the at least one output message element; and sending the output message data to at least one output device that is operatively connected to the processor to produce a response to the client request.