Embedding 的数学特性与可视化解析

一、向量空间的可视化解码

1.1 GloVe 词向量实例

取词向量维度 d = 50 d=50 d=50 的 GloVe 嵌入示例:

python 复制代码
king_vec = [[0.50451, 0.68607, -0.59517, -0.022801, 0.60046, -0.13498, -0.08813, 0.47377, -0.61798, -0.31012, -0.076666, 1.493, -0.034189, -0.98173, 0.68229, 0.81722, -0.51874, -0.31503, -0.55809, 0.66421, 0.1961, -0.13495, -0.11476, -0.30344, 0.41177, -2.223, -1.0756, -1.0783, -0.34354, 0.33505, 1.9927, -0.04234, -0.64319, 0.71125, 0.49159, 0.16754, 0.34344, -0.25663, -0.8523, 0.1661, 0.40102, 1.1685, -1.0137, -0.21585, -0.15155, 0.78321, -0.91241, -1.6106, -0.64426, -0.51042]
]  # 50维向量

资料推荐

1.2 矩阵热力图编码

采用分段颜色映射策略:

数值范围:[−2,2]

颜色映射:蓝色(-2)→ 白色(0)→ 红色(+2)

我们忽略数字仅查看颜色,并且将"King"与其他单词进行比较(King 国王、Man 男人、Woman 女人):

从色块分布图中,可以很容易的看出 King、Man、Woman 这三组向量的结构其实非常接近,色块颜色非常集中,这是否能意味着国王、男人、女人这三个词之间是具有强关联甚至是子集的因果关系。

接下来看下另外一个示例列表,这个示例展示了更多单词的向量分布的规律:

在这张分布图中也可以轻松看出一些信息:

  1. 这几个单词的词向量在中间都有一条直的红色列,代表它们在这个维度上是相似的,但是从数值来看我们看不出这个维度是什么。
  2. woman 和 girl 在很多地方都是相似的,man 和 boy 也一样。
  3. girl 和 boy 也有一些彼此相似的地方,但这些和 woman/girl 不同,这些差异是否可以总结出"年龄"这个维度?
  4. 上面的单词中,除了 water 其他的都和人相关,并且向量的倒数第三个元素是一个蓝色的色块,来到 water 这里却消失了。
  5. king 和 queen 非常接近,但是存在一些比较明显的差异,这部分差异是否能体现出"性别"这个维度?

除了单个词的向量能展示出一些有意思的信息,对向量进行 加减乘除 也能得到一些有意思的结果。在 NLP 界有一个非常著名的公式:

python 复制代码
Queen = King - Man + Woman
女王 = 国王 - 男人 + 女人

对这几个向量进行运算后,同样可视化出来,结果如下:

你会发现 king-man+woman 和 queen 的向量特征分布非常接近,也是 GloVe 集合中 40w 个字嵌入中最接近它的词。
资料推荐

这一个示例虽然不一定是一个正确的思路,但是从这个示例中仍然可以看到将对应的词转换成 Embedding 向量后,嵌入模型能够捕捉到数据的语义信息,并且语义上相近的词在向量空间中也会相近,这也为语义搜索提供了一个可能。

相关推荐
Csvn20 小时前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
行乾20 小时前
鸿蒙端 IMSDK 架构探索
架构·harmonyos
石小石Orz20 小时前
油猴脚本实现生产环境加载本地qiankun子应用
前端·架构
若风的雨20 小时前
【deepseek】RISC-V 的CSR寄存器详解
架构
ZHENGZJM1 天前
架构总览:Monorepo 结构与容器化部署
架构·go·react·全栈开发
搜佛说1 天前
比SQLite更快,比InfluxDB更轻:sfsDb的降维打击
jvm·数据库·物联网·架构·sqlite·边缘计算·iot
提子拌饭1331 天前
昼夜节律下的肝脏代谢清除率演算仪:基于鸿蒙Flutter的双路流场与酶解粒子对照架构
flutter·华为·架构·harmonyos·鸿蒙
deephub1 天前
向量数据库对比:Pinecone、Chroma、Weaviate 的架构与适用场景
人工智能·python·大语言模型·embedding·向量检索
SuperEugene1 天前
前端通用基础组件设计:按钮/输入框/弹窗,统一设计标准|组件化设计基础篇
前端·javascript·vue.js·架构
啦啦啦!1 天前
ChatGPT和Gemini的接入和封装
人工智能·ios·chatgpt