Main Content

word2vec

Map word to embedding vector

Description

M = word2vec(emb,words) returns the embedding vectors of words in the embedding emb. If a word is not in the embedding vocabulary, then the function returns a row of NaN values. The function, by default, is case sensitive.

example

M = word2vec(emb,words,'IgnoreCase',true) returns the embedding vectors of words ignoring case using any of the previous syntaxes. If multiple words in the embedding differ only in case, then the function returns the vector corresponding to one of them and does not return any particular vector.

Examples

collapse all

Load a pretrained word embedding using fastTextWordEmbedding. This function requires Text Analytics Toolbox™ Model for fastText English 16 Billion Token Word Embedding support package. If this support package is not installed, then the function provides a download link.

emb = fastTextWordEmbedding
emb = 
  wordEmbedding with properties:

     Dimension: 300
    Vocabulary: [1×1000000 string]

Map the words "Italy", "Rome", and "Paris" to vectors using word2vec.

italy = word2vec(emb,"Italy");
rome = word2vec(emb,"Rome");
paris = word2vec(emb,"Paris");

Map the vector italy - rome + paris to a word using vec2word.

word = vec2word(emb,italy - rome + paris)
word = 
"France"

Input Arguments

collapse all

Input word embedding, specified as a wordEmbedding object.

Input words, specified as a string vector, character vector, or cell array of character vectors. If you specify words as a character vector, then the function treats the argument as a single word.

Data Types: string | char | cell

Output Arguments

collapse all

Matrix of word embedding vectors.

Version History

Introduced in R2017b