Share
Embed
検索システムにAIを搭載する際の考え方 ― 基礎から展望まで
検索システムをよりよくするために活用できるAI技術を紹介します。
1. 検索システムの基盤となる検索エンジン
2. ユーザー行動を考慮した協調フィルターリング。
3. ドメイン知識を表現したナレッジグラフ。
4. 最近注目された文書のEmbeddingを活用する方法。
AITC - DENTSU SOKEN
October 20, 2022
Transcript
54 slides
-
⾃⼰紹介 所属: 電通国際情報サービス(ISID) X(クロス)イノベーション本部 AI トランスフォーメーションセンター 経歴: 2014年10月:大学卒業(院 2015年4月 :
ISIDへ新卒入社 現在は、最先端AI技術の研究開発と並行してAIを使った自社製品の開発に尽力中。 得意技術: 自然言語処理、クラウド技術(主にAzure) Twiter : @faisal_putra 趣味: 写真撮影、バドミントン、サイクリング(最近) 3 ファイサル ハディプトラ -
今の検索システムに求められるもの ドメイン理解 (Domain-aware) クエリ内の単語が指定する概念 を理解し、自動的にその概念に カテゴリや属性などを付与する 。 例: 「ISID」は「会社」という概 念として認識するので、「本社
の所在地」や「従業員数」を理 解する。 文脈とユーザー理解 (Contextual and Personalized) ユーザーの好み・プロフィール をもとに検索結果が出す。 例: エンジニアが「python」と検 索すると蛇ではなくプログラミ ング言語 対話型 (Conversational) 自然言語を理解し、前に検索し たものも考慮する。 例: コロナ検索した後、次に modernaを検索するとワクチン 情報が出てくる。 マルチモーダル テキストに限らず、音声や画像 や映像などにも対応する。 知能的 (Intelligent) 誤字や自動補完機能などデータ が溜まっていけばいくほど自己 改善する。 支援型 (Assistive) 検索以上に自動的に適切なアク ションを実行する。 例: 映画名を検索すると、検索結 果で「予約ボタン」を表示する。 これらの機能を実現するためにAI技術が必要 → AI搭載検索システム 7 -
9 AI 機械学習 深層学習 検索 AI搭載検索システムとは • 質問応答システム • バーチャルアシスタント
• チャットボット • ルールベース関連度調整 • など。。。 • 協調フィルタリング • ランキング学習 (Learning-to-Rank) • セマンティック検索 • パーソナライズド検索 • クラスターリング • NLP/エンティティリンキング • テキスト分類 • シグナルブースティング • など。。。 • ニューラル検索 • Embeddings (ベクトル検索) • 画像/音声検索(マルチモーダル) • など。。 -
15 キーワード検索(検索エンジン) キーワード検索では、検索対象⽂書を処理して転置インデックスに変換する。 検索する際は、2つの処理を⾏う: ①クエリに該当する⽂書フィルターリング、②クエリと⽂書の関連度を計算。 単語 ⽂書 (d) … …
りんご doc1, doc3, doc4, doc5 … … オレンジ doc2, doc4, doc6 … … ジュース doc1, doc3, doc4, doc7, doc8 クエリ(q) = りんごジュース りんご りんご ジュース ジュース doc3 doc4 doc1 doc7 doc8 doc5 転置インデックス ①フィルターリング ②関連度計算(BM25) -
17 ユーザーを理解 ユーザー 意図 コンテンツを理解 ユーザーを理解 ドメインを理解 キーワード 検索 協調
フィルターリング (推薦) -
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) ユーザー⾏動を考慮して アイテムを推薦する。 操作ログ クエリログ -
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種類の推薦モードが計算できる。 -
21 コンテンツ理解とユーザー理解 ユーザー 意図 コンテンツを理解 ユーザーを理解 ドメインを理解 キーワード 検索 協調
フィルターリング (推薦) パーソナ ライズド 検索 -
26 ドメインを理解 ユーザー 意図 コンテンツを理解 ユーザーを理解 ドメインを理解 キーワード 検索 協調
フィルターリング (推薦) ナレッジグラフ パーソナ ライズド 検索 -
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)→人間; 加藤–(食べる)→食べ物 → ナレッジグラフは他のナレッジモデルを囲む。 -
31 ユーザー理解とドメイン理解 ユーザー 意図 コンテンツを理解 ユーザーを理解 ドメインを理解 キーワード 検索 協調
フィルターリング (推薦) ナレッジグラフ パーソナ ライズド 検索 マルチ モーダル 推薦 -
33 コンテンツ理解とドメイン理解 ユーザー 意図 コンテンツを理解 ユーザーを理解 ドメインを理解 キーワード 検索 協調
フィルターリング (推薦) ナレッジグラフ パーソナ ライズド 検索 マルチ モーダル 推薦 セマン ティック 検索 -
34 セマンティック検索 クエリの単語からエンティティ(Entity)と関係(Relation)を認識して検索する。 ナレッジグラフ クエリ: ISID 近くの 中華 会社 距離
中華レストラン 該当する記事 対象エンティティのクラス: 中華レストラン 絞り込み条件: 距離: 条件: 5km以内(近い) 原点: 京王品川ビル(ISID本社) クエリの解析結果のイメージ -
35 3つの要素を適切に組み合わせるのが⼤事 ユーザー 意図 コンテンツを理解 ユーザーを理解 ドメインを理解 キーワード 検索 協調
フィルターリング (推薦) ナレッジグラフ パーソナ ライズド 検索 マルチ モーダル 推薦 セマン ティック 検索 -
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(クエリベクトル、⽂書ベクトル) -
38 キーワード検索 vs ベクトル検索 キーワード検索は完全⼀致に、ベクトル検索は曖昧表現に、それぞれの強みがある。 クエリ分類 キーワード検索 ベクトル検索 期待される結果 ⾃然⽂:
- アーム動作が不安定になった原因は? 成功した可能性があるが、 ほとんど失敗 成功 その現象の原因 に関する⽂書 曖昧クエリ: - フランスの有名な塔 ほとんど失敗 成功 エッフェル塔に関する⽂書 キーワードの組み合わせ: (りんご OR オレンジ) AND ジュース 成功 失敗 りんごジュースもしくは オレンジジュースが 書かれた⽂書 特定の商品番号/ID: - PROD1243 - 012-1211-211 成功 おそらく失敗 (学習データに依存する) その商品番号が 書かれた⽂書 -
39 ベクトル検索は新しい要素というより、代替⼿法 ユーザー 意図 コンテンツを理解 ユーザーを理解 ドメインを理解 キーワード 検索 協調
フィルターリング (推薦) ナレッジグラフ パーソナ ライズド 検索 マルチ モーダル 推薦 セマン ティック 検索 手法: • 転置インデックス • 埋め込み表現(Embeddings) • ハイブリッド 文書ベクトル ユーザーベクトル エンティティベクトル -
40 検索対象データによって組み合わせ⽅が変わる • ニュース検索: ⼈気度と新規性が重要。 • レストラン検索: 位置情報や予算(価格帯)を考慮する。 • E-コマース:
購⼊頻度を重視する。 • 映画検索: 基本的に⼈気度が⼤きい影響を与える。 • 転職サイト: 職業のカテゴリ、給与情報、位置情報を考慮する。 -
41 コンテンツ + ドメイン + ユーザーの理解を組み合わせる例 各要素の関連度を組み合わせ、最終的なスコアを計算する。 各関連度の重みは試⾏錯誤で決めるのが多いですが、⼤量なデータから学習もできる。 → Learning-to-rank
(LTR) 試行錯誤で決めるか、 大量なデータから学習する -
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 クエリログ -
44 AI搭載検索システムのロードマップ • 検索システム向けのAI技術が⾊々あるが、いきなり全 てを実現するのが難しいので、検索システムを徐々に 進化させた⽅が良い。 • まず、キーワード検索(全⽂検索)機能をきちんと 固める。 •
ナレッジグラフ(同義語、Taxonomyなど)を段階 的に導⼊し、検索機能を強化する。 • クエリの種類(複数キーワード、⾃然⽂クエリ) を判別し、それぞれの適切な処理(ベクトル検索 または キーワード検索)を実⾏できるように。 • 最終的に、ユーザーフィードバックを収集し、そ のデータを活⽤することで、継続的に⾃⼰改善( 協調フィルタリング、Learning-to-Rank)できる 仕組みを実現。 検索システム進化 -
50 まとめ • AI搭載検索システム • 検索に適⽤できるAI技術は最近話題になっているベクトル検索に限らない。 • AI搭載検索システムの要素技術 • 検索ゴール:
ユーザーの意図を理解 • コンテンツ理解 → キーワード検索 • ユーザー理解 → 協調フィルターリング • ドメイン理解 → ナレッジグラフ • 検索対象データやビジネスドメインによって、要素の適切な組み合わせ⽅は違うの で、きちんと設計する必要がある。 • AI搭載検索システムを実現するためのロードマップを紹介した -
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