はじめに
筆者は、ここ数ヶ月で「全自動4コマ」「全自動似顔絵」「全自動百科辞典『オートペディア(Auto☆pedia)』(以下、オートペディア)」といったライトユーザー層向けWebサービスを開発、リリースしてきました。ネットでの評判は上々で、中でもジョーク系Webサービスである「オートペディア」は特に好評を博し、最初にリリースした「全自動4コマ」を上回るアクセス数を得ることができました。
これに伴い、Webサービス自体についての問い合わせや質問を受けることも多くなってきたため、今回は同じようなジョーク系Webサービスを作る人の参考になるよう、Webサービスの企画・開発について触れてみたいと思います。
本記事では特に「オートペディア」を題材にして、その企画で筆者が何を考え、どのような意図の下に開発を行ったかを紹介します。今回は「プログラミング」ではなく「企画」としてのジョーク系Webサービス開発のお話です。
なお、5ページ目に「オートペディア」のプログラミングで工夫した点をまとめていますので、こちらから読んでも参考になるかもしれません。
対象読者
Webサービスの作成に興味がある人。プログラムだけでなく企画にも興味がある人。
必要な環境
なし。
リリースした3つのWebサービスの概要
まず、先述の3つのWebサービスを知らない方のために、簡単に概要を説明しておきます。
全自動4コマ
「全自動4コマ」は、ユーザーが単語を入力すると、自動でWeb上から情報を収集して4コママンガを作成するWebサービスです。2007年12月11日にβ版をリリースしました。
この手のサービスではデータベースを内包し、そのデータをもとに出力結果を生成するのが通常ですが、「全自動4コマ」ではネット上の検索結果で代用しています。そのため多くの入力に対応して結果を返すことができるようになっています。
「全自動4コマ」では、あらかじめマンガの絵や構成を用意してあり、その台詞の一部が空欄になっています。この空欄部分にネットの情報を挿入することでマンガを完成させています。
このような方法で4コママンガを自動生成する方法は珍しく、閲覧した人の多くはその仕組みが分からず「凄い技術を使っているのではないか」と憶測することもあったようです。しかし、実際に使用しているのは非常に古い技術ばかりです。目新しかった点は、組み合わせだけでした。
全自動似顔絵
「全自動似顔絵」は、後述する「オートペディア」のスピンアウトWebサービスです。2008年2月21日にβ版をリリースしました。「オートペディア」を作っている最中に似顔絵が必要になりプログラムを書いたところ、単体で人が呼べる内容になっていたので別途リリースしました。
基本的には、名前を入力してその結果を返すだけのジョーク系Webサービスと変わりありません。ただし、出力結果にはそれなりの因果関係があった方が面白いので、そうした観点でいくつか工夫しています。
まず、全国の苗字の分布を調べてデータベースを作成しました。これをもとにユーザの先祖の出身地域を推測し、顔のベースの形を決定しています。
また、名前の音韻の雰囲気から顔の修正を行うようにしました。たとえば母音を例にとると、「a音」と「o音」は解放系の音ですからおおらかで雄大なイメージを相手に与えます。逆に「i、u、e音」は口を閉じるタイプの発音ですのでシャープな印象を与えます。同じように子音にも、その音が聞き手に与えるイメージの差があります。こういった音の分布を元に修正を加えていき、名前からイメージする顔を作成しています。
このように「全自動似顔絵」では工夫を凝らしていますが、そうした内部処理の目的が「本人に似せる」ことにあるわけではありません。そのため、あくまでお遊びのWebサービスとなっています。
オートぺディア
こちらはWikipedia風のWebページを自動生成するWebサービスです。2008年3月3日にβ版をリリースしました。入力されたキーワードについて、それなりに合っていたり、合っていなかったりする解説ページが生成されます。きちんと検索エンジンで取得した情報を基にページを生成しているので、たまに驚くほど的確な結果になることもあります。ただ、人によってジョークサイトと分からずに本気で怒る人も出てきそうだったため、Webサイトのデザイン全体からそれがジョークであると分かるようにしています。
この「オートペディア」には、様々なプログラムの部品が使われています。というのも、「全自動4コマ」の後継サービスのためのソースコードの蓄積がある程度に達したことをきっかけに、このサービス自体が作成されているからです。
以降は、順を追って「オートペディア」の企画・開発について、突っ込んだ話をしていきます。以下、「笑い」の企画に関しては、著者の経験に基づいたものが中心となっています。それぞれの方が同様のWebサービスを作る際の参考にしていただければと思います。
- 企画の2つの方向性 ~ トップダウンとボトムアップ
- 笑いとは何か? ~ 笑いのメカニズム
- 電卓からジョークソフトへ ~ 予測とずれ
- オートペディアの内部構造 ~ 3つのレイヤー
- オートペディアの笑いの設計
- プログラミングの話