词向量投影
您可以在散点图中可视化词向量,以帮助理解词汇在向量空间中的聚类情况。要进行可视化,需要将词向量投影到二维空间。您可以通过主成分分析(PCA)提取前两个主成分来完成投影。
在本练习中,您将练习如何提取词向量,并使用 sklearn 中的 PCA 将其投影到二维空间。
words 列表中提供了一小组单词,另有 en_core_web_md 模型可用,已加载为 nlp。所有必要的库和包也已为您导入(PCA,以及将 numpy 导入为 np)。
本练习是课程的一部分
使用 spaCy 的自然语言处理
练习说明
- 从给定单词中提取词 ID,并将其存入列表
word_ids。 - 提取这些单词词向量的前 5 个元素,然后使用
np.vstack()纵向堆叠,存入word_vectors。 - 给定一个
pca对象,使用pca类的.fit_transform()函数计算转换后的词向量。 - 使用
[:, 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])