1. A computer-implemented method for improving keyword searches for enterprise services, the method comprising: receiving, by the one or more processors, user input including a set of terms; identifying, by the one or more processors, one or more incoming concepts based on the user input; processing, by the one or more processors, each of the one or more incoming concepts to identify one or more paths, each path being associated with at least one of the one or more incoming concepts; indentifying, by the one or more processors, one or more potential concepts in the one or more paths, the one or more potential concepts being different from the one or more incoming concepts; providing, by the one or more processors, a plurality of matrices based on the one or more paths and probabilities associated with the one or more potential concepts, at least one matrix of the plurality of matrices providing the one or more potential concepts and the probabilities; ranking, by the one or more processors, the one or more potential concepts based on the probabilities; selecting, by the one or more processors, one or more outgoing concepts from the ranked one or more potential concepts; defining, by the one or more processors, a first set of facts based on the one or more outgoing concepts; querying, by the one or more processors, a knowledge base based on each term of the set of terms to define a second set of facts, each fact of the second set of facts corresponding to a term in the set of terms and comprising instance data associated with a concept; generating, by the one or more processors, a query based on one or more of the first set of facts and the second set of facts; processing, by the one or more processors, the query to generate search results, the search results comprising one or more enterprise services stored in an enterprise service repository; and transmitting, by the one or more processors, information associated with each of the one or more enterprise services for display to a user.