なまっとる・・・
今、為替系をそっちのけで作ってるアプリ。
題して「かしこいハテブ」。
ハテブでもいちいち人のをブックマークを見るのめんどいし、ホットエントリも結構当てにならなかったりするので、自分の趣向に合ったエントリを自動で探してもらおうみたいなコンセプトのアプリです。
で内容。
1. 自分がブックマークしているエントリのユーザを洗い出す。
2. 「過去の人気エントリー」をブックマークしているユーザと、自分のブックマークしていたエントリのユーザをマッチングして、自分好みのエントリか判定
作っていて、腕の鈍りをかんじます。。。。
コア部分は出来てはいるんだけど、現在使いやすくするために延々とリファクタリングと機能追加。今あるのはあくまでコアの部分で、
- 自分のブックマーク用のパーサー
- ホットエントリ用のパーサー
- ブックマークの詳細ページから、ユーザ情報を収集するためのパーサー
- 上記を使って、自分のブックマークを全て引っこ抜いてくるクローラー
- 上記を使って、ホットエントリを全て引っこ抜いてくるクローラー
- HttpでのHTMLデータ取得機構 & HTMLファイルキャッシング機構
- ベイジリアンの判定用の基礎部分
ぐらい。
で、後追加しなきゃ機能として
- キャッシュのリフレッシュタイミングの判定ロジック
- ベイジリアンの判断のチューニングロジック
今だと90%以上のものを推薦してきたり、逆に10%しか推薦してこなかったりする。
毎回適切な割合になるようにソースいじってチューニングする感じ
- View部分。現状CUI。Greasemonkeyで、本家をデコレーションする形にする予定。
- パフォーマンスの改善
現在、毎回パース、ベイジリアンエンジンに登録、判定のような
プロトタイプ状態(通信部分だけはキャッシュしている)。
パース結果の保持、エンジンの学習状態の保持とかやる必要あり。
この部分は結構考えることがあって悩む・・・・・
- クローラの改善
前回クロール済みでエンジンに登録済みの部分を無視するとかいった
ロジックの追加
- 他の判定要素の追加検討
タグとか、本体のページのキーワードとか、ハテナスターとか・・・
- バッチ的な定期処理部分
他で作ったのがあるから流用するか・・・・
SE5になってutil.concurrentの辺りが導入されたんで、凄く楽になった
って辺りかな・・・
ただ、使い物になるって決まったわけではないので、ユーザを軸にしたベイジリアンフィルタがリコメンドについて効果的かっていう所をちゃんと見てみる必要もあるかも・・・・
当分はこのネタで遊べそうです。