全部产品
Search
文档中心

人工智能平台 PAI:Word2Vec

更新时间:Feb 27, 2024

本文为您介绍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

输入词汇表中参与分词的分区名称。格式为partition_name=value。多级分区格式为name1=value1/name2=value2。如果指定多个分区,用英文逗号(,)分隔。

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参数值,即可解决。