Automated Story Generation

Automated Story Generation

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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    134 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us