Publicidad
Publicidad

Más contenido relacionado

Similar a 20221209-ApacheSolrによるはじめてのセマンティックサーチ.pdf(20)

Más de Koji Sekiguchi(20)

Publicidad

Último(20)

20221209-ApacheSolrによるはじめてのセマンティックサーチ.pdf

  1. Apache Solr による はじめての セマンティックサーチ 2022年12月9日 株式会社ロンウイット 関口宏司 @kojisays
  2. セマンティックサーチ*1 2 人が理解するのと同じように検索エンジンが テキスト・画像・動画・音声データを理解して 高速に検索できる *1:ニューラルサーチやベクトル検索などと呼ばれることもあります。本書ではセマンティックサーチで統一します。
  3. 内容 ● デモ https://demo.rondhuit.com/ ● セマンティックサーチの応用例 ● キーワード検索との比較 ○ キーワード検索の限界とセマンティックサーチによる改善 ● キーワード検索との技術比較 ○ Semantic vs. Bag-of-Words ○ Sparse vs. Dense ○ Boolean vs. ANN Vector ● 他社製検索エンジンの「セマンティック検索」との比較 ● キーワード検索の今後 ● まとめ 3
  4. セマンティックサーチの応用例 ● ECサイト ○ 街中で見た商品を写真に撮って、普段使っている ECサイトで写真から商品を検索して購入 ● チャットボット ○ ドメイン特有のキーワードを知らないユーザーでも、ズバリの答え( FAQリンク等)を探し当てやすく なる ⇒ 利用者のイライラを解消 ● 辞書・慣用句・ことわざなどの表現検索 ○ 書き物をしている際、表現したいことを端的に記述する慣用句などを検索 ■ (クエリ例)「当人より冷静な周りの人の方が状況判断できる」 ⇒「岡目八目」:第三者は当事者よりも情勢が客観的によく判断できるということ。〔人の碁を わきから見ていると,打っている人より八目も先まで手が読めるということから〕 ● 社内知識共有/ナレッジマネジメント ○ 従来型のキーワード検索では実現できない検索が実現可能(次ページ参照) 4
  5. ナレッジマネジメント(企業内検索システム)の限界 ● 日本生命 沼田課長よりヒアリング ○ 調べたいこと:「損金を計上するメリットとは?」 ○ 現状のキーワード検索だと、「損金」「計上」「メリット」というキーワードで検索することになる。 ⇒ キーワードをバラバラに含む文書が多数ヒットして、探したいものが見つからない。 ○ 調べたいこと:「契約者と被保険者が別人の時の保全の手続き」 ○ 調べたいこと:(年齢によって異なる)「 30歳の本人確認書類」 5 … … … … … … … メリット … … … … … … …。 … … … … … …… … … … … … …… … … … … … …… … … … … … … 損金 … … 。 … … … …… … … … … … …… … … … … … …… … … … … … … … … … … … … …… … … … … … …… … … … … … …。 … … … … … …… … … … … … …… … … … … … …… … … … … … … 計上 … … 。 …
  6. セマンティックサーチでナレッジマネジメントを改善 ● 調べたいこと:「損金を計上するメリットとは?」と入力すれば、そのものズバリの答 えが載っている文書が上位表示される。 ● 調べたいこと:「契約者と被保険者が別人の時の保全の手続き」も同様に検索して ズバリの回答を得られる。 ● 調べたいこと:(年齢によって異なる)「30歳の本人確認書類」 ⇒ 「20歳以上の本人確認書類は XXX」 ⇒ 「合わせて読みたい」(レコメンド)⇒「 14歳以下はXXX」「15歳以上20歳未満はXXX」 ● 適切なアプリケーションにセマンティックサーチを適用すれば、調べ物の時間を大 幅に改善できる。 6
  7. 従来型のキーワード検索との比較 ● 従来のキーワード検索では文書に含まれるキーワードを入力しないと検索できない ○ ある程度業務ドメインの知識がないと検索できない ○ ドメイン知識があっても、同じ意味を持つキーワードは複数存在するので、類義語辞書のメンテナンスが欠かせない ● セマンティックサーチでは必ずしもクエリのキーワードはヒットする必要がない ○ 業務ドメインの知識がなくても、調べたいことを自分なりの表現にすれば検索できる ■ (例)ECサイトで「机を組み立てるのに必要な工具」 ■ (例)辞書・慣用句・ことわざを調べるのに、意味から調べられる ■ (例)法令・判例検索システムを法科大学院の学生や新人の判事・検事・弁護士の研修に用いる ○ コーパス収集時期とクエリ時期が離れていても検索できる ■ (例)古い文献を現代の表現で検索できる(かも) ● 従来のキーワード検索における検索性能 *1 を向上させるための施策 ○ 文字等さまざまな正規化 ○ 形態素解析と文字 N-gramの使い分けや組み合わせ ○ キーワードの表記揺れ対策やシノニム定義 ○ フィールドの重み付け ○ クエリサジェスチョンetc. ● セマンティックサーチは上記従来テクニックを一切不要にする破壊的な技術 7 *1: 情報検索における精度( Precision)と再現率(Recall)のことを指します。
  8. 従来型のキーワード検索との比較(技術要素) 8 キーワード検索 セマンティックサーチ ベクトル化の考え方 Bag-of-Words Semantic ベクトルの特徴 Sparse Vector Dense Vector 検索アルゴリズム Boolean ANN Vector
  9. 技術要素比較:Bag-of-Words vs. Semantic ● Bag-of-Words: 各単語が何回文書に 出現したか。語順、文の構造などは文 書に現れない。Tokenizer。 9 ● Semantic: 検索対象(テキスト・画像 等)の意味を考慮したベクトル表現を 用いる。ニューラルネットワーク。 ○ テキスト:BERT ○ 画像:CNN
  10. 技術要素比較:Sparse vs. Dense ● 従来型のキーワード検索では、1単語をベク トル空間の1次元に対応させる。 ○ コーパスの単語種類数がベクトル空間の次元数と なるので、検索対象文書とクエリとも、多くの要素が 0(ゼロ)となるベクトルで表現される。⇒Sparse (疎) Vector 10 O’Reilly Applied Text Analysis - Chapter 4. Text Vectorization and Transformation Pipelines ● セマンティックサーチでは、クエリや文書の意 味・意図を固定次元のベクトルで表現する。 ○ 上記と比べて低次元の、ほとんど全ての要素が 0 (ゼロ)でないベクトルで表現される。⇒Dense(密) Vector Hariom Gautam - Word Embedding: Basics (https://medium.com/@hari4om/word-embedding-d816f643140)
  11. 技術要素比較:Boolean vs. ANN Vector ● Boolean: 転置インデックスを右図のよう なアルゴリズムで探索し、ヒットした文書集 合をBM25などのスコア関数を用いてクエ リとの類似度順にソートして返却 11 Information Retrieval: Implementing and Evaluating Search Engines by Stefan Buettcher, Charles L. A. Clarke, Gordon V. Cormack ● ANN Vector: 全文書に対してスコア計算 (内積やコサインなど)を行うわけにいか ないので、近似最近傍探索(ANN)を行 い、得られた限定的な文書セットについて スコア計算を行い、TOP-Kの文書を返却
  12. 他社製検索エンジンの「セマンティック検索」との比較 ● 他社製検索エンジンの「セマンティック検索」は、従来型のキーワード検索技術の上 に構文解析・意味解析を付加したもの。そのため、 ○ 検索対象はテキストのみ。 ○ 文書の意味を理解しているわけではない。 ○ 結局はキーワードが当たらないとヒットしない。 ■ (再現率ではなく)精度向上の補助的施策にすぎない。 ○ キーワードが構文解析ウインドウの外にあると太刀打ちできない。 ○ ヒューリスティクス。(類義語辞書登録のように切りがない) ● ロンウイットのセマンティックサーチは、「人が理解するようにテキスト・画像・動画・ 音声データを検索エンジンが理解し、検索できる」ので、 ○ キーワードがヒットしなくても、調べたいことの意味が記述されていればヒットする。 ○ 検索対象はテキストに限らない。ベクトル化できればあらゆるものが検索可能。 ○ テキストクエリで画像を検索したり(またはその逆)できる。 12 (注)構文木の図は英語の場合です。日本語の場合は係り受け解析等が行われます。
  13. 今後キーワード検索はどうなる? ● キーワードを含む文書を探したいユーザーのために今後も使われ続ける ○ (例)当該業務ドメインに詳しい利用者が使う検索システム ○ (例)著者名による書誌検索、会社名検索、製品名検索 ● セマンティックサーチとのハイブリッドシステムで使われる ● キーワード検索をAIを使ってより良くする工夫も健在 ○ 類義語辞書自動生成 ○ 専門用語抽出 ○ 固有表現抽出からの新たなファセット軸提供 ○ 言語モデル等によるスマートなクエリサジェスチョン ○ アノテーション ○ ハイパーパラメーター探索 ○ ランキング学習 13
  14. まとめ 14 ポイント ① セマンティックサーチは、従来のキーワード検索で検索性能向 上のために必要だったテクニックを、 一切不要にする破壊的な 技術 ポイント ② セマンティックサーチは、検索対象をベクトル化できれば、テキ ストに限らず検索対象とすることができる。テキスト・画像・動画 ・音声の相互検索が可能 ぜひ皆様のデータで試して、セマンティックサーチの効果を実感 してください!
Publicidad