Проекция векторов слов
Визуализация векторов слов на диаграмме рассеяния помогает понять, как группируются слова словаря. Чтобы визуализировать векторы слов, их необходимо спроецировать в двумерное пространство. Для этого можно выделить две главные компоненты с помощью метода главных компонент (PCA).
В этом упражнении вы потренируетесь извлекать векторы слов и проецировать их в двумерное пространство с помощью библиотеки PCA из sklearn.
Для работы доступны: короткий список слов, хранящихся в переменной words, и модель en_core_web_md, загруженная как nlp. Все необходимые библиотеки и пакеты уже импортированы (PCA, numpy как np).
Это упражнение является частью курса
Обработка естественного языка с помощью spaCy
Инструкции к упражнению
- Извлеките идентификаторы слов из списка
wordsи сохраните их в списокword_ids. - Извлеките первые пять элементов векторов слов, а затем объедините их по вертикали с помощью
np.vstack()и сохраните результат вword_vectors. - Используя объект
pca, вычислите преобразованные векторы слов с помощью метода.fit_transform()классаpca. - Выведите первую компоненту преобразованных векторов слов, используя индексацию
[:, 0].
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
words = ["tiger", "bird"]
# Extract word IDs of given words
word_ids = [nlp.____.____[w] for w in words]
# Extract word vectors and stack the first five elements vertically
word_vectors = np.vstack([nlp.____.____[i][:5] for i in word_ids])
# Calculate the transformed word vectors using the pca object
pca = PCA(n_components=2)
word_vectors_transformed = pca.____(____)
# Print the first component of the transformed word vectors
print(____[:, 0])