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

検索システムにAIを搭載する際の考え方 ― 基礎から展望まで

検索システムにAIを搭載する際の考え方 ― 基礎から展望まで

検索システムをよりよくするために活用できるAI技術を紹介します。
1. 検索システムの基盤となる検索エンジン
2. ユーザー行動を考慮した協調フィルターリング。
3. ドメイン知識を表現したナレッジグラフ。
4. 最近注目された文書のEmbeddingを活用する方法。

AITC - DENTSU SOKEN

October 20, 2022
Tweet

More Decks by AITC - DENTSU SOKEN

Other Decks in Technology

Transcript

  1. 電通国際情報サービス(ISID)
    X(クロス)イノベーション本部 AIテクノロジー部
    AIトランスフォーメーションセンター
    ファイサル ハディプトラ
    検索システムにAIを搭載する際の考え方
    ― 基礎から展望まで

    View full-size slide

  2. 本⽇の狙い
    ▷ 話すこと
    ○ 検索システムに活⽤できるAI技術の紹介
    ○ 各AI技術で達成できること
    ▷ 話さないこと
    ○ 細かな処理やコードなど
    2

    View full-size slide

  3. ⾃⼰紹介 所属:
    電通国際情報サービス(ISID)
    X(クロス)イノベーション本部
    AI トランスフォーメーションセンター
    経歴:
    2014年10月:大学卒業(院
    2015年4月 : ISIDへ新卒入社
    現在は、最先端AI技術の研究開発と並行してAIを使った自社製品の開発に尽力中。
    得意技術: 自然言語処理、クラウド技術(主にAzure)
    Twiter : @faisal_putra
    趣味: 写真撮影、バドミントン、サイクリング(最近)
    3
    ファイサル ハディプトラ

    View full-size slide

  4. 4
    アジェンダ
    ① AI搭載検索システムの概要
    ② AI搭載検索システムの要素技術
    ③ AI搭載検索システムを実現するためのロードマップ
    ④ まとめ

    View full-size slide

  5. AI搭載検索システムの概要
    5

    View full-size slide

  6. 検索といえば、Google検索
    6
    昔(2003年) 今(2022 年)
    Google検索はただのキーワード検索から、AIを利⽤することでかなり進化した。

    View full-size slide

  7. 今の検索システムに求められるもの
    ドメイン理解 (Domain-aware)
    クエリ内の単語が指定する概念
    を理解し、自動的にその概念に
    カテゴリや属性などを付与する

    例: 「ISID」は「会社」という概
    念として認識するので、「本社
    の所在地」や「従業員数」を理
    解する。
    文脈とユーザー理解
    (Contextual and Personalized)
    ユーザーの好み・プロフィール
    をもとに検索結果が出す。
    例: エンジニアが「python」と検
    索すると蛇ではなくプログラミ
    ング言語
    対話型 (Conversational)
    自然言語を理解し、前に検索し
    たものも考慮する。
    例: コロナ検索した後、次に
    modernaを検索するとワクチン
    情報が出てくる。
    マルチモーダル
    テキストに限らず、音声や画像
    や映像などにも対応する。
    知能的 (Intelligent)
    誤字や自動補完機能などデータ
    が溜まっていけばいくほど自己
    改善する。
    支援型 (Assistive)
    検索以上に自動的に適切なアク
    ションを実行する。
    例: 映画名を検索すると、検索結
    果で「予約ボタン」を表示する。
    これらの機能を実現するためにAI技術が必要 → AI搭載検索システム
    7

    View full-size slide

  8. AI
    機械学習
    深層学習 検索
    AI搭載検索システムとは
    8

    View full-size slide

  9. 9
    AI
    機械学習
    深層学習 検索
    AI搭載検索システムとは
    • 質問応答システム
    • バーチャルアシスタント
    • チャットボット
    • ルールベース関連度調整
    • など。。。
    • 協調フィルタリング
    • ランキング学習
    (Learning-to-Rank)
    • セマンティック検索
    • パーソナライズド検索
    • クラスターリング
    • NLP/エンティティリンキング
    • テキスト分類
    • シグナルブースティング
    • など。。。
    • ニューラル検索
    • Embeddings (ベクトル検索)
    • 画像/音声検索(マルチモーダル)
    • など。。

    View full-size slide

  10. 10
    様々な技術があるけど。。。

    View full-size slide

  11. 11
    どうやって検索に適切に活⽤できるか?

    View full-size slide

  12. AI搭載検索システムの要素技術
    12

    View full-size slide

  13. 13
    検索のゴール: ユーザーの意図を理解する
    ユーザー
    意図
    コンテンツを理解 ユーザーを理解
    ドメインを理解

    View full-size slide

  14. 14
    コンテンツを理解
    ユーザー
    意図
    コンテンツを理解 ユーザーを理解
    ドメインを理解
    キーワード
    検索

    View full-size slide

  15. 15
    キーワード検索(検索エンジン)
    キーワード検索では、検索対象⽂書を処理して転置インデックスに変換する。
    検索する際は、2つの処理を⾏う: ①クエリに該当する⽂書フィルターリング、②クエリと⽂書の関連度を計算。
    単語 ⽂書 (d)
    … …
    りんご doc1, doc3, doc4, doc5
    … …
    オレンジ doc2, doc4, doc6
    … …
    ジュース doc1, doc3, doc4, doc7, doc8
    クエリ(q) = りんごジュース りんご
    りんご
    ジュース
    ジュース
    doc3 doc4
    doc1
    doc7 doc8
    doc5
    転置インデックス
    ①フィルターリング
    ②関連度計算(BM25)

    View full-size slide

  16. 16
    キーワードだけで求められる結果が得られない
    「iPad」を検索したいのに、ほぼiPadのアクセサリーが出てきちゃった。

    View full-size slide

  17. 17
    ユーザーを理解
    ユーザー
    意図
    コンテンツを理解 ユーザーを理解
    ドメインを理解
    キーワード
    検索 協調
    フィルターリング
    (推薦)

    View full-size slide

  18. 18
    推薦システム(Recommender System)
    ユーザーは特定のクエリを⼊⼒せずに、システムはユーザーが探しそうなものを推薦してくれる。

    View full-size slide

  19. 19
    協調フィルターリング
    ユーザーの操作ログを収集し、ユーザーの挙動から
    ユーザーの好みを定量化する。
    ユーザーが
    検索
    ユーザーが
    結果を⾒る
    ユーザーが
    アクションを実⾏
    システム改善
    ipad
    ユーザー クエリ
    加藤 ipad
    ゆい プリンター
    茂雄 ipad
    … …
    ユーザー アクション アイテム
    加藤 click doc22
    ゆい click doc17
    茂雄 click doc12
    加藤 purchase doc22
    茂雄 click doc22
    茂雄 purchase doc12
    ゆい click doc2
    … … …
    ユーザー アイテム 重み(関連度)
    加藤 doc22 1.0
    加藤 doc12 0.4
    … … …
    茂雄 doc12 0.9
    茂雄 doc22 0.6
    … … …
    加藤さん向けのおすすめ商品
    • doc22: iPad Pro
    • doc12: Kindle Fire

    ⾏列の分解
    (Matrix Factorization)
    ユーザー⾏動を考慮して
    アイテムを推薦する。
    操作ログ
    クエリログ

    View full-size slide

  20. 20
    推薦モード(ユーザー・アイテム、アイテム・アイテム、クエリ・アイテム)
    ユーザー アイテム 重み(関連度)
    加藤 doc22 1.0
    加藤 doc12 0.4
    … … …
    茂雄 doc12 0.9
    茂雄 doc22 0.6
    … … …
    ⾏列の分解
    (Matrix Factorization)
    アイテム アイテム 重み(関連度)
    doc22 doc21 0.96
    doc22 doc12 0.85
    … … …
    doc12 doc11 0.9
    doc12 doc22 0.8
    … … …
    クエリ アイテム 重み(関連度)
    ipad doc22 0.98
    ipad doc12 0.6
    … … …
    kindle doc12 0.96
    apple doc22 0.90
    … … …
    加藤さん向けのおすすめ商品
    • doc22: iPad Pro
    • doc12: Kindle Fire

    アイテムdoc22の関連商品
    • doc21: iPad Mini
    • doc12: Kindle Fire

    クエリ「ipad」に該当する商品
    • doc22: iPad Pro
    • doc12: Kindle Fire

    ⾏列の分解を⽤いることで、操作ログから、3種類の推薦モードが計算できる。

    View full-size slide

  21. 21
    コンテンツ理解とユーザー理解
    ユーザー
    意図
    コンテンツを理解 ユーザーを理解
    ドメインを理解
    キーワード
    検索 協調
    フィルターリング
    (推薦)
    パーソナ
    ライズド
    検索

    View full-size slide

  22. 22
    パーソナライズド検索はユーザーの操作ログを利⽤する
    ユーザーが⼊⼒したクエリとクリック情報を継続的に記録する。
    この⼈が「Samsung」や「ステンレススチール製」に興味を持っている。

    View full-size slide

  23. 23
    ユーザークリック情報を集計する
    。。。そして、その情報を集計して、ユーザーの好みを定量化する。

    View full-size slide

  24. 24
    ユーザーの好みを考慮した検索
    次にユーザーが検索すると、⼊⼒したクエリへの関連度以外にユーザーの好みも考慮する。
    ⽣のキーワード検索の結果 パーソナライズ検索の結果

    View full-size slide

  25. 25
    全てのクエリに適⽤しすぎると
    。。。「IPhone」を探すのに、「Samsung」のスピーカーが返ってくる。→ ドメイン知識が必要。

    View full-size slide

  26. 26
    ドメインを理解
    ユーザー
    意図
    コンテンツを理解 ユーザーを理解
    ドメインを理解
    キーワード
    検索 協調
    フィルターリング
    (推薦)
    ナレッジグラフ
    パーソナ
    ライズド
    検索

    View full-size slide

  27. 27
    ナレッジグラフとは?
    vs. Ontology vs Taxonomy vs Synonyms、など…

    View full-size slide

  28. 28
    検索システム向けのナレッジグラフの定義
    Alternative
    Labels
    Synonyms
    Taxonomy
    Ontology
    Knowledge Graph
    ナレッジモデルの種類
    Alternative Labels(言い換え)完全に同一意味を表現する単語
    例: チョコレート => チョコ; 国際連合 => 国連
    Synonyms List(同義語・類義語)近い意味を表現する単語
    例: 人間 => 人、人類; 食べ物 => 食材、食料、フード、食品
    Taxonomy (分類体系)ものを階層的なカテゴリに分類する。
    例: 加藤–(IS_A)→人間; 人間–(IS_A)→哺乳類; 哺乳類 –(IS_A)→ 動物
    Ontology(オントロジー)ものの種類同士の関連性を表現する。
    例: 動物–(食べる)→食べ物; 人間 –(IS_A)→動物
    Knowledge Graph(ナレッジグラフ)オントロジーをインスタンス化
    したもの。
    例: 加藤–(IS_A)→人間; 加藤–(食べる)→食べ物
    → ナレッジグラフは他のナレッジモデルを囲む。

    View full-size slide

  29. 29
    ナレッジグラフを使うとStringsではなくThingsで検索する
    「⽇本」で検索すると、国として認識し、⾸都や⼈⼝の情報などが返ってくる。。。

    View full-size slide

  30. 30
    ナレッジグラフを使うとStringsではなくThingsで検索する
    。。。検索結果から、そのまま深掘りできる。例: ⾸都の東京都をクリックする。

    View full-size slide

  31. 31
    ユーザー理解とドメイン理解
    ユーザー
    意図
    コンテンツを理解 ユーザーを理解
    ドメインを理解
    キーワード
    検索 協調
    フィルターリング
    (推薦)
    ナレッジグラフ
    パーソナ
    ライズド
    検索
    マルチ
    モーダル
    推薦

    View full-size slide

  32. 32
    マルチモーダル推薦
    ナレッジグラフデータとユーザー操作ログを跨いで推薦するシステム。
    例: ユーザーが所属した部⾨によって、推薦するものが異なる。
    技術部⾨→GitHub通知、営業部⾨→Tweets情報
    技術部の推薦結果 営業部の推薦結果

    View full-size slide

  33. 33
    コンテンツ理解とドメイン理解
    ユーザー
    意図
    コンテンツを理解 ユーザーを理解
    ドメインを理解
    キーワード
    検索 協調
    フィルターリング
    (推薦)
    ナレッジグラフ
    パーソナ
    ライズド
    検索
    マルチ
    モーダル
    推薦
    セマン
    ティック
    検索

    View full-size slide

  34. 34
    セマンティック検索
    クエリの単語からエンティティ(Entity)と関係(Relation)を認識して検索する。
    ナレッジグラフ
    クエリ: ISID 近くの 中華
    会社 距離 中華レストラン
    該当する記事
    対象エンティティのクラス:
    中華レストラン
    絞り込み条件:
    距離:
    条件: 5km以内(近い)
    原点: 京王品川ビル(ISID本社)
    クエリの解析結果のイメージ

    View full-size slide

  35. 35
    3つの要素を適切に組み合わせるのが⼤事
    ユーザー
    意図
    コンテンツを理解 ユーザーを理解
    ドメインを理解
    キーワード
    検索 協調
    フィルターリング
    (推薦)
    ナレッジグラフ
    パーソナ
    ライズド
    検索
    マルチ
    モーダル
    推薦
    セマン
    ティック
    検索

    View full-size slide

  36. 36
    そして、最近話題になった
    「ベクトル検索」は?

    View full-size slide

  37. 37
    ベクトル検索
    BERTなど事前学習⾔語モデル(エンコーダー)を利⽤して、
    クエリと⽂書をベクトル空間(Embeddings)に変換する。
    そして検索するときに、ベクトルの類似度を (コサイン類似度等で) 計算する。
    ベクトル検索では、キーワード検索とナレッジグラフとは違い、⽂脈で潜在的な意味が取得できる。
    クエリ
    ⽂書
    ベクトル化器
    (エンコーダー)
    BERTなど
    Embeddings
    (ベクトル)
    クエリベクトル
    ⽂書ベクトル
    [0.12, 5.04, 0.02, 0.0, …, 2.34]
    [1.02, 0.54, 0.12, 0.08, …, 1.34]
    [0.02, 0.04, 1.12, 0.18, …, 1.76]
    [0.16, 0.74, 1.82, 1.00, …, 1.42]
    cos_similarity(クエリベクトル、⽂書ベクトル)

    View full-size slide

  38. 38
    キーワード検索 vs ベクトル検索
    キーワード検索は完全⼀致に、ベクトル検索は曖昧表現に、それぞれの強みがある。
    クエリ分類 キーワード検索 ベクトル検索 期待される結果
    ⾃然⽂:
    - アーム動作が不安定になった原因は?
    成功した可能性があるが、
    ほとんど失敗
    成功 その現象の原因
    に関する⽂書
    曖昧クエリ:
    - フランスの有名な塔
    ほとんど失敗 成功 エッフェル塔に関する⽂書
    キーワードの組み合わせ:
    (りんご OR オレンジ) AND ジュース
    成功 失敗 りんごジュースもしくは
    オレンジジュースが
    書かれた⽂書
    特定の商品番号/ID:
    - PROD1243
    - 012-1211-211
    成功 おそらく失敗
    (学習データに依存する)
    その商品番号が
    書かれた⽂書

    View full-size slide

  39. 39
    ベクトル検索は新しい要素というより、代替⼿法
    ユーザー
    意図
    コンテンツを理解 ユーザーを理解
    ドメインを理解
    キーワード
    検索 協調
    フィルターリング
    (推薦)
    ナレッジグラフ
    パーソナ
    ライズド
    検索
    マルチ
    モーダル
    推薦
    セマン
    ティック
    検索
    手法:
    • 転置インデックス
    • 埋め込み表現(Embeddings)
    • ハイブリッド
    文書ベクトル
    ユーザーベクトル
    エンティティベクトル

    View full-size slide

  40. 40
    検索対象データによって組み合わせ⽅が変わる
    • ニュース検索: ⼈気度と新規性が重要。
    • レストラン検索: 位置情報や予算(価格帯)を考慮する。
    • E-コマース: 購⼊頻度を重視する。
    • 映画検索: 基本的に⼈気度が⼤きい影響を与える。
    • 転職サイト: 職業のカテゴリ、給与情報、位置情報を考慮する。

    View full-size slide

  41. 41
    コンテンツ + ドメイン + ユーザーの理解を組み合わせる例
    各要素の関連度を組み合わせ、最終的なスコアを計算する。
    各関連度の重みは試⾏錯誤で決めるのが多いですが、⼤量なデータから学習もできる。
    → Learning-to-rank (LTR)
    試行錯誤で決めるか、
    大量なデータから学習する

    View full-size slide

  42. 42
    Learning-to-Rank
    ユーザー操作ログから、学習データを作り
    教師あり設定でランキング学習を実施。
    ユーザーが
    検索
    ユーザーが
    結果を⾒る
    ユーザーが
    アクションを実⾏
    システム改善
    42
    ipad
    ユーザー クエリ
    加藤 ipad
    ゆい プリンター
    茂雄 ipad
    … …
    ユーザー アクション アイテム
    加藤 click doc22
    ゆい click doc17
    茂雄 click doc12
    加藤 purchase doc22
    茂雄 click doc22
    茂雄 purchase doc12
    ゆい click doc2
    … … …
    特徴量 重み
    bm25_score 0.26
    popularity 0.40
    geo_distance 0.31
    freshness 0.19
    cosine_similarity 0.10
    … …
    分類器/回帰器を学習
    (Build Classifier/Regressor)
    操作ログ
    初期結果
    1. doc1
    2. doc2
    3. doc3
    最終結果
    1. doc3
    2. doc1
    3. doc2
    クエリログ

    View full-size slide

  43. AI搭載検索システムを実現するための
    ロードマップ(例)
    43

    View full-size slide

  44. 44
    AI搭載検索システムのロードマップ
    • 検索システム向けのAI技術が⾊々あるが、いきなり全
    てを実現するのが難しいので、検索システムを徐々に
    進化させた⽅が良い。
    • まず、キーワード検索(全⽂検索)機能をきちんと
    固める。
    • ナレッジグラフ(同義語、Taxonomyなど)を段階
    的に導⼊し、検索機能を強化する。
    • クエリの種類(複数キーワード、⾃然⽂クエリ)
    を判別し、それぞれの適切な処理(ベクトル検索
    または キーワード検索)を実⾏できるように。
    • 最終的に、ユーザーフィードバックを収集し、そ
    のデータを活⽤することで、継続的に⾃⼰改善(
    協調フィルタリング、Learning-to-Rank)できる
    仕組みを実現。
    検索システム進化

    View full-size slide

  45. 45
    AI搭載検索システムのロードマップ
    ステップ1: キーワード検索機能をきちんと固める(データを整える)

    View full-size slide

  46. 46
    AI搭載検索システムのロードマップ
    ステップ2: ドメイン知識(ナレッジグラフ)を活⽤して機能強化

    View full-size slide

  47. 47
    AI搭載検索システムのロードマップ
    ステップ3: クエリを分類して、それぞれ適切なパイプラインに渡す

    View full-size slide

  48. 48
    AI搭載検索システムのロードマップ
    ステップ4: ユーザーの操作ログを収集し、そのログを活⽤して⾃⼰改善システムになる

    View full-size slide

  49. 50
    まとめ
    • AI搭載検索システム
    • 検索に適⽤できるAI技術は最近話題になっているベクトル検索に限らない。
    • AI搭載検索システムの要素技術
    • 検索ゴール: ユーザーの意図を理解
    • コンテンツ理解 → キーワード検索
    • ユーザー理解 → 協調フィルターリング
    • ドメイン理解 → ナレッジグラフ
    • 検索対象データやビジネスドメインによって、要素の適切な組み合わせ⽅は違うの
    で、きちんと設計する必要がある。
    • AI搭載検索システムを実現するためのロードマップを紹介した

    View full-size slide

  50. 51
    https://isid-ai.jp/products/texa.html
    ⽂章⾃動分類
    (教師あり分類)
    意味的類似検索
    ⽂章要約
    (教師なし分類×要約)
    文書活用AIソリューション:テクサインテリジェンス

    View full-size slide

  51. 52
    ISID AIトランスフォーメーションセンターでは新しい仲間を募集しています
    少しでも興味がある⽅は、「 [email protected]」までカジュアル⾯談のお問い合わせを頂くか、
    「ISID 採⽤ページへ」や以下のQRとリンクから応募をお願いします!
    製品開発系 コンサルティング系
    AIコンサルタント
    https://groupcareers.isid.co.jp
    /pgisid/u/job.phtml?job_code
    =591&company_code=1
    AIビジネスプロジェクトマネージャー
    https://groupcareers.isid.co.jp
    /pgisid/u/sp/job.phtml?job_co
    de=532
    AIエンジニア(製品開発)
    https://groupcareers.isid.co.j
    p/pgisid/u/job.phtml?job_co
    de=647&company_code=1
    AIプロダクトマネージャー
    https://groupcareers.isid.co.jp/
    pgisid/u/job.phtml?job_code=6
    93&company_code=1

    View full-size slide

  52. 新卒採⽤もやってます
    ISIDでは、「データサイエンス職」という新卒応募枠をご⽤意しています。データサイエンス枠で合格された⽅は、AIトラ
    ンスフォーメーションセンターへの配属が確約されます。興味がある⽅、是⾮ご応募ください。
    問い合わせ先:
    株式会社 電通国際情報サービス ⼈事部 新卒採⽤・インターンシップ担当
    [email protected]

    View full-size slide

  53. 54
    ご清聴ありがとうございます。

    View full-size slide