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 トランスフォーメーションセンター 経歴: 2014年10月:大学卒業(院 2015年4月 :

    ISIDへ新卒入社 現在は、最先端AI技術の研究開発と並行してAIを使った自社製品の開発に尽力中。 得意技術: 自然言語処理、クラウド技術(主にAzure) Twiter : @faisal_putra 趣味: 写真撮影、バドミントン、サイクリング(最近) 3 ファイサル ハディプトラ
  2. 今の検索システムに求められるもの ドメイン理解 (Domain-aware) クエリ内の単語が指定する概念 を理解し、自動的にその概念に カテゴリや属性などを付与する 。 例: 「ISID」は「会社」という概 念として認識するので、「本社

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

    • チャットボット • ルールベース関連度調整 • など。。。 • 協調フィルタリング • ランキング学習 (Learning-to-Rank) • セマンティック検索 • パーソナライズド検索 • クラスターリング • NLP/エンティティリンキング • テキスト分類 • シグナルブースティング • など。。。 • ニューラル検索 • Embeddings (ベクトル検索) • 画像/音声検索(マルチモーダル) • など。。
  4. 15 キーワード検索(検索エンジン) キーワード検索では、検索対象⽂書を処理して転置インデックスに変換する。 検索する際は、2つの処理を⾏う: ①クエリに該当する⽂書フィルターリング、②クエリと⽂書の関連度を計算。 単語 ⽂書 (d) … …

    りんご doc1, doc3, doc4, doc5 … … オレンジ doc2, doc4, doc6 … … ジュース doc1, doc3, doc4, doc7, doc8 クエリ(q) = りんごジュース りんご りんご ジュース ジュース doc3 doc4 doc1 doc7 doc8 doc5 転置インデックス ①フィルターリング ②関連度計算(BM25)
  5. 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) ユーザー⾏動を考慮して アイテムを推薦する。 操作ログ クエリログ
  6. 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種類の推薦モードが計算できる。
  7. 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)→人間; 加藤–(食べる)→食べ物 → ナレッジグラフは他のナレッジモデルを囲む。
  8. 31 ユーザー理解とドメイン理解 ユーザー 意図 コンテンツを理解 ユーザーを理解 ドメインを理解 キーワード 検索 協調

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

    フィルターリング (推薦) ナレッジグラフ パーソナ ライズド 検索 マルチ モーダル 推薦 セマン ティック 検索
  10. 34 セマンティック検索 クエリの単語からエンティティ(Entity)と関係(Relation)を認識して検索する。 ナレッジグラフ クエリ: ISID 近くの 中華 会社 距離

    中華レストラン 該当する記事 対象エンティティのクラス: 中華レストラン 絞り込み条件: 距離: 条件: 5km以内(近い) 原点: 京王品川ビル(ISID本社) クエリの解析結果のイメージ
  11. 35 3つの要素を適切に組み合わせるのが⼤事 ユーザー 意図 コンテンツを理解 ユーザーを理解 ドメインを理解 キーワード 検索 協調

    フィルターリング (推薦) ナレッジグラフ パーソナ ライズド 検索 マルチ モーダル 推薦 セマン ティック 検索
  12. 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(クエリベクトル、⽂書ベクトル)
  13. 38 キーワード検索 vs ベクトル検索 キーワード検索は完全⼀致に、ベクトル検索は曖昧表現に、それぞれの強みがある。 クエリ分類 キーワード検索 ベクトル検索 期待される結果 ⾃然⽂:

    - アーム動作が不安定になった原因は? 成功した可能性があるが、 ほとんど失敗 成功 その現象の原因 に関する⽂書 曖昧クエリ: - フランスの有名な塔 ほとんど失敗 成功 エッフェル塔に関する⽂書 キーワードの組み合わせ: (りんご OR オレンジ) AND ジュース 成功 失敗 りんごジュースもしくは オレンジジュースが 書かれた⽂書 特定の商品番号/ID: - PROD1243 - 012-1211-211 成功 おそらく失敗 (学習データに依存する) その商品番号が 書かれた⽂書
  14. 39 ベクトル検索は新しい要素というより、代替⼿法 ユーザー 意図 コンテンツを理解 ユーザーを理解 ドメインを理解 キーワード 検索 協調

    フィルターリング (推薦) ナレッジグラフ パーソナ ライズド 検索 マルチ モーダル 推薦 セマン ティック 検索 手法: • 転置インデックス • 埋め込み表現(Embeddings) • ハイブリッド 文書ベクトル ユーザーベクトル エンティティベクトル
  15. 40 検索対象データによって組み合わせ⽅が変わる • ニュース検索: ⼈気度と新規性が重要。 • レストラン検索: 位置情報や予算(価格帯)を考慮する。 • E-コマース:

    購⼊頻度を重視する。 • 映画検索: 基本的に⼈気度が⼤きい影響を与える。 • 転職サイト: 職業のカテゴリ、給与情報、位置情報を考慮する。
  16. 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 クエリログ
  17. 44 AI搭載検索システムのロードマップ • 検索システム向けのAI技術が⾊々あるが、いきなり全 てを実現するのが難しいので、検索システムを徐々に 進化させた⽅が良い。 • まず、キーワード検索(全⽂検索)機能をきちんと 固める。 •

    ナレッジグラフ(同義語、Taxonomyなど)を段階 的に導⼊し、検索機能を強化する。 • クエリの種類(複数キーワード、⾃然⽂クエリ) を判別し、それぞれの適切な処理(ベクトル検索 または キーワード検索)を実⾏できるように。 • 最終的に、ユーザーフィードバックを収集し、そ のデータを活⽤することで、継続的に⾃⼰改善( 協調フィルタリング、Learning-to-Rank)できる 仕組みを実現。 検索システム進化
  18. 50 まとめ • AI搭載検索システム • 検索に適⽤できるAI技術は最近話題になっているベクトル検索に限らない。 • AI搭載検索システムの要素技術 • 検索ゴール:

    ユーザーの意図を理解 • コンテンツ理解 → キーワード検索 • ユーザー理解 → 協調フィルターリング • ドメイン理解 → ナレッジグラフ • 検索対象データやビジネスドメインによって、要素の適切な組み合わせ⽅は違うの で、きちんと設計する必要がある。 • AI搭載検索システムを実現するためのロードマップを紹介した
  19. 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