18. A computer-implemented method for facilitating addition to a knowledge base, the knowledge base comprising first knowledge represented in a structured, machine-readable format which encodes meaning and is distinct from natural language, the structured, machine-readable format primarily comprising assertions of named relationships between pairs of named entities, the method comprising: providing at least one interface by which a first untrained, general internet user may enter information which is not in the structured, machine-readable format, at least some of the information being in a particular natural language, the at least one interface being operable to transmit the information to at least one remote computing device for generation of second knowledge represented in the machine-readable format for addition to the knowledge base, wherein generation of the second knowledge includes translating the input from the users to factual assertions compatible with the structured, machine-readable format using a plurality of translation templates, each of the translation templates including a respective predetermined pattern for matching against one or more natural language strings included in the input from the users, and wherein addition of the second knowledge to the knowledge base includes determining whether the second knowledge is semantically contradicted by the first knowledge to promote consistency of the first and second knowledge across the knowledge base; and presenting responses to knowledge requests using one or more of the first knowledge, the second knowledge, or third knowledge not represented in the knowledge base, the third knowledge being inferred from one or more of the first knowledge or the second knowledge.
25. A computer program product comprising at least one computer-readable medium having computer program instructions stored therein which are operable to cause a least one computer to perform the method of claim 18 .