Code is beautiful

2009-05-20

Twitterのお気に入り発言をマルコフ連鎖で再生成する「ふぁぼらとりー」を開始しました。

言わずと知れた圧縮新聞と言うサービスがありますが、本当にbotなのかという発言の数々。

ふぁぼったーを覗いみても、凄まじいfav数だったり。

そんな訳で、botを作ってみたくなった今日この頃。

何をネタにするかの問題ですが、前述の2サービスを見て思いつきました。

Twitter-erのお気に入りの倉庫であるふぁぼったーを圧縮、というかMIXしてみたらどうかと。

つまり、fav×fav=?


昔、形態素解析マルコフ連鎖botPerlで書いてみた事はあったんですが、今回はPHPで書いてみました。

処理的な事ですが、形態素解析にはYahoo!のAPIを使わせて頂いてます。

マルコフ連鎖は一般的に、1接頭語での連鎖より2接頭語、2接頭語より3接頭語と増やしていけば、文の繋がりが保たれるのですが、Twitterの様な短い文で増やしすぎるとそのまんまの文章ができあがってしまう可能性も高まります。

実験的に2単語辞書〜5単語辞書のモデルを走らせた結果、やはり4単語、5単語ですと中々ミックスされない模様。

という訳で、今走らせているモデルについてですが、

モデル1 : 1接頭語、1接尾語

モデル2 : 2接頭語、1接尾語

モデル3 : 3接頭語、1接尾語

モデル4 : 1接頭語、2接尾語

モデル3に関しては一定期間分の辞書を書き出して作るという実験的な試み。

また、辞書の生成時は生成文でのURLリンクや@リプライ等での不具合が発生すると危険なので、始めに取り除いてます。

同時にTwitterへの投稿も行っており、その都合上、ある程度短文になる様に生成してます。

もし生成文がミックスされなかった場合には、今流行り(?)のReTweetで投稿する仕様です。

トラックバック - http://d.hatena.ne.jp/H6K/20090520/p1
Connection: close