You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何绘制两端标注HE与SHE的词嵌入可视化图表

词嵌入降维后分布可视化实现步骤

假设你已经完成PCA降维,得到了shape为(N,2)的降维后数组,同时持有对应N个词汇的标签列表,可按以下步骤实现绘图:

依赖库准备

提前安装以下Python库即可:

  • numpy:用于基础数据处理
  • matplotlib:用于绘图输出
  • 若需要更美观的预设样式可额外安装seaborn

具体实现代码

import numpy as np
import matplotlib.pyplot as plt

# 以下数据替换为你的实际数据即可
# pca_result:PCA降维后得到的二维数组,每个元素对应一个词的二维坐标
# word_list:和pca_result一一对应,存储每个坐标对应的词汇文本
pca_result = np.array([[1.2, 0.5], [-0.3, 2.1], [1.5, -0.8], [-1.1, -0.7]])
word_list = ["国王", "王后", "男人", "女人"]

# 初始化画布,可自行调整尺寸和分辨率
plt.figure(figsize=(12, 8), dpi=100)

# 绘制所有词的散点
plt.scatter(pca_result[:, 0], pca_result[:, 1], c='steelblue', s=50, alpha=0.7)

# 为每个散点添加对应的词汇标签
for i, word in enumerate(word_list):
    plt.annotate(word, 
                 xy=(pca_result[i, 0], pca_result[i, 1]),
                 xytext=(5, 2), # 标签相对于散点的偏移量,避免和点重叠
                 textcoords='offset points',
                 fontsize=10,
                 color='darkslategray')

# 配置图表样式
plt.xlabel('PCA 第一主成分', fontsize=12)
plt.ylabel('PCA 第二主成分', fontsize=12)
plt.title('词嵌入二维分布可视化', fontsize=15)
plt.grid(alpha=0.3, linestyle='--')
# 可选操作:移除上下右边框让样式更清爽
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['right'].set_visible(False)

plt.show()

常见场景调整说明

  • 若词汇量太大导致标签重叠,可适当调小fontsize参数,或者仅筛选标注你关注的核心词汇,过滤低频/非重点词汇
  • 若需要给不同类别的词汇标注不同颜色,可给c参数传入和点数量一致的颜色标签列表,还可额外添加图例区分不同类别
  • 散点的大小、透明度可通过调整s和alpha参数适配你的数据量和显示需求

内容的提问来源于stack exchange,提问作者Dalireeza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 15:54:05