Schema Independent Rela/onal Learning Jose Picado, Arash Termehchy, - - PowerPoint PPT Presentation

schema independent rela onal learning
SMART_READER_LITE
LIVE PREVIEW

Schema Independent Rela/onal Learning Jose Picado, Arash Termehchy, - - PowerPoint PPT Presentation

Schema Independent Rela/onal Learning Jose Picado, Arash Termehchy, Alan Fern, Parisa Ataei Informa/on and Data Management and Analy/cs (IDEA) Lab Design a drug to treat HIV What is the structure of compounds that have an#-HIV ac/vity? A


slide-1
SLIDE 1

Schema Independent Rela/onal Learning

Jose Picado, Arash Termehchy, Alan Fern, Parisa Ataei Informa/on and Data Management and Analy/cs (IDEA) Lab

slide-2
SLIDE 2

2

A compound has an#-HIV ac/vity if it has the following substructure:

O N N

What is the structure

  • f compounds that

have an#-HIV ac/vity?

Design a drug to treat HIV

Oracle

slide-3
SLIDE 3

3

an/-HIV(x) :- compound(x,u), atom(u,N), compound(x,v), atom(v,O), compound(x,w), atom(w,N), bond(u,v,single), bond(v,w,single). compound compId atomId c1 a1 c2 a10 atom atomId element a1 N a2 O bond atomId1 atomId2 type a1 a2 single a2 a3 single an#-HIV compId c1 c3 no-an#-HIV compId c2 c4

Training data:

Rela/onal learning

Rela/onal learning algorithm

  • Leverages the structure of the rela/onal

database

  • Learns a Datalog defini/on
slide-4
SLIDE 4

Rela/onal learning has many applica/ons in data analy/cs & management

  • Model en//es and rela/onships between en//es
  • Various applica/ons in data management
  • E.g., informa/on extrac/on, usable query interfaces, data

integra/on/ exchange.

4

Marke#ng How will new customers respond to an offer? Concept interestedInOffer(customer) Drug design What is the structure of compounds to fight a disease? Concept ac/ve(compound)

slide-5
SLIDE 5

5

FOIL, Progol, … Castor (new algorithm)

an/-HIV(x) :- compound(x,u), atom(u,N), compound(x,v), atom(v,O), compound(x,w), atom(w,N), bond(u,v,single), bond(v,w,single). compound compId atomId c1 a1 c2 a10 atom atomId element a1 N a2 O bond atomId1 atomId2 type a1 a2 single a2 a3 single

Benefits of rela/onal learning

ü Leverage the structure of data and learn over complex schemas with mul/ple tables ü Automa/c feature extrac/on and selec/on ü Results are interpretable (Datalog) Exis/ng algorithms

slide-6
SLIDE 6

6

FOIL learning algorithm

?

Schema 1

Which authors are collaborators?

paperAuthor paperId authorId p1 mad p1 bai p2 soc p2 man p3 mad author id name mad Madden sto Stonebraker soc Socher man Manning bai Bailis authorAffilia#on id affilia/on mad MIT sto MIT soc Stanford man Stanford bai Stanford paper id /tle p1 MacroBase: Priori… p2 GloVe: Global Vect… paperYear id year p1 2017 p2 2014 paperConf id conf p1 SIGMOD p2 EMNLP collaborators person1 person2 Madden Bailis Socher Manning Madden Stonebraker non-collaborators person1 person2 Madden Socher Manning Bailis

slide-7
SLIDE 7

7

FOIL: rela/onal learning algorithm

collaborators(x,y) :- true. collaborators(x,y) :-

paperAuthor paperId authorId author id name authorAffilia#on id affilia/on paper id /tle paperYear id year paperConf id conf

Schema 1

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-8
SLIDE 8

8

author(z,x) author(z,y)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- true. collaborators(x,y) :-

paperAuthor paperId authorId author id name authorAffilia#on id affilia/on paper id /tle paperYear id year paperConf id conf

Schema 1

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered f=0 f=0 f=-1

slide-9
SLIDE 9

9

author(z,x) author(z,y)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x). collaborators(x,y) :-

paperAuthor paperId authorId author id name authorAffilia#on id affilia/on paper id /tle paperYear id year paperConf id conf

Schema 1

f=0 f=0 f=-1

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-10
SLIDE 10

10

author(z,x) author(z,y)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x). author(v,y) collaborators(x,y) :-

paperAuthor paperId authorId author id name authorAffilia#on id affilia/on paper id /tle paperYear id year paperConf id conf

Schema 1

f=0 f=0 f=-1 f=0 f=1 f=0

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-11
SLIDE 11

11

author(z,x) author(z,y)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x), author(v,y). author(v,y) collaborators(x,y) :-

paperAuthor paperId authorId author id name authorAffilia#on id affilia/on paper id /tle paperYear id year paperConf id conf

Schema 1

f=0 f=0 f=-1 f=0 f=1 f=0

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-12
SLIDE 12

12

author(z,x) author(z,y)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x), author(v,y). author(v,y) paperAuthor(w,z) collaborators(x,y) :-

paperAuthor paperId authorId author id name authorAffilia#on id affilia/on paper id /tle paperYear id year paperConf id conf

Schema 1

f=0 f=0 f=-1 f=0 f=1 f=0 f=2 f=0 f=-1

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-13
SLIDE 13

13

author(z,x) author(z,y)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x), author(v,y), paperAuthor(w,z). author(v,y) paperAuthor(w,z) collaborators(x,y) :-

paperAuthor paperId authorId author id name authorAffilia#on id affilia/on paper id /tle paperYear id year paperConf id conf

Schema 1

f=0 f=0 f=-1 f=0 f=1 f=0 f=2 f=0 f=-1

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-14
SLIDE 14

14

author(z,x) author(z,y)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x), author(v,y), paperAuthor(w,z). author(v,y) paperAuthor(w,z) paperAuthor(w,v) collaborators(x,y) :-

paperAuthor paperId authorId author id name authorAffilia#on id affilia/on paper id /tle paperYear id year paperConf id conf

Schema 1

f=0 f=0 f=-1 f=0 f=1 f=0 f=2 f=0 f=-1 f=3 f=1 f=1

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-15
SLIDE 15

15

author(z,x) author(z,y)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x), author(v,y), paperAuthor(w,z), paperAuthor(w,v). author(v,y) paperAuthor(w,z) paperAuthor(w,v) collaborators(x,y) :-

paperAuthor paperId authorId author id name authorAffilia#on id affilia/on paper id /tle paperYear id year paperConf id conf

Schema 1

f=0 f=0 f=-1 f=0 f=1 f=0 f=2 f=0 f=-1 f=3 f=1 f=1

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-16
SLIDE 16

16

author(z,x) author(z,y)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x), author(v,y), paperAuthor(w,z), paperAuthor(w,v). author(v,y) paperAuthor(w,z) paperAuthor(w,v) collaborators(x,y) :-

paperAuthor paperId authorId author id name authorAffilia#on id affilia/on paper id /tle paperYear id year paperConf id conf

Schema 1

f=0 f=0 f=-1 f=0 f=1 f=0 f=2 f=0 f=-1 f=3 f=1 f=1 f=2 f=1 f=1 No improvement

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-17
SLIDE 17

17

FOIL learning algorithm collaborators(x,y) :- author(z,x), author(v,y), paperAuthor(w,z), paperAuthor(w,v). Two people are collaborators if they are co-authors.

Schema 1

Which authors are collaborators? f=3

paperAuthor paperId authorId p1 mad p1 bai p2 soc p2 man p3 mad author id name mad Madden sto Stonebraker soc Socher man Manning bai Bailis authorAffilia#on id affilia/on mad MIT sto MIT soc Stanford man Stanford bai Stanford paper id /tle p1 MacroBase: Priori… p2 GloVe: Global Vect… paperYear id year p1 2017 p2 2014 paperConf id conf p1 SIGMOD p2 EMNLP collaborators person1 person2 Madden Bailis Socher Manning Madden Stonebraker non-collaborators person1 person2 Madden Socher Manning Bailis

slide-18
SLIDE 18

People represent the same data using different schemas

18

paper id /tle p1 MacroBase: Priori… p2 GloVe: Global Vect… paperYear id year p1 2017 p2 2014 paperConf id conf p1 SIGMOD p2 EMNLP author id name mad Madden sto Stonebraker soc Socher man Manning bai Bailis authorAffilia#on id affilia/on mad MIT sto MIT soc Stanford man Stanford bai Stanford author id name affilia/on mad Madden MIT sto Stonebraker MIT soc Socher Stanford man Manning Stanford bai Bailis Stanford paper id /tle year conference p1 MacroBase: Priori… 2017 SIGMOD p2 GloVe: Global Vect… 2014 EMNLP

Composi/on Denormaliza/on beher performance

DBA

slide-19
SLIDE 19

19

paperAuthor paperId authorId p1 mad p1 bai p2 soc p2 man p3 mad

FOIL learning algorithm

?

author id name affilia/on mad Madden MIT sto Stonebraker MIT soc Socher Stanford man Manning Stanford bai Bailis Stanford

Schema 2

Which authors are collaborators?

paper id /tle year conference p1 MacroBase: Priori… 2017 SIGMOD p2 GloVe: Global Vect… 2014 EMNLP collaborators person1 person2 Madden Bailis Socher Manning Madden Stonebraker non-collaborators person1 person2 Madden Socher Manning Bailis

slide-20
SLIDE 20

20

FOIL: rela/onal learning algorithm

collaborators(x,y) :- true. collaborators(x,y) :-

Schema 2

paperAuthor paperId authorId author id name affilia/on paper id /tle year conference

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-21
SLIDE 21

21

author(z,x,v) author(z,y,v)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- true. collaborators(x,y) :-

Schema 2

paperAuthor paperId authorId author id name affilia/on paper id /tle year conference

f=0 f=0 f=-1

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-22
SLIDE 22

22

author(z,x,v) author(z,y,v)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x,v). collaborators(x,y) :-

Schema 2

paperAuthor paperId authorId author id name affilia/on paper id /tle year conference

f=0 f=0 f=-1

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-23
SLIDE 23

23

author(z,x,v) author(z,y,v)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x,v). author(w,y,u) author(w,y,v) collaborators(x,y) :-

Schema 2

paperAuthor paperId authorId author id name affilia/on paper id /tle year conference

f=0 f=0 f=-1 f=2 f=1 f=0

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-24
SLIDE 24

24

author(z,x,v) author(z,y,v)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x,v), author(w,y,v). author(w,y,u) author(w,y,v) collaborators(x,y) :-

Schema 2

paperAuthor paperId authorId author id name affilia/on paper id /tle year conference

f=0 f=0 f=-1 f=2 f=1 f=0

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-25
SLIDE 25

25

author(z,x,v) author(z,y,v)

FOIL: rela/onal learning algorithm

collaborators(x,y) :- author(z,x,v), author(w,y,v). author(w,y,u) author(w,y,v) collaborators(x,y) :-

Schema 2

No improvement

paperAuthor paperId authorId author id name affilia/on paper id /tle year conference

f=0 f=0 f=-1 f=2 f=1 f=0 f=2 f=1 f=1

Scoring func/on f: P - N

P: posi/ve examples covered N: nega/ve examples covered

slide-26
SLIDE 26

26

FOIL learning algorithm collaborators(x,y) :- author(z,x,v), author(w,y,v). Two people are collaborators if they work in the same ins/tu/on.

Schema 2

Which authors are collaborators? f=2

paperAuthor paperId authorId p1 mad p1 bai p2 soc p2 man p3 mad author id name affilia/on mad Madden MIT sto Stonebraker MIT soc Socher Stanford man Manning Stanford bai Bailis Stanford paper id /tle year conference p1 MacroBase: Priori… 2017 SIGMOD p2 GloVe: Global Vect… 2014 EMNLP collaborators person1 person2 Madden Bailis Socher Manning Madden Stonebraker non-collaborators person1 person2 Madden Socher Manning Bailis

slide-27
SLIDE 27

Schema 2

27

FOIL learning algorithm collaborators(x,y) :- author(z,x,v), author(w,y,v). Two people are collaborators if they work in the same ins/tu/on. collaborators(x,y) :- author(z,x), author(v,y), paperAuthor (w,z), paperAuthor(w,v). Two people are collaborators if they are co-authors.

Schema dependence: schema affects the learning outcomes

FOIL learning algorithm

Schema 1

f=3 f=2

author id name mad Madden sto Stonebraker soc Socher man Manning authorAffilia#on id affilia/on mad MIT sto MIT soc Stanford man Stanford collaborators person1 person2 Madden Bailis non-collaborators person1 person2 Madden Socher author id name affilia/on mad Madden MIT sto Stonebraker MIT soc Socher Stanford man Manning Stanford

slide-28
SLIDE 28

Current solu/ons

28

Users must restructure databases Expert ahen/on Which is the best schema?

Learn Restructure Evaluate

author id name affilia/on mad Madden MIT author id name mad Madden authorAffilia#on id affilia/on mad MIT

slide-29
SLIDE 29

Algorithm A

Schema 2

29

Algorithm A

Schema 1

author id name mad Madden sto Stonebraker authorAffilia#on id affilia/on mad MIT sto MIT collaborators person1 person2 non-collaborators person1 person2 author id name affilia/on mad Madden MIT sto Stonebraker MIT

h1 h2

Defini/on of schema independence

Equivalent?

slide-30
SLIDE 30

Algorithm A

Schema 2

30

Algorithm A

Schema 1

author id name mad Madden sto Stonebraker authorAffilia#on id affilia/on mad MIT sto MIT collaborators person1 person2 non-collaborators person1 person2 author id name affilia/on mad Madden MIT sto Stonebraker MIT

Transforma/on T: Preserve informa/on in the DB

h1 h2

Defini/on of schema independence

Equivalent?

slide-31
SLIDE 31

Algorithm A

Schema 2

31

Algorithm A

Schema 1

author id name mad Madden sto Stonebraker authorAffilia#on id affilia/on mad MIT sto MIT collaborators person1 person2 non-collaborators person1 person2 author id name affilia/on mad Madden MIT sto Stonebraker MIT

Transforma/on T: Preserve informa/on in the DB

Algorithm A is schema independent under T iff for all pairs of databases (I, J) and training examples E, h1 and h2 are equivalent

Equivalent through transforma/on T

h1 = collaborators(x,y) :- author(z,x), author(v,y), paperAuthor(w,z), paperAuthor(w,v). h2 = collaborators(x,y) :- author(z,x,t), author(v,y,u), paperAuthor(w,z), paperAuthor(w,v).

Defini/on of schema independence

f=3 f=3

slide-32
SLIDE 32

We focus on schema independence under composi/on/decomposi/on

32

decomposi/on composi/on

  • Most common schema transforma/ons
  • Used in normaliza/on and denormaliza/on
  • We support combina/ons of composi/ons and

decomposi/ons

author id name affilia/on mad Madden MIT sto Stonebraker MIT soc Socher Stanford man Manning Stanford author id name mad Madden sto Stonebraker soc Socher man Manning authorAffilia#on id affilia/on mad MIT sto MIT soc Stanford man Stanford

author[id] authorAffilia/on[id]

Inclusion dependencies (referen/al integrity constraints):

slide-33
SLIDE 33

Current rela/onal learning algorithms are NOT schema independent

Theorems:

  • FOIL
  • Progol
  • ProGolem

Reasons for schema dependence:

  • Search process affected by schema
  • Greedy search strategies

33

are NOT schema independent under composi/on/decomposi/on

slide-34
SLIDE 34

Our algorithm: Castor schema independent algorithm

34

  • Specific to general defini/ons
  • Uses database constraints to

achieve schema independence

posi/ve example Create most specific defini/on

start

Generalize to cover new example

Did it improve? Yes No

Reduce new posi/ve example

slide-35
SLIDE 35

Step 1: Create most specific defini/on

35

paperAuthor paperId authorId p1 mad p1 bai author id name mad Madden bai Bailis authorAffilia#on id affilia/on mad MIT bai Stanford paper id /tle p1 MacroBase: Priori… p2 GloVe: Global Vect… paperYear id year p1 2017 p2 2014 paperConf id conf p1 SIGMOD p2 EMNLP collaborators(v1,v2) :- Create most specific defini/on Generalize to cover new example

Did it improve? Yes No

Reduce Madden,Bailis

start

slide-36
SLIDE 36

Step 1: Create most specific defini/on

36

paperAuthor paperId authorId p1 mad p1 bai author id name mad Madden bai Bailis authorAffilia#on id affilia/on mad MIT bai Stanford paper id /tle p1 MacroBase: Priori… p2 GloVe: Global Vect… paperYear id year p1 2017 p2 2014 paperConf id conf p1 SIGMOD p2 EMNLP collaborators(v1,v2) :- author(v3,v1), author(v4,v2). Create most specific defini/on Generalize to cover new example

Did it improve? Yes No

Reduce Madden,Bailis

start

slide-37
SLIDE 37

Step 1: Create most specific defini/on

37

collaborators(v1,v2) :- author(v3,v1), author(v4,v2), authorAffilia/on(v3,MIT), authorAffilia/on(v3,v5), authorAffilia/on(v4,Stanford), authorAffilia/on(v4,v6). paperAuthor paperId authorId p1 mad p1 bai author id name mad Madden bai Bailis authorAffilia#on id affilia/on mad MIT bai Stanford paper id /tle p1 MacroBase: Priori… p2 GloVe: Global Vect… paperYear id year p1 2017 p2 2014 paperConf id conf p1 SIGMOD p2 EMNLP Create most specific defini/on Generalize to cover new example

Did it improve? Yes No

Reduce Madden,Bailis

start

slide-38
SLIDE 38

Step 1: Create most specific defini/on

38

collaborators(v1,v2) :- author(v3,v1), author(v4,v2), authorAffilia/on(v3,MIT), authorAffilia/on(v3,v5), authorAffilia/on(v4,Stanford), authorAffilia/on(v4,v6), paperAuthor(v7,v3), paperAuthor(v7,v4).

f = P – N = 1

paperAuthor paperId authorId p1 mad p1 bai author id name mad Madden bai Bailis authorAffilia#on id affilia/on mad MIT bai Stanford paper id /tle p1 MacroBase: Priori… p2 GloVe: Global Vect… paperYear id year p1 2017 p2 2014 paperConf id conf p1 SIGMOD p2 EMNLP Create most specific defini/on Generalize to cover new example

Did it improve? Yes No

Reduce Madden,Bailis

start

slide-39
SLIDE 39

Step 2: Generalize defini/on

39

collaborators(v1,v2) :- author(v3,v1), author(v4,v2), authorAffilia/on(v3,MIT), authorAffilia/on(v3,v5), authorAffilia/on(v4,Stanford), authorAffilia/on(v4,v6), paperAuthor(v7,v3), paperAuthor(v7,v4). paperAuthor paperId authorId p2 soc p2 man author id name soc Socher man Manning authorAffilia#on id affilia/on soc Stanford man Stanford paper id /tle p2 GloVe: Global Vect… paperYear id year p2 2014 paperConf id conf p2 EMNLP v1 -> Socher v2 -> Manning Madden,Bailis Create most specific defini/on

start

Socher,Manning Generalize to cover new example

Did it improve? Yes No

Reduce

f = P – N = 1

slide-40
SLIDE 40

Step 2: Generalize defini/on

40

collaborators(v1,v2) :- author(v3,v1), author(v4,v2), authorAffilia/on(v3,v5), authorAffilia/on(v4,Stanford), authorAffilia/on(v4,v6), paperAuthor(v7,v3), paperAuthor(v7,v4). v1 -> Socher v2 -> Manning paperAuthor paperId authorId p2 soc p2 man author id name soc Socher man Manning authorAffilia#on id affilia/on soc Stanford man Stanford paper id /tle p2 GloVe: Global Vect… paperYear id year p2 2014 paperConf id conf p2 EMNLP Create most specific defini/on Socher,Manning Generalize to cover new example

Did it improve? Yes No

Reduce Madden,Bailis

start

f = P – N = 2

slide-41
SLIDE 41

Step 2: Generalize defini/on

41

collaborators(v1,v2) :- author(v3,v1), author(v4,v2), authorAffilia/on(v3,v5), authorAffilia/on(v4,Stanford), authorAffilia/on(v4,v6), paperAuthor(v7,v3), paperAuthor(v7,v4). paperAuthor paperId authorId p2 soc p2 man author id name soc Socher man Manning authorAffilia#on id affilia/on soc Stanford man Stanford paper id /tle p2 GloVe: Global Vect… paperYear id year p2 2014 paperConf id conf p2 EMNLP Create most specific defini/on Socher,Manning Generalize to cover new example

Did it improve? Yes No

Reduce Madden,Bailis

start

f = P – N = 2

slide-42
SLIDE 42

Step 2: Generalize defini/on

42

collaborators(v1,v2) :- author(v3,v1), author(v4,v2), authorAffilia/on(v3,v5), authorAffilia/on(v4,v6), paperAuthor(v7,v3), paperAuthor(v7,v4). Create most specific defini/on Madden,Stonebraker Generalize to cover new example

Did it improve? Yes No

repeat

Reduce paperAuthor paperId authorId p3 mad p3 sto author id name mad Madden mad Stonebraker authorAffilia#on id affilia/on mad MIT sto MIT paper id /tle p3 The Data Civilizer… paperYear id year p3 2017 paperConf id conf p3 CIDR Madden,Bailis

start

f = P – N = 3

slide-43
SLIDE 43

Step 3: Reduce defini/on

  • Generalize even more to avoid
  • verfiong
  • Reduce defini/on using nega/ve

examples

43

Create most specific defini/on Madden,Stonebraker Generalize to cover new example

Did it improve? Yes No

Reduce Madden,Bailis

start

slide-44
SLIDE 44

Learned defini/on

44

collaborators(v1,v2) :- author(v3,v1), author(v4,v2), paperAuthor(v7,v3), paperAuthor(v7,v4). Two people are collaborators if they are co-authors.

f = P – N = 3

Create most specific defini/on Madden,Stonebraker Generalize to cover new example

Did it improve? Yes No

Reduce Madden,Bailis

start

slide-45
SLIDE 45

Castor achieves schema independence by using database constraints

45

author id name affilia/on mad Madden MIT bai Bailis Stanford author id name mad Madden bai Bailis authorAffilia#on id affilia/on mad MIT bai Stanford paperAuthor paperId authId p3 mad p3 sto

author[id] authorAffilia/on[id]

author[id] paperAuthor[authId]

author[id] paperAuthor[authId]

paperAuthor paperId authId p3 mad p3 sto

slide-46
SLIDE 46

Step 1: Create most specific defini/on using database constraints

46

author id name affilia/on mad Madden MIT bai Bailis Stanford author id name mad Madden bai Bailis authorAffilia#on id affilia/on mad MIT bai Stanford Madden,Bailis Create most specific defini/on paperAuthor paperId authId p3 mad p3 sto

author[id] authorAffilia/on[id]

author[id] paperAuthor[authId]

author[id] paperAuthor[authId]

paperAuthor paperId authId p3 mad p3 sto collaborators(v1, v2) :- collaborators(v1, v2) :-

slide-47
SLIDE 47

Step 1: Create most specific defini/on using database constraints

47

author id name affilia/on mad Madden MIT bai Bailis Stanford author id name mad Madden bai Bailis authorAffilia#on id affilia/on mad MIT bai Stanford Madden,Bailis Create most specific defini/on paperAuthor paperId authId p3 mad p3 sto

author[id] authorAffilia/on[id]

author[id] paperAuthor[authId]

author[id] paperAuthor[authId]

paperAuthor paperId authId p3 mad p3 sto collaborators(v1, v2) :- author(v3,v1), author(v4,v2). collaborators(v1, v2) :- author(v3,v1,MIT), author(v4,v2,Stanford).

slide-48
SLIDE 48

Step 1: Create most specific defini/on using database constraints

48

collaborators(v1, v2) :- author(v3,v1), author(v4,v2), authorAffilia/on(v3,MIT), paperAuthor(v3,v5), authorAffilia/on(v4,Stanford), paperAuthor(v4,v6). collaborators(v1, v2) :- author(v3,v1,MIT), author(v4,v2,Stanford), paperAuthor(v3,v5), paperAuthor(v4,v6). author id name affilia/on mad Madden MIT bai Bailis Stanford author id name mad Madden bai Bailis authorAffilia#on id affilia/on mad MIT bai Stanford Madden,Bailis Create most specific defini/on paperAuthor paperId authId p3 mad p3 sto

author[id] authorAffilia/on[id]

author[id] paperAuthor[authId]

author[id] paperAuthor[authId]

paperAuthor paperId authId p3 mad p3 sto

Ensures that the algorithm accesses the same informa/on

  • ver all schemas
slide-49
SLIDE 49

Step 2 and 3: Generaliza/on and reduc/on using database constraints

49

author id name affilia/on mad Madden MIT sto Stonebraker MIT author id name mad Madden sto Stonebraker authorAffilia#on id affilia/on mad MIT sto MIT Madden,Stonebraker Generalize to cover new example paperAuthor paperId authId p3 mad p3 sto

author[id] authorAffilia/on[id]

author[id] paperAuthor[authId]

author[id] paperAuthor[authId]

paperAuthor paperId authId p3 mad p3 sto collaborators(v1, v2) :- author(v3,v1), authorAffilia/on(v3,MIT), author(v4,v2), authorAffilia/on(v4,Stanford). collaborators(v1, v2) :- author(v3,v1,MIT), author(v4,v2,Stanford).

slide-50
SLIDE 50

Step 2 and 3: Generaliza/on and reduc/on using database constraints

50

author id name affilia/on mad Madden MIT sto Stonebraker MIT author id name mad Madden sto Stonebraker authorAffilia#on id affilia/on mad MIT sto MIT Madden,Stonebraker Generalize to cover new example paperAuthor paperId authId p3 mad p3 sto

author[id] authorAffilia/on[id]

author[id] paperAuthor[authId]

author[id] paperAuthor[authId]

paperAuthor paperId authId p3 mad p3 sto collaborators(v1, v2) :- author(v3,v1), authorAffilia/on(v3,MIT), author(v4,v2), authorAffilia/on(v4,Stanford). collaborators(v1, v2) :- author(v3,v1,MIT), author(v4,v2,Stanford).

slide-51
SLIDE 51

Step 2 and 3: Generaliza/on and reduc/on using database constraints

51

author id name affilia/on mad Madden MIT sto Stonebraker MIT author id name mad Madden sto Stonebraker authorAffilia#on id affilia/on mad MIT sto MIT paperAuthor paperId authId p3 mad p3 sto paperAuthor paperId authId p3 mad p3 sto

author[id] authorAffilia/on[id]

author[id] paperAuthor[authId]

Madden,Stonebraker Generalize to cover new example

author[id] paperAuthor[authId]

collaborators(v1, v2) :- author(v3,v1), authorAffilia/on(v3,MIT). collaborators(v1, v2) :- author(v3,v1,MIT).

More details in the paper!

slide-52
SLIDE 52

Step 2 and 3: Generaliza/on and reduc/on using database constraints

52

collaborators(v1, v2) :- author(v3,v1), authorAffilia/on(v3,MIT). collaborators(v1, v2) :- author(v3,v1,MIT). author id name affilia/on mad Madden MIT sto Stonebraker MIT author id name mad Madden sto Stonebraker authorAffilia#on id affilia/on mad MIT sto MIT paperAuthor paperId authId p3 mad p3 sto paperAuthor paperId authId p3 mad p3 sto

author[id] authorAffilia/on[id]

author[id] paperAuthor[authId]

Madden,Stonebraker Generalize to cover new example

author[id] paperAuthor[authId]

Theorem: Castor is schema independent under composi/on / decomposi/on.

slide-53
SLIDE 53

Techniques to achieve efficiency

  • 1. Castor is implemented on top of the in-memory

RDBMS VoltDB

– Exploit RDBMS mechanisms – Part of the algorithm implemented in a stored procedure

  • 2. Approximate and efficient defini/on minimiza/on

53

Castor Schema run() learn() VoltDB

slide-54
SLIDE 54

Techniques to achieve efficiency

  • 3. Castor efficiently checks whether a defini/on covers

an example

54

Alterna#ve approach: Datalog: collaborators(x,y) :- author(z,x), author(v,y), paperAuthor(w,z), paperAuthor(w,v). SQL: SELECT c.person1, c.person2 FROM collaborators c, author a1, author s2, paperAuthor pa1, paperAuthor pa2 WHERE c.person1 = a1.name AND c.person2 = a2.name AND a1.id = pa1.authorId AND a2.id = pa2.authorId AND pa1.id = pa2.id; Castor’s approach:

  • 1. Compute most specific defini/on he for example e.
  • 2. Defini/on h covers example e iff there is a subs/tu/on θ such

that hθ he (homomorphism).

ü More efficient

slide-55
SLIDE 55

Experimental results

55

  • Database: UW-CSE – academic department

– 9 rela/ons, 2K tuples – 102 posi/ve examples, 204 nega/ve examples

  • Target rela/on: advisedBy(student, professor)

Algorithm Metric Schema 1 Schema 2 Schema 3 Schema 4 FOIL F1-score 0.49 0.49 0.54 0.61 Time (s) 18.7 20.8 30.7 30.6 Progol F1-score 0.68 0.61 0.53 0.38 Time(s) 9.7 13.2 27.9 334.8 ProGolem F1-score 0.68 0.68 0.60 0.61 Time (s) 24.4 28.8 26.7 54.1 Castor F1-score 0.68 0.68 0.68 0.68 Time (s) 7.2 7.4 7.9 12.4

slide-56
SLIDE 56

Experimental results

56

  • Database: HIV – structure of chemical compounds

– 80 rela/ons, 14M tuples – 5K posi/ve examples, 36K nega/ve examples

  • Target rela/on: an/-HIV(compound)

Algorithm Metric Schema 1 Schema 2 FOIL F1-score 0.49 0.80 Time (h) 3 0.9 Castor F1-score 0.83 0.83 Time(h) 3.5 1.9

Progol and ProGolem do not terminate aser 5 days

slide-57
SLIDE 57

Conclusions and future work

  • Rela/onal learning algorithms leverage the structure
  • f data to learn Datalog defini/ons
  • Schema independence is a desired property
  • Current algorithms are not schema independent
  • Castor is schema independent, accurate and efficient
  • Future work:

– Achieve schema independence over other transforma/ons – Learn over different data sources

57