...

プロップに基づく階層的ストーリーグラマーによる

by user

on
Category: Documents
10

views

Report

Comments

Transcript

プロップに基づく階層的ストーリーグラマーによる
日本認知科学会
文学と認知・コンピュータ研究分科会Ⅱ(LCCⅡ)
第 26 回定例研究会
2011 年 11 月 12 日・東洋大学白山キャンパス
26G-01
プロップに基づく階層的ストーリーグラマーによるストーリー生成システム
―物語生成システムの一要素として―
今渕 祥平
小方 孝
岩手県立大学ソフトウェア情報学部
岩手県立大学ソフトウェア情報学部
1. まえがき
筆者らはプロップの『昔話の形態学』(Propp, 1969)を参考にストーリー生成システムの研究・開発を行
っている.ロシアの民族学者ウラジーミル・プロップの『昔話の形態学』は,構造主義物語論における物語
研究の古典であり,これを参考としたストーリー生成システムの試みは従来からある(Klein et al, 1974;
Peinado & Gervás, 2005).Peinado & Gervás (2005)の KIIDS システムは,システムにおける領域特
化型のオントロジーにプロップの理論を利用し,ロシア民話風プロットを生成する.
筆者らの先行研究では,物語生成システムへの導入という観点から,物語の構成要素への解体として
プロップの『昔話の形態学』を整理し,試作システムとして再構成例を提案した(Ogata & Terano, 1991;
小方, 2007).試作システムとして,(1)「機能」とその階層性,「機能の対」を利用した試作システム,(2)行
程結合パターンを利用した試作システム,(3)登場人物の役割を重視した試作システムの 3 つを示し,物
語生成システムへの導入を議論した.しかし,これらの試作システムはデータ構造や処理方法の違いによ
り後述する物語生成システム(小方, 2003a, 2003b; 小方・金井, 2010)のその他の部分と統合できない
状態であった.本研究の目的は,小方 (2007)の試作システムを物語生成システムの構成要素として利
用するために再実装することである.本システムは単独で動作するが,それと同時に後述する物語生成
システムにおいて物語内容を生成する役割も果たす.また物語生成システムへのプロップ理論の包括的
な導入も目的のひとつである.
本稿 2 節では物語生成システムの概要と本システムの位置づけを概説する.3 節ではプロップの理論
の概要を説明し,4 節でそれを参考に開発したシステムの構成や処理手順を説明する.5 節ではシステム
の入出力例を示す.そして 6 節でその考察を行い,7 節でまとめと今後の課題の整理を行う.
2. 物語生成システムの概要と本システムの位置づけ
物語生成システムの全体像を図 1 に示す.これは大きく概念構造生成部分と表層表現の生成部分に
分かれる.前者は物語の中で時間順に生起する出来事を表現する物語内容と,その語り方の構造を規
定する物語言説に分かれる.このような大きな枠組みの中に相対的に自律したたくさんの小システムが含
まれ,相互作用することで物語テクストが生成される.
図 1 物語生成システム
1
本システムと物語生成システムの関係を図 2 に示す.本システムは,物語生成システムの物語内容機
構の中に位置づけられる.本システムは物語生成システムにおける動詞/名詞概念体系と結び付くことで,
物語内容を生成する.
図 2 システム関係図
3. プロップの『昔話の形態学』
Propp (1969)は,ロシア民話における構成要素やその構造を述べた.プロップは,結果から見られた
登場人物の行為を「機能」と呼び,物語の構造を規定する最も基本的な要素とした.表 1 に示す 31 個の
「機能」がロシア民話において原則としてこの順序で並んでいるとされる.また,プロップは各「機能」の下
位レベルに複数の実現方法を掲げている.例えば,「禁止」機能の実現方法として,「禁を課す」と「命令
または提案」の 2 つを掲げている.筆者らはこうした実現方法を「副機能」と呼ぶ.
表 1 31 個の「機能」
同時にプロップは,特定の「機能」が別の特定の「機能」を呼び起こし結果的に両者が対をなして出現
すること示し,これらを「機能の対」とした.「機能の対」を表 2 に示す.例えば「禁止」機能は「違反」機能を
呼び起こし,「闘い」機能は「勝利」機能を呼び起こす.
表 2 「機能の対」
プロップはロシア民話の登場人物として主人公,敵対者,被害者,呪具,派遣者,贈与者,ニセ主人公
の 7 種類の役割を挙げている.各役割は,特定の「機能」グループの主要な担い手となっており,これは
それぞれ決まった「機能」の行動領域を持っていることを意味する.
2
4. システムの構成と処理手順
4.1 構成
システムの構成を図 3 に示す.システムはストーリーグラマーと処理部分,プロップ DB,イベント DB か
ら成り,物語生成システムにおける概念体系を参照して動作する.ストーリーグラマーは,小方 (2007)が
「昔話の形態学」の「機能」とその例の記述から生成文法風に整理したものを参考に手直しを行った.これ
については次節で述べる.プロップ DB はシステムが生成する事象概念と登場人物や具体物のフレーム
を格納する.これをもとに,システムは事象列(物語内容)を生成・出力する.また,生成された事象列を物
語生成システムにおける文生成機構により文表現に自動変換したものも同時に出力する.イベント DB は,
入れ子型の事象概念を生成する際に必要となる事象概念を格納する.例えば,「命令」の副機能から生
成される事象概念は,事象の中に命令内容となる事象(「~を命令する」の~に当たる)を含む入れ子型
の事象概念で表す.この命令内容となる事象がイベント DB に格納されており,これを参照して事象概念
を生成する.また,物語生成システムにおける動詞/名詞概念体系は,事象概念生成処理において必要
となる動詞/名詞情報を提供する.
図 3 システム構成図
4.2 ストーリーグラマー
図 4 にストーリーグラマーの実際の記述の一部を示す,これはレベル①~④の 4 階層から成る.最上層
レベル①は物語内容全体(ロシア民話)を 4 つの要素に分けて示す.レベル②は 31 個の「機能」をいくつ
かのグループに分けて示す.レベル③は各「機能」の「副機能」を示す.最下層レベル④は「副機能」の具
体的な実現形態を示し,概念体系に基づく事象概念の格構造で表す.そしてストーリーグラマーの中に
は,この階層とは別に「機能の対」の知識も格納されている.ここでは,「副機能」どうしの対をリスト形式で
記述している.
(defvar *propp-level1-list*
;レベル①
'((ロシア民話 (00_導入 問題 試行 解決))))
(defvar *propp-level2-list*
;レベル②
'((問題 (予備部分 発端))
(試行 (OR (予備試練 闘いと勝利)
(予備試練 難題解決)))
(解決 (問題解消 到着と試練 終結))
(予備部分 (OR (01_留守 02_禁止 03_違反)
(01_留守 04_探り出し 05_情報漏洩)
(01_留守 06_謀略 07_幇助)))
(発端 (OR (08_加害 09_仲介 10_対抗開始 11_出立)
(08a_欠如 09_仲介 10_対抗開始 11_出立)))
(予備試練 (12_贈与者の第一機能 13_主人公の反応 14_呪具の贈与・獲得 15_空間移動))
(闘いと勝利 (16_闘い 17_標づけ 18_勝利))
(難題解決 (25_難題 26_解決))
(問題解消 (OR (19_不幸・欠如の解消 20_帰還 21_追跡 22_救助)
(19_不幸・欠如の解消 20_帰還)))
(到着と試練 (23_気付かれざる到着 24_不当な要求))
(終結 (27_発見・認知 28_正体露見 29_変身 30_処罰 31_結婚))
))
(defvar *propp-level3-list*
'((00_導入
(alp-1_導入))
;レベル③
3
(01_留守
(OR bet-1_外出 1
bet-2_死
bet-3_外出 2))
(02_禁止
(OR gam-1_禁止
gam-2_命令/提案))
(03_違反
(PAIR del-1_違反
del-2_命令実行))
(省略)
;家族の成員のひとりが家を留守にする.
;年長の世代に属する人物の留守(外出).
;両親の死.
;年少の世代に属する人物の留守(外出).
;主人公に禁を課す.
;禁止.
;命令,または提案.
;禁が破られる.
;禁止を破ること.
;命令を実行すること.
(defvar *propp-level4-list*
;レベル④
'((alp-1_導入 ((導入の状況 (1))))
;*******************************************************************************
(bet-1_外出 1 ((出かける (1) (agent 両親) (object 用事))))
(bet-2_死 ((死ぬ (1) (agent 両親))))
(bet-3_外出 2 ((出かける (1) (agent 子供) (object 用事))))
(gam-1_禁止 (OR ((禁止する (1) (agent "人間") (object 外出) (to *主人公*)))
((禁止する (1) (agent "人間") (object 発言) (to *主人公*)))
((監禁する (1) (agent "人間") (counter-agent *主人公*)))
((依頼する (1) (agent "人間") (object 留守番) (counter-agent *主人公*)))
((禁止する (1) (agent "人間") (object "event 1") (to *主人公*)));■
((説得する (1) (agent "人間") (counter-agent *主人公*)))))
(gam-2_命令/提案 ((命令する (1) (agent "人間") (counter-agent *主人公*) (object "event 2"))));■
(del-1_違反 (OR ((反す (1) (agent *主人公*) (object 禁)))
((破る (1) (agent *主人公*) (object 禁)))
((犯す (1) (agent *主人公*) (object 禁)))))
(del-2_命令実行 ((実行する (1) (agent *主人公*) (object 命令))))
(省略)
(defvar *propp-function-pair-list*
'((gam-1_禁止 del-1_違反)
(gam-2_命令/提案 del-2_命令実行)
;機能の対の定義
(eps-1_問いただし 1 zet-1_教示 1)
(eps-2_問いただし 2 zet-2_漏洩)
(eta-1_説得 tht-1_同意 1)
(eta-2_呪具 tht-2_反応 1)
(eta-3_欺き/乱暴 tht-3_反応 2)
(省略)
図 4 ストーリーグラマーの記述の一部
4.3 処理手順
システムの動作の流れを説明する.まずユーザが(1)ストーリーグラマーのレベル①からレベル④のい
ずれかの生成規則ひとつ(これを起点としてストーリーグラマーの展開を行う)と,(2)7 種類の役割に対応
する登場人物の名称を入力する.システムの処理部分はその入力に従ってストーリーグラマーをトップダ
ウンに参照する.例えばレベル①の「ロシア民話」を入力とした場合,システムはその下層にある機能群
(レベル②),副機能群(レベル③),概念体系に基づく実現形態(レベル④)の順にストーリーグラマーを
展開して行く.展開の途中で「機能の対」の一方に到達した場合,その対のもう一方を自動的に導出する.
そして,最下層に到達した際に事象概念を生成する.
最下層における事象概念の生成手順を説明する.最下層で参照した動詞と動詞概念体系を照合し格
フレームを取得する.そして取得した格フレームに,最下層に記述されている格情報を挿入する.この際,
格情報に 7 種類の役割に対応する登場人物を意味する「*主人公*」などのアスタリスクに囲まれた記述が
現れた場合,プロップ DB を参照しその名称を割り振る.また,格情報に「”人間”」など二重引用符に囲ま
れた記述(特定の人物や具体物ではなく,この概念に属する任意の要素を意味する)が現れた場合,名
詞概念体系を参照しその下位概念からランダムに取得し挿入する.こうして事象概念が生成される.
ストーリーグラマーを全て展開したら,最後に生成された事象概念の格情報の登場人物を agent フレ
ーム,具体物を object フレーム,場所を location フレームとして,事象概念と共にプロップ DB に格納す
る.
5. 入出力例
入力の生成規則をレベル①の「ロシア民話」とした入出力例を図 5 に示す.システムの出力は(1)物語
生成システムにおける文生成機構による文表現と,(2)トップダウン処理で展開した生成規則の一覧,(3)
物語内容となる事象概念である.
4
(propp 'ロシア民話)
================================
*主人公*:イワン
*敵対者*:蛇
*被害者*:姫様
*呪具*:魔法の杖
*派遣者*:王様
*贈与者*:バーバ・ヤガー
*ニセ主人公*:メロス
================================
導入の状況が示される
両親が出かける
"*人間[生物学的]*"がイワンに対して"イワンが朝飯を送り届ける"と命令する
【PAIR】イワンが命令を実行する
魔法の杖が欠如する
王様が捜索をイワンに依頼する
王様がイワンを送り出す
(省略)
メロスが報酬を要求する
姫様が総てを語る
メロスが露見する
イワンが宮殿を他国の王のもとへ建てる
イワンが他国の王のもとに住む
王様が蛇を容赦する
王様がメロスを容赦する
イワンが姫様と婚約する
================================
【route】(ロシア民話 00_導入 alp-1_導入 問題 予備部分 01_留守 bet-1_外出 1 02_禁止 gam-2_命令/提案 03_違反
del-2_命令実行 (省略)
((event 出かける (1) (type action) (ID 1) (time (1 2)) (agent 両親) (counter-agent nil) (location 家) (object 用事)
(instrument nil) (from nil) (to nil)) (event 命令する (1) (type action) (ID 2) (time (2 3)) (agent *人間[生物学的]*)
(counter-agent イワン) (location 家) (object (event 送り届ける (1) (type action) (ID 0) (time (0 0)) (agent イワン)
(counter-agent nil) (location nil) (object 朝飯) (instrument nil) (from nil) (to nil))) (instrument nil) (from nil) (to nil))
(event 実行する (1) (type action) (ID 3) (time (3 4)) (agent イワン…
(省略)
図 5 入出力例
6. 考察
システムが生成可能な物語内容の多様性を調査するために,実験的にシステムを 50 回実行した.今
回は特に出力の長さに着目した.結果,入力に応じて生成される事象概念の数は,入力の生成規則がレ
ベル①の場合 28 から 39 個,レベル④の場合 1 から 3 個となった.入力によって生成数は著しく変化す
ると言える.また,ストーリーグラマーにおけるレベル②には 31 個の「機能」,レベル③には 175 個の「副
機能」,レベル④には 221 個の実現形態が格納されており,理論的にはどの規則を辿るかによって,内容
的にも多様な生成が可能である.
7. むすび
筆者らはプロップの理論から再構成したストーリーグラマーを利用したストーリー生成システムを開発し
た.これは,物語生成システムの構成要素として利用可能にするため,用いる概念体系やデータ構造を
他機構と統一したものである.しかし,小方 (2007)の 3 つの独立した試作システムの方法全ての再実装・
統合には至っていない.当面の目標はこれらの方法のシステムへの導入である.現在,システムは単純
なトップダウン処理が実現されているが,これに加え試作システムで実装されていたボトムアップ処理と,
それらを用いたハイブリッドな方法の検討を進めたい.また,小方 (2007)でも挙げられているプロップの
述べる「行程」の知識や他の要素の導入も今後の大きな課題である.そして,それと同時に本システムを
統合物語生成システムに組み込む方式の検討を行う予定である.プロップ理論には「機能」の並びのよう
なマクロな構造,「機能の対」のようなミクロな構造を作る知識がある.このようなさまざまなレベルの方法を
どのように組み込んでいくかの議論を進めて行きたい.
参考文献
Klein, S., Aeschlimann, J. F., Appelbaum & M. A. et al. (1974). Modeling Propp and
Levi-Strauss in a Meta-Symbolic Simulation System. Computer Sciences Technical
Report 226. University of Wisconsin.
Ogata, T. & Terano, T. (1991). Explanation-Based Narrative Generation Using Semiotic
Theory. Proc. of Natural Language Processing Pacific Rim Symposium 91. 321-328.
小方 孝 (2003a). 物語の多重性と拡張文学理論の概念―システムナラトロジーに向けて I―. 吉田雅
明 編. 『複雑系社会理論の新地平』. 専修大学出版局. 127-181.
5
小方 孝 (2003b). 拡張文学理論の試み―システムナラトロジーに向けて II―. 吉田雅明 編. 『複雑系
社会理論の新地平』. 専修大学出版局. 309-356.
小方 孝 (2007). プロップから物語内容の修辞学へ―解体と再構成の修辞を中心として―. 『認知科
学』. 14(4). 532-558.
小方 孝・金井 明人 (2010). 『物語論の情報学序説―物語生成の思想と技術を巡って―』. 学文社.
Peinado, F. & Gervás, P. (2005). Creativity Issues in Plot Generation. Workshop on
Computational Creativity, Working Notes, 19th International Joint Conference on
Artificial Intelligence. 45-52.
Propp, V. (Пропп, В. Я.) (1969). Морфология скаэки, Иэ, 2е. Мос
ква: Наука. (北岡 誠司・福田 美智代 訳 (1987). 『昔話の形態学』. 白馬書房.)
6
Fly UP