以下基于 TensorFlow Embedding Projector 的 widget 会将 10,000 个 word2vec 静态向量展平到 3D 空间中。这种维度合并可能会造成误导,因为在原始高维空间中彼此最接近的点在 3D 投影中可能会显得相距更远。最接近的 n 个点以紫色突出显示,n 由用户在 Isolate __ points 中设定。右侧的边栏会标识最近的近邻。
在这些实验中,您将使用上面的 widget 中的 word2vec 嵌入。
任务 1
尝试查找以下内容的 20 个最近邻,并查看这些组在云中的分布情况。
iii、third和threetao和wayorange、yellow和juice
您对这些结果有何发现?
点击此处查看我们的答案
尽管 iii、third 和 three 在语义上相似,但它们在文本中出现的上下文不同,并且在该嵌入空间中似乎没有靠得很近。在 word2vec 中,iii 离 iv 比离 third 更近。
同样,虽然 way 是 tao 的直接翻译,但在所用数据集中,这两个字词最常与完全不同的字词组合在一起,因此这两个向量相差很大。
orange 的前几个最近邻是颜色,但与 orange 的水果含义相关的 juice 和 peel 分别显示为第 14 和第 18 个最近邻。与此同时,取自奥兰治亲王含义的 prince 排在第 17 位。在投影中,最接近 orange 的字词是 yellow 和其他颜色,而最接近 juice 的字词不包含 orange。
任务 2
尝试找出训练数据的一些特征。例如,尝试查找以下内容的 100 个最近邻,并查看这些组在云中的所处位置:
boston、paris、tokyo、delhi、moscow和seoul(这道题有陷阱)jane、sarah、john、peter、rosa和juan
点击此处查看我们的答案
boston 的许多最近邻都是美国的其他城市。paris 的许多最近邻都是欧洲的其他城市。tokyo 和 delhi 似乎没有类似的结果:一个与全球各地的旅行枢纽城市相关,另一个与 india 和相关字词相关。seoul 则完全没有出现在这个经过精简的字词向量集中。
该数据集似乎包含许多与美国国家地理位置相关的文档,一些文档与欧洲地区地理位置相关,但对其他国家/地区的覆盖范围不够精细。
同样,此数据集似乎包含许多男性英语名字、一些女性英语名字,而其他语言的名字数量要少得多。请注意,Don Rosa 曾为迪士尼创作过《Scrooge McDuck》漫画,这可能是“scrooge”和“mcduck”是“rosa”的最近邻的原因。
word2vec 提供的预训练字词向量实际上是基于截至 2013 年的 Google 新闻报道进行训练的。
任务 3
嵌入不限于字词。还可以嵌入图片、音频和其他数据。在此任务中:
- 打开 TensorFlow 的 Embedding Projector。
- 在标题为 Data 的左侧边栏中,选择 Mnist with images。系统随即会显示手写数字 MNIST 数据库的嵌入投影。
- 点击以停止轮播,然后选择一张图片。根据需要放大和缩小。
- 在右侧边栏中查找最近邻。有什么意外的发现吗?
- 为什么某些
7的最近邻是1?而某些8的最近邻是9? - 投影空间边缘的图片是否与投影空间中心的图片有所不同?
请注意,创建这些嵌入的模型会接收图片数据(即像素),并为每张图片选择一个数值向量表示法。该模型不会自动推测手写数字图片与数字本身之间的联系。
点击此处查看我们的答案
由于形状相似,一些较窄的 7 的向量表示法会更靠近手写 1 的向量。某些 8 和 9,甚至某些 5 和 3 也会发生同样的情况。
投影空间外部的手写数字看起来是更容易辨认的九位数字之一,并且不易与其他数字混淆。