Search Engineering Tech Talk 2019 Autumnに参加しました
検索勉強会に参加したよ(その2)
ヤフーにおける機械学習検索ランキングの取り組み 鈴木さん
こういうのが聞きたかった。。。というかこの勉強会みんな検索に苦労している。
- A/Bテストはめちゃめちゃやっている。オフラインの評価はオンラインでも性能が良いので、その意味ではすごくやっている。そういう意味では打率良い。
- KPIは秘密。。。
niconicoの検索システム -2019年版 by ドワンゴ 石塚さん
2019/6に任意のタグでランキングできるようになった。え、まじすごい。
ランキングソート
動画再生数、マイリスト数、コメント数などの24時間の評価。1時間ごとに動画サーバから1時間ごとにドキュメントごとのランキングスコア増加量が送られてくるので、24時間分を合計する
ただし、ゲームのタグで700万件。Elasticsearchのrescoreを使って負荷軽減している。更新が会った時に24時間分計算し、近似値として持っておく。第一ソートで近似値を使い、上位にヒットしたものだけ24時間分で計算する。バッチで24時間再生されていない近似値は削除。いろいろやっている。ユーザ数が多いと大変だなぁ...
パーソナライズドソーシャルサーチ
人間の興味は千差万別なのでそれに検索は対応する必要がある。が、「黒猫」という文字列が入っているクリエイターは100名以上いる、、、などただのワードでは難しい。つながりを表現する必要がある。
なので、
- 凝集型階層的グラフクラスタリング
- Louvain法
... うん、強ワードすぎる。めっちゃ言いたい。
「うちの検索は凝集型階層的グラフクラスタリング使ってますよ。」
めっちゃ厨二臭がする(失礼)
実際Louvain法でフォロー関係、視聴関係のつながりを使ってクラスタ情報を生成
質疑
・同じよーな検索クエリで検索した時に見た動画のスコアをあげる、というのも手法としてあるのでは?
→ ユーザは検索以外からも流入してくるので、そういう情報も加味している
・Louvain法を選択した理由は?
→ 2016年ではそれがメジャーだった。Hadoopで利用できる方法がこれしかなかった。今だったら違う方法を選んだかも。
・ユーザを中心にモデルにした理由は?
→ 動画はタグがなかったり、テキスト情報が少なかったりする
なるほど。。。サービスの特徴がいろいろ影響しているなぁ。
メルカリ検索におけるオフライン品質評価 by 株式会社メルカリ 富樫さん
Topic setのの構築
- 偏りのないサンプリングをするために月別、層別にサンプリング
指標
- 何らかの良さを測るもの。仮説・信念について相関しそうなもの。検索結果(SERP)から計算可能なもの。
- 仮説は
- User Study
- オンライン指標の観察
- Debug devel
指標を作る
- メルカリではFressnessが大事
- でも車と服では出品のされやすさが違う
- だから出品時刻を「順序尺度」として扱う。そうすればクエリ間での評価が変わらない
- 順序しか使えないのでノンパラメトリックな指標を使いたい
- ざーーーっと検索結果が見られるので、nDCGみたいなディスカウントは変
→ ということでKendall's τ を選択
適合度
クラウドソーシングで適合性評価
- Pros 単価安い
- Cons 難易度高い、データ品質悪い、Abuserがいるかも
- → それぞれ工夫でかいぜん
これ以降、クラウドソーシング運営の話が圧倒的すぎてうまく書けないです。察せ。
Debug eval
- クラウドソーシングは実はお膳立てにすぎない
- あくまで素人の意見は素人の意見
- Search qualith担当の技術者全員が集まって議論する(debug eval)のを効率的にするために利用
Σ(´∀`;), 工エエェェ
あれだけ色々やっていて、全てはお膳立てにすぎないとか。。。
どんだけ力入れているんだ。。。
そして2019/6の1ヶ月で22回も実験しているとは、、、こりゃ進化の速度に劇的に影響するわ。。。
今回も充実でした。