主要内容

使用文本散点图可视化Word Embeddings

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

单词嵌入将词汇表中的单词映射为实向量。向量试图捕获单词的语义,以便相似的单词具有相似的向量。一些嵌入也捕捉了词语之间的关系,比如“意大利之于法国,就像罗马之于巴黎”。在向量形式中,这个关系是 意大利 - 罗马 + 巴黎 = 法国

加载预先训练的单词嵌入

加载一个预先训练好的单词嵌入fastTextWordEmbedding。此函数需要Text Analytics Toolbox™模型用于快速文本英语160亿标记词嵌入万博1manbetx支持包。如果没有安装此支万博1manbetx持包,则该函数提供一个下载链接。

emb = fasttextwordembeddings.
emb = worddembeds with properties:维度:300词汇表:[1×999994 string]

探索嵌入使用的单词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 - 1548 0.1737 -0.0937 - 0.01619 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

在嵌入中找到最接近的词v使用vec2word.

词= vec2word (emb vec)
词=“法国”

创建2d文本散点图

通过创建一个2-D文本散点图来可视化单词嵌入tsnetextscatter

将前5000个单词转换为使用的向量Word2vec.V是长度300的字矢量矩阵。

单词= emb.vocabulary(1:5000);v = word2vec(mem,单词);尺寸(v)
ans =1×25000 300

在二维空间中嵌入单词向量tsne。此函数可能需要几分钟的时间运行。如果要显示收敛信息,请设置“详细”名称-值对为1。

XY = tsne (V);

在指定的坐标处绘制单词XY在2-D文本散点图中。可读性,textscatter默认情况下,不显示所有的输入单词,而是显示标记。

图textscatter (XY,话说)标题(“词嵌入t-SNE图”)

放大图的一部分。

Xlim ([-18 -5]) ylim([11 21])

创建三维文本散点图

通过使用3-D文本散点图绘图来可视化嵌入的单词tsnetextscatter

将前5000个单词转换为使用的向量Word2vec.V是长度300的字矢量矩阵。

单词= emb.vocabulary(1:5000);v = word2vec(mem,单词);尺寸(v)
ans =1×25000 300

将单词向量嵌入三维空间使用tsne通过指定维数为3。此函数可能需要几分钟的时间运行。如果要显示收敛信息,可以设置“详细”名称-值对为1。

XYZ = tsne (V,“NumDimensions”3);

在3d文本散点图中,在XYZ指定的坐标处绘制单词。

figure ts = textscatter3(XYZ,words);标题(“嵌入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个集群kmeans

cidx = kmeans (V, 25岁,“距离”,'sqeuclidean');

使用之前计算的2-D t-SNE数据坐标在文本散点图中可视化集群。

图textscatter (XY,话说,“ColorData”分类(cidx));标题(“词嵌入t-SNE图”)

放大图的一部分。

Xlim ([13 24]) ylim([-47 -35])

另请参阅

||||||

相关话题