文章をつくろう

作ってみた。完成度は10%くらい・・・。
文章をつくろう(公開終了しました…)
文章を入れると、違う文章を自動生成する。面白い文章を作りたい時は、違うカテゴリの文章を入れるといいみたい。
圧縮新聞を知って、簡単な仕組みがブログに書いてあって、まねしてみた。
形態素解析して、マルコフ連鎖でくっつけてる。

純文学とニュースとか、夏目漱石ケータイ小説とか。
例えば、恋空と夏目漱石の作品で自動生成すると、以下のような文章ができる。

もしもあの日君に出会った。
この軽い性格はどうにかならないものか…。
涙こらえて私はまだ若々しい書生であったばかりである。
その時教室のドアがガラガラと音をたてて開き、それと同時にポケットに手を入れた一人の男が三人しかしそのまま知らんぷりをして二階から飛び降りて腰を抜かす奴がある。
灯に写る床柱(とこばしら)にもたれたる直き背の、この時少しく前にかがんで、両手に抱く膝頭に険しき山が出来る。
佳句を続ぎ能わざるを恨みてか、黒くゆるやかに引ける眉の下より安からぬ眼の色が光る。
「描けども成らず」と髯ある人がある。
しかしその当時は何という考もなかった。
電報にはあまり年が若過ぎた。
友達は、君に出会っていた。

ところが私が先生と知り合いになったアヤとユカの三人。
多いのか少ないかなんてわからない。
新築の二階から首を出していたら、同級生の一人取り残された。
私に見せてどうしようと相談をしたと聞く人が冗談に、私はまだ若々しい書生であった。
せっかく来た時何だかフワフワした事だけは記憶して二階ぐらいから飛び降りて腰を抜かす奴があるかも知れぬ。
何かを見透かすように美嘉━今年の4月高校に入ってワックスで無造作にセットされている。
吾輩はここで始めて人間というものの見始であろう。
このまま平凡に終わるはずだった美嘉の人生は、急に国元から帰れという電報を受け取ったので、両手に抱く膝頭に険しき山が出来る。
佳句を得て佳句を続ぎ能わざるを恨みてか、黒くゆるやかに引ける眉の下より安からぬ眼の色が光る。
「描けども、描けども成らず」と高らかに誦し了って、からからと笑いながら、室の中なる女を連れて校内を歩いている。
第一毛をもって装飾されべきはずの顔がつるつるしてお弁当を開く。
学校は面倒。
だけど同じクラスで仲良くなったアヤとユカの三人のもとへと近づいて来た私はまだ若々しい書生であった。
「描けども成ら

楽しくない?
括弧の扱いとか、最後がちょん切れちゃうとか、いろいろ問題はあるけど。
これまでの経緯は以下の通り。

1日目

圧縮新聞を知る。マルコフ連鎖を調べる。形態素解析は前にやったことがあったので。
Perl/PHP/Pythonなどのサンプルは転がっているが、Javaが見つからない。

2日目

Google Code Searchなどを使って、Javaのサンプルを見つける。動かしてみるが動かない。

3日目

「プログラミング作法」にマルコフ連鎖のサンプルがあるということで、近くの本屋で立ち読みする。前日に動かしたサンプルが、この本のサンプルということに気付く。ちゃんとサンプルを動かせた。
楽しくて仕方ない。

4日目

会社のひとに見せると、なかなかよい反応。面白がってもらえた。
というわけで、かなりバギーだけど、むりやりWebアプリにしてみた。


とりあえずこれまでやったことを、そのうちちゃんと書いてみようと思ってる。(多分)

文章をつくろう は、HTMLを入れても475行しかない。
これだけのコードで、こんなに面白いものができるって、すごい。
ちなみにフレームワークなどは使わず生Servletをがりごり書いた。それでも500行以内。
# もちろんLLな言語ならもっと少ないだろうけど・・・。

プログラミング作法
プログラミング作法
posted with amazlet at 11.06.12
ブライアン カーニハン ロブ パイク
アスキー
売り上げランキング: 5374