Встраивания: интерактивные упражнения

Представленный ниже виджет, в котором используется сервис Embedding Projector от TensorFlow, проецирует 10 000 статических векторов модели word2vec в трехмерное пространство. Полученная при сокращении измерений визуализация неточна, так как слова, находящиеся близко друг к другу в исходном высокоразмерном пространстве, в трехмерном представлении могут оказаться разнесены. Наиболее близко расположенные n слов отмечены пурпурным цветом. Значение n можно ввести в поле Isolate __ points. Эти ближайшие слова перечислены на боковой панели справа.

В следующих заданиях вам предлагается поэкспериментировать с эмбеддингами word2vec в виджете.

Задание 1

Для групп ниже найдите 20 слов, расположенных ближе всего к каждому слову из группы, и обратите внимание на то, где они располагаются в облаке.

  • iii, third и three.
  • tao и way.
  • orange, yellow и juice.

О чем говорят эти результаты?

Нажмите, чтобы посмотреть наш вариант ответа

Хотя слова iii, third и three семантически схожи, они используются в разных контекстах и в этом пространстве эмбеддинга находятся вдали друг от друга. В модели word2vec слово iii ближе к iv, чем к third.

Аналогично, хотя слово way является прямым переводом слова tao, в используемом наборе данных они чаще всего встречаются в окружении совершенно разных групп слов, поэтому их векторные представления находятся очень далеко друг от друга.

Несколько ближайших соседей слова orange представляют собой цвета, но juice и peel, которые относятся к слову orange в значении "фрукт", расположены на 14-м и 18-м месте по близости. В то же время слово prince, встречающееся, например, во фразе Prince of Orange, находится на 17-м месте. В визуализации ближе всего к orange расположено слово yellow и другие обозначения цветов. В то же время orange не входит в список ближайших соседей слова juice.

Задание 2

Выясните некоторые особенности данных, использованных для обучения. Например, найдите 100 слов, расположенных ближе всего к перечисленным ниже, и обратите внимание на то, где они располагаются в облаке.

  • boston, paris, tokyo, delhi, moscow и seoul (это вопрос с подвохом).
  • jane, sarah, john, peter, rosa и juan.

Нажмите, чтобы посмотреть наш вариант ответа

Многие слова, находящиеся ближе всего к слову boston, обозначают другие города США, а соседи слова paris – города Европы. Для слов tokyo и delhi результаты иные: одно ассоциируется с туристическими центрами по всему миру, другое – со словом india и прочими, связанными с ним. Слова seoul вообще нет в этом усеченном наборе векторов слов.

Судя по всему, этот набор данных содержит много документов, относящихся к географии США, некоторое количество сведений о европейской географии и совсем мало информации о других странах и регионах.

Точно так же в нем, по-видимому, представлено множество мужских и некоторое число женских англоязычных имен и совсем мало имен из других языков. Обратите внимание, что scrooge и mcduck здесь – ближайшие соседи слова rosa, вероятно из-за того, что Дон Роса работал над комиксом о Скрудже Макдаке для Disney.

Готовый набор векторов слов, предлагаемый word2vec, был получен в результате обучения модели на статьях Google Новостей, вышедших не позже 2013 года.

Задание 3

Эмбеддинги могут использоваться не только для слов. Изображения, аудио и другие данные также могут быть представлены в векторном виде. Чтобы выполнить это задание, сделайте следующее:

  1. Откройте Embedding Projector от TensorFlow.
  2. На левой боковой панели Data выберите набор данных Mnist with images. Вы увидите проекцию эмбеддингов из MNIST – базы данных изображений рукописных цифр.
  3. Нажмите, чтобы остановить вращение, и выберите одно изображение. Если нужно, приблизьте или отдалите визуализацию.
  4. Взгляните на список ближайших соседей выбранного изображения на правой боковой панели. Видите что-то неожиданное?
  • Почему среди ближайших к 7 изображений есть цифры 1, а в соседях у 8 – цифры 9?
  • Есть ли какие-то отличия между цифрами, расположенными на краю визуализированного пространства и в его центре?

Помните, что для созданий эмбеддингов в этой модели используются данные пиксельных изображений и для каждого из них подбирается векторное числовое представление. Модель не может автоматически ассоциировать рукописное изображение цифры с самой цифрой.

Нажмите, чтобы посмотреть наш вариант ответа

Из-за схожести формы векторные представления некоторых наиболее тонких и узких цифр 7 размещены ближе к векторам рукописных цифр 1. То же самое происходит с некоторыми цифрами 8 и 9, а также некоторыми 5 и 3.

Модель лучше распознаёт рукописные цифры, находящиеся ближе к краю трехмерной проекции, и более точно определяет их возможные значения.