
Automated Story Generation Mark Riedl [email protected] @mark_riedl History • Can computers communicate with humans in natural language? • News stories, fairy tales, children’s stories were readily available and considered “simple enough” • A lot of early natural language understanding was narrative understanding • What about generating narratives? 2 Generative grammar Grimes, c. 1960s 3 Rule systems Talespin, Meehan, 1975 4 Stories exist as Stories exist as written artifacts cognitive structures Stories exist as Stories exist as written artifacts cognitive structures Natural language processing Stories exist as Stories exist as written artifacts cognitive structures Natural language Story generation processing Computer as author 6 Computer as author • Creative writing is a problem-solving activity 6 Computer as author • Creative writing is a problem-solving activity • We know how to build AI problem-solvers 6 Computer as author • Creative writing is a problem-solving activity • We know how to build AI problem-solvers • Sentences vs. semantic constructs 6 Computer as author • Creative writing is a problem-solving activity • We know how to build AI problem-solvers • Sentences vs. semantic constructs ⟨ Sally killed John with umbrella ⟩ vs. “Sally swung her umbrella with all her might. She knew that she would never be bothered by John’s mansplaining again.” 6 Hierarchical planning 7 Hierarchical planning • Universe (Lebowitz, 1985) 7 Hierarchical planning • Universe (Lebowitz, 1985) 7 8 Narratives as logical proofs Initial State Wolf is alive Red Greets Wolf Wolf is alive Wolf is Wolf alive knows Red Wolf knows Red Red Tell Wolf About Granny Wolf Wolf is knows alive Granny Wolf Eats Red Wolf Eats Granny ... ... 9 Outcome Riedl & Young. Journal of AI Research, 2010. Narratives as logical proofs Initial State • Actions have logical Wolf is constraints alive – Pre-conditions Red Greets Wolf Wolf is alive – Post-conditions Wolf is Wolf alive knows Red Wolf knows Red Red Tell Wolf About Granny Wolf Wolf is knows alive Granny Wolf Eats Red Wolf Eats Granny ... ... 9 Outcome Riedl & Young. Journal of AI Research, 2010. Narratives as logical proofs Initial State • Actions have logical Wolf is constraints alive – Pre-conditions Red Greets Wolf Wolf is alive – Post-conditions Wolf is Wolf alive knows Red Wolf knows Red Red Tell Wolf About Granny Wolf Wolf is knows alive Granny Wolf Eats Red Wolf Eats Granny ... ... 9 Outcome Riedl & Young. Journal of AI Research, 2010. Narratives as logical proofs Initial State • Actions have logical Wolf is constraints alive – Pre-conditions Red Greets Wolf Wolf is alive – Post-conditions Wolf is Wolf alive knows Red Wolf knows Red • Find a sequence of Red Tell Wolf About Granny actions that proves the Wolf Wolf is knows goal state is reachable alive Granny from an initial state Wolf Eats Red Wolf Eats Granny ... ... 9 Outcome Riedl & Young. Journal of AI Research, 2010. 10 Domain knowledge (define (action eat) :parameters (?monster ?victim) :constraints ((monster ?monster) (person ?victim)) :precondition ((knows ?monster ?victim) (alive ?monster) (alive ?victim) (:not (eaten ?victim)) (:not (asleep ?monster)) (:neq ?monster ?victim)) :effect ((eaten ?victim) (in ?victim ?monster) (full ?monster))) 10 Domain knowledge (define (action eat) :parameters (?monster ?victim) :constraints ((monster ?monster) (person ?victim)) :precondition ((knows ?monster ?victim) (alive ?monster) (alive ?victim) (:not (eaten ?victim)) (:not (asleep ?monster)) (:neq ?monster ?victim)) :effect ((eaten ?victim) (in ?victim ?monster) (full ?monster))) Initial state (person aladdin) (king jafar) ... (monster dragon) (can-use-magic genie) 10 Domain knowledge (define (action eat) :parameters (?monster ?victim) :constraints ((monster ?monster) (person ?victim)) :precondition ((knows ?monster ?victim) (alive ?monster) (alive ?victim) (:not (eaten ?victim)) (:not (asleep ?monster)) (:neq ?monster ?victim)) :effect ((eaten ?victim) (in ?victim ?monster) (full ?monster))) Initial state (person aladdin) (king jafar) ... (monster dragon) (can-use-magic genie) Outcome state (:not (alive genie)) (married jasmine jafar) 10 Riedl & Young. Journal of AI Research, 2010. Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. Love-Spell (Genie, Jasmine, Castle) loves (Jasmine, Vizier) Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Falls-in-Love (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. loves (King, Jasmine) Love-Spell (Genie, Jasmine, Castle) loves (Jasmine, Vizier) Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Falls-in-Love (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. loves (King, Jasmine) Love-Spell (Genie, Jasmine, Castle) loves (Jasmine, Vizier) Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Falls-in-Love (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. Command (Vizier, Genie, loves(Jasmine, Vizier)) loves (King, Jasmine) Love-Spell (Genie, Jasmine, Castle) loves (Jasmine, Vizier) Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Falls-in-Love (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. Appear-Threatening (Genie, Aladdin, Castle) Command (Vizier, Genie, loves(Jasmine, Vizier)) loves (King, Jasmine) Love-Spell (Genie, Jasmine, Castle) loves (Jasmine, Vizier) Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Falls-in-Love (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. Summon (Vizier, Genie, Lamp, Castle) at (Genie, Castle) at (Genie, Castle) controls (Vizier, Genie) Appear-Threatening (Genie, Aladdin, Castle) Command (Vizier, Genie, loves(Jasmine, Vizier)) loves (King, Jasmine) at (Genie, Castle) Love-Spell (Genie, Jasmine, Castle) loves (Jasmine, Vizier) Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Falls-in-Love (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. Give (Aladdin, Lamp, Vizier, Castle) has (Vizier, Lamp) Summon (Vizier, Genie, Lamp, Castle) at (Genie, Castle) at (Genie, Castle) controls (Vizier, Genie) Appear-Threatening (Genie, Aladdin, Castle) Command (Vizier, Genie, loves(Jasmine, Vizier)) loves (King, Jasmine) at (Genie, Castle) Love-Spell (Genie, Jasmine, Castle) loves (Jasmine, Vizier) Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Falls-in-Love (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. Travel (Aladdin, Mountain, Castle) at (Aladdin, Castle) Give (Aladdin, Lamp, Vizier, Castle) at (Aladdin, Castle) has (Vizier, Lamp) at (Aladdin, Castle) Summon (Vizier, Genie, Lamp, Castle) at (Genie, Castle) at (Genie, Castle) controls (Vizier, Genie) Appear-Threatening (Genie, Aladdin, Castle) Command (Vizier, Genie, loves(Jasmine, Vizier)) loves (King, Jasmine) at (Genie, Castle) Love-Spell (Genie, Jasmine, Castle) loves (Jasmine, Vizier) Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Falls-in-Love (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. Pillage (Aladdin, Lamp, Dragon, Mountain) has (Aladdin, Lamp) Travel (Aladdin, Mountain, Castle) at (Aladdin, Castle) Give (Aladdin, Lamp, Vizier, Castle) at (Aladdin, Castle) has (Vizier, Lamp) at (Aladdin, Castle) Summon (Vizier, Genie, Lamp, Castle) at (Genie, Castle) at (Genie, Castle) controls (Vizier, Genie) Appear-Threatening (Genie, Aladdin, Castle) Command (Vizier, Genie, loves(Jasmine, Vizier)) loves (King, Jasmine) at (Genie, Castle) Love-Spell (Genie, Jasmine, Castle) loves (Jasmine, Vizier) Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Falls-in-Love (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. Slay (Aladdin, Dragon, Mountain) ~alive (Dragon) Pillage (Aladdin, Lamp, Dragon, Mountain) has (Aladdin, Lamp) Travel (Aladdin, Mountain, Castle) at (Aladdin, Castle) Give (Aladdin, Lamp, Vizier, Castle) at (Aladdin, Castle) has (Vizier, Lamp) at (Aladdin, Castle) Summon (Vizier, Genie, Lamp, Castle) at (Genie, Castle) at (Genie, Castle) controls (Vizier, Genie) Appear-Threatening (Genie, Aladdin, Castle) Command (Vizier, Genie, loves(Jasmine, Vizier)) loves (King, Jasmine) at (Genie, Castle) Love-Spell (Genie, Jasmine, Castle) loves (Jasmine, Vizier) Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Falls-in-Love (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. Travel (Aladdin, Castle, Mountain) at (Aladdin, Mountain) at (Aladdin, Mountain) Slay (Aladdin, Dragon, Mountain) ~alive (Dragon) at (Aladdin, Mountain) Pillage (Aladdin, Lamp, Dragon, Mountain) has (Aladdin, Lamp) Travel (Aladdin, Mountain, Castle) at (Aladdin, Castle) Give (Aladdin, Lamp, Vizier, Castle) at (Aladdin, Castle) has (Vizier, Lamp) at (Aladdin, Castle) Summon (Vizier, Genie, Lamp, Castle) at (Genie, Castle) at (Genie, Castle) controls (Vizier, Genie) Appear-Threatening (Genie, Aladdin, Castle) Command (Vizier, Genie, loves(Jasmine, Vizier)) loves (King, Jasmine) at (Genie, Castle) Love-Spell (Genie, Jasmine, Castle) loves (Jasmine, Vizier) Slay (Aladdin, Genie, Castle) 11 Marry (Vizier, Jasmine, Castle) Falls-in-Love (Vizier, Jasmine, Castle) Riedl & Young. Journal of AI Research, 2010. Order (Vizier, Aladdin, has(Vizier, Lamp)) Travel (Aladdin, Castle, Mountain) at (Aladdin, Mountain) at (Aladdin, Mountain) Slay (Aladdin, Dragon, Mountain) ~alive (Dragon) at (Aladdin, Mountain) Pillage (Aladdin, Lamp, Dragon, Mountain) has (Aladdin, Lamp) Travel
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages134 Page
-
File Size-