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

論文紹介:Persona-Guided Planning for Controlling the Protagonist’s Persona in Story Generation

論文紹介:Persona-Guided Planning for Controlling the Protagonist’s Persona in Story Generation

This deck tries to explain the paper "Persona-Guided Planning for Controlling the Protagonist’s Persona in Story Generation" in UEC Inaba Lab weekly meeting.

Ryutaro Asahara

January 15, 2023
Tweet

More Decks by Ryutaro Asahara

Other Decks in Research

Transcript

  1. Persona-Guided Planning for Controlling the Protagonist’s Persona in Story Generation

    稲葉研究室 朝原 隆太朗
  2. 選んだ論文について ◼ Zhexin Zhang, Jiaxin Wen, Jian Guan, and Minlie

    Huang. 2022. Persona-Guided Planning for Controlling the Protagonist’s Persona in Story Generation. In Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pages 3346–3361, Seattle, United States. Association for Computational Linguistics. ◼ 選んだ理由 ⚫ ストーリー+ペルソナという点で,ストーリー+性格の研究に使えそうだと思った ため
  3. はじめに ◼ 生き生きとした信じやすいキャラクターを描 くことによって、魅力的な作品となることが 多い ◼ キャラクターの信憑性のほとんどは、登場人 物の反応や意図的な行動がペルソナ(弱点、 能力、職業など)と一致するかどうかにか かっている

    ◼ 本研究では自由記述形式のペルソナを用いて 制御したストーリーを生成する
  4. 関連研究 ◼ ストーリー生成 ⚫ ストーリーの大まかなプロットを生成し,プロットからストーリーを生成する,と いう手法が広く用いられている(Yao et al., 2019. Fan

    et al., 2019; Goldfarb-Tarrant et al., 2020. Kang and Hovy, 2020) ◼ 条件付き生成 ⚫ PersonaChatの対話は、与えられたペルソナを明示的に示す傾向がある ⚫ 例:ペルソナ「私は犬が怖い」に対して、システムは「私は犬が怖い」と言う
  5. データセット ◼ STORIUM ⚫ 6000の長編ストーリー ⚫ 登場人物の特徴を表す自由記述形式の文 (性格や特技,職種など.) ◼ PersonaChatでは「私は犬が怖い」のペルソナから、

    「私は犬が怖いです」という明示的な発話を生成する傾向がある ◼ PersonaChatとSTORIUMにおいて文章とペルソナ間のROUGEを比較 ⚫ PersonaChat:0.1584 ⚫ STORIUM:0.018 ◼ STORIUMでは暗黙的なペルソナの一貫性が求められている
  6. モデルの全体図 ◼ コンテキストおよびペルソナ文と関連の高いストーリー内のイベント を抽出(ターゲット文) ◼ ターゲット文によって知識グラフを初期化 1. コンテキストとペルソナ文を言語モデルに入力 2. 言語モデルの出力内の語を知識グラフに追加

    3. 知識グラフの表現と言語モデルの出力から,プロットなるキーワードを予測 ◼ コンテキスト,ペルソナ,プロットからストーリーを生成
  7. Target Planning ◼ STORIUMでは暗黙的なペルソナの一貫性が求められている ◼ 直接ペルソナ文を入力すると,ノイズとみなされる可能性がある ◼ ペルソナ文と正解のストーリー内の各文𝑇をRoBERTa-largeでEncode ◼ コサイン類似度の最も高いものを「ターゲット文」とする

    ◼ GPT-2にコンテキスト,ペルソナ文,ターゲットのトークンを入力したと きの対数尤度を損失とする 𝑇 = 𝜏1 , 𝜏2 , … , 𝜏𝑙
  8. モデルの全体図 ◼ コンテキストおよびペルソナ文と関連の高いストーリー内のイベント を抽出(ターゲット文) ◼ ターゲット文によって知識グラフを初期化 1. コンテキストとペルソナ文を言語モデルに入力 2. 言語モデルの出力内の語を知識グラフに追加

    3. 知識グラフの表現と言語モデルの出力から,プロットなるキーワードを予測 ◼ コンテキスト,ペルソナ,プロットからストーリーを生成
  9. Plot Planning グラフの初期化 ◼ プロット生成には因果関係や常識などを考慮する必要がある ◼ NLTKの感情分類器を用いて,感情に関連する語を抽出 ◼ 抽出した単語のそれぞれにConseptNetによって関連する単語を接続 ⚫

    例:「つらい」に対して「大変」を接続
  10. モデルの全体図 ◼ コンテキストおよびペルソナ文と関連の高いストーリー内のイベント を抽出(ターゲット文) ◼ ターゲット文によって知識グラフを初期化 1. コンテキストとペルソナ文を言語モデルに入力 2. 言語モデルの出力内の語を知識グラフに追加

    3. 知識グラフの表現と言語モデルの出力から,プロットなるキーワードを予測 ◼ コンテキスト,ペルソナ,プロットからストーリーを生成
  11. Plot Planning 言語モデルへの入力 ◼ コンテキスト𝑋とペルソナ𝑃から表現𝑠𝑡 を得る 𝑋 = 𝑥1 ,

    𝑥2 , … , 𝑥|𝑋| 𝑃 = 𝑝1 , 𝑝2 , … , 𝑝𝑙 𝑌 = 𝑦1 , 𝑦2 , … , 𝑦|𝑌| (𝑥, 𝑝, 𝑦は全てトークン) 𝑠1 :デコーダの𝑡番目の隠れ状態 𝑆:𝑋と𝑃を連結したもの W, 𝑏:学習可能なパラメータ
  12. モデルの全体図 ◼ コンテキストおよびペルソナ文と関連の高いストーリー内のイベント を抽出(ターゲット文) ◼ ターゲット文によって知識グラフを初期化 1. コンテキストとペルソナ文を言語モデルに入力 2. 言語モデルの出力内の語を知識グラフに追加

    3. 知識グラフの表現と言語モデルの出力から,プロットなるキーワードを予測 ◼ コンテキスト,ペルソナ,プロットからストーリーを生成
  13. Plot Planning グラフ表現の計算 ◼ 𝑡番目に生成されたキーワードを追加することで𝐺𝑡+1 に更新 ◼ 𝑖番目のグラフ𝐺𝑖 の表現𝑔𝑖 を計算

    ◼ 各ノード(トークン)の埋め込みをRoBERTaで獲得 ◼ ノードを結ぶ関係詞の埋め込みをランダムに初期化 ⚫ 「A has B」や「A attribute to B」などのConseptnet上に定義された関係詞 ℎ𝑛 𝑖 , 𝑡𝑛 𝑖 :𝑖番目のグラフの𝑛番目埋め込み 𝑟𝑛 𝑖:𝑖番目のグラフの𝑛番目埋め込み
  14. Plot Planning 次のキーワードの予測 ◼ 次のキーワードを予測 ⚫ タイムステップ𝑡以前のキーワード𝑤<𝑡 ,現在のグラフ状態𝒢𝑡 ,ターゲット文𝑇 ,コ

    ンテキストとペルソナの結合文𝑆から,次のキーワード(プロット)を予測
  15. モデルの全体図 ◼ コンテキストおよびペルソナ文と関連の高いストーリー内のイベント を抽出(ターゲット文) ◼ ターゲット文によって知識グラフを初期化 1. コンテキストとペルソナ文を言語モデルに入力 2. 言語モデルの出力内の語を知識グラフに追加

    3. 知識グラフの表現と言語モデルの出力から,プロットなるキーワードを予測 ◼ コンテキスト,ペルソナ,プロットからストーリーを生成
  16. Story Generation 学習時 コンテキスト ペルソナ ターゲット文 入力 出力 ストーリー ターゲット文

    正解のストーリー プロット 中間 コンテキスト ペルソナ 入力 プロット ◼ コンテキストとペルソナ,ターゲット文,からプロットを生成 ◼ コンテキストとペルソナ,プロットからストーリーを生成
  17. Story Generation 推論時 コンテキスト ペルソナ ターゲット文 入力 出力 ストーリー プロット

    出力 コンテキスト ペルソナ 入力 プロット 生成 ◼ コンテキストとペルソナからターゲット文とプロットを生成 ◼ コンテキストとペルソナ,プロットからストーリーを生成
  18. ベースライン ◼ ConvS2S (Gehring et al., 2017):畳み込みseq2seqモデルにコンテキストとペルソナを入力 ◼ Fusion (Fan

    et al., 2018):最初に畳み込みseq2seqモデルを学習させ、そのモデルを固定 し、そのパラメータで別の学習可能な畳み込みseq2seqモデルを初期化することでス トーリーを生成するものである。その後、2つのモデルは融合メカニズムによって一緒 に学習される ◼ Plan&Write (Yao et al., 2019):コンテキストとペルソナからプロットを生成.コンテキス トとペルソナ,プロットをさらに入力してストーリーを生成 ◼ GPT2Scr:事前学習なしでGPT-2のモデル構造のみを用いてストーリー生成 ◼ GPT2Ft:事前学習ありでストーリー生成 ◼ PlanAhead (Kang and Hovy, 2020):コンテキストとペルソナからプロットを生成.言語モ デル予測とキーワード分布をゲート機構で組み合わせてストーリーを生成
  19. 自動評価 ◼ BLEU-1,2 ◼ BS-t (BERTScore-target):ペルソナ文とターゲット文に対するBERTScore ◼ BS-m (BERTScore-max):ペルソナ文とストーリーの各文に対してBERTScore を計算し,各文の最大値をスコアとする

    ◼ PC(Persona Consistency):ペルソナ文とストーリーが一致しているかを 評価する.ペルソナに対して正しいストーリーを1,それ以外を0として 学習した精度83%の分類器の正解率をスコアとする.
  20. Ablation Study ◼ w/o KG:プロット生成時の知識グラフをなくす ◼ w/o TG:プロット生成時のターゲット文をなくす(表現の平均) ◼ w/o

    PP:プロット生成をやめる.つまり,コンテキストとペルソナから ターゲット文を生成し,コンテキストとペルソナからストーリーを生成 するだけ. ◼ w/o TP:ターゲット文の生成をせず,プロットだけを作ってストーリー を生成.
  21. 自動評価 ◼ 提案手法が最も高い性能を示した ◼ プロット生成(PP),ターゲット生成(TP)が重要である

  22. 人間による評価 ◼ Coherence:文章の一貫性 ◼ Persona consistency:ペルソナとの整合性

  23. 生成例 ◼ CONPERは生成したプロットを元に,ペルソナに基づいたストーリーを 生成できている

  24. 生成例 文脈 宮本邸の屋上庭園に集合した一行。(中略)中庭の長テーブルの近くに置かれたテレ ビが、小さな音量で盗難事件のことを話している。(中略)クロエの失踪と像の行方 という問題が、まだ彼らの頭の中にある。 ペルソナ文 [Aito]あなたのコンピュータスキルは平均以上です。情報が力であるならば、インター ネットを使いこなすあなたの能力は を使いこなすことで、地球上で最もパワフルな人 物の一人となる。

    GPT-2 Aitoはまだホテルの出口を見つけるのを助けるためにしようとしている、他の人を見 た。彼はグループの残りの部分は、彼らが生き残るために、すべて知っていた場合は、 彼が必要とされるかどうかを確認したかったのかわからなかった。 CONPER(提案手法) 「ああ、待てよ みんなクロエのことを話しているのか?」 「インターネットは、お そらくこれを乗り切るための最良のチャンスであるような気がする」アイトはテーブ ルを少し見回してからタブレットを取り出し、パソコンに猛然と打ち込みはじめた。 彼女は現れたタブレットを見上げると、いろいろと動いているのがわかった。 プロット(キーワード) people → look → around → tablet → see · · ·
  25. Controllability Analysis ◼ あるペルソナについて異なるストーリーを与えても,ペルソナを 踏まえた生成ができるか ◼ ペルソナとストーリーのペアをランダムに入れ替えてストーリーの生成 実験を行った