主要内容

散点图可视化词使用嵌入的文本

这个例子展示了如何使用2 d和3 d可视化词嵌入t-SNE和文本散点图。

字嵌入的词在词汇映射到真正的向量。向量试图捕捉语言的语义,这样类似的词有相似的向量。一些嵌入还捕获之间的关系的词语如“意大利罗马是法国巴黎”。用向量形式,这种关系 意大利 - - - - - - 罗马 + 巴黎 = 法国

负载Pretrained字嵌入

加载一个pretrained字嵌入使用fastTextWordEmbedding。这个函数需要文本分析工具箱™模型160亿年fastText英语嵌入标记词万博1manbetx支持包。如果这种支持包没万博1manbetx有安装,那么函数提供一个下载链接。

emb = fastTextWordEmbedding
emb = wordEmbedding属性:尺寸:300词汇:[1×999994字符串)

探索嵌入使用这个词word2vecvec2word。把单词意大利,罗马,巴黎向量使用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)
词=“法国”

创建二维文本散点图

想象这个词使用嵌入文本通过创建一个二维散点图tsnetextscatter

第一个5000字转换成向量使用word2vecV是一个矩阵的向量长度为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可视化词嵌入文本使用散点图tsnetextscatter

第一个5000字转换成向量使用word2vecV是一个矩阵的向量长度为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字转换成向量使用word2vecV是一个矩阵的向量长度为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])

另请参阅

||||||

相关的话题