

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 主题建模
<a name="topic-modeling"></a>

**注意**  
自 2026 年 4 月 30 日起，Amazon Comprehend 主题建模、事件检测和即时安全分类功能将不再向新客户提供。如果您想在新账户中使用这些功能，请在此日期之前完成。对于在过去 12 个月内使用过这些功能的账户，无需采取任何行动。有关更多信息，请参阅 [亚马逊 Comprehend 功能可用性变更](comprehend-availability-change.md)。

您可以使用 Amazon Comprehend 来检查一组文档的内容，以确定共同的主题。例如，您可以向 Amazon Comprehend 提供一组新闻文章，它会确定主题，例如体育、政治或娱乐。文档中的文本不需要注释。

Amazon Comprehend 使用基于[潜在狄利克雷分配](http://www.jmlr.org/papers/volume3/blei03a/blei03a.pdf)的学习模型来确定一组文档中的主题。它检查每个文档以确定单词的上下文和含义。在整个文档集中，通常属于相同上下文的一组单词构成了一个主题。

一个单词与文档中的主题相关联，取决于该主题在文档中的普遍程度以及该主题与该词的相关程度。根据特定文档中的主题分布，可以将同一个单词与不同文档中的不同主题相关联。

例如，一篇主要谈论体育的文章中的“葡萄糖”一词可以分配给“体育”这个主题，而一篇关于“医学”的文章中，同一个词可以分配给“医学”这个主题

每个与主题相关的单词都有权重，表示该单词在多大程度上有助于定义该主题。权重表示在整个文档集中，与主题中的其他单词相比，该单词在主题中出现的次数。

为了获得最准确的结果，您应该向 Amazon Comprehend 提供尽可能多的语料库。要获得最佳效果：
+ 在每个主题建模任务中，您应至少使用 1000 个文档。
+ 每份文档的长度应至少为 3 个句子。
+ 如果文档主要由数字数据组成，则应将其从语料库中删除。

主题建模是一个异步过程。您可以使用操作将文件清单从亚马逊 S3 存储桶提交到 Amazon Comprehend。[StartTopicsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartTopicsDetectionJob.html)响应将发送到 Amazon S3 存储桶。您可以配置输入和输出存储桶。获取您使用该[ListTopicsDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListTopicsDetectionJobs.html)操作提交的主题建模作业的列表，并查看有关使用该[DescribeTopicsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeTopicsDetectionJob.html)操作的作业的信息。发送到 Amazon S3 存储桶的内容可能包含客户内容。有关删除敏感数据的更多信息，请参阅[如何清空 S3 存储桶？](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html)或[如何删除 S3 存储桶？](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html)。

文档必须是 UTF-8 格式的文本文件。您可以通过两种方式提交文档。下表显示了这些选项。


| Format | 说明 | 
| --- | --- | 
| 每个文件一个文档 | 每个文件包含一个输入文档。这最适合大型文档的集合。 | 
| 每行一个文档 | 输入是单个文件。文件中的每一行都被视为一个文档。这最适合简短的文档，例如社交媒体帖子。 每行必须以换行符 (LF, \$1n)、回车符 (CR, \$1r) 或两者兼有 (CRLF, \$1r\$1n) 结尾。Unicode 行分隔符 (u\$12028) 不能用来结束一行。 | 

有关更多信息，请参阅 [InputDataConfig](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_InputDataConfig.html) 数据类型。

在 Amazon Comprehend 处理您的文档集合后，它会返回一个包含两个文件（`topic-terms.csv` 和 `doc-topics.csv`）的压缩存档。有关输出文件的更多信息，请参阅[OutputDataConfig](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_OutputDataConfig.html)。

第一个输出文件 `topic-terms.csv` 是集合中的主题列表。对于每个主题，默认情况下，该列表按权重排列主题列出根据其的热门术语。例如，如果您向 Amazon Comprehend 提供一组报纸文章，它可能会返回以下内容来描述该集合中的前两个主题：


| Topic | 租期 | 重量 | 
| --- | --- | --- | 
| 000 | 团队 | 0.118533 | 
| 000 | 游戏 | 0.106072 | 
| 000 | player | 0.031625 | 
| 000 | 赛季 | 0.023633 | 
| 000 | play | 0.021118 | 
| 000 | 码 | 0.024454 | 
| 000 | 教练 | 0.016012 | 
| 000 | 游戏 | 0.016191 | 
| 000 | 足球 | 0.015049 | 
| 000 | 四分卫 | 0.014239 | 
| 001 | 杯子 | 0.205236 | 
| 001 | 食物 | 0.040686 | 
| 001 | 分钟 | 0.036062 | 
| 001 | 添加 | 0.029697 | 
| 001 | 汤匙 | 0.028789 | 
| 001 | 油 | 0.021254 | 
| 001 | 胡椒 | 0.022205 | 
| 001 | 茶匙 | 0.020040 | 
| 001 | 葡萄酒 | 0.016588 | 
| 001 | 糖 | 0.015101 | 

权重表示给定主题中单词的概率分布。由于 Amazon Comprehend 仅返回每个主题的前 10 个单词，因此权重之和不会等于 1.0。在极少数情况下，如果主题中的单词少于 10 个，则权重之和将为 1.0。

通过查看单词在所有主题中的出现情况，按其判别力对单词进行排序。通常，这与它们的权重相同，但在某些情况下，例如表格中的“play”和“yard”这两个词，这会导致排序与权重不同。

您可以指定要返回的主题数量。例如，如果您要求 Amazon Comprehend 返回 25 个主题，则它会返回该集合中最突出的 25 个主题。Amazon Comprehend 可以在一个集合中检测多达 100 个主题。根据您对该领域的了解选择主题数量。可能需要一些实验才能得出正确的数字。

第二个文件 `doc-topics.csv` 列出了与主题相关的文档以及与该主题相关的文档比例。如果您指定 `ONE_DOC_PER_FILE`，则由文件名标识文档。如果您指定 `ONE_DOC_PER_LINE`，则由文件名和文件中以 0 为索引的行号来标识文档。例如，对于以每个文件包含一个文档的方式提交的文档集合，Amazon Comprehend 可能会返回以下内容：


| 文档 | Topic | 比例 | 
| --- | --- | --- | 
| 示例文档 1 | 000 | 0.999330137 | 
| 示例文档 2 | 000 | 0.998532187 | 
| 示例文档 3 | 000 | 0.998384574 | 
| ... |   |   | 
| 示例文档 N | 000 | 3.57E-04 | 

[Amazon Comprehend 利用了 MBM 的 *Lemmation List 数据集中的信息，该数据集*根据开放数据库许可 (L) v1. [0](https://github.com/michmech/lemmatization-lists) 在此处提供。ODb](https://opendatacommons.org/licenses/odbl/1-0/)