主要内容

wordEmbedding

单词嵌入模型,将单词映射到向量并返回

描述

单词嵌入是由word2vec、GloVe和fastText库推广的,它将词汇表中的单词映射到真实的向量。

这些向量试图捕捉单词的语义,以便相似的单词有相似的向量。一些嵌入词还能捕捉单词之间的关系,比如“国王之于王后,正如男人之于女人".在向量形式中,这个关系是国王-男人+女人=王后

创建

创建一个词嵌入通过加载预先训练的嵌入使用fastTextWordEmbedding,从文件中读取嵌入readWordEmbedding,或通过使用训练嵌入trainWordEmbedding

属性

全部展开

单词嵌入的维数,指定为正整数。

例子:300

模型中唯一的单词,指定为字符串向量。

数据类型:字符串

对象的功能

vec2word 映射嵌入向量到word
word2vec 将单词映射到嵌入向量
isVocabularyWord 测试word是否为word嵌入或编码的成员
writeWordEmbedding 写字嵌入文件

例子

全部折叠

下载并安装文本分析工具箱™模型用于快速文本英语160亿令牌词嵌入金宝app支持包。

类型fastTextWordEmbedding在命令行。

fastTextWordEmbedding

如果文本分析工具箱模型用于快速文本英语160亿令牌词嵌入金宝app如果没有安装支持包,则该函数将提供到Add-On Explorer中所需的支持包的链接。要安装支持包,请单击链接,然后金宝app单击安装.输入以下命令,检查安装是否成功emb = fastTextWordEmbedding在命令行。

emb = fastTextWordEmbedding
emb = wordem寝具属性:Dimension: 300 Vocabulary: [1×1000000 string]

如果安装了所需的支持包,则该函数金宝app返回awordEmbedding对象。

加载一个预先训练的词嵌入使用fastTextWordEmbedding.此功能需要文本分析工具箱™模型用于快速文本英语160亿令牌词嵌入金宝app支持包。如果没有安装此支金宝app持包,则该函数将提供下载链接。

emb = fastTextWordEmbedding
emb = wordem寝具属性:Dimension: 300 Vocabulary: [1×1000000 string]

把"意大利","罗马"和"巴黎"这三个词标到向量上word2vec

意大利= word2vec (emb,“意大利”);罗马= word2vec (emb,“罗马”);巴黎= word2vec (emb,“巴黎”);

地图矢量意大利-罗马+巴黎用一个词vec2word

Word = vec2word(emb,意大利-罗马+巴黎)
词=“法国”

使用预先训练的单词嵌入,将标记化文档数组转换为单词向量序列。

加载一个预先训练的词嵌入使用fastTextWordEmbedding函数。此功能需要文本分析工具箱™模型用于快速文本英语160亿令牌词嵌入金宝app支持包。如果没有安装此支金宝app持包,则该函数将提供下载链接。

emb = fastTextWordEmbedding;

加载工厂报告数据并创建tokenizedDocument数组中。

文件名=“factoryReports.csv”;data = readtable(文件名,“TextType”,“字符串”);textData = data.Description;文件= tokenizedDocument (textData);

使用。将文档转换为单词向量序列doc2sequence.的doc2sequence函数,默认情况下,左填充具有相同长度的序列。当使用高维词嵌入转换大型文档集合时,填充可能需要大量内存。为防止该函数填充数据,请设置“PaddingDirection”选项“没有”.控件也可以控制填充的数量“长度”选择。

序列= doc2sequence (emb、文档“PaddingDirection”,“没有”);

查看前10个序列的大小。每个序列D——- - - - - -年代矩阵,D嵌入维度是,和年代为序列中单词向量的个数。

序列(1:10)
ans =10×1单元阵列{300×10单}{300×11单}{300×11单}{300×6单}{300×5单}{300×10单}{300×8单}{300×9单}{300×7单}{300×13单}

阅读单词嵌入的例子。这个模型是通过分析维基百科上的文本得出的。

文件名=“exampleWordEmbedding.vec”;emb = readWordEmbedding(文件名)
词汇表:["utc" "first" "new" "two" "time"…]

探索单词嵌入使用word2vecvec2word

国王= word2vec (emb,“王”);人= word2vec (emb,“男人”);女人= word2vec (emb,“女人”);单词= vec2word(emb,king - man + woman)
词= "女王"

训练一个词嵌入,并将其写入文本文件。

加载示例数据。该文件sonnetsPreprocessed.txt包含了经过预处理的莎士比亚十四行诗。该文件每行包含一首十四行诗,单词之间用空格分隔。将文本从sonnetsPreprocessed.txt,将文本以换行符分割为文档,然后标记文档。

文件名=“sonnetsPreprocessed.txt”;str = extractFileText(文件名);textData =分裂(str,换行符);文件= tokenizedDocument (textData);

训练一个词嵌入使用trainWordEmbedding

emb = trainWordEmbedding(文档)
培训:100%损失:3.13065剩余时间:0小时0分钟。
词汇表:["thy" "thou" "love" "thee" " dows "…]

将单词嵌入到文本文件中。

文件名=“exampleSonnetsEmbedding.vec”;writeWordEmbedding (emb文件名)

阅读单词嵌入文件使用readWordEmbedding

emb = readWordEmbedding(文件名)
词汇表:["thy" "thou" "love" "thee" " dows "…]
介绍了R2017b