ニューラルトピックモデル (NTM) アルゴリズム - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ニューラルトピックモデル (NTM) アルゴリズム

Amazon SageMaker NTM は教師なし学習アルゴリズムで、ドキュメントのコーパスを統計分布に基づいて単語グループ化を含むトピックに編成するために使用されます。たとえば、「自転車」、「車」、「電車」、「走行距離」、「スピード」などの単語が頻繁に含まれるドキュメントは、「交通」に関するトピックを共有する可能性があります。トピックモデリングを使用すると、検出されたトピックに基づいてドキュメントを分類または要約したり、トピックの類似性に基づいて情報を検索したりコンテンツを推奨したりすることができます。NTM が学習したドキュメントのトピックは、コーパス内で観察された単語分布から推測されるため、潜在的な表現として特徴付けられます。トピックの意味は通常、トピックに含まれる上位の単語を調べることによって推測されます。メソッドは教師なしであるため、トピック自体ではなく、トピックの数のみが事前に指定されます。さらに、トピックが人によるドキュメントの自然な分類方法と一致することは保証されません。

トピックモデリングは、大量のドキュメントコーパスのコンテンツを、学習したトピックの形で視覚化する方法を提供します。各トピックに関連するドキュメントは、ソフトトピックラベルに基づいてインデックス付けまたは検索される場合があります。また、そのトピックスペース内で類似のドキュメントを見つけるために、ドキュメントの潜在表現が使用される場合もあります。トピックモデルが学習するドキュメントの潜在表現を、別の教師ありアルゴリズム (文書分類器など) の入力として使用することもできます。ドキュメントの潜在表現には基盤となるドキュメントの意味をキャプチャすることが期待されているため、これらの表現の一部をベースとするアルゴリズムは、語彙特徴単独をベースとするアルゴリズムよりも優れたパフォーマンスを発揮することが期待されます。

トピックモデリングには Amazon SageMaker NTM アルゴリズムと LDA アルゴリズムの両方を使用できますが、これらは個別のアルゴリズムであり、同じ入力データに対して異なる結果を生成することが期待できます。

NTM 背後で行われる計算の詳細については、Neural Variational Inference for Text Processing (テキスト処理のためのニューラル変分推論) を参照してください。

NTM アルゴリズムの入出力インターフェイス

Amazon SageMaker ニューラルトピックモデルは、トレーニング、検証、テスト、補助の 4 つのデータチャネルをサポートしています。検証、テスト、および補助のデータチャネルは省略可能です。これらのオプションチャネルを指定する場合は、その S3DataDistributionType パラメータの値を FullyReplicated に設定します。検証データを提供した場合、このデータの損失は全エポックでログに記録され、検証の損失が改善していないと検出されるとすぐにモデルのトレーニングが停止します。検証データを提供しない場合、トレーニングデータに基づいてアルゴリズムが早期に停止しますが、より効率が下がる場合があります。テストデータを提供した場合、アルゴリズムは最終的なモデルからテストの損失を報告します。

NTM のトレーニング、検証、およびテストデータチャネルは、recordIO-wrapped-protobuf (高密度形式と疎形式) および CSV ファイル形式の両方をサポートします。CSV 形式の場合、各行は対応するドキュメントに存在しない単語に対してゼロカウントで高密度形式で表現する必要があり、その次元は (レコード数) * (語彙のサイズ) と等しくなければなりません。ファイルモードまたはパイプモードを使用すると、recordIO-wrapped-protobuf または CSV の形式のデータについてモデルをトレーニングできます。補助チャネルは、語彙を含むテキストファイルを提供するために使用されます。語彙ファイルを提供することによって、ユーザーは自分の整数 ID の代わりに、ログに出力された各トピックの上位の単語を確認できます。語彙ファイルが提供されると、NTM は単語埋め込みトピックコヒーレンス (WETC) スコアを計算することができます。これはログに表示される新しいメトリクスであり、各トピックの上位の単語間の類似性を効果的にキャプチャします。補助チャネルの ContentTypetext/plain であり、各行には、データに指定されている整数 ID に対応する順序で単一の単語が含まれます。語彙ファイルは vocab.txt という名前でなければならず、現在は UTF-8 エンコーディングのみがサポートされています。

推論については、text/csvapplication/jsonapplication/jsonlines、および application/x-recordio-protobuf コンテンツタイプがサポートされています。application/json および application/x-recordio-protobuf に疎データを渡すこともできます。NTM の推論は、application/json または application/x-recordio-protobuf 予測を返し、これには、各観測の topic_weights ベクトルが含まれます。

補助チャネルと WETC スコアの使用法の詳細については、ブログ投稿とそれに関連するノートブックを参照してください。WETC スコアの計算方法の詳細については、Coherence-Aware Neural Topic Modeling (コヒーレンス認識ニューラルトピックモデリング) を参照してください。Amazon ニューラルトピックモデルでは、 SageMakerこのホワイトペーパーで説明されているペア形式の WETC を使用しました。

入出力ファイル形式の詳細については、NTM のレスポンス形式 (推論の場合) およびNTM サンプルノートブックを参照してください。

NTM アルゴリズムの EC2 インスタンスに関する推奨事項

NTM のトレーニングは、GPU と CPU のインスタンスタイプの両方に対応しています。GPU インスタンスをお勧めしますが、特定のワークロードについては CPU インスタンスのほうがトレーニングコストの削減につながる場合があります。推論については、CPU インスタンスで十分であるはずです。NTM のトレーニングは、トレーニングと推論用の P2、P3、G4dn、G5 GPU インスタンスファミリーをサポートします。

NTM サンプルノートブック

SageMaker NTM アルゴリズムを使用して、トピックの分布がわかっている合成データソースからドキュメント内のトピックを検出するサンプルノートブックについては、「NTM の基本機能の概要」を参照してください。でサンプルを実行するために使用できる Jupyter Notebook インスタンスを作成してアクセスする方法については SageMaker、「」を参照してくださいAmazon SageMaker Notebook インスタンス。ノートブックインスタンスを作成して開いたら、SageMaker 「例」タブを選択して、すべての SageMaker サンプルのリストを表示します。NTM アルゴリズムを使用したトピックモデリングのサンプルノートブックは、[Introduction to Amazon algorithm (Amazon アルゴリズムの概要)] セクションにあります。ノートブックを開くには、その [Use (使用)] タブをクリックして [Create copy (コピーを作成)] を選択します。