教師なしテキスト マイニング

LDA (Latent Dirichlet Allocation、潜在ディリクレ割り当て) オペレーターを使用して、教師なしテキスト マイニングを実行し、非構造化ドキュメントのコレクションを分析できます。

重要: 古いバージョンの LDA および データベースのための LDA 予測器は、バージョン 6.2 で削除されました。代わりに、新しい LDA オペレーターである LDA トレーナーLDA 予測器を使用してください。

LDA では、各ドキュメントをさまざまなトピックの混合物として見ることができます。これは 確率的潜在意味解析 (pLSA) に似ていますが、LDA ではトピック分布に ディリクレ分布事前確率があると想定される点が異なります。実際には、これにより文書内のトピックがより合理的に混合されます。

たとえば、LDA モデルには、 ネコ_関連 および イヌ_関連 として分類できるトピックが含まれる場合があります。トピックには、「ミルク」、「ニャー」、「子猫」などのさまざまな単語が生成される確率があり、閲覧者はこれらを「ネコ_関連」として分類して解釈できます。当然、このトピックを考えると、ネコという単語自体が登場する可能性が高くなります。イヌ_関連のトピックにも同様に各単語が生成される確率があり、「子犬」、「吠え声」、「骨」は高い確率で生成される可能性があります。「the」などの特別な関連性のない単語は、クラス間でほぼ均等な確率を持ちます (または、別のカテゴリに分類することもできます)。トピックは意味論的にも認識論的にも強く定義されていません。これは、教師付きラベル付けと、同時発生の可能性に基づいた (手動での) 枝刈りに基づいて識別されます。語彙単語は複数のトピックで異なる確率で出現する可能性がありますが、各トピックで隣接する単語の典型的なセットは異なります。

各文書は、特定のトピックのセットによって特徴付けられると想定されます。これは標準的なバッグオブワードモデルの仮定に似ており、個々の単語を交換可能にします。

LDA の使用例

これらのトピックの配布は次の方法で使用できます。

  • クラスタリング: トピックはクラスター中心であり、ドキュメントは複数のクラスター (トピック) に関連付けられます。このクラスタリングは、ドキュメントのコレクションを整理または要約するのに役立ちます。
  • 特徴生成: LDA は、他の ML アルゴリズムが使用する特徴を生成できます。上で述べたように、LDA は各ドキュメントのトピックの分布を推測します。k 個のトピックの場合、k 個の数値特徴が得られます。これらの機能は、予測タスク用のロジスティック回帰やデシジョン ツリーなどのアルゴリズムに組み込むことができます。
  • 次元の削減: 各ドキュメントのトピックへの分布により、ドキュメントの簡潔な要約が得られます。この縮小された特徴空間で文書を比較することは、単語の元の特徴空間で文書を比較するよりも有意義である可能性があります。

MLLib LDA アルゴリズム (Spark バージョン 1.5.1) とオンライン変分ベイズ オプティマイザーを利用します (オリジナルのオンライン LDA 論文: Online Learning for Latent Dirichlet Allocation - Hoffman, Blei and Bach, NIPS, 2010)。このアルゴリズムは、反復ミニバッチ サンプリングを使用します。反復ごとにコーパスのサブセットを処理し、用語とトピックの分布を適応的に更新します。これにより、特に大量の文書や語彙の場合に、記憶に優しくなります。このアルゴリズムは、ドキュメントの重みを混合するトピックに先立ってディリクレのパラメータ (α) を最適化でき、より良いトピックを作成できるため、EM アルゴリズム (MLLib LDA でも利用可能) よりも推奨されます。

LDA トレーナーと LDA 予測器は Hadoop データセットで動作し、他の NLP オペレーターと併用して複雑なワークフローを構築できます。