

# 如何在 Reddit 审核研究中记录缺失文本

保留每个已观察评论位置及其来源状态，再用同一个已声明的分母报告可见文本与不可用文本的计数。不要编造缺失的词语或移除原因。移除标记或删除标记是已观察到的可用性状态，并不能证明该状态为何改变。分母是份额计算中使用的总数。

## 采集设置

Reddit Comments Scraper 返回的是已知公开主题帖中的评论行，而不是单独的帖子行。输入需要 `postUrls`（1 到 50 个公开主题帖 URL）和 `maxCommentsPerPost`（每帖 1 到 500，默认 100，预设 250；试点时，一个已知主题帖的上限为 3）。

每一行导出都包含这些确切字段：`postId`、`commentId`、`parentId`、`depth`、`body`、`status`、`unavailableFields` 和 `observedAt`。数据集行状态值严格为 `ok`、`deleted` 和 `removed`。部分完成和失败的运行状态或输入状态，与行状态值保持分开。

输出中的 `isComplete=true` 标志表示这一控制中的处理已完成，而整体输入结果仍为部分完成。`inputResults` 含有 `status`、`reason`、`commentsFound` 和 `commentsSaved`，`hiddenBranchesRemaining` 可以为 null。当前一次试点返回三个正文存在的 ID，而 `parentId`、`depth` 和分支均不可用，同时没有 removed/deleted 行。这证明的是有界采集，而不是实时审核面板或完整历史。作者缺失不同于正文缺失；切勿推断原因或恢复缺失的词语。

打开 [Reddit 审核研究数据集任务](https://apify.com/chronometrica/reddit-comments-scraper/examples/reddit-moderation-research-dataset)，查看公开运行预设。

## 记录缺失文本的八个步骤

1. 在计数之前，先定义研究单位和快照范围。查看指定主题帖在一次采集时间上已观察到的评论身份。把未解析的 ID 分开保留。不要把来源显示的计数或[未知分支](/zh-Hans/articles/reddit%E8%AF%84%E8%AE%BA%E5%AF%BC%E5%87%BA-%E8%A1%8C%E6%95%B0%E5%B0%91%E4%BA%8E%E5%B8%96%E5%AD%90%E4%B8%8A%E7%9A%84%E8%AF%84%E8%AE%BA%E6%95%B0/)混入已观察行的分母。
2. 保留未经改动的来源导出和输出文件。对每个已知身份，保留其状态、正文可用性、不可用字段和观察时间。不要仅仅为了做出一张干净的文本表，就删除一个被移除或已删除的位置。
3. 创建一个文本分析工作子集，其中只包含真正可用的正文。排除占位文本。把作者缺失作为一项单独事实保留。在你的研究规则下，一条匿名但可见的正文仍可以是可用文本。
4. 报告已观察的已知位置、可用文本位置、移除标记、删除标记，以及其他不可用或不确定的位置。简单计数时使用互不相交的类别，并说明你的归类规则。如果状态重叠或身份冲突，应复查它们，而不是强行让各项相加。
5. 把分析分母放在每个百分比旁边。在文本可用行中的份额，与在全部已观察位置中的份额，回答的是不同问题。二者都不估计未观察到的完整讨论。
6. 对于重复检查，只连接已知的来源评论身份，并比较它们的已观察状态。把新观察到的键和不再被观察到的键，与已确认的同一键状态转变分开保留。在后来一次有上限的快照中缺席，并不能证明已被删除。
7. 没有独立的来源证据时，不要把状态变化归因于版主、作者、政策、审查或某个情感类别。不可用的正文不能仅凭其邻近回复来分类。
8. 交付一张快照可用性表；在有支持时，再交付一张匹配键的转变表。让采集限制和未知项保持可见，以便另一位研究人员能够理解哪些文本进入了分析。

这些表中的所有身份、状态和指标都是虚构的编写产物，并不代表测得的真实世界审核结果。

### 快照 A：十键已观察状态表（虚构）

| 键 ID | 来源状态 | 正文可用性 | 计数 / 份额 |
| --- | --- | --- | --- |
| C1–C7 | ok | 可用 | 7 行（70%） |
| C8–C9 | removed | 不可用 | 2 个移除标记（20%） |
| C10 | deleted | 不可用 | 1 个删除标记（10%） |

- 分母细节：可用文本份额为 7/10 = 70%；不可用文本为 3/10 = 30%。一个编造的情感分类器把 7 条可用正文中的 4 条标为正面；4/7 约等于 57.1%，这只是可分析文本中的份额。不要写成全部评论中有 40% 为正面，也不要给未知正文分配标签。

### 快照 B：匹配的十键状态表与转变账本（虚构）

### 快照 B：分组的匹配键表（虚构）

| 键 ID | 快照A状态 | 快照B状态 | 转变 |
| --- | --- | --- | --- |
| C1–C6 | ok | ok | 未改变 |
| C7 | ok | removed | 已改变 |
| C8–C9 | removed | removed | 未改变 |
| C10 | deleted | deleted | 未改变 |

- 快照 B 指标：6 条可用，3 条为 removed，1 条为 deleted（9 个未改变的键，加上 1 个已改变的键）。这张虚构表用来说明分母算术，并不代表真实世界的审核结果。

- 快照 B 指标：6 条可用，3 条为 removed，1 条为 deleted。文本可用性为 6/10 = 60%，比快照 A 下降 10 个百分点。这不是测得的审核效应、移除原因或社区趋势。

### 快照 C：范围比较说明（虚构）

- 快照 C 共返回 8 个键（保留 7 个旧键，加上新键 C11；省略了 C1、C2 和 C3）。
- C1、C2 和 C3 在这一有限快照中缺席，并不能证明已被删除。
- C 的正文类别未提供，因此不要计算可用性比率。

## 下一步

要开始你的研究，请使用 [Reddit Comments Scraper Actor](https://apify.com/chronometrica/reddit-comments-scraper) 打开 [Reddit 审核研究数据集任务](https://apify.com/chronometrica/reddit-comments-scraper/examples/reddit-moderation-research-dataset)，选用一个小型的已知主题帖，并设定你的已观察位置分母。

## 来源和延伸阅读

- [Apify Reddit Comments Scraper Actor](https://apify.com/chronometrica/reddit-comments-scraper)
- [Reddit 评论采集的开发者讨论](https://www.reddit.com/r/redditdev/comments/12f885c/getting_all_the_comments_in_a_post/)
- [Reddit 网页抓取讨论](https://www.reddit.com/r/webscraping/comments/15x92f1/how_do_i_scrape_comments_from_reddit_posts/)
- [图注采集](https://chronometrica.com/zh-Hans/articles/youtube-%E6%96%87%E5%AD%97%E7%A8%BF%E6%8F%90%E5%8F%96%E4%B8%8E%E7%BC%BA%E5%A4%B1%E5%AD%97%E5%B9%95%E6%A3%80%E6%9F%A5/)