RTC

検索エコシステムの紹介

株式会社 リクルートテクノロジーズ

守谷 純之介 / 髙林 貴仁

WebDB Forum 2013

アジェンダ

  1. はじめに
  2. 検索エコシステムについて
  3. 検索品質
  4. appendix
  5. Q&A

はじめに

非公式R-TECHキャラクターのテックルちゃんです。

リクルートテクノロジーズ

2012年10月にリクルートグループの技術部門として設立

http://recruit-tech.co.jp/

  • テクノロジーの開拓と
    ビジネス実装の実現
  • ビジネス、
    ルールをイノベーション
    によって変革
  • 「脳波」を真面目に
    取り組んでみたり

一緒に働く仲間を募集中!!

検索エコシステム

髙林 貴仁 @tatakaba

2011/09/01 リクルート入社

  • 汎用機の開発
  • デジカメプリント
    サービスの開発
  • 某ポータルサイトにて
    Web・地図検索等の開発
  • 現在〜ATLでR&D
    を担当

What's Qass

Query Analyze Search System

これまでバラバラに構築していた、検索基盤を1つの共通基盤に集約することで、検索品質フィードバック機能追加メトリクスなどが簡単に提供できる次世代検索基盤

architecture

利用エコシステム

メイン基盤にElasticsearchを利用して必要な機能(Plugin)をJavaで開発。データ集計、機械学習をHadoopJenkinsにて、Test〜デプロイの自動化。サーバ環境の自動構築にChef。極力自動化をすることでオペミスを減らす。

主な機能

  1. 共通化
  2. 分析基盤
  3. 検索品質

共通化

  1. 振る舞い
  2. モジュール
  3. インデックス
  4. ログ

振る舞い

Query及びindexの正規化

  • さまぁ〜ず => さまーず
  • らき☆すた => らきすた
  • 髙林 => 高林

クエリ < = > indexを正規化することでヒット率の向上

モジュール

  • スペルミス補正
  • 入力補助
  • キーワードサジェスト
  • boosting

検索のモジュールを共通化する事で、機能実装が簡単

インデックス

  • マルチテナント
  • 分散インデックス

1つの検索システムで複数のサービスを提供することで、運用&開発コストを下げる

ログ

  • ログフォーマット
  • 指標
  • メトリクス

バラバラだったログフォーマットを共通化することで簡単に分析できるようにする

分析基盤

  • Hadoopの活用
  • メトリクスプラットフォーム
  • FeedBack

分析基盤を整える事で、メトリクス指標の共通化、検索品質のフィードバックをシステムに取り入れやすくする

Qassが求める検索品質

守谷 純之介

2013/08/01 リクルートテクノジーズ入社

  1. 大学のSVBL
    (サテライトベンチャー
    ビジネスラボラトリ)研究員
  2. ベンチャー企業の何でも屋
  3. 某ポータルサイトにて
    Web検索等の開発
  4. 現在〜ATLで検索R&Dを担当

検索品質: 指標



 件数 評価
 
 0. ゼロマッチ
  A. Ranking を考慮した CTR
 1. 適切な Hit 数 
Relevance
(関連性)
 B. 直帰率
 2. too many
  C. 離脱率
 3. too few 
  D. Conversion率

Qassでの検索品質: 指標


重要視する指標

  • Conversion率
  • ゼロマッチ
    ⇒ Relevance Feedback ⇒ 適切な Hit 数
  • too many
    ⇒ Relevance Feedback ⇒ 適切な Hit 数
  • too few
    ⇒ Relevance Feedback ⇒ 適切な Hit 数
  • 適切な Hit 数とは?!
    重要なテーマ

Qassでの検索品質:重点


  • Relevance Feedback
  • 「何を検索したらよいかわからない」問題

Qassでの検索品質:重点


Relevance Feedback の対象:

  • ゼロマッチ
  • too many
  • too few

ゼロマッチ


 
 
   コンテンツがない
(望まれた未開の領域)
 1. クエリ OK
  Vocabulary Mismatch
(Query Revision, Query Contraction)
ゼロマッチ  
 
 2. クエリ NGスペラー

Vocabulary Mismatch


今川焼き
おやき/ あじまん/ あずま焼き/ あまやき/ あんこ饅頭/ えびす焼き/ えびす饅頭/ おやき/ おやつ饅頭/ お竹饅頭/ がめこもぢ/ ぎし焼き/ きんつば/ しばらく/ じまん焼き/ ずぼら焼き/ ずんどう焼き/ たいこまんじゅう/ たいこ焼き/ ちゃっぽろ焼き/ どてきん/ どらこ焼き/ どらやき/ ドラ焼き/ どりこの焼き/ ぱんじゅうやき/ ひぎり焼き/ びっくり饅頭/ ヒット焼き/ ピーパン/ ふうまん/ 夫婦饅頭/ ホッペ焼き/ ホームラン焼/ ホームラン焼き/ めおとまんじゅう/ やなぎ饅頭/ 円盤焼/ 横綱饅頭/ 黄金焼/ 黄金焼き/ 黄金饅頭/ 花見焼き/ 画廊まんじゅう/ 回転焼/ 回転焼き/ 回転饅頭/ 甘太郎焼き/ 栗まんじゅう/ 御座候/ 今川焼/ 今川焼き/ 三笠焼/ 七越焼き/ 七尾焼き/ 焼き饅頭/ 焼一番/ 人工衛星/ 太鼓まんじゅう/ 太鼓焼/ 太鼓焼き/ 太鼓饅/ 太鼓饅頭/ 太幸焼/ 太閤焼き/ 大判焼/ 大判焼き/ 大判焼き/ 大文字焼き/ 大砲焼き/ 天輪焼き/ 東海道/ 二重焼/ 二重焼き/ 尼い出焼き/ 巴(ともえ)焼き/ 蜂楽饅頭/ 望月/ 六法焼/ 満月焼き/

Relevance Feedback


  • Query Expansion(クエリ拡張)
  • Query Revision(クエリ訂正)
  • Query Contraction(クエリ縮退)

Query Expansion(クエリ拡張)


  • 結果を絞り込む
  • 例)ラーメン ⇒ 味噌ラーメン
      ラーメン ⇒ ラーメン こってり
  • QE

Query Revision(クエリ訂正)


  • 結果を変更してしまう
  • 例)マック ⇒ マクドナルド
  • QR

Query Contraction(クエリ縮退)


  • 結果を拡張する
  • 例)洗顔フォーム ⇒ 洗顔剤
  • QC

Relevance Feedback


Query Expansion
(クエリ拡張)
Query Revision
(クエリ訂正)
Query Contraction
(クエリ縮退)
 
Too many有効 有効 無効
 
Too few 無効 有効 有効

appendix

「何を検索したらよいかわからない」


q

  • Cold Startup(初訪問したユーザー)
  • そもそもクエリが分からない
  • もっとも難しい

リクルートの取り組み例


「あなた好みの検索条件」

RTC

  • 選択式で望みの検索条件を発見
  • NTT データさんと協同で試験中

防壁

「関連性の向上」「重点の解決」を目指すが、破ってはいけないユーザーへの防御

防壁: 迷子問題

  • 何故 Hit したのか分からない
  • UI の複雑化

Q&A