Generating and Interpreting Referring Expressions in Context Dustin - - PowerPoint PPT Presentation

generating and interpreting referring expressions in
SMART_READER_LITE
LIVE PREVIEW

Generating and Interpreting Referring Expressions in Context Dustin - - PowerPoint PPT Presentation

Generating and Interpreting Referring Expressions in Context Dustin Smith 1 Tuesday, November 5, 13 The three readers Henry Agustn Marvin Lieberman Rayo Minsky 2 Tuesday, November 5, 13 3 Tuesday,


slide-1
SLIDE 1 1

Generating ¡and ¡Interpreting ¡Referring ¡Expressions ¡in ¡Context

Dustin ¡Smith

Tuesday, November 5, 13
slide-2
SLIDE 2

The ¡three ¡readers ¡

2

Henry ¡ Lieberman Agustín Rayo Marvin Minsky

Tuesday, November 5, 13
slide-3
SLIDE 3 3 Tuesday, November 5, 13
slide-4
SLIDE 4 3 Tuesday, November 5, 13
slide-5
SLIDE 5 4 Tuesday, November 5, 13
slide-6
SLIDE 6 4 Tuesday, November 5, 13
slide-7
SLIDE 7 4 Tuesday, November 5, 13
slide-8
SLIDE 8 5 Tuesday, November 5, 13
slide-9
SLIDE 9 5 Tuesday, November 5, 13
slide-10
SLIDE 10 6 Tuesday, November 5, 13
slide-11
SLIDE 11

Types ¡of ¡Referring ¡Expressions

7

classification from [Cruse 2011]

  • 4. ¡Descrip+ons ¡(NPs): ¡ ¡(a) ¡definite
  • 1. ¡Proper ¡Names ¡ ¡(Frank, ¡Boston)
  • 2. ¡Pronouns ¡(Frank ¡visited ¡boston ¡and ¡he ¡enjoyed ¡it)
  • 3. ¡Deic+cs ¡(here, ¡tomorrow, ¡I, ¡now)
Tuesday, November 5, 13
slide-12
SLIDE 12

Types ¡of ¡Referring ¡Expressions

I’d ¡like ¡the ¡tuna

8

classification from [Cruse 2011]

  • 4. ¡Descrip+ons ¡(NPs): ¡ ¡(a) ¡definite
  • 1. ¡Proper ¡Names ¡ ¡(Frank, ¡Boston)
  • 2. ¡Pronouns ¡(Frank ¡visited ¡boston ¡and ¡he ¡enjoyed ¡it)
  • 3. ¡Deic+cs ¡(here, ¡tomorrow, ¡I, ¡now)
Tuesday, November 5, 13
slide-13
SLIDE 13

Types ¡of ¡Referring ¡Expressions

I’d ¡like ¡a ¡tuna

9
  • 1. ¡Proper ¡Names ¡ ¡(Frank, ¡Boston)
  • 2. ¡Pronouns ¡(Frank ¡visited ¡boston ¡and ¡he ¡enjoyed ¡it)

classification from [Cruse 2011]

  • 3. ¡Deic+cs ¡(here, ¡tomorrow, ¡I, ¡now)
  • 4. ¡Descrip+ons ¡(NPs): ¡ ¡(a) ¡definite, ¡(b) ¡indefinite
Tuesday, November 5, 13
slide-14
SLIDE 14

Types ¡of ¡Referring ¡Expressions

I ¡usually ¡like ¡tuna

10

classification from [Cruse 2011]

  • 4. ¡Descrip+ons ¡(NPs): ¡ ¡(a) ¡definite, ¡(b) ¡indefinite, ¡(c) ¡generic
  • 1. ¡Proper ¡Names ¡ ¡(Frank, ¡Boston)
  • 2. ¡Pronouns ¡(Frank ¡visited ¡boston ¡and ¡he ¡enjoyed ¡it)
  • 3. ¡Deic+cs ¡(here, ¡tomorrow, ¡I, ¡now)
Tuesday, November 5, 13
slide-15
SLIDE 15

Types ¡of ¡Referring ¡Expressions

I’d ¡like ¡the ¡Albacore ¡tuna

11

classification from [Cruse 2011]

  • 4. ¡Descrip+ons ¡(NPs): ¡ ¡(a) ¡definite, ¡(b) ¡indefinite, ¡(c) ¡generic
  • 1. ¡Proper ¡Names ¡ ¡(Frank, ¡Boston)
  • 2. ¡Pronouns ¡(Frank ¡visited ¡boston ¡and ¡he ¡enjoyed ¡it)
  • 3. ¡Deic+cs ¡(here, ¡tomorrow, ¡I, ¡now)
Tuesday, November 5, 13
slide-16
SLIDE 16

Types ¡of ¡Referring ¡Expressions

I’d ¡like ¡the ¡Albacore ¡tuna

11

classification from [Cruse 2011]

  • 4. ¡Descrip+ons ¡(NPs): ¡ ¡(a) ¡definite, ¡(b) ¡indefinite, ¡(c) ¡generic
  • 1. ¡Proper ¡Names ¡ ¡(Frank, ¡Boston)
  • 2. ¡Pronouns ¡(Frank ¡visited ¡boston ¡and ¡he ¡enjoyed ¡it)
  • 3. ¡Deic+cs ¡(here, ¡tomorrow, ¡I, ¡now)
Tuesday, November 5, 13
slide-17
SLIDE 17 12 Tuesday, November 5, 13
slide-18
SLIDE 18 12 Tuesday, November 5, 13
slide-19
SLIDE 19 13

Ambiguity: financial/river/blood/sperm bank

Tuesday, November 5, 13
slide-20
SLIDE 20 14

Ambiguity: financial/river/blood/sperm bank Widening: does financial banks include ATMs?

Tuesday, November 5, 13
slide-21
SLIDE 21 15

Ambiguity: financial/river/blood/sperm bank Widening: does financial banks include ATMs? “the”: User believes a single such referent exists

Tuesday, November 5, 13
slide-22
SLIDE 22 16

Ambiguity: financial/river/blood/sperm bank Vagueness: how “new” is a new bank? Widening: does financial banks include ATMs? “the”: User believes a single such referent exists

Tuesday, November 5, 13
slide-23
SLIDE 23 17

“new”: The description “the bank” alone would have included 1+ older banks. Ambiguity: financial/river/blood/sperm bank Vagueness: how “new” is a new bank? Widening: does financial banks include ATMs? “the”: User believes a single such referent exists

Tuesday, November 5, 13
slide-24
SLIDE 24

Context-­‑dependent ¡Meanings

18

example from [Rayo 2007]

Go ¡to ¡the ¡blue ¡house

Tuesday, November 5, 13
slide-25
SLIDE 25

Context-­‑dependent ¡Meanings

18

example from [Rayo 2007]

Go ¡to ¡the ¡blue ¡house

Tuesday, November 5, 13
slide-26
SLIDE 26

+ “the blue ones”

Context Set Referring Expression Interpretation

Context-­‑dependence ¡

Context-­‑dependent ¡issues ¡in ¡Interpreta+on:

  • ­‑ ¡ambiguity ¡(phonological, ¡lexical, ¡scope, ¡structural)
  • ­‑ ¡compound ¡nominals
  • ­‑ ¡ellipsis
  • ­‑ ¡figuraBve ¡language ¡(metaphor, ¡metonymy,hyperbole, ¡...)
  • ­‑ ¡implicit ¡assumpBons ¡(presupposiBons)
  • ­‑ ¡implicit ¡expected ¡inferences ¡(implicatures)
  • ­‑ ¡irony
  • ­‑ ¡mistakes ¡in ¡spelling ¡or ¡grammar
  • ­‑ ¡unspecific ¡descripBons
  • ­‑ ¡vagueness
19

?

“the ¡blue ¡ones”

[Sperber ¡& ¡Wilson, ¡2012]

Tuesday, November 5, 13
slide-27
SLIDE 27

+ “the blue ones”

Context Set Referring Expression Interpretation

Context-­‑dependence ¡

Context-­‑dependent ¡issues ¡in ¡Interpreta+on:

  • ­‑ ¡ambiguity ¡(phonological, ¡lexical, ¡scope, ¡structural)
  • ­‑ ¡compound ¡nominals
  • ­‑ ¡ellipsis
  • ­‑ ¡figuraBve ¡language ¡(metaphor, ¡metonymy,hyperbole, ¡...)
  • ­‑ ¡implicit ¡assumpBons ¡(presupposiBons)
  • ­‑ ¡implicit ¡expected ¡inferences ¡(implicatures)
  • ­‑ ¡irony
  • ­‑ ¡mistakes ¡in ¡spelling ¡or ¡grammar
  • ­‑ ¡unspecific ¡descripBons
  • ­‑ ¡vagueness
20

?

[Sperber ¡& ¡Wilson, ¡2012]

“the ¡blue ¡ones”

Tuesday, November 5, 13
slide-28
SLIDE 28

[Tanenhaus, Spivey-Knowlton, Eberhard, & Sedivy, 1995]

Incremental ¡Interpretation

  • 1. ¡ ¡Maintain ¡a ¡working ¡hypothesis ¡and ¡revise ¡if ¡necessary

Let’s ¡go ¡fish ¡by ¡the ¡bank ¡

Tuesday, November 5, 13
slide-29
SLIDE 29

[Tanenhaus, Spivey-Knowlton, Eberhard, & Sedivy, 1995]

Incremental ¡Interpretation

  • 1. ¡ ¡Maintain ¡a ¡working ¡hypothesis ¡and ¡revise ¡if ¡necessary

Let’s ¡go ¡fish ¡by ¡the ¡bank ¡ ¡of ¡America

Tuesday, November 5, 13
slide-30
SLIDE 30

[Tanenhaus, Spivey-Knowlton, Eberhard, & Sedivy, 1995]

Incremental ¡Interpretation

  • 1. ¡ ¡Maintain ¡a ¡working ¡hypothesis ¡and ¡revise ¡if ¡necessary

Let’s ¡go ¡fish ¡by ¡the ¡bank ¡ ¡of ¡America Let’s ¡go ¡watch ¡a ¡short ¡movie

Tuesday, November 5, 13
slide-31
SLIDE 31

[Tanenhaus, Spivey-Knowlton, Eberhard, & Sedivy, 1995]

Incremental ¡Interpretation

  • 1. ¡ ¡Maintain ¡a ¡working ¡hypothesis ¡and ¡revise ¡if ¡necessary

Let’s ¡go ¡fish ¡by ¡the ¡bank ¡ ¡by ¡Ken ¡Burns ¡of ¡America Let’s ¡go ¡watch ¡a ¡short ¡movie

Tuesday, November 5, 13
slide-32
SLIDE 32
  • 2. ¡ ¡Disambiguate ¡as ¡soon ¡as ¡evidence ¡is ¡available.

[Tanenhaus, Spivey-Knowlton, Eberhard, & Sedivy, 1995]

Incremental ¡Interpretation

  • 1. ¡ ¡Maintain ¡a ¡working ¡hypothesis ¡and ¡revise ¡if ¡necessary

Let’s ¡go ¡fish ¡by ¡the ¡bank ¡ “put ¡the ¡[blue ¡triangle ¡on ¡the ¡tray] ¡on ¡the ¡box” ¡ ¡by ¡Ken ¡Burns ¡of ¡America Let’s ¡go ¡watch ¡a ¡short ¡movie

Tuesday, November 5, 13
slide-33
SLIDE 33
  • 2. ¡ ¡Disambiguate ¡as ¡soon ¡as ¡evidence ¡is ¡available.

[Tanenhaus, Spivey-Knowlton, Eberhard, & Sedivy, 1995]

Incremental ¡Interpretation

  • 1. ¡ ¡Maintain ¡a ¡working ¡hypothesis ¡and ¡revise ¡if ¡necessary

Let’s ¡go ¡fish ¡by ¡the ¡bank ¡ “put ¡the ¡[blue ¡triangle ¡on ¡the ¡tray] ¡on ¡the ¡box” ¡

  • 3. ¡ ¡Use ¡presence ¡of ¡contrasBve ¡modifiers ¡immediately

“put ¡the ¡tall ¡-­‑-­‑” ¡by ¡Ken ¡Burns ¡of ¡America Let’s ¡go ¡watch ¡a ¡short ¡movie

Tuesday, November 5, 13
slide-34
SLIDE 34

Involving ¡Speaker ¡and ¡Hearer

22

Genera+on: ¡given ¡an ¡intended ¡meaning, ¡produce ¡a ¡referring ¡ expression ¡that ¡will ¡allow ¡a ¡human ¡listener ¡to ¡derive ¡it Interpreta+on: ¡Given ¡a ¡human ¡speaker’s ¡referring ¡expression, ¡ infer ¡her ¡intended ¡meaning

I’d ¡like ¡the ¡Albacore ¡tuna Okay

Tuesday, November 5, 13
slide-35
SLIDE 35

Involving ¡Speaker ¡and ¡Hearer

22

Genera+on: ¡given ¡an ¡intended ¡meaning, ¡produce ¡a ¡referring ¡ expression ¡that ¡will ¡allow ¡a ¡human ¡listener ¡to ¡derive ¡it Interpreta+on: ¡Given ¡a ¡human ¡speaker’s ¡referring ¡expression, ¡ infer ¡her ¡intended ¡meaning

I’d ¡like ¡the ¡Albacore ¡tuna Okay I’d ¡like ¡tuna

Tuesday, November 5, 13
slide-36
SLIDE 36

Involving ¡Speaker ¡and ¡Hearer

22

Genera+on: ¡given ¡an ¡intended ¡meaning, ¡produce ¡a ¡referring ¡ expression ¡that ¡will ¡allow ¡a ¡human ¡listener ¡to ¡derive ¡it Interpreta+on: ¡Given ¡a ¡human ¡speaker’s ¡referring ¡expression, ¡ infer ¡her ¡intended ¡meaning

I’d ¡like ¡the ¡Albacore ¡tuna Okay I’d ¡like ¡tuna I’d ¡like ¡the ¡tuna ¡burger

Tuesday, November 5, 13
slide-37
SLIDE 37

/122

Related ¡Work

  • 1. Generating ¡referring ¡expressions ¡using ¡planning ¡ ¡

Appelt ¡1985; ¡Stone ¡& ¡Doran, ¡1997; ¡ ¡Koller ¡& ¡Stone ¡2007; ¡Koller ¡& ¡Petrick ¡ 2011 1. Modeling ¡vague ¡and ¡gradable ¡adjectives ¡ ¡Lassiter ¡2011; ¡Klein ¡1990; ¡ Bartsch ¡& ¡Vennermann ¡1976; ¡Zadeh ¡1975; 2. Modeling ¡both ¡generation ¡and ¡interpretation ¡Winograd ¡1976; ¡Appelt ¡ 1986; ¡ ¡Heeman ¡& ¡Hirst ¡1995

  • 2. Interpretation ¡models ¡that ¡use ¡“Theory ¡of ¡Mind” ¡

reasoning ¡about ¡generation. ¡Benotti ¡and ¡Traum ¡2009; ¡ ¡Bergen ¡

et ¡al ¡2012; ¡ ¡Goodman ¡& ¡Stuhlmüller ¡2013; ¡ ¡Vogel ¡et ¡al ¡2013 23

What’s ¡missing? ¡ ¡Computational ¡models ¡of ¡interpretation ¡and ¡ generation ¡that ¡are ¡fast, ¡incremental, ¡non-­‑deterministic, ¡and ¡ address ¡context-­‑dependencies.

Tuesday, November 5, 13
slide-38
SLIDE 38

/122 24

Presentation ¡Overview

I. A ¡computational ¡model ¡for ¡Automatically ¡Interpreting ¡& ¡ Generating ¡Referring ¡Expressions ¡(AIGRE)

1. Generation ¡as ¡belief-­‑state ¡planning, ¡Interpretation ¡as ¡plan-­‑recognition

  • fast
  • incremental
  • non-­‑deterministic

2. Handles ¡context-­‑dependent ¡word ¡meanings ¡for ¡a ¡fragment ¡of ¡English ¡NPs 3. Evaluation ¡on ¡Mechanical ¡Turk ¡Data

  • II. IntegraBon ¡of ¡both ¡processes ¡to ¡model ¡the ¡hearer’s ¡about ¡

speakers’ ¡decisions

Tuesday, November 5, 13
slide-39
SLIDE 39

Context-­‑dependent ¡Meanings

25 Denotation Context Reference Resolution Speaker Meaning Context Pragmatic Inference Encoded Meaning Linguistic Decoding Referring Expression Standard Model of Interpretation

¡the ¡blue ¡house

Tuesday, November 5, 13
slide-40
SLIDE 40 Denotation Context Reference Resolution Speaker Meaning Context Pragmatic Inference Encoded Meaning Linguistic Decoding Referring Expression Standard Model of Interpretation

Context-­‑dependent ¡Meanings

26

¡the ¡blue ¡house

[∃x [∀y blue1(y) ∧ house(y) → x = y]] ∨ [∃x [∀y blue2(y) ∧ house(y) → x = y]] Tuesday, November 5, 13
slide-41
SLIDE 41 Denotation Context Reference Resolution Speaker Meaning Context Pragmatic Inference Encoded Meaning Linguistic Decoding Referring Expression Standard Model of Interpretation

Context-­‑dependent ¡Meanings

27

¡the ¡blue ¡house

[∃x [∀y blue1(y) ∧ house(y) → x = y]] ∨ [∃x [∀y blue2(y) ∧ house(y) → x = y]]

. . . ∴ ¬blue1

Tuesday, November 5, 13
slide-42
SLIDE 42 Denotation Context Reference Resolution Speaker Meaning Context Pragmatic Inference Encoded Meaning Linguistic Decoding Referring Expression Standard Model of Interpretation

Context-­‑dependent ¡Meanings

28

¡the ¡blue ¡house

[∃x [∀y blue1(y) ∧ house(y) → x = y]] ∨ [∃x [∀y blue2(y) ∧ house(y) → x = y]]

. . . ∴ ¬blue1

x = x1349A3

Tuesday, November 5, 13
slide-43
SLIDE 43 29

NLU/NLG ¡Pipelines

Tuesday, November 5, 13
slide-44
SLIDE 44 29

NLU/NLG ¡Pipelines

Tuesday, November 5, 13
slide-45
SLIDE 45

The ¡“Lexical ¡Approach”

30

[Stone & Doran, 1997; Koller & Stone 2007; Koller & Petrick 2011]

Meaning Representation Meaning Representation All linguistic encoding decisions All linguistic decoding decisions Referring Expression Generation Interpretation Context

Tuesday, November 5, 13
slide-46
SLIDE 46

The ¡“Lexical ¡Approach”

31

Meaning Representation Meaning Representation All linguistic encoding decisions All linguistic decoding decisions Referring Expression Generation Interpretation Context

[Stone & Doran, 1997; Koller & Stone 2007; Koller & Petrick 2011]

Given ¡varying ¡initial ¡conditions

Tuesday, November 5, 13
slide-47
SLIDE 47

The ¡“Lexical ¡Approach”

31

Meaning Representation Meaning Representation All linguistic encoding decisions All linguistic decoding decisions Referring Expression Generation Interpretation Context

[Stone & Doran, 1997; Koller & Stone 2007; Koller & Petrick 2011]

Given ¡varying ¡initial ¡conditions Choose ¡content, ¡words, ¡and ¡arrange ¡ them ¡in ¡order

Tuesday, November 5, 13
slide-48
SLIDE 48

The ¡“Lexical ¡Approach”

31

Meaning Representation Meaning Representation All linguistic encoding decisions All linguistic decoding decisions Referring Expression Generation Interpretation Context

[Stone & Doran, 1997; Koller & Stone 2007; Koller & Petrick 2011]

Given ¡varying ¡initial ¡conditions Stop ¡when ¡ ¡ communication ¡goal ¡is ¡met Choose ¡content, ¡words, ¡and ¡arrange ¡ them ¡in ¡order

Tuesday, November 5, 13
slide-49
SLIDE 49

Generation ¡→ ¡Planning

lexical ¡entries encoded ¡meaning

the ¡meaning ¡of ¡the ¡referring ¡expression. ¡ Both ¡as ¡(1) ¡an ¡intensional ¡descrip.on and ¡(2) ¡its ¡referents ¡(denotaMon)

goal

meaning ¡that ¡idenMfies ¡targets change ¡encoded ¡meaning, ¡while ¡ adhering ¡to ¡semanMc ¡and ¡ morphosyntacMc ¡constraints

32

ac+ons

change ¡the ¡state

state

representaMon ¡of ¡the ¡relevant ¡parts ¡of ¡ the ¡problem ¡or ¡environment

goal

desired ¡state(s)

Tuesday, November 5, 13
slide-50
SLIDE 50 the cost: 0.01 big1 (size) standard: [70, ∞) cost: 1.40
  • ne2
cost: 2.55 1 size:7 2 size:7 3 size:1 6 size:1

Generation ¡→ ¡Planning

lexical ¡entries encoded ¡meaning

the ¡meaning ¡of ¡the ¡referring ¡expression. ¡ Both ¡as ¡(1) ¡an ¡intensional ¡descrip.on and ¡(2) ¡its ¡referents ¡(denotaMon)

goal

meaning ¡that ¡idenMfies ¡targets change ¡encoded ¡meaning, ¡while ¡ adhering ¡to ¡semanMc ¡and ¡ morphosyntacMc ¡constraints

33

ac+ons

change ¡the ¡state

state

representaMon ¡of ¡the ¡relevant ¡parts ¡of ¡ the ¡problem ¡or ¡environment

goal

desired ¡state(s)

Tuesday, November 5, 13
slide-51
SLIDE 51

the cost: 0.01 1 size:7 2 size:7

Generation ¡→ ¡Planning

lexical ¡entries encoded ¡meaning

the ¡meaning ¡of ¡the ¡referring ¡expression. ¡ Both ¡as ¡(1) ¡an ¡intensional ¡descrip.on and ¡(2) ¡its ¡referents ¡(denotaMon)

goal

meaning ¡that ¡idenMfies ¡targets change ¡encoded ¡meaning, ¡while ¡ adhering ¡to ¡semanMc ¡and ¡ morphosyntacMc ¡constraints

33

ac+ons

change ¡the ¡state

state

representaMon ¡of ¡the ¡relevant ¡parts ¡of ¡ the ¡problem ¡or ¡environment

goal

desired ¡state(s)

state ac+on state

Tuesday, November 5, 13
slide-52
SLIDE 52

70, ∞)

  • ne2

cost: 2.55 3 size:1 6 size:1

Generation ¡→ ¡Planning

lexical ¡entries encoded ¡meaning

the ¡meaning ¡of ¡the ¡referring ¡expression. ¡ Both ¡as ¡(1) ¡an ¡intensional ¡descrip.on and ¡(2) ¡its ¡referents ¡(denotaMon)

goal

meaning ¡that ¡idenMfies ¡targets change ¡encoded ¡meaning, ¡while ¡ adhering ¡to ¡semanMc ¡and ¡ morphosyntacMc ¡constraints

33

ac+ons

change ¡the ¡state

state

representaMon ¡of ¡the ¡relevant ¡parts ¡of ¡ the ¡problem ¡or ¡environment

goal

desired ¡state(s)

state ac+on goal ¡state

Tuesday, November 5, 13
slide-53
SLIDE 53

C1 C2 C3

/122

The ¡CIRCLES ¡referential ¡domain

34

Tuesday, November 5, 13
slide-54
SLIDE 54

C1 C2 C3

the cost: 0.01 big1 (size) standard: [70, ∞) cost: 1.40
  • ne2
cost: 2.55 1 size:7 2 size:7 3 size:1 6 size:1

/122

The ¡CIRCLES ¡referential ¡domain

35

Tuesday, November 5, 13
slide-55
SLIDE 55

C1 C2 C3

the cost: 0.01 big1 (size) standard: [70, ∞) cost: 1.40
  • ne2
cost: 2.55 1 size:7 2 size:7 3 size:1 6 size:1

/122 36

“the ¡big ¡one”

R=3

Tuesday, November 5, 13
slide-56
SLIDE 56 the cost: 0.01 green1 cost: 1.31 circles cost: 2.42 1 size:7 2 size:7 3 size:3 4 size:1

C1 C2 C3

/122 37

“the ¡green ¡circles”

Tuesday, November 5, 13
slide-57
SLIDE 57

C1 C2 C3

38

“a ¡green ¡circle”

a cost: 0.61 green cost: 1.61 circle cost: 2.91 b0 size:7 b1 size:7 b2 size:7 b3 size:2 Tuesday, November 5, 13
slide-58
SLIDE 58 C1 C2 C3 38

“a ¡green ¡circle”

a cost: 0.61 green cost: 1.61 circle cost: 2.91 b0 size:7 b1 size:7 b2 size:7 b3 size:2 Tuesday, November 5, 13
slide-59
SLIDE 59 C1 C2 C3 38

“a ¡green ¡circle”

a cost: 0.61 green cost: 1.61 circle cost: 2.91 b0 size:7 b1 size:7 b2 size:7 b3 size:2 0.0 0.5 1.0 Relative likelihood of denotation circle green a “a green circle” in CIRCLES domain Possible Targets {c1} {c2} {c3} {c1, c2} {c1, c3} {c2, c3} {c1, c2, c3} Tuesday, November 5, 13
slide-60
SLIDE 60 any cost: 0.99 two cost: 2.07 circles cost: 3.27 b0 size:7 b1 size:7 b2 size:3 b3 size:3 39

“any ¡two ¡circles”

0.0 0.5 1.0 Relative likelihood of denotation circles two any “any two circles” in CIRCLES domain Possible Targets {c1} {c2} {c3} {c1, c2} {c1, c3} {c2, c3} {c1, c2, c3} Tuesday, November 5, 13
slide-61
SLIDE 61

Representing ¡Referents

Belief ¡states ¡represent ¡an ¡intensional ¡descrip.on ¡of ¡the ¡ reference ¡domain. ¡ ¡This ¡is ¡a ¡conBnuum ¡between ¡a ¡category ¡of ¡ enBBes ¡and ¡a ¡single ¡enBty ¡in ¡the ¡referenBal ¡domain.

SHAPE: circle SIZE: 30 COLOR: green SHAPE: circle SIZE: 60 COLOR: green SHAPE: circle SIZE: 120 COLOR: blue

symbolic ¡

c1 c2 c3

visual ¡ aNribute-­‑value ¡

40 Tuesday, November 5, 13
slide-62
SLIDE 62

Representing ¡Referents

Belief ¡states ¡represent ¡an ¡intensional ¡descrip.on ¡of ¡the ¡ reference ¡domain. ¡ ¡This ¡is ¡a ¡conBnuum ¡between ¡a ¡category ¡of ¡ enBBes ¡and ¡a ¡single ¡enBty ¡in ¡the ¡referenBal ¡domain.

SHAPE: circle SIZE: 30 COLOR: green SHAPE: circle SIZE: 60 COLOR: green SHAPE: circle SIZE: 120 COLOR: blue

symbolic ¡

c1 c2 c3

40 Tuesday, November 5, 13
slide-63
SLIDE 63

Representing ¡Belief ¡States

BoolCell DictCell IntervalCell LatLonCell LinearOrderedCell ListCell NameCell PartialOrderedCell PrefixCell RGBColorCell StringCell SetIntersectionCell SetUnionCell In [1]: import numpy as np In [2]: from beliefs.cells import * In [3]: size = IntervalCell(0, np.inf) Out[3]: [0.00, np.inf] In [4]: size.merge(IntervalCell(30, 50)) Out[4]: [30.00, 50.00] In [5]: size.merge(33) Out[5]: 33.00 In [6]: size.merge(10)
  • Contradiction
SHAPE: SIZE: [0, 100] COLOR: {green, blue}

[Sussman & Radul 2009] Download at http://eventteam.github.io/beliefs/

Belief ¡contain ¡aNributes ¡defined ¡by ¡data ¡structures ¡called ¡cells: ¡

41 Tuesday, November 5, 13
slide-64
SLIDE 64

Representing ¡Belief ¡States

BoolCell DictCell IntervalCell LatLonCell LinearOrderedCell ListCell NameCell PartialOrderedCell PrefixCell RGBColorCell StringCell SetIntersectionCell SetUnionCell In [1]: import numpy as np In [2]: from beliefs.cells import * In [3]: size = IntervalCell(0, np.inf) Out[3]: [0.00, np.inf] In [4]: size.merge(IntervalCell(30, 50)) Out[4]: [30.00, 50.00] In [5]: size.merge(33) Out[5]: 33.00 In [6]: size.merge(10)
  • Contradiction
SHAPE: SIZE: [0, 100] COLOR: {green, blue} belief_state = DictCell({'size': IntervalCell(0, 100), 'color': SetCell(['green', ‘blue’])})

[Sussman & Radul 2009] Download at http://eventteam.github.io/beliefs/

Belief ¡contain ¡aNributes ¡defined ¡by ¡data ¡structures ¡called ¡cells: ¡

41 Tuesday, November 5, 13
slide-65
SLIDE 65

Representing ¡Belief ¡States

Belief ¡contain ¡aNributes ¡defined ¡by ¡data ¡structures ¡called ¡cells: ¡ The ¡same ¡extension ¡does ¡not ¡imply ¡the ¡same ¡intension.

BoolCell DictCell IntervalCell LatLonCell LinearOrderedCell ListCell NameCell PartialOrderedCell PrefixCell RGBColorCell StringCell SetIntersectionCell SetUnionCell SHAPE: SIZE: [20, 100] COLOR: {blue, green}

SHAPE: SIZE: 70 COLOR: In [1]: import numpy as np In [2]: from beliefs.cells import * In [3]: size = IntervalCell(0, np.inf) Out[3]: [0.00, np.inf] In [4]: size.merge(IntervalCell(30, 50)) Out[4]: [30.00, 50.00] In [5]: size.merge(33) Out[5]: 33.00 In [6]: size.merge(10)
  • Contradiction

⊨ ¡{C1, ¡C2}

SHAPE: COLOR: {blue} ⊨ ¡{C1, ¡C2} SHAPE: SIZE: [20, 60]

Download at http://eventteam.github.io/beliefs/

42

[Sussman & Radul 2009]

Tuesday, November 5, 13
slide-66
SLIDE 66

A ¡belief ¡state ¡about ¡CIRCLES

43

intension extension ¡(denotation)

denote(CIRCLE, b) Tuesday, November 5, 13
slide-67
SLIDE 67

Representing ¡Properties

44

intension extension ¡(denotation)

resolve(CIRCLES, b) denote(CIRCLE, b) Tuesday, November 5, 13
slide-68
SLIDE 68 45

intension extension ¡(denotation)

Representing ¡Singular

resolve(CIRCLES, b) denote(CIRCLE, b) Tuesday, November 5, 13
slide-69
SLIDE 69 45

intension extension ¡(denotation)

Representing ¡Singular

resolve(CIRCLES, b)

restricts ¡size ¡of ¡target ¡set

denote(CIRCLE, b) Tuesday, November 5, 13
slide-70
SLIDE 70

Representing ¡Plurals

46

intension

resolve(CIRCLES, b)

extension ¡(denotation)

denote(CIRCLE, b) Tuesday, November 5, 13
slide-71
SLIDE 71

Representing ¡“any”

47

intension

resolve(CIRCLES, b)

extension ¡(denotation)

denote(CIRCLE, b) Tuesday, November 5, 13
slide-72
SLIDE 72

Representing ¡“any”

47

intension

resolve(CIRCLES, b)

extension ¡(denotation)

restricts ¡size ¡of ¡difference ¡ between ¡target ¡set ¡and ¡largest ¡set

denote(CIRCLE, b) Tuesday, November 5, 13
slide-73
SLIDE 73

Representing ¡“the”

48

intension

resolve(CIRCLES, b)

extension ¡(denotation)

denote(CIRCLE, b) Tuesday, November 5, 13
slide-74
SLIDE 74

Representing ¡“the”

49

intension

resolve(CIRCLES, b)

extension ¡(denotation)

denote(CIRCLE, b) Tuesday, November 5, 13
slide-75
SLIDE 75

Representing ¡“the”

50

intension

resolve(CIRCLES, b)

extension ¡(denotation)

denote(CIRCLE, b) Tuesday, November 5, 13
slide-76
SLIDE 76

Representing ¡“the”

51

intension

resolve(CIRCLES, b)

extension ¡(denotation)

denote(CIRCLE, b) Tuesday, November 5, 13
slide-77
SLIDE 77

Determiner ¡meanings

This ¡simple ¡representation ¡captures ¡a ¡wide ¡range ¡of ¡articles ¡(the, ¡ a) ¡and ¡quantifier ¡meanings ¡(without ¡scope).

52 Tuesday, November 5, 13
slide-78
SLIDE 78

/122 53

Presentation ¡Overview

I. A ¡computational ¡model ¡for ¡Automatically ¡Interpreting ¡& ¡ Generating ¡Referring ¡Expressions ¡(AIGRE)

1. Generation ¡as ¡belief-­‑state ¡planning, ¡Interpretation ¡as ¡plan-­‑recognition

  • fast
  • incremental
  • non-­‑deterministic

2. Handles ¡context-­‑dependent ¡word ¡meanings ¡for ¡a ¡fragment ¡of ¡English ¡NPs

  • unspeci1ic ¡meanings
  • quanti1iers
  • ambiguity
  • vagueness
  • ellipsis

3. Evaluation ¡on ¡Turk ¡Data

  • II. IntegraBon ¡of ¡both ¡processes ¡to ¡model ¡the ¡hearer’s ¡about ¡

speakers’ ¡decisions

Tuesday, November 5, 13
slide-79
SLIDE 79

C1 C2 C3

the cost: 0.01 big1 (size) standard: [70, ∞) cost: 1.40
  • ne2
cost: 2.55 1 size:7 2 size:7 3 size:1 6 size:1

/122 54

“the ¡big ¡one”

Tuesday, November 5, 13
slide-80
SLIDE 80

/122

KINDLES ¡referential ¡domain

55

K1 K2 K3 K4 K5

Tuesday, November 5, 13
slide-81
SLIDE 81

/122 56

K1 K2 K3 K4 K5

“the ¡big ¡one”

Tuesday, November 5, 13
slide-82
SLIDE 82

Lexical ¡Ambiguity

(disk)

The ¡same ¡lexical ¡item ¡can ¡generate ¡mulBple ¡outcomes ¡due ¡to ¡ two ¡types ¡of ¡lexical ¡ambiguity:

Polysemy

57

Homonymy 1 1 2 4 2 3 big light ¡(weight) light ¡(color)

K5 K1 K2 K3 K4 K6

(screen) Tuesday, November 5, 13
slide-83
SLIDE 83 the cost: 0.01 b i g 2 ( s i z e ) s t a n d a r d : [ 9 . 7 , ∞ ) c
  • s
t : 1 . 2 big2 (harddrive.size) standard: [8, ∞) cost: 2.20
  • ne2
cost: 2.26
  • ne2
cost: 3.26 1 size:31 2 size:31 3 size:1 6 size:1 9 size:1 14 size:1 0.0 0.5 1.0 Relative likelihood of denotation
  • ne2
big the “the big one” in KINDLES domain Possible Targets {k4} {k5}

/122 58

K1 K2 K3 K4 K5

“the ¡big ¡one”

Tuesday, November 5, 13
slide-84
SLIDE 84 the cost: 0.01 b i g 2 ( s i z e ) s t a n d a r d : [ 9 . 7 , ∞ ) c
  • s
t : 1 . 2 big2 (harddrive.size) standard: [8, ∞) cost: 2.20
  • ne2
cost: 2.26
  • ne2
cost: 3.26 1 size:31 2 size:31 3 size:1 6 size:1 9 size:1 14 size:1 0.0 0.5 1.0 Relative likelihood of denotation
  • ne2
big the “the big one” in KINDLES domain Possible Targets {k4} {k5}

/122 59

K1 K2 K3 K4 K5

“the ¡big ¡one”

Tuesday, November 5, 13
slide-85
SLIDE 85 the cost: 0.01 b i g 2 ( s i z e ) s t a n d a r d : [ 9 . 7 , ∞ ) c
  • s
t : 1 . 2 big2 (harddrive.size) standard: [8, ∞) cost: 2.20
  • ne2
cost: 2.26
  • ne2
cost: 3.26 1 size:31 2 size:31 3 size:1 6 size:1 9 size:1 14 size:1 0.0 0.5 1.0 Relative likelihood of denotation
  • ne2
big the “the big one” in KINDLES domain Possible Targets {k4} {k5}

/122 60

K1 K2 K3 K4 K5

“the ¡big ¡one”

Tuesday, November 5, 13
slide-86
SLIDE 86 the cost: 0.01 b i g 2 ( s i z e ) s t a n d a r d : [ 9 . 7 , ∞ ) c
  • s
t : 1 . 2 big2 (harddrive.size) standard: [8, ∞) cost: 2.20
  • ne2
cost: 2.26
  • ne2
cost: 3.26 1 size:31 2 size:31 3 size:1 6 size:1 9 size:1 14 size:1 0.0 0.5 1.0 Relative likelihood of denotation
  • ne2
big the “the big one” in KINDLES domain Possible Targets {k4} {k5}

/122 61

K1 K2 K3 K4 K5

“the ¡big ¡one”

Tuesday, November 5, 13
slide-87
SLIDE 87 the cost: 0.01 b i g 2 ( s i z e ) s t a n d a r d : [ 9 . 7 , ∞ ) c
  • s
t : 1 . 2 big2 (harddrive.size) standard: [8, ∞) cost: 2.20
  • ne2
cost: 2.26
  • ne2
cost: 3.26 1 size:31 2 size:31 3 size:1 6 size:1 9 size:1 14 size:1 0.0 0.5 1.0 Relative likelihood of denotation
  • ne2
big the “the big one” in KINDLES domain Possible Targets {k4} {k5}

/122 62

K1 K2 K3 K4 K5

“the ¡big ¡one”

Tuesday, November 5, 13
slide-88
SLIDE 88

Vagueness

  • 1. Insufficient ¡informaBon ¡for ¡the ¡communicaBonal ¡goal. ¡
  • 2. Existence ¡of ¡borderline ¡cases.
63
  • verweight?

heap? red?

[van ¡Deemter, ¡2010]

Tuesday, November 5, 13
slide-89
SLIDE 89

K1 K2 K3 K4 K5

Vagueness

ParBBon ¡on ¡all ¡possible ¡standards ¡of ¡comparison ¡for ¡the ¡context ¡

  • set. ¡ ¡With ¡5 ¡disBnct ¡PRICE ¡values, ¡“expensive” ¡could ¡have ¡5 ¡

meanings:

std ¡≥ ¡$379 std ¡≥ ¡$199 std ¡≥ ¡$149 std ¡≥ ¡$99

64

2 3 4 5 6 std ¡≥ ¡$79 1 expensive

Tuesday, November 5, 13
slide-90
SLIDE 90

/122 65

“the ¡big ¡ones”

Tuesday, November 5, 13
slide-91
SLIDE 91 the cost: 0.01 second cost: 3.10
  • ne2
cost: 5.41 leftmost cost: 3.61 1 size:7 2 size:7 3 size:3 4 size:3 5 size:1 66

“the ¡second”

Ellipsis:

Tuesday, November 5, 13
slide-92
SLIDE 92 the cost: 0.01 second cost: 3.10
  • ne2
cost: 5.41 leftmost cost: 3.61 1 size:7 2 size:7 3 size:3 4 size:3 5 size:1 66

“the ¡second”

Ellipsis:

Tuesday, November 5, 13
slide-93
SLIDE 93 the cost: 0.01 second cost: 3.10
  • ne2
cost: 5.41 leftmost cost: 3.61 1 size:7 2 size:7 3 size:3 4 size:3 5 size:1 66

“the ¡second”

0.0 0.5 1.0 Relative likelihood of denotation [one2] [leftmost] second the “the second” in CIRCLES domain Possible Targets {c1} {c2} {c3} {c1, c2} {c1, c3} {c2, c3} {c1, c2, c3}

Ellipsis:

Tuesday, November 5, 13
slide-94
SLIDE 94 the cost: 0.01 second cost: 3.10
  • ne2
cost: 5.41 leftmost cost: 3.61 1 size:7 2 size:7 3 size:3 4 size:3 5 size:1 67

“the ¡second”

0.0 0.5 1.0 Relative likelihood of denotation [one2] [leftmost] second the “the second” in CIRCLES domain Possible Targets {c1} {c2} {c3} {c1, c2} {c1, c3} {c2, c3} {c1, c2, c3}

Ellipsis:

Tuesday, November 5, 13
slide-95
SLIDE 95

/122 68

Presentation ¡Overview

I. A ¡computational ¡model ¡for ¡Automatically ¡Interpreting ¡& ¡ Generating ¡Referring ¡Expressions ¡(AIGRE)

1. Generation ¡as ¡belief-­‑state ¡planning, ¡Interpretation ¡as ¡plan-­‑recognition

  • fast
  • incremental
  • non-­‑deterministic

2. Handles ¡context-­‑dependent ¡word ¡meanings ¡for ¡a ¡fragment ¡of ¡English ¡NPs

  • unspeci1ic ¡meanings
  • quanti1iers
  • ambiguity
  • vagueness
  • ellipsis

3. Evaluation ¡on ¡Turk ¡Data

  • Collecting ¡Data
  • Generation ¡Coverage
  • Interpretation ¡Coverage
  • II. IntegraBon ¡of ¡both ¡processes ¡to ¡model ¡the ¡hearer’s ¡about ¡

speakers’ ¡decisions

Tuesday, November 5, 13
slide-96
SLIDE 96

/122

Collecting ¡Data

Created ¡web ¡interface ¡for ¡authoring ¡experiments

69

Tuesday, November 5, 13
slide-97
SLIDE 97

/122 70

Dataset ¡Details

Tuesday, November 5, 13
slide-98
SLIDE 98 71

Full ¡AIGRE ¡Generation ¡Output

Tuesday, November 5, 13
slide-99
SLIDE 99

/122

Evaluating ¡Generation ¡

72

Tuesday, November 5, 13
slide-100
SLIDE 100

{c1} {c2} {c3} {c1, c2} {c1, c3} {c2, c3} {c1, c2, c3}

0.0 0.2 0.4 0.6 0.8 1.0

Mean Sorensen-Dice coefficient

Referring Expression Quality in CIRCLES domain for 15 Best-first Stochastic Hillclimbing Stochastic Hillclimbing with backtracking

/122

Generation ¡Quality

73

Tuesday, November 5, 13
slide-101
SLIDE 101

Scales ¡well ¡with ¡Lexicon ¡Size

Generation ¡scales ¡linearly ¡with ¡lexicon ¡size

74 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 Number of Actions −50 50 100 150 200 250 300 350 Search time (sec)

Lexicon Size versus Search Time A* Best-first Stochastic Hillclimbing

Tuesday, November 5, 13
slide-102
SLIDE 102 (1,1) (2,1) (3,1) (4,1) (5,1) (# distractors, #of discriminating properties required) 0.0 0.5 1.0 1.5 2.0 2.5 3.0 Avgerage search time (seconds) for 50 trials

Comparison of Search Methods for REG A* Search Best-first Search Stochastic Hillclimbing with Backtracking Stochastic Hillclimbing with 0.50 Backtracking

Scales ¡well ¡with ¡Task ¡Complexity

(p,d)-­‑task: ¡ ¡Given ¡p ¡properties ¡are ¡required ¡to ¡ distinguish ¡the ¡target ¡from ¡d ¡distractors.

75

[Koller ¡& ¡Petrick ¡2010]

Tuesday, November 5, 13
slide-103
SLIDE 103

/122 76

Evaluating ¡Interpretation

How ¡many ¡of ¡the ¡referring ¡expressions ¡could ¡AIGRE ¡ interpret ¡successfully?

Tuesday, November 5, 13
slide-104
SLIDE 104

/122

Preprocessing ¡Steps

  • 1. Removed ¡REs ¡contributed ¡only ¡from ¡one ¡person
  • 2. Added ¡actions/lexical ¡entries ¡for ¡many ¡missing ¡

words, ¡but ¡crucially, ¡did ¡not ¡extend ¡the ¡lexical ¡ semantics

  • 3. Removed ¡entries ¡that ¡had ¡words ¡outside ¡of ¡lexicon.
  • 4. Because ¡AIGRE ¡only ¡interprets ¡NPs ¡with ¡prenominal ¡

modifiers, ¡all ¡complex ¡NP ¡of ¡the ¡list-­‑form: ¡“X, ¡Y, ¡and ¡ Z” ¡were ¡interpreted ¡separately ¡as ¡their ¡parts ¡and ¡their ¡ denotation ¡was ¡the ¡union ¡of ¡the ¡three ¡ interpretations.

77

Tuesday, November 5, 13
slide-105
SLIDE 105

/122

Interpretation ¡Results

Very ¡good ¡coverage ¡on ¡CIRCLES, ¡not ¡as ¡good ¡on ¡

  • KINDLES. ¡

78

Tuesday, November 5, 13
slide-106
SLIDE 106

/122

Ablation ¡Analysis ¡/ ¡Semantic ¡Tagging

79

Which ¡types ¡of ¡words ¡were ¡most ¡common? ¡ ¡Gradable ¡

  • adjectives. ¡
Tuesday, November 5, 13
slide-107
SLIDE 107

/122

Gradable ¡adjectives

80

1 2 3 4 Sense Number 5 10 15 20 25 30 35 40 Number of timese used What sense of a graded adjective did humans use?

Like ¡AIGRE, ¡humans ¡tended ¡to ¡use ¡the ¡most ¡restrictive ¡ sense ¡of ¡a ¡graded ¡meaning.

Tuesday, November 5, 13
slide-108
SLIDE 108 k3 price: $379.00 k4 price: $199.00 k2 price: $149.00 k0 price: $79.00 k1 price: $99.00 Referents 50 100 150 Tolerance Coefficent (τ) τ = 20 τ = 50 τ = 50 τ = 180

/122

Extending ¡Vagueness

For ¡coarser ¡groupings, ¡a ¡tolerance ¡parameter ¡can ¡be ¡used

std ¡≥ ¡$379 std ¡≥ ¡$199 std ¡≥ ¡$149 std ¡≥ ¡$99 2 3 4 5 6 std ¡≥ ¡$79

τ= ¡0

clustering ¡coefficient ¡/ ¡tolerance ¡parameter

std ¡≥ ¡$379 std ¡≥ ¡$199 1 2 3 expensive

τ= ¡50

1 expensive

Tuesday, November 5, 13
slide-109
SLIDE 109

/122

Underspecification ¡(65%)

82

97 ¡errors ¡total ¡(26 ¡REs) ¡stemmed ¡from ¡two ¡descriptions:

the ¡kindle ¡touch the ¡kindle

K1 K2 K3 K4 K5

Tuesday, November 5, 13
slide-110
SLIDE 110

/122 83

the ¡kindle ¡touch the ¡kindle

K1 K2 K3 K4 K5

Underspecification ¡(65%)

97 ¡errors ¡total ¡(26 ¡REs) ¡stemmed ¡from ¡two ¡descriptions:

Tuesday, November 5, 13
slide-111
SLIDE 111

/122 84

the ¡kindle ¡touch the ¡kindle

K1 K2 K3 K4 K5

Underspecification ¡(65%)

97 ¡errors ¡total ¡(26 ¡REs) ¡stemmed ¡from ¡two ¡descriptions:

Tuesday, November 5, 13
slide-112
SLIDE 112

/122 85

Presentation ¡Overview

I. A ¡computational ¡model ¡for ¡Automatically ¡Interpreting ¡& ¡ Generating ¡Referring ¡Expressions ¡(AIGRE)

1. Generation ¡as ¡belief-­‑state ¡planning, ¡Interpretation ¡as ¡plan-­‑recognition

  • fast
  • incremental
  • non-­‑deterministic

2. Handles ¡context-­‑dependent ¡word ¡meanings ¡for ¡a ¡fragment ¡of ¡English ¡NPs

  • unspeci1ic ¡meanings
  • quanti1iers
  • ambiguity
  • vagueness
  • ellipsis

3. Evaluation ¡on ¡Turk ¡Data

  • Collecting ¡Data
  • Generation ¡Coverage
  • Interpretation ¡Coverage
  • II. IntegraBon ¡of ¡both ¡processes ¡to ¡model ¡the ¡hearer’s ¡about ¡

speakers’ ¡decisions

Tuesday, November 5, 13
slide-113
SLIDE 113 G1 G2

/122 86

Which ¡goal ¡is ¡the ¡robot ¡after?

Tuesday, November 5, 13
slide-114
SLIDE 114 a2 a1 G1 G2 s0 s1

/122 87

Which ¡goal ¡is ¡the ¡robot ¡after?

Tuesday, November 5, 13
slide-115
SLIDE 115 a3 p l a n
  • c
  • s
t ( a 1 , a 2 , a 3 ) a2 a1 G1 G2 s0 s1

/122 88

A ¡cost-­‑difference ¡approach

¡[Ramírez ¡& ¡Geffner ¡2009,2010]

Tuesday, November 5, 13
slide-116
SLIDE 116 a3 p l a n
  • c
  • s
t ( a 1 , a 2 , a 3 ) a2 a1 G1 G2 s0 s1

/122 89

A ¡cost-­‑difference ¡approach

¡[Ramírez ¡& ¡Geffner ¡2009,2010]

Tuesday, November 5, 13
slide-117
SLIDE 117 a3 p l a n
  • c
  • s
t ( a 1 , a 2 , a 3 ) a2 a1 G1 G2 s0 s1

/122 90

A ¡cost-­‑difference ¡approach

¡[Ramírez ¡& ¡Geffner ¡2009,2010]

¡∆(G1) ¡ ¡= ¡plan-­‑cost(a1, ¡a2, ¡a3) ¡-­‑ ¡plan-­‑cost(a5, ¡)

Tuesday, November 5, 13
slide-118
SLIDE 118 a4 plan-cost(a 1 , a 2 , a 4 ) a2 a1 G1 G2 s0 s1

/122 91

A ¡cost-­‑difference ¡approach

¡∆(G1) ¡ ¡= ¡plan-­‑cost(a1, ¡a2, ¡a3) ¡-­‑ ¡plan-­‑cost(a5, ¡)

¡[Ramírez ¡& ¡Geffner ¡2009,2010]

Tuesday, November 5, 13
slide-119
SLIDE 119 a4 plan-cost(a 1 , a 2 , a 4 ) a2 a1 G1 G2 s0 s1

/122 92

A ¡cost-­‑difference ¡approach

¡∆(G1) ¡ ¡= ¡plan-­‑cost(a1, ¡a2, ¡a3) ¡-­‑ ¡plan-­‑cost(a5,) ¡∆(G2) ¡ ¡= ¡plan-­‑cost(a1, ¡a2, ¡a4) ¡-­‑ ¡plan-­‑cost(a6 ¡)

¡[Ramírez ¡& ¡Geffner ¡2009,2010]

Tuesday, November 5, 13
slide-120
SLIDE 120 a4 plan-cost(a 1 , a 2 , a 4 ) a2 a1 G1 G2 s0 s1

/122 93

A ¡cost-­‑difference ¡approach

¡∆(G1) ¡ ¡= ¡plan-­‑cost(a1, ¡a2, ¡a3) ¡-­‑ ¡plan-­‑cost(a5,) ¡∆(G2) ¡ ¡= ¡plan-­‑cost(a1, ¡a2, ¡a4) ¡-­‑ ¡plan-­‑cost(a6 ¡)

Pick ¡ Minimum

¡[Ramírez ¡& ¡Geffner ¡2009,2010]

Tuesday, November 5, 13
slide-121
SLIDE 121 a4 plan-cost(a 1 , a 2 , a 4 ) a2 a1 G1 G2 s0 s1

/122 94

A ¡cost-­‑difference ¡approach

¡∆(G1) ¡ ¡= ¡plan-­‑cost(a1, ¡a2, ¡a3) ¡-­‑ ¡plan-­‑cost(a5,) ¡∆(G2) ¡ ¡= ¡plan-­‑cost(a1, ¡a2, ¡a4) ¡-­‑ ¡plan-­‑cost(a6 ¡)

Pick ¡ Minimum

¡[Ramírez ¡& ¡Geffner ¡2009,2010]

Where ¡does ¡this ¡ theory ¡of ¡ alternative ¡actions ¡ come ¡from?

Tuesday, November 5, 13
slide-122
SLIDE 122

Summary

95
  • 1. ¡ ¡Ideas ¡from ¡belief-­‑state ¡planning ¡can ¡be ¡used ¡effecBvely ¡to ¡

achieve ¡fast, ¡incremental, ¡non-­‑determinisBc ¡generaBon ¡and ¡ interpreta.on ¡of ¡referring ¡expressions.

Tuesday, November 5, 13
slide-123
SLIDE 123

Summary

96
  • 1. ¡ ¡Ideas ¡from ¡belief-­‑state ¡planning ¡can ¡be ¡used ¡effecBvely ¡to ¡

achieve ¡fast, ¡incremental, ¡non-­‑determinisBc ¡generaBon ¡and ¡ interpreta.on ¡of ¡referring ¡expressions.

  • 2. ¡ ¡By ¡generaBng ¡the ¡search ¡space ¡such ¡that ¡the ¡most ¡likely ¡

meanings ¡occur ¡first, ¡an ¡early-­‑commit ¡search ¡leads ¡to ¡simple ¡ soluBons ¡for ¡vagueness ¡and ¡ambiguity.

Tuesday, November 5, 13
slide-124
SLIDE 124

Summary

97
  • 1. ¡ ¡Ideas ¡from ¡belief-­‑state ¡planning ¡can ¡be ¡used ¡effecBvely ¡to ¡

achieve ¡fast, ¡incremental, ¡non-­‑determinisBc ¡generaBon ¡and ¡ interpreta.on ¡of ¡referring ¡expressions.

  • 2. ¡ ¡By ¡generaBng ¡the ¡search ¡space ¡such ¡that ¡the ¡most ¡likely ¡

meanings ¡occur ¡first, ¡an ¡early-­‑commit ¡search ¡leads ¡to ¡simple ¡ soluBons ¡for ¡vagueness ¡and ¡ambiguity.

  • 3. ¡ ¡NLG ¡plays ¡an ¡important ¡role ¡in ¡NLU! ¡ ¡Both ¡should ¡be ¡

modeled ¡in ¡tandem: ¡they ¡both ¡offer ¡constraints ¡on ¡the ¡other’s ¡ problem.

Tuesday, November 5, 13
slide-125
SLIDE 125

/122

Thanks ¡to

1. Advisors: ¡ ¡Henry ¡Lieberman, ¡Marvin ¡Minsky, ¡Augustin ¡Rayo, ¡ ¡Pattie ¡Maes 2. Colleagues: ¡ ¡Karthik ¡Dinakar, ¡Christopher ¡Fry, ¡Bo ¡Morgan, ¡The ¡ Commonsense ¡Group ¡(Catherine, ¡Rob, ¡Jason, ¡Ken) 3. UROPS: ¡ ¡Yin ¡Fu ¡Chan, ¡Nicolas ¡Bravo, ¡Tom ¡Roberts, ¡Erin ¡King, ¡Gleb ¡ Kuznetsov, ¡ 4. Support: ¡MIT ¡Media ¡Lab, ¡and ¡its ¡sponsors. ¡ ¡ 5. Friends ¡& ¡Family! 98

AIGRE

Tuesday, November 5, 13
slide-126
SLIDE 126

Scaling ¡up ¡the ¡Lexicon

99 fringe = PriorityQueue() closed = set() fringe.push((1.0, initial_state,)) # heuristic search loop while not fringe.empty(): # take node with lowest h h, node = fringe.pop() if node in closed: continue if goal_test_function(node) == True: return node for action in get_relevant_actions(node): for child_node in action(node): child_h = heuristic(child_node) child_h += path_cost(child_node) G.add_edge(node, child_node, action) fringe.push((child_h, child_node,)) closed.add(node)

G (search graph): 1 t h e 2 aback 3 a b s u r d 4 22K z

  • n

k e d . . .

Tuesday, November 5, 13
slide-127
SLIDE 127

Scaling ¡up ¡the ¡Lexicon

100 fringe = PriorityQueue() closed = set() fringe.push((1.0, initial_state,)) # heuristic search loop while not fringe.empty(): # take node with lowest h h, node = fringe.pop() if node in closed: continue if goal_test_function(node) == True: return node for action in get_relevant_actions(node): for child_node in action(node): child_h = heuristic(child_node) child_h += path_cost(child_node) G.add_edge(node, child_node, action) fringe.push((child_h, child_node,)) closed.add(node)

G (search graph): 1 t h e 2 aback 3 a b s u r d 4 22K z

  • n

k e d . . .

Approaches ¡to ¡filtering ¡Ac+ons: ¡ ¡1. ¡Use ¡language ¡model ¡ ¡ ¡ ¡ ¡ ¡s.ll ¡100Ks ¡to ¡consider ¡ ¡2. ¡Use ¡lexical-­‑semanBc ¡informaBon ¡ ¡ ¡(1) ¡sort ¡by ¡lexical ¡frequency ¡ ¡ ¡(2) ¡sort ¡by ¡content ¡frequency ¡ ¡ ¡ ¡(3) ¡remove ¡no-­‑ops

  • 3. ¡Separate ¡out ¡effect ¡generaBon
  • 4. ¡Commit ¡early! ¡

¡ ¡local ¡search ¡/ ¡hill ¡climbing

Tuesday, November 5, 13
slide-128
SLIDE 128

AIGRE’s ¡Approach

101

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: [] partial:{} 1

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-129
SLIDE 129

AIGRE’s ¡Approach

102

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: action: big/JJG effects: [] partial:{} 1

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-130
SLIDE 130

AIGRE’s ¡Approach

103

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: action: big/JJG partial:{} [] 1

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-131
SLIDE 131

AIGRE’s ¡Approach

104

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: action: big/JJG [(big/JJG, e1(), 0.8)] partial:{} 1

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-132
SLIDE 132

AIGRE’s ¡Approach

105

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: action: big/JJG partial: 1 {} effects: [(big/JJG, e1(), 0.8)]

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-133
SLIDE 133

AIGRE’s ¡Approach

106

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: action: big/JJG [(big/JJG, e1(), 0.8), (big/JJG, e2(), 1.6)] partial:{} 1

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-134
SLIDE 134

AIGRE’s ¡Approach

107

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: action: big/JJG [(big/JJG, e1(), 0.8), (big/JJG, e2(), 1.6)] partial: 1 {}

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-135
SLIDE 135

AIGRE’s ¡Approach

108

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: action: big/JJG [(big/JJG, e1(), 0.8), (big/JJG, e2(), 1.6), (big/JJG, e3(), 3.2)] 1 partial:{}

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break def big(node): """ The Graded Adjective BIG """ # iterate through each sense (polysemy/ambiguity) for path_to_attribute in node.get_property_paths('size'): # iterate through each value from max (gradability/vagueness) for value in node.get_values(path_to_attribute, sort_by='max'): def effect(node2): node2.merge(path_to_attribute, value) return actual_cost yield effect, estimated_cost Tuesday, November 5, 13
slide-136
SLIDE 136

AIGRE’s ¡Approach

109

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: action: big/JJG [(big/JJG, e1(), 0.8), (big/JJG, e2(), 1.6), (big/JJG, e3(), 3.2)] 1 partial:{}

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break def effect(node2): node2.merge(path_to_attribute, value) return actual_cost Tuesday, November 5, 13
slide-137
SLIDE 137

AIGRE’s ¡Approach

110

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: action: big/JJG [(big/JJG, e1(), 0.8), (big/JJG, e2(), 1.6), (big/JJG, e3(), 3.2)] 1 partial:{}

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break def effect(node2): node2.merge([‘hard_drive’,‘size‘], 20) return 1.3 Tuesday, November 5, 13
slide-138
SLIDE 138

AIGRE’s ¡Approach

111

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: [(big/JJG, e1(), 0.8), (big/JJG, e2(), 1.6), (big/JJG, e3(), 3.2), (cheap/JJG, e1(), 0.2), (cheap/JJG, e2(), 0.8), (dangerous/JJG, e1(), 0.8), (efficient/JJG, e1(), 0.2), (fast/JJG, e1(), 3.0), (good/JJG, e1(), 0.1), (horrible/JJG, e1(), 0.3)] 1 partial:{}

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-139
SLIDE 139

AIGRE’s ¡Approach

112

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: [(big/JJG, e1(), 0.1228), (big/JJG, e2(), 0.0011), (big/JJG, e3(), 0.0000083), (cheap/JJG, e1(), 0.10111), (cheap/JJG, e2(), 0.0082), (dangerous/JJG, e1(), 0.01820), (efficient/JJG, e1(), 0.00013), (fast/JJG, e1(), 0.20823), (good/JJG, e1(), 0.039168), (horrible/JJG, e1(), 0.002323)] 1 partial:{}

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-140
SLIDE 140

AIGRE’s ¡Approach

113

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: [(big/JJG, e1(), 0.1228), (big/JJG, e2(), 0.0011), (big/JJG, e3(), 0.0000083), (cheap/JJG, e1(), 0.10111), (cheap/JJG, e2(), 0.0082), (dangerous/JJG, e1(), 0.01820), (efficient/JJG, e1(), 0.00013), (fast/JJG, e1(), 0.20823), (good/JJG, e1(), 0.039168), (horrible/JJG, e1(), 0.002323)] partial:{} 1

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-141
SLIDE 141

AIGRE’s ¡Approach

113

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects: [(big/JJG, e1(), 0.1228), (big/JJG, e2(), 0.0011), (big/JJG, e3(), 0.0000083), (cheap/JJG, e1(), 0.10111), (cheap/JJG, e2(), 0.0082), (dangerous/JJG, e1(), 0.01820), (efficient/JJG, e1(), 0.00013), (fast/JJG, e1(), 0.20823), (good/JJG, e1(), 0.039168), (horrible/JJG, e1(), 0.002323)] partial:{} 1

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-142
SLIDE 142

AIGRE’s ¡Approach

114

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects:[(big/JJG, e1(), 0.1228), ...] (fast/JJG, e1(), 0.20823) effect: 1 partial:{}

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-143
SLIDE 143

AIGRE’s ¡Approach

115

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects:[(big/JJG, e1(), 0.1228), ...] (fast/JJG, e1(), 0.20823) effect: 1 partial:{} child_node: 3

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-144
SLIDE 144

AIGRE’s ¡Approach

116

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects:[(big/JJG, e1(), 0.1228), ...] (fast/JJG, e1(), 0.20823) effect: 1 partial:{} child_node: act_cost: 3 3

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-145
SLIDE 145

AIGRE’s ¡Approach

117

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 Priority: Node: effects:[(big/JJG, e1(), 0.1228), ...] (fast/JJG, e1(), 0.20823) effect: 1 partial:{} child_node: act_cost: 3 3 child_h: 0.8

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-146
SLIDE 146

AIGRE’s ¡Approach

118

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 effects:[(big/JJG, e1(), 0.1228), ...] (fast/JJG, e1(), 0.20823), effect: 1 partial:{} child_node: act_cost: 3 3 child_h: 0.8 Priority: 0.8 Node: 3

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-147
SLIDE 147

AIGRE’s ¡Approach

119

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 effects:[(big/JJG, e1(), 0.1228), ...] (fast/JJG, e1(), 0.20823), effect: 1 partial:{} child_node: act_cost: 3 3 child_h: 0.8 3 f a s t 3 Priority: 0.8 Node: 3

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-148
SLIDE 148

AIGRE’s ¡Approach

120

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 effects:[(big/JJG, e1(), 0.1228), ...] (fast/JJG, e1(), 0.20823), effect: 1 partial:{} child_node: act_cost: 3 3 child_h: 0.8 3 f a s t 3 Priority: 0.8 Node: 3

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-149
SLIDE 149

AIGRE’s ¡Approach

121

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 effects:[(big/JJG, e1(), 0.1228), ...] (fast/JJG, e1(), 0.20823), effect: 1 partial: child_node: act_cost: 3 3 child_h: 0.8 3 f a s t 3 Priority: 0.8 Node: 3 { } 2

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-150
SLIDE 150

AIGRE’s ¡Approach

122

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 1.0 2 effects:[(big/JJG, e1(), 0.1228), ...] (fast/JJG, e1(), 0.20823), effect: 1 partial: child_node: act_cost: 3 3 child_h: 0.8 3 f a s t 3 Priority: 0.8 Node: 3 { } 2

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break Tuesday, November 5, 13
slide-151
SLIDE 151

AIGRE’s ¡Approach

123

G (search graph): 1 t h e 2 fringe: closed: { } 1 h: node: 0.8 3

while not fringe.empty(): ... if goal_test_function(node): yield node effects = [] for action in get_relevant_actions(node): for est_cost, effect in action(node): effects.append((action, effect, est_cost,)) effects = normalize(effects) for _,effect,_ in sample_wo_repeats(effects): child_node = node.copy() act_cost = effect(child_node) child_h = heuristic(child_node) fringe.push((child_h, child_node,)) G.add_edge(node, child, action, act_cost) if child_h < h: partial.add(node) break

1 partial: 3 f a s t 3 { } 2 Priority: Node:

Tuesday, November 5, 13
slide-152
SLIDE 152

Future ¡Work, ¡Learning ¡h()

124 fringe = PriorityQueue() closed = set() fringe.push((1.0, initial_state,)) # heuristic search loop while not fringe.empty(): # take node with lowest h h, node = fringe.pop() if node in closed: continue if goal_test_function(node) == True: return node for action in get_relevant_actions(node): for child_node in action(node): child_h = heuristic(child_node) G.add_edge(node, child_node, action) fringe.push((child_h, child_node,)) closed.add(node)

How ¡do ¡we ¡esMmate ¡distances ¡to ¡the ¡goal? With ¡features ¡and ¡examples, ¡heuris+c ¡ func+ons ¡can ¡be ¡learned:

Tuesday, November 5, 13
slide-153
SLIDE 153

|b0| =

min(|R|−clow,thigh,|R|)

X

k=tlow

✓|R| k ◆

R = {r 2 referent domain : r | = b0.target ^ r 6| = b0.distractor}

/122

Computing ¡Size ¡w/o ¡Enumeration

TARGETSET_ARITY: [tlow, thigh] CONTRAST_ARITY: [clow, chigh] TARGET: DISTRACTOR:

125

Tuesday, November 5, 13
slide-154
SLIDE 154

|b0| =

min(|R|−clow,thigh,|R|)

X

k=tlow

✓|R| k ◆

R = {r 2 referent domain : r | = b0.target ^ r 6| = b0.distractor}

/122

Computing ¡Size ¡w/o ¡Enumeration

TARGETSET_ARITY: [tlow, thigh] CONTRAST_ARITY: [clow, chigh] TARGET: DISTRACTOR:

no ¡closed ¡form ¡solution, ¡but ¡ways ¡ to ¡simplify ¡computation 125

Tuesday, November 5, 13
slide-155
SLIDE 155

Belief-space ≠ State-space

User: ¡“How ¡many ¡files ¡are ¡in ¡/usr/foo ¡?” Computer: ¡ ¡“Let ¡me ¡check....”

cd /usr/foo

[Weld Golden 1996]

l s | w c rm -f /usr/foo

126

1 3 2

AIGRE’s ¡actions ¡only ¡affect ¡belief ¡space, ¡and ¡there ¡are ¡no ¡ negative/delete ¡effects. ¡They ¡reduce ¡uncertainty ¡about ¡the ¡ state ¡space; ¡information ¡monotonically ¡increases.

[for state-space REG planning, see Koller’s SCRISP]

Tuesday, November 5, 13
slide-156
SLIDE 156

/122

Lexical ¡Units ¡are ¡Actions

the = DefiniteArticle('the') # this, these this = DefiniteArticle('this') # a, some a = IndefiniteArticle('a') red = CrispAdjective('red', 'color', 'red') yellow = CrispAdjective('yellow', 'color', 'yellow') green = CrispAdjective('green', 'color', 'green') blue = CrispAdjective('blue', 'color', 'blue')
  • range = CrispAdjective('orange', 'color', ['yellow', 'red'])
# big, biggest, most big, bigger, more big big = GradableAdjective('big', 'size') # small, smallest, most small, smaller, more small small = GradableAdjective('small', 'size', minimize=True) # light, lightest, most light, lighter, more big light1 = GradableAdjective('light', 'weight') light2 = GradableAdjective('light', 'brightness', minimize=True) # triangle, triangles triangle = CrispCountNoun('triangle', 'shape', 'triangle') # circle, circles circle = CrispCountNoun('circle', 'shape', 'circle') # square, squares square = CrispCountNoun('square', 'shape', 'square')

127

Tuesday, November 5, 13
slide-157
SLIDE 157

/122

Lexical ¡Units ¡are ¡Actions

the = DefiniteArticle('the') # this, these this = DefiniteArticle('this') # a, some a = IndefiniteArticle('a') red = CrispAdjective('red', 'color', 'red') yellow = CrispAdjective('yellow', 'color', 'yellow') green = CrispAdjective('green', 'color', 'green') blue = CrispAdjective('blue', 'color', 'blue')
  • range = CrispAdjective('orange', 'color', ['yellow', 'red'])
# big, biggest, most big, bigger, more big big = GradableAdjective('big', 'size') # small, smallest, most small, smaller, more small small = GradableAdjective('small', 'size', minimize=True) # light, lightest, most light, lighter, more big light1 = GradableAdjective('light', 'weight') light2 = GradableAdjective('light', 'brightness', minimize=True) # triangle, triangles triangle = CrispCountNoun('triangle', 'shape', 'triangle') # circle, circles circle = CrispCountNoun('circle', 'shape', 'circle') # square, squares square = CrispCountNoun('square', 'shape', 'square')

128

Tuesday, November 5, 13
slide-158
SLIDE 158

/122

Lexical ¡Units ¡are ¡Actions

the = DefiniteArticle('the') # this, these this = DefiniteArticle('this') # a, some a = IndefiniteArticle('a') red = CrispAdjective('red', 'color', 'red') yellow = CrispAdjective('yellow', 'color', 'yellow') green = CrispAdjective('green', 'color', 'green') blue = CrispAdjective('blue', 'color', 'blue')
  • range = CrispAdjective('orange', 'color', ['yellow', 'red'])
# big, biggest, most big, bigger, more big big = GradableAdjective('big', 'size') # small, smallest, most small, smaller, more small small = GradableAdjective('small', 'size', minimize=True) # light, lightest, most light, lighter, more big light1 = GradableAdjective('light', 'weight') light2 = GradableAdjective('light', 'brightness', minimize=True) # triangle, triangles triangle = CrispCountNoun('triangle', 'shape', 'triangle') # circle, circles circle = CrispCountNoun('circle', 'shape', 'circle') # square, squares square = CrispCountNoun('square', 'shape', 'square')

Granularities

  • f ¡Meaning

128

Tuesday, November 5, 13
slide-159
SLIDE 159

/122

Lexical ¡Units ¡are ¡Actions

the = DefiniteArticle('the') # this, these this = DefiniteArticle('this') # a, some a = IndefiniteArticle('a') red = CrispAdjective('red', 'color', 'red') yellow = CrispAdjective('yellow', 'color', 'yellow') green = CrispAdjective('green', 'color', 'green') blue = CrispAdjective('blue', 'color', 'blue')
  • range = CrispAdjective('orange', 'color', ['yellow', 'red'])
# big, biggest, most big, bigger, more big big = GradableAdjective('big', 'size') # small, smallest, most small, smaller, more small small = GradableAdjective('small', 'size', minimize=True) # light, lightest, most light, lighter, more big light1 = GradableAdjective('light', 'weight') light2 = GradableAdjective('light', 'brightness', minimize=True) # triangle, triangles triangle = CrispCountNoun('triangle', 'shape', 'triangle') # circle, circles circle = CrispCountNoun('circle', 'shape', 'circle') # square, squares square = CrispCountNoun('square', 'shape', 'square')

Granularities

  • f ¡Meaning

Gradable ¡ Adjectives

128

Tuesday, November 5, 13
slide-160
SLIDE 160

/122

Lexical ¡Units ¡are ¡Actions

the = DefiniteArticle('the') # this, these this = DefiniteArticle('this') # a, some a = IndefiniteArticle('a') red = CrispAdjective('red', 'color', 'red') yellow = CrispAdjective('yellow', 'color', 'yellow') green = CrispAdjective('green', 'color', 'green') blue = CrispAdjective('blue', 'color', 'blue')
  • range = CrispAdjective('orange', 'color', ['yellow', 'red'])
# big, biggest, most big, bigger, more big big = GradableAdjective('big', 'size') # small, smallest, most small, smaller, more small small = GradableAdjective('small', 'size', minimize=True) # light, lightest, most light, lighter, more big light1 = GradableAdjective('light', 'weight') light2 = GradableAdjective('light', 'brightness', minimize=True) # triangle, triangles triangle = CrispCountNoun('triangle', 'shape', 'triangle') # circle, circles circle = CrispCountNoun('circle', 'shape', 'circle') # square, squares square = CrispCountNoun('square', 'shape', 'square')

Granularities

  • f ¡Meaning

Gradable ¡ Adjectives Polysemy

128

Tuesday, November 5, 13