1. A method for learning user preferences in a search of knowledge base to construct one or more profiles for producing personalized search results, the method comprising: using a computer system to execute method steps comprising: 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.