散点图可视化词使用嵌入的文本
这个例子展示了如何使用2 d和3 d可视化词嵌入t-SNE和文本散点图。
字嵌入的词在词汇映射到真正的向量。向量试图捕捉语言的语义,这样类似的词有相似的向量。一些嵌入还捕获之间的关系的词语如“意大利罗马是法国巴黎”。用向量形式,这种关系 。
负载Pretrained字嵌入
加载一个pretrained字嵌入使用fastTextWordEmbedding
。这个函数需要文本分析工具箱™模型160亿年fastText英语嵌入标记词金宝app支持包。如果这种支持包没金宝app有安装,那么函数提供一个下载链接。
emb = fastTextWordEmbedding
emb = wordEmbedding属性:尺寸:300词汇:[1×999994字符串)
探索嵌入使用这个词word2vec
和vec2word
。把单词意大利,罗马,巴黎向量使用word2vec
。
意大利= word2vec (emb,“意大利”);罗马= word2vec (emb,“罗马”);巴黎= word2vec (emb,“巴黎”);
计算的向量意大利,罗马+巴黎
。这个向量封装的语义含义的词意大利,没有词的语义罗马,还包括词的语义巴黎。
vec =意大利-罗马+巴黎
vec =1×300个行向量0.1606 -0.0690 0.1183 -0.0349 0.0672 0.0907 -0.1820 -0.0080 0.0320 -0.0936 -0.0329 -0.1548 0.1737 -0.0937 -0.1619 0.0777 -0.0843 0.0066 0.0600 -0.2059 -0.0268 0.1350 -0.0900 0.0314 0.0686 -0.0338 0.1841 0.1708 0.0276 0.0719 -0.1667 0.0231 0.0265 -0.1773 -0.1135 0.1018 -0.2339 0.1008 0.1057 -0.1118 0.2891 -0.0358 0.0911 -0.0958 -0.0184 0.0740 -0.1081 0.0826 0.0463 0.0043
在嵌入到找到最接近的词vec
使用vec2word
。
词= vec2word (emb vec)
词=“法国”
创建二维文本散点图
想象这个词使用嵌入文本通过创建一个二维散点图tsne
和textscatter
。
第一个5000字转换成向量使用word2vec
。V
是一个矩阵的向量长度为300。
话说= emb.Vocabulary (1:5000);V = word2vec (emb,单词);大小(V)
ans =1×25000 300
嵌入向量在二维空间中使用这个词tsne
。这个函数可能需要几分钟。如果你想显示融合信息,然后设置“详细”
名称-值对。
XY = tsne (V);
情节在指定的坐标XY
在一个二维散点图文本。为了可读性,textscatter
默认情况下,不显示所有输入的单词并显示标记。
图textscatter (XY,话说)标题(”字嵌入t-SNE阴谋”)
放大的一段情节。
-18年xlim ([5]) ylim([11] 21日)
创建三维文本散点图
通过创建一个3 d可视化词嵌入文本使用散点图tsne
和textscatter
。
第一个5000字转换成向量使用word2vec
。V
是一个矩阵的向量长度为300。
话说= emb.Vocabulary (1:5000);V = word2vec (emb,单词);大小(V)
ans =1×25000 300
嵌入向量在三维空间中使用这个词tsne
通过指定数量的三个维度。这个函数可能需要几分钟。如果你想显示融合信息,然后你可以设置“详细”
名称-值对。
XYZ = tsne (V,“NumDimensions”3);
情节的单词在指定的坐标XYZ三维散点图文本。
图ts = textscatter3 (XYZ,单词);标题(“3 d字嵌入t-SNE阴谋”)
放大的一段情节。
xlim ([12.04 - 19.48]) ylim ([-2.66 - 3.40]) zlim ([10.03 - 14.53])
进行聚类分析
第一个5000字转换成向量使用word2vec
。V
是一个矩阵的向量长度为300。
话说= emb.Vocabulary (1:5000);V = word2vec (emb,单词);大小(V)
ans =1×25000 300
发现25集群使用kmeans
。
cidx = kmeans (V, 25岁,“距离”,“sqeuclidean”);
集群可视化在文本使用二维散点图t-SNE数据坐标计算。
图textscatter (XY,话说,“ColorData”分类(cidx));标题(”字嵌入t-SNE阴谋”)
放大的一段情节。
xlim (24 [13]) ylim (-35 [-47])
另请参阅
readWordEmbedding
|textscatter
|textscatter3
|word2vec
|vec2word
|wordEmbedding
|tokenizedDocument