メインページに戻る
Japan Blog

川柳の自動生成アルゴリズムの紹介(どうしたら 機械で川柳 詠めるかな)



こんにちは。エイプリルフールに 1 日だけローンチした Google 川柳、お楽しみいただけましたか?エイプリルフールが終わってしまったのでサービスはもうありませんが、せっかくなのでその裏側をすこしご紹介します。

今回は、Google が人工知能 CADIE を開発し、その CADIE が世界中で面白いサービスを提供するという設定で Google 川柳を提供しました。人工知能 CADIE は架空のものですが、コンピューターによる川柳の自動生成を行ったのは、ウソではありません。

ここでは、その川柳をコンピューターに生成させた手順を簡単にご紹介します。

  1. 川柳とは何かを学習する
    まず、本物の川柳/俳句を Web 上から集めました。集めた作品を解析し、俳句/川柳にありがちな品詞の並びパターンを学習しました。
  2. 「瞬間」を切り取る
    川柳/俳句には、「話題」が必要になります。これは、Web ページからランダムに文を抽出し、その中から川柳を生成することで実現しました。
  3. 「瞬間」から川柳を切り出す
    抽出した文のサブシーケンスのうち、5, 7, 5 の形にマッチするものを川柳の候補とし、学習した川柳パターンを元に俳句らしさを計算しました。
  4. 世の中の興味にマッチさせる
    ここまでの段階で生成された川柳について、中に含まれている単語が 1 日に何回検索されるかを推定しました。これにより、できるだけ一般的な単語を用いた川柳を選びました。

4 月 1 日にお見せした川柳は、こうして生成されたものから、ユーザーの皆様にお見せするのが憚られるものを人手で除いたものです。また、たまたま表示された際に喜べるように、表示される川柳を 400 種弱に制限しました。(200 個以上見つけた方がいて驚きました!)

この Google 川柳は、昨年のエイプリルフールでご提供したダジャレサーチと同じように、Google の「20% ルール」からスタートしました。昨年の秋にエンジニアリングチームで実施した、Tokyo Engineering Hackathon という 2 泊 3 日の開発合宿で、淺川、大倉が開発しました。「俳句って、いかにも機械が苦手そうだよね?」という話からはじまり、行きのバスの中で俳句/川柳の作り方の本(もちろん人間が詠むためのものです)を読み、3 日間試行錯誤を繰り返して作りました。その後、エイプリルフールに向けていくらかの調整を行い、今回の公開となりました。

川柳の品質を改善するためのアイディアはまだまだたくさんあるので、また何か機会があればより品質を向上させた川柳を皆様にお披露目したいと思います。