テキスト エンベディングの概要

エンベディングは、テキスト、画像、動画の数値表現であり、入力間の関係をとらえます。ML モデル(特に生成 AI モデル)は、大規模なデータセット内のパターンを識別してエンベディングを作成することに適しています。アプリケーションでは、言語を処理および生成するためにエンベディングを使用して、コンテンツに固有の複雑な意味とセマンティックな関係を認識できます。

Google Distributed Cloud(GDC)エアギャップ上の Vertex AI は、英語と多言語のテキスト入力用の Text Embedding API をサポートしています。テキスト エンベディングは、テキストをベクトルと呼ばれる浮動小数点数の配列に変換することで機能します。こうしたベクトルは、テキストの意味を捉えるように設計されています。エンベディング配列の長さは、ベクトルの次元数と呼ばれます。たとえば、テキストの一節は、数百の次元を含むベクトルで表せます。次に、2 つのテキストのベクトル表現間の数値的な距離を計算することで、アプリケーションでオブジェクト間の類似性を判断できます。

サポートされているモデルの一覧については、エンベディング モデルをご覧ください。

サポートされている多言語の一覧については、サポートされているテキスト エンベディング言語をご覧ください。

テキスト エンベディングのユースケース

テキスト エンベディングの一般的なユースケースは次のとおりです。

  • セマンティック検索: 意味的類似性によってランク付けされたテキストを検索します。
  • 分類: 指定されたテキストと類似する属性を持つアイテムのクラスを返します。
  • クラスタリング: 指定したテキストと類似したテキスト属性を持つアイテムをクラスタ化します。
  • 外れ値検出: テキスト属性が指定されたテキストとの関連性が最も低いアイテムを返します。
  • 会話インターフェース: 会話レベルのエンベディング空間など、類似のレスポンスにつながる可能性のある文グループをクラスタ化します。

ユースケースの例: 本をおすすめする chatbot を開発する

本をおすすめする chatbot を開発する場合は、まず、ディープ ニューラル ネットワーク(DNN)を使用して、それぞれの本をエンベディング ベクトルに変換します。1 つのエンベディング ベクトルが 1 冊の本を表します。書籍のタイトルまたはテキスト コンテンツを DNN への入力としてフィードできます。また、この両方とジャンルなど書籍を説明する他のメタデータを併用することもできます。

この例のエンベディングには、数千冊の書籍のタイトル、概要、ジャンルが含まれる可能性があります。たとえば、エミリー・ブロンテの『嵐が丘』とジェーン・オースティンの『説得』の表現が互いに類似している(数値表現間の距離が小さい)場合があります。一方、F. スコット フィッツジェラルドの「華麗なるギャツビー」の数値表現は、Scott Fitzgerald」という書籍の数値的な表現は、時代やジャンル、要約が似ていないため、距離が遠くなります。

入力は、エンベディング空間の向きに影響を与えます。たとえば、入力が書籍のタイトルのみの場合、タイトルは似ていても要約が大きく異なる 2 つの書籍が近い状態になる可能性があります。ただし、入力にタイトルと要約を含めると、これらの書籍はエンベディング空間では類似性が低くなります。

この chatbot は生成 AI と連携して、クエリに基づいて書籍の要約を生成し、ユーザーが関心を持ちそうな(または好みでないような)書籍を提案します。

次のステップ