31. A computer program product having a computer-readable medium having computer program instructions recorded thereon for learning user preferences in a search of knowledge base to construct one or more profiles for producing personalized search results, the computer program instruction comprising instructions for: receiving feedback from the user regarding quality of search results presented to the user in a search of a knowledge base that is a semantic network of relationships among concepts and that provides an index of a plurality of documents, the feedback representing how well the search results match an input query provided by the user, the search results including one or more of the documents indexed by the knowledge base; constructing the one or more profiles for the user, based on the feedback received, by determining an implicit feedback value, an explicit feedback value, and a negative feedback value for the search results for which feedback is received, wherein, for concepts associated with search criteria applied to retrieve the search results, feedback is received to create a source concept that is compared against a reference concept to form a set of source concept values and a set of reference concept values, and wherein the search results that receive feedback values are used to construct a model that includes profile weights computed from the feedback values by: applying the implicit feedback value to the values in the set of source concept values but not in the set of reference concept values; applying the explicit feedback value to the values in both the set of source concept values and the set of reference concept values; and applying the negative feedback value to the values in the set of reference concept values but not in the set of source concept values; modifying internal weights used for scoring search criteria applied in producing the search results presented to the user, the modifications made based on the profile weights in the constructed model; generating implicit search criteria for the user based on the one or more profiles; and applying the implicit search criteria and modified weights during a subsequent search of the knowledge base conducted by the user producing a subsequent set of search results that are personalized to the user.
34. The computer program product of claim 31 , wherein the one or more profiles are arranged hierarchically.