The continuous development of the Internet has resulted in an exponential increase in the amount of available pages and made it into one of the prime sources of information A popular way to access this information is by submitting queries to a search engine which retrieves a set of documents. However, most search engines do not consider the specific information needs of the user and retrieve the same results for everyone, potentially resulting in poor results due to the inherent ambiguity in keyword-based search queries. One way to address this is by creating a personalized profile that incorporates the search preferences of the specific user. We present an intelligent system that is capable of learning such a search profile given a set of queries. The search profile is represented with a probabilistic network that incorporates semantic information about the user’s use of keywords in the queries. This profile is then used to automatically modify the original queries created by a specific user to improve the degree of relevance between the user’s search interests and the retrieved documents. To learn the profile, we create and implement a gradient-based learning algorithm that uses the results of initial user searches to determine query modifications that improve search performance. The proposed intelligent system is a client-side application which operates with an arbitrary keyword-based search engine and which adapts to the preferences of the user as well as to the characteristics of the search engine. We demonstrate the system by learning a search profile that is used to suggest query modifications within a specific domain of interest.