SensemakerにYouTubeの高評価だけ入れたらどうなる?
from Jigsaw SensemakerとPolis勉強会
SensemakerにYouTubeの高評価だけ入れたらどうなる?
YouTubeからは高評価データは取れるが低評価データは取れない
高評価データだけを投票に入れたらどうなるか
Claude.icon
YouTube由来で高評価だけを賛成票として投票結果データに入れた場合、以下のような処理の流れになります:
1. データ読み込み段階(runner_utils.ts: 347-365行目)
getVoteInfoFromCsvRow関数がCSVデータをVoteTallyオブジェクトに変換します:
code:ts
return new VoteTally(Number(row"agrees"), Number(row"disagrees"), Number(row"passes"));
YouTube由来のデータの場合:
agrees = 高評価数
disagrees = 0(または空欄→NaNになるので注意が必要)
passes = 0(または空欄→NaNになるので注意が必要)
2. 統計計算段階(stats/stats_util.ts)
投票率の計算時にpassCount || 0で未定義値を0として扱います:
code:ts
// library/src/stats/stats_util.ts: 58-65行目
export function getPassRate(voteTally: VoteTally, asProbabilityEstimate: boolean = true): number {
const totalCount = voteTally.getTotalCount(true);
if (asProbabilityEstimate) {
return ((voteTally.passCount || 0) + 1) / (totalCount + 2);
} else {
return (voteTally.passCount || 0) / totalCount;
}
}
YouTube由来データでは:
賛成率 ≈ 100%(高評価がある場合)
反対率 ≈ 0%
パス率 ≈ 0%
3. フィルタリング段階(summary_stats.ts: 55-59行目)
code:ts
this.filteredComments = comments.filter(isCommentWithVoteInfoType).filter((comment) => {
return getCommentVoteCount(comment, true) >= this.minVoteCount;
});
重要:minVoteCount = 20なので、高評価が20未満のコメントは分析対象外になります。
これは良くないなnishio.icon
4. Common Ground(共通認識)の抽出(majority_vote.ts: 88-95行目)
code:ts
getCommonGroundAgreeComments(k: number = this.maxSampleSize) {
return this.topK(
(comment) => this.getCommonGroundAgreeScore(comment),
k,
(comment: CommentWithVoteInfo) => this.meetsCommonGroundAgreeThreshold(comment)
);
}
minCommonGroundProb = 0.7(70%)がしきい値です。YouTube由来で高評価があるコメントは賛成率がほぼ100%なので、ほぼすべてがCommon Groundとして抽出されます。高評価数が多いコメントほど優先されます。
5. Differences of Opinion(意見の相違)の抽出(majority_vote.ts: 189-210行目)
code:ts
getDifferenceOfOpinionComments(k: number = this.maxSampleSize) {
return this.topK(
(comment) => this.getDifferenceOfOpinionScore(comment),
k,
(comment: CommentWithVoteInfo) =>
getTotalAgreeRate(comment.voteInfo, this.includePasses, this.asProbabilityEstimate) >=
this.minDifferenceProb &&
getTotalAgreeRate(comment.voteInfo, this.includePasses, this.asProbabilityEstimate) <=
this.maxDifferenceProb &&
// ... 同様の条件がdisagree rateにも適用される
);
}
賛成率と反対率が両方とも40%-60%の範囲にある必要があります。YouTube由来データでは反対率≈0%なので、この条件を満たすコメントはほぼ存在せず、意見の相違は検出されません。
これも良くないなnishio.icon
機能があると見せかけて実質的には機能してない
6. サマリー生成(summarization_subtasks/topics.ts: 369-397行目)
Common Groundコメントが見つかった場合はLLMで要約、見つからない場合は以下のメッセージが表示されます:
code:ts
text = this.input.getCommonGroundNoCommentsMessage();
// "No statements met the thresholds necessary to be considered as a point of common ground
// (at least 20 votes, and at least 70% agreement)."
まとめ
YouTube由来で高評価だけを賛成票として入れた場合:
✅ 処理される内容:
高評価20以上のコメントが分析対象
それらは「共通認識(Common Ground)」として扱われる
高評価数が多いコメントほど重要視される
❌ 処理されない内容:
高評価20未満のコメントは除外される
「意見の相違(Differences of Opinion)」はほぼ検出されない
反対意見や議論の分析はできない