主要内容

trainWordEmbedding

火车字嵌入

描述

例子

循证= trainWordEmbedding (文件名使用存储在文本文件中的训练数据训练单词嵌入文件名.该文件是存储在UTF-8格式的文档集合,每行一个文档,单词由空格分隔。

例子

循证= trainWordEmbedding (文档训练单词嵌入使用文档通过创建一个临时文件writeTextDocument,然后使用临时文件训练嵌入。

例子

emb = trainWordEmbedding (___名称,值使用一个或多个名称-值对参数指定其他选项。例如,“维度”,50岁指定单词嵌入维度为50。

例子

全部折叠

使用示例文本文件训练100维的词嵌入exampleSonnetsDocuments.txt.这个文件包含了莎士比亚十四行诗的预处理版本,每行一首十四行诗,单词之间用空格隔开。

文件名=“exampleSonnetsDocuments.txt”;emb = trainWordEmbedding(文件名)
培训:100%损失:3.1378剩余时间:0小时0分钟。
emb = wordem寝具属性:维度:100词汇表:[1x502 string]

查看单词嵌入文本散点使用tsne

话说= emb.Vocabulary;V = word2vec (emb,单词);XY = tsne (V);textscatter (XY,话说)

图中包含一个坐标轴。坐标轴包含textscatter类型的对象。

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

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

训练一个词嵌入使用trainWordEmbedding

emb = trainWordEmbedding(文档)
培训:100%损失:2.76821剩余时间:0小时0分钟。
emb = wordem寝具属性:维度:100词汇表:[1x401 string]

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

话说= emb.Vocabulary;V = word2vec (emb,单词);XY = tsne (V);textscatter (XY,话说)

图中包含一个坐标轴。坐标轴包含textscatter类型的对象。

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

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

指定单词嵌入维度为50。为了减少模型丢弃的单词数,设置“MinCount”为3。要想训练更长的时间,设置纪元数为10。

emb = trainWordEmbedding(文档,...“维度”, 50岁,...“MinCount”3,...“NumEpochs”, 10)
培训:100%损失:3.14343剩余时间:0小时0分钟。
emb = wordem寝具属性:Dimension: 50 Vocabulary: [1x750 string]

查看单词嵌入文本散点使用tsne

话说= emb.Vocabulary;V = word2vec(emb, words);XY = tsne (V);textscatter (XY,话说)

图中包含一个坐标轴。坐标轴包含textscatter类型的对象。

输入参数

全部折叠

文件的名称,指定为字符串标量或字符向量。

数据类型:字符串|字符

输入文档,指定为tokenizedDocument数组中。

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“维度”,50岁指定单词嵌入维度为50。

单词嵌入的维数,指定为逗号分隔对,由“维度”和一个非负整数。

例子:300

上下文窗口的大小,指定为逗号分隔对组成“窗口”和一个非负整数。

例子:10

模型,指定为逗号分隔的对,由“模型”“skipgram”(跳过克)“cbow”(连续bag-of-words)。

例子:“cbow”

因子来确定单词丢弃率,指定为逗号分隔对组成“DiscardFactor”一个正标量。该函数用概率从输入窗口丢弃一个单词1-sqrt (t / f) - t / ff是这个单词的非图概率,然后tDiscardFactor.通常情况下,DiscardFactor在…的范围内1 e - 3通过1 e-5

例子:0.005

损失函数,指定为逗号分隔对组成“LossFunction”“ns”(负采样),“海关”(分层softmax),或“softmax”(softmax)。

例子:“海关”

负采样损失函数的负采样数,指定为逗号分隔对组成“NumNegativeSamples”一个正整数。此选项仅在以下情况下有效LossFunction“ns”

例子:10

用于训练的纪元数,指定为逗号分隔对组成“NumEpochs”一个正整数。

例子:10

嵌入中要包含的最小单词数,指定为逗号分隔对,由“MinCount”一个正整数。该函数丢弃出现小于的单词MinCount从词汇中提取训练数据的次数。

例子:10

子词n-gram的包含范围,指定为逗号分隔对,由“NGramRange”和一个由两个非负整数组成的向量(最小最大).如果不想使用n-gram,则设置“NGramRange”[0 0]

例子:10 [5]

初始学习率,指定为逗号分隔对组成“InitialLearnRate”一个正标量。

例子:0.01

用于更新学习速率的速率,指定为逗号分隔对组成“UpdateRate”一个正整数。学习率每一步线性地降为零N的单词,NUpdateRate

例子:50

详细程度,指定为逗号分隔对,由“详细”以及以下其中之一:

  • 0 -不显示详细输出。

  • 1 -显示进度信息。

例子:“详细”,0

输出参数

全部折叠

输出字嵌入,返回为wordEmbedding对象。

更多关于

全部折叠

语言的注意事项

文件输入到trainWordEmbedding函数要求用空格分隔的单词。

对于包含非英语文本的文件,您可能需要输入tokenizedDocument数组来trainWordEmbedding

创建一个tokenizedDocument数组,使用tokenizedDocument函数,并设置“TokenizeMethod”选项“没有”

提示

训练算法使用函数给出的线程数maxNumCompThreads.学习如何改变MATLAB使用的线程数®,请参阅maxNumCompThreads

介绍了R2017b