vec2word

Сопоставьте вектор встраивания со словом

Синтаксис

words = vec2word(emb,M)
[words,dist] = vec2word(emb,M)
___ = vec2word(emb,M,k)
___ = vec2word(___,'Distance',distance)

Описание

пример

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

пример

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

пример

___ = vec2word(emb,M,k) возвращает главный k самые близкие слова.

пример

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

Примеры

свернуть все

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

emb = fastTextWordEmbedding
emb = 
  wordEmbedding with properties:

     Dimension: 300
    Vocabulary: [1×1000000 string]

Сопоставьте слова "Italy", "Рим" и "Париж" к векторам с помощью 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™ для fastText английских 16 миллиардов Лексем пакет поддержки Word Embedding. Если этот пакет поддержки не установлен, то функция обеспечивает ссылку на загрузку.

emb = fastTextWordEmbedding;

Сопоставьте слова "Italy", "Рим" и "Париж" к векторам с помощью 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.

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

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

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

свернуть все

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

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

Введенный в R2017b