目次
ひさびさに、勉強会メモ。 Hatena Engineer Seminar #5 @ Tokyoに当選したので行ってきました。
いつもは近寄らないオシャレな街をドキドキしながら行ってきました。
ということで、簡単なメモです。
はてなブックマーク全文検索の精度改善 id:takuya-a
問題:検索精度がよくない
- 京都で検索 → 「ポーランドの京都」「京都大学のまるまる教授」のようなもんがヒット
- 京都っぽいエントリが出て欲しい。
- 京都っぽい???
- 問題点をブレイクダウン
課題
- クエリ考えるの大変だよね
- 順序が新着順なのが辛い
- 適合率と再現率の両立
そして(ドラムロール)、できました!(さすが)
アイデア:はてブのタグを利用する。 関連キーワードを抽出して、クエリ拡張する。
関連キーワードとは?
- タグ検索する
- 検索にヒットしたTerm Vectorsを取得
- 特徴語をTop25件取得
- もっともスコアが高いタームを特徴語とする
- 英語のストップワードとかが問題点となってたり。
- →Dynamic stop word listというのを利用して排除(IDF、RIDF、Gain)
今後の課題
- 再現率の向上
- 解析用のフィールド・辞書を追加(精度向上や解析ミスなど)
トークに出てきた機能など
トークに出てきたElasticsearchの機能については、こんなツイートをしてたので、参考にしてもらえれば。
これのkuromoji_stemmerを使ってるっぽい? #hatenatech / elastic/elasticsearch-analysis-kuromoji - https://t.co/3F2sBYXLPH
— Jun Ohtani (@johtani) 2015, 6月 16
#hatenatech Term Vectors APIのドキュメントはこちら - https://t.co/HhBmTDr46i
— Jun Ohtani (@johtani) 2015, 6月 16
#hatenatech min_score - https://t.co/Sc0exzJRC1
— Jun Ohtani (@johtani) 2015, 6月 16
個人的な疑問
Q:クエリにヒットするタグがそもそもなかったら?
はてなブックマークに基づく関連記事レコメンドエンジンの開発 id:skozawa
課題:一部のエントリに対して関連記事が出ない
タグがない記事について関連エントリが出ない=既存はタグを利用している 例:レシピで考える
現行システム
- ユーザがつけたタグ情報を利用してMoreLikeThisで計算
新規システム
- 類似記事検索
- 特徴語の抽出
- 特徴語を分類
- 関連記事検索
- 関連記事をスコアリング
個人的な疑問
Q:毎回計算してるのかな?記事登録とかされたタイミングでやってるのかな? Q:Termの精度などどうなんだろ?
『BrandSafe はてな』のアドベリフィケーションのしくみ id:tarao
BrandSafeはてな:とか。 広告の配信先をフィルタリング
複数の素朴なフィルタの組み合わせ→AdaBoost
個人的な疑問
Q:海外とかもいけるのかな?
まとめと感想
ということで、簡単なメモでした。ピザごちそうさまでした! 聞いてて少し思ったのは、データ量があるサイトだからうまくいく手法だというのもあるんだろうなというところでした。 あとは、クエリを暗に改善するのとは別に、サジェスト的に表示するのにも使えたりするかも?と思ってみたり。 できるかどうかはわからないですが。。。
Elasticsearchをいろいろと活用してもらってるのがわかって、楽しい勉強会でした。 もっともっといろんなところで宣伝してくださいw
今日の勉強会を聞いて、俄然、京都・大阪でElasticsearch勉強会を開催したい気になってきました。 特に大阪に知り合いがいないので、だれか紹介してもらえると嬉しいです。 お待ちしてます。
comments powered by Disqus
See Also by Hugo
- 仕事中のBGM環境
- Corne Light v2のBLE+LPME-IO対応 #DIYキーボード
- ブログ移行日記(その4) - 検索機能(Algolia)の導入
- OctopressからHugoへ移行中(まだ途中)
- Bonfire Data & Science #1に参加しました