此示例显示如何使用2-D和3-D T-SNE和文本散点图来可视化Word Embeddings。
Word Embeddings在词汇中的地图单词到真正的向量。矢量试图捕获单词的语义,使得类似的单词具有相似的向量。一些嵌入也捕捉了像“意大利是法国作为罗马的意大利是巴黎的关系”之间的关系。在矢量形式中,这种关系是 。
加载嵌入使用的预磨词fasttextwordembeddings.
。此功能需要文本分析工具箱™模型对于FastText英语160亿令牌字嵌入金宝app支持包。如果未安装此支持金宝app包,则该函数提供了下载链接。
emb = fasttextwordembeddings.
emb = wordembeddings与属性:维度: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.0830
找到嵌入到嵌入的最接近的单词v
使用vec2word.
。
Word = vec2word(emb,Vec)
Word =“法国”
通过使用2-D文本散点图绘图来可视化嵌入的单词徐
和TextScatter.
。
将前5000个单词转换为使用的向量Word2vec.
。V.
是长度300的字矢量矩阵。
单词= emb.vocabulary(1:5000);v = word2vec(mem,单词);尺寸(v)
ans =.1×25000 300.
使用二维空间中的单词向量使用徐
。此功能可能需要几分钟才能运行。如果要显示收敛信息,请设置'verbose'
名称值对至1。
XY = TSNE(v);
绘制指定的坐标处的单词XY.
在2-D文本散点图中。可读性,TextScatter.
默认情况下,不显示所有输入字并显示标记。
图TextStmatter(XY,单词)标题(“嵌入T-SNE PLOT的单词”)
放大图的一部分。
XLIM([ - 18-5])ylim([11 21])
通过使用3-D文本散点图绘图来可视化嵌入的单词徐
和TextScatter.
。
将前5000个单词转换为使用的向量Word2vec.
。V.
是长度300的字矢量矩阵。
单词= emb.vocabulary(1:5000);v = word2vec(mem,单词);尺寸(v)
ans =.1×25000 300.
使用三维空间中的单词向量使用徐
通过指定三个的尺寸的数量。此功能可能需要几分钟才能运行。如果要显示收敛信息,则可以设置'verbose'
名称值对至1。
XYZ = TSNE(v,'numdimensions',3);
在3-D文本散点图中绘制XYZ指定的坐标处的单词。
图TS = TextScatter3(XYZ,单词);标题(“嵌入t-sne plot的3-d字”)
放大图的一部分。
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(mem,单词);尺寸(v)
ans =.1×25000 300.
发现25个群集威彻斯
。
cidx = kmeans(v,25,'dist'那'sqeuclidean');
使用前面计算的2-D T-SNE数据坐标可视化文本散点图中的群集。
图textsmatter(XY,单词,'colordata',分类(CIDX));标题(“嵌入T-SNE PLOT的单词”)
放大图的一部分。
XLIM([1344])ylim([ - 47 -35])
readwordembeddings.
|TextScatter.
|TextScatter3.
|令人畏缩的鳕文
|vec2word.
|Word2vec.
|Wordembeddings.