YouTubeコメントの高評価は、ほぼタイミングで決まる
人が実際に高評価するYouTubeコメントを書くモデルを学習できるのか知りたかった。わかりやすい学習信号は高評価数で、まさにそれをやった最近の研究もある。高評価上位10%のコメントでファインチューニングし、ランダムなコメントで学習したモデルの約3倍のエンゲージメントを報告している。
そこで、高評価数が実際に何を測っているのかを見てみた。動画公開から最初の1時間に投稿されたコメントは、1週間後に投稿されたものより桁違いに多くの人に見られる。さらにYouTubeの「評価順」ランキングがそれを増幅する。上位に表示されれば高評価が付き、高評価が付けば上位に表示されるからだ。内容が同一の2つのコメントが、到着時刻だけで3桁も違い得る。
だから問いは「モデルは良いコメントを書けるか」ではなく、「高評価数はそもそもコメント自体についての情報を含んでいるのか」に変わった。
公開データではこれに答えられない
大規模な公開YouTubeコメントコーパスであるYT-30MとYTCommentVerseは、合わせて約3,200万件のコメントを収録している。どちらもupvotesは与えてくれる。どちらもタイムスタンプは与えてくれない。
投稿時刻がなければ、コメントが何を言ったかと、いつ現れたかを切り分けられない。これらのコーパスで学習したモデルはすべて、それを見る手段のないまま先行者利得に当てはめているだけだ。
そこで、それを備えたコーパスを自分で収集した。34チャンネル・633本の動画から集めた1,345,353件のトップレベルコメントで、投稿時刻、取得時刻、返信数、動画統計、そしてYouTube自身のアルゴリズムが各コメントに与えた順位を含む。3日間、約14,900 APIユニット。
ひとつの判断が他より重要だった。commentThreads.listは新しい順にコメントを返すため、動画ごとにページ数の上限を設けると最も古いコメント、つまりまさに本研究の対象である高露出のコメントが落ちてしまう。すべての動画を完全に列挙した。日次クォータ内で終えられないほど大きい動画は、静かに切り詰めるのではなく、あらかじめ除外してマニフェストに記録した。
露出が83.5%を占める
各コメントの高評価数の順位を同じ動画の中で予測する。これにより動画ごとの効果を学習信号から取り除ける。そこに一度に一つずつ追加していく。露出の特徴量、次に長さと形、次に200,000次元のTF-IDF特徴量、最後にMiniLMの埋め込み。分割はコメント単位ではなく必ずチャンネル単位で行い、モデルが見たことのないオーディエンスに転移するかを問う形にした。
| 要素 | 偶然を超える順位付け能力のうちの割合 |
|---|---|
| 露出(投稿時刻、動画の規模) | 83.5% |
| 長さと形 | 8.4% |
| コメントが実際に言っていること | 8.2% |
コメントの長さは露出ではなく内容だという見方もできる。そう数えると内容は16.5%になる。どちらにしても露出は83.5%なので、この結論は線の引き方に依存しない。
決め手になった数字はこれだ。384次元の文エンコーダは、bag of wordsに対してAUCで0.0015しか上乗せしない。語彙ベースの帰無仮説に対する定番の反論は「テキストモデルが弱すぎた」というものだが、まったく異なる表現系列でも同じ場所に落ち着いた。
絶対的な予測可能性は全体を通して低い。最良のモデルでもAUC 0.671で、偶然の0.5に対してこの水準だ。露出は内容を大きく上回るが、どちらもコメントが高評価される要因のうちそれ以外の何かには負けている。
このデータセットに潜む罠
両パネルとも同じコメント、同じy軸。動画内での位置と絶対的な経過時間の両方が同じ低下を示している。
私は最初これを間違えた。データに触る前に知っておいたほうがいい。
コメントを投稿の遅さでバケットに分け、各バケットの平均高評価数を取る。
| 投稿時点の経過時間 | <1h | 1-6h | 6-24h | 1-7d | 1-30d | >30d |
|---|---|---|---|---|---|---|
| 平均高評価数 | 19.8 | 21.7 | 19.5 | 19.8 | 25.8 | 20.4 |
フラット。到着効果はまったくない。私はこれを知見として書き上げた。
次に、まったく同じバケットでlog1p(likes)の平均を取る。
| 投稿時点の経過時間 | <1h | 1-6h | 6-24h | 1-7d | 1-30d | >30d |
|---|---|---|---|---|---|---|
| 平均log1p(likes) | 0.764 | 0.387 | 0.230 | 0.181 | 0.163 | 0.129 |
5.9倍の低下。効果はずっとそこにあった。
コメントの82.1%は高評価がゼロで、上位1%が全高評価の94.9%を保有している。 そのような分布におけるグループ平均は、グループについての統計量ではなく、グループの外れ値についての統計量だ。バズった1件のコメントがバケット全体の平均を決めてしまう。
このコーパスについて生の高評価数を平均するどんな要約も、大きな効果が存在するところで効果なしと報告することになる。
3倍を裏付けた指標
先行研究は、生成されたコメントを埋め込み、参照コーパスからK近傍を取り出し、その高評価数を平均することでスコアを付ける。私はそれが類似性で攻略できると予想していた。高評価上位のテキストで学習し、高評価上位のテキストの近くに着地すれば、人間が実際に高評価するかどうかに関係なく高スコアが出る、と。
私は二度間違っていた。実在の高評価上位コメントを選んでも3倍という比は再現しない(0.88から1.21になる)。960件のコメントを生成し、その半分を高評価上位の例でfew-shot条件付けしても再現しない。
代わりにわかったのは、この統計量がじっとしていないということだ。K=5では、平均の比は条件付けによって3倍悪化したと言い、その区間は1.0を含まない。同じ480サンプルで中央値の比は2倍良くなったと言う。3回の実行を通じて、同じ数字が平均で138、次に0.09、次に0.25、中央値では2.00になった。
重い裾も、失敗の仕方も、先述の私自身の誤りと同じだ。要約の仕方によって向きが反転する指標は、公表された特定の数字が何によって出たものであれ、3倍という主張を支えられない。
この指標は、推定対象をほとんど追えてもいない。実際の高評価の結果に対して、コメントをSpearman 0.050で順序付ける。コメントの投稿時刻と動画の規模しか知らないモデルは、同じコメントで0.19を出す。
自分のコメントを刺したいだけなら
モデルではなく人に向けて読むと、同じ数字が戦略になる。効き幅の大きい順にだいたい並べる。
早く投稿する。 動画内で、最も早い十分位のコメントは最も遅いものの平均5.4倍になる。絶対的な経過時間で見ると、最初の1時間のコメントは1か月後に投稿されたものの5.9倍だ。自分で制御できる他の要素はこれに及ばない。
大きな動画に早く投稿する。 動画の規模は他のすべてを掛け算する。生データでは、NileRedの動画に6週間遅れで投稿されたコメントが、Computerphileの動画の最初の1時間のコメントを上回っている。500万再生の動画への凡庸なコメントは、7万再生の動画への良いコメントを上回る。
本当の賞品はトップページだ。 そこに表示されたコメントは平均419.5の高評価で、それ以外は1.13。これは勾配ではなく373倍の閾値であり、ランキングが初期の高評価で動くため、参入権を買うのは最初の1時間だ。
チャンネルを選ぶ。 高評価ゼロのコメントの割合は、Voxの52.8%からDavie504の90.7%まで幅がある。どこにコメントするかによって、一文字も書く前に、何らかの高評価が付く確率がほぼ2倍変わる。
ショート動画ではさらに速く動く。 そこでの早期優位は7.6倍で、長尺の5.3倍に対して大きい。
何を書くかは全体の約8%。 その形は短い。平均コメント長は高評価とともに上がり、その後反転する。100-999の層で171文字、1000以上では147文字に下がる。コーパスの上位コメントは、練り上げた考察ではなく、特定の場面への圧縮された言及だ。
錬金術師はこの一手を嫌がる
この動画、ほぼ全部グレースケールじゃん
あの苦しそうな「地元の商店を応援しよう」でやられた
場面を引用し、圧縮し、やめる。
重要な留保が2つある。全コメントの82%は高評価ゼロで、私が作ったすべての特徴量を備えたモデルでもAUC 0.671しか出せない。つまり大半は制御できない分散だ。そして私は高評価を予測するものを測ったのであって、高評価を引き起こすものを測ったのではない。タイミング効果は機械的な露出なので因果である可能性が高い。「短い言及」は、何か別のものの相関にすぎない可能性が十分にある。
正直に要約すれば、勝ち筋の大半は文章ではなく段取りだ。
結局どこに行き着くのか
コメント生成器を高評価数に対して最適化するのは、ほぼ時計に対して最適化することだ。高評価上位コメントで学習したモデルは、大きな動画への早いコメントがどんな見た目かを学ぶのであり、コメントの内容に帰属する部分は8%前後だ。
だからといってコメントの質が測定不能になるわけではない。測定はまず露出で条件付けしなければならない、ということだ。そして今まで、公開データセットでそれをできるものはなかった。次に作るべきものは、私が作れなかった部分だ。露出を固定した上でのコメントの人間評価。このコーパスがそれを可能にするが、コーパス自体には含まれていない。
データセットはHugging FaceにありCC BY 4.0、コードと凍結した母集団マニフェストはGitHubにあり、論文には全段階のはしご、分割、そして私が間違えた部分が載っている。