マルコフ連鎖でツイートするbotを作った

もう普通に見かけるようになって何の面白みも無くなってきましたが作ってみました。

僕のツイートをマルコフ連鎖して新しいツイートをします。一応過去のツイートから最新のやつまで全部のツイート使って学習してるので(してるはず…)時間が経てばそれなりにマシなツイートをするようになるのかなぁと。
形態素解析はMeCabを使って、python-twitterでtwitterのapi越しに投稿してます。

マルコフ連鎖で文章を生成する場合は2重以上の連鎖数の方がいいらしいのですが、とりあえずということで1重マルコフ連鎖で作りました。暇があればオプションでN重にできるようにしたい…。
そのかわりと言ってはですがツイートの長さ上限を70〜100くらいにして意味の通る文章が生成されやすくしてます。
あとMeCabを通すとスペースが除去されたりurlが分解されてしまうのを何とかするのと、最近twitter webでも対応になった
_人人人人人人人人_
> 改行ツイート <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
の処理をなんとかしたい。

コードとかはそのうちgithubの方にいろいろアレすると思います。

2013-07-13追記
とりあえずgithubあげました

  • Userstream対応
  • リプライ対応
  • 改行ツイート対応
  • ふぁぼ・パクリ対応

  • python-mecabのセットアップ

    ふと自然言語処理をしたくなったので形態素解析ができるMeCabをインストールした
    のでその手順をメモ
    MeCabのインストールからpythonで使えるようになるまでを書いてます

    〜ダウンロード〜
    http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html#download
    ここから本体と辞書をダウンロード
    本体はsourceからtar.gzファイルを

    〜インストール〜
    http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html#install
    ここに書いてあるスクリプトの通り実行
    辞書の./configureのときに

    ./configure --with-charset=utf8
    

    としないと表示がうまくされなかった

    〜python-mecabのセットアップ〜

    ここの通りに
    aptitudeコマンドがないのでpip search python-devで似たようなモジュールがないか探してみると、
    どうやらPython-DevEnvってのがそれっぽいのでインストール
    pip install Python-DevEnv
    をして、あとは「mecab-python のインストール」ってところをやればいい

    hoge.py

    #!/usr/bin/env python  
    # -*- coding: utf-8 -*- 
    
    import MeCab
    
    tag = MeCab.Tagger("-Owakati")
    text = "すもももももももものうち"
    res = tag.parse(text)
    print res
    

    上のコードを保存して実行すると
    すもも も もも も もも の うち
    ちゃんとできてるっぽい