1. In a computing system, a method comprising: receiving input from at least one user regarding classification of a plurality of electronic documents; generating a knowledge base for classifying electronic documents in one or more categories based on the received user input; and classifying an electronic document in the one or more categories by semantically analyzing the electronic document and matching the electronic document to the generated knowledge base.