検索会社が検索と AI の仕組みを説明しているのを聞くと、混乱する可能性があります。 Bing は大規模な言語モデル (LLM) を使用する ChatGPT を追加しましたが、それ以前からディープ ラーニング機能を備えていました。 Google は最近、新しい画像検索機能と独自の LLM サービスを発表しました。 Algolia では、ニューラル ハッシュを使用してあらゆるアプリケーションのインテリジェントな検索をスケーリングする独自の AI 搭載テクノロジも導入しようとしています。これらの用語はすべて混乱を招く可能性があります。
検索に関連するテクノロジーを分解して、それを修正しましょう。
キーワード検索エンジンは何十年も前から存在しています。 Apache Lucene プロジェクトは、キーワード検索機能を提供する最も有名なオープン ソース検索エンジンの 1 つです。このタイプの検索エンジンは、統計的手法を使用してクエリをインデックス内の項目と照合します。それらは、情報のある本のすべての場所を指すことによって、本の後ろにある索引のように機能します。タイポトレランス、単語の分割、ステミングなどのクエリ処理技術も、検索エンジンがスペルやクエリを理解して理解できるようにするために使用されます。
キーワード検索は非常に高速になる傾向があり、クエリとキーワードが完全に一致する場合にうまく機能します。ただし、ロングテール クエリ、概念検索、質問形式の検索、同義語、およびクエリがインデックス内のコンテンツと正確に一致しないその他のフレーズに苦労することがよくあります。このため、多くの企業が AI シノニム生成などの追加機能を追加して支援しています。
セマンティック検索には、検索クエリ内の単語やフレーズの意味を理解し、意味的にクエリに関連する結果を返すことが含まれます。セマンティック検索エンジンは、自然言語処理 (NLP) 技術を使用して、単語やフレーズの意味を理解し、関連する概念、同義語、および検索クエリに関連する可能性のあるその他の関連情報を見つけます。
AI 検索は、検索結果を提供するためのセマンティック検索やその他の機械学習技術を含む一般的で広い用語です。通常、AI 検索には、クエリの処理、検索、ランキングなど、いくつかの手順が含まれます。
クエリ処理: このステップでは、ユーザーのクエリを分析して、その意図、範囲、および制約を理解します。クエリ処理には、クエリをその構成部分に解析する、キーワードやフレーズの意味を理解する、クエリを標準形式に正規化するなどのタスクが含まれる場合があります。
取得: クエリが処理されると、システムはクエリ基準に一致する一連のドキュメントまたはデータ項目を取得します。 AI 検索は通常、機械学習アルゴリズムを使用して類似性を判断し、用語間の関連性を測定して、関連性のある結果を提供します。
ランキング: ドキュメントまたはデータ項目が取得された後、システムはユーザーのクエリとの関連性と重要性に基づいてそれらをランク付けします。強化学習などのランク付け学習モデルを使用して、結果を継続的に最適化します。
OpenAI の ChatGPT、Google の Bard、Midjourney などの類似の AI テクノロジは、ジェネレーティブ AIと呼ばれるものです。これらの汎用ソリューションは、入力に基づいて結果を予測しようとし、実際に新しい応答を生成します。既存のテキストやビジュアル コンテンツを使用して、新しいものを生成します。
一方、検索エンジンは AI を使用して検索結果を改善できます。生成 AI と同様に、検索 AI を使用して自然言語入力を理解することができます。ジェネレーティブ AI とは異なり、検索エンジンは新しい斬新なコンテンツを作成しません。両方のテクノロジを一緒に使用することも、個別に使用することもできます。ジェネレーティブ AI テクノロジを使用して創造的な出力を支援でき、検索を使用して結果をフィルタリングおよびランク付けできます。新しいファッションのアイデアを探している人は、チャット ボットに最新のトレンドを尋ねて結果を取得し、検索を使用して結果を見つけることができます。または、検索を使用して製品を見つけ、チャットで各結果の長所と短所を説明するように依頼することもできます。
ジェネレーティブ チャット AI と検索 AI はどちらも、自然言語を理解することで、より優れたユーザー エクスペリエンスを提供することがよくあります。
大規模言語モデル (LLM) が登場してからしばらく経ちますが、GPT が注目を集めています。 LLM は、自然言語テキストを処理および生成するようにトレーニングされた人工知能モデルです。これらのモデルは通常、ディープ ラーニング技術を使用して構築され、トレーニングには膨大な量のデータと計算リソースが必要です。 Algolia でも LLM を使用していますが、これは機械の理解を助けるためです。 LLM を使用して、クエリを結果と比較するために使用できるベクトルを作成します。
ベクトル化とは、単語をベクトル (数値) に変換するプロセスです。これにより、単語の意味をエンコードして数学的に処理することができます。ベクトルは、何かを表す数値のグループと考えることができます。実際には、ベクトルは同義語の自動化、ドキュメントのクラスタリング、クエリ内の特定の意味と意図の検出、および結果のランク付けに使用されます。埋め込みは非常に用途が広く、ドキュメント全体、画像、ビデオ、オーディオなどの他のオブジェクトも埋め込むことができます。
ベクター検索は、単語の埋め込み (または画像、ビデオ、ドキュメントなど) を使用して、インデックス内のオブジェクト間の意味関係を検出する機械学習モデルを使用して、類似した特性を持つ関連オブジェクトを見つける方法です。
ベクトルの類似性を計算するためのさまざまな近似最近傍 (ANN) アルゴリズムがあります。 HNSW (Hierarchical Navigable Small World)、IVF (Inverted File)、または PQ (Product Quantization、ベクトルの次元数を削減する手法) などの手法は、ベクトル間の類似性を見つけるための最も一般的な ANN 手法の一部です。各手法は、PQ によるメモリ削減や、HNSW および IVF による高速で正確な検索時間など、特定のパフォーマンス プロパティの改善に重点を置いています。特定のユースケースで最適なパフォーマンスを実現するために、複数のコンポーネントを組み合わせて「複合」インデックスを生成するのが一般的です。
ベクトルを扱う際の課題の 1 つは、そのサイズです。それらは、特殊なデータベースと GPU 管理を必要とする非常に大きな文字列になる傾向があります。ニューラル ハッシュは、ニューラル ネットワークを使用してベクトルを圧縮する新しいプロセスです。これにより、標準のベクトル計算よりも最大 500 倍高速に処理でき、コモディティ ハードウェアで実行できます。
ハイブリッド検索は、ベクトル検索とキーワード検索を組み合わせたものです。ベクトル検索は、あいまいな検索や広範な検索には優れていますが、正確なクエリには依然としてキーワード検索が支配的です。たとえば、キーワード エンジンで「Adidas」をクエリすると、デフォルトでは Adidas ブランドのみが表示されます。ベクター エンジンの既定の動作では、似たような結果 (Nike、Puma、Adidas など) が返されます。これらはすべて同じ概念空間にあるためです。キーワード検索は、特定の意図を持つ短いクエリに対してより良い結果を提供します。
ハイブリッド検索は、完全一致と単純なフレーズの速度と精度を提供する両方の単語の長所を提供しますが、ベクトルはロングテール クエリを改善し、新しい検索ソリューションへの扉を開きます。 Algolia では、ハイブリッド AI ソリューションである Algolia NeuralSearch が間もなく登場します。詳細をご覧ください。
ここにも掲載されています。