Upgrade to Pro — share decks privately, control downloads, hide ads and more …

意思決定を支える検索体験を目指してやってきたこと

 意思決定を支える検索体験を目指してやってきたこと

こちらのイベントでの登壇資料です。

NIKKEI Tech Talk #32
【日経×Helpfeel×note】検索体験の裏側〜知りたい情報を最短で届けるための取り組み紹介〜
https://nikkei.connpass.com/event/347879/

Taisuke Hinata

April 24, 2025
Tweet

More Decks by Taisuke Hinata

Other Decks in Technology

Transcript

  1. 意思決定を支える検索体験を 目指してやってきたこと 日當 泰輔 検索エンジニア @ Nikkei Inc. 2025/04/24 NIKKEI

    Tech Talk #32 検索体験の裏側 〜知りたい情報を最短で届けるための取り組み紹介〜 1
  2. 自己紹介 • 日當 泰輔(ひなた たいすけ) • 2017年4月 新卒入社 • 社内一人目の検索エンジニア

    • 日経のデータベース事業を支える 検索基盤を作っている 2
  3. 6 全コンテンツ 検索基盤 (CPF) 200 社以上からコンテンツ提携 ・ ・ ・ ・

    ・ ・ 12 の情報サービス + 日経のデータベース事業
  4. 保有するコンテンツ メディア・記事 新聞 / 雑誌 / Webメディア 約 500 媒体

    / 約 40 年分 業界レポート 業界概要 / 市場シェア 約 500 業界 企業情報 財務 / 業績予想 / 与信 国内 100万社 / 海外 4万社 非上場 1,100万社 ビジネスパーソン 人事異動 / プロフィール 約 30 万人 / 約 7400 社 マーケット 株式 / 債券 / 商品 /指数 上場株式(国内) 1977 年〜 POSデータ スーパー / コンビニ / ドラッグストア 約 1,500 店 約 2,000 商品分類 調査統計 マクロ金融 / 地域 / 産業 / IR 約 150,000 系列 ESG・非財務 開示情報 / 公的リスト 収録社数 800 超 https://nkbb.nikkei.co.jp/about/ 7
  5. メディア・記事 新聞 / 雑誌 / Webメディア 約 500 媒体 /

    約 40 年分 業界レポート 業界概要 / 市場シェア 約 500 業界 企業情報 財務 / 業績予想 / 与信 国内 100万社 / 海外 4万社 非上場 1,100万社 ビジネスパーソン 人事異動 / プロフィール 約 30 万人 / 約 7400 社 マーケット 株式 / 債券 / 商品 /指数 上場株式(国内) 1977 年〜 POSデータ スーパー / コンビニ / ドラッグストア 約 1,500 店 約 2,000 商品分類 調査統計 マクロ金融 / 地域 / 産業 / IR 約 150,000 系列 ESG・非財務 開示情報 / 公的リスト 収録社数 800 超 https://nkbb.nikkei.co.jp/about/ 12 今日は「記事」の検索について話します
  6. 検索基盤 (CPF) ・ ・ ・ + ETL API DB 12の情報サービス

    200 社以上からコンテンツ提携 +2億 docs 1 Index 200 RPS +15K /Day ・ ・ ・ 13 記事検索のアーキテクチャ
  7. 全文検索から結果が決まるまで トヨタ スコア 0.3 スコア 0.9 スコア 0.8 スコア 0.9

    スコア 0.8 スコア 0.3 検索 マッチ スコアリング ソート 返却 トヨタ BM25 15
  8. 全文検索から結果が決まるまで トヨタ スコア 0.3 スコア 0.9 スコア 0.8 スコア 0.9

    スコア 0.8 スコア 0.3 検索 マッチ スコアリング ソート 返却 トヨタ BM25 16
  9. 課題感 • 検索ニーズの高度化と検索UIの限界 ((tother=AI OR tother=人工知能 OR IOT OR ロボティクス

    OR デジタルトランスフォーメーション OR スマートシティ OR デジタルヘルス OR tother=AR OR tother=VR OR 自動運転 OR NTTデー タ OR NRI OR CTC OR DeNA) NOT (会社人事 OR 社告 OR 棋士 OR 「ビジネス書ベストセ ラー」 OR 住友商事 OR (SCSK OR T9719) OR (ティーガイア OR T3738) OR (J:COM OR ジェイコム) OR $スポーツ OR HL=<数表>)) AND (DA=20190625) 日経テレコンのユーザーの検索式 21
  10. 課題感 • 検索ニーズの高度化と検索UIの限界 ((tother=AI OR tother=人工知能 OR IOT OR ロボティクス

    OR デジタルトランスフォーメーション OR スマートシティ OR デジタルヘルス OR tother=AR OR tother=VR OR 自動運転 OR NTTデー タ OR NRI OR CTC OR DeNA) NOT (会社人事 OR 社告 OR 棋士 OR 「ビジネス書ベストセ ラー」 OR 住友商事 OR (SCSK OR T9719) OR (ティーガイア OR T3738) OR (J:COM OR ジェイコム) OR $スポーツ OR HL=<数表>)) AND (DA=20190625) 日経テレコンのユーザーの検索式 22
  11. 課題感 • 検索ニーズの高度化と検索UIの限界 ((tother=AI OR tother=人工知能 OR IOT OR ロボティクス

    OR デジタルトランスフォーメーション OR スマートシティ OR デジタルヘルス OR tother=AR OR tother=VR OR 自動運転 OR NTTデー タ OR NRI OR CTC OR DeNA) NOT (会社人事 OR 社告 OR 棋士 OR 「ビジネス書ベストセ ラー」 OR 住友商事 OR (SCSK OR T9719) OR (ティーガイア OR T3738) OR (J:COM OR ジェイコム) OR $スポーツ OR HL=<数表>)) AND (DA=20190625) 日経テレコンのユーザーの検索式 23
  12. 課題感 • 検索ニーズの高度化と検索UIの限界 ((tother=AI OR tother=人工知能 OR IOT OR ロボティクス

    OR デジタルトランスフォーメーション OR スマートシティ OR デジタルヘルス OR tother=AR OR tother=VR OR 自動運転 OR NTTデー タ OR NRI OR CTC OR DeNA) NOT (会社人事 OR 社告 OR 棋士 OR 「ビジネス書ベストセ ラー」 OR 住友商事 OR (SCSK OR T9719) OR (ティーガイア OR T3738) OR (J:COM OR ジェイコム) OR $スポーツ OR HL=<数表>)) AND (DA=20190625) 日経テレコンのユーザーの検索式 24
  13. 課題感 • 検索ニーズの高度化と検索UIの限界 ((tother=AI OR tother=人工知能 OR IOT OR ロボティクス

    OR デジタルトランスフォーメーション OR スマートシティ OR デジタルヘルス OR tother=AR OR tother=VR OR 自動運転 OR NTTデー タ OR NRI OR CTC OR DeNA) NOT (会社人事 OR 社告 OR 棋士 OR 「ビジネス書ベストセ ラー」 OR 住友商事 OR (SCSK OR T9719) OR (ティーガイア OR T3738) OR (J:COM OR ジェイコム) OR $スポーツ OR HL=<数表>)) AND (DA=20190625) 日経テレコンのユーザーの検索式 25 検索条件が高度化するほど検索 UIでの実現が難しい
  14. Elasticsearch Query String クエリ + α • 文字列だけで論理演算子/ フィールド指定 /

    ブースティングなどを設定可能 { "query":{ "query_string":{ "query": "ロボティクス^2 AND tag:(AI) AND date:(20250422) NOT headline:(<数表>)", "fields": ["body"] } } } Lucene記法で表現 27
  15. 加えてAPIで行っている処理の一例 • 論理演算子の優先順位付け 28 りんご AND みかん OR バナナ (りんご

    AND みかん) OR バナナ りんご AND (みかん OR バナナ) OR優先 (再現率重視) AND優先 (適合率重視) 🤔 サービスの検索精度の方向性に関わる処理
  16. 全文検索から結果が決まるまで トヨタ スコア 0.3 スコア 0.9 スコア 0.8 スコア 0.9

    スコア 0.8 スコア 0.3 検索 マッチ スコアリング ソート 返却 トヨタ BM25 30
  17. Q: 日付で最新順にソートではダメ? • A: ベストでない場合もある 公開日 見出し 2025-04-21T08:24:32 弱まる米国集中、強まるドル売り 再び円高進む 2025-04-21T07:44:53

    日経平均株価、利益確定売りが先行(先読み株式相場) 2025-04-19T17:29:33 石破首相、赤沢経財相らと協議 トランプ氏発言を分析 … 円相場については日米関税交渉 による円高・ドル安誘導への警戒もくすぶる。先週の金融市場ではドル売り 圧力の強さが浮き彫りになった。 ... 「日米関税交渉」で日経電子版の記事本文を検索して最新順にソート 33 記事の主題は相場
  18. Elasticsearch Function Score クエリ • キーワードマッチとは独立に、カスタムスコア条件を設定可能 { "funtion_score":{ "query": {

    "match_phrase":{ "body_search": "米関税交渉" } }, "functions": [ { "gauss": { "publish_datetime": { "origin": "now", "scale": "7d", "decay": 0.5 } } } ] } } 34 nowを基準にスコアをガウス関数で滑らかに減衰 (7日で0.5倍)
  19. 最新記事に重みを付けたスコアリング 2025-04-18T20:59:08 石破首相、次回協議へ調整加速を指示  日米関税交渉 2025-04-19T18:20:00 石破首相、赤沢経財相らと協議 トランプ氏発言を分析 2025-04-21T08:24:32 弱まる米国集中、強まるドル売り 再び円高進む 35 公開日

    見出し 2025-04-21T08:24:32 弱まる米国集中、強まるドル売り 再び円高進む 2025-04-21T07:44:53 日経平均株価、利益確定売りが先行(先読み株式相場) 2025-04-19T17:29:33 石破首相、赤沢経財相らと協議 トランプ氏発言を分析 見出しは検索対象にしていないが、本文の主題なので出現
  20. 全文検索から結果が決まるまで トヨタ スコア 0.3 スコア 0.9 スコア 0.8 スコア 0.9

    スコア 0.8 スコア 0.3 検索 マッチ スコアリング ソート 返却 トヨタ BM25 36
  21. RAGによる検索結果要約 質問 サブクエリ 検索結果 記事 回答 Gemini Flash text-embedding -3-large

    Top 30 results Fetches 1000 docs (200 *5) Gemini Pro knn mseach text-embedding -3-large チャンク 39
  22. 40

  23. 41

  24. 42

  25. 43

  26. 44

  27. Elasticsearch kNN Search • HSNWを用いた高速かつ近似的な最近接ベクトルをk件返すベクトル検索 ◦ 全文検索との組み合わせが可能 45 { "knn":

    [{ "field": "chunks.text_embedding", "query_vector": [ ... ], "k": 100, "num_candidates": 200, "filter": { "term": { "document_type": "article" } }, "inner_hits": { "_source": ["chunks.content", "chunks.no"] } }] } inner hitsでヒットしたチャンクを取得