迷宮刑事

 一つ思いついたことがある。
 「気まぐれ人工知能プロジェクト 作家ですのよ」の作品に「人狼知能小説生成システム」というのがある。
  
人狼知能小説生成システム

 これは、カードゲームの人狼をAIにプレイさせてその内容を小説にするというもの。
 たしかにこの方法ならば、プレイごとにちがったストーリーができそうだ。

 ゲームをプレイしてその内容を小説にするというのは、TRPGでいえばリプレイのことである。
 ということは『クトゥルフ神話TRPG』をプログラムで自動化してそのログを出力させれば、クトゥルー神話の小説を自動生成できるのではないか。

 TRPGの自動化ということなら、ドラクエなどのデジタルゲームのRPGがある。この場合はGM(ゲームマスター)側だけが自動化されているということになる。
 ここからさらに、シューティンゲームのデモ画面のように、プレイヤー側も自動化して、そのリプレイを出力させれば、それが小説になって出てくるというわけだ。
 これを何とか実現したい。
 問題はまずRPGを自作できるかだが。
 リプレイの出力が目的なので画像はいらない。いわゆるテキストRPGでじゅうぶんだ。だったら何とかなるのではないか……


 なんてなことを考えていたのが一ヶ月ほど前。
 で、その後、完成した試作品がこちら。
 まだ。RPGと言えるものではないが。まあコンセプトモデルといったところですかね。
  
home.g06.itscom.net

 一番上にあるのが通常のゲームとして作ったもの。いちおう刑事が犯人を追うというすじがきがある。
 その次が、ゲーム部分は上と同じで、下の画面にリプレイが出るようになっている。
 さらにその下にあるものが、ゲーム部分を自動化してリプレイだけを出力するようにしたもの。


 まだ小説と呼ぶにはほど遠いが、とにかく文章を生み出すマシンはできた。
 あとはこれに改造を加えていけば、いつか小説を生み出すマシンができるのではなかろうか。

『物語の体操』のカードを改造して使う

 プログラムで小説を書く何かいい方法はないものか?
 決まったパターンのヴァリエーションならば前々回書いた樹木型でつくれるが、それだと意外性に欠ける。
 もっと、構造自体が動的に変化していくようなプログラムはつくれないだろうか。

 大塚英志の『物語の体操』という本に載っているカードがそのヒントになりそうな気がする。
 このカードをプログラム化したものをネット上でいくつか見かけたこともあるけど、私も作ってみたのがこちら。

home.g06.itscom.net

 カード名の後に+か-がつくことで逆位置が表現できるようにした。

 このシステムが優れていると思うのは、あらすじを象徴的な一語で表すことで、一枚のカードが物語の発端でも結末でもどこにでも使えるということではないか(大塚はタロットカードから発想したとか)。
 だがこれでやるとわりとワンパターンのストーリーになる気がする。旅の途中で仲間や敵と出会っていくという、『少年ジャンプ』的なね。
 なので、こういうものは改造して使う。
 まず、私が書きたいのはクトゥルー神話なので、カード名もそのイメージで変えてしまう。
 この二十四枚にした。
「書物」「死者」「相続」「通信」「血脈」「旅行」「妖術」「機械」「天災」「悪夢」「芸術」「宗教」「狂気」「薬物」「犯罪」「遺跡」「地下」「宇宙」「都市」「召喚」「失踪」「動物」「歴史」「復活」
 ここから四枚をランダムに引いてそれを起承転結としてあらすじを考える。逆位置は使わない。
 それをプログラミングしたのがこれ。

home.g06.itscom.net

 これを作ったのはもうだいぶ前だけど、私の書いた短編の多くの筋書きもこれを使ったものだったりする。
 つまりこれであらすじはつくれる。しかし小説の文章は自分で考えなければならない。

 植物が種子から成長するように、一つの言葉から文が成長していくような仕組はつくれないものか。
 そういえば「ライフゲーム」というのがある。
ライフゲーム|第一学習社
 あれのドットのかわりに文字を配置したら、いつの間にか文ができてる、などと一瞬考えてしまったが、そんなわけはない。あれはドットが周囲の疎密に反応してるだけだから、文字でやっても同じ文字が増殖するだけだろう。

 植物の種子は、土や水分など周囲の環境に反応して成長する。
 では、文が成長する環境とは何か?

 本日の成果

(遺跡)(悪夢)(犯罪)(天災)
 この四枚のカードから考えたあらすじが以下のもの――

 ある学者が遺跡に調査に行き発掘品を持ち帰る。
 その夜からひどい悪夢を見るようになる。
 発掘品を何者かに盗まれる。
 盗んだ者を追って行くと嵐に巻き込まれる。嵐の中には怪物の姿が……

カットアップ機械

 今回も過去に作ったプログラムを紹介しようと思う。

home.g06.itscom.net

 これはカットアップ機械というもので、ニュースサイトやウィキペディアからコピーしてきた文の断片をスクリプトに書き込んでおくと、ランダムに並べて出力する。長くなると読みずらいので、適当に「……」で区切るようにした。

 カットアップというのが何かというと、とりあえずウィキペディアの説明を。

カットアップ - Wikipedia

 そして、今は亡きペヨトル工房の雑誌『WAVE』メタフィクション特集での武邑光裕による「バロウズノーツ」から引用すると

 バロウズにとって選択される「切り繋ぎ(カットアップ)」を構成する素材は、あらゆる書物の断片、会話、新聞記事、広告などで、それらは偶然的契機による融合や、脈絡の無い接合によって具体化され、一般の固定化した言語統制による連想作用の突き崩しを促し、言語の文脈を構成するイメージ間に新たな連絡網を実現させる目的を担っていた。

 だとか。
 カットアップによって生み出される脈略の無い文章、ここにプログラムに文章を書かせることの意味があるのではないか。
 つまり、日常的な意識で考えても出てこないフレーズに出会う可能性があるということである。バロウズの文章を読んだことがなくても、『裸のランチ』『ソフトマシーン』『爆発した切符』といったタイトルを眺めるだけで、その面白さの片鱗はうかがえるだろう。
 プログラミングによる文章の自動生成を考える場合、いかに日本語として正しい文章にするかといった方向に考えが向きがちであるが、機械的な方法による文脈も文法も無視した接続の暴力性を重視する方向もある。そのことは、立ち返るべき原点として忘れないでおきたい。

 本日の成果

午後3時内因性エンドルフィン分泌量をあげる肉体改造……かならず美しい語の断章のみが現存している……昨日の夜の時点で既に……あくまでもこれは純粋な、こんな話を聞いた……何重もの意味で膨大なリストを瞬間的に走査する

樹木型の文章自動生成

 前回のこのブログで公開したプログラムは文章を自動生成するというもの。
 それは、部分ごとにあらかじめ候補になる文を複数用意しておいて、ランダムにそれをつないでいくことで文章になる。
 プログラムとしては難しいものではなくて、よく初心者向けのサンプルである「おみくじ」を長くしたようなものである。
 たとえば――

  あなたの運勢は**です。

 これの**の部分を「大吉」とか「凶」に変えるやつ。
 こういう部分的に(あるいは一文まるごとでも)可変する文を連ねただけの話。
 このような自動生成の方法は、枝のように分かれた選択肢をたどっていくということで《樹木型》と呼べると思う(あるいは《ツリー型》)。

 では、この《樹木型》の自動生成ではどんな文章が作れるだろうか?
 可変する場所と選択肢を増やしていけば、どんな文章でも作れる、そう思いますよね。
 理論上はそうです、しかしそれを実際にやるとなるとこれがなかなかむずかしい。

 たとえば――

  aの出身地はbです。

 という文があったとしてaには〔私、あなた、彼、彼女〕の四種類、bには〔東京、千葉、埼玉〕の三種類のどれかが入るようにする。ここまではいい。
 だが真ん中の「出身地」を変えることはできるだろうか。「目的地」「旅行先」などにすることはできる(真偽は問わず意味が通ればよい)。
 しかしたとえばそこを「運勢」などとした場合は、おかしくなる。あなたの運勢は埼玉です、とか。
 こうした短い文ならば第二項の選択肢それぞれに対応する第三項の選択肢のグループを用意するのはさほどの手間ではない。しかし、これを短いものでも小説一作分行うとなると、膨大な手間になる、ということはお分かりいただけると思う。

 何が言いたいのかというと、文章にはそれぞれ固有の「構造」というようなものがあって、この構造に沿って変更できる部分は、同類の言葉で置き換えても意味は通る。しかし、構造が崩れてしまうような部分を変更するとなると、全体を一から考え直さなければならなくなる、ということです。
 だから、前回のバットマン文をクトゥルー文に書き換えるというように、元ネタがあってそのパロディというか劣化コピーというかシミュラクルというか、そういった似て異なる文を作るのには《樹木型》の自動生成が使えるが、構造自体を可変させるような自動生成はなかなかむずかしい。


 あと、「構造に沿って変更できる部分は、同類の言葉で置き換えても意味は通る」と書きましたが、この「同類の言葉」というのは「対義語」つまり反対の意味の言葉でもわりといける。
 そのことはレヴィ=ストロースが『神話論理』という本でいってるらしい、私は読んでないのだが。新書の『はじめての構造主義』とか『レヴィ=ストロース入門』とかを読んでヒントを得たのだ。それでだいぶ以前に作ったプログラムがこれ――

home.g06.itscom.net


 どういうものかは、まあ試してみて欲しい。

AIにクトゥルー神話を書かせることは可能か?

 最近、AIに小説が書けるかということを考えている。
 そのきっかけはこの記事――

front-row.jp

 自分もAIを使ってこんな文章を書かせることができたらと、そう思ったのである。
 クトゥルー神話とかをね。
 もちろんただの素人がAIなどを扱うのは難しいかもしれない。だが、本屋に行ったらAIをプログラミングできるみたいな本が並んでいるし、勉強すれば何とかなるのではなかろうか。
 そんなわけで、いろいろ苦労を重ねた挙句、1000時間かけてウチの格安PCに出力させたのが以下の文章。

 私は病んだ精神をなだめすかしながら、ある文書を焼き捨てようとしている。
 あの時、私は、《アルハザードのランプ》を覗きこもうとしていた。それがどんな悲劇を招くかも知らずに。
「私は今や人間を超えた。もはや神をも恐れない」
 風が強くなってきた。融けかかった電話から道化師の声が聞こえる。
「アルミの羽目板はいりませんか」
 私は電話を黙らせた。しばらくして、どこからともなく鼠がやってきた。
 鼠は左右にふらつきながら近づいてきた。それから目を光らせてこちらを見た。
「不思議な鼠だ、何かにあやつられているようだ」
 鼠は私の網膜にファンタズムを送り込んできた。
 花のように鮮やかな城砦。巨人のようなオベリスク
 星降る静寂の夜に、蜥蜴たちが墓を暴く。
 詩人が夢を見る。笑う琥珀の仮面。
 いつの間にか鼠は退散した。しかし、あたりには異様な臭いが漂っていた。
「さあ、私とお前だけだ。《無形の落とし子》よ、出てこい。」
 虚無の暗黒の中から《無形の落とし子》があらわれた。
 そいつは言った。「俺は水を飲むように無秩序を飲む」
 私は口実を探したが、それは遠すぎた。
 この事実に私は希望を見出した。
 私は冷静にドー=フナの呪文を唱えた。
 《無形の落とし子》は獣的な第六のセンスでそれをかわした。
 蒼古の防御だ。
「俺は夢を見たことがない。それが俺の夢だ。お前は夢を見るか? 俺は見ない」
 私はキシュの印を結んだ。
 夜明けの空にUFOが飛んでいた。ゆっくりと降下してきた。
 次元の裂け目で無数の口が牙をむいた。
 《無形の落とし子》は私に向かって戦慄的な思念を送ってきた。
「おめでとう。今日がお前の命日だ。だが、それは死ではない」
 私は自分の精神が暗闇にのまれていくのを感じていた。
 森が震え、死者が立ち上がる。
 これはニャルラトホテプの悪夢だ!

 プログラムで作ったのでヴァリアントもいくらでも作れる。
 そのプログラムがこれ。

home.g06.itscom.net

 はやめに断っておくとこれはべつにAIというほどのものではない。もっともAIという語には明確な定義はないらしいけど。
 にしてもともかく、現状AIにまともな文章を書かせるのは不可能らしい、ということが少し勉強しただけで分かった
 その勉強のために今回読んだのがこの二冊。

人工知能は人間を超えるか』 松尾豊
『コンピュータが小説を書く日 AI作家に「賞」は取れるか』 佐藤理史

 一冊目は一般向けの概論書として知られたものらしいので、とりあえずこれからという感じで選んだ。
 二冊目はAIに小説を書かせるということを直接テーマにしているように思えたので。

 『人工知能は人間を超えるか』で、AI開発のだいたいの流れはわかる。
 機械学習というのが何なのかみたいなことについては、ざっくりしすぎていて、よくはわからない。
 素人に理解させるのは土台無理ということなんだろう。
 この本の中では「人間の知能の原理を解明し、それを工学的に実現するという人工知能はまだどこにも存在しない」と書かれている。つまり「まだできていない」のだ。スマート家電みたいなものは「ごく単純な制御プログラムを搭載しているだけ」らしい。
 最新技術のディープラーニングで「猫の画像」が識別できるようになった。
 同様の方法で聴覚や触覚などに関わる情報の識別もできるようになれば、AIはいずれ人間と同じ「概念」を理解できるようになる。言語が出理解できるようになるのは、それからなのだとか。
 本書の予測によれば、それも2025年ごろには実現するとされている。あと五年だ。


 『コンピュータが小説を書く日』の著者佐藤理史は、「気まぐれ人工知能プロジェクト 作家ですのよ」の「文章生成班」に属する人。
 このプロジェクトは「コンピュータによるショートショートの自動創作を研究」している。そしてその成果の作品が、2015年の「第3回星新一賞」に応募され、一次選考を通過した、と話題になったのである。
 本書前半は、そのプログラムができるまでのレポートで、文章生成に対する考え方が丁寧に説明されている。
 そのプログラムというのは、あらかじめ用意した候補文を乱数で選択していく方法らしい。
 大枠のストーリーは作者=プログラマーが考えたものだが、このシステムを使うことでシチュエーションを細かく変えられる。
 それで応募作「コンピュータが小説を書く日」は、同じ出来事がシチュエーションを変えて三度繰り返されるという構成になっている。

ここでじっさいプログラムを動かせる。
コンピュータが小説を書く日

 で、結局のところ、これもAIというほどのものではないですね。本書でも触れられている官能小説自動生成ソフト七度文庫を超えるものではないでしょう。
 佐藤理史は、「「人工知能」という用語は、具体的なシステムを指す用語ではなく、研究分野を意味する言葉」と書いていて、じっさい人工知能で小説を書くみたいなことは一度もいっていない(と思う)。
 「AI作家に「賞」は取れるか」という副題も「出版社の意向」でつけられたとのこと。疑問形だし。
 どうもこの本は「AI作家誕生か」とマスコミにやたらと持ち上げられたのを否定するために書かれたものらしい。

 あとこの著者は、「ロボットは東大に入れるか」通称「東ロボ」というプロジェクトにも国語担当で参加していて、本書第6章はその話題にあてられている。現状コンピュータには文章が読めないということが述べられているのだが、本書が出た直後には結局「凍結」という結果になってしまった。


 と、いうわけで、この二冊を読んだだけで、小説を書けるAIなどは存在しない、ということがよくわかった。

 しかしじゃあ、あのバットマンの文は何なのか?
 これも、はてブのコメントによるとコメディアンが書いたネタらしい。
 そのつもりで読み直してみるとたしかにネタっぽい。そもそもバットマンの映画は1000時間もないし(と、思ったが上映時間とコンピュータが分析に使う時間はイコールではないので、一本の映画の分析に1000時間かけることはあるのかも)。
 やっぱりAIなど、素人が手を出すにはハードルが高いのだろうか。
 ブックオフで見かけて目をつけておいた、AIをプログラミングできるという本も、念のためアマゾンのレビューをみてみたら「こんなもんAIじゃねぇ」と袋叩きになっていた。まあAIに明確な定義はないのでしょうがない。

 そんなこんなで、AIにクトゥルー神話を書かせるという計画は一度は投げ出したのだが、しかしあのバットマン文には未練があった。あの文章を読んだことでやる気を出したのだ。
 思えばあれは、世間が考えるAIのイメージをよくつかんでいたと言えるのではないか。だから翻訳記事になり、はてブも集めていた。私も初見の時は「なるほどAIが書くとこうなるのか」と思って読んでいた。
 と、いうことは、あの文を下敷きにして文章を書けば、ともかく「AIが書いた風」の文章になる!
 じゃあそれを書いてみよう。どうせなら複数の文が生成できるプログラムにしよう。となったんである。

 30行という長さも手頃だったので、一行ずつ置き換えていく感じで候補を作り乱数で選ぶようにした。
 最初に、元の文の最後の一行「これはジョーカーのジョークだ。」を「これはニャルラトホテプの悪夢だ。」というふうに変えれば何とかなるだろうと思いつき、他にも何種類かクトゥルーっぽいオチの文を考えて、そこへつながるように一行目から書き換えていった。
 途中で面倒くさくなってもとのフレーズをそのまま使ったりもした。
 あと日本語として微妙なほうがAIっぽくなるかと思ってそういう表現も入れる。

 こうして完成したのが上に挙げたプログラムとその出力文なのです。

 AIの開発に使うというプログラム言語Pythonの入門書も買ったけど、まだ一ページも読んでいない。
 それよりも、私でも使える基礎レベルのJavaScriptでもまだやれることはあるのではないか?
 今はそんな気がしている。

文学フリマ東京29

 ワタクシ、第二十九回文学フリマ東京に出店します。

  第二十九回文学フリマ東京【入場無料】
  2019/11/24(日) 11:00〜17:00
  ・会場: 東京流通センター
  ・詳細: https://bunfree.net/event/tokyo29/

 今回持っていく本は――
 既刊が、クトゥルー神話作品集『真夜中のアウトサイダー/ガロス=レー』(800円)という短編二作入り。
 それと、大和屋竺の殺し屋映画研究本『暗殺のポルノ』(500円)というもの。

 そして新刊が、クトゥルー神話連作《髑髏水晶の魔女》シリーズの『水晶の中の銀河/月の庭園』短編二作(700円)。
 「水晶の中の銀河」は以前コピー誌として出したものの再録ですが、「月の庭園」は書下ろし新作です。

 ブースは【サ‐31】となっております。
 ぜひお立ち寄りください。

チラシ

 5月6日の文学フリマ無事に終わりました。
 ブースに足を運んでいただいた方ありがとうございました。


 で、以下は前回(2018年11月)の文学フリマで配布したチラシです。
 ミニゲームになっているので遊んでみてくださいね。


クトゥルー神話ミニアドベンチャーゲーム
『怪奇!叔父が消えた館』

 このチラシはゲームブック形式のミニゲームです。
 文章を読んで選択肢を選んだら、そこで指示された節へ進んでください。
 a~fのアルファベットの節にたどり着いたらそこで終わりです。


 あなたは親戚からたのまれ失踪した叔父を探すことになった。
 叔父は有名な考古学者で、あなたも大学で考古学を学んでいるのでわりと親しかったのだ。
 ここは都内の住宅街にある叔父の家である。あなたは、隠されていた鍵を発見して家へ入ることに成功した。
 部屋の中を調べると、机の上にノートを見つけた。
 ノートを開くと、叔父の文字がびっしり書き込まれている。
 それは『無名祭祀書』や『妖蛆の秘密』といった書物からの抜き書きと、その翻訳を試みたメモのようだった。
 どうやら叔父は、呪われた妖術師の一族について調べていたらしい。
 ノートの最後には「邪声館を調べる!」という走り書きがあって、住所も記されていた。
 叔父はそこへ行ったということだろうか?
 ほかに手掛かりらしいものは見つけられなかったので、あなたはこの邪声館なる場所へ行ってみることにした。
 部屋を出る前に、あなたは棚の上に並べられた三つのものに目を止めた。
 それは〈黒い鍵〉〈赤い石〉〈緑の瓶〉である。
 あなたは虫の知らせのようなものを感じて、このうちの一つを御守りとして持っていこうと思った。

  〈黒い鍵〉〈赤い石〉〈緑の瓶〉

 この三つのうちどれを持っていくか、一つを選んで記憶しておくこと。

 移動の途中、ネットで邪声館について調べると以下のことがわかった。

  ・明治時代に欧州から移住してきた妖術使いが住んでいたが、現在は無
  人の謎めいた館である。
  ・付近の村人が行方不明になることがあり、館で妖術の実験に使われた
  のではという噂がある。
  ・時おり中から奇怪な叫び声のようなものが聞こえるので“邪声館”と
  呼ばれている。


 その館は、千葉県某所の海にも近い森の中に建っていた。
 玄関のドアは開いていて、中に入ることができた。
 この先へ進むために、あなたは次の三つのルートから一つを選ばねばなら
ない。

  奥へ進む廊下   1へ
  二階へ上る階段  2へ
  地下へ下る階段  3へ


  1
 廊下を進むと突き当りにドアがあった。
 ドアから部屋に入るとその奥には大きな金庫のようなものが置かれていた。
  〈黒い鍵〉を持っているなら  aへ
  持っていなければ       bへ


  2
 階段を上っていくと天井から何かが垂れ下がってきた。
 それは無数の触手をもった怪物ニョグダだ!
  〈緑の瓶〉を持っているなら  cへ
  持っていなければ       dへ


  3
 階段を下っていくと暗い地下室へ出た。
 足を踏み入れると床の落とし穴が口を開けあなたは落下した。
  〈赤い石〉を持っているなら  eへ
  持っていなければ       fへ

  a
 あなたは〈黒い鍵〉を使うことで金庫の扉を開けることができた。
 そこには伝説の魔道書『ネクロノミコン』が――
 外国語の得意なあなたは読み始めると止まらなくなった。
 自宅へ持ち帰り研究をつづけることにした。
 その結果、禁断の知識に触れたためあなたは気が狂ってしまった。

  b
 金庫には鍵が掛かっていて開けられなかった。
 あなたが部屋の中央に立つと、床が光り出した。
 突然、気が遠くなるような感覚があった。
 気がつくと、そこは凍てつく荒野のカダスである。
 あなたはその地をさまよい歩いた末、食屍鬼の群れに襲われて死んだ。

  c
 あなたはニョグダに〈緑の瓶〉を投げつけた。
 中の液体がかかると怪物は溶けながら消え去った。
 二階の部屋には一枚の肖像画があった。館の主の妖術師を描いたものだ。
 そしてその顔のは叔父とよく似ている気がした。それ以上にあなた自身に似ている。あなたは呪われた妖術師の子孫なのだった。

  d
 ニョグダはあなたに襲いかかってきた。
 無数の触手が体中に絡みつき引き寄せられていった。
 巨大な口に飲みこまれ、あなたは死んだ。

  e
 あなたの身体は宙に浮いていた。〈赤い石〉が光っていた。
 石の力で落とし穴には落ちずに済んだ。
 地下室を調べると手帳を見つけた。それは叔父の残したもののようだ。
 この手帳の内容を調べれば叔父の行き先がわかるだろう。探索はつづく。
 
  f
 落下したあなたは斜めになった通路を滑り降りていった。
 そして海中へ投げ出された。溺れる……
 そう思ったが、あなたの身体に変化が生じた。
 手足には水かきが、呼吸はえらでできた。
 あなたは〈深きもの〉とよばれる海棲人だったのだ。
 何かに導かれるように深海へと旅立っていった。