Markov Logic: An Interface Layer for Artificial Intelligence
Most subfields of computer science have an interface layer via which applications communicate with the infrastructure, and this is key to their success (e.g., the Internet in networking, the relational model in databases, etc.). So far this interface layer has been missing in AI. First-order logic and probabilistic graphical models each have some of the necessary features, but a viable interface layer requires combining both. Markov logic is a powerful new language that accomplishes this by attaching weights to first-order formulas and treating them as templates for features of Markov random fields. Most statistical models in wide use are special cases of Markov logic, and first-order logic is its infinite-weight limit. Artificial intelligence needs an interface layer, a language linking applications to their common infrastructure needs. AI applications involve high degrees of complexity and uncertainty. First-order logic handles complexity well and probabilistic graphical models do the same for uncertainty, but neither can cope effectively with both. Thus neither is sufficient for general AI. Markov logic is a powerful new language that seamlessly combines the two. Statements in Markov logic are simply weighted formulas in first-order logic, interpreted as templates for features of Markov random fields. Most statistical models in wide use are special cases of Markov logic, and first-order logic is its infinite-weight limit. Inference algorithms for Markov logic combine ideas from satisfiability, Markov chain Monte Carlo, belief propagation, and resolution. Learning algorithms make use of conditional likelihood, convex optimization, and inductive logic programming. Markov logic has been successfully applied to problems in information extraction and integration, natural language processing, robot mapping, social networks, computational biology, and others, and is the basis of the open-source Alchemy system.