投稿日: Jul 29, 2020

Amazon Elasticsearch Service では、K近傍法 (k-NN) を使用したコサイン類似距離メトリクスのサポートを開始し、類似検索エンジンを強化します。コサイン類似度はサイズに関係なく 2 つのベクトル間の類似性を測定するために使用するもので、情報検索、画像認識、テキスト類似性、バイオインフォマティクス、推奨システムで最も一般的に利用されています。

Amazon Elasticsearch Service で k-NN 類似検索機能を追加しました。これは、数千の次元にわたりベクトルで表される数十億個のドキュメントに対して最近傍探索を実行します。k-NN の最初のリリースでは、ユークリッド距離を使ってベクトル間の類似度を測定しました。コサイン類似度は、同じ方向にある 2 つのベクトル間の角度のコサインを測定します。コサイン角度が小さいほど、ベクトル間の類似度が高くなります。コサイン類似度により、2 つのベクトル間の方向を測定できるようになりました。たとえば、bag-of-words を使用して長さが大きく異なる 2 つのドキュメントを比較するとしましょう。両ドキュメントで最も頻繁に使われた単語は「pet」で、大きいドキュメントで 300 回、他では 75 回表示されたとします。これらのドキュメント間のユークリッド距離はスケールが異なるために大きくなる可能性がありますが、コンテンツの向きが同じであるため、これらのドキュメントはコサイン類似度では類似していると見なすことができます。コサイン類似度を使用した k-NN 検索からの結果は、集計やフィルタリングなどの Elasticsearch の後処理機能を活用することで、精度をさらに向上させることができます。Elasticsearch の高度に分散したアーキテクチャを使用すると、高い再現性とパフォーマンスを備えたエンタープライズグレードのコサイン類似度ベースの検索エンジンを実装できます。

k-NN のコサイン類似検索は、軽量で効率性の高い非メトリック空間ライブラリ (NMSLIB) を使用して構築され、Elasticsearch の Apache 2.0 ライセンスディストリビューションである Open Distro for Elasticsearch を利用しています。Open Distro for Elasticsearch とその k-NN プラグインについての詳細は、プロジェクトのウェブサイトをご覧ください。

コサイン類似検索は Elasticsearch 7.7 を実行するドメインでご利用いただけます。詳細については、ドキュメントをご参照ください。

Amazon Elasticsearch Service のコサイン類似検索は、米国東部 (バージニア北部、オハイオ)、米国西部 (オレゴン、北カリフォルニア)、AWS GovCloud (米国東部、米国西部)、カナダ (中部)、南米 (サンパウロ)、欧州 (アイルランド、ロンドン、フランクフルト、パリ、ストックホルム、ミラノ)、アジアパシフィック (シンガポール、シドニー、東京、ソウル、ムンバイ、香港)、中東 (バーレーン) 、中国 (Sinnet により運営の北京および NWCD により運営の寧夏)、アフリカ (ケープタウン) の現在、世界 24 リージョンでご利用いただけます。Amazon Elasticsearch Service の提供状況についての詳細は、AWS リージョン表をご覧ください。