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