exponenta event banner

vec2word

Отображение вектора встраивания в слово

Описание

пример

words = vec2word(emb,M) возвращает самые близкие слова к векторам внедрения в строках M.

пример

[words,dist] = vec2word(emb,M) возвращает самые близкие слова к векторам внедрения в Mи возвращает расстояния dist от каждого к их исходному вектору.

пример

___ = vec2word(emb,M,k) возвращает верхнюю часть k ближайшие слова.

пример

___ = vec2word(___,'Distance',distance) задает метрику расстояния.

Примеры

свернуть все

Загрузить предварительно подготовленное вложение слов с помощью fastTextWordEmbedding. Для выполнения этой функции требуется модель Text Analytics Toolbox™ для пакета поддержки внедрения Token Word на английском языке на 16 миллиардов. Если этот пакет поддержки не установлен, функция предоставляет ссылку для загрузки.

emb = fastTextWordEmbedding
emb = 
  wordEmbedding with properties:

     Dimension: 300
    Vocabulary: [1×1000000 string]

Отображение слов «Италия», «Рим» и «Париж» на векторы с использованием word2vec.

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

Отображение вектора italy - rome + paris к слову, использующему vec2word.

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

Найдите пять самых близких слов к вектору встраивания слов и их расстояний.

Загрузить предварительно подготовленное вложение слов с помощью fastTextWordEmbedding. Для выполнения этой функции требуется модель Text Analytics Toolbox™ для пакета поддержки внедрения Token Word на английском языке на 16 миллиардов. Если этот пакет поддержки не установлен, функция предоставляет ссылку для загрузки.

emb = fastTextWordEmbedding;

Сопоставьте слова «Италия», «Рим» и «Париж» с векторами, использующими слова word2vec.

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

Отображение вектора italy - rome + paris к слову, использующему vec2word. Найдите первые пять ближайших слов с помощью евклидовой метрики расстояния.

k = 5;
M = italy - rome + paris;
[words,dist] = vec2word(emb,M,k,'Distance','euclidean');

Постройте график слов и расстояний на гистограмме.

figure;
bar(dist)
xticklabels(words)
xlabel("Word")
ylabel("Distance")
title("Distances to Vector")

Входные аргументы

свернуть все

Встраивание входного слова, указанное как wordEmbedding объект.

Векторы встраивания слов, заданные как матрица. Каждая строка M является вектором внедрения слова. M должен иметь emb.Dimension столбцы.

Число ближайших слов для возврата, указанное как положительное целое число.

Метрика расстояния, указанная как 'cosine' или 'euclidean'.

Выходные аргументы

свернуть все

Выходные слова, возвращаемые в виде строкового вектора.

Расстояние слов до их исходных векторов, возвращаемое как вектор.

Представлен в R2017b