| CPC G06F 9/505 (2013.01) [G06F 9/54 (2013.01); G06F 2209/503 (2013.01); G06F 2209/505 (2013.01)] | 14 Claims |

|
1. A method, performed by at least one computer processor executing computer program instructions stored on at least one non-transitory computer-readable medium, for identifying and clustering worker agents suitable for processing a user request, comprising:
(A) receiving, by a core node, from a user agent, a user request, the user request including a description of at least one task;
(B) updating, by the core node, for each worker agent W in a plurality of worker agents, an availability status for the worker agent W, thereby producing a plurality of availability statuses for the plurality of worker agents;
(C) computing, by the core node, for each worker agent W in the plurality of worker agents, a value of a drift metric for the worker agent W, the computing comprising:
(C)(1) computing, for the worker agent W, a relevance score representing a relevance of a plurality of responses provided by the worker agent W to a plurality of user requests, thereby computing a plurality of relevance scores for the plurality of worker agents;
(C)(2) computing the value of the drift metric for the worker agent W based on the relevance score for the worker agent W; and
(C)(3) updating the availability status of the worker agent W to an “unavailable” status if the value of the drift metric for the worker agent W satisfies a predetermined criterion;
(D) clustering, by the core node, the plurality of worker agents to produce a plurality of clusters of worker agents, wherein each of the plurality of clusters contains worker agents that have similar semantic capabilities; and
(E) based on the user request, the plurality of availability statuses, the plurality of relevance scores, and the plurality of clusters, identifying, by the core node, a subset of the plurality of worker agents that are both available to process the user request and that are suitable for processing the user request.
|