以星形和時鐘圖示表示的留言樣本,連接至一個顯示共有及缺失識別標記的表格。
保留收集排序,以及留言屬於哪些樣本清單的證據。

「熱門」是指來源列入熱門排名的留言。這是來源的排名,不是觀看指標,也不是經認證的相關性分數或互動分數。「最新」是指來源的最新排序。單憑這個排序,無法確定留言發表至今的確切時間。

Actor 是在託管環境中執行的資料收集程式。Actor 收集公開資料列,分析則由你進行。Task 是已儲存的輸入預設設定。公開 Task 只提供起始輸入,並不表示分析會自動執行。

本方法說明來源排序如何改變研究樣本。它不會標記垃圾留言、不會整理回覆樹狀結構、不會將未獲解答的問題排入待處理清單,也不會評定課堂留言的質素。本方法亦不涵蓋直播聊天室訊息。

先寫下研究問題

步驟 1。在選擇排序前,先寫下分析問題。

如果問題涉及來源按排名排列的精選留言,請使用「熱門」。如果問題涉及來源按最新排序排列的留言,請使用「最新」。如果兩個問題都重要,請將樣本分為 2 層。樣本層是樣本中一個預先明確界定的部分。在這裏,每層按擷取排序劃分。

排序決定哪些留言會進入樣本。請選擇符合研究問題的排序。不要只因某個排序支持你預先想要的結論,就選擇該排序。

步驟 2。列明已知影片、觀察時間、每種模式的數量上限,以及只涵蓋頂層留言的範圍。

數量上限是指頂層留言上限,即 `maxCommentsPerVideo`。請記下每份清單的具體時間。來源排序之後可能改變。稍後取得的清單並不是同一個樣本。

比較「熱門」與「最新」時,請使用相同的數量上限。上限不同會令主題比例難以比較。

請勿啟用回覆收集。回覆是頂層留言下的留言。加入回覆會改變計數單位。回覆資料列不計入頂層留言上限。本方法並未測試回覆。請在筆記中註明這項限制。

設定目前的輸入

本文使用的 YouTube Comments Actor 公開版本為 1.1.6。它接受以下輸入範圍。

  • `startUrls` 接受 1 至 100 個已知公開影片網址或影片 ID。
  • `maxCommentsPerVideo` 接受 1 至 1,000 的整數。
  • `commentSortMode` 接受 `top`、`newest` 或 `both`。
  • `includeReplies` 可啟用或停用。
  • 啟用回覆收集時,`maxRepliesPerComment` 接受 1 至 100 的整數。

請使用已知的公開影片,不要使用私人影片。這個 Actor 不會替你搜尋影片。

在 2026 年 10 月 13 日,YouTube Audience Comment Research Task 儲存了以下起始輸入:

json
{
  "startUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
  "maxCommentsPerVideo": 250,
  "commentSortMode": "both",
  "includeReplies": true,
  "maxRepliesPerComment": 10
}
設定目前的輸入

該輸入使用一段已知歌曲影片,上限為 250,模式為 `both`,並啟用回覆收集,每則留言最多收集 10 則回覆。請將歌曲影片換成你選定的一段已知公開影片。

首次小規模試行時,請使用一段已知公開影片。將 `maxCommentsPerVideo` 設為 2,將 `commentSortMode` 設為 `both`,並將 `includeReplies` 設為 false。

在 `both` 模式下,這個上限是頂層留言共用的總配額。上限為 2 時,配額會分配給「熱門」和「最新」。這不表示收集 2 列熱門留言,再加 2 列最新留言。文件所述的 `both` 行為,亦會在同一次執行中為每個留言 ID 只保留 1 列。

稍後進行明確比較時,做法則不同。請分別執行一次「熱門」清單收集和一次「最新」清單收集。兩次執行須設定相同且已列明的上限,並讓觀察時間具有可比性。這些上限各自只適用於一次執行,並非 `both` 模式下分配的共用配額。

分開閱讀資料列與執行摘要

已儲存的資料集每列代表一則公開留言或回覆。停用回覆收集時,每列應代表一則頂層留言。

分開閱讀資料列與執行摘要
欄位含義
`videoId`影片的公開 ID
`videoUrl`影片的公開網址
`commentId`留言的公開 ID
`sortMode`該已儲存資料列保留的排序標籤
`text`公開留言文字
`publishedTimeText`來源提供的相對時間字句,如有
`publishedAt`來源提供的確切發表時間,如有
`updatedAt`來源提供的更新時間,如有
`authorChannelId`留言作者的公開頻道 ID
`status`該資料列的結果
`scrapedAt`Actor 儲存該資料列的時間

`publishedAt` 可以是 null。null 表示數值缺失,不表示 0。`publishedTimeText` 不是確切時間。`scrapedAt` 是收集時間。切勿將 `scrapedAt` 複製為發表時間。

`parentCommentId`、`isReply` 和 `replyDepth` 亦是資料規格列明的欄位。這個只處理頂層留言的方法不會使用它們。

OUTPUT 執行摘要不是留言資料列。請從資料列讀取留言文字,從 OUTPUT 讀取執行計數及停止原因。

分開閱讀資料列與執行摘要
摘要欄位應讀取的內容
`inputsReceived`本次執行收到的輸入
`uniqueVideosPlanned`計劃處理的影片數量,每段影片只計一次
`duplicateVideosSkipped`已略過的重複影片輸入
`videosAttempted`本次執行嘗試處理的影片
`videosWithRows`有寫入資料列的影片
`commentsWritten`已寫入的頂層留言資料列數量
`repliesWritten`已寫入的回覆資料列數量
`rowsWritten`已寫入的全部資料列數量
`statusCounts`按每段影片或每項輸入的收集結果計數,不計算資料集的資料列數量。對照測試的 `ok` 計數為 1,資料集的資料列數量則為 2。
`stopReasonCounts`按停止原因分類的計數
`failedInputDetails`處理失敗或無法使用的輸入

一項已檢查的對照測試,對 `educationalvideo_uQrJ0TkZlc` 使用了 `both`。它儲存了 2 列文字非空且留言 ID 不同的頂層留言資料列。其中一列的 `sortMode` 為 `top`,另一列的 `sortMode` 為 `newest`。兩列的 `status` 均為 `ok`,`publishedAt` 均為 null。OUTPUT 報告的 `commentsWritten` 為 2,`repliesWritten` 為 0。停止原因為 `requested_comment_limit_reached`。

這 2 列使用了 2 個不同的留言 ID。這次執行顯示,`both` 能夠從該來源傳回資料列,並保留 `sortMode`。它並未證明樣本是隨機抽取,也未證明已取得每則留言或確定發表至今的確切時間。它並未證明每段影片都有相同的排序行為,也未顯示分開執行「熱門」與「最新」收集時的重疊情況。這次執行並未測試回覆。`repliesWritten` 為 0 並不等於已測試回覆。這次執行亦未測試是否完整涵蓋所有留言。

本文沒有使用該對照測試中的任何留言文字。回覆總數或讚好次數,不能證明你已取得每則留言。處理失敗或無法使用的輸入會出現在 OUTPUT 中。不要為這些輸入虛構留言資料列。

測試小規模試行,再選擇匯出方式

步驟 3。使用小規模的 `both` 試行,測試一段已知影片。

檢查 `videoId` 和 `videoUrl` 是否與該影片相符。檢查 `text` 是否非空。檢查是否有 `commentId` 和 `sortMode`。檢查 OUTPUT 的停止原因。達到共用上限時,預期的停止原因是 `requested_comment_limit_reached`。

如果 `publishedAt` 為 null,請將發表至今的時間保留為未知。不要填寫 0,也不要填寫收集時間。代表「最新」的 `sortMode` 只記錄該留言是從最新排序中擷取。只有來源提供實際日期時,才可確認發表至今的時間。

步驟 4。選擇一次涵蓋較廣的匯出,或 2 份獨立清單。

如果你想取得一份涵蓋較廣但有範圍限制的匯出資料,並會閱讀停止原因和計數,請使用 `both`。這份匯出資料仍然是一份有範圍限制的來源清單。

如要明確比較「熱門」與「最新」,請分開執行 2 次。記錄清單是某一模式儲存的原始清單,須連同該次輸入及觀察時間一併保留。請分別執行一次有範圍限制的「熱門」記錄清單收集,和一次有範圍限制的「最新」記錄清單收集。每次執行均須使用相同且已列明的上限,並讓觀察時間具有可比性。

這一對分開執行的收集,是你稍後要做的工作。已檢查的對照測試只執行了一次 `both`。不要將該對照測試報告為一對獨立清單的重疊結果。

步驟 5。先為每份記錄清單去除重複記錄,再以各份獨立清單建立聯集。

去除重複記錄,是指每個經核實的識別資料只計一次。識別鍵是 `videoId` 加 `commentId`,不是相同的文字。兩則留言即使文字相同,仍可有不同的 ID。

聯集是出現在任一記錄清單中、經核實且不重複的 ID 集合。交集是同時出現在兩份記錄清單中、經核實的 ID 集合。請以 `{top}`、`{newest}` 或 `{top, newest}` 保留所屬清單標記。

只有兩份獨立記錄清單均包含某個 ID,才可將該 ID 標記為 `{top, newest}`。在單次 `both` 執行中,去除重複記錄後只會保留一列和一個 `sortMode`。這個單一標籤無法揭示它是否亦屬於另一份清單。不要猜測。請保留原始記錄清單,讓所屬清單標記仍可核查。

如果 ID 缺失,就應保留為未能確認。不要將缺失 ID 當作 0 計算,也不要憑記憶重建遺失的所屬清單資料。

使用同一編碼準則,再比較集合

步驟 6。在每個樣本層使用相同的編碼準則。

編碼準則是判定某個主題的書面標準。請在標記資料列前先寫下準則。對「熱門」和「最新」使用相同的判定標準。請連同標記保留原始文字及來源脈絡。

計算任何比例前,先核對以下 4 項。

  • 預定輸入:你已列明的影片和模式。
  • 未知 ID:你無法確認的識別資料。這些資料應保留為未能確認。
  • 有效文字:你能夠編碼的非空文字。
  • 狀態缺口:`status` 不是 `ok` 的資料列,以及任何執行失敗的模式。

分母是可納入比例計算的留言數量。只使用有已知 ID 的有效文字。請另行報告未知項目的數量。未知不等於 0。

主題計數計算的是樣本中的留言數量,不是人數。它不代表未有留言的觀眾,也不是人口特徵分析結果。

步驟 7。根據各份獨立清單中的 ID,計算交集和聯集。

先報告擷取結果中留言出現的總次數,再報告去除重複記錄後剩餘的不同 ID 數量。這裏的重疊,只指這些有範圍限制的清單在各自觀察時間的重疊,並不是佔該影片全部留言的比例。

如果某個模式執行失敗,缺失的清單並不等於成功取得的空清單。不要將該模式編碼為 0 則留言。比較結果仍屬未知。不同次執行之間,來源的可用情況可能改變。請在編碼前先閱讀 `failedInputDetails` 和 `stopReasonCounts`。

步驟 8。撰寫符合排序方式及研究問題的結論。

「熱門」中常見的主題,可能反映來源按排名排列的精選留言。這項結果反映的是來源排名,不是觀看次數,也不是經認證的分數。「最新」中常見的主題,可能反映來源最新排序中的近期活動。當 `publishedAt` 為 null 時,這不能證明發表至今的確切時間。

單次觀察不能證明某個主題增加,也不能證明某個主題減少。請儲存抽樣筆記、輸入及停止原因。稍後的讀者應能重複採用相同的抽樣選擇。

當資料收集受到限制時,部分讀者需要一個限定範圍的方法來研究真人留言。這篇公開帖文描述了這項需要。本文並未核實帖文所聲稱的數量限制。不要將該說法視為官方 API 目前的行為。這個 Actor 使用不同的方法,不會使用你的 YouTube API 金鑰。如果你亦使用官方 API,請自行查閱該 API 目前的官方原始文件。選擇「熱門」或「最新」能滿足抽樣需要,但不保證取得每則留言。

逐步查看一份虛構記錄清單

本節的記錄清單純屬虛構,用來說明計數方法。它不是 Actor 的結果,也不是那個只有 2 列資料的對照測試。本節並不聲稱使用了任何真實留言文字。

虛構的「熱門」記錄清單包含留言 ID A、B 和 C。虛構的「最新」記錄清單包含 B、D 和 E。全部 5 個 ID 都有來源識別資料及可供編碼的文字。

逐步查看一份虛構記錄清單
ID在「熱門」記錄清單中在「最新」記錄清單中所屬清單
A是否`{top}`
B是是`{top, newest}`
C是否`{top}`
D否是`{newest}`
E否是`{newest}`

擷取結果中依次出現 A、B、C、B、D 和 E,共出現 6 次。不同的 ID 是 A、B、C、D 和 E,即 5 則不重複的留言。B 在每份記錄清單中各出現一次,因此 B 是重複出現的留言。在聯集中只將 B 計算一次,同時保留它屬於兩份清單的標記。重複出現不等於垃圾留言。本方法不會判斷留言是否屬於垃圾留言。

聯集是 `{A, B, C, D, E}`,交集是 `{B}`。只屬於「熱門」的是 `{A, C}`,只屬於「最新」的是 `{D, E}`。

如果一次 `both` 匯出只為 B 儲存了值為 `top` 的 `sortMode`,便不能證明 B 亦屬於「最新」。只有獨立記錄清單才能顯示 B 同時出現在兩者中。

計算任何主題比例前,先核對這個虛構例子。

逐步查看一份虛構記錄清單
檢查項目本虛構例子的結果對比例計算的影響
預定輸入1 段影片,分開的「熱門」與「最新」記錄清單,上限相同兩個樣本層可以比較
未知 ID沒有。A 至 E 均為已知 ID沒有未能確認的 ID 被當作 0 計算
有效文字全部 5 則文字均可編碼全部 5 則均可計入分母
狀態缺口沒有。兩種模式均未失敗兩份清單均不是收集失敗的清單

先確定編碼準則。只有留言詢問如何開始該項工作時,才標記為「開始操作的問題」這個主題。對每個 ID 使用相同準則。在這個虛構例子中,只有 A、B 和 D 符合準則,C 和 E 不符合。

逐步查看一份虛構記錄清單
集合符合準則的 ID計入分母的 ID比例百分比
熱門A, BA, B, C2/366.7%
最新B, DB, D, E2/366.7%
聯集A, B, DA, B, C, D, E3/560%

兩個樣本層比例的平均值是 `(66.7 + 66.7) / 2`,等於 66.7%。這並不等於聯集的 60%。聯集只將重疊的 B 計算一次。將各樣本層的百分比取平均,無法得出不重複聯集的比例。

在這個虛構例子中,兩種排序的結果均為 66.7%。這項一致結果只涉及這 5 則留言,不能證明所有觀眾中有 60% 都有開始操作的問題。

在陳述結論前,請先列出 ID、所屬清單標記、編碼準則及分母。這裏可以作出的結論範圍有限。在這個虛構例子中,兩種有範圍限制的排序清單,其主題比例相同;去除重複記錄後,聯集中的主題比例為 5 則中的 3 則。

仍須遵守 2 項限制。如果 `publishedAt` 為 null,B 的確切日期仍然未知。B 屬於「最新」這件事不能提供該日期,`scrapedAt` 亦不能。如果另一段影片的「最新」模式執行失敗,你不能將該影片視為只有「熱門」留言的母體。比較結果會是未知。執行失敗的模式,不等於成功取得空結果的模式。

來源與延伸閱讀

作者 Chronometrica · 更新日期

返回頂端 ↑