View a markdown version of this page

主题建模 - Amazon Comprehend

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

主题建模

注意

Amazon Comprehend 主题建模、事件检测和即时安全分类功能不再可供新客户使用。对于在过去 12 个月内使用过这些功能的账户,无需采取任何行动。有关更多信息,请参阅 亚马逊 Comprehend 功能可用性变更。

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

Amazon Comprehend 使用基于潜在狄利克雷分配的学习模型来确定一组文档中的主题。它检查每个文档以确定单词的上下文和含义。在整个文档集中,通常属于相同上下文的一组单词构成了一个主题。

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

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

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

为了获得最准确的结果,您应该向 Amazon Comprehend 提供尽可能多的语料库。要获得最佳效果:

  • 在每个主题建模任务中,您应至少使用 1000 个文档。

  • 每份文档的长度应至少为 3 个句子。

  • 如果文档主要由数字数据组成,则应将其从语料库中删除。

主题建模是一个异步过程。您可以使用操作将文件清单从亚马逊 S3 存储桶提交到 Amazon Comprehend。StartTopicsDetectionJob响应将发送到 Amazon S3 存储桶。您可以配置输入和输出存储桶。获取您使用该ListTopicsDetectionJobs操作提交的主题建模作业的列表,并查看有关使用该DescribeTopicsDetectionJob操作的作业的信息。发送到 Amazon S3 存储桶的内容可能包含客户内容。有关删除敏感数据的更多信息,请参阅如何清空 S3 存储桶?或如何删除 S3 存储桶?。

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

Format 说明
每个文件一个文档 每个文件包含一个输入文档。这最适合大型文档的集合。
每行一个文档

输入是单个文件。文件中的每一行都被视为一个文档。这最适合简短的文档,例如社交媒体帖子。

每行必须以换行符 (LF, \n)、回车符 (CR, \r) 或两者兼有 (CRLF, \r\n) 结尾。Unicode 行分隔符 (u+2028) 不能用来结束一行。

有关更多信息,请参阅 InputDataConfig 数据类型。

在 Amazon Comprehend 处理您的文档集合后,它会返回一个包含两个文件(topic-terms.csv 和 doc-topics.csv)的压缩存档。有关输出文件的更多信息,请参阅OutputDataConfig。

第一个输出文件 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.57 E-04

Amazon Comprehend 利用了 MBM 的词性还原列表数据集中的信息,该数据集根据开放数据库许可证 (ODbL) v1.0 在此处提供。