Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LLMによるプロット生成の試み(スターウォーズ)

toshi
May 19, 2023

 LLMによるプロット生成の試み(スターウォーズ)

LLM Meetup Tokyo #2での発表資料です。

toshi

May 19, 2023
Tweet

More Decks by toshi

Other Decks in Programming

Transcript

  1. 大テーマ: 統計的機械学習 × 記号推論 中テーマ:物語分析・生成 × プロット構造化・論理推論 物語分析・生成 × プロット構造化・論理推論

    supported by LLM 小テーマ 映画や小説プロットの複雑度変化の定量化(これはまた今度) 近年複雑化との指摘は多いが定量評価したい ヴィランの人格的複雑度の定量化(これはまた今度) 純粋悪型、善悪混合型など様々(39類型など)。物語論的には後者が共感しやすい 時代や世相とともに複雑度やタイプ比率がどう変化しているか スターウォーズⅣとⅤのプロット分析&生成の話 ヴィラン分析でダースベイダーから始めたら、そこでおなかいっぱいに。。 LLM meetup Tokyo #2 by @ginyu_pro 2
  2. 伝統的な物語分析など プロップの31の機能 スナイダーの15のビート 千の顔を持つ英雄 トドロフの物語分析 グライスの格率、進化心理学的知見 上記は理論というよりは経験則や「型」=> メリデメ 工学的応用には良い =>

    ただLLM登場以前の物語生成研究では成功しているとは言い難い (妄)最後のはゼロからmulti agentシミュレーションで到達できたり? LLM meetup Tokyo #2 by @ginyu_pro 3
  3. ツール(LLM以外) 論理学 述語論理(とりあえず二階まで) 直観主義論理 様相論理(時相論理・義務論理・認識論理、BDI論理) 矛盾許容論理 グラフ化・グラフ理論 ER diagram(人物関係など) sequence

    diagram(時系列にそったイベント) 指針 厳密さに拘らず、事物関係図と公理的推論規則でLLMに計算させる 推論規則もLLM自身に抽出提案してもらう? 人間とは何か => 因果の海で溺れるBDIエージェント? 現実的・究極的には自由エネルギー原理との統合? LLM meetup Tokyo #2 by @ginyu_pro 4
  4. 構造化/論理推論化のメリット LLMとのハイブリッドで生成能力向上? think step by step 的な期待 LLMでの直接スコア化は不安定 例:プロットや人物造形の複雑度を直接LLMに質問すると±10%くらいでスコアがぶれる 説明可能性

    あるプロットのスコア、他のプロットより優れている理由を論理的に説明できるか 情報圧縮? LLMは統計的学習のため今一つ論理推論に強くないという指摘もある 学習データにどの程度論理的文章が含まれるかに依存? だとしたら情報抽出とか行動原理抽出はLLMにしてもらって、論理推論は外部でやると良いかも LLM meetup Tokyo #2 by @ginyu_pro 5
  5. データ IMDBのスターウォーズ4のsynopsis 順次action graphにしてmerge LLM学習データにスターウォーズががっつり含まれるため、念のため仮称化 方法 0. 固有名詞を仮称化 1. 人間関係グラフ(LLMでmermaid出力)

    2. 人間関係グラフ => 感情関係グラフ(LLMでmermaid入出力) 3. 知識グラフ補完により感情関係グラフを補完 4. 相反する感情を観察 => 葛藤(by トドロフ理論) 4を成立させるように1を逆算する=プロット生成 物語の文法の1つ:主人公が葛藤など何らかの問題を抱え、それを解消する 目標 ルークの葛藤生成を目的値として、効果的な追加事実を逆算(仮説推論)させた場合に、 オリジナルのプロット(Anakin=Vaderであり、VaderがLukeの父)を導出できるか? LLM meetup Tokyo #2 by @ginyu_pro 8
  6. 人物名・組織名を仮称化 変換前 変換後 Leia Hanako FreedomFighters Group1 DarkEmpire Group2 Imperial_Troops

    Group2 Vader Kenji R2D2 RoboA C3PO RoboB Owen Goro Luke Taro Obi-Wan Hiroshi Anakin Daichi Han_Solo Jiro Chewbacca BearMan Joda WiseMan Emperor Takeshi LLM meetup Tokyo #2 by @ginyu_pro 10
  7. prompt: synopsis => relation graph Q: 以下に渡すプロットから、登場人物や組織の関係性を全て抽 出し、mermaid記法のgraphで出力してください。 関係の例:親族・友人・行為・影響・所属・従属・感情 synopsis:

    An opening title card reads: A long time ago in a galaxy far, far away... It is a period of civil war. Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire. During the battle, Rebel spies managed to steal secret plans to the Empire's ultimate weapon, the DeathStar ... synopsisは8k tokenの5,6倍ほどあったので、分割実行し結果を mergeする。 長文の要約手法と同じ。NER統一化に注意。 LLM meetup Tokyo #2 by @ginyu_pro 12
  8. 出力:行為所属関係マップ Friend of Friend of Son of Apprentice of Apprentice

    of Master of Master of Leader of Friend of Member of Friend of Member of Mentor of Mentor of Friend of Leader of Father of Controlled by Apprentice of Leader of Mentor of Friend of Serves Serves Mentor of Mentor of Respects Mentors Fears Wants to convert Fights against Serves Serves Mentors Respects Controls Fears Kills Grieves for Angry at Gives droids to Worries about Kills Knew Gives Daichi's weapon to Betrayed and killed Father of Stole plans from Gave plans to Interrogated by Pursues Intrigued by message from Receives message from Seeks help from Rescues Works with Rescues Rescues Escapes with Goes with Escapes to find Taro Hanako Jiro Kenji Hiroshi WiseMan RoboA RoboB Group1 BearMan Group2 Takeshi Group3 Goro Daichi Leia LLM meetup Tokyo #2 by @ginyu_pro 13
  9. prompt 下記はある人間関係をmermeid記法で表したものです。 この人物関係グラフから、互いの感情を推定して、その感情のみを、同じくmermaid記法で出力してください。 関係グラフ: {mermaid記法の関係グラフ} ルール: - 同じ人物間に複数の感情が発生して構いません。 - 一般常識および知識グラフ補完に従って、関係性から感情を推定してください。

    - 感情名は人物関係グラフに既存の類似感情名があればそれを使ってください 一般常識の例: - 友人や親子であれば、相手に友情や愛情を持っている - AがBを助けると、BはAに感謝 - AとBが広い意味で仲間(友人や家族など)であり、BがCに殺されると、AはBを憎む - AとBが広い意味で仲間(友人や家族など)であり、BがCと敵対しているとき、Aは仲間意識からCと敵対しやすい 他にも自由に規則を考案して適用してください。 LLM meetup Tokyo #2 by @ginyu_pro 14
  10. 出力:感情関係マップ Friendship Friendship Fear Admiration Admiration Dominance Dominance Grief Anger

    Intrigue Gratitude Gratitude Respect Respect Anger Love Gratitude Leadership Friendship Fear Gratitude Gratitude Gratitude Hope Friendship Friendship Friendship Loyalty Gratitude Gratitude Friendship Loyalty Gratitude Pride Pride Friendship Grief Fear Hope Pride Fear Guilt Guilt Anger Dominance Dominance Dominance Friendship Loyalty Friendship Loyalty Pride Pride Concern Fear Hatred Hatred Anger Love Anger Taro Hanako Jiro Kenji Hiroshi WiseMan RoboA RoboB Goro Group2 Daichi Group1 BearMan Takeshi Group3 LLM meetup Tokyo #2 by @ginyu_pro 15
  11. GPT4による一般化 感情推定の根拠は主に次の通りです: - 友人関係は相互の友情を示す。 - "親子"や"師弟"の関係は尊敬、プライド、愛情を表現する。 - "メンター"と"弟子"の間には尊敬とプライドがある。 - "リーダー"と"グループ"の間には、リーダーからは支配力、グループからは忠誠心が示される。

    - "仕える"や"コントロールする"といった関係は、支配する側から見れば支配力、支配される側から見れば忠誠心や恐怖を示す。 - 助けられる側からは感謝の感情がある。 - 殺された人物については、友人や家族から悲しみや怒りが示される。 - 敵対するグループ間には憎しみが存在する。 - 直接的な敵対行為(戦闘、攻撃、追跡など)は、お互いに嫌悪感や恐怖感を生み出す。 - 助け合う行為や共同作業は、互いに好意や信頼を生み出す。 - 親族や家族関係は、愛情や懐かしさを生み出す。 - 威圧的な行為や暴力的な行為は、恐怖感や嫌悪感を生み出す。 - 裏切りや敵対的な行為は、憎しみや敵意を生み出す。 - 一緒に逃げる行為は、互いに信頼や好意を生み出す。 - 友人や同僚と一緒にいると、互いに好意や友情を生み出す。 - 目標を共有することは、互いに連帯感や協力意識を生み出す。 - 誰かが家族や親しい人物に危害を与えると、その危害を与えた人物に対して憎しみや怒りが生じる。 - 誰かがある組織やグループの一員であり、その組織やグループが家族や親しい人物に危害を与える場合、その組織やグループの一員である人物に対して憎しみや怒りが生じる。 - 誰かが他者を憎む理由がある場合、その他者と密接に関係している人物も憎む可能性がある。 なんか深いかも?(単純接触効果、ストックホルム症候群、ロードムービーという型) LLM meetup Tokyo #2 by @ginyu_pro 17
  12. 展開生成前の事前確認:Taroの葛藤を確認 Q: Taroがある同一人物について相反する複数の感情を持っている、ということはありますか?理由も考察してください。 A: はい、そのようなケースが存在します。具体的には以下の通りです: 1. Hiroshi: TaroはHiroshiに対して「尊敬(Respect)」と「憧れ(Admiration)」という肯定的な感情を持っていますが、 同時に「悲しみ(Grief)」という否定的な感情も持っています。 感情関係グラフと人物関係グラフから得られる情報を基に、TaroがHiroshiに対してGrief(悲しみ)を感じる理由を考察します。

    1. メンターとしての関係性: HiroshiはTaroの師匠であり、TaroはHiroshiを尊敬し、憧れています。 このような親しみのある人物を失うというのは、深い悲しみを引き起こす事が十分考えられます。 2. Hiroshiの死: グラフから、「Kenji -->|Kills| Hiroshi」という情報が得られます。 これはKenjiがHiroshiを殺したという事を示しています。 Hiroshiの死はTaroにとって非常に大きな打撃となり、深い悲しみを感じさせる要因となるでしょう。 デフォルトで「葛藤がない」ことを期待してたけど、ありましたね。。。 親しい人がなくなった場合の「親しみ」「悲しみ」を葛藤とは呼ばない。 初歩的な感情関係性や感情計算ロジックを定義すれば「相反する」という判定にはならないはず LLM meetup Tokyo #2 by @ginyu_pro 18
  13. prompt: 展開生成 上記2つのグラフの状態を前提として、新しい展開を考案してください。 例: - 人物Aが人物Bに何らかの行為をする - 知られていなかった人間関係が判明する 条件: -

    新たなイベントにより人間関係グラフおよび感情関係グラフが変わる - その結果、Taroがある人物に対して、大きく相反する感情、葛藤を抱く - 新たなイベントが行為である場合、一定の合理性がある LLM meetup Tokyo #2 by @ginyu_pro 19
  14. 生成された展開(失敗!) 以下に新たな展開を考案します: 1. WiseMan(ヨーダ)がGroup3(ダークサイド)のLeaderだったことが判明 2. Jiro(ハンソロ)がKenji(ベイダー)の密かな支持者だった 3. RoboA(C3PO/R2D2)がHiroshi(オビワン)の記憶を持つ 4. Taro(ルーク)が自身の才能、例えば音楽的才能を発見する。

    5. Jiro(ハンソロ)がTaro(ルーク)とBearMan(チューバッカ)との間で忠誠心に葛藤を感じる。 6. Takeshi(皇帝)が過去の行動を後悔し、自分自身を改めようとする。 7. RoboB(C3PO)が機能不全を起こし、それがTaroを危険にさらす。 8. Taro(ルーク)とTakeshi(皇帝)の間に予期せぬ友情が芽生える 興味深い。。。が正解(Kenji==Daichi==Taroの父)が出てこない! LLM meetup Tokyo #2 by @ginyu_pro 20
  15. なぜうまくいかなかったのか Episode4 synopsisからの関係マップ作成において、 Daichi(アナキン)がTaro(ルーク)の父である Kenji(ベイダー)がDaichi(アナキン)を殺した を事実としてしまっているから。 実際には、これはのHiroshi(オビワン)発話であるため真偽は確定しない(BDI論理) Episode4制作時には「Vader == Anakin

    == Lukeの父」という設定はなかったらしい つまり実際のスターウォーズ脚本制作においても、本プレゼンと同じことを人間がやっている。 Obi-Wanの言い訳「いやAnakinという人間はある意味で死んだのだから嘘じゃない」まで論理推論で導出したい誘惑 ただそのような比喩表現になるとLLMが得意そう 論理推論の世界では嘘と分類し「合理的な理由があれば嘘は許可」くらいにしておくのが良さそう LLM meetup Tokyo #2 by @ginyu_pro 21
  16. prompt: 人間関係グラフの抽出(再) with 伝聞フラグ 出力関係グラフの変更部分: Hiroshi -->|"Mentored"| Kenji Daichi -->|"Reported

    to be a Jedi by"| Hiroshi Daichi -->|"Is father of"| Taro Goro -->|"Tries to protect"| Taro Kenji -->|"Betrayed and killed"| Daichi GPT4に「発話伝聞に基づくrelationには適当なフラグをつけて」指示したら、 発話伝聞に基づくrelationは二重引用符で囲みます、という返答を返してきた。 全てに偽(嘘)の可能性が出てくる LLM meetup Tokyo #2 by @ginyu_pro 23
  17. 伝聞情報に関する推論規則を設定する cheetぽいが、別セッションでGPT4自身に修正版グラフと正解プロットを与えて導出してもらった。 GPT4出力: 伝聞情報に関する規則: 1. 生存可能性の原則: 伝聞情報に基づいて特定の人物が死亡したとされている場合でも、新たな情報によってその人物が実は生存していることが明らかになる可能性がある。 これは特に伝聞情報が曖昧、不完全、あるいは意図的に誤った情報である場合に可能性が高まる。 2. 同一性の原則:

    伝聞情報に基づいて存在が認識されている2人の人物が、新たな情報によって同一人物であることが明らかになる可能性がある。 これは特に1人の人物の存在が主に伝聞に基づいて認識されている場合、または同一人物が複数のアイデンティティを持つ可能性がある場合に起こりうる。 3. 動機の再評価原則: 伝聞情報に基づいて特定の人物が他者に対して敵対的な行動を取ったとされている場合でも、   新たな情報によってその行動の動機や目的が再評価される可能性がある。 特定の行動が実は他者を守るため、あるいは大きな目標を達成するために取られた行動であったと判明する場合、   その人物に対する感情や評価は大きく変わる可能性がある。 LLM meetup Tokyo #2 by @ginyu_pro 24
  18. prompt: 新たな展開を生成(再) 両グラフの状態をもとに、新たな展開として、何らかのイベントを追加したいです。 下記条件にあうように、新たな展開を数例考案し、内容を簡潔に答えてください。 イベントの例: - 人物Aが人物Bに何らかの行為をする - 知られていなかった人間関係が判明する 条件:

    - 新たなイベントにより人間関係グラフおよび感情関係グラフが変わる - その結果、Taroがある人物に対して、大きく相反する感情、葛藤を抱く ルール: - 新たな人物を追加しないこと - 葛藤とは、同じ人物に対して相反する感情を抱くこと 伝聞情報に関する規則: 1. 生存可能性の原則: 伝聞情報に基づいて特定の人物が死亡したとされている場合でも、新たな情報によってその人物が実は生存していることが明らかになる可能性がある。 これは特に伝聞情報が曖昧、不完全、あるいは意図的に誤った情報である場合に可能性が高まる。 2. 同一性の原則: 伝聞情報に基づいて存在が認識されている2人の人物が、新たな情報によって同一人物であることが明らかになる可能性がある。 これは特に1人の人物の存在が主に伝聞に基づいて認識されている場合、または同一人物が複数のアイデンティティを持つ可能性がある場合に起こりうる。 3. 動機の再評価原則: 伝聞情報に基づいて特定の人物が他者に対して敵対的な行動を取ったとされている場合でも、新たな情報によってその行動の動機や目的が再評価される可能性がある。 特定の行動が実は他者を守るため、あるいは大きな目標を達成するために取られた行動であったと判明する場合、その人物に対する感情や評価は大きく変わる可能性がある。 LLM meetup Tokyo #2 by @ginyu_pro 25
  19. 結果 1. Daichi(アナキン)が実は生存しており、Group2(帝国)の真のリーダーだった 2. Taro(ルーク)がKenji(ベイダー)の息子であると判明 3. Taro(ルーク)がKenji(ベイダー)の息子であり、KenjiとDaichiが同一人物だと判明 4. Hanako(レイア)がGroup2のスパイであったと判明 5.

    Hiroshi(オビワン)がKenjiの行動を早くから知っていたが、止めなかったと判明 ※ 伝聞情報が偽であることの合理的な理由も導出できるか?により定量評価したい => 展開3を人間関係グラフに反映、感情グラフを再計算する LLM meetup Tokyo #2 by @ginyu_pro 26
  20. 展開追加後の感情グラフの変化(前) Fear Admiration Grief Respect Anger Love Gratitude Pride Fear

    Guilt Anger Pride Grief Fear Love Taro Kenji Hiroshi Daichi LLM meetup Tokyo #2 by @ginyu_pro 27
  21. 展開追加後の感情グラフの変化(後) Fear Admiration Grief Respect Anger Gratitude Pride Fear Pride

    Fear Love Anger Disappointment Pride Fear Guilt Taro Kenji Hiroshi Taro => Hiroshiへの葛藤:(嘘をつかれたので)anger, disappointmentが追加 Taro => Kenjiへの葛藤: 親と判明したのでloveが追加(実験成功) LLM meetup Tokyo #2 by @ginyu_pro 28
  22. 合理性を検証 Q: 「DaichiがTaroの父である」「KenjiがDaichiを殺した」というのは、HiroshiがTaroについた嘘だったとわかりました。 Hiroshiがそのような行動をした理由を推定してください。 A: いくつかの可能性を考えることができます。 - モチベーション向上: HiroshiはTaroをより強く、熱心にするために、このような物語を作り上げたのかもしれません。 特に、「KenjiがDaichiを殺した」という情報は、Taroに対するKenjiへの恐怖と同時に、彼を倒すための意欲を喚起する可能性があります。

    - 制御と操作: Hiroshiは、Taroを操作して自身や他のグループの目的に合うように動かすために、このような嘘をついたのかもしれません。 これは特に、HiroshiとKenjiとの間に敵意や競争が存在し、Kenjiを排除するためにTaroを利用しようとした場合に該当します。 - 複雑な過去との対処: また、Hiroshi自身がDaichiとの関係やDaichiの死について何かしらの罪悪感や困難を抱えていた可能性もあります。 その結果、彼はその負担を和らげ、同時にTaroを保護するために、事実を歪めて伝えたのかもしれません。 どれも大体あってる。。。「彼を倒すための意欲を喚起」? LLM meetup Tokyo #2 by @ginyu_pro 29
  23. なぜそう思うか深堀りしてみる Q: > Taroに対するKenjiへの恐怖と同時に、彼を倒すための意欲を喚起する可能性があります もしこれが正しいとすると、Hiroshiはなぜそのように仕向けたいのですか? A: HiroshiがTaroに対してKenjiへの恐怖と彼を倒すための意欲を喚起したいと思った可能性は、以下のような理由に基づいているかもしれません。 1. HiroshiとKenjiの間の敵対関係: HiroshiとKenjiの間には明らかな対立が存在します。

    KenjiがHiroshiを殺すという事実から、HiroshiはKenjiを直接的な敵と見なしていた可能性があります。 したがって、彼はTaroにKenjiへの恐怖と闘志を植えつけることで、自分の敵を倒す助けとなる力を育てようとしたかもしれません。 2. 集団の安全を守るため: また、KenjiがGroup2のリーダーであり、その行動がHiroshiや彼の所属するグループ(おそらくGroup1) に対する直接的な脅威となっていた可能性があります。 HiroshiはKenjiに対抗する力を育てることで、集団の安全を保つために必要な防衛力を強化しようとしたかもしれません。 3. Taroの成長と強化: HiroshiはTaroの師匠であり、Taroが強くなることを望んでいたことでしょう。 したがって、彼はTaroが困難な状況に直面し、それを克服することで成長する機会を作り出したかったのかもしれません。 LLM meetup Tokyo #2 by @ginyu_pro 30
  24. (おまけ)グラフ構造化によるLLM回答変化:類似プロット検索 Q1: 人間関係がスターウォーズ4に似た物語をいくつか列挙してください Q2: (以下に渡す)関係グラフから想起される物語をいくつか列挙してください Q1: zero-shotでGPT4にきく Q2: グラフ構造を示した上でGPT4にきく 1

    ハリーポッターシリーズ アーサー王伝説 2 ロード・オブ・ザ・リング ハリー・ポッターシリーズ 3 ゲーム・オブ・スローンズ キングダム(日本の) 4 ダーククリスタル エンダーのゲーム 5 アバター アバター: ラスト・エアベンダー 6 エンダーのゲーム ダニエル・クレイグ版ジェームズ・ボンドシリーズ 7 Dune バットマン: ダークナイト 8 Firefly ハイランダー 9 ライオン・キング ザ・カラテキッド 10 ウィッチャー ロード・オブ・ザ・リング ※ Q1は本来は、作品要約文リストを渡して尋ねるべき ※ 直接質問では何度かやってもアーサー王は出てこない ※ ルーカス&キャンベルによるとスターウォーズは実際アーサー王をベースにしている LLM meetup Tokyo #2 by @ginyu_pro 31