Проєкція векторів слів
Ви можете візуалізувати вектори слів на точковій діаграмі, щоб побачити, як згруповано слова зі словника. Щоб візуалізувати вектори, їх потрібно спроєктувати у двовимірний простір. Це можна зробити, виділивши дві головні компоненти за допомогою Analізу головних компонент (PCA).
У цій вправі ви потренуєтеся витягати вектори слів і проєктувати їх у двовимірний простір, використовуючи бібліотеку PCA з sklearn.
Короткий список слів збережено у списку words, а також доступна модель en_core_web_md. Модель завантажено як nlp. Усі потрібні бібліотеки та пакети вже імпортовано (PCA, numpy як np).
Ця вправа є частиною курсу
Обробка природної мови (NLP) зі spaCy
Інструкції до вправи
- Витягніть ідентифікатори слів для заданих слів і збережіть їх у списку
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])