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

Platform For AI:PLDA

最終更新日:Apr 01, 2026

PLDA は、トピックモデリング用の PAI コンポーネントです。これは Latent Dirichlet Allocation (LDA) を実行します。LDA は、ドキュメントコレクション全体で単語が抽象的なトピックにどのようにクラスター化するかを発見する教師なしアルゴリズムです。トピック数 K を指定すると、LDA はラベル付きトレーニングデータなしでトピック構造を推論します。

LDA は 2003 年に David M. Blei、Andrew Y. Ng、Michael I. Jordan によって開発されました。これはテキストマイニング分野で、テキスト認識、分類、類似度計算に広く使用されています。

仕組み

LDA は、各ドキュメントをトピックの混合として扱い、各トピックを単語の確率分布として扱います。コーパスが与えられた場合、アルゴリズムは以下を推論します。

  • 各ドキュメントが属するトピック — P(z/d)、ドキュメント-トピック分布

  • 各トピックを特徴付ける単語 — P(w/z)、トピック-単語分布

具体例として、単語が _eat_、_sleep_、_play_、_meow_、_bark_ であるドキュメントが与えられた場合、LDA は以下を生成する可能性があります。

トピックeatsleepplaymeowbark
トピック 10.10.30.20.40.0
トピック 20.20.10.40.00.3

トピック 1 (_meow_ と _sleep_ に高い重み) は猫を表している可能性が高く、トピック 2 (_play_ と _bark_ に高い重み) は犬を表している可能性が高いです。これは、出力の確率テーブルを解釈する方法です。

前提条件

開始する前に、以下があることを確認してください。

  • Machine Learning Designer アクセスを備えた PAI ワークスペース

  • 疎行列形式の入力データ (単語 ID と頻度のキーと値のペア)

  • (オプション) ご利用のデータがすでにキーと値の形式でない場合は、Convert Row, Column, and Value to KV Pair コンポーネント

コンポーネントの設定

PLDA を設定するには、以下のいずれかの方法を使用します。

方法 1: Machine Learning Designer

パイプラインキャンバスで、[PLDA] コンポーネントをクリックし、右側のパネルでパラメーターを設定します。ビジュアルモデリングは、以前は Machine Learning Studio と呼ばれていました。

[フィールド設定] タブ

パラメーター説明
Feature columnsLDA トレーニングの入力として使用される列

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

パラメーター説明デフォルト
Topicsトピック数 (K)。有効な値: 2~500。10~50 の値から開始し、ご利用のコーパスサイズと結果として得られるトピックのコヒーレンスに基づいて調整します。
Alphaドキュメント-トピック分布 P(z/d) の事前ディリクレパラメーター。値が小さいほど、よりスパースな混合が生成され、各ドキュメントはより少ないトピックに焦点を当てます。値が大きいほど、トピック間でより均一な混合が生成されます。
Betaトピック-単語分布 P(w/z) の事前ディリクレパラメーター。値が小さいほど、よりシャープで明確なトピックが生成されます。値が大きいほど、トピックはより拡散します。
Burn-in iterationsサンプリングが開始される前のウォームアップ反復。[合計反復回数] より小さい必要があります。デフォルト値はほとんどの場合にうまく機能し、調整する必要はありません。100
Total iterationsギブスサンプリングの合計反復回数。モデルが収束していない場合は、この値を増やしてください。150

方法 2: PAI コマンド

SQL Script コンポーネントを使用して、PAI コマンドで PLDA を実行します。詳細については、「SQL Script」をご参照ください。

pai -name PLDA
    -project algo_public
    -DinputTableName=lda_input
    -DtopicNum=10
    -topicWordTableName=lda_output;

次の表に、利用可能なすべてのパラメーターを示します。

パラメーター必須タイプデフォルト説明
inputTableNameはいSTRING入力テーブルの名前
inputTablePartitionsいいえSTRINGすべてのパーティショントレーニングに使用するパーティション。形式: partition_name=value。多層パーティションの場合: name1=value1/name2=value2。複数のパーティションはコンマで区切ります。
selectedColNamesいいえSTRINGすべての列LDA の入力として使用する列名
topicNumはいPositive integerトピック数。有効な値: 2~500
kvDelimiterいいえSTRING:キーと値の間の区切り文字。有効な値: スペース、,:
itemDelimiterいいえSTRINGspaceキーと値のペア間の区切り文字。有効な値: スペース、,:
alphaいいえFLOAT0.1P(z/d) の事前ディリクレパラメーター。有効な値: (0, ∞)。値が小さいほど、よりスパースなトピック混合が生成され、値が大きいほど、より均一な混合が生成されます。
betaいいえFLOAT0.01P(w/z) の事前ディリクレパラメーター。有効な値: (0, ∞)。値が小さいほど、よりシャープで明確なトピックが生成され、値が大きいほど、より拡散したトピックが生成されます。
topicWordTableNameはいSTRINGトピック-単語頻度寄与の出力テーブル
pwzTableNameいいえSTRING生成されませんP(w/z) の出力テーブル
pzwTableNameいいえSTRING生成されませんP(z/w) の出力テーブル
pdzTableNameいいえSTRING生成されませんP(d/z) の出力テーブル
pzdTableNameいいえSTRING生成されませんP(z/d) の出力テーブル
pzTableNameいいえSTRING生成されませんP(z) の出力テーブル
burnInIterationsいいえPositive integer100サンプリングが開始される前のウォームアップ反復。totalIterations より小さい必要があります。デフォルト値はほとんどの場合にうまく機能します。
totalIterationsいいえPositive integer150ギブスサンプリングの合計反復回数。z = トピック、w = 単語、d = ドキュメント。
enableSparseいいえBOOLtrue入力データ形式: キーと値のペアの場合は true、単語セグメンテーション結果の場合は false
coreNumいいえPositive integer-1 (自動)コア数。memSizePerCore と一緒に設定する必要があります。システムは入力データサイズに基づいてこれを自動的に決定します。
memSizePerCoreいいえPositive integer-1 (自動)コアあたりのメモリ (MB 単位)。有効な値: 1024~65536。システムはこれを自動的に決定します。

入力と出力

入力

入力データは、ドキュメントごとに 1 行の疎行列形式である必要があります。

  • 列 1: ドキュメント ID

  • 列 2: 単語 ID と単語頻度のキーと値のペア

ご利用のデータがこの形式でない場合は、[Convert Row, Column, and Value to KV Pair] コンポーネントを使用して変換してください。

Input format

出力

PLDA は、以下のテーブルを順に生成します。トピック-単語周波数寄与テーブル (topicWordTableName) のみが必須です。残りのテーブルはオプションであり、その出力テーブル名を指定した場合にのみ生成されます。

テーブルパラメーター説明
トピック-単語頻度寄与テーブルtopicWordTableName必須。トピックごとの単語頻度寄与。
P(w/z) テーブルpwzTableNameトピックが与えられた各単語の確率
P(z/w) テーブルpzwTableName単語が与えられた各トピックの確率
P(d/z) テーブルpdzTableNameトピックが与えられた各ドキュメントの確率
P(z/d) テーブルpzdTableNameドキュメントが与えられた各トピックの確率
P(z) テーブルpzTableName各トピックの周辺確率
Output format

次のステップ

  • SQL Script — SQL Script コンポーネントを使用して PAI コマンドを実行する方法を学習します。