personalized mathematical word problem generation
play

Personalized Mathematical Word Problem Generation Oleksandr Polozov - PowerPoint PPT Presentation

Personalized Mathematical Word Problem Generation Oleksandr Polozov * Eleanor ORourke * Adam M. Smith * Luke Zettlemoyer * Zoran Popovi * Sumit Gulwani * University of Washington Microsoft Research 1 Word Problems Suzy is ten years


  1. Personalized Mathematical Word Problem Generation Oleksandr Polozov * Eleanor O’Rourke * Adam M. Smith * Luke Zettlemoyer * Zoran Popović * Sumit Gulwani ǂ * University of Washington ǂ Microsoft Research 1

  2. Word Problems Suzy is ten years older than Billy, and next year she will be twice as old as Billy. How old is Suzy now? Evelyn went to the store 8 times last month. She buys 11 stickers each time she goes to the store. How many stickers did Evelyn buy last month? You attended high school for 4 years. Each year you bought 7 new textbooks. How many textbooks do you have at home now? Best known way to teach mathematical modelling skills. 2

  3. Word Problems Suzy is ten years older than Billy, and next year she will be twice as old as Billy. How old is Suzy now? Evelyn went to the store 8 times last month. • Notoriously difficult as compared to algebra! She buys 11 stickers each time she goes to the store. How many stickers did Evelyn buy last month? Y ou attended high school for 4 years. Each year you bought 7 new textbooks. How many textbooks do you have at home now? 3

  4. Word Problems Suzy is ten years older than Billy, and next year she will be twice as old as Billy. How old is Suzy now? Evelyn went to the store 8 times last month. • Notoriously difficult as compared to algebra! She buys 11 stickers each time she goes to the store. How many stickers did Evelyn buy last month? Y ou attended high school for 4 years. Each year you bought 7 new textbooks. How many textbooks do you have at home now? Cummins, Denise Dellarosa, et al. "The role of understanding in solving word problems." Cognitive psychology 20.4 (1988): 405-438. 4

  5. Word Problems Suzy is ten years older than Billy, and next year she will be twice as old as Billy. How old is Suzy now? Evelyn went to the store 8 times last month. • Notoriously difficult as compared to algebra! She buys 11 stickers each time she goes to the store. How many stickers did Evelyn buy last month? Y ou attended high school for 4 years. Each year you bought 7 new textbooks. How many textbooks do you have at home now? • Perceived as boring, artificial, unconnected to the students’ lives ⟹ not learnt 5

  6. Computer-Aided Pedagogy • Automatically crafted problem progression:  Control over complexity dimensions  Per-student personalization  Adaptive progression  T oolkit for data-driven research  Enormous design space ⇒ Declarative specification 6

  7. Workflow 5 problems Fantasy/SciFi world 5 problems Test multiplication: Use me and my friends Test multiplication: as characters 𝑦 = 𝑧 ⋅ 𝑨 𝑦 = 𝑧 ⋅ 𝑨 Time/travel only Simple language Problem … Generator 7

  8. Duke Randall’s countryside consists of 11 towers, surrounded by 3 villages each. He and baron Luke are at war. Luke has already occupied 16 villages with the help of wizard Caroline. How many villages are still unoccupied by the baron? 8

  9. Workflow 5 problems Fantasy/SciFi world 5 problems Test multiplication: Use me and my friends Test multiplication: as characters 𝑦 = 𝑧 ⋅ 𝑨 𝑦 = 𝑧 ⋅ 𝑨 Time/travel only Logic Generation Simple language … Language Generation 9

  10. Problem Generator Problem Logic Natural Language Generation Generation • Plot generation • Sentence ordering • Discourse tropes • Reference resolution 10

  11. Problem Generator Problem Logic Natural Language Generation Generation • Plot generation • Sentence ordering • Discourse tropes • Reference resolution 11

  12. Problem Generation = Declaratively constrained synthesis of logical graphs that represent abstract plots 12

  13. Problem Logic Generation • Math: addition • Setting: Fantasy • Character: Ellie 13

  14. Step 1: Equation • Math: 𝑦 = 𝑧 + 12 • Setting: Fantasy • Character: Ellie 14

  15. Step 2: Plot Relations • Math: 𝑦 = 𝑧 + 12 • Setting: Fantasy • Character: Ellie 15

  16. Step 2: Plot Relations • Math: 𝑦 = 𝑧 + 12 • Setting: Fantasy • Character: Ellie 16

  17. Step 2: Plot Relations • Math: 𝑦 = 𝑧 + 12 • Setting: Fantasy • Character: Ellie 17

  18. Step 2: Plot Relations • Math: 𝑦 = 𝑧 + 12 • Setting: Fantasy • Character: Ellie 18

  19. Answer Set Programming Illustration: Graph Coloring problem instance problem encoding 1 { assign(N, C): color(C) } 1 ← node(N). node(a). node(b). node(c). node(d). For each node 𝑂 : nondeterministically pick and assign exactly 1 color 𝐷 among all existing colors. edge(a, b). edge(b, c). edge(a, c). edge(c, d). If nodes 𝑂 1 and 𝑂 2 form an edge, they should never be assigned the same color 𝐷 . color(red). ← edge(N1, N2), color(blue). assign(N1, C), color(green). assign(N2, C). 19

  20. Ontology % Type TWarrior <: TPerson belongs to a fantasy setting. type(setting(fantasy), t_warrior, t_person). % Relation Slays(slayer: TWarrior , victim: TMonster) belongs to a fantasy setting. relation(setting(fantasy), r_slays(t_warrior, t_monster)). % Arguments slayer and victim in Slays relation can only be adversaries in the plot. only_relationship(r_slays, adversary(1, 2)). % TotalCount(total: TCountable , count1: TCountable , count2: TCountable) relation(setting(common), r_total_count(t_countable, t_countable, t_countable)). % TotalCount mathematically represents the tree “total = count1 + count2”. math_skeleton(r_total_count, eq(1, plus(2, 3))). 20

  21. 𝟐 arg 1 𝟑 𝟒 T otal: = arg 2 + Relation ≃ Equation ⟹ Fact ⊨ Equation arg 3 Fact ⊨ Relation 21

  22. Ontology helps us generate plausible situations …but plausible situation ≠ engaging narrative! # of satisfying answer sets: up to 10 9 . Most are insensible. 22

  23. Step 3: Discourse Tropes • Math: 𝑦 = 𝑧 + 12 • Setting: Fantasy • Character: Ellie Tropes = library constraints: • “Whenever 𝐵 slays 𝐶 , 𝐵 gets everything 𝐶 had.” • “Whenever 𝐵 acquires 𝐷 , 𝐵 adds 𝐷 to her possessions.” • “If 𝐵 is slain, it happens after all her other actions.” 23

  24. Step 3: Discourse Tropes “A warrior slays a monster only if the monster has some treasures.” ∀𝑛, 𝑥: Slays 𝑛, 𝑥 ⟹ ∃𝑢: Owns(𝑛, 𝑢) discourse( forall( vars(m, w), premise(r_slays(w, m)), exists( vars(t), conclusion(r_owns(m, t))))). 24

  25. Discourse trope validation ∃ graph 𝒣 = ℰ, ℱ : Valid 𝒣 ∧ Fits 𝒣,𝑆𝑓𝑟𝑡 ∧ ∀ entities 𝑦 ⊂ ℰ: Φ 𝑦 ⟹ ∃ 𝑧 ⊂ ℰ: Ψ 𝑦, 𝑧 25

  26. Discourse trope validation ∃ graph 𝒣 = ℰ, ℱ : Valid 𝒣 ∧ Fits 𝒣,𝑆𝑓𝑟𝑡 ∧ ∀ entities 𝑦 ⊂ ℰ: Φ 1 𝑦 ⟹ ∃ 𝑧 ⊂ ℰ: Ψ 1 𝑦, 𝑧 ∧ Library ⋮ ∀ entities 𝑦 ⊂ ℰ: Φ n 𝑦 ⟹ ∃ 𝑧 ⊂ ℰ: Ψ n 𝑦, 𝑧 3 Boolean quantifiers (3QBF) ⟹ Beyond the capabilities of ASP (not in NP)! 26

  27. Saturation technique • Consider 2QBF problem: ∀𝑏, 𝑐: Acquires 𝑏, 𝑐 → Owns(𝑏, 𝑐)  Eliminated innermost ∃ by skolemization (polynomial blowup only) • Apply disjunctive ASP: 𝑞 1 ∨ ⋯ ∨ 𝑞 𝑙 ← 𝑟 . • Disjunctive ASP has subset minimality semantics: If both 𝑁 1 and 𝑁 2 are valid answer sets and 𝑁 1 ⊂ 𝑁 2 then never return 𝑁 2 [Eiter, Ianni, Krennwallner 2009] 27

  28. Saturation technique var(a). var(b). discourse( forall( vars(a, b), premise( implies(acquires(a, b), owns(a, b))))). bind(V, E): entity(E) ← var(V). sat(Xs, Tr) ← … valid ← discourse(Xs, Tr), sat(Xs, Tr). bind(V, E) ← valid, var(V), entity(E). ← not valid. [Eiter, Ianni, Krennwallner 2009] 28

  29. Saturation technique discourse( forall( vars(a, b), (Disjunctively) assign each premise( implies(acquires(a, b), formal variable (“a” & “b”) owns(a, b))))). to some entity in the graph bind(V, E): entity(E) ← var(V). sat(Xs, Tr) ← … valid ← discourse(Xs, Tr), sat(Xs, Tr). bind(V, E) ← valid, var(V), entity(E). ← not valid. [Eiter, Ianni, Krennwallner 2009] 29

  30. Saturation technique discourse( forall( vars(a, b), Check whether the trope premise( implies(acquires(a, b), 𝑈𝑠 is satisfied under the owns(a, b))))). current variable assignment bind(V, E): entity(E) ← var(V). sat(Xs, Tr) ← … valid ← discourse(Xs, Tr), sat(Xs, Tr). bind(V, E) ← valid, var(V), entity(E). ← not valid. [Eiter, Ianni, Krennwallner 2009] 30

  31. Saturation technique discourse( forall( vars(a, b), If the trope is not satisfied, premise( implies(acquires(a, b), owns(a, b))))). the assignment is invalid bind(V, E): entity(E) ← var(V). sat(Xs, Tr) ← … valid ← discourse(Xs, Tr), sat(Xs, Tr). bind(V, E) ← valid, var(V), entity(E). ← not valid. [Eiter, Ianni, Krennwallner 2009] 31

  32. Saturation technique discourse( forall( vars(a, b), If the trope is satisfied premise( implies(acquires(a, b), (under 1 assignment only!), owns(a, b))))). saturate the answer set: include all possible facts bind(V, E): entity(E) ← var(V). bind(V, E) into it. sat(Xs, Tr) ← … valid ← discourse(Xs, Tr), sat(Xs, Tr). bind(V, E) ← valid, var(V), entity(E). ← not valid. [Eiter, Ianni, Krennwallner 2009] 32

  33. Saturation technique bind(a, knight). bind(a, knight). bind(b, 12 chests). bind(b, dragon). … valid valid bind(a, knight) bind(b, knight) bind(a, dragon) 𝑁 bind(a, 12 chests) bind(b, x) [Eiter, Ianni, Krennwallner 2009] 33

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend