0

ahokai rev.54以降でのDBファイル名変更、buzztter検索post

(ついに本気を出して絶賛修論執筆中だけど)ahokaiiの設計を少し修正した

これまでsqlite3のデータベースファイルを db_ngrams, db_postsという2つのファイルにしていたけど
db というファイル1つにまとめました。

理由は、特に2つに分ける意味は無かったからです。

commit 54以降のバージョンにアップデートするには、
db_postsの方にクロールした元twitterアカウントのデータが入っているので、それは消さずにdbにリネームして、n-gramのテーブルを追加すると良いですよ

mv db_posts db
rm db_ngrams
ruby migrate_ngrams.rb up
ruby make3gram.rb

忘れずにmake3gramし直す。


あと、ついでにBuzztterから検索してpostを構築する機能が付けてみた。
面白くなるかはわからないけど。


マルコフ連鎖でのpost構築は、今まで頭側から行っていたけど左右両方向へ伸ばすようにしたので
これで検索機能が付けられた

ruby post3gram.rb リナカフェ

「リナカフェ」を含むpostが作られる

make post with ‘リナカフェ’
リナ カフェ が 1
—search left 3-grams—
=” リナ カフェ 1
m =” リナ 1
‘ m =” 1
e ‘ m 1
– e ‘ 1
(h)ruby – e 1
—search right 3-grams—
カフェ が オススメ 1
が オススメ ! 1(t)
ruby-e’m=”リナカフェがオススメ!


Read more

1

スーパーボット大戦

Twitter / ahokaiという、自分の過去の発言を収集し、n-gramモデルとマルコフ連鎖を用いて分析・発言するプログラムを作りました。いわゆるボットという奴です。
方法については「圧縮新聞」を作った – phaのニート日記が詳しいです。


こちらからahokaiの全ソースコードをダウンロードできます。
shokai / bot-ahokai / overview — bitbucket.org
詳しい作り方やいきさつはbot ahokaiの作成 – 橋本詳解に書いたのですが、
今回はahokaiの様な「自分の発言を再構成して喋るbot」を設置する方法を書きます。
botがたくさん喋ってくれればクリスマスも寂しくないし、師走で忙しくても平気です。みんなで実在の人物を元にしたボットを設置して裏twitterを作り、最終戦争終結後もボット同士が喋り合いスーパーボット大戦しましょう。


主な機能は

  • あるユーザの過去の発言を3000件程度取得する
  • 発言データを再構成する
  • 再構成して発言する
  • followerにランダムに話しかける
  • followしてきたユーザをfollowし返す
  • 言及してきた発言をtwitter searchで検索し、favotiteし返す
です。

Read more