狠狠撸

狠狠撸Share a Scribd company logo
A Sequential Recommendation
       Approach for Interactive
    Personalized Story Generation
1




                         2012/12/14
発表論文
題名   順次推薦による
     パーソナライズドされた物語の対話的自動生成


出典   AAMAS’12
     (Int’l Conf. on Autonomous Agents and Multiagent Systems)



著者   Hong Yu, Mark O. Riedl
     ジョージア工科大学


                                                                 2
提案概要: 対話的物語生成システム

 ストーリー                 ドラマ          ユーザ
 ライブラリ                 マネージャ        モデル


           次の
           プロットポイント
                               フィードバック
プロットポイント    濁流は、
            メロスの
                               ★★★☆☆
物語の構成要素     叫びをせせら笑
文章の1まとまり    う如く、ますま
            す激しく躍り狂
            う。浪は………
                      ユーザ

                       ユーザの嗜好に応じて         3

                       プロットポイントを順次提示
アイディアと貢献
アイディア
      協調フィルタリングの利用
      (似ている人が好きなものは好きなことが多い)

               ?   協調フィルタリングは独立した一度の推薦を想定
       しかし
               ?   物語はプロットポイントの列

貢献
 1.    物語の断片からユーザの嗜好を学習?推定する
       prefix-based Collaborative Filteringアルゴリズムの提案
 2.    モデルの次元を仮定せずにユーザの嗜好モデルの構築が可能
 3.    提案法をドラママネージャに適用し,
       ユーザの嗜好に基づくプロットポイントの提示を可能に                       4
提案


     5
物語の表現
定義

物語分岐グラフ:連続できるプロットポイントを結んだもの
プレフィックスグラフ:ノードにプレフィックスが対応




 物語分岐グラフ
                 プレフィックスグラフ   6
物語の表現
定義         今までの物語(1,2,6)
            はどうですか?
物語分岐グラフ:連続できるプロットポイントを結んだもの
プレフィックスグラフ:ノードにプレフィックスが対応
            ★4つ!




                 评価の対応が自明

 物語分岐グラフ
                     プレフィックスグラフ   7
ユーザの好みモデル
プレフィックス-评価行列
                                                     あるユーザが各prefixを
                                                       どう评価したか
                                              ?
                   Aさん        Bさん         Cさん        …
      A(1)         1          *           1          …
      B(1,2)       3          2           *          …
?=    C(1,2,6)     *          *           4          …
      D(1,2,3) 5 *                        *          …
      … まだ見ぬ物語を… …                        …          …
     ユーザがどう评価するか?

      2つの協調フィルタリングアルゴリズムを試用
      ?   Probabilistic Principle Component Analysis (pPCA)
                                                                8
      ?   Non-negative Matrix Factorization(NMF)
確率的主成分分析
pPCA (probabilistic Principle Component Analysis)

          係数行列      ユーザ固有の       平均ベクトル       誤差,?~? 2 ?
                   m次元ベクトル


         ? = ?? + ? + ?


  1.   EM法(期待値最大化法)でW, μ, σを求める (PRML p294)
  2.   観測値からxを求める
  3.   完全なrが求められる
                                                       9
非負値行列因子分解
NMF (Non-negative matrix factorization)
          係数行列         各ユーザの性質行列



        ? = ?? ?            ?, ?の要素は非負




  1.   EM法(期待値最大化法)でW, Hを求める[21]
  2.   完全なRが求められる
                                          10
対話的物語生成システム動作概要(1/2)
前処理
 ストーリーライブラリの構築     pPCA: ? = ?? + ? + ?
                   NMF : ? = ? ? ?
 訓練
フェーズ
 1.   データを収集.プレフィックス-评価行列Rを作る
 2.   ユーザモデルのパラメータ計算 (+モデルの次元推定)




                                          11
対話的物語生成システム動作概要(2/2)
新しいユーザが参加             pPCA: ? = ?? + ? + ?
物語生成                  NMF : ? = ? ? ?
フェーズ

 1.   何度かの試行で初期rを得る(rは未定値を含む)
 2.   rをモデル化する(pPCAならx, NMFならhを求める)
 3.   モデルからr’を求める(r’は未定値を含まない)
 4. 現在のプロットポイントから到達可能な最高の物
    語を選択し,最適なプロットポイントを提示
 5. ユーザにこれまでの物語を採点してもらう

 6. rに採点結果を追加,1に戻る
                                         12
评価


     13
対話的物語生成システム(再掲)

ストーリー              ドラマ
ライブラリ                         プレイヤー
                   マネージャ
                              モデル


        次の
        プロットポイント

                           フィードバック
                           ★★★☆☆




                                     14
              ユーザ
评価前準備
ゲームブック: Choose Your Own Adventureシリーズの本を元に
(分割?選択肢の削除などを行い)
6つのプロットポイントで構成される 物語を大量に作成


            雪男が現れた!

                                 ストーリー
                                 ライブラリ
           戦う→3ページヘ
          あいさつ→5ページヘ         ? 154の物語
                             ? 326のプレフィックス




                                             15
実験1:人間による评価(1/2)

 訓練       ? 31人の被験者
フェーズ      ? 10の物語(ランダムに選択)を用いて,

            ランダム順にプロットポイントを提示

プレフィックス-评価行列R(326×31行列)のうち14%の値が求められた
→ 90%を訓練用,10%を评価用に分け
 様々な次元のモデルについてパラメータ推定

 例) モデル         平均二乗誤差
      NMF_次元4   1.1781
      NMF_次元5   1.1371
      NMF_次元6   0.9901   誤差最小のものを採用
      NMF_次元7   1.1108                16
実験1:人間による评価(2/2)

物語生成     訓練ユーザ: 訓練フェーズで協力した人のうち11人
フェーズ     新ユーザ: 訓練に参加していない22人の被験者
 1.   5の物語に対して,ランダムにプロットポイントの提示
 2.   提案法によって5つの物語のプロットポイントを提示
 3.   2と同様
 4.   1と同様
              ランダム     パーソナラ    正確さ
                       イズド
      全ユーザ    2.9449   3.8899   0.828
      訓練ユーザ   3.032    4.035    0.863
      新ユーザ    2.8993   3.8138   0.809
              提案法は平均で1点程度评価が高い
        各物語に対してのユーザからの评価値の平均
                8割程度の精度でランダムより良い性能      17
実験2: ボットによる评価(設定1/3)
[18]によるユーザの5つのプレイヤータイプ
  プレイヤータイプ       好き
  格闘家            戦い
  権力者            アイテムやコイン入手
  戦略家            創造的なアイディア
  語り部            複雑な物語
  役者             劇的な展開


5次元特徴ベクトルでボットの性質を表現する
 (0.6, 0, 0, 0, 0.3) ? 格闘家かつ役者で,戦いのほうがより好き

各物語プレフィックスにも5次元ベクトルでラベル付け
 ボットは,自分の特徴ベクトルとのコサイン類似度に基づいて
                                             18
 物語プレフィックスを评価         +   ノイズN(0,1)
実験2: ボットによる评価(設定2/3)
 訓練    120体のボットを準備
フェーズ   特徴ベクトルは以下のいずれか
       (1,0,0,0,0), (0,1,0,0,0), (0,0,1,0,0), (0,0,0,1,0), (0,0,0,0,1)
       訓練方法は実験1と同様




物語生成   1000体のボットを準備
フェーズ   特徴ベクトルはランダムに生成




                                                                         19
実験2: ボットによる评価(設定3/3)
比較対象アルゴリズム


 baselineP   pPCAを用いるが,訓練?物語生成ともに,プレフィック
             スではなくひとまとまりの物語に行う.映画など向けの
             協調フィルタリングアルゴリズムに対応
 baselineN   NMPを用いる点を除いて上と同じ
 Vector      [18]に類似のアルゴリズム
 pPCA        提案法(ユーザモデル化にpPCAを利用)
 NMFw0P      提案法(ユーザモデル化にNMFを利用)
 NMFwP       提案法(ユーザモデル化にNMFを利用,
                 Wの1-5列目はプレイヤータイプに関する知識を
                 用いて固定値に設定

                                           20
実験2: ボットによる评価(結果1/2)

ランダムより
 良い提案が
 出来た割合




            提案法は総じて性能が高い
            また,少ない学習回数でも高い精度を誇る   21
     学習した物語の数
実験2: ボットによる评価(結果2/2)


 正解値との
平均二乗誤差




   訓練に使用した
    ボットの数

         ドメイン知識を用いると(青い線)
                                  22
         少ない訓練データで高い性能を出すことが出来る
結論と将来の課題
結論
 ?   順次推薦のためのアルゴリズムPBCFを提案
 ?   提案法によりユーザモデルを構築,ドラママネージャに利用
 ?   人間?ボットそれぞれによる実験から
     ユーザの嗜好に近い物語を提示出来ることを確認


将来の
課題
 ?   人間に対しても,事前知識を組み入れたモデルの検討
 ?   ユーザによる選択の導入

                                   23
私見

?   「連続して提示されるもの」に対する推薦,というものは
    一般に有用そう
    ?   (他の分野でやられてないのだろうか?)
?   より現実的な状況へ適用したらどうなるかが気になる
    ?   プレフィックスグラフが大きい時
    ?   ユーザが直接的に物語を選択できる
? 既存研究との差分をいろいろ挙げているが(e.g., 次元推定)
  「ちょうど誰も解いてない問題設定で解いてみただけ」
  のような印象を受ける
? 実験?评価に手をかけている感じがする
                               24

More Related Content

A sequential recommendation approach for interactive personalized story generation

  • 1. A Sequential Recommendation Approach for Interactive Personalized Story Generation 1 2012/12/14
  • 2. 発表論文 題名 順次推薦による パーソナライズドされた物語の対話的自動生成 出典 AAMAS’12 (Int’l Conf. on Autonomous Agents and Multiagent Systems) 著者 Hong Yu, Mark O. Riedl ジョージア工科大学 2
  • 3. 提案概要: 対話的物語生成システム ストーリー ドラマ ユーザ ライブラリ マネージャ モデル 次の プロットポイント フィードバック プロットポイント 濁流は、 メロスの ★★★☆☆ 物語の構成要素 叫びをせせら笑 文章の1まとまり う如く、ますま す激しく躍り狂 う。浪は……… ユーザ ユーザの嗜好に応じて 3 プロットポイントを順次提示
  • 4. アイディアと貢献 アイディア 協調フィルタリングの利用 (似ている人が好きなものは好きなことが多い) ? 協調フィルタリングは独立した一度の推薦を想定 しかし ? 物語はプロットポイントの列 貢献 1. 物語の断片からユーザの嗜好を学習?推定する prefix-based Collaborative Filteringアルゴリズムの提案 2. モデルの次元を仮定せずにユーザの嗜好モデルの構築が可能 3. 提案法をドラママネージャに適用し, ユーザの嗜好に基づくプロットポイントの提示を可能に 4
  • 5. 提案 5
  • 7. 物語の表現 定義 今までの物語(1,2,6) はどうですか? 物語分岐グラフ:連続できるプロットポイントを結んだもの プレフィックスグラフ:ノードにプレフィックスが対応 ★4つ! 评価の対応が自明 物語分岐グラフ プレフィックスグラフ 7
  • 8. ユーザの好みモデル プレフィックス-评価行列 あるユーザが各prefixを どう评価したか ? Aさん Bさん Cさん … A(1) 1 * 1 … B(1,2) 3 2 * … ?= C(1,2,6) * * 4 … D(1,2,3) 5 * * … … まだ見ぬ物語を… … … … ユーザがどう评価するか? 2つの協調フィルタリングアルゴリズムを試用 ? Probabilistic Principle Component Analysis (pPCA) 8 ? Non-negative Matrix Factorization(NMF)
  • 9. 確率的主成分分析 pPCA (probabilistic Principle Component Analysis) 係数行列 ユーザ固有の 平均ベクトル 誤差,?~? 2 ? m次元ベクトル ? = ?? + ? + ? 1. EM法(期待値最大化法)でW, μ, σを求める (PRML p294) 2. 観測値からxを求める 3. 完全なrが求められる 9
  • 10. 非負値行列因子分解 NMF (Non-negative matrix factorization) 係数行列 各ユーザの性質行列 ? = ?? ? ?, ?の要素は非負 1. EM法(期待値最大化法)でW, Hを求める[21] 2. 完全なRが求められる 10
  • 11. 対話的物語生成システム動作概要(1/2) 前処理 ストーリーライブラリの構築 pPCA: ? = ?? + ? + ? NMF : ? = ? ? ? 訓練 フェーズ 1. データを収集.プレフィックス-评価行列Rを作る 2. ユーザモデルのパラメータ計算 (+モデルの次元推定) 11
  • 12. 対話的物語生成システム動作概要(2/2) 新しいユーザが参加 pPCA: ? = ?? + ? + ? 物語生成 NMF : ? = ? ? ? フェーズ 1. 何度かの試行で初期rを得る(rは未定値を含む) 2. rをモデル化する(pPCAならx, NMFならhを求める) 3. モデルからr’を求める(r’は未定値を含まない) 4. 現在のプロットポイントから到達可能な最高の物 語を選択し,最適なプロットポイントを提示 5. ユーザにこれまでの物語を採点してもらう 6. rに採点結果を追加,1に戻る 12
  • 13. 评価 13
  • 14. 対話的物語生成システム(再掲) ストーリー ドラマ ライブラリ プレイヤー マネージャ モデル 次の プロットポイント フィードバック ★★★☆☆ 14 ユーザ
  • 15. 评価前準備 ゲームブック: Choose Your Own Adventureシリーズの本を元に (分割?選択肢の削除などを行い) 6つのプロットポイントで構成される 物語を大量に作成 雪男が現れた! ストーリー ライブラリ 戦う→3ページヘ あいさつ→5ページヘ ? 154の物語 ? 326のプレフィックス 15
  • 16. 実験1:人間による评価(1/2) 訓練 ? 31人の被験者 フェーズ ? 10の物語(ランダムに選択)を用いて, ランダム順にプロットポイントを提示 プレフィックス-评価行列R(326×31行列)のうち14%の値が求められた → 90%を訓練用,10%を评価用に分け 様々な次元のモデルについてパラメータ推定 例) モデル 平均二乗誤差 NMF_次元4 1.1781 NMF_次元5 1.1371 NMF_次元6 0.9901 誤差最小のものを採用 NMF_次元7 1.1108 16
  • 17. 実験1:人間による评価(2/2) 物語生成 訓練ユーザ: 訓練フェーズで協力した人のうち11人 フェーズ 新ユーザ: 訓練に参加していない22人の被験者 1. 5の物語に対して,ランダムにプロットポイントの提示 2. 提案法によって5つの物語のプロットポイントを提示 3. 2と同様 4. 1と同様 ランダム パーソナラ 正確さ イズド 全ユーザ 2.9449 3.8899 0.828 訓練ユーザ 3.032 4.035 0.863 新ユーザ 2.8993 3.8138 0.809 提案法は平均で1点程度评価が高い 各物語に対してのユーザからの评価値の平均 8割程度の精度でランダムより良い性能 17
  • 18. 実験2: ボットによる评価(設定1/3) [18]によるユーザの5つのプレイヤータイプ プレイヤータイプ 好き 格闘家 戦い 権力者 アイテムやコイン入手 戦略家 創造的なアイディア 語り部 複雑な物語 役者 劇的な展開 5次元特徴ベクトルでボットの性質を表現する (0.6, 0, 0, 0, 0.3) ? 格闘家かつ役者で,戦いのほうがより好き 各物語プレフィックスにも5次元ベクトルでラベル付け ボットは,自分の特徴ベクトルとのコサイン類似度に基づいて 18 物語プレフィックスを评価 + ノイズN(0,1)
  • 19. 実験2: ボットによる评価(設定2/3) 訓練 120体のボットを準備 フェーズ 特徴ベクトルは以下のいずれか (1,0,0,0,0), (0,1,0,0,0), (0,0,1,0,0), (0,0,0,1,0), (0,0,0,0,1) 訓練方法は実験1と同様 物語生成 1000体のボットを準備 フェーズ 特徴ベクトルはランダムに生成 19
  • 20. 実験2: ボットによる评価(設定3/3) 比較対象アルゴリズム baselineP pPCAを用いるが,訓練?物語生成ともに,プレフィック スではなくひとまとまりの物語に行う.映画など向けの 協調フィルタリングアルゴリズムに対応 baselineN NMPを用いる点を除いて上と同じ Vector [18]に類似のアルゴリズム pPCA 提案法(ユーザモデル化にpPCAを利用) NMFw0P 提案法(ユーザモデル化にNMFを利用) NMFwP 提案法(ユーザモデル化にNMFを利用, Wの1-5列目はプレイヤータイプに関する知識を 用いて固定値に設定 20
  • 21. 実験2: ボットによる评価(結果1/2) ランダムより 良い提案が 出来た割合 提案法は総じて性能が高い また,少ない学習回数でも高い精度を誇る 21 学習した物語の数
  • 22. 実験2: ボットによる评価(結果2/2) 正解値との 平均二乗誤差 訓練に使用した ボットの数 ドメイン知識を用いると(青い線) 22 少ない訓練データで高い性能を出すことが出来る
  • 23. 結論と将来の課題 結論 ? 順次推薦のためのアルゴリズムPBCFを提案 ? 提案法によりユーザモデルを構築,ドラママネージャに利用 ? 人間?ボットそれぞれによる実験から ユーザの嗜好に近い物語を提示出来ることを確認 将来の 課題 ? 人間に対しても,事前知識を組み入れたモデルの検討 ? ユーザによる選択の導入 23
  • 24. 私見 ? 「連続して提示されるもの」に対する推薦,というものは 一般に有用そう ? (他の分野でやられてないのだろうか?) ? より現実的な状況へ適用したらどうなるかが気になる ? プレフィックスグラフが大きい時 ? ユーザが直接的に物語を選択できる ? 既存研究との差分をいろいろ挙げているが(e.g., 次元推定) 「ちょうど誰も解いてない問題設定で解いてみただけ」 のような印象を受ける ? 実験?评価に手をかけている感じがする 24