読者です 読者をやめる 読者になる 読者になる

物語を自動生成するより物語をテストしたい

完全な思いつきなので特に結論がある話ではないし提案でもないんだけど、人工知能機械学習で物語を自動生成するみたいな話って、自動生成された物語の評価ってどうすんの、という疑問がある。syntax と semantics が正しい文章を生成するとかそのレベルはアルゴリズムでどうにでもなると思うんだけど、syntax や semantics が正しいことのその先の物語の出来栄えについて、人間が読んで面白いかどうか以上の評価はできなくて、そうすると結局人間が読んで面白かったものとの近似を取るしかなくて、たぶん面白そうな文章だな、くらいものにしかならないんじゃないか、と思っている。たぶん面白そうな文章だな、というのを実際に読んで面白かったとして、そこからあたらしい面白さの価値みたいなの出てくるのかどうか、偶然面白みが生まれることはあるかもしれないんだけど、それはあくまで偶然面白いくらいでしかないんじゃないのか、という感じに。

それとは別の話として、人間が物語を書くにしても、こういう構造にすることで面白い、みたいなの考えて書く。設計段階ではちゃんと考えてるけど書いてみたら抜けがあった、みたいなことはよくある。人間がやることなので間違えたり漏れや抜けが出てくるのはしょうがない。しょうがないけど、軽減はしたい。ソフトウェアならそこはテストなり静的解析でどうにかするんだけど、物語もテストなり静的解析なりしたい。

誤脱や表現のゆらぎとかそのレベルは昔からある。校正だけしたいわけではなくて、もっと構造的な不具合を検出したい。大局的な semantics のチェックをしたい。物語はたいてい登場人物の感情の動きで構成されるから、登場人物の感情レベルをシーン毎に算出してグラフ化したりしたい。グラフになってるものを評価するのはできそう。そのためには文章の意味を評価するためのアルゴリズムが必要で、そのへんの局所の技術はもうある。物語で使われる言葉はファジーなので、プロットレベルは形式言語的な手続きにしたほうがよい。プロットが spec になって、成果物を評価したものが spec とどの程度近似か、みたいなの評価してテストできるのでは、と思う。

ここまでくるとプロットレベルで自動生成してあらかじめパラメータ見てこの物語よさそうみたいなことも言える気がするし、既存の作品を spec に変換してみたいなこともできるようになってくる。既存の作品の要素をなんらかの形で定量化すれば、その要素の組み合わせで新しい価値を創出できる、かもしれない。

自動翻訳が内部に中間言語を持っているかもしれない、という話は個人的にはかなり希望があって、自然言語形式言語的に記述できる可能性がある、ということだと思っている。自然言語をもし形式言語的に記述できるなら、機械が読むための物語を作れるということになる。機械が物語を読めるなら、機械が物語を書けるかもしれない。機械が物語を読んで書くということは、機械が人間の気持ちを読んだり汲んだりしようとするということだから、単なる芸術分野への機械の応用とかそういうことにとどまらず、人工知能のあり方の話になっていく、んじゃないかなあと思う。

もちろんこんな壮大な妄想のつもりで書き始めたわけじゃなかったんだけど。 とりあえずは自分の書いてる物語を機械的に検査したいという気持ちでいる。