Word2Vec コンポーネントは、ニューラルネットワークを使用して、単語を K 次元空間のベクトルにマッピングします。 このコンポーネントは、ベクトルのセマンティクスを表示するためのベクトルに対する操作をサポートしています。 入力は単語列またはテキストコーパスで、出力はベクトルテーブルと語彙です。
使用方法
Word2Vec コンポーネントは、単語頻度統計 コンポーネントにダウンストリームノードとして接続する必要があります。
単語頻度統計コンポーネントは、単語と単語統計を含むトリプルテーブルを生成します。 単語頻度統計コンポーネントを Word2Vec コンポーネントのアップストリームノードとして接続できます。 その後、Word2Vec コンポーネントは、単語頻度統計コンポーネントによって生成されたデータを取得し、データを単一の単語に変換してから、すべてのデータをドキュメントとして処理します。
コンポーネントの構成
次のいずれかの方法を使用して、Word2Vec コンポーネントを構成できます。
方法 1:コンソールでパイプライン構成タブのコンポーネントを構成する
PAI(AI プラットフォーム)コンソールの Machine Learning Designer のパイプライン詳細ページでコンポーネントを構成します。 次の表に、コンポーネントパラメーターを示します。
タブ | パラメーター | 説明 |
[フィールド設定] | [単語列] | トレーニングに使用される単語列。 単語数は 1,000 万語を超えないようにすることをお勧めします。 |
[パラメーター設定] | [単語特徴次元] | 単語の次元数。 有効な値:0~1000。 デフォルト値:100。 |
[言語モデル] | トレーニングに使用される言語モデル。 有効な値:[Skip-gram] および [Cbow]。 デフォルト値:[Skip-gram]。 | |
[単語ウィンドウサイズ] | 単語のウィンドウサイズ。 値は正の整数である必要があります。 デフォルト値:5。 | |
[ランダムウィンドウ] | ランダムウィンドウを使用するかどうかを指定します。 デフォルトでは、[ランダムウィンドウ] が選択されています。 | |
[最小単語切り捨て頻度] | 切り捨ての単語の最小頻度。 値は正の整数である必要があります。 デフォルト値:5。 | |
[階層的ソフトマックス] | 階層的ソフトマックスを使用するかどうかを指定します。 デフォルトでは、[階層的ソフトマックス] が選択されています。 | |
[ネガティブサンプリング] | ネガティブサンプリングのウィンドウサイズ。 デフォルト値は 0 で、ネガティブサンプリング機能が使用できないことを示します。 | |
[ダウンサンプリングしきい値] | ダウンサンプリングのしきい値。 デフォルト値は 0 で、ダウンサンプリング機能が使用できないことを示します。 | |
[初期学習率] | 初期学習率。 値は 0 より大きくなります。 デフォルト値:0.025。 | |
[反復回数] | 反復回数。 値は 1 以上です。 デフォルト値:1。 | |
[チューニング] | [コア数] | コア数。 デフォルトでは、システムによって値が決定されます。 |
[コアあたりのメモリサイズ] | 各コアのメモリサイズ。 デフォルトでは、システムによって値が決定されます。 |
方法 2:PAI コマンドを実行する
PAI コマンドを使用して、Word2Vec コンポーネントを構成します。 SQL スクリプトコンポーネントを使用して、PAI コマンドを実行できます。 詳細については、「SQL スクリプト」をご参照ください。 次の表に、このコンポーネントの構成に使用される PAI コマンドのパラメーターを示します。
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 および 1。値 0 は skip-gram モデルを示し、値 1 は CBOW モデルを示します。 | 0 |
window | いいえ | 単語のウィンドウサイズ。 値は正の整数である必要があります。 | 5 |
minCount | いいえ | 切り捨ての単語の最小頻度。 値は正の整数である必要があります。 | 5 |
hs | いいえ | 階層的ソフトマックスを使用するかどうかを指定します。 有効な値:0 および 1。値 0 は階層的ソフトマックスが使用されないことを示し、値 1 は階層的ソフトマックスが使用されることを示します。 | 1 |
negative | いいえ | ネガティブサンプリングのウィンドウサイズ。 値は正の整数である必要があります。 値 0 は、ネガティブサンプル機能が使用できないことを示します。 | 0 |
sample | いいえ | ダウンサンプリングのしきい値。 有効な値:1e-3~1e-5。値 0 は、ダウンサンプリング機能が使用できないことを示します。 | 0 |
alpha | いいえ | 値は 0 より大きくなります。 | 0.025 |
iterTrain | いいえ | 値は 1 以上です。 | 1 |
randomWindow | いいえ | 単語ウィンドウを表示するために使用されるモード。 有効な値:0 および 1。値 0 は、値が window パラメーターによって指定されることを示し、値 1 は 1~5 のランダムな値を示します。 | 1 |
outVocabularyTableName | いいえ | 出力語彙の名前。 | なし |
outputTableName | はい | 出力ベクトルテーブルの名前。 | なし |
lifecycle | いいえ | 出力テーブルのライフサイクル。 値は正の整数である必要があります。 | なし |
coreNum | いいえ | コア数。 このパラメーターと memSizePerCore パラメーターは、両方が設定されている場合にのみ有効になります。 値は正の整数である必要があります。 | 自動的に割り当てられます |
memSizePerCore | いいえ | 各コアのメモリサイズ。 このパラメーターと coreNum パラメーターは、両方が設定されている場合にのみ有効になります。 値は正の整数である必要があります。 | 自動的に割り当てられます |
FAQ
辞書が空の場合、「語彙サイズがゼロです! vocab_size:0」というエラーメッセージが報告されます。 この問題を解決するには、minCount パラメーターをより小さい値に設定します。