すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:Doc2Vec

最終更新日:Apr 02, 2026

Doc2Vec は、トレーニング中にドキュメント ID を特殊な単語として扱うことで、固定長のドキュメントベクターを生成する機械学習アルゴリズムです。単語ベクターとドキュメントベクターを同時に学習し、ベクタースペースでの距離を測定することで、ドキュメント間の意味的関係を比較できます。

Doc2Vec は、次のような場合に利用します:

  • クエリドキュメントとの類似度によるドキュメントのランク付け

  • コンテンツレコメンデーションシステムの構築

  • トピックによるドキュメントのクラスタリング

このアルゴリズムは、入力として語彙テーブルを受け取り、最大で 3 つの出力 (ドキュメントベクターテーブル、単語ベクターテーブル、およびオプションの語彙テーブル) を生成します。

制限事項

Doc2Vec は MaxCompute の計算リソース上でのみ実行されます。

Doc2Vec コンポーネントの構成

PAI コンソール (ビジュアルモデリング) と SQL スクリプトによる PAI コマンドの 2 つの構成方法が利用できます。

PAI コンソールでの構成

ビジュアルモデリングのパイプラインページで、以下のパラメーターを使用して Doc2Vec コンポーネントを構成します。

[フィールド設定] タブ

パラメーター説明
ドキュメント ID 列トレーニングに使用されるドキュメント列の名前です。
ドキュメントコンテンツトレーニングに使用される単語です。単語はスペースで区切ります。

[パラメーター設定] タブ

パラメーター説明
単語特徴のディメンション数単語ベクターの次元数です。有効な値:0~1000。デフォルト値:100。
言語モデルトレーニングに使用するモデルです。有効な値:**Skip-gram モデル**(デフォルト)および **CBOW モデル**。
単語ウィンドウサイズ文脈ウィンドウのサイズです。正の整数を指定する必要があります。デフォルト値:5。
単語の最小出現頻度トレーニングに含める単語の最小出現回数です。このしきい値より少ない回数しか出現しない単語は除外されます。正の整数を指定する必要があります。デフォルト値:5。
階層的ソフトマックストレーニングの最適化に階層的ソフトマックスを使用するかどうかです。デフォルトで選択されています。
ネガティブサンプリングネガティブサンプリングのウィンドウサイズです。正の整数を指定する必要があります。デフォルト値:5。値を 0 に設定すると、ネガティブサンプリングが無効になります。
高頻度単語のダウンサンプリングしきい値高頻度単語をダウンサンプリングする際のしきい値です。有効な値:1e-3~1e-5。デフォルト値:1e-3。値を 0 に設定すると、ダウンサンプリングが無効になります。
初期学習率学習を開始する際の学習率です。0 より大きい値を指定する必要があります。デフォルト値:0.025。
トレーニング反復回数トレーニングの反復回数です。1 以上を指定する必要があります。デフォルト値:1。
ランダムウィンドウの使用単語ウィンドウのモードです。有効な値:**1~5 の範囲内のランダム値** および **ウィンドウパラメーターで指定された値**(デフォルト)。

[チューニング] タブ

パラメーター説明
計算コア数使用する計算コアの数です。デフォルトでは、システムが自動的に値を決定します。
コアごとのメモリサイズ (MB)コアごとに割り当てられるメモリです。デフォルトでは、システムが自動的に値を決定します。

PAI コマンドを使用した構成

PAI コマンドで Doc2Vec コンポーネントを呼び出します。SQL スクリプトで PAI コマンドを実行する方法については、「SQL スクリプト」をご参照ください。

次の例は、最小限の構成を示しています:

PAI -name pai_doc2vec
    -project algo_public
    -DinputTableName="d2v_input"
    -DdocIdColName="docid"
    -DdocColName="text_seg"
    -DoutputWordTableName="d2v_word_output"
    -DoutputDocTableName="d2v_doc_output";

入力テーブルには、ドキュメント ID 列 (例:docid) と、単語がスペースで区切られたドキュメントコンテンツ列 (例:text_seg) の、少なくとも 2 つの列が含まれている必要があります。

完全なパラメーターリファレンスは次のとおりです。

パラメーター必須デフォルト説明
inputTableNameはい入力語彙テーブルの名前です。
inputTablePartitionsいいえ入力テーブルから使用するパーティションです。フォーマット:partition_name=value。複数のパーティションの場合は name1=value1/name2=value2 を使用し、パーティションセットはカンマ (,) で区切ります。
docIdColNameはいトレーニングに使用されるドキュメント ID 列の名前です。
docColNameはいトレーニングに使用されるドキュメントコンテンツ列の名前です。単語はスペースで区切る必要があります。
layerSizeいいえ100単語ベクターのディメンション数です。有効値:0~1000。
cbowいいえ0トレーニングモデルです。0 = Skip-gram モデル、1 = CBOW モデル。
windowいいえ5コンテキストウィンドウのサイズです。正の整数である必要があります。
minCountいいえ5トレーニングに含めるための最小単語出現回数です。正の整数である必要があります。
hsいいえ1階層的ソフトマックスを使用するかどうか。0 = 無効、1 = 有効。
negativeいいえ5ネガティブサンプリングのウィンドウサイズです。正の整数である必要があります。ネガティブサンプリングを無効にするには 0 に設定します。
sampleいいえ1e-3頻出単語をダウンサンプリングするためのしきい値です。有効値:1e-3~1e-5。ダウンサンプリングを無効にするには 0 に設定します。
alphaいいえ0.025初期の学習率です。0 より大きい値である必要があります。
iterTrainいいえ1トレーニングの反復回数です。1 以上である必要があります。
randomWindowいいえ1単語ウィンドウのモードです。0 = window で指定された値を使用、1 = 1~5 のランダムな値を使用。
outVocabularyTableNameいいえ出力語彙テーブルの名前です。
outputWordTableNameはい出力単語ベクターテーブルの名前です。
outputDocTableNameはい出力ドキュメントベクターテーブルの名前です。
lifecycleいいえ出力テーブルのライフサイクルです。正の整数である必要があります。
coreNumいいえ自動計算コアの数です。coreNummemSizePerCore の両方が設定されている場合にのみ有効です。正の整数である必要があります。
memSizePerCoreいいえ自動コアごとのメモリサイズ (MB) です。coreNummemSizePerCore の両方が設定されている場合にのみ有効です。正の整数である必要があります。

参照

ビジュアルモデリングの概要については、「ビジュアルモデリングの概要」をご参照ください。