セマンティック検索とは何ですか?

CMSのデフォルト検索とカスタム実装のどちらがご自身に適しているのかを確認しましょう。

セマンティック検索の定義

セマンティック検索とは語句の意味を解釈する検索エンジン技術のことです。セマンティック検索の結果は、クエリの単語に文字通り一致する内容ではなく、クエリの意味に一致する内容を返します。

セマンティック検索は一連の検索エンジン機能で、検索者の意図や検索の内容から単語を理解することが含まれます。

このタイプの検索は、自然言語をより正確に、コンテクスト(文脈)に沿って解釈することで、検索結果の品質を改善することを目指しています。セマンティック検索では、機械学習AI(人工知能)といった技術を活用して、検索の意図をセマンティックの意味に一致させることで、これを実現しています。

セマンティック検索はどのように作動しますか?

セマンティック検索はベクトル検索を活用しており、コンテクストや検索意図の関連性に基づいて、コンテンツをランク付けして供給することができます。ベクトル検索は、検索可能な情報の詳細を関連する用語や項目のフィールド、あるいは複数のベクトルにエンコードし、次に各ベクトルを比較してどれが最もよく似ているかを判定します。

ベクトル検索対応のセマンティック検索では、クエリパイプラインの両端で同時に作動して結果を出します。クエリが発せられたら、検索エンジンはそのクエリを埋め込みに変換(ベクトル化)します。すなわちデータと関連するコンテクストの数値表現に変換するのです。この値はベクトルで保管されます。次にkNNアルゴリズム(またはk近傍法)を使って、既存文書(セマンティック検索が関与するテキスト)のベクトルを、クエリのベクトルと照合します。次にセマンティック検索は結果を生成し、概念的な関連性に基づいてその結果をランク付けします。

  1. クエリが発せられたら、検索エンジンはそのクエリを埋め込みに変換(ベクトル化)します。すなわちデータと関連するコンテクストの数値表現に変換するのです。この値はベクトルで保管されます。
  2. 次にkNNアルゴリズム(またはk近傍法)を使って、既存文書(セマンティック検索が関与するテキスト)のベクトルを、クエリのベクトルと照合します。
  3. 次にセマンティック検索は結果を生成し、概念的な関連性に基づいてその結果をランク付けします。

コンテクスト
セマンティック検索においてコンテクストは、検索者の地理的所在地、クエリで使われている単語の文章における文脈、検索者の検索履歴に基づく文脈など、多くの追加情報を参照します。

セマンティック検索は、コンテクストの手がかりを活用して、大量の例からなるデータセットから単語の意味を判断します。セマンティック検索は、よく似たコンテクストで使用される他の単語も特定します。

例えば「soccer(サッカー)」という語を検索する場合、この語はアメリカでは「soccer(サッカー)」を、イギリスや世界の多くの国では「football(フットボール)」を意味しています。セマンティック検索はユーザーの地理的所在地に基づいて結果を区別します。

検索者の意図
セマンティック検索の役割はユーザー体験を改善することです。最も関連性の高い結果を出すために、ユーザーの意図を解釈してそのニーズを理解しています。情報を必要としていますか?何かを買わせようとしているのでしょうか?クエリとそのコンテクストに基づき、セマンティック検索は関連性の高い順に結果をランク付けします。

セマンティック検索は、最も高いスコアを得た結果を最初に、低いスコアの結果をずっと下位にランク付けするといった、クエリのカテゴライズ化設定により変更や改善を行うこともできます。

ユーザーの検索体験をパーソナライズする

Diagram showing the steps of generative AI including vector representation and transforming into embedding

セマンティック検索とキーワード検索の比較

セマンティック検索とキーワード検索の違いとしては、キーワード検索が単語と単語、単語と同義語、単語と似た単語が一致する結果を返すのに対して、セマンティック検索はクエリ内の単語の意味の一致を探します。場合によっては、セマンティック検索では単語が直接一致した結果を出さないこともありますが、それはユーザーの意図には一致しています。

キーワード検索エンジンは同義語や単語の省略といった、クエリ拡張や緩和ツールを使用しています。また自然言語処理や、タイプミスの許容、トークン化、正規化といった理解を促進するツールも活用します。一方セマンティック検索は、ベクトル検索の活用によって意味が一致するクエリ結果を返すことができます。

例えば「チョコレートミルク」について考えてみます。 セマンティック検索エンジンは「チョコレートミルク」と「ミルクチョコレート」を区別します。 クエリに含まれるキーワードは同じですが、そのキーワードの記述順序が意味に影響を与えます。人間は「ミルクチョコレート」とはチョコレートの1種であり、一方「チョコレートミルク」はチョコレート風味のミルクのことだと理解しています。

セマンティック検索が重要である理由は?

セマンティック検索が重要なのは、検索の地平を広げる可能性があるからです。セマンティック検索はベクトル検索を活用しているため、クエリのコンテクスト意図によって結果が得られるため、より直感的な検索体験が可能となります。

セマンティック検索のアルゴリズムは、コンバージョン率や直帰率などのさまざまな重要業績評価指標(KPI)を使って「学習」を続けるため、ユーザー満足度の向上に貢献します。

Elasticsearchでのセマンティック検索

Elasticsearchプラットフォームは、セマンティック検索モデル:Elastic Learned Sparse EncodeR(ELSER)などの機械学習とAIソリューションを搭載しています。このNLPモデルはElasticが訓練したもので、簡単に導入できるツールでセマンティック検索ができます。

Elasticsearchはデータを安全に保管して、高速検索、微調整した関連性、効率性を評価する強力な分析機能に活用します。ElasticsearchはElastic Stackの根幹部分で、データインジェスト、データエンリッチメント、データの保管、解析、表示のための無料でオープンなツールのセットです。

Elasticsearchについてもっと知る