はてブのリコメンド

 で、はてなブックマーク(はてブ)にリコメンド機能を実装するとして、どうすれば丸く収まるのか、という点に興味が移ったりします。


 リコメンド機能を実装したらしたで、『自分は今の人気エントリーが気に入ってる。自動フィルタリングは(精度も十分では無いし)迷惑だ』という方も必ず出てくるものと思われます。
 はてブのトップページや『最近の人気エントリー』や各種『注目エントリー』にユーザー情報を取り込んで『情報精製』するのは難しかろうと拝察します。アクセス数からして、技術的にも負荷が高そうですし。


 よって、おそらくは各ユーザー用のページに「お勧めエントリー」ページを追加することになるでしょう。


 『情報精製』の手法はどうしましょうか。現状ではアマゾンのリコメンド機能っぽいのが欲しいところですが、いきなりそこまで凝った改造をするとなると、(株)はてな様的にも二の足を踏んじゃいそうです。とりあえず、精度は低くても、何かもう少し簡単な方法でリコメンド機能を試してみるのも良いのじゃないかと思います。


 たーとーえーばー。。。
 『過去の人気エントリー』ページか各種『注目エントリー』をベースに各ユーザー用「お勧めエントリー」ページを実装し、コレに簡易リコメンド機能を盛り込みます。


 簡易リコメンドですから、情報精製結果を絞り込むところまでは欲張らず、表示順を変えることで我慢します。より興味の持てそうなエントリが上の方に表示される感じですね。
 リコメンドの方法については、、、やはり初期値は各ユーザーのタグクラウドでしょうか。人気/注目エントリーのコメント数(なりユーザー数)に、当該ユーザーのタグクラウドの“大きさ”を乗算して、コレが大きい順に(つまり降順に) リストアップするのはどうでしょう。
 なんか、いいかげんですけど簡単ぽくって、はてならしいかと。


 でも、これだけでは余りオススメされた気分になりませんので、もうちょっとだけ簡単な工夫をします。現在、『過去の人気エントリー』ページには、50件のエントリーが表示されてますが、これを並び替えるだけでは結局全部チェックする人には有り難くも何もないですよね。で、情報精製結果を絞り込むところまで欲張ってみます。
 たとえば、各ユーザー用「お勧めエントリー」ページの場合は、表示候補として500件程度のエントリーを抽出して上記の方法で並び替え、その上位50件を表示すれば、90%フィルタリング済みのお勧めページの出来上がりです。一応は(笑)
 「自動フィルタリングは問題がある」との考え方に立つ人には、素直に『過去の人気エントリー』ページを見ていただければ結構かと思いますし。


 上記のリコメンド機能が(はてな内部でテストしてみて) そこそこ機能するようなら、こういうのもアリかな、と思います。



 リコメンド機能をもう少し鍛えるなら、各ユーザーがブックマークしたエントリーに付いているタグ(ユーザーが付けたタグとはチト違う)も評価対象に入れてみるとか、「お勧めエントリー」ページのエントリーリストに「不要」ボタンを付けておいて、ボタンを押されたエントリーについているタグの評価を落とすとかしてみるのも面白いかも。もっとも、ここまで実装するにはタグクラウド用のデータとは別に評価用のデータやプロセスを必要とするので、「大きなシステム変更やDB変更はちょっと」というノリなら、とりあえず保留でOKかも。


 ・・・このセクションは、明らかに はてなアイデア行きの話題かと思いますが、それようにまとめ直す気力体力が尽きたので、今は止めときます。というか、今の体調だと、たぶん、ずっと止めとくと思います。アイデアをトレースし続けることが出来そうにないので(^^;