fastTextWordEmbedding
事前学習済みの fastText 単語埋め込み
説明
例
fastText サポート パッケージのダウンロード
Text Analytics Toolbox Model for fastText English 16 Billion Token Word Embedding サポート パッケージをダウンロードしてインストールします。
コマンド ラインで fastTextWordEmbedding
と入力します。
fastTextWordEmbedding
Text Analytics Toolbox Model for fastText English 16 Billion Token Word Embedding サポート パッケージがインストールされていない場合、関数によってアドオン エクスプローラーに必要なサポート パッケージへのリンクが表示されます。サポート パッケージをインストールするには、リンクをクリックして、[インストール] をクリックします。コマンド ラインで emb = fastTextWordEmbedding
と入力して、インストールが正常に終了していることを確認します。
emb = fastTextWordEmbedding
emb = wordEmbedding with properties: Dimension: 300 Vocabulary: [1×1000000 string]
必要なサポート パッケージがインストールされている場合、関数によって wordEmbedding
オブジェクトが返されます。
ベクトルへの単語のマッピングとその逆変換
fastTextWordEmbedding
を使用して、事前学習済みの単語埋め込みを読み込みます。この関数には、Text Analytics Toolbox™ Model for fastText English 16 Billion Token Word Embedding サポート パッケージが必要です。このサポート パッケージがインストールされていない場合、関数によってダウンロード用リンクが表示されます。
emb = fastTextWordEmbedding
emb = wordEmbedding with properties: Dimension: 300 Vocabulary: [1×1000000 string]
word2vec
を使用して、"Italy"、"Rome"、および "Paris" という単語をベクトルにマッピングします。
italy = word2vec(emb,"Italy"); rome = word2vec(emb,"Rome"); paris = word2vec(emb,"Paris");
vec2word
を使用して、ベクトル italy - rome + paris
を単語にマッピングします。
word = vec2word(emb,italy - rome + paris)
word = "France"
単語ベクトルのシーケンスへの文書の変換
事前学習済みの単語埋め込みを使用して、トークン化された文書の配列を単語ベクトルのシーケンスに変換します。
関数 fastTextWordEmbedding
を使用して、事前学習済みの単語埋め込みを読み込みます。この関数には、Text Analytics Toolbox™ Model for fastText English 16 Billion Token Word Embedding サポート パッケージが必要です。このサポート パッケージがインストールされていない場合、関数によってダウンロード用リンクが表示されます。
emb = fastTextWordEmbedding;
工場レポート データを読み込み、tokenizedDocument
配列を作成します。
filename = "factoryReports.csv"; data = readtable(filename,'TextType','string'); textData = data.Description; documents = tokenizedDocument(textData);
doc2sequence
を使用して、文書を単語ベクトルのシーケンスに変換します。既定では、関数 doc2sequence
はシーケンスを左にパディングして同じ長さになるようにします。高次元の単語埋め込みを使用して文書の大規模なコレクションを変換する場合、パディングのために大量のメモリが必要になる場合があります。関数がデータをパディングしないようにするには、'PaddingDirection'
オプションを 'none'
に設定します。あるいは、'Length'
オプションを使用してパディングの量を制御できます。
sequences = doc2sequence(emb,documents,'PaddingDirection','none');
最初の 10 個のシーケンスのサイズを表示します。各シーケンスは D 行 S 列の行列です。ここで、D は埋め込み次元、S はシーケンス内の単語ベクトルの数です。
sequences(1:10)
ans=10×1 cell array
{300×10 single}
{300×11 single}
{300×11 single}
{300×6 single}
{300×5 single}
{300×10 single}
{300×8 single}
{300×9 single}
{300×7 single}
{300×13 single}
出力引数
emb
— 事前学習済みの単語埋め込み
wordEmbedding
オブジェクト
事前学習済みの単語埋め込み。wordEmbedding
オブジェクトとして返されます。
バージョン履歴
R2018a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)