The continuous development of the Internet has resulted in an exponential increase in the amount of available information. A popular way to access this information is by submitting queries to a search engine which retrieves a set of documents. However, search engines do not consider the specific needs of every user and they retrieve the same results for everyone. This suggests the necessity to create a profile that incorporates the search preferences of every user. We present an intelligent system that is capable of learning the search profile of a particular user given a set of queries. We represent the search profile with a probabilistic network that incorporates semantic information and create and implement a gradient-based learning algorithm to update the profile. The ultimate goal of the system is to modify original queries to improve the degree of relevance between the user’s search interests and the retrieved documents. The proposed system is a client-side application that is dependent on 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.