お知らせ
お知らせ
CLOSE

コンピュータが小説を書く日(全3記事)

“AI小説家”が星新一賞1次選考を通過 開発者が語る『コンピュータが小説を書く日』

“知のフロントランナー”と現役大学生が徹底討論する公開型授業『NISSAN presents FM Festival2017 未来授業~明日の日本人たちへ』が開催されました。第8回目となる今回は、松尾豊氏・山極壽一氏・川村元気氏のほか、伊藤博之氏や佐藤理史氏を講師に迎えます。本パートでは、名古屋大学大学院の佐藤教授が、コンピュータに小説を書かせる際の具体的なプロセスや課題について語りました。

小説とは何か? 創造性とは何か?

佐藤理史 氏(以下、佐藤):さて、ストーリーをつくる、小説をつくるというのはどういうことか。ぜんぜんわからないですけど、ぜんぜんわからないと言ってたら一歩も進めないので、一応ざっくりとプロットをつくる。お話をつくる部分と、それからそれを特定の言語、われわれの場合は日本語ですけど、日本語で文章化すると大きく2つにわけて考えるとします。どちらにより興味があるかというと、実は私の興味は後者です。どうやって文章を自動的にあるいは機械的につくるかということに、実は大きな興味があります。

ここに書きましたように、どうすれば1段落以上の意味の通る日本語の文章を機械的につくれるかと。これが私の問題意識であります。文章生成の題材として小説というのは一番難しい。何でもありの世界だと思ってます。

だから小説が書けるようになれば、ほとんどの文章は書けるようになる。実際にやってみると創作というのは、結局どういうことなのか。創造性とは何か。そのようなことについても、考える必要が生じております。

最初に何をやったかというと、いわゆるコピペ、切り貼りで小説をつくれないかということを考えました。つまりある小説を持ってきて、そこの一部を穴抜きすると。その穴のところに、別の小説から部品を取ってきてはめると。それで新しい小説をつくれるなら、とっても簡単だと。

みなさん大学の学生さんが多いと思いますけど、きっとほとんどの方は、レポートでコピペしますよね。それと同じように小説がつくれないかと考えたわけです。

実際にやってみると実は難しくて、これは星新一さんの『歳月』というところから取ってきた小説なんですけれども、ここのブルーで書いた部分を『ボッコちゃん』という別の小説から取ってきた部品で置き換えると。

まあ一応、何か文章らしきものができると。「若く美しくツンとしていても楽しく人間と同じに働く日」、かなり辛いんですけど、一応、何かそれらしきものはできると。でもこれで、例えば8,000字の小説がつくれるか。

いや、それは無理でしょう。これはできないですよ。それで方針を変えまして、第2期の2014年ぐらいからもう少し長い小説(を目指しています)。

実はさきほどは宿題と同じで140字を目指していたのですけども、今度は400字以上を目指して、どうやったら文章をつくれるかを考えたわけです。そうすると結局構造を考えないとダメだよというのが結論でして、テキストの背後に何らかの構造=ストラクチャーを仮定して、その構造を部品から合成すると。

そうして合成したものから文字列=テキストを生成すると。そんなようなやり方をすれば、一応、小説らしきものがつくれるのではないかと思って、実際にプログラムしたわけです。

コンピュータの小説の書き方

佐藤:より具体的にはどうするかというと、いくつかのステップがあるんですけど、実は最初にサンプルの小説を書きます。サンプルの小説のある一部を切り出してきて、その一部を構造化します。

例えば、(小説の)最初の部分は大きく2つの部品からできてるよと。最初は1個の部品なんだけど、2つ目の部品はまた3つの部品からできていますと。こんなかたちで、文章がどのように組み立てられているのかという構造を考えました。その構造をつくったあとに、これを全部バラします。バラした部品に対して交換用の部品を、つまり置き換える部品をつくるわけです。

こうやって置き換える部品をつくってやれば、それを置き換えると別の話がつくれると。これを大々的にやるわけですが、単にやるだけでは上手くいかないので、例えばこの部品とこの部品は組み立てることができる、つなげることはできるよと。でもこれとこれはつなげることはできないよというようなことを、逐一プログラムに書いておきました。

こうやると整合する部品の組み合わせでしか、文章がつくれないということになります。それだけではつまらないので、例えば書き手によって日本語の文章を少し変えるとか、そういういくつかの工夫をいたしました。

こうやってつくったのが第3回の星新一賞の応募作品でして、『コンピュータが小説を書く日』というタイトルは、ここで私がつくった小説のタイトルです。これは現状に不満を持つAIが小説を書き、その楽しみに気がつくという、そのままそういうストーリーになってます。

それで学生のほうは『私の仕事は』という小説をつくったわけですけど、これはわりと星新一的な小説でして、「私は自分が人間で周りはロボットだと思っていたんだけど、実は周りは人間だった」とか、そういうようなオチがあるような小説をつくりました。実際どんな感じになるかというのを、これはまたビデオで見ていただきましょう。

(映像が流れる)

延々と続くので止めますが、こんな感じでどんどんクリックするだけで違うストーリーがどんどん出てくると。そんなシステムをつくりました。

第4回は、人狼知能プロジェクトというまた別のプロジェクトがあります。これは、人狼と呼ばれるパーティーゲームをするようなコンピュータプログラムをつくるプロジェクトなんですけど、それのプレイログ。つまりコンピュータ同士がプレイしたログをもらってきて、それを文章化するということをやりました。

小説をつくらせるのは囲碁よりもずっと難しい

佐藤:ですから、一応プロットと呼ばれる部分と、それを文章化するほうもコンピュータがつくったということです。さきほど最初に見せたプロットと文章生成の2つで小説をつくるというお話をしましたけども、その両方を一応コンピュータでやれるようにした。そういうところまでいきました。小説をつくるのはとっても難しいです。

ぜひみなさんにもやっていただきたいと言いたいのですけど、止めておいたほうがいいというのが本音であります。どうして難しいのかですけど、例えば囲碁と比べますが、囲碁は19x19で盤面が非常に大きいと言われますが、初手はたかだか361通りしかありません。

小説は最初の1単語だけで平気で10万通りぐらいあって、ぜんぜん桁が違うわけです。囲碁は劫(コウ)があるので、いくらでも長くなる可能性があるのですけども、だいたい300手ぐらいでは終わります。実際には100何十手とか200手ぐらいだと思います。

小説は何万語でもいいんです。例えば5,000語でも300手とはぜんぜん桁が違います。それはサイズの話なんですけど、実際に違うのはルールが明確であるかとか、勝敗が明確であるかというポイントです。将棋もそうですけど、囲碁はルールも勝敗も明確ですが、小説の場合は例えば文が文法的に正しいかというのは、今の技術でだいたいわかるようになってきました。

ただ、その文が意味の通る文であるかを判定する方法は、今のところはありません。それから小説であるか否かを判定する方法はあるかどうかも不明です。良し悪しを判定するなんてことは専門家でも非常に難しいことだと思います。ですから、囲碁とは比べ物にならないほど難しいわけです。今の現状をサマライズするとこんな感じになると思います。やっと動くものがとりあえずできたと。ただ、ぜんぜんできてないところがたくさんあります。

コンピュータ小説のテーマと目標

佐藤:ぼくはテーマの話をやりたいのですけど、おもしろい小説というのは何かテーマがあるんです。誰かが成長したとか恋愛とか復讐とか、『ロッキー』みたいに再生とか。それから出てくるキャラクターがおもしろくないと小説はおもしろくないわけですね。

それから前の方に何か伏線があって、後ろの方でそれが回収される。そのようなことがちゃんとまだぜんぜんできておりません。今、小説を出力するプログラムをつくるのは、小説1本書くよりもぜんぜん大変です。どうやって省力化するかは大きな問題です。

それから何を目指すのか。これも大きな問題です。星新一賞を受賞するような作品を目指すのか、とりあえず売れるような作品でいいのか。実は学生がつくった作品はもう売れて、彼はそれで原稿料をもらっているので、売れる作品はできているんです。売れているんですけども、何を目指すのかは大きな問題です。

先月末が第5回の星新一賞の締め切りだったんですけども、一応今年も応募いたしました。さあ、そろそろ宿題にいこうと思います。さっきメモをもらったんですけども、「140字ぐらいで小説を書いてください」という宿題を出しました。それと「小説ってどういう条件が満たされれば小説だと思いますか?」と書いたのですが、ナリタさんはいらっしゃる? ぜひ宿題を読んでいただける?

学生A:高校3年生です。では小説を読みます。「その日は雨が降っていた。私は雨が嫌いだ。私の心さえも暗く、深く沈ませていく。しかし、彼女は言った。私は雨が好きよ。嫌いなこともすべて水に流してくれるのですもの。私はこのように考えたことがなかった。それから、私は雨が好きになった。結局、人の考えなどそんなものである」、以上です。

佐藤:はい。ありがとうございます。

(会場拍手)

佐藤:2つ目の宿題。小説が満たす条件は何だと思いますか?

学生A:小説が満たす条件は、書くときにその後の進展に決まりがないといのが、ぼくの小説かなということなので、ゼロから1。創造してよいというものが小説ではないかと、思いました。

佐藤:なるほど。もうひと方、いらっしゃいますか?

学生B:中京大学4年生です。宿題は「ああ、またこの質問か。面接の数を重ねるとともに、新鮮味がなくなっていく。行きたくもない会社に笑顔で『御社が第一志望です』と答える学生たちに和を感じる。そうやって話していた彼は今」。

佐藤:はい。どうもありがとうございます。拍手しましょう。

(会場拍手)

小説の定義

佐藤:なんかみなさんに宿題を出したんですけど、提出率があまりよくないと伺ったのですが、なかなか難しいですよね、140字で小説書くって。あっどうぞ、お座りください。いや難しいんですよ。大変なんですよ。小説を書くって。

でも、例えば「Twitter小説大賞」というのは、数年前に行われてた140字以内の小説なんですけども、それの入選作というのを見ますとなかなかおもしろい。140字でこれだけの世界がつくれるのかというのがあります。

読んでしまうと放送に載せられないので、今日は見ている方だけ読んでいただきたいと思いますけども。ねっ、なかなかいいでしょ。140字だってこれだけつくれるんだ。すごいじゃんとか思うわけです。

さて、「小説って何?」という宿題を出しました。これは実際に書いてみて、それから考えてみたいということで、宿題の第1問があったのですけども、私の答えは「書き手が小説だと主張する文章」です。おそらく、どんな文章でもこれは小説だと言ったもの勝ちです。

あらゆるものは小説として主張できると思います。例えば、料理のレシピだって小説だと主張すれば、それは小説だとなるんです。あるいは、書いた本人がそうではなくても、「うん。これ小説じゃん」と誰かが言えば、それも小説になるんです。

要は、ある文章が小説であるかどうかを決めるのは、人間の認識の問題だと思います。何かテキストが満たすべき条件があるわけじゃなくて、受け手あるいは書き手がどう思うかという問題だと思います。

宿題には出しませんでしたが、優れた小説とはどんな小説か。そんなものはわかりません。おそらく、文学賞の選考委員をやっている方々には何かイメージがあるのではないかと思いますが、それの客観的基準を示せとか言うと、おそらく出てこないと思います。小説とはこういう世界だと私は思っております。

実際にプログラムを書いてみるとわかるのですけども、コンピュータは何もないところから何かをつくりだすことは絶対にできません。ゼロから1を作り出すことはできません。

10年後、コンピュータは日本語を使いこなせるか

佐藤:人間もおそらくゼロから1を作り出すことはできないのではないかと思います。例えばぼくは料理の例を出すのが好きなんですけども、創作のプロセスは料理と同じだと思います。どんなに優れたシェフでも、食材が何もなければ料理は作れない。おそらく創作というプロセスは、食材、つまり素材を何らかの意味で加工して、それをパッケージング、1つのお皿の中に収める。そういう処理なんじゃないかなと思います。

もう1つは創造性という言葉。これは人間の最後の能力とか最近言われているんですけど、これは私は能力ではないと思ってます。評価の言葉だと思います。つまり、何かいいものをつくったならば、そのつくった作者に「あっ、創造性があったよね」というふうに後付けする論理の言葉なんじゃないかと思います。

この創作とか創造性の話は、これからもっともっと考えていかなきゃいけないと思うのですけども、当面の私の考えはこんなところだと思います。

さあ、時間がかなり押してきましたが、どうしましょうか。次の話は、コンピュータは日本語を使いこなせるようになるかという話です。さきほどは最初のところで10年後とかいうキーワードが出ましたので10年後でいきましょう。また「Yes or No」です。「10年後コンピュータは日本語は使いこなせるようになるか」。「Yes」の方はブルー、「No」の方は赤を挙げましょう。

半々ぐらいですね。はい、どうもありがとうございます。これはおそらくこれから、人工知能技術が社会をどれぐらい変えていくかということの、一番大きな分岐点になるのではないかとぼくは思ってます。「Yes」ならば社会は変わります。「No」ならば大して変わりません。そういうような非常に大きな問題だと思います。

続きを読むには会員登録
(無料)が必要です。

会員登録していただくと、すべての記事が制限なく閲覧でき、
スピーカーフォローや記事のブックマークなど、便利な機能がご利用いただけます。

無料会員登録

すでに会員の方はこちらからログイン

または

名刺アプリ「Eightをご利用中の方は
こちらを読み込むだけで、すぐに記事が読めます!

スマホで読み込んで
ログインまたは登録作業をスキップ

名刺アプリ「Eight」をご利用中の方は

デジタル名刺で
ログインまたは会員登録

ボタンをタップするだけで

すぐに記事が読めます!

この記事のスピーカー

同じログの記事

この記事をブックマークすると、同じログの新着記事をマイページでお知らせします

コミュニティ情報

Brand Topics

Brand Topics

人気の記事

    新着イベント

      ログミーBusinessに
      記事掲載しませんか?

      イベント・インタビュー・対談 etc.

      “編集しない編集”で、
      スピーカーの「意図をそのまま」お届け!