What's flagtter ?
Specification/Implementation
- Ruby で 100 行程度の小さなコードです。
- 処理は以下のとおりです。
- twitter 検索 から「俺」「たら」「んだ」を含む発言を検索します。(発言を捕捉し合ってしまい、無限ループしそうな bot (flagtter 自身を含む) や発言が固定されていそうな bot は判明した時点で除外する条件として、クエリに追加しています。)
- Yahoo!デベロッパーネットワーク - テキスト解析 - 日本語形態素解析 による日本語の解析を行います。(これで「たら」「んだ」の前は動詞かどうかを判断することで「俺、たらこ好きなんだ。」などの誤爆を防ぎます。)
- 「俺〜んだ」の部分を引用した発言を POST し、flagtter が元の発言をした人を follow します。(ただし、現在は 2000 following 制限にかかっているため、気づいた時点で最も古い following を手動で 100 件ずつ削除しています。)
TODO
- 過去発言は一度 db に保存しておく。
- 検索時にマッチした発言の中の最新の 1 件しか対象としないため、短時間に複数あると取りこぼす。
- 最近流行の RT 文化により、そのまま引用した人までフラグがセットされてしまう。
-
mecab を使ったら、「たら」「んだ」の前は動詞かどうかを判断することで「俺、たらこ好きなんだ。」などの誤爆を防げそう。
- following 制限を突破する方法を考える。
- follower が増えるといいらしいので、地道に増えるのを待つ。
-
引用文内の @ は有効になるため、リプライになってしまう。
FAQ
- @fd0 こんばんはです。ふらぐったー、フラグがセットされた人のページいきたいのですが、@のあとのスペース(リンク解除)は不具合に対策した仕様なのでしょうか? (http://twitter.com/_matsuri_/statuses/2532228264)
- 以前はリンクするようにしていたのですが、リンクされた側のリプライ一覧に flagtter の発言が現れることに不快感を示す方もおられたので、それ以降はリンクしないように修正しました。
- protect の人の発言も検索できてしまっていたのもその一因と思われます。
- リンクだけつけて、リプライにはならないような仕組みがあれば実現できますが、Twitter の現在の仕様ではできないようです。
- 元々は発言者に「あなたのその発言はフラグですよw」ということを通知するためにリプライしていたのですが、それは follow 通知で代用できることもあるため、リプライ (リンク) はしないようにしました。
- リプライ一覧からは flagtter が発言を削除しないと消えないですが、follow 通知は無視していただけばいいだけであるというのもあります。
最終更新:2009年10月28日 00:54