セマンティック検索はどのように作動しますか?
セマンティック検索はベクトル検索を活用しており、コンテクストや検索意図の関連性に基づいて、コンテンツをランク付けして供給することができます。ベクトル検索は、検索可能な情報の詳細を関連する用語や項目のフィールド、あるいは複数のベクトルにエンコードし、次に各ベクトルを比較してどれが最もよく似ているかを判定します。
ベクトル検索対応のセマンティック検索では、クエリパイプラインの両端で同時に作動して結果を出します。クエリが発せられたら、検索エンジンはそのクエリを埋め込みに変換(ベクトル化)します。すなわちデータと関連するコンテクストの数値表現に変換するのです。この値はベクトルで保管されます。次にkNNアルゴリズム(またはk近傍法)を使って、既存文書(セマンティック検索が関与するテキスト)のベクトルを、クエリのベクトルと照合します。次にセマンティック検索は結果を生成し、概念的な関連性に基づいてその結果をランク付けします。
- クエリが発せられたら、検索エンジンはそのクエリを埋め込みに変換(ベクトル化)します。すなわちデータと関連するコンテクストの数値表現に変換するのです。この値はベクトルで保管されます。
- 次にkNNアルゴリズム(またはk近傍法)を使って、既存文書(セマンティック検索が関与するテキスト)のベクトルを、クエリのベクトルと照合します。
- 次にセマンティック検索は結果を生成し、概念的な関連性に基づいてその結果をランク付けします。
コンテクスト
セマンティック検索においてコンテクストは、検索者の地理的所在地、クエリで使われている単語の文章における文脈、検索者の検索履歴に基づく文脈など、多くの追加情報を参照します。
セマンティック検索は、コンテクストの手がかりを活用して、大量の例からなるデータセットから単語の意味を判断します。セマンティック検索は、よく似たコンテクストで使用される他の単語も特定します。
例えば「soccer(サッカー)」という語を検索する場合、この語はアメリカでは"soccer(サッカー)"を、イギリスや世界の多くの国では"football(フットボール)"を意味しています。セマンティック検索はユーザーの地理的所在地に基づいて結果を区別します。
検索者の意図
セマンティック検索の役割はユーザー体験を改善することです。最も関連性の高い結果を出すために、ユーザーの意図を解釈してそのニーズを理解しています。情報を必要としていますか?何かを買わせようとしているのでしょうか?クエリとそのコンテクストに基づき、セマンティック検索は関連性の高い順に結果をランク付けします。
セマンティック検索は、最も高いスコアを得た結果を最初に、低いスコアの結果をずっと下位にランク付けするといった、クエリのカテゴライズ化設定により変更や改善を行うこともできます。
セマンティック検索とキーワード検索の比較
セマンティック検索とキーワード検索の違いとしては、キーワード検索が単語と単語、単語と同義語、単語と似た単語が一致する結果を返すのに対して、セマンティック検索はクエリ内の単語の意味の一致を探します。場合によっては、セマンティック検索では単語が直接一致した結果を出さないこともありますが、それはユーザーの意図には一致しています。
キーワード検索エンジンは同義語や単語の省略といった、クエリ拡張や緩和ツールを使用しています。また自然言語処理や、タイプミスの許容、トークン化、正規化といった理解を促進するツールも活用します。一方セマンティック検索は、ベクトル検索の活用によって意味が一致するクエリ結果を返すことができます。
たとえば"チョコレートミルク"について考えてみます。 セマンティック検索エンジンは"チョコレートミルク"と"ミルクチョコレート"を区別します。 クエリに含まれるキーワードは同じですが、そのキーワードの記述順序が意味に影響を与えます。人間は"ミルクチョコレート"とはチョコレートの1種であり、一方"チョコレートミルク"はチョコレート風味のミルクのことだと理解しています。
従来の検索エクスペリエンスの一歩先へ。Elasticのホワイトペーパーを読み、貴社のアプリケーションにセマンティック検索を導入するための最適なアプローチをご確認ください。
セマンティック検索が重要である理由は?
セマンティック検索が重要なのは、検索の地平を広げる可能性があるからです。セマンティック検索はベクトル検索を活用しているため、クエリのコンテクストと意図によって結果が得られるため、より直感的な検索体験が可能となります。
セマンティック検索のアルゴリズムは、コンバージョン率や直帰率などのさまざまな重要業績評価指標(KPI)を使って"学習"を続けるため、ユーザー満足度の向上に貢献します。
「Deep dive into 2024 technical search trends(2024年の技術的な検索トレンドを読み解く)」。こちらのウェビナーでは、ベストプラクティス、新たな手法、および2024年のトップトレンドが開発者に与える影響について解説していますので、ぜひご視聴ください。
セマンティック検索の例
セマンティック検索では、ユーザーの地理的情報、ユーザーの過去の検索履歴、ユーザーの意図に基づいて結果を提供します。
パーソナライゼーションは、検索者の以前の検索や対応を使用して、応答の関連性やランクを判断します。セマンティック検索はまた、引き出した応答に対して他のユーザーがどのように対応したかに基づいて、結果のランク付けを変更できます。例えば検索エンジンに「レストラン」と入力した場合、その近くのレストランを結果として出力します。
ユーザーの意図をより良く理解するセマンティック検索は、例えば「ル・クルーゼとストウブのダッチオーブン」といったクエリに対して、製品の比較を優先したコンテンツを応答します。それがユーザーの意図するところだからです。セマンティック検索は、購入を意図した際の「ストウブの最安値」や「ル・クルーゼの値引き」といった言葉の背後にある意図を認識し、それに従って応答します。
もうひとつの例として入力予測があります。クエリを検索バーに入力するとき、セマンティック検索を活用し、コンテクストや通常の検索、過去の検索履歴に基づいてクエリを完成させ、関連する検索用語を提案します。
セマンティック検索の利点
セマンティック検索は検索体験を向上させることで、企業やそのお客様に利益をもたらします。
お客様にとっての使いやすさ
お客様は専門用語を覚えていなかったり、特定の製品名を思い出せない場合があります。セマンティック検索により、お客様は曖昧な検索クエリを入力しても、具体的な結果を得ることができます。またお客様は、検索対象の名前を知らなくとも、その説明を入力すれば名前が分かります。例えばある曲の名前が分からない場合、知っている歌詞で検索すれば曲名が分かります。
セマンティック検索は意図とコンテクストを考慮して意味を解釈するので、お客様側の体験としては人間が対応しているかのように感じられます。
コンセプトはキーワードよりも強力
キーワードではなくコンセプトを一致させることで、セマンティック検索はより正確な結果を生み出します。多次元埋め込みにより、ベクトルは単語をコンセプトとして表現します。「車」はもはや「車」「自動車」だけに一致するだけでなく、「運転者」「保険」「タイヤ」「電動」「ハイブリッド」などにも一致します。これらの単語が「車」のベクトルに関連付けられているからです。
つまり、ベクトル検索を活用するセマンティック検索は、トークンが表すキーワードに単に一致するコンセプトを押し広げています。
事業に有利
ユーザーの意図を理解することで、セマンティック検索は売り上げと顧客満足度を高めることができます。ユーザーの意図には、情報提供、取引、指標、商業などがあります。意図を理解することで、検索エンジンはお客様のニーズにより適切に応えることができます。これでお客様とブランドとの関係性が改善され、ビジネスにも良い効果が得られます。
Elasticsearchでのセマンティック検索
Elasticsearchプラットフォームは、Elastic Learned Sparse EncodeR(ELSER)などのセマンティック検索モデルによる機械学習とAIソリューションを搭載しています。このNLPモデルはElasticが訓練したもので、簡単に導入できるツールでセマンティック検索ができます。
こちらの動画を見て、Elasticのゼロショットエンコーダーモデルのしくみと、それがAI検索アプリへのセマンティック検索の迅速な実装や生成AIエクスペリエンスに役立つ理由について学んでください。Elasticの機械学習モデルはトレーニング不要なので、コストと時間を節約できます。
次にやるべきこと
準備ができたら、ビジネスのデータから得られるインサイトを活用するための次の4つのステップに進みましょう。
- 無料トライアルを開始して、Elasticがビジネスにどのように役立つのかを実感してください。
- ソリューションのツアーで、Elasticsearchプラットフォームの仕組みと、ソリューションがニーズにフィットする仕組みを確認してください。
- 生成AIを企業に導入する方法を確認してください。
- 興味を持ってくれそうな人とこの記事を共有してください。メール、Twitter、Facebookで共有しましょう。