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

Platform For AI:PLDA

最終更新日:Jul 22, 2024

トピックモデルは、ドキュメントのコレクションから抽象的なトピックを検出するために使用される統計モデルの一種です。 Machine Learning Platform for AI (PAI) では、PLDAコンポーネントのトピックパラメーターを設定して、ドキュメントごとに異なるトピックを抽象化できます。

潜在ディリクレ割り当て (LDA) は、確率分布に基づいて各文書のトピックを提供するトピックモデルです。 LDAは教師なし学習アルゴリズムである。 Kを使用して、ドキュメントセット内のトピックの数を指定するだけです。トレーニングセットに手動で注釈を付ける必要はありません。 Kは、PLDAコンポーネントのTopicsパラメータである。

LDAは、2003年にDavid M. Blei、Andrew Y. Ng、およびMichael I. Jordanによって開発された技術です。 これは、テキストを認識し、テキストを分類し、テキストマイニングフィールド内のテキスト間の類似度を計算するために使用されます。

コンポーネントの設定

次のいずれかの方法を使用して、PLDAコンポーネントを設定できます。

方法1: パイプラインページでコンポーネントを設定する

Machine Learning Platform for AI (PAI) のMachine Learning Designerのパイプラインページで、PLDAコンポーネントのパラメーターを設定できます。 Machine Learning Designerは、以前はMachine Learning Studioとして知られていました。 下表に、各パラメーターを説明します。

表 1. パラメーター

タブ

パラメーター

説明

フィールド設定

フィーチャー列

トレーニングに使用されるフィーチャ列。

パラメーター設定

トピック

LDAによって生成されるトピックの数。

アルファ

P(z/d) の従来のディリクレ分布パラメータ。

ベータ版

P(w/z) の従来のディリクレ分布パラメータ。

バーンイン反復

バーンインの反復回数。 このパラメーターの値は、繰り返しの総数よりも小さくする必要があります。 デフォルト値:100

総イテレーション

オプションです。 イテレーションの総数。 値は正の整数でなければなりません。 デフォルト値: 150

方法2: PAIコマンドを使用する

PAIコマンドを使用してコンポーネントパラメータを設定します。 SQLスクリプトコンポーネントを使用してPAIコマンドを呼び出すことができます。 詳細については、「SQLスクリプト」をご参照ください。

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

パラメーター

必須

説明

データ型

デフォルト値

inputTableName

入力テーブルの名前。

STRING

デフォルト値なし

inputTablePartitions

不可

トレーニング用に入力テーブルから選択されたパーティション。 次の形式がサポートされています。

  • Partition_name=value

  • name1=value1/name2=value2: マルチレベルパーティション

説明

複数のパーティションを指定する場合は、コンマ (,) で区切ります。

STRING

すべてのパーティション

selectedColNames

不可

LDAの入力テーブルから選択された列の名前。

STRING

すべての列

topicNum

トピックの数。 有効な値: 2 ~ 500

正の整数

デフォルト値なし

kvDelimiter

不可

キーと値を区切るために使用される区切り文字。 有効な値:

  • スペース

  • コンマ (,)

  • コロン (:)

STRING

コロン (:)

itemDelimiter

不可

キーを区切るために使用される区切り文字。 有効な値:

  • スペース

  • コンマ (,)

  • コロン (:)

STRING

スペース

アルファ

不可

P(z/d) の従来のディリクレ分布パラメータ。 有効値: (0, ∞)

FLOAT

0.1

ベータ版

不可

P(w/z) の従来のディリクレ分布パラメータ。 有効値: (0, ∞)

FLOAT

0.01

topicWordTableName

トピック-ワード頻度寄与テーブルの名前。

STRING

デフォルト値なし

pwzTableName

不可

P(w/z) 出力テーブルの名前。

STRING

P(w/z) のテーブルは生成されない。

pzwTableName

不可

P(z/w) 出力テーブルの名前。

STRING

P(z/w) のテーブルは作成されない。

pdzTableName

不可

P(d/z) テーブルの名前。

STRING

P(d/z) テーブルは生成されない。

pzdTableName

不可

P(z/d) 出力テーブルの名前。

STRING

P(z/d) テーブルは生成されない。

pzTableName

不可

P(z) 出力テーブルの名前。

STRING

P(z) テーブルは生成されない。

burnInterations

不可

バーンインの反復回数。 このパラメーターの値は、totalIterationsパラメーターの値より小さくする必要があります。

正の整数

100

totalIterations

不可

イテレーションの総数。

説明

zはトピック、wは単語、dはドキュメントを示します。

正の整数

150

enableSparse

不可

入力テーブルのデータがキーと値のペアかどうかを指定します。 データは、キーと値のペアまたは単語のセグメンテーション結果とすることができる。 有効な値:

  • true: キーと値のペア

  • false: 単語のセグメンテーション結果

BOOL

true

coreNum

不可

パラメーターとmemSizePerCoreパラメーターはペアで使用する必要があります。 デフォルトでは、システムは入力データの量に基づいてコアの数を計算します。 デフォルト値: -1。

正の整数

-1

memSizePerCore

不可

各コアのメモリサイズ。 単位:MB。 有効な値: [1024,65536] 。 デフォルトでは、システムは各コアのメモリサイズを自動的に計算します。 デフォルト値: -1。

正の整数

-1

入力と出力の設定

  • 入力

    データはスパース行列の形式でなければなりません。 行、列、値をKVペアに変換するコンポーネントを使用して、データを変換できます。

    入力形式は、入力形式を示します。

    図1. 入力形式 Input format

    • 列1: ドキュメントのID

    • 列2: 単語と単語頻度のキー値データ

  • Output

    以下のテーブルが順番に生成される: トピックワード頻度寄与テーブル、P(w/z) テーブル、P(z/w) テーブル、P(d/z) テーブル、P(z/d) テーブル、およびP(z) テーブル。

    出力形式は、トピック-単語頻度寄与テーブルの出力形式を示します。

    図2. 出力形式 Output format