an introduction to markov logic networks in knowledge bases

67
An Introduction to Markov Logic Networks in Knowledge Bases 9/30/2014 Sean Goldberg [email protected]

Upload: elaine-lowery

Post on 04-Jan-2016

17 views

Category:

Documents


1 download

DESCRIPTION

An Introduction to Markov Logic Networks in Knowledge Bases. 9/30/2014 Sean Goldberg [email protected]. From Big Data to Big Wisdom. From Big Data to Big Wisdom. Rules. Data. Facts. What is a Knowledge Base?. What is a Knowledge Base?. What is a Knowledge Base?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: An Introduction to  Markov Logic Networks in Knowledge Bases

An Introduction to Markov Logic Networks

in Knowledge Bases9/30/2014

Sean [email protected]

Page 2: An Introduction to  Markov Logic Networks in Knowledge Bases

From Big Data to Big Wisdom

Page 3: An Introduction to  Markov Logic Networks in Knowledge Bases

From Big Data to Big Wisdom

Data Facts Rules

Page 4: An Introduction to  Markov Logic Networks in Knowledge Bases

What is a Knowledge Base?

Page 5: An Introduction to  Markov Logic Networks in Knowledge Bases

What is a Knowledge Base?

Page 6: An Introduction to  Markov Logic Networks in Knowledge Bases

What is a Knowledge Base?

Page 7: An Introduction to  Markov Logic Networks in Knowledge Bases

What is a Knowledge Base?

Page 8: An Introduction to  Markov Logic Networks in Knowledge Bases

What is a Knowledge Base?

Page 9: An Introduction to  Markov Logic Networks in Knowledge Bases

What is a Knowledge Base?

Page 10: An Introduction to  Markov Logic Networks in Knowledge Bases

Graph Representation

Page 11: An Introduction to  Markov Logic Networks in Knowledge Bases

Triple Representation

• FatherOf(Darth Vader, Luke Skywalker)• memberOf(Luke Skywalker, Rebel Alliance)• hasWeapon(Luke Skywalker, lightsaber)• isAlliedWith(Luke Skywalker, Han Solo)• IsAlliedWith(Luke Skywalker, Chewbacca)• livesOn(Luke Skywalker, Tatooine)• hasAdviser(Luke Skywalker, Yoda)• …..

Page 12: An Introduction to  Markov Logic Networks in Knowledge Bases

Large Scale KBs

• KnowitAll (Univ. of Washington)• 500M facts extracted from 100M webpages (ClueWeb)

• DBPedia (Univ. of Leipzig)• 3.5M entities, 700M facts extracted from Wikipedia

• YAGO (Max-Planck Institute)• 2M entities, 20M facts extracted from Wikipedia and WordNet

• Freebase (Google)• 20M entities, 300M facts from integrated data sources and humans

• NELL (Carnegie Mellon)• 850M facts extracted from 500M webpages

Page 13: An Introduction to  Markov Logic Networks in Knowledge Bases

Explicit vs. Implicit Information

Page 14: An Introduction to  Markov Logic Networks in Knowledge Bases

Does Obama live in the US?

Page 15: An Introduction to  Markov Logic Networks in Knowledge Bases

Knowledge Expansion

Page 16: An Introduction to  Markov Logic Networks in Knowledge Bases

Inferring New Facts

• Markov Network• Undirected graphical model• Markov Property: Probabilities for each node depend only on its neighbors• Most probable assignment of random variables defined by cliques• HARD to figure out all the clique potentials

• First Order Logic• Data described by predicates with arguments• Logical formulas denote inference rules over predicates• Deterministic, ie. no probability• EASY to specify logical formulas

• Markov Logic: Markov Networks + First Order Logic• Statistical power of MLNs + specification power of FOL

Page 17: An Introduction to  Markov Logic Networks in Knowledge Bases

Markov Networks

Cancer

CoughAsthma

Smoking

Smoking Cancer Ф(S,C)

False False 4.5

False True 4.5

True False 2.7

True True 4.5

c

cc xZxP )(

1)(

x c

cc xZ )(

Page 18: An Introduction to  Markov Logic Networks in Knowledge Bases

Weight of Feature i Feature i

Markov Networks

Cancer

CoughAsthma

Smoking

iii xfw

ZxP )(exp

1)(

otherwise0

CancerSmokingif1)CancerSmoking,(1f

5.41 w

Page 19: An Introduction to  Markov Logic Networks in Knowledge Bases

First Order Logic

Fact A Fact B

Fact A Fact B Fact C^

Page 20: An Introduction to  Markov Logic Networks in Knowledge Bases

First Order Logic

isA(Luke, Jedi) memberOf(Luke, Rebel Alliance)

Page 21: An Introduction to  Markov Logic Networks in Knowledge Bases

First Order Logic

isAlliedWith(Han, Luke)

memberOf(Luke, Rebel Alliance)^

memberOf(Han, Rebel Alliance)

Page 22: An Introduction to  Markov Logic Networks in Knowledge Bases

First Order Logic

isAlliedWith(X, Y)

memberOf(Y, Z)^

memberOf(X, Z)

Page 23: An Introduction to  Markov Logic Networks in Knowledge Bases

Soft Rules vs. Hard Rules

bornIn(X, Y) locatedIn(Y, Z)^ bornIn(X, Z)

Page 24: An Introduction to  Markov Logic Networks in Knowledge Bases

Soft Rules vs. Hard Rules

bornIn(X, Y) locatedIn(Y, Z)^ bornIn(X, Z)HARD

Page 25: An Introduction to  Markov Logic Networks in Knowledge Bases

Soft Rules vs. Hard Rules

bornIn(X, Y) locatedIn(Y, Z)^ bornIn(X, Z)HARD

friendOf(X, Y) friendOf(Y, Z)^ friendOf(X, Z)

Page 26: An Introduction to  Markov Logic Networks in Knowledge Bases

Soft Rules vs. Hard Rules

bornIn(X, Y) locatedIn(Y, Z)^ bornIn(X, Z)HARD

friendOf(X, Y) friendOf(Y, Z)^ friendOf(X, Z)SOF

T

Page 27: An Introduction to  Markov Logic Networks in Knowledge Bases

Soft Rules vs. Hard Rules

bornIn(X, Y) locatedIn(Y, Z)^ bornIn(X, Z)HARD

friendOf(X, Y) friendOf(Y, Z)^ friendOf(X, Z)SOF

T

MLN Basic Idea: Give every formula a weight (higher weight stronger constraint)

Page 28: An Introduction to  Markov Logic Networks in Knowledge Bases

Markov Logic Networks: Logic + ProbabilityA Markov Logic Network is a collection of pairs (F, W)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Page 29: An Introduction to  Markov Logic Networks in Knowledge Bases

Building a Markov Network

• Nodes = all possible instantiations of a predicate• Edge between two nodes iff they appear together in some formula

Page 30: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

Han (H)Luke (L)Rebels (R)Empire (E)

Page 31: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

Han (H)Luke (L)Rebels (R)Empire (E)

Page 32: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

Han (H)Luke (L)Rebels (R)Empire (E)

Page 33: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

Han (H)Luke (L)Rebels (R)Empire (E)

Page 34: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

Han (H)Luke (L)Rebels (R)Empire (E)

Page 35: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

Han (H)Luke (L)Rebels (R)Empire (E)

Page 36: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

Han (H)Luke (L)Rebels (R)Empire (E)

Page 37: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

Han (H)Luke (L)Rebels (R)Empire (E)

Page 38: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Page 39: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Page 40: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Page 41: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Page 42: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Page 43: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

c

cc xZxP )(

1)(

Page 44: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

satisfiesit formulas of weightsexpP(world)

c

cc xZxP )(

1)(

Page 45: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Knowledge Base:

memberOf(Luke, Rebels)

memberOf(Han, Rebels)

hasLightSaber(Luke)

~memberOf(Luke, Empire)

Page 46: An Introduction to  Markov Logic Networks in Knowledge Bases

Probability of Possible World

c

cc xZxP )(

1)(

Page 47: An Introduction to  Markov Logic Networks in Knowledge Bases

Probability of Possible World

)exp()( j

jjcc fwx

c

cc xZxP )(

1)(

otherwise0

X)(Y,alliedWithY)(X,alliedWithif1))X(Y,alliedWithY),(X,alliedWith(1f

1001 w

Page 48: An Introduction to  Markov Logic Networks in Knowledge Bases

iii xnw

ZxP )(exp

1)(

Probability of Possible World

Weight of formula i No. of true groundings of formula i in x

c

cc xZxP )(

1)(

)exp()( j

jjcc fwx

otherwise0

X)(Y,alliedWithY)(X,alliedWithif1))X(Y,alliedWithY),(X,alliedWith(1f

1001 w

Page 49: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

iii xnw

ZxP )(exp

1)(

Page 50: An Introduction to  Markov Logic Networks in Knowledge Bases

Inference in MLNs

• MAP Inference: Find the most likely possible world given some evidence

Page 51: An Introduction to  Markov Logic Networks in Knowledge Bases

Inference in MLNs

• MAP Inference: Find the most likely possible world given some evidence

i

iiy

yxnw ),(maxarg

Page 52: An Introduction to  Markov Logic Networks in Knowledge Bases

Inference in MLNs

• MAP Inference: Find the most likely possible world given some evidence

Solved with MaxWalkSAT

i

iiy

yxnw ),(maxarg

Page 53: An Introduction to  Markov Logic Networks in Knowledge Bases

Inference in MLNs

• MAP Inference: Find the most likely possible world given some evidence

Solved with MaxWalkSAT

• Marginal Inference: Find the marginal distribution of a predicate (node) given all the others

i

iiy

yxnw ),(maxarg

Page 54: An Introduction to  Markov Logic Networks in Knowledge Bases

MaxWalkSAT

for i ← 1 to max-tries do solution = random truth assignment for j ← 1 to max-flips do if ∑ weights(sat. clauses) > threshold then return solution c ← random unsatisfied clause with probability p flip a random variable in c else flip variable in c that maximizes ∑ weights(sat. clauses) return failure, best solution found

Page 55: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Knowledge Base:

memberOf(Luke, Rebels)

memberOf(Han, Rebels)

hasLightSaber(Luke)

~memberOf(Luke, Empire)

Page 56: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Knowledge Base:

memberOf(Luke, Rebels)

memberOf(Han, Rebels)

hasLightSaber(Luke)

~memberOf(Luke, Empire)

1

1

0

1Fill in Observed Data

Page 57: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Knowledge Base:

memberOf(Luke, Rebels)

memberOf(Han, Rebels)

hasLightSaber(Luke)

~memberOf(Luke, Empire)

1

1

0

1?

?

?

?

Find Missing Data

Page 58: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Knowledge Base:

memberOf(Luke, Rebels)

memberOf(Han, Rebels)

hasLightSaber(Luke)

~memberOf(Luke, Empire)

1

1

0

10

0

0

0

Initialization Assignment

Page 59: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Knowledge Base:

memberOf(Luke, Rebels)

memberOf(Han, Rebels)

hasLightSaber(Luke)

~memberOf(Luke, Empire)

1

1

0

10

0

0

0

Flip One At Random

Page 60: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Knowledge Base:

memberOf(Luke, Rebels)

memberOf(Han, Rebels)

hasLightSaber(Luke)

~memberOf(Luke, Empire)

1

1

0

10

0

0

1

Flip One At Random

Page 61: An Introduction to  Markov Logic Networks in Knowledge Bases

memberOf(H, R)memberOf(L, R)

memberOf(H, E)

memberOf(L, E)

alliedWith(H, L)alliedWith(L, H)

hasLightSaber(H)hasLightSaber(L)

memberOf(X, Z) ^ memberOf(Y, Z) -> alliedWith(X, Y) 8.5

hasLightsaber(X) -> memberOf(X, Rebels) 0.5

alliedWith(X, Y) -> alliedWith(Y, X) 100

Han (H)Luke (L)Rebels (R)Empire (E)

Knowledge Base:

memberOf(Luke, Rebels)

memberOf(Han, Rebels)

hasLightSaber(Luke)

~memberOf(Luke, Empire)

1

1

0

11

1

0

1

Flip One At Random

Page 62: An Introduction to  Markov Logic Networks in Knowledge Bases

Learning in MLNs

• Data is a relational database or knowledge base

Knowledge Base:

memberOf(Luke, Rebels) hasLightSaber(Luke)

memberOf(Han, Rebels) ~memberOf(Luke, Empire)

Page 63: An Introduction to  Markov Logic Networks in Knowledge Bases

Learning in MLNs

• Data is a relational database or knowledge base

• Learning parameters (weights)• Similar to learning weights for Markov networks

Knowledge Base:

memberOf(Luke, Rebels) hasLightSaber(Luke)

memberOf(Han, Rebels) ~memberOf(Luke, Empire)

Page 64: An Introduction to  Markov Logic Networks in Knowledge Bases

Learning in MLNs

• Data is a relational database or knowledge base

• Learning parameters (weights)• Similar to learning weights for Markov networks

• Learning structure (formulas)• Inductive logic programming

Knowledge Base:

memberOf(Luke, Rebels) hasLightSaber(Luke)

memberOf(Han, Rebels) ~memberOf(Luke, Empire)

Page 65: An Introduction to  Markov Logic Networks in Knowledge Bases

No. of times clause i is true in data

Expected no. times clause i is true according to MLN

Learning Weights via Max-Likelihood

)()()(log xnExnxPw iwiwi

iii xnw

ZxP )(exp

1)(

Page 66: An Introduction to  Markov Logic Networks in Knowledge Bases

Alchemy (Open Source Software)

• Full first-order logic syntax• Inference (MAP and marginal probabilities)• Lifted Inference• Weight Learning (generative and discriminative)• Structure Learning• Large set of tutorials for learning

• Information extraction, social network modeling, entity resolution

alchemy.cs.washington.edu

Page 67: An Introduction to  Markov Logic Networks in Knowledge Bases

Current Problem: Scale to Large KBs!• KnowitAll (Univ. of Washington)

• 500M facts extracted from 100M webpages (ClueWeb)

• DBPedia (Univ. of Leipzig)• 3.5M entities, 700M facts extracted from Wikipedia

• YAGO (Max-Planck Institute)• 2M entities, 20M facts extracted from Wikipedia and WordNet

• Freebase (Google)• 20M entities, 300M facts from integrated data sources and humans

• NELL (Carnegie Mellon)• 850M facts extracted from 500M webpages