What's the difference between an inference machine and a semantic reasoner?
I found some short articles about both, and for me it sounds like both figure out things through logic, si开发者_StackOverflow中文版milar to how Prolog works. I must add I am new to this field so I might be wrong. Very wrong.
A reasoner and an inference engine are essentially the same thing in AI, that is a piece of software able to infer logical consequences from a set of asserted facts (and yes, this is similar to what Prolog does). The capabilities of a reasoner depend on the axioms and inference rules that it knows about, which, in turn, are related to a particular kind of logic.
Semantic Reasoner is probably an abbreviation for "Semantic Web Reasoner", that is a reasoner for the Semantic Web. In this case, such a reasoner knows about the axioms and inference rules of the logic formalisms underlying the Semantic Web Standards, particularly the OWL Web Ontology Language.
If you want more details about OWL to better understand what a "Semantic Web Reasoner" can do, you may want to have a look at OWL Web Ontology Language Semantics and Abstract Syntax , or, if you really want to go down to the theoretical details, you have to delve into Description Logics.
Figuring things out through some "logic" applies to a very broad range of algorithms. I'd go with the definition on wikipedia http://en.wikipedia.org/wiki/Semantic_reasoner :
The notion of a semantic reasoner generalizes that of an inference engine, by providing a richer set of mechanisms to work with.
To give an example: Based on given facts and rules an inference machine will infer new facts (or even rules). But that's it. It's up to you to make sense of the converged state. True, a simple semantic reasoner might be (and often is) implemented on top of an inference machine, but it's a much broader concept. There might be other ways to do semantic reasoning than inference. For example probabilistic or fuzzy reasoning.
精彩评论