主题建模 - Amazon 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 格式的文本文件。您可以通过两种方式提交文档。下表显示了这些选项。

格式 描述
每个文件一个文档 每个文件包含一个输入文档。这最适合大型文档的集合。
每行一个文档

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

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

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

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

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

主题 租期 重量
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 add 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 可能会返回以下内容:

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

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