自動で物語を作るプログラムを作る妄想をしています。
世界中の民話や神話に類型が見られるという話はよく聞きます。例えばギリシャ神話のオルフェウスと日本神話のイザナギの話に類似点が多く、その他にも世界中に黄泉の国に下るストーリーの神話があるそうです。もっと身近な例では、マンガにもストーリー性の強いものは、寄生獣とデビルマン、どろろとベルセルクみたいになんとなく似たストーリー展開のものがあります。
というわけで、そうしたストーリーを要素ごとに分解してランダムに繋ぎ合わせれば、自動で物語を生成するプログラムが作れるんじゃないかと考えました。
小説は無理でも、カッコ書きでセリフを展開させる二次創作SS(ショートショート)のようなものを自動生成し、Twitterのbotに投稿することくらいはできるんじゃないかと思っています。二次創作ならキャラの説明をすっ飛ばせますしね。
SS(二次創作)とは (エスエスとは) [単語記事] - ニコニコ大百科
※説明すると、二次創作SSは主にセリフでストーリーが展開する形式をとることが多いです。そこまで文章力がなくても、元々キャラを知っている人にはちゃんと内容が伝わる文体です。
まどか「ニンジャ? ニンジャナンデ!?」
さやか「アイエエエエエ!」
ニンジャ「見られたからには、ここがお前たちのオブツダンだ」
??「ワッショイ!」
ニンジャ「むうっ!?」
??「ドーモ、サダメ・コーポレーションのゲニン=サン。ニンジャスレイヤーマミです」ペコッ
アントニー「ドーモ、ニンジャスレイヤーマミ=サン。ゲニンのアントニーです」ペコッ
マミ「ニンジャ殺すべし。イヤーッ!」ヒュン
アントニー「グワーッ! サヨナラ!」
まどか「スゴイ! 人の頭が割れたスイカめいた有様に!」
マミ「ふぅ。アイサツからの反応が遅い。大したワザマエではないわね」
また、物語の機能の要素を分類したような研究がないか探したところ、ウラジーミル・プロップ による「昔話の構造31の機能分類」というのを見つけました。登場人物(主人公、助力者)にキャラクターの名前を当てはめて、下の機能をいくつかピックアップしてランダムにつなぎ合わせるようなプログラムを書けば簡単な物語なら生成できそうです。
- 家族の一人が家を留守にする(不在)
- 主人公にあることを禁じる(禁止)
- 禁が破られる(侵犯)
- 敵が探りをいれる(探りだし)
- 敵が犠牲者について知る(漏洩)
- 敵は犠牲者またはその持ち物を入手するために、相手をだまそうとする(悪計)
(以下略)
さらに、こちらのブログによれば機能の現れる順序は同一だという指摘もされているようです。それなら、リストの上から順番にいくつか選べばいいだけなので楽ですね。
一、昔話の恒常的な不変の要素となっているのは、登場人物たちの機能である。その際、これらの機能が、どの人物によって、また、どのような仕方で、実現されるかは、関与性をもたない。これらの機能が、昔話の根本的な構成部分である。
二、魔法昔話に認められる機能の数は、限られている。
三、機能の継起的順序は、常に同一である。
四 あらゆる魔法昔話が、その構造の点では、単一の類型に属する。
例えばこんな感じをイメージしています。
綾野「冷蔵庫に入ってるプリンは食べないでね」(禁止)
綾野「プリントを渡してこなきゃ」(不在)
京子「プリンだ!」(侵犯)
ただ、ルールを決めるのが思ったより面倒ですし、ウラジーミル・フロップの研究ももう少し調べる必要がある気がしています。また、彼の研究は最近気になっていう構造主義のさきがけでもあるそうです。
また、二次創作でやるにしても、多少民話的な雰囲気を持っていて、キャラクターの役割がハッキリ(主人公と悪役など)していて、二次創作がウケそうなものというとかなり限られてくる気がします。とりあえず魔法少女まどか☆マギカで作ってみようかなあと思っています。
また、こういう発想ってマルコフ連鎖と相性良さそうな気がして調べたところ、実際それっぽい論文もいくつか見つけました。もしかすると同様の研究をもうやっている方もいらっしゃるのかもしれません。
"Never-ending Storytelling with Discrete-Time Markov Processes" http://t.co/XUBostzG4b ウラジーミル・プロップとマルコフ連鎖で検索したらそれっぽい研究が見つかった
— 黒めだか (@takeshi0406) December 3, 2014
まあでも二次創作SSを自動生成するとかいうアホらしい発想は無い気がします。
そういえば、官能小説の自動生成ソフトも以前話題になっていました。本当にプログラムが作ったのかと驚くようなものばかりで敬服します。
ちなみに最終目標はコレです。
それまでの人生を入力したら、会社ごとに最適な物語を作って履歴書を作ってくれる人工知能を作ろう
— 黒めだか (@takeshi0406) December 3, 2014