Word2Vec算法组件利用神经网络,将词映射为K维度空间向量,且支持对表示词的向量进行操作并和语义相对应。输入为单词列或文本语料库,输出为词向量表和词汇表。
使用说明
Word2Vec组件的上游需要接入词频统计组件。
词频统计的输出结果为三元组,即词和词的统计。组件下游接入Word2Vec组件,Word2Vec组件会先将数据整理成单个单词的形式,后续会按照整个Doc来处理。
组件配置
您可以使用以下任意一种方式,配置Word2Vec组件参数。
方式一:可视化方式
在Designer工作流页面配置组件参数。
|
页签 |
参数 |
描述 |
|
字段设置 |
选择单词列 |
用来进行训练的单词列。要求单词数量最好不超过1千万。 |
|
参数设置 |
单词特征维度 |
单词的特征维度数量。取值范围为0~1000,默认值为100。 |
|
语言模型 |
训练使用的语言模型。取值范围为skip-gram模型和cbow模型,默认值为skip-gram模型。 |
|
|
单词窗口大小 |
单词的窗口大小。取值范围为正整数,默认值为5。 |
|
|
使用随机窗口 |
是否使用随机窗口。默认使用。 |
|
|
截断最小词频 |
取值范围为正整数,默认值为5。 |
|
|
采用hierarchical softmax |
是否采用HIERARCHICAL SOFTMAX。默认采用。 |
|
|
负采样 |
负采样的窗口大小。默认值为0,表示不可用。 |
|
|
向下采样阈值 |
向下采样的阈值。默认值为0,表示不可用。 |
|
|
起始学习速率 |
取值大于0,默认值为0.025。 |
|
|
迭代次数 |
取值大于等于1,默认值为1。 |
|
|
执行调优 |
核心数 |
默认为系统自动分配。 |
|
每个核的内存大小 |
默认为系统自动分配。 |
方式二:PAI命令方式
使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本。
pai -name Word2Vec
-project algo_public
-DinputTableName=w2v_input
-DwordColName=word
-DoutputTableName=w2v_output;
|
参数名称 |
是否必选 |
描述 |
默认值 |
|
inputTableName |
是 |
输入词汇表的名称。 |
无 |
|
inputTablePartitions |
否 |
输入词汇表中参与分词的分区名称。格式为 |
无 |
|
wordColName |
是 |
单词列名。单词列中每行为一个单词,换行符用</s>表示。 |
无 |
|
inVocabularyTableName |
否 |
对输入词汇表执行wordcount操作后的输出结果。 |
系统会对输出表执行wordcount操作 |
|
inVocabularyPartitions |
否 |
对输入词汇表执行wordcount操作后的输出结果中的分区名称。 |
inVocabularyTableName对应表的所有分区 |
|
layerSize |
否 |
单词的特征维度数量。取值范围为0~1000。 |
100 |
|
cbow |
否 |
训练使用的语言模型。取值范围为0(skip-gram模型)和1(cbow模型)。 |
0 |
|
window |
否 |
单词的窗口大小。取值范围为正整数。 |
5 |
|
minCount |
否 |
截断的最小词频。取值范围为正整数。 |
5 |
|
hs |
否 |
是否采用HIERARCHICAL SOFTMAX。取值范围为0(不采用)和1(采用)。 |
1 |
|
negative |
否 |
负采样的窗口大小。取值范围为正整数,0表示不可用。 |
0 |
|
sample |
否 |
向下采样的阈值。取值范围为1e-3~1e-5。0表示不可用。 |
0 |
|
alpha |
否 |
取值大于0。 |
0.025 |
|
iterTrain |
否 |
取值大于等于1。 |
1 |
|
randomWindow |
否 |
指定单词窗口的展示方式。取值范围为0(不随机,其值由window参数指定)和1(大小在1~5间随机)。 |
1 |
|
outVocabularyTableName |
否 |
输出词汇表的名称。 |
无 |
|
outputTableName |
是 |
输出词向量表的名称。 |
无 |
|
lifecycle |
否 |
输出表的生命周期。取值范围为正整数。 |
无 |
|
coreNum |
否 |
核心数,需要与memSizePerCore参数同时设置才生效。取值范围为正整数。 |
系统自动分配 |
|
memSizePerCore |
否 |
内存数,需要与coreNum参数同时设置才生效。取值范围为正整数。 |
系统自动分配 |
常见问题
报错“Vocab size is zero! vocab_size: 0”,表示词典为空,调小minCount参数值,即可解决。