コンピュータを使った俳句・短歌の創作
これまで、2年間、3・4年生のゼミ生にコンピュータを使った俳句、短歌の創作を指導してきた。極めて簡単な方法なので、ここで紹介したい。使用したプログラミング言語は、最初の年はPerlで、 2年目はPythonであった。Perlは私にとって20年近く使ってきた言語なので、まず、使い慣れた言語ということで取り上げた。Pythonはこのところ、人工知能向けのプログラミング言語として有名に なってきており、今後の学生指導も考えて、取り上げることにした。俳句創作も短歌創作も基本的には、同じ方針でのプログラミングなので、ここでは、俳句を取り上げる。
基本的な処理の流れは以下のようである:
1.過去の俳人が作った俳句(著作権の関係で江戸時代および明治時代の俳句)を大量に(1年目は1000句以上)集め
テキストファイルとして1行1俳句のデータベースを作成する(これを「俳句データベース」と呼ぶ)。
2.基本的に俳句は五音、七音、五音の表現で構成されているので、これら3つの表現を
五音表現 半角スペース 七音表現 半角スペース 五音表現
のように形を整える(ここまでが前処理で、これ以降はプログラムとして実行する)。
3.整形した俳句データベースから五音表現だけを取り出し「五音表現データベース」を作り、1行1表現として
リストアップする。次に、七音表現についても同様に「七音表現データベース」を作成する。
4.五音表現データベースからランダムに1つの五音表現を取り出す。次に七音表現データベースから1つの七音表現を
ランダムに取り出す。最後に、再び五音表現データベースからランダムに五音表現を1つ取り出し、取り出した
3つの表現を順に並べる。
以上が俳句創作プログラミングの流れである。つまり、ランダムに取り出した五音表現、七音表現、 五音表現を並べただけのものである。しかし、それぞれの表現はもともと俳句に読み込まれた表現なので、出来上がった五・七・五の新しい十七音の作品は、それなりの出来栄えの作品(俳句もどき??)となる。もちろん、意味の通らない作品もできるが、「これはイケる」と驚いてしまうような「俳句」も出来上がる。
さて、このような単純かつ機械的な俳句創作ではなく、もう少し、心情や自然の情景を詠み込んだ俳句や1つの季語を中心にしたいわゆる「一物仕立て」の俳句を詠んだり、「切れ字(や、かな、けり)」を効果的に使うなどに注意した俳句創作をコンピュータ・プログラミングで実現するにはどのようにしたらよいのか、俳句作りのアルゴリズムを定式化することを考え、ゼミ生に指導することを今考えている。このことが、将来、AIによる文章創作、小説創作へと発展するようにしたい。重要なのは、各種の表現を記載したデータベースをどのような形式でつくるのか、そして、そのデータベースからどのようにして表現を取り出し、文を作り、そして文章をつくるのか、その方法(アルゴリズム)を明確にすることである。