Slide 1

Slide 1 text

意思決定を支える検索体験を 目指してやってきたこと 日當 泰輔 検索エンジニア @ Nikkei Inc. 2025/04/24 NIKKEI Tech Talk #32 検索体験の裏側 〜知りたい情報を最短で届けるための取り組み紹介〜 1

Slide 2

Slide 2 text

自己紹介 ● 日當 泰輔(ひなた たいすけ) ● 2017年4月 新卒入社 ● 社内一人目の検索エンジニア ● 日経のデータベース事業を支える 検索基盤を作っている 2

Slide 3

Slide 3 text

今日お話すること ● 日経のデータベース事業 ● 検索体験の裏側 ○ 検索演算子 ○ 記事の鮮度を加味したスコアリング ○ RAGによる検索結果要約 3

Slide 4

Slide 4 text

日経のデータベース事業 4

Slide 5

Slide 5 text

5 https://nkbb.nikkei.co.jp/about/ データで 見通す、決める、動く。 的確な意思決定を。

Slide 6

Slide 6 text

6 全コンテンツ 検索基盤 (CPF) 200 社以上からコンテンツ提携 ・ ・ ・ ・ ・ ・ 12 の情報サービス + 日経のデータベース事業

Slide 7

Slide 7 text

保有するコンテンツ メディア・記事 新聞 / 雑誌 / 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

Slide 8

Slide 8 text

8 ● 国内最大級のビジネスDBサービス ● 旧東証1部上場企業の7割以上が導入 ● 全文検索で多様な意思決定を支援 日経テレコン 利用用途

Slide 9

Slide 9 text

意思決定 支援 信頼できる 情報源 検索技術 9 検索技術が支えるデータベース事業

Slide 10

Slide 10 text

検索体験の裏側 10

Slide 11

Slide 11 text

まずはデータの話から 11

Slide 12

Slide 12 text

メディア・記事 新聞 / 雑誌 / 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 今日は「記事」の検索について話します

Slide 13

Slide 13 text

検索基盤 (CPF) ・ ・ ・ + ETL API DB 12の情報サービス 200 社以上からコンテンツ提携 +2億 docs 1 Index 200 RPS +15K /Day ・ ・ ・ 13 記事検索のアーキテクチャ

Slide 14

Slide 14 text

本題 検索でやってきたこと 14

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

検索演算子 17

Slide 18

Slide 18 text

検索演算子 (Search Operator) ● 検索条件を表現するためのコマンド https://t21.nikkei.co.jp/public/help/contract/price/18/help_kiji_cmd.html ( ロボティクス AND tother=AI AND DA=20250422 ) NOT HL=<数表> 18 日経テレコン コマンド検索

Slide 19

Slide 19 text

検索演算子 (Search Operator) ● 検索条件を表現するためのコマンド https://t21.nikkei.co.jp/public/help/contract/price/18/help_kiji_cmd.html ( ロボティクス AND tother=AI AND DA=20250422 ) NOT HL=<数表> 19 日経テレコン コマンド検索 記事のメタ情報 記事の公開日

Slide 20

Slide 20 text

検索演算子 (Search Operator) ● 検索条件を表現するためのコマンド https://t21.nikkei.co.jp/public/help/contract/price/18/help_kiji_cmd.html ( ロボティクス AND tother=AI AND DA=20250422 ) NOT HL=<数表> 20 日経テレコン コマンド検索 記事の見出し

Slide 21

Slide 21 text

課題感 ● 検索ニーズの高度化と検索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

Slide 22

Slide 22 text

課題感 ● 検索ニーズの高度化と検索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

Slide 23

Slide 23 text

課題感 ● 検索ニーズの高度化と検索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

Slide 24

Slide 24 text

課題感 ● 検索ニーズの高度化と検索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

Slide 25

Slide 25 text

課題感 ● 検索ニーズの高度化と検索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での実現が難しい

Slide 26

Slide 26 text

検索演算子はスクリーニングを効率化 ● スクリーニングにより検索精度が上がり、ビジネス上の意思決定につながる検索結 果にたどり着ける 検索式の入力 検索式の修正 検索結果の選択 検索結果の閲覧 NOT ( HL=<数表>) 26 スクリーニングの流れ

Slide 27

Slide 27 text

Elasticsearch Query String クエリ + α ● 文字列だけで論理演算子/ フィールド指定 / ブースティングなどを設定可能 { "query":{ "query_string":{ "query": "ロボティクス^2 AND tag:(AI) AND date:(20250422) NOT headline:(<数表>)", "fields": ["body"] } } } Lucene記法で表現 27

Slide 28

Slide 28 text

加えてAPIで行っている処理の一例 ● 論理演算子の優先順位付け 28 りんご AND みかん OR バナナ (りんご AND みかん) OR バナナ りんご AND (みかん OR バナナ) OR優先 (再現率重視) AND優先 (適合率重視) 🤔 サービスの検索精度の方向性に関わる処理

Slide 29

Slide 29 text

詳細はブログで https://hack.nikkei.com/blog/search_operator/ 29

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

記事の鮮度を加味した スコアリング 31

Slide 32

Slide 32 text

課題感 ● 世界は動き続ける。スコアリングに記事の「鮮度」を加味できないか 32 続報

Slide 33

Slide 33 text

Q: 日付で最新順にソートではダメ? ● A: ベストでない場合もある 公開日 見出し 2025-04-21T08:24:32 弱まる米国集中、強まるドル売り 再び円高進む 2025-04-21T07:44:53 日経平均株価、利益確定売りが先行(先読み株式相場) 2025-04-19T17:29:33 石破首相、赤沢経財相らと協議 トランプ氏発言を分析 … 円相場については日米関税交渉 による円高・ドル安誘導への警戒もくすぶる。先週の金融市場ではドル売り 圧力の強さが浮き彫りになった。 ... 「日米関税交渉」で日経電子版の記事本文を検索して最新順にソート 33 記事の主題は相場

Slide 34

Slide 34 text

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倍)

Slide 35

Slide 35 text

最新記事に重みを付けたスコアリング 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 石破首相、赤沢経財相らと協議 トランプ氏発言を分析 見出しは検索対象にしていないが、本文の主題なので出現

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

RAGによる検索結果要約 37

Slide 38

Slide 38 text

課題感 ● 大きなニュースは各社が一斉報道 ● 媒体に関係なく、知りたいことがある ユーザーにとっては、検索結果に重 複感 38 米相互関税

Slide 39

Slide 39 text

RAGによる検索結果要約 質問 サブクエリ 検索結果 記事 回答 Gemini Flash text-embedding -3-large Top 30 results Fetches 1000 docs (200 *5) Gemini Pro knn mseach text-embedding -3-large チャンク 39

Slide 40

Slide 40 text

40

Slide 41

Slide 41 text

41

Slide 42

Slide 42 text

42

Slide 43

Slide 43 text

43

Slide 44

Slide 44 text

44

Slide 45

Slide 45 text

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でヒットしたチャンクを取得

Slide 46

Slide 46 text

まとめ ● 日経のデータベース事業は200社以上からコンテンツ提携 ○ その膨大なコンテンツを横断検索できるサービスを展開 ● 事業のミッションである「顧客の意思決定支援」を目指して、検索 体験の向上に励んでいる 46