trainWordEmbedding
训练词嵌入
描述
例子
从文件中训练词嵌入
使用示例文本文件训练一个维度为100的单词嵌入sonnetsPreprocessed.txt
.这个文件包含了莎士比亚十四行诗的预处理版本,每行有一首十四行诗,单词之间用一个空格隔开。
文件名=“sonnetsPreprocessed.txt”;emb = trainwordem寝料(文件名)
训练:100%损失:3.26708剩余时间:0小时0分钟。
词汇:["你的" "你" "爱" "你" "做"…]
查看文本散点图中嵌入的单词tsne
.
单词= emb.词汇;V = word2vec(emb,words);XY = tsne(V);textscatter (XY,话说)
训练文档中的词嵌入
使用示例数据训练单词嵌入sonnetsPreprocessed.txt
.这个文件包含莎士比亚十四行诗的预处理版本。该文件每行包含一首十四行诗,用空格分隔单词。从中提取文本sonnetsPreprocessed.txt
,以换行符将文本分割为文档,然后对文档进行标记。
文件名=“sonnetsPreprocessed.txt”;str = extractFileText(文件名);textData = split(str,换行符);documents = tokenizedDocument(textData);
训练单词嵌入使用trainWordEmbedding
.
emb = trainWordEmbedding(文档)
训练:100%损失:3.15383剩余时间:0小时0分钟。
词汇:["你的" "你" "爱" "你" "做"…]
可视化单词嵌入文本散点图使用tsne
.
单词= emb.词汇;V = word2vec(emb,words);XY = tsne(V);textscatter (XY,话说)
指定单词嵌入选项
加载示例数据。该文件sonnetsPreprocessed.txt
包含莎士比亚十四行诗的预处理版本。该文件每行包含一首十四行诗,用空格分隔单词。从中提取文本sonnetsPreprocessed.txt
,以换行符将文本分割为文档,然后对文档进行标记。
文件名=“sonnetsPreprocessed.txt”;str = extractFileText(文件名);textData = split(str,换行符);documents = tokenizedDocument(textData);
指定单词嵌入维数为50。若要减少模型丢弃的单词数,请设置“MinCount”
为3。若要训练更长的时间,请将epoch的数量设置为10。
emb = trainwordem寝料(文档,...“维度”, 50岁,...“MinCount”3,...“NumEpochs”, 10)
训练:100%损失:2.75878剩余时间:0小时0分钟。
词汇["你的" "你" "爱" "你" "做"…]
查看文本散点图中嵌入的单词tsne
.
单词= emb.词汇;V = word2vec(emb, words);XY = tsne(V);textscatter (XY,话说)
输入参数
文件名
- - - - - -文件名称
字符串标量|特征向量
文件的名称,指定为字符串标量或字符向量。
数据类型:字符串
|字符
文档
- - - - - -输入文档
tokenizedDocument
数组
输入文档,指定为tokenizedDocument
数组中。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“维度”,50岁
将单词嵌入维数指定为50。
维
- - - - - -词嵌入维数
One hundred.(默认)|正整数
字嵌入的维度,指定为逗号分隔的对,由“维度”
和一个非负整数。
例子:300
窗口
- - - - - -上下文窗口大小
5(默认)|非负整数
上下文窗口的大小,指定为逗号分隔的对,由“窗口”
和一个非负整数。
例子:10
模型
- - - - - -模型
“skipgram”
(默认)|“cbow”
模型,指定为逗号分隔的对,由“模型”
而且“skipgram”
(跳过克)或“cbow”
(连续bag-of-words)。
例子:“cbow”
DiscardFactor
- - - - - -决定弃字率的因素
1的军医
(默认)|积极的标量
因素来确定单词丢弃率,指定为由逗号分隔的对组成“DiscardFactor”
一个正标量。该函数以概率从输入窗口中丢弃一个单词1√(t/f) - t/f
其中f是单词的ungram概率,和t
是DiscardFactor
.通常情况下,DiscardFactor
在的范围内1 e - 3
通过1 e-5
.
例子:0.005
LossFunction
- - - - - -损失函数
“ns”
(默认)|“海关”
|“softmax”
损失函数,指定为逗号分隔的对,由“LossFunction”
而且“ns”
(负采样),“海关”
(hierarchical softmax),或“softmax”
(softmax)。
例子:“海关”
NumNegativeSamples
- - - - - -阴性样本数
5(默认)|正整数
负抽样损失函数的负抽样数,指定为逗号分隔的对,由“NumNegativeSamples”
一个正整数。此选项仅在以下情况下有效LossFunction
是“ns”
.
例子:10
NumEpochs
- - - - - -纪元数
5(默认)|正整数
训练的epoch数,指定为逗号分隔的对,由“NumEpochs”
一个正整数。
例子:10
MinCount
- - - - - -最少字数
5(默认)|正整数
嵌入中要包含的最小字数,指定为逗号分隔的对,由“MinCount”
一个正整数。该函数丢弃出现小于的单词MinCount
从训练数据中提取词汇量。
例子:10
NGramRange
- - - - - -子词n-grams的包含范围
(3 - 6)
(默认)|两个非负整数的向量
子词n-grams的包含范围,指定为逗号分隔的对,由“NGramRange”
一个由两个非负整数组成的向量(最小最大)
.如果你不想使用n-grams,那么设置“NGramRange”
来[0 0]
.
例子:10 [5]
InitialLearnRate
- - - - - -初始学习率
0.05(默认)|积极的标量
初始学习速率,指定为逗号分隔的对,由“InitialLearnRate”
一个正标量。
例子:0.01
UpdateRate
- - - - - -更新学习速率
One hundred.(默认)|正整数
用于更新学习速率的速率,指定为逗号分隔的对,由“UpdateRate”
一个正整数。学习速率每步线性地递减到零N的单词,N是UpdateRate
.
例子:50
详细的
- - - - - -冗长的水平
1(默认)|0
详细级别,指定为逗号分隔的对,由“详细”
和以下其中之一:
0 -不显示详细输出。
1 -显示进度信息。
例子:“详细”,0
输出参数
循证
-输出字嵌入
字嵌入
输出字嵌入,返回为wordEmbedding
对象。
更多关于
语言的注意事项
文件输入到trainWordEmbedding
函数要求用空格分隔单词。
对于包含非英语文本的文件,您可能需要输入tokenizedDocument
数组来trainWordEmbedding
.
要创建tokenizedDocument
数组从预标记文本,使用tokenizedDocument
函数,并设置“TokenizeMethod”
选项“没有”
.
提示
训练算法使用函数给出的线程数maxNumCompThreads
.学习如何改变MATLAB使用的线程数®,请参阅maxNumCompThreads
.
版本历史
在R2017b中引入
Matlab명령
다음matlab명령에해당하는링크를클릭했습니다。
명령을실행하려면matlab명령창에입력하십시오。웹브라우저는matlab명령을지원하지않습니다。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。