1. A method of searching for data in a knowledge base having a plurality of categories based on a search keyword, each category having respective keyword data, the method comprising the steps of: determining a match answer category by searching the keyword data for a match to the search keyword; assigning a first weighted probability value to each category having a keyword that matches the search keyword; assigning a second weighted probability value to each category having a shared keyword, other than the search keyword, in respective keyword data to that of the match answer category; assigning a third weighted probability value to each category related to the match answer category in a relation table; updating cumulative probability values of a history record with the assigned weighted probability values; and determining an alternative answer category based on a highest cumulative probability value for the match answer category.