メインコンテンツ

embed

埋め込みベクトルへの文書のマッピング

R2024a 以降

    説明

    M = embed(emb,documents) は、埋め込み emb 内の documents の埋め込みベクトルを返します。

    M = embed(emb,documents,Name=Value) は、1 つ以上の名前と値の引数で指定された追加オプションを適用して埋め込みベクトルを返します。

    すべて折りたたむ

    documentEmbedding 関数を使用して、事前学習済みの文書埋め込み all-MiniLM-L6-v2 を読み込みます。このモデルには、Text Analytics Toolbox™ Model for all-MiniLM-L6-v2 Network サポート パッケージが必要です。このサポート パッケージがインストールされていない場合、関数によってダウンロード用リンクが表示されます。

    emb = documentEmbedding;

    入力文書の配列を作成します。

    documents = [
        "the quick brown fox jumped over the lazy dog"
        "the fast brown fox jumped over the lazy dog"
        "the lazy dog sat there and did nothing"];

    embed 関数を使用して、入力文書をベクトルにマッピングします。

    embeddedDocuments = embed(emb,documents);

    文書の類似度を推定するには、cosineSimilarity を使用してペア単位のコサイン類似度を計算します。

    similarities = cosineSimilarity(embeddedDocuments)
    similarities = 3×3
    
        1.0000    0.9840    0.5505
        0.9840    1.0000    0.5524
        0.5505    0.5524    1.0000
    
    

    入力引数

    すべて折りたたむ

    入力文書埋め込み。documentEmbedding オブジェクトとして指定します。

    入力文書。tokenizedDocument 配列、文書の string 配列、または文字ベクトルの cell 配列として指定します。documents が string 配列の場合、各 string は文書を表します。documents が文字ベクトルの cell 配列の場合、各文字ベクトルは文書を表します。

    名前と値の引数

    すべて折りたたむ

    オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

    例: embed(emb,documents,MiniBatchSize=64) は、サイズ 64 のミニバッチを使用して、指定された文書を埋め込みます。

    埋め込みに使用するミニバッチのサイズ。正の整数として指定します。ミニバッチのサイズが大きくなるとより多くのメモリが必要になりますが、処理が速くなる可能性があります。

    データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    パフォーマンスの最適化。次のいずれかの値として指定します。

    • "auto" — 入力ネットワークとハードウェア リソースに適した最適化の回数を自動的に適用します。

    • "mex" — MEX 関数をコンパイルして実行します。このオプションは GPU の使用時にのみ利用できます。GPU を使用するには Parallel Computing Toolbox™ ライセンスとサポートされている GPU デバイスが必要です。サポートされているデバイスの詳細については、GPU 計算の要件 (Parallel Computing Toolbox)を参照してください。Parallel Computing Toolbox または適切な GPU が利用できない場合、エラーが返されます。

    • "none" — すべての高速化を無効にします。

    "auto" オプションまたは "mex" オプションを使用した場合、ソフトウェアはパフォーマンス上のメリットを提供しますが、初期実行時間が長くなります。関数のそれ以降の呼び出しでは、通常、より高速になります。異なる入力データを使用して関数を複数回呼び出す場合は、パフォーマンスの最適化を使用してください。

    Acceleration"mex" の場合、ソフトウェアは、関数の呼び出しで指定したモデルとパラメーターに基づいて MEX 関数を生成し、実行します。1 つのモデルに一度に複数の MEX 関数を関連付けることができます。モデルの変数をクリアすると、そのモデルに関連付けられている MEX 関数もクリアされます。

    Acceleration"auto" の場合、ソフトウェアは MEX 関数を生成しません。

    "mex" オプションは GPU の使用時にのみ利用できます。C/C++ コンパイラがインストールされ、GPU Coder™ Interface for Deep Learning サポート パッケージがなければなりません。MATLAB® でアドオン エクスプローラーを使用してサポート パッケージをインストールします。設定手順については、コンパイラの設定 (GPU Coder)を参照してください。GPU Coder は不要です。

    "mex" オプションを使用する場合、MATLAB Compiler™ ソフトウェアはモデルのコンパイルをサポートしません。

    ハードウェア リソース。次のいずれかの値として指定します。

    • "auto" — 利用可能な場合、GPU を使用します。そうでない場合、CPU を使用します。

    • "gpu" — GPU を使用します。GPU を使用するには Parallel Computing Toolbox ライセンスとサポートされている GPU デバイスが必要です。サポートされているデバイスの詳細については、GPU 計算の要件 (Parallel Computing Toolbox)を参照してください。Parallel Computing Toolbox または適切な GPU が利用できない場合、エラーが返されます。

    • "cpu" — CPU を使用します。

    出力引数

    すべて折りたたむ

    文書埋め込みベクトル。N1N2 列の行列として返されます。ここで、M(i,:) は、documentsi 番目の文書の埋め込みベクトルです。

    バージョン履歴

    R2024a で導入