1. A computer-implemented method comprising: receiving, by one or more processors, a query from an initiating resource; determining, by the one or more processors, a topic associated with the query; selecting, by the one or more processors, candidate resources that are associated with the topic; determining, by the one or more processors, whether the topic of the query is specified as a subjective topic or an objective topic; in response to determining that the topic of the query is specified as a subjective topic: for each of the candidate resources, determining, by the one or more processors, a similarity score based on a similarity of one or more contextual factors, other than the topic, associated with the initiating resource and the candidate resource that reflects an extent to which the initiating resource and the candidate resource are similar; obtaining, by the one or more processors, a response to the query from a first candidate resource that has a similarity score that satisfies one or more predetermined criteria; and providing, to the initiating resource and by the one or more processors, the response to the query that is obtained from the first candidate resource that has a similarity score that satisfies the one or more predetermined criteria; and in response to determining that the topic of the query is specified as an objective topic: obtaining, by the one or more processors, a response to the query from a second candidate resource regardless of similarity of the one or more contextual factors between the initiating resource and each of the candidate resources; and providing, to the initiating resource and by the one or more processors, the response to the query that is obtained from the second candidate resource.