重點摘要

  • 影片上傳一週後排在前 20 名的留言中,84% 發佈於最初 24 小時內。到第 20 天,這個比例仍是 82%。
  • 頁面始終沒有穩定下來。從第 4 天到第 21 天,相隔 12 小時的兩次觀察,前 10 名中約有 9 則相同,變化主要來自邊緣留言的互換;而 15 分鐘後重新擷取的頁面完全相同,所以變動來自排名本身,而非 API。
  • 在任何影片被觀察第二次之前,我寫下了八項預測。三項成立,三項不成立,還有兩項只在部分語言中成立。
  • 在英文、日文和中文的 715 萬則留言上,時機和影片規模仍然解釋了留言讚數排序的 86–95%。

8 月,我研究了為什麼有些 YouTube 留言比其他留言得到更多讚,答案主要是時機:留言何時發佈、發在多大的影片下,解釋了 83.5% 的排序。那項研究在事後替每支影片拍了一張快照,所以它能說明哪些留言最後排在前面,卻說明不了它們是怎麼爬上去的。

9 月,我觀察了排名的形成過程。

追蹤樣本如何運作

我納入了 500 支新影片,三週裡每天兩次讀取每支影片留言頁的頂端。

  追蹤樣本
影片 500 支,都在上傳後 30 小時內納入
語言 英文 167 支,日文 167 支,中文 166 支
頻道 205 個,每個最多 5 支影片
頻率 每天兩次,持續 21 天
擷取 20,454 個「熱門留言」頁面,每頁最多 100 則
納入分析 留言數 ≥100 的影片(第 7 天 239 支,第 20 天 250 支)

這裡的中文指來自臺灣、香港和海外的頻道。每次擷取都記錄了每則留言的排名、讚數和發佈時間。創作者自己的留言通常會置頂,因此排除在外。每一輪還會重新擷取 20 個剛擷取過的頁面,以衡量在什麼都沒發生時頁面會變多少。

9 月 19 日,在任何影片被觀察第二次之前,我寫下了八項預測,每項都附上算作落空的數值。當天下午,我把主要終點從第 14 天改到第 7 天,第 14 天和第 20 天保留為次要終點。研究計畫是公開的,每次修訂及其日期也都公開。另一項研究在三種語言的 715 萬則留言上重新執行了 8 月的模型。

以下是這八項預測在第 7 天的結果。

預測 門檻 第 7 天 結論
熱門留言發佈得早 24 小時內 ≥70%,1 小時內 ≥30% 84%, 34% 成立
前 10 名很快鎖定 中位數 ≤72 小時 76 小時 不成立
排名帶來讚數 在前 10 名中快 ≥3 倍 1.85× 不成立
各語言鎖定速度相近 與合併整體相差 24 小時以內 是 成立
Shorts 鎖定更快 早 ≥24 小時 16 小時 不成立
曝光解釋讚數 佔比 ≥70% 86–91% 成立
大多數留言沒有讚 75–90% 為零 44–79% 僅英文成立
單靠文字預測力弱 AUC 低於 0.60 0.582–0.602 中文除外

前 20 名大多發佈於第一天

取終點時的前 20 名,查每則留言的發佈時間:

前 20 名的時點 1 小時內發佈 6 小時內 24 小時內
第 7 天(239 支影片) 34% 65% 84%
第 14 天(243) 35% 65% 83%
第 20 天(250) 33% 63% 82%

預測是 24 小時內至少 70%、第一小時內至少 30%,在每個終點都成立。第 7 天前 20 名中的留言,發佈時間的中位數是影片上線後 2.4 小時。中文留言起步較慢,但當天就追了上來。

第 7 天前 20 名,發佈於 1 小時內 24 小時內
英文 36% 84%
日文 38% 85%
中文 24% 83%

到第 21 天,前 10 名仍在變化

我最在意的那項預測落空了。我把鎖定定義為:某支影片的前 10 名與其終點前 10 名的 Jaccard 相似度首次達到 0.8 以上的那次觀察(約 10 則中有 9 則相同),並預測中位數不超過 72 小時。

對照基準 鎖定中位數 95% 信賴區間 72 小時內鎖定
第 7 天的頁面 76 小時 67 至 93 48%
第 14 天的頁面 146 小時 117 至 176 31%
第 20 天的頁面 138 小時 112 至 176 34%

第 7 天只差了一點。對照更晚的頁面,中位數往後推到約六天,並在第 14 天到第 20 天之間停止上升。大多數越過這條線的影片又會漂出去:以第 20 天為基準,中位數影片要到第 19 天才穩定留在線內。

另外兩項預測是關於哪些影片鎖定得更早。

鎖定中位數 第 7 天 第 14 天 第 20 天
全部影片 76 小時 146 小時 138 小時
英文 82 小時 146 小時 116 小時
日文 69 小時 165 小時 189 小時
中文 80 小時 129 小時 151 小時
Shorts 64 小時 123 小時 97 小時
長影片 80 小時 148 小時 140 小時

各語言本應與合併後的中位數相差不超過一天,直到第 20 天的日文之前確實如此。Shorts 本應至少快一天鎖定。在計畫評分所用的第 7 天終點,差距是 16 小時(信賴區間從慢 25 小時到快 39 小時),所以這項預測不成立。在第 14 天和第 20 天,差距超過了一天,但兩個區間都跨過零。

而它周圍的頁面照樣在變動。

折線圖:相隔約 12 小時的相鄰兩次觀察之間,前 10 名的平均 Jaccard 相似度,依影片上線後的時間分組。12 至 24 小時為 0.55,第 1 至 2 天為 0.69,第 2 至 3 天為 0.74,第 3 至 4 天為 0.78,之後從第 4 天到第 21 天的每個時段都在 0.79 到 0.82 之間,貼著 0.8 的鎖定虛線 250 支影片。每個點是相鄰兩次觀察配對的平均值,依影片上線後的時間分組;上線不到 12 小時的影片產生的 18 對已排除。

這些 12 小時的步長中,約三分之一的變化超過了鎖定門檻允許的幅度,而這個比例在第三週也沒有下降。以第 20 天的頁面為基準,第 7 天前 20 名的 Jaccard 相似度為 0.65,約為 20 則中有 16 則相同。

這些變動很少累積起來。

折線圖:從第 4 天起,兩次觀察之間前 10 名的平均 Jaccard 相似度,依兩次觀察的間隔分組。間隔 12 小時為 0.81,1 天為 0.75,2 天為 0.73,3 天為 0.72,5 天為 0.70,7 天為 0.68,10 天為 0.66,也就是 10 則中相同的則數從 8.9 降到 7.9 250 支影片,取第 4 天起的觀察配對。

在一次 12 小時步長中跌出前 10 名的留言,落到的排名中位數是第 13 名,其中 46% 在接下來兩次觀察內回到前 10。頁面每 12 小時在邊緣互換留言,而整體偏離自身的速度要慢得多。

大部分變動是舊留言之間互換位置。第 7 天時,中位數影片在 72 小時後有六則留言進入前 20 名,其中 73% 是更早發佈、後來爬升上來的。到第 20 天,這個數字是每支影片 13 則,分析中的每支影片都至少有一則。

晚發的留言也能勝出,只是很少。

最終前 3 名位置(482 支影片上的 1,338 個) 佔比 影片
上傳一天以後發佈 15% 150
兩天以後 9% 104
一週以後 3% 34

AsmonTV 的一支影片下有則留言,在上線 84 小時後發佈,首次出現時排第 72 名、有 2 個讚,第 12 天升到第 1 名,最後拿到 467 個讚。

排在前面的幫助比我以為的小

8 月那篇文章仰賴一個回饋循環:排名高就會被看到,被看到就會被按讚,被按讚就繼續排在前面。我預測,同一則留言在前 10 名期間得到讚的速度,至少是排在第 50 名之後時的 3 倍。

並非如此。以下是在兩個位置都出現過的 2,484 則留言。

留言所在位置 每小時讚數
前 10 名內 0.54
第 50 名之後 0.29
比值(95% 信賴區間 0.96 至 3.22) 1.85×

預測是 3 倍。所以它沒有達到門檻,也排除不了完全沒有效果的可能。單則留言自身比值的中位數是 0.90,一半的移動留言在第 50 名之後沒有新增讚數,甚至讚數減少。平均值是少數留言撐起來的。

8 月的結論在三種語言中都成立

批量研究在 311 個頻道的 715 萬則留言上重新執行了 8 月的模型。每則留言的讚數在所屬影片內排名,並依序用曝光(發佈時間、影片規模)、長度、文字來預測。模型在從未見過的頻道上測試,共做了五種不同的頻道切分。曝光佔比指光靠曝光特徵能達到模型高於隨機水準的預測能力的多少。

語言 留言數 每支影片的中位數 曝光佔比 文字 AUC 零讚
英文 5,421,217 798 86% (82–91) 0.588 78.5%
日文 1,125,472 348 91% (87–94) 0.582 44.1%
中文 606,043 299 90% (85–96) 0.602 67.1%

使用 8 月研究所用的 MiniLM 句子編碼器時,曝光佔比(附五種頻道切分下的範圍)在每種語言中都超過了 70% 的門檻;改用詞級 TF-IDF,則為 86–95%。這些結果是每種文字模型分別執行的,所以和 8 月疊加兩者得到的 83.5% 不完全相同。

單靠文字的 AUC 本應低於 0.60(0.5 為隨機水準),中文差了一點沒達標。MiniLM 是英文模型,而一次探索性執行中的字元級模型在中文和日文上得分都更高,所以英文編碼器低估了這兩種語言裡文字承載的資訊。

零讚比例本應在每種語言中都是 75–90%,接近 8 月的 82%。只有英文落在這個範圍內。日文和中文影片的規模也小得多,而研究沒有控制規模,所以這一欄混合了語言差異和規模差異。

重新擷取頁面,傳回的是同一個頁面

上面每個變動數字都假設:在什麼都沒變時,API 會傳回同一個頁面。10 月 22 日,我在 250 支已結束追蹤的影片上做了測試:每支影片的熱門頁面先正常擷取一次,再修改請求讓任何快取副本都無法對上擷取一次,之後再擷取。

同一頁面的兩次擷取 影片 前 20 名完全相同
緊接著,正常與繞過快取 250 250
間隔 15 分鐘 84 84
間隔 1 小時 83 81
間隔 2 小時 83 79

15 分鐘後的回應幾乎都帶有不同的 etag,所以 YouTube 每次都是重新產生頁面,而不是重播儲存的副本。在 1 小時和 2 小時後頁面有變化的情況下,同一時刻取得的正常副本和繞過快取的副本仍然彼此一致,所以那是排名在變,不是 API。追蹤期間本身的重複擷取,間隔中位數 46 秒,結果也一致(1,130 對,前 10 名 Jaccard 相似度中位數為 1.00)。而這些影片在更長的時間尺度上仍在變化:與十天前最後一次追蹤的頁面相比,它們前 10 名的 Jaccard 相似度為 0.75。

這項測試有兩個缺口。它是在上線一個月的影片上做的,這些影片比追蹤期間冷清,所以排除不了只在影片熱鬧時才出現的波動。而且它量測的是 API,不是人看到的頁面。第 3 天,我在一個乾淨的網頁瀏覽器裡以未登入狀態打開五支追蹤影片,和六小時前的 API 頁面比較。前 10 名的 10 則中,分別有 10、5、7、8 和 8 則一致,和 API 在這些影片上本身 12 小時的漂移(7 到 10)差不多。這只是五支影片、一次檢查,而 YouTube 可能個人化的登入狀態頁面沒有量測。

這些頻道是知名創作者的便利樣本,訂閱數 30 萬到 1500 萬,留言區開放。這些結果對小頻道說明不了任何事。

幾點收穫

  • 一張快照能顯示誰贏了,卻說明不了比賽是否結束。 8 月的研究看到的是已經穩定的前 20 名。觀察它的形成過程則發現:入選的留言大多在第一天就已定下,而順序在三週裡一直在變。
  • 穩定性數字取決於拿什麼當對照。 以第 7 天的頁面為基準,鎖定看起來要三天;以更晚的頁面為基準則要六天。任何聲稱某樣東西「到某天穩定」的說法,都需要指明終點。
  • 人人預設的機制,可能其實很小。 排名帶來讚數,是解釋熱門留言為何一直排在前面最直觀的說法。直接量測時,它不到 2 倍,而且可能為零。結果重現了,而我在 8 月給出的解釋變弱了。
  • 在資料進來之前寫下預測。 八項中有三項落空,而這些落空就是本文比 8 月那篇多知道的大部分內容。沒有一份註明日期的計畫,每一項都很容易被解釋過去。
  • 在解讀漂移之前先測試量測工具。 這裡每個變動數字都假設 API 兩次傳回同一個頁面。一次兩小時的測試解決了這個問題;沒有它,主要結論會一直面對「也許是快取」的質疑。

如果你想讓留言被看到,就在第一天發,最好在第一小時內。發佈兩天或更久之後的留言,仍然在約五分之一的影片上進入了前 3 名。

兩個語料庫都放在 8 月的 Hugging Face 資料集中,包括追蹤樣本的 146 萬列頁面資料和 715 萬則批量留言,作者 ID 已換成加鹽雜湊。方法、所有表格和八項預測都在論文裡,目前是第二版。