セリフに着目した
キャラクタロール推定に関する基礎検討
関西大学
◎吉田 真紘 藤川 雄翔 松下 光範 山西 良典
はじめに:どんなキャラクタが好き??
物語には数多くのキャラクタが登場する
01 / 30
・永遠の「ライバル」
・かつて「仲間」だったはずの「敵」
例)
読者によってキャラクタの好みは異なる
従来のキャラクタ検索方法[1][2][3]
・「BLEACH」のキャラクタ
・「藍染惣右介」
・「黒髪」のキャラクタ
・「冷酷」,「残忍」なキャラクタ
・このキャラクタが書かれた画像
©久保帯人, 集英社, 2001
[1] https://neoapo.com/ [2] https://www.animecharactersdatabase.com/ [3]小林 達哉, 松下 光範. 性格要素と外見要素の加減算による類似キャラクタの検索,
ARG WEBインテリジェンスとインタラクション研究会予稿集, Vol.16, pp.106-111, 2020.
キャラクタ名,性格,外見等を入力とした検索
例)左のキャラクタは未知のキャラクタとした場合の検索方法
02 / 30
実現したいキャラクタの探し方
・冷酷な「敵」キャラクタ
・「敵に寝返るキャラクタ」
(「味方 ⇒ 敵」になるキャラクタ)
キャラクタロール(物語上で果たす役割)に基づく検索
例)実現したい探し方
03 / 30
なぜキャラクタロールに着目?
好みに合うキャラクタを探す手がかりになる
キャラクタロール:全てのキャラクタに設定されている
共感や感情移入を生み出す重要な要素[5]
[4] Vogler, C.: 作家の旅 ライダーズ・ジャーニー 神話の法則で読み解く物語の構造,フィルムアート社 (2022)
[5] Truby, J.: ストーリーの解剖学 ハリウッドNo.1スクリプトドクターの脚本講座,フィルムアート社 (2017)
・「主人公」,「ライバル」など,複数のキャラクタロールが存在
04 / 30
・キャラクタロールに基づく言動は物語展開に影響[4]
キャラクタロールに基づく検索を行うために
キャラクタにキャラクタロールの情報を付与する必要
キャラクタに関する情報を表現できる「タグ」
・統一された概念としてキャラクタを理解可能
©鳥山明, 集英社, 1985
「セル」
・冷酷
・敵
05 / 30
問題
キャラクタロールを直接示すような記述が少ない
・付与されていないキャラクタは検索対象から除外
キャラクタロールを推定し,タグを付与する必要
全てのキャラクタにタグが付与されているわけではない
→好みに合うキャラクタが検索対象外に存在する可能性
・キャラクタの言動を踏まえた読者の解釈が必要
06 / 30
キャラクタロールを推定するために
他のキャラクタに対する言動に着目する必要
07 / 30
例) ・師匠・先生: 他のキャラクタに知識や力を与える言動
・敵: 他のキャラクタを侮辱し,妨害する言動
各キャラクタロールを特徴づける要素が必要
読者はキャラクタロールを作中での行動や言葉から解釈
今回は主人公から見たキャラクタロールを対象
着目要素:セリフについて
・セリフ:感情や意図の伝達を担う役割が存在[7]
[6] Matsumoto, K., Minato, J., Ren, F. and Kuroiwa, S.: Estimating human emotions using wording and sentence patterns, 2005 IEEE International Conference on
Information Acquisition, IEEE, pp. 6pp (2005). [7]益岡隆志: モダリティの文法,くろしお出版(1991)
推定したいキャラクタ⇒主人公へのセリフを参照すれば
主人公から見たキャラクタロールが推定できるのでは?
登場人物の関係性:会話内容に反映される[6]
08 / 30
「煽る」セリフ 「指導」するセリフ
本研究の目的・アプローチ
キャラクタが話すセリフから
登場キャラクタのキャラクタロールを推定する
BERTを用いてセリフとキャラクタロールの関係をモデル化する
アプローチ方法
・セリフに傾向が存在するならば,その傾向からキャラクタロールを推定
タグ未付与のキャラクタも,セリフからキャラクタロールを推定可能に!
目的
09 / 30
データセット作成:対象とするジャンル
[8] Campbell, J.: The Hero with a Thousand Faces, NEW WORLDLIB (2008).
・他ジャンルよりもキャラクタロールの特徴が明確に区別
・主人公が他キャラクタロールと関わり合い物語が進行[8]
・他ジャンルの作品と比べて作品数が多い
キャラクタの関係性が比較的分かりやすいジャンルを採用
対象ジャンル: アクション,バトル,冒険,ファンタジー
10 / 30
データセット作成:推定するキャラクタロール
[9]沼田やすひろ:超簡単!売れるストーリー&キャラクターの作り方,講談社 (2011).
[10] Truby, J.: ストーリーの解剖学 ハリウッドNo.1スクリプトドクターの脚本講座,フィルムアート社(2017).
• 師匠・先生(Menter):主人公に知識を与え成長を促し,教え導くキャラクタ
• ライバル(Rival):主人公と対を成す存在として,競い合うキャラクタ
• 敵(Enemy):主人公を妨害するものや,敵対する勢力に属するキャラクタ
・対象ジャンルに頻出し,主人公と関係性を構築する
11 / 30
沼田の分類[9]や『ストーリーの解剖学』[10]を参考に3種類に限定
データセット作成:対象作品と収集条件
ライトノベルのテキスト アニメの字幕テキスト
12 / 30
セリフの収集:2つの媒体から横断的に取得
・セリフをテキストデータとして入手
データセット作成:対象作品と収集条件
収集条件:
•100話以上掲載されている作品かつ対象ジャンルを満たす作品
•アニメ化,コミカライズ,ノベライズされている作品
•Web百科事典(e.g., Pixiv百科事典[11])に作品情報が掲載
対象セリフ:最大100話分の中に該当するセリフをテキスト抽出
・鍵括弧(「」,『』)の枠内にあるテキストに限定
[11] https://dic.pixiv.net/
13 / 30
データセット作成:対象作品と収集条件
収集条件:
・漫画全巻ドットコム[12]&みんなのランキング[13]に掲載される作品
・1クール,○○編,のような区切りを1作品分として収集
・小説家になろうで取得した作品は除外する(重複を防ぐ)
対象セリフ:字幕として画面上に表示される1文を1セリフに設定
[12] https://www.mangazenkan.com/ [13] https://ranking.net/
14 / 30
データセット作成:対象キャラクタとセリフの収集
対象キャラクタ:
セリフの抽出条件:主人公に向けられた単一方向のセリフ
収集結果:171キャラクタ4897セリフ Menter:40キャラクタ,1596セリフ
Rival:40キャラクタ,1400セリフ
Enemy:89キャラクタ,1897セリフ
内訳
15 / 30
①推定対象とした3種類のキャラクタロールに該当する
②主人公に対して5セリフ以上話す
提案手法:キャラクタロール推定手法
(1)セリフ群の作成 (3)キャラクタロール推定
このキャラクタは
[キャラクタロールx]
Menter : 52%
Rival : 33%
Enemy : 15%
キャラクタ1:ライバル
[セリフA,B…X]
(2)推定モデルの学習
16 / 30
…
セリフX
セリフA
セリフB
セリフC
BERT
入力 出力
セリフ群の作成:データ整形
・主人公に向けられた全てのセリフを1つのセリフ群にまとめる
物語内で話すセリフを時系列順にまとめて「セリフ群」として整形
17 / 30
キャラクタX 「セリフA」
主人公 「セリフa」
キャラクタX 「セリフB」
主人公 「セリフb」
…
キャラクタX
セリフA[SEP]セリフB…
セリフ群の作成:ダウンサンプリング
・一部のキャラクタはセリフ群が長大となり,BERTの最大入力長を超過
→超過分はぶつ切りになり,推定のノイズになる可能性
BERTを使用する際,取り扱える文字長に制限がある
セリフ群の入力長が超過する場合は1セリフ単位でランダム削除
各キャラクタのセリフを単語に分割
“私”,“の”,“名前”,“は”,“キャラクタx”,“です”
18 / 30
セリフ群の作成:ダウンサンプリング
・Menter:40キャラクタ,Rival:40キャラクタ,Enemy:89キャラクタ
「敵」のキャラクタ数が2倍以上で,過学習されてしまう可能性
「敵」のキャラクタ数をセリフ数が少ないキャラクタから順に削除
・BERTにセリフの傾向を学習させるため,セリフ数が多いものを優先
ダウンサンプリング後のデータ:120キャラクタ,3237セリフ
・各40キャラクタ,M:1091セリフ,R:1110セリフ,E:1036セリフ
19 / 30
データセットの形式
キャラクタ名+セリフ群+キャラクタロール
20 / 30
キャラクタ001,「セリフA,セリフB…」,「師匠・先生」
キャラクタ040,「セリフA,セリフB…」,「師匠・先生」
キャラクタ041,「セリフA,セリフB…」,「ライバル」
キャラクタ080,「セリフA,セリフB…」,「ライバル」
キャラクタ081,「セリフA,セリフB…」,「敵」
キャラクタ120,「セリフA,セリフB…」,「敵」
…
…
…
40キャラクタ
40キャラクタ
40キャラクタ
推定モデルの学習
・キャラクタロールを正解ラベルとした多クラス分類タスクを解かせる
・東北大学乾研究室のBERTモデル「bert-base-japanese-v3」を使用[14]
事前学習済みBERTモデルのファインチューニングにより学習
入力: 各キャラクタのセリフ群
出力: 各キャラクタロールに該当する確率分布&推定結果
Menter Enemy
Rival
11% 21% 68%
決定
21 / 30
[14] https://huggingface.co/tohoku-nlp/bert-base-japanese-v3
推定モデルの評価
セリフ群120件を用いて,層化5分割交差検証を行う
22 / 30
テストデータ 学習データ
Menter:8キャラクタ
Rival:8キャラクタ
Enemy:8キャラクタ
①
② ⑤
…
③ ④
②
① ③ ④ ⑤
分割1
分割2
…
・「正解率」,「適合率」,「再現率」,「F1値」の平均値を算出
結果:キャラクタロールの推定 23 / 30
正解率 適合率 再現率 F1値
師匠・先生 0.900 0.848 0.900 0.864
ライバル 0.817 0.772 0.700 0.722
敵 0.850 0.820 0.750 0.769
全体 0.783 0.814 0.783 0.785
F1値:どのキャラクタロールも7割以上の推定精度が得られた
キャラクタのセリフ群を入力として用いることで
発話者のキャラクタロールを推定できる可能性が示唆された
考察①「師匠・先生」
8割以上の推定精度が得られた
正解率 適合率 再現率 F1値
0.900 0.848 0.900 0.864
セリフ傾向:指導的なセリフ&叱責を含むセリフ
24 / 30
・鱗滝左近次(鬼滅の刃)
「最終戦別,必ず生きて戻れ」
・幻海(幽☆遊☆白書)
「あまったれんじゃないよ」
鱗滝左近次 幻海
Menter 96.11% 97.71%
Rival 1.46% 1.21%
Enemy 2.43% 1.08%
考察②「ライバル」
7割以上の推定精度が得られた
正解率 適合率 再現率 F1値
0.817 0.772 0.700 0.722
正しく推定できたセリフ傾向:勝利への執着&相手を認めるセリフ
・シーザー・A・ツェペリ(ジョジョの奇妙な冒険)
「気絶しなかったのは褒めてやる」
・ユノ(ブラッククローバー)
「俺はただお前に負けたくない」
25 / 30
シーザー ユノ
Menter 1.11% 7.52%
Rival 96.99% 90.01%
Enemy 1.90% 2.42%
考察②「ライバル」
誤って推定したセリフ傾向:強い敵意&殺意を含むセリフ
・ディオ・ブランドー(ジョジョの奇妙な冒険)
「今ためらいもなく貴様を惨殺処刑してくれよう」
・斎藤一(るろうに剣心)
「その甘さが命取りになるぞ」
違い:物語上で元々敵対していた存在や,命のやり取りを行う
・正しく推定できたキャラクタ:主人公と友好的,競争相手としての関係
26 / 30
ディオ 斎藤一
Menter 0.85% 1.40%
Rival 22.92% 43.38%
Enemy 76.24% 55.22%
考察③「敵」
正解率 適合率 再現率 F1値
0.850 0.820 0.750 0.769
正しく推定できたセリフ傾向:命を脅かす&侮辱&攻撃的なセリフ
・フレイザード(DRAGON QUEST ダイの大冒険)
「おとなしくてめえが死んでくれりゃ…」
・累(鬼滅の刃)
「何の未練もなくお前たちを刻めるよ」
27 / 30
フレイザード 累
Menter 1.24% 0.89%
Rival 5.47% 13.23%
Enemy 93.29% 85.88%
7割以上の推定精度が得られた
考察③「敵」
誤って推定したセリフ傾向:相手の勧誘&実力を認めるセリフ
・フリーザ(DRAGONBALL Z)
「おもっていたよりずっと強いようだね」
・ゲンスルー(HUNTER×HUNTER)
「そんなにとんがるなよ取り引きに来たんだ」
違い:戦闘中の会話の内容が影響した可能性
・正しく推定できたキャラクタ:勧誘や実力を認めるセリフは見られない
28 / 30
フリーザ ゲンスルー
Menter 0.74% 2.88%
Rival 95.52% 93.85%
Enemy 3.75% 3.27%
推定精度を上げるには(今後の展望)
・データ数・対象ジャンルの拡大
・今回は対象とするキャラクタロールやジャンルを制限した
・より幅広いキャラクタや作品に対応した推定モデルの構築
・キャラクタロールの定義を再検討
・「ライバル」には友好的な競争相手と,敵対する相手が混在
→敵対する「ライバル」 と 「敵」の違い
29 / 30
おわりに:まとめ
・目的: 発話キャラクタのセリフからキャラクタロールを推定
・手法:
・背景: キャラクタロールに基づくキャラクタ検索を行いたい
・問題: 全てのキャラクタにタグが付与されているわけではない
BERTを用いてセリフとキャラクタロールの関係を学習
キャラクタロールを正解ラベルとした推定モデルを構築
30 / 30
・結果: セリフからキャラクタロールを推定できる可能性が示唆

MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025