Search Engineering Tech Talk #1 フィルタリング・ランキング
基本的にはユーザが探したい情報が出てくるのが良い検索・ランキング
ランキングの評価指標
再現性
presicion@k
MAP(Mean Average Precision)
NDCG(Normalized Discounted Cumulative Gain)
MAPやNDCGは似たものが多く出てきがち
多様性
MMR(Maximum Marginal Relevance)
ユーザインターフェース
良いUI: ISO/JISに定義がある
正確・効率・満足
それぞれメリデメある
入力型インターフェース
カテゴリ選択型
カテゴリツリー型
BOT型
ユーザーや目的にあわせてインターフェースを設計する
検索のインタラクションを考える
インタラクションの繰り返しを支援するのもUIの役割
良い検索とはなにか?
検索の指標だけでは不十分
指標の検証・評価方法は学術的に研究されているが……
「探される側の意思」を考慮していない場合が多い
検索者と被検索者の両方に貢献する
サービスによって「良い検索」の定義は変わる
ランキングとUIの両面から検索を改善できる!
両面を意識することが重要
よさげな本
メルカリの検索機能の責任者
メルペイは大変だった
データ・集合知の力を使ってサービスの質・ユーザの満足度を上げる、それが数値で見えるとうれしい
Sold商品を検索結果に出すのは理由がある
出さないようにしてみたところ、全てのKPIが下がった
何回も繰り返している
ユーザインタビューでも消すような要望がある
しかし、社長はいつも「あった方が良い」と言う
直感的にわかっている。なぞ。すごい
出品しようとしたときに、検索している??
Sold商品をみている? 値付けや説明など
「売ろうとしている人」と「買おうとしている人」の目線は違う!
検索の目的が違う
ポイントによってメルカリ内でユーザが 売り手→買い手→売り手 のスパイラルが回る
サービスに固有の問題があるので、それを考えて解決に向かわなければならない
検索アルゴリズムを改善して関連性を高めた結果
MacBook→検索結果が荒れていたのが改善された
シャネル 香水→もともと検索結果は荒れてなかった→ぱっと見あんまり変わってない
なのに Click Through Rate が 1/10 になった!なぜ??
関連性よりも新着性を優先した方がCTRが高い
出品される頻度が高いから
画面を更新するたびに新しい商品が出てくる!
GoogleやYahooなど情報検索とメルカリ検索は検索改善の考え方が違うかも
情報検索: 上位10子がデフォルトで、さらに1〜3位に注目している
メルカリ: 横3 * 縦3-4 でとにかくたくさん出す
ユーザはいっぱいスクロールする
文字ではなく画像を出すので、ユーザはなんとなく眺めている
気になったらタップして、戻って、また上下にスクロールして、を繰り返す
メルカリの検索結果を構成する要素と優先順位
Freshness > Recall > Precision
新着性・再現性・適合性
Googleだと Recall > Precision > Freshness
第9章を読もう
AI Samurai: 特許検索をやってる会社
特許検索はとにかく遅い。
たくさんのインデックスがある
かつ OR クエリをたくさん並べる必要がある
Apache Solr/Lucene 8.0 と ElasticSearch 7.0 がくる
OR クエリが速くなるらしい!
Lucene は毎晩ベンチマークを測っているらしい
MAX Score は OR クエリを速くするらしい
MAX Score: 検索しなくて良いところを省いてくれるアルゴリズムらしい
WAND: OR と AND の中間?
Minimum Should Match とちょっと似ているらしい