本文为您介绍Designer提供的Word2Vec算法组件。
Word2Vec算法组件利用神经网络,通过训练,将词映射为K维度空间向量,且支持对表示词的向量进行操作并和语义相对应。输入为单词列或词汇表,输出为词向量表和词汇表。
使用说明
Word2Vec组件的上游需要接入词频统计组件。
词频统计的输出结果为三元组,即词和词的统计。组件下游接入Word2Vec组件,Word2Vec组件会先将数据整理成单个单词的形式,后续会按照整个Doc来处理。
组件配置
您可以使用以下任意一种方式,配置Word2Vec组件参数。
方式一:可视化方式
在Designer工作流页面配置组件参数。
页签 | 参数 | 描述 |
字段设置 | 选择单词列 | 用来进行训练的单词列。 |
参数设置 | 单词特征维度 | 单词的特征维度数量。取值范围为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参数值,即可解决。