小説生成システム開発計画 - プロジェクトNUE

木本雅彦

プロジェクトの目的

このプロジェクトの目的は、「計算機に小説を書かせること」である。


あくまで計算機であり、人工知能といった手法には限定しない。たとえば、

確実に小説として成立する数列を発生させられる謎の疑似乱数生成器(その時点で

乱数ではないのだが)が存在するのなら、それで構わない。


また、ここで言う小説とは「コンテンツとして価値のある小説文章」を指す。


率直な表現になるが、金になる小説コンテンツを、いかにして計算機に出力

させるかが目的である。生成物の創造性、新規性などは問わない。


また、コンテンツとして価値がある小説文章を作るために、人間が多少のサポート

をすることは構わない。本来人間が執筆する半分のコストで同じアウトプットが

得られれば、このプロジェクトの方向性に合致する。


このプロジェクトに取り組もうと思った僕自身の動機付けをもう少し書いておこう。


自分自身が小説を書いていく経験を重ねる(重ねるとか偉そうに言えるほど

重ねてはいないのだが)過程で、技術やノウハウといった部分が徐々に見えるように

なってきた。これは職人的作家の間では共通する意識なように思う。


大きなところでは、起承転結や序破急といった構造、細かなところでは、

伏線をどのように配置し、どのように回収するか。


この経験から「小説を小説たらしめている法則」というのが存在するのでは

ないかという仮説を持ち始めた。


この法則は自然に存在する法則ではなく、人間の中に存在する法則である。


たとえば、「水たまりに落ちた蟻を仲間の蟻が助けようとしている写真」を想像して

欲しい。この議論は、確実に何かの文献で読んだのだが、出典を掘り出せない。

申し訳ない。


蟻は別に仲間を助けようとしているのではなく、単に仲間が地面に置いていった

匂いをたどってきてうろちょろしているだけなのだろう。それを「仲間を助ける

物語」として解釈するのは人間である。


自然界には物語は存在しない。自然現象であっても、それを人間が物語と

解釈して、始めて物語として成立する。


また、何を物語として解釈するかという法則は、言語圏や文化圏を越えて

普遍的に存在する。有名な例としては、浦島太郎とまったく同じ構図の

神話がケルト地方に残っている。常若の国(ティル・ナ・ノーグ)の話である。


このあたりをベースにして、僕はSFマガジンに掲載した短篇の中で、

「生成物語構造理論」というのをでっちあげた。「生成」の部分は、チョムスキー

の生成文法からぱくってきた表現で、「普遍」に置き換えてもいい。


ある構造を物語として解釈するためのルールが、人間の中にはあらかじめ

備わっているという理論(でっちあげ)であった。


この単語は、その後、KCG文庫で出した「永眠童話」の中でもちらりと登場

させていたりして、自分でも気に入っている考え方である。


そこに来て、昨今の人工知能ブームである。


今回のブームの背景のひとつとして、

機械学習や深層学習の道具が誰でも入手できて実行できて、

しかも個人が買える計算機環境でもそこそこの実験ができるようになったという

点が挙げられる。


自然言語処理も同様である。


僕の手元のそれほど速くないマシン(Core i3 1.4GHz)で、730万文、1億語の

テキストをword2vecで学習させたところ、1時間程度で完了した。


もちろんこれは、word2vecの実装で様々な最適化や近似が実装されているから

実現できることだが、単なるツールの利用者として、このような成果を利用できる

ようになったのである。


在野の人工知能研究者というのが、存在できる時代になった。


じゃあ、いっちょ、やってみるか。


それが動機である。


このプロジェクトでは、ニューラルネットや機械学習の理論的裏付けはあまり

考えない。あくまで道具として使う。word2vec(gensim)も、Chainerも道具として

使う。Chainer + CUDAは、必要になったら使う。


という方針である。


ちなみにTensorFlowでなくChainerなのは、個人的趣味による。


問題があるとすると、僕はPythonが嫌いな点であり、特にテキスト処理をする

のには、どう考えてもPythonって使い辛いと思うわけで、何だよimport reって?

アホか?と思うわけだ。


どういう理由から、プロジェクト中で作るプログラムは、Perl, Ruby, Pythonが

混在する予定である。




  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る