お祈りメールの文面を自動生成するWebサービスを作ってみた

今までに無く"誰得"感を醸し出していますが…まぁ、「思い付いたら作ってみよう」の精神で…。

お祈りメールメーカー

これは何?

俗に言う、お祈りメールの文面をマルコフ連鎖によって自動生成するサービスです。

生成された文章をDBに保存したりはしていないので、面白い文面ができて残しておきたい場合は、コピペしておくか画面キャプチャしておく事をオススメします。

なお、採用担当の方が、このサービスを使ってお祈りメールの文面を作る事はオススメしません。(笑)

実装について

動作としては、お祈りメールの文章からマルコフ連鎖用のテーブルを事前に作っておいて、それを元に文章を組み立てているだけです。

メール文面の元となる文章は、以下のサイトから拾ってきました。

通算300社以上から不採用をうけた人間が不採用メールを貼るスレ【働くモノニュース : 人生VIP職人ブログwww】

マルコフ連鎖部分の実装は、以前試してみた時のものを流用しています。

以前試してみた時は、2単語の組み合わせから次の単語の候補を決めるようにしていましたが、それでやってみると、文章が結構カオスな感じになってしまう事が多かったので、今回は、3単語の組み合わせから次の単語の候補を決めるようにしてみました。

なので、パッと見は比較的さらっと読み流せる文章になっている事が多いですが、よく読んでみると時々めちゃくちゃな事を言っている時があって、結構笑えます。

ただ、マルコフ連鎖の性質上、生成される文章の長さがバラバラなので、冒頭の挨拶だけで終わってしまう場合もあれば、すごいだらだらと同じような文章が続いてしまう場合もあります。

短くなってしまうのはどうしようもないので、長くなる方は、一定数だけ"。"が出てきたら打ち切るようにして、対処しています。

ちなみに、今回は入力フォームも画面遷移も無い、極めてシンプルなWebサービスなのでフレームワークを使うまでもないんですが、練習も兼ねてBEARを使っています。

こんなシンプルなものでもフレームワークを使って作っておくと、後々機能を拡張しようとした時に楽でいいですね。BEARの場合は特に機能拡張し易いので、その辺りは大変重宝しますね。


そんな訳で、遊んでみてもらえる事をお祈り申し上げます。

敬具

追記(2010/02/22)

コメントで、"「末筆ながら」で始まる段落で終わらせるともっとそれらしげになると思います。"と頂いていた点について、こっそり導入してみました。

実際には、文章生成中の終了条件を、生成された文章に対する正規表現で指定できるようにして、"末筆"で始まって"。"で終わる場合に終了するようにしてみました。

これで若干はきれいに終わる場合が多くなったとは思いますが、元々文章の内容を考慮した文章生成ではないので、カオスな文になる事が多いのはある程度はやむを得ないところですね…。