1. A method for processing natural language queries, the method comprising: receiving two or more natural language libraries from service providers via a network, where each natural language library comprises: natural language queries for interacting with a client application; and responses for the natural language queries; generating an aggregated natural language library from the received natural language libraries, wherein the aggregated natural language library includes a plurality of natural language sub-libraries, wherein at least two of the natural language sub-libraries are associated with different client applications that each provide a service; receiving a search query via the network; comparing the search query to the aggregated natural language library to determine at least one natural language query that corresponds to the search query; and providing a response to the search query from the aggregated natural language library to a client device.