メインコンテンツ

documentEmbedding

R2026b

文書をベクトルにマッピングする文書埋め込みモデル

R2024a 以降

    説明

    文書埋め込みは、文書を実数ベクトルにマッピングします。

    このベクトルは、文書全体の意味内容を取得しようと試みます。そのため、文書の内容が似ている場合、得られるベクトルも似たものになります。文、段落、またはより長いテキストを文書として扱うことができます。

    作成

    documentEmbedding を使用して、事前学習済みの埋め込みから文書埋め込みを作成します。

    説明

    emb = documentEmbedding は、all-MiniLM-L6-v2 センテンス トランスフォーマー モデルを使用して文書埋め込みを返します。

    この関数には Deep Learning Toolbox™ が必要です。この構文には、Text Analytics Toolbox™ Model for all-MiniLM-L6-v2 Network サポート パッケージが必要です。

    例

    emb = documentEmbedding(Model=modelName) は、名前と値の引数 Model で指定された文書埋め込みモデルを返します。

    入力引数

    すべて展開する

    文書埋め込みモデル。次のいずれかの値として指定します。

    • "all-MiniLM-L6-v2"— 6 つの自己注意層をもつセンテンス トランスフォーマー モデル。このモデルは 1 行 384 列の埋め込みベクトルを出力します。このオプションには、Text Analytics Toolbox Model for all-MiniLM-L6-v2 Network サポート パッケージが必要です。

    • "all-MiniLM-L12-v2"— 12 個の自己注意層をもつセンテンス トランスフォーマー モデル。このモデルは 1 行 384 列の埋め込みベクトルを出力します。このオプションには、Text Analytics Toolbox Model for all-MiniLM-L12-v2 Network サポート パッケージが必要です。

    必要なサポート パッケージがインストールされていない場合、関数によってダウンロード用リンクが表示されます。

    この引数は ModelName プロパティを設定します。

    データ型: string

    プロパティ

    すべて展開する

    R2026b 以降

    このプロパティは、オブジェクト作成後、読み取り専用になります。

    文書埋め込みモデル。次のいずれかの値として指定します。

    • "all-MiniLM-L6-v2"— 6 つの自己注意層をもつセンテンス トランスフォーマー モデル。このモデルは 1 行 384 列の埋め込みベクトルを出力します。このオプションには、Text Analytics Toolbox Model for all-MiniLM-L6-v2 Network サポート パッケージが必要です。

    • "all-MiniLM-L12-v2"— 12 個の自己注意層をもつセンテンス トランスフォーマー モデル。このモデルは 1 行 384 列の埋め込みベクトルを出力します。このオプションには、Text Analytics Toolbox Model for all-MiniLM-L12-v2 Network サポート パッケージが必要です。

    データ型: string

    R2026b 以降

    この プロパティ は読み取り専用です。

    埋め込みベクトルの長さ。384 として指定します。

    一般的に、埋め込みベクトルの長さは埋め込みモデルによって決まります。documentEmbedding 関数がサポートする 2 つのモデルの両方で、埋め込みベクトルの長さは 384 です。

    オブジェクト関数

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

    例

    すべて折りたたむ

    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
    
    

    参照

    [1] Reimers, Nils, and Iryna Gurevych. "Sentence-BERT: Sentence Embeddings Using Siamese BERT-Networks" Preprint, submitted August 27, 2019. https://doi.org/10.48550/arXiv.1908.10084.

    バージョン履歴

    R2024a で導入

    すべて展開する