30. A computer program product having a non-transitory 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, where for each of the search results that receive feedback, a plurality of feedback values are determined and are used to construct a model that includes profile weights computed from the feedback values; modifying internal weights used for scoring search criteria applied in producing the search results presented to the user, the modifications made by combining the internal weights with the profile weights in the constructed model, wherein the internal weights are modified according to a function of the internal weights used for scoring search criteria and of the profile weights; 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.
30. A computer program product having a non-transitory 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, where for each of the search results that receive feedback, a plurality of feedback values are determined and are used to construct a model that includes profile weights computed from the feedback values; modifying internal weights used for scoring search criteria applied in producing the search results presented to the user, the modifications made by combining the internal weights with the profile weights in the constructed model, wherein the internal weights are modified according to a function of the internal weights used for scoring search criteria and of the profile weights; 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. 32. The computer program product of claim 30 , wherein at least one of the one or more profiles is a user profile that pertains to the user's general preferences that are not specifically associated with a search, and wherein at least one of the one or more profiles is a search profile that pertains to a particular query or query type not specifically associated with the user.