Building a sizable knowledge base (KB) for an intelligent system is a non-trivial task. When users attempt to solve realistic tasks with such systems it often becomes clear that knowledge is missing when it needs to be acquired, or a task is solved incorrectly when the KB needs to be refined. If the subject domain is in any sense at the cutting edge, then it will not be generally possible for the domain expert to provide a complete domain theory which would be able to act as an oracle in the refinement processes. So for the last decade or more we have built systems which make a range of suggestions as to how the KB might be refined, and for the domain expert to make the selection. (We refer to such systems as: Cooperative Knowledge Acquisition and Knowledge Refinement systems.) A number of such systems have been implemented in a variety of subject domains and more particularly these use a number of different knowledge representation formalisms (e.g. ’classical’ rules, cases, taxonomies, causal graphs etc). The review will include a discussion of the KRUST/STALKER, Refiner, ReTAX, and TIGON systems. Finally, I will discuss some of the ways these systems are being modified to provide a range of Semantic Web Services.