翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
潜在的ディリクレ配分 (LDA) アルゴリズム
Amazon SageMaker 潜在ディリクレ配分 (LDA) アルゴリズムは、一連の観測値を異なるカテゴリの混合として記述しようとする教師なし学習アルゴリズムです。LDA は、テキストコーパス内のドキュメントによって共有されるトピックの、ユーザー指定数を検出するために最もよく使用されます。ここで、各観測はドキュメントであり、特徴は各単語の存在 (または出現回数) であり、カテゴリはトピックです。このメソッドは管理されていないので、トピックは前もって指定されておらず、人間が自然にドキュメントを分類する方法とは必ずしも合致しません。トピックは、各ドキュメント内に出現する単語に対する確率分布として学習されます。各ドキュメントは、順次、トピックの混在として示されます。
類似したトピックが混在する 2 つの異なるドキュメントの正確な内容は同じではありません。しかし全体的にみると、これらのドキュメントでは、異なるトピックが混在するドキュメントと比較した場合よりも頻繁に単語の共有サブセットを使用されることが予期されます。これにより、LDA はこれらの単語グループを検出し、トピックを形成することができます。非常に単純な例として、食べる、寝る、遊ぶ、ニャー、吠えるという単語のみが出現するドキュメントのセットの場合、LDA によって生成される可能性のあるトピックは、次のようになります。
トピック |
食べる | 寝る | play | ニャー | 吠える |
---|---|---|---|---|---|
トピック 1 | 0.1 | 0.3 | 0.2 | 0.4 | 0.0 |
トピック 2 | 0.2 | 0.1 | 0.4 | 0.0 | 0.3 |
トピック 1 に分類される可能性が高いドキュメントは猫 (ニャーと寝る) に関するもの、トピック 2 に分類されるドキュメントは犬 (遊ぶと吠える) に関するものであると推測できます。これらのトピックは、犬と猫という言葉がいずれのテキストに全く出現しない場合でも見つかることがあります。
トピック
潜在的ディリクレ配分 (LDA) とニューラルトピックモデル (NTM) のいずれかを選択する
トピックモデルは、一般的に (1) 意味論的意味を一貫してカプセル化し、(2) ドキュメントを効果的に説明するコーパスからトピックを生成するために使用されます。そのため、トピックモデルは Perplexity を最小限に抑え、トピックコヒーレンスを最大化することを目的としています。
Perplexity は、テストデータ内で単語ごとの幾何平均の尤度の逆数を測定する固有言語モデリング評価メトリクスです。Perplexity スコアが低いほど、一般化パフォーマンスが向上します。研究により、単語ごとに計算される尤度は人間による判断と一致しないことが多く、完全に相関しない可能性があるため、トピックコヒーレンスが導入されています。モデルから推測される各トピックは単語で構成され、トピックコヒーレンスはモデルからその特定のトピックの上位 N 語に対して計算されます。これは多くの場合、そのトピック内の単語のペアワイズ単語の類似性スコア (点相互情報 (PMI) など) の平均値または中央値として定義されます。有望なモデルは、解釈しやすいトピック (トピックコヒーレンススコアが高いトピック) を生成します。
目的は、Perplexity を最小化してトピックコヒーレンスを最大化するトピックモデルをトレーニングすることですが、多くの場合、LDA と NTM 両方にトレードオフがあります。最近の研究 (Amazon, Dinget et al., 2018) により、NTM は高いトピックコヒーレンスの達成に対して有望ですが、崩れたギブスサンプリングでトレーニングされた LDA の Perplexity はより良好であることが示されています。Perplexity とトピックコヒーレンスの間にはトレードオフがあります。ハードウェアと計算能力に関する実用性の観点からは、NTM ハードウェアは LDA よりも柔軟性が高く、拡張性も優れています。 SageMaker NTM は CPU と GPU で実行でき、複数の GPU インスタンス間で並列化できるのに対し、LDA は単一インスタンスの CPU トレーニングのみをサポートします。
トピック
LDA アルゴリズムの入出力インターフェイス
LDA はトレーニングチャネルにデータが提供されることを期待しており、最終的なモデルで採点されたテストチャネルをオプションでサポートしています。LDA は、recordIO-wrapped-protobuf
(密および疎) および CSV
ファイル形式の両方をサポートしています。CSV
の場合、データは密で、その次元はレコードの次元数 * 語彙のサイズと等しくなければなりません。recordIO でラップされた protobuf を使用する場合、LDA はファイルモードまたはパイプモードでトレーニングできますが、CSV
形式のファイルモードでのみトレーニングできます。
text/csv
、application/json
、および application/x-recordio-protobuf
コンテンツタイプが、推論のためにサポートされています。application/json
および application/x-recordio-protobuf
に疎データを渡すこともできます。LDA の推論は、application/json
または application/x-recordio-protobuf
予測を返し、これには、各観測の topic_mixture
ベクトルが含まれます。
トレーニングと推論形式の詳細については、LDA サンプルノートブックを参照してください。
LDA アルゴリズムの EC2 インスタンスに関する推奨事項
LDA は現在、単一インスタンスの CPU トレーニングのみをサポートしています。ホスティング/推論には CPU インスタンスをお勧めします。
LDA サンプルノートブック
SageMaker データセットで潜在ディリクレアロケーションアルゴリズムをトレーニングする方法と、トレーニング済みモデルを展開して入力ドキュメント内のトピックミックスに関する推論を実行する方法を示すサンプルノートブックについては、「 SageMaker LDA の概要