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 向量后,嵌入模型能够捕捉到数据的语义信息,并且语义上相近的词在向量空间中也会相近,这也为语义搜索提供了一个可能。

相关推荐
计算机毕设残哥3 分钟前
紧跟大数据技术趋势:食物口味分析系统Spark SQL+HDFS最新架构实现
大数据·hadoop·python·sql·hdfs·架构·spark
wanhengidc13 小时前
云手机和网盘之间的关系
网络·游戏·智能手机·架构·云计算
thginWalker13 小时前
网约车架构
架构
Stream_Silver15 小时前
《LangChain入门指南》学习笔记1:第1章 LangChain:开启大语言模型时代的钥匙
笔记·学习·langchain
杨杨杨大侠16 小时前
Atlas Mapper 教程系列 (8/10):性能优化与最佳实践
java·spring boot·spring·性能优化·架构·系统架构
程序员果子16 小时前
Kafka 深度剖析:架构演进、核心概念与设计精髓
大数据·运维·分布式·中间件·架构·kafka
算家计算16 小时前
OpenAI秘密测试ChatGPT安全路由引争议:AI如何平衡人性化与安全性?
人工智能·chatgpt·openai
半梦半醒*17 小时前
keepalived部署
运维·服务器·nginx·架构·centos·apache
自由的疯18 小时前
java 各个JSONObject有什么不同
java·后端·架构
工藤学编程20 小时前
零基础学AI大模型之LangChain-PromptTemplate
人工智能·langchain