コンピュータに文章を書かせるためにはどうすればよいか

情報・通信工学専攻 教授
佐藤 理史

2013年から、文章を生成するコンピュータプログラムを作るにはどうすればよいかを研究しています。人工知能技術の進歩により、コンピュータに多くの知的作業を行なわせることが可能になりましたが、人間の代わりに文章を書いてくれるようなプログラムは、まだ実現されていません。そもそも、我々人間がどのようなプロセスで文章を書いているのかよくわかっていませんし、どのような文章が「良い」文章なのかという客観的基準も定かではありません。さらに言えば、コンピュータは人間のように文章を読んでその内容を理解することができません。囲碁や将棋のように、盤面上にすべての情報が存在し、ルールによって勝敗が明確に定まるゲームとは、問題の難しさが本質的に異なります。

文章は、大きく、新聞記事やマニュアルなどに代表される、読み手に情報を伝えるための文章と、小説や広告などに代表される、読み手の心を動かす(感情に訴える)文章に分けられます。私が特に興味を持っているのは、後者の文章です。そんな文章を機械的に作る手順や手段はあるのでしょうか。この問いは挑戦しがいがある難問です。

小説を作るためには、お話(ストーリー)を考えることと、そのお話を特定の言語(たとえば、日本語)で文章化することの二つが必要です。2015年秋締切の第3回星新一賞に応募した作品『コンピュータが小説を書く日』([1]に収録)の制作では、お話を人間が考え、それを小説の典型的な構造に沿って文章化するプログラムを作成しました。翌年には、研究室の松山諒平君が、人狼と呼ばれるパーティーゲームをコンピュータプログラムがプレイした記録(ゲームログ)を文章化するプログラムを実装し、制作した作品を第4回星新一賞に応募しました(応募作品は[2]に収録)。ここでは、ゲームログの情報を語り手の立場に立って取捨選択・再構成するとともに、ゲームログに存在しない語り手の思考や葛藤、心情などの描写を盛り込むことを実現しました。これらの作品はいずれも3000字程度の長さでしたが、第5回星新一賞の応募作品は、応募上限の一万字に近い作品の大半を、コンピュータプログラムで制作しました。これを短期間で可能とするために、日本語の文章を組み立てるための専用のプログラミング言語を設計・実装しました。このように少しずつではありますが、小説を機械的に作るための技術を蓄積しつつあります。

昨年から本格的に取り組んでいるのが、広告の自動生成です。広告というとキャッチコピーを思い浮かべますが、私たちが取り組んでいるのはボディコピーと呼ばれる250字程度の売り込み広告です。広告コピーには、読み手を説得するための構造と表現が巧みに組み込まれており、それらが読み手の心を動かします。広告の自動生成は商業的応用としても有望ですが、そこでの成果を取り入れ、「心を動かす」小説の自動生成に結びつけていくことを狙っています。

[1] 佐藤理史.コンピュータが小説を書く日.日本経済新聞出版社,2016.
[2] 新井素子.宮内悠介ほか著,人工知能学会編.人工知能の見る夢は.文春文庫,2017.
研究紹介一覧に戻る