コンピュータ / 2010/06/13 (Sun) / 編集 |
今日はTwitterのボットをgoogle codeに登録してみた、libro-twitter-bot、うん、たんにgoogle codeを使ってみたかっただけなんだ、、、
googleのアカウントを持ってるとプロジェクトをいくつか作れるらしい、バージョン管理ソフトとか普段使わないけどまぁソースコードを共有したりするのに便利かもしれない。
たとえばブログでソースコードを見せるにはエスケープ文字を差し替えたりインデントをタブからスペースにもどしたりいろいろしないといけないけど、もしかするとgoogle codeに全文をのせて、ブログに抜粋を掲載すればいいんじゃないか?といまさらながらに気づいた。
あとは「zipでダウンロード」みたいな機能があると便利だと思うんだけど、どうやらダウンロード用のファイルは自分であげないといけないらしい。
実をいうと、こっそり過去の課題でもあげとこうと思ったりもしたんだが、容量制限が2GBなので断念。自分で鯖たてるのは設定とかめんどいし、無料サービスだと容量制限に引っかかる、学科のサーバはあんまり置くと叱られる。さて困ったもんだね。
どっかに無料で80GBくらい預かってくれるサービスないかな?公開でも非公開でもいいから、、、
googleのアカウントを持ってるとプロジェクトをいくつか作れるらしい、バージョン管理ソフトとか普段使わないけどまぁソースコードを共有したりするのに便利かもしれない。
たとえばブログでソースコードを見せるにはエスケープ文字を差し替えたりインデントをタブからスペースにもどしたりいろいろしないといけないけど、もしかするとgoogle codeに全文をのせて、ブログに抜粋を掲載すればいいんじゃないか?といまさらながらに気づいた。
あとは「zipでダウンロード」みたいな機能があると便利だと思うんだけど、どうやらダウンロード用のファイルは自分であげないといけないらしい。
実をいうと、こっそり過去の課題でもあげとこうと思ったりもしたんだが、容量制限が2GBなので断念。自分で鯖たてるのは設定とかめんどいし、無料サービスだと容量制限に引っかかる、学科のサーバはあんまり置くと叱られる。さて困ったもんだね。
どっかに無料で80GBくらい預かってくれるサービスないかな?公開でも非公開でもいいから、、、
PR
というわけで、お返事内容を考えるためのクラス作り。
bot(人口無能)には相手の発言をごにょごにょするマルコフ型や、過去ログを元に返事を考えるログ型などがあるけれど、マルコフ型だと自然な文章は作りづらいし、ログ型だとログがたまらないとダメダメなので今回は辞書型で行きます。
最終的には学習システムを実装して「自分で辞書を拡張する辞書型人口無能」を目指すつもり。
今回の実装では「文章のみから返事を考える」ことを目的としたいのでTwitterAPIは使いません。与えられる情報はあくまで「届いたメッセージ」と「送信者の名前」のみ!なのでTwitter以外のbotへも流用可能です。
bot(人口無能)には相手の発言をごにょごにょするマルコフ型や、過去ログを元に返事を考えるログ型などがあるけれど、マルコフ型だと自然な文章は作りづらいし、ログ型だとログがたまらないとダメダメなので今回は辞書型で行きます。
最終的には学習システムを実装して「自分で辞書を拡張する辞書型人口無能」を目指すつもり。
今回の実装では「文章のみから返事を考える」ことを目的としたいのでTwitterAPIは使いません。与えられる情報はあくまで「届いたメッセージ」と「送信者の名前」のみ!なのでTwitter以外のbotへも流用可能です。
さきほどに引き続き、今度はログを保存するためのデータベース作成編。とはいえ全部書くと長ったらしくなるので必要最低限な感じに。
データベースはSQLite、「データベースのファイルがコピペできる」「デーモンがいらない」「SQL構文でおけ」など便利なのでおすすめ。とくにbotには「データベースのファイルがコピペできる」のは素敵だと思うんだよ、ある程度データそろったらだれかと交換したり、最初からよくできたデータベースを貰って来れたりね!
とはいえ、Twitter botに必要最低限なデータベースなので、2カラム(keyとvalue)なデータベースを作ります。保存するのは「一番最後に見たツィートのメッセージID」と「一番最後に見たダイレクトメッセージのメッセージID」、二重投稿の防止用だね。
データベースはSQLite、「データベースのファイルがコピペできる」「デーモンがいらない」「SQL構文でおけ」など便利なのでおすすめ。とくにbotには「データベースのファイルがコピペできる」のは素敵だと思うんだよ、ある程度データそろったらだれかと交換したり、最初からよくできたデータベースを貰って来れたりね!
とはいえ、Twitter botに必要最低限なデータベースなので、2カラム(keyとvalue)なデータベースを作ります。保存するのは「一番最後に見たツィートのメッセージID」と「一番最後に見たダイレクトメッセージのメッセージID」、二重投稿の防止用だね。